diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..134a589 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +vite-starter.element-plus.org diff --git a/assets/index-960570d8.css b/assets/index-960570d8.css new file mode 100644 index 0000000..e1ee808 --- /dev/null +++ b/assets/index-960570d8.css @@ -0,0 +1 @@ +@charset "UTF-8";.markdown-body-dark{color-scheme:dark;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#c9d1d9;background-color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body-dark .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body-dark h1:hover .anchor .octicon-link:before,.markdown-body-dark h2:hover .anchor .octicon-link:before,.markdown-body-dark h3:hover .anchor .octicon-link:before,.markdown-body-dark h4:hover .anchor .octicon-link:before,.markdown-body-dark h5:hover .anchor .octicon-link:before,.markdown-body-dark h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body-dark details,.markdown-body-dark figcaption,.markdown-body-dark figure{display:block}.markdown-body-dark summary{display:list-item}.markdown-body-dark [hidden]{display:none!important}.markdown-body-dark a{background-color:transparent;color:#58a6ff;text-decoration:none}.markdown-body-dark abbr[title]{border-bottom:none;text-decoration:underline dotted}.markdown-body-dark b,.markdown-body-dark strong{font-weight:600}.markdown-body-dark dfn{font-style:italic}.markdown-body-dark h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #21262d}.markdown-body-dark mark{background-color:#bb800926;color:#c9d1d9}.markdown-body-dark small{font-size:90%}.markdown-body-dark sub,.markdown-body-dark sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body-dark sub{bottom:-.25em}.markdown-body-dark sup{top:-.5em}.markdown-body-dark img{border-style:none;max-width:100%;box-sizing:content-box;background-color:#0d1117}.markdown-body-dark code,.markdown-body-dark kbd,.markdown-body-dark pre,.markdown-body-dark samp{font-family:monospace;font-size:1em}.markdown-body-dark figure{margin:1em 40px}.markdown-body-dark hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid #21262d;height:.25em;padding:0;margin:24px 0;background-color:#30363d;border:0}.markdown-body-dark input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body-dark [type=button],.markdown-body-dark [type=reset],.markdown-body-dark [type=submit]{-webkit-appearance:button}.markdown-body-dark [type=checkbox],.markdown-body-dark [type=radio]{box-sizing:border-box;padding:0}.markdown-body-dark [type=number]::-webkit-inner-spin-button,.markdown-body-dark [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body-dark [type=search]::-webkit-search-cancel-button,.markdown-body-dark [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body-dark ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body-dark ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body-dark a:hover{text-decoration:underline}.markdown-body-dark ::placeholder{color:#6e7681;opacity:1}.markdown-body-dark hr:before{display:table;content:""}.markdown-body-dark hr:after{display:table;clear:both;content:""}.markdown-body-dark table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body-dark td,.markdown-body-dark th{padding:0}.markdown-body-dark details summary{cursor:pointer}.markdown-body-dark details:not([open])>*:not(summary){display:none!important}.markdown-body-dark a:focus,.markdown-body-dark [role=button]:focus,.markdown-body-dark input[type=radio]:focus,.markdown-body-dark input[type=checkbox]:focus{outline:2px solid #58a6ff;outline-offset:-2px;box-shadow:none}.markdown-body-dark a:focus:not(:focus-visible),.markdown-body-dark [role=button]:focus:not(:focus-visible),.markdown-body-dark input[type=radio]:focus:not(:focus-visible),.markdown-body-dark input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body-dark a:focus-visible,.markdown-body-dark [role=button]:focus-visible,.markdown-body-dark input[type=radio]:focus-visible,.markdown-body-dark input[type=checkbox]:focus-visible{outline:2px solid #58a6ff;outline-offset:-2px;box-shadow:none}.markdown-body-dark a:not([class]):focus,.markdown-body-dark a:not([class]):focus-visible,.markdown-body-dark input[type=radio]:focus,.markdown-body-dark input[type=radio]:focus-visible,.markdown-body-dark input[type=checkbox]:focus,.markdown-body-dark input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body-dark kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#c9d1d9;vertical-align:middle;background-color:#161b22;border:solid 1px rgba(110,118,129,.4);border-bottom-color:#6e768166;border-radius:6px;box-shadow:inset 0 -1px #6e768166}.markdown-body-dark h1,.markdown-body-dark h2,.markdown-body-dark h3,.markdown-body-dark h4,.markdown-body-dark h5,.markdown-body-dark h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body-dark h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #21262d}.markdown-body-dark h3{font-weight:600;font-size:1.25em}.markdown-body-dark h4{font-weight:600;font-size:1em}.markdown-body-dark h5{font-weight:600;font-size:.875em}.markdown-body-dark h6{font-weight:600;font-size:.85em;color:#8b949e}.markdown-body-dark p{margin-top:0;margin-bottom:10px}.markdown-body-dark blockquote{margin:0;padding:0 1em;color:#8b949e;border-left:.25em solid #30363d}.markdown-body-dark ul,.markdown-body-dark ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body-dark ol ol,.markdown-body-dark ul ol{list-style-type:lower-roman}.markdown-body-dark ul ul ol,.markdown-body-dark ul ol ol,.markdown-body-dark ol ul ol,.markdown-body-dark ol ol ol{list-style-type:lower-alpha}.markdown-body-dark dd{margin-left:0}.markdown-body-dark tt,.markdown-body-dark code,.markdown-body-dark samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body-dark pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body-dark .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body-dark input::-webkit-outer-spin-button,.markdown-body-dark input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body-dark:before{display:table;content:""}.markdown-body-dark:after{display:table;clear:both;content:""}.markdown-body-dark>*:first-child{margin-top:0!important}.markdown-body-dark>*:last-child{margin-bottom:0!important}.markdown-body-dark a:not([href]){color:inherit;text-decoration:none}.markdown-body-dark .absent{color:#f85149}.markdown-body-dark .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body-dark .anchor:focus{outline:none}.markdown-body-dark p,.markdown-body-dark blockquote,.markdown-body-dark ul,.markdown-body-dark ol,.markdown-body-dark dl,.markdown-body-dark table,.markdown-body-dark pre,.markdown-body-dark details{margin-top:0;margin-bottom:16px}.markdown-body-dark blockquote>:first-child{margin-top:0}.markdown-body-dark blockquote>:last-child{margin-bottom:0}.markdown-body-dark h1 .octicon-link,.markdown-body-dark h2 .octicon-link,.markdown-body-dark h3 .octicon-link,.markdown-body-dark h4 .octicon-link,.markdown-body-dark h5 .octicon-link,.markdown-body-dark h6 .octicon-link{color:#c9d1d9;vertical-align:middle;visibility:hidden}.markdown-body-dark h1:hover .anchor,.markdown-body-dark h2:hover .anchor,.markdown-body-dark h3:hover .anchor,.markdown-body-dark h4:hover .anchor,.markdown-body-dark h5:hover .anchor,.markdown-body-dark h6:hover .anchor{text-decoration:none}.markdown-body-dark h1:hover .anchor .octicon-link,.markdown-body-dark h2:hover .anchor .octicon-link,.markdown-body-dark h3:hover .anchor .octicon-link,.markdown-body-dark h4:hover .anchor .octicon-link,.markdown-body-dark h5:hover .anchor .octicon-link,.markdown-body-dark h6:hover .anchor .octicon-link{visibility:visible}.markdown-body-dark h1 tt,.markdown-body-dark h1 code,.markdown-body-dark h2 tt,.markdown-body-dark h2 code,.markdown-body-dark h3 tt,.markdown-body-dark h3 code,.markdown-body-dark h4 tt,.markdown-body-dark h4 code,.markdown-body-dark h5 tt,.markdown-body-dark h5 code,.markdown-body-dark h6 tt,.markdown-body-dark h6 code{padding:0 .2em;font-size:inherit}.markdown-body-dark summary h1,.markdown-body-dark summary h2,.markdown-body-dark summary h3,.markdown-body-dark summary h4,.markdown-body-dark summary h5,.markdown-body-dark summary h6{display:inline-block}.markdown-body-dark summary h1 .anchor,.markdown-body-dark summary h2 .anchor,.markdown-body-dark summary h3 .anchor,.markdown-body-dark summary h4 .anchor,.markdown-body-dark summary h5 .anchor,.markdown-body-dark summary h6 .anchor{margin-left:-40px}.markdown-body-dark summary h1,.markdown-body-dark summary h2{padding-bottom:0;border-bottom:0}.markdown-body-dark ul.no-list,.markdown-body-dark ol.no-list{padding:0;list-style-type:none}.markdown-body-dark ol[type=a]{list-style-type:lower-alpha}.markdown-body-dark ol[type=A]{list-style-type:upper-alpha}.markdown-body-dark ol[type=i]{list-style-type:lower-roman}.markdown-body-dark ol[type=I]{list-style-type:upper-roman}.markdown-body-dark ol[type="1"]{list-style-type:decimal}.markdown-body-dark div>ol:not([type]){list-style-type:decimal}.markdown-body-dark ul ul,.markdown-body-dark ul ol,.markdown-body-dark ol ol,.markdown-body-dark ol ul{margin-top:0;margin-bottom:0}.markdown-body-dark li>p{margin-top:16px}.markdown-body-dark li+li{margin-top:.25em}.markdown-body-dark dl{padding:0}.markdown-body-dark dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body-dark dl dd{padding:0 16px;margin-bottom:16px}.markdown-body-dark table th{font-weight:600}.markdown-body-dark table th,.markdown-body-dark table td{padding:6px 13px;border:1px solid #30363d}.markdown-body-dark table tr{background-color:#0d1117;border-top:1px solid #21262d}.markdown-body-dark table tr:nth-child(2n){background-color:#161b22}.markdown-body-dark table img{background-color:transparent}.markdown-body-dark img[align=right]{padding-left:20px}.markdown-body-dark img[align=left]{padding-right:20px}.markdown-body-dark .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body-dark span.frame{display:block;overflow:hidden}.markdown-body-dark span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #30363d}.markdown-body-dark span.frame span img{display:block;float:left}.markdown-body-dark span.frame span span{display:block;padding:5px 0 0;clear:both;color:#c9d1d9}.markdown-body-dark span.align-center{display:block;overflow:hidden;clear:both}.markdown-body-dark span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body-dark span.align-center span img{margin:0 auto;text-align:center}.markdown-body-dark span.align-right{display:block;overflow:hidden;clear:both}.markdown-body-dark span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body-dark span.align-right span img{margin:0;text-align:right}.markdown-body-dark span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body-dark span.float-left span{margin:13px 0 0}.markdown-body-dark span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body-dark span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body-dark code,.markdown-body-dark tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#6e768166;border-radius:6px}.markdown-body-dark code br,.markdown-body-dark tt br{display:none}.markdown-body-dark del code{text-decoration:inherit}.markdown-body-dark samp{font-size:85%}.markdown-body-dark pre code{font-size:100%}.markdown-body-dark pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body-dark .highlight{margin-bottom:16px}.markdown-body-dark .highlight pre{margin-bottom:0;word-break:normal}.markdown-body-dark .highlight pre,.markdown-body-dark pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#161b22;border-radius:6px}.markdown-body-dark pre code,.markdown-body-dark pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body-dark .csv-data td,.markdown-body-dark .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body-dark .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#0d1117;border:0}.markdown-body-dark .csv-data tr{border-top:0}.markdown-body-dark .csv-data th{font-weight:600;background:#161b22;border-top:0}.markdown-body-dark [data-footnote-ref]:before{content:"["}.markdown-body-dark [data-footnote-ref]:after{content:"]"}.markdown-body-dark .footnotes{font-size:12px;color:#8b949e;border-top:1px solid #30363d}.markdown-body-dark .footnotes ol{padding-left:16px}.markdown-body-dark .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body-dark .footnotes li{position:relative}.markdown-body-dark .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px}.markdown-body-dark .footnotes li:target{color:#c9d1d9}.markdown-body-dark .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body-dark .pl-c{color:#8b949e}.markdown-body-dark .pl-c1,.markdown-body-dark .pl-s .pl-v{color:#79c0ff}.markdown-body-dark .pl-e,.markdown-body-dark .pl-en{color:#d2a8ff}.markdown-body-dark .pl-smi,.markdown-body-dark .pl-s .pl-s1{color:#c9d1d9}.markdown-body-dark .pl-ent{color:#7ee787}.markdown-body-dark .pl-k{color:#ff7b72}.markdown-body-dark .pl-s,.markdown-body-dark .pl-pds,.markdown-body-dark .pl-s .pl-pse .pl-s1,.markdown-body-dark .pl-sr,.markdown-body-dark .pl-sr .pl-cce,.markdown-body-dark .pl-sr .pl-sre,.markdown-body-dark .pl-sr .pl-sra{color:#a5d6ff}.markdown-body-dark .pl-v,.markdown-body-dark .pl-smw{color:#ffa657}.markdown-body-dark .pl-bu{color:#f85149}.markdown-body-dark .pl-ii{color:#f0f6fc;background-color:#8e1519}.markdown-body-dark .pl-c2{color:#f0f6fc;background-color:#b62324}.markdown-body-dark .pl-sr .pl-cce{font-weight:700;color:#7ee787}.markdown-body-dark .pl-ml{color:#f2cc60}.markdown-body-dark .pl-mh,.markdown-body-dark .pl-mh .pl-en,.markdown-body-dark .pl-ms{font-weight:700;color:#1f6feb}.markdown-body-dark .pl-mi{font-style:italic;color:#c9d1d9}.markdown-body-dark .pl-mb{font-weight:700;color:#c9d1d9}.markdown-body-dark .pl-md{color:#ffdcd7;background-color:#67060c}.markdown-body-dark .pl-mi1{color:#aff5b4;background-color:#033a16}.markdown-body-dark .pl-mc{color:#ffdfb6;background-color:#5a1e02}.markdown-body-dark .pl-mi2{color:#c9d1d9;background-color:#1158c7}.markdown-body-dark .pl-mdr{font-weight:700;color:#d2a8ff}.markdown-body-dark .pl-ba{color:#8b949e}.markdown-body-dark .pl-sg{color:#484f58}.markdown-body-dark .pl-corl{text-decoration:underline;color:#a5d6ff}.markdown-body-dark g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body-dark g-emoji img{width:1em;height:1em}.markdown-body-dark .task-list-item{list-style-type:none}.markdown-body-dark .task-list-item label{font-weight:400}.markdown-body-dark .task-list-item.enabled label{cursor:pointer}.markdown-body-dark .task-list-item+.task-list-item{margin-top:4px}.markdown-body-dark .task-list-item .handle{display:none}.markdown-body-dark .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body-dark .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body-dark .contains-task-list{position:relative}.markdown-body-dark .contains-task-list:hover .task-list-item-convert-container,.markdown-body-dark .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body-dark ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body-light{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:#24292f;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body-light .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body-light h1:hover .anchor .octicon-link:before,.markdown-body-light h2:hover .anchor .octicon-link:before,.markdown-body-light h3:hover .anchor .octicon-link:before,.markdown-body-light h4:hover .anchor .octicon-link:before,.markdown-body-light h5:hover .anchor .octicon-link:before,.markdown-body-light h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body-light details,.markdown-body-light figcaption,.markdown-body-light figure{display:block}.markdown-body-light summary{display:list-item}.markdown-body-light [hidden]{display:none!important}.markdown-body-light a{background-color:transparent;color:#0969da;text-decoration:none}.markdown-body-light abbr[title]{border-bottom:none;text-decoration:underline dotted}.markdown-body-light b,.markdown-body-light strong{font-weight:600}.markdown-body-light dfn{font-style:italic}.markdown-body-light h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid hsla(210,18%,87%,1)}.markdown-body-light mark{background-color:#fff8c5;color:#24292f}.markdown-body-light small{font-size:90%}.markdown-body-light sub,.markdown-body-light sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body-light sub{bottom:-.25em}.markdown-body-light sup{top:-.5em}.markdown-body-light img{border-style:none;max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body-light code,.markdown-body-light kbd,.markdown-body-light pre,.markdown-body-light samp{font-family:monospace;font-size:1em}.markdown-body-light figure{margin:1em 40px}.markdown-body-light hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid hsla(210,18%,87%,1);height:.25em;padding:0;margin:24px 0;background-color:#d0d7de;border:0}.markdown-body-light input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body-light [type=button],.markdown-body-light [type=reset],.markdown-body-light [type=submit]{-webkit-appearance:button}.markdown-body-light [type=checkbox],.markdown-body-light [type=radio]{box-sizing:border-box;padding:0}.markdown-body-light [type=number]::-webkit-inner-spin-button,.markdown-body-light [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body-light [type=search]::-webkit-search-cancel-button,.markdown-body-light [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body-light ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body-light ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body-light a:hover{text-decoration:underline}.markdown-body-light ::placeholder{color:#6e7781;opacity:1}.markdown-body-light hr:before{display:table;content:""}.markdown-body-light hr:after{display:table;clear:both;content:""}.markdown-body-light table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body-light td,.markdown-body-light th{padding:0}.markdown-body-light details summary{cursor:pointer}.markdown-body-light details:not([open])>*:not(summary){display:none!important}.markdown-body-light a:focus,.markdown-body-light [role=button]:focus,.markdown-body-light input[type=radio]:focus,.markdown-body-light input[type=checkbox]:focus{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body-light a:focus:not(:focus-visible),.markdown-body-light [role=button]:focus:not(:focus-visible),.markdown-body-light input[type=radio]:focus:not(:focus-visible),.markdown-body-light input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body-light a:focus-visible,.markdown-body-light [role=button]:focus-visible,.markdown-body-light input[type=radio]:focus-visible,.markdown-body-light input[type=checkbox]:focus-visible{outline:2px solid #0969da;outline-offset:-2px;box-shadow:none}.markdown-body-light a:not([class]):focus,.markdown-body-light a:not([class]):focus-visible,.markdown-body-light input[type=radio]:focus,.markdown-body-light input[type=radio]:focus-visible,.markdown-body-light input[type=checkbox]:focus,.markdown-body-light input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body-light kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#24292f;vertical-align:middle;background-color:#f6f8fa;border:solid 1px rgba(175,184,193,.2);border-bottom-color:#afb8c133;border-radius:6px;box-shadow:inset 0 -1px #afb8c133}.markdown-body-light h1,.markdown-body-light h2,.markdown-body-light h3,.markdown-body-light h4,.markdown-body-light h5,.markdown-body-light h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body-light h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid hsla(210,18%,87%,1)}.markdown-body-light h3{font-weight:600;font-size:1.25em}.markdown-body-light h4{font-weight:600;font-size:1em}.markdown-body-light h5{font-weight:600;font-size:.875em}.markdown-body-light h6{font-weight:600;font-size:.85em;color:#57606a}.markdown-body-light p{margin-top:0;margin-bottom:10px}.markdown-body-light blockquote{margin:0;padding:0 1em;color:#57606a;border-left:.25em solid #d0d7de}.markdown-body-light ul,.markdown-body-light ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body-light ol ol,.markdown-body-light ul ol{list-style-type:lower-roman}.markdown-body-light ul ul ol,.markdown-body-light ul ol ol,.markdown-body-light ol ul ol,.markdown-body-light ol ol ol{list-style-type:lower-alpha}.markdown-body-light dd{margin-left:0}.markdown-body-light tt,.markdown-body-light code,.markdown-body-light samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body-light pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body-light .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body-light input::-webkit-outer-spin-button,.markdown-body-light input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body-light:before{display:table;content:""}.markdown-body-light:after{display:table;clear:both;content:""}.markdown-body-light>*:first-child{margin-top:0!important}.markdown-body-light>*:last-child{margin-bottom:0!important}.markdown-body-light a:not([href]){color:inherit;text-decoration:none}.markdown-body-light .absent{color:#cf222e}.markdown-body-light .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body-light .anchor:focus{outline:none}.markdown-body-light p,.markdown-body-light blockquote,.markdown-body-light ul,.markdown-body-light ol,.markdown-body-light dl,.markdown-body-light table,.markdown-body-light pre,.markdown-body-light details{margin-top:0;margin-bottom:16px}.markdown-body-light blockquote>:first-child{margin-top:0}.markdown-body-light blockquote>:last-child{margin-bottom:0}.markdown-body-light h1 .octicon-link,.markdown-body-light h2 .octicon-link,.markdown-body-light h3 .octicon-link,.markdown-body-light h4 .octicon-link,.markdown-body-light h5 .octicon-link,.markdown-body-light h6 .octicon-link{color:#24292f;vertical-align:middle;visibility:hidden}.markdown-body-light h1:hover .anchor,.markdown-body-light h2:hover .anchor,.markdown-body-light h3:hover .anchor,.markdown-body-light h4:hover .anchor,.markdown-body-light h5:hover .anchor,.markdown-body-light h6:hover .anchor{text-decoration:none}.markdown-body-light h1:hover .anchor .octicon-link,.markdown-body-light h2:hover .anchor .octicon-link,.markdown-body-light h3:hover .anchor .octicon-link,.markdown-body-light h4:hover .anchor .octicon-link,.markdown-body-light h5:hover .anchor .octicon-link,.markdown-body-light h6:hover .anchor .octicon-link{visibility:visible}.markdown-body-light h1 tt,.markdown-body-light h1 code,.markdown-body-light h2 tt,.markdown-body-light h2 code,.markdown-body-light h3 tt,.markdown-body-light h3 code,.markdown-body-light h4 tt,.markdown-body-light h4 code,.markdown-body-light h5 tt,.markdown-body-light h5 code,.markdown-body-light h6 tt,.markdown-body-light h6 code{padding:0 .2em;font-size:inherit}.markdown-body-light summary h1,.markdown-body-light summary h2,.markdown-body-light summary h3,.markdown-body-light summary h4,.markdown-body-light summary h5,.markdown-body-light summary h6{display:inline-block}.markdown-body-light summary h1 .anchor,.markdown-body-light summary h2 .anchor,.markdown-body-light summary h3 .anchor,.markdown-body-light summary h4 .anchor,.markdown-body-light summary h5 .anchor,.markdown-body-light summary h6 .anchor{margin-left:-40px}.markdown-body-light summary h1,.markdown-body-light summary h2{padding-bottom:0;border-bottom:0}.markdown-body-light ul.no-list,.markdown-body-light ol.no-list{padding:0;list-style-type:none}.markdown-body-light ol[type=a]{list-style-type:lower-alpha}.markdown-body-light ol[type=A]{list-style-type:upper-alpha}.markdown-body-light ol[type=i]{list-style-type:lower-roman}.markdown-body-light ol[type=I]{list-style-type:upper-roman}.markdown-body-light ol[type="1"]{list-style-type:decimal}.markdown-body-light div>ol:not([type]){list-style-type:decimal}.markdown-body-light ul ul,.markdown-body-light ul ol,.markdown-body-light ol ol,.markdown-body-light ol ul{margin-top:0;margin-bottom:0}.markdown-body-light li>p{margin-top:16px}.markdown-body-light li+li{margin-top:.25em}.markdown-body-light dl{padding:0}.markdown-body-light dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body-light dl dd{padding:0 16px;margin-bottom:16px}.markdown-body-light table th{font-weight:600}.markdown-body-light table th,.markdown-body-light table td{padding:6px 13px;border:1px solid #d0d7de}.markdown-body-light table tr{background-color:#fff;border-top:1px solid hsla(210,18%,87%,1)}.markdown-body-light table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body-light table img{background-color:transparent}.markdown-body-light img[align=right]{padding-left:20px}.markdown-body-light img[align=left]{padding-right:20px}.markdown-body-light .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body-light span.frame{display:block;overflow:hidden}.markdown-body-light span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d0d7de}.markdown-body-light span.frame span img{display:block;float:left}.markdown-body-light span.frame span span{display:block;padding:5px 0 0;clear:both;color:#24292f}.markdown-body-light span.align-center{display:block;overflow:hidden;clear:both}.markdown-body-light span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body-light span.align-center span img{margin:0 auto;text-align:center}.markdown-body-light span.align-right{display:block;overflow:hidden;clear:both}.markdown-body-light span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body-light span.align-right span img{margin:0;text-align:right}.markdown-body-light span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body-light span.float-left span{margin:13px 0 0}.markdown-body-light span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body-light span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body-light code,.markdown-body-light tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#afb8c133;border-radius:6px}.markdown-body-light code br,.markdown-body-light tt br{display:none}.markdown-body-light del code{text-decoration:inherit}.markdown-body-light samp{font-size:85%}.markdown-body-light pre code{font-size:100%}.markdown-body-light pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body-light .highlight{margin-bottom:16px}.markdown-body-light .highlight pre{margin-bottom:0;word-break:normal}.markdown-body-light .highlight pre,.markdown-body-light pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:6px}.markdown-body-light pre code,.markdown-body-light pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body-light .csv-data td,.markdown-body-light .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body-light .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:#ffffff;border:0}.markdown-body-light .csv-data tr{border-top:0}.markdown-body-light .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body-light [data-footnote-ref]:before{content:"["}.markdown-body-light [data-footnote-ref]:after{content:"]"}.markdown-body-light .footnotes{font-size:12px;color:#57606a;border-top:1px solid #d0d7de}.markdown-body-light .footnotes ol{padding-left:16px}.markdown-body-light .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body-light .footnotes li{position:relative}.markdown-body-light .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body-light .footnotes li:target{color:#24292f}.markdown-body-light .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body-light .pl-c{color:#6e7781}.markdown-body-light .pl-c1,.markdown-body-light .pl-s .pl-v{color:#0550ae}.markdown-body-light .pl-e,.markdown-body-light .pl-en{color:#8250df}.markdown-body-light .pl-smi,.markdown-body-light .pl-s .pl-s1{color:#24292f}.markdown-body-light .pl-ent{color:#116329}.markdown-body-light .pl-k{color:#cf222e}.markdown-body-light .pl-s,.markdown-body-light .pl-pds,.markdown-body-light .pl-s .pl-pse .pl-s1,.markdown-body-light .pl-sr,.markdown-body-light .pl-sr .pl-cce,.markdown-body-light .pl-sr .pl-sre,.markdown-body-light .pl-sr .pl-sra{color:#0a3069}.markdown-body-light .pl-v,.markdown-body-light .pl-smw{color:#953800}.markdown-body-light .pl-bu{color:#82071e}.markdown-body-light .pl-ii{color:#f6f8fa;background-color:#82071e}.markdown-body-light .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body-light .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body-light .pl-ml{color:#3b2300}.markdown-body-light .pl-mh,.markdown-body-light .pl-mh .pl-en,.markdown-body-light .pl-ms{font-weight:700;color:#0550ae}.markdown-body-light .pl-mi{font-style:italic;color:#24292f}.markdown-body-light .pl-mb{font-weight:700;color:#24292f}.markdown-body-light .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body-light .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body-light .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body-light .pl-mi2{color:#eaeef2;background-color:#0550ae}.markdown-body-light .pl-mdr{font-weight:700;color:#8250df}.markdown-body-light .pl-ba{color:#57606a}.markdown-body-light .pl-sg{color:#8c959f}.markdown-body-light .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body-light g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body-light g-emoji img{width:1em;height:1em}.markdown-body-light .task-list-item{list-style-type:none}.markdown-body-light .task-list-item label{font-weight:400}.markdown-body-light .task-list-item.enabled label{cursor:pointer}.markdown-body-light .task-list-item+.task-list-item{margin-top:4px}.markdown-body-light .task-list-item .handle{display:none}.markdown-body-light .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body-light .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body-light .contains-task-list{position:relative}.markdown-body-light .contains-task-list:hover .task-list-item-convert-container,.markdown-body-light .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body-light ::-webkit-calendar-picker-indicator{filter:invert(50%)}.home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}.markdown-body-light,.markdown-body-dark{max-width:800px;text-align:left;border-radius:15px;padding:20px}:root{--ep-color-white: #ffffff;--ep-color-black: #000000;--ep-color-primary-rgb: 0, 128, 0;--ep-color-success-rgb: 33, 186, 69;--ep-color-warning-rgb: 242, 113, 28;--ep-color-danger-rgb: 219, 40, 40;--ep-color-error-rgb: 219, 40, 40;--ep-color-info-rgb: 66, 184, 221;--ep-font-size-extra-large: 20px;--ep-font-size-large: 18px;--ep-font-size-medium: 16px;--ep-font-size-base: 14px;--ep-font-size-small: 13px;--ep-font-size-extra-small: 12px;--ep-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--ep-font-weight-primary: 500;--ep-font-line-height-primary: 24px;--ep-index-normal: 1;--ep-index-top: 1000;--ep-index-popper: 2000;--ep-border-radius-base: 4px;--ep-border-radius-small: 2px;--ep-border-radius-round: 20px;--ep-border-radius-circle: 100%;--ep-transition-duration: .3s;--ep-transition-duration-fast: .2s;--ep-transition-function-ease-in-out-bezier: cubic-bezier(.645, .045, .355, 1);--ep-transition-function-fast-bezier: cubic-bezier(.23, 1, .32, 1);--ep-transition-all: all var(--ep-transition-duration) var(--ep-transition-function-ease-in-out-bezier);--ep-transition-fade: opacity var(--ep-transition-duration) var(--ep-transition-function-fast-bezier);--ep-transition-md-fade: transform var(--ep-transition-duration) var(--ep-transition-function-fast-bezier), opacity var(--ep-transition-duration) var(--ep-transition-function-fast-bezier);--ep-transition-fade-linear: opacity var(--ep-transition-duration-fast) linear;--ep-transition-border: border-color var(--ep-transition-duration-fast) var(--ep-transition-function-ease-in-out-bezier);--ep-transition-box-shadow: box-shadow var(--ep-transition-duration-fast) var(--ep-transition-function-ease-in-out-bezier);--ep-transition-color: color var(--ep-transition-duration-fast) var(--ep-transition-function-ease-in-out-bezier);--ep-component-size-large: 40px;--ep-component-size: 32px;--ep-component-size-small: 24px}:root{color-scheme:light;--ep-color-white: #ffffff;--ep-color-black: #000000;--ep-color-primary: green;--ep-color-primary-light-3: #4da64d;--ep-color-primary-light-5: #80c080;--ep-color-primary-light-7: #b3d9b3;--ep-color-primary-light-8: #cce6cc;--ep-color-primary-light-9: #e6f2e6;--ep-color-primary-dark-2: #006600;--ep-color-success: #21ba45;--ep-color-success-light-3: #64cf7d;--ep-color-success-light-5: #90dda2;--ep-color-success-light-7: #bceac7;--ep-color-success-light-8: #d3f1da;--ep-color-success-light-9: #e9f8ec;--ep-color-success-dark-2: #1a9537;--ep-color-warning: #f2711c;--ep-color-warning-light-3: #f69c60;--ep-color-warning-light-5: #f9b88e;--ep-color-warning-light-7: #fbd4bb;--ep-color-warning-light-8: #fce3d2;--ep-color-warning-light-9: #fef1e8;--ep-color-warning-dark-2: #c25a16;--ep-color-danger: #db2828;--ep-color-danger-light-3: #e66969;--ep-color-danger-light-5: #ed9494;--ep-color-danger-light-7: #f4bfbf;--ep-color-danger-light-8: #f8d4d4;--ep-color-danger-light-9: #fbeaea;--ep-color-danger-dark-2: #af2020;--ep-color-error: #db2828;--ep-color-error-light-3: #e66969;--ep-color-error-light-5: #ed9494;--ep-color-error-light-7: #f4bfbf;--ep-color-error-light-8: #f8d4d4;--ep-color-error-light-9: #fbeaea;--ep-color-error-dark-2: #af2020;--ep-color-info: #42b8dd;--ep-color-info-light-3: #7bcde7;--ep-color-info-light-5: #a1dcee;--ep-color-info-light-7: #c6eaf5;--ep-color-info-light-8: #d9f1f8;--ep-color-info-light-9: #ecf8fc;--ep-color-info-dark-2: #3593b1;--ep-bg-color: #ffffff;--ep-bg-color-page: #f2f3f5;--ep-bg-color-overlay: #ffffff;--ep-text-color-primary: #303133;--ep-text-color-regular: #606266;--ep-text-color-secondary: #909399;--ep-text-color-placeholder: #a8abb2;--ep-text-color-disabled: #c0c4cc;--ep-border-color: #dcdfe6;--ep-border-color-light: #e4e7ed;--ep-border-color-lighter: #ebeef5;--ep-border-color-extra-light: #f2f6fc;--ep-border-color-dark: #d4d7de;--ep-border-color-darker: #cdd0d6;--ep-fill-color: #f0f2f5;--ep-fill-color-light: #f5f7fa;--ep-fill-color-lighter: #fafafa;--ep-fill-color-extra-light: #fafcff;--ep-fill-color-dark: #ebedf0;--ep-fill-color-darker: #e6e8eb;--ep-fill-color-blank: #ffffff;--ep-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08);--ep-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--ep-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--ep-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16);--ep-disabled-bg-color: var(--ep-fill-color-light);--ep-disabled-text-color: var(--ep-text-color-placeholder);--ep-disabled-border-color: var(--ep-border-color-light);--ep-overlay-color: rgba(0, 0, 0, .8);--ep-overlay-color-light: rgba(0, 0, 0, .7);--ep-overlay-color-lighter: rgba(0, 0, 0, .5);--ep-mask-color: rgba(255, 255, 255, .9);--ep-mask-color-extra-light: rgba(255, 255, 255, .3);--ep-border-width: 1px;--ep-border-style: solid;--ep-border-color-hover: var(--ep-text-color-disabled);--ep-border: var(--ep-border-width) var(--ep-border-style) var(--ep-border-color);--ep-svg-monochrome-grey: var(--ep-border-color)}.ep-icon-loading{animation:rotating 2s linear infinite}.ep-icon--right{margin-left:5px}.ep-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ep-icon{--color: inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.ep-icon.is-loading{animation:rotating 2s linear infinite}.ep-icon svg{height:1em;width:1em}.ep-card{--ep-card-border-color: var(--ep-border-color-light);--ep-card-border-radius: 4px;--ep-card-padding: 20px;--ep-card-bg-color: var(--ep-fill-color-blank)}.ep-card{border-radius:var(--ep-card-border-radius);border:1px solid var(--ep-card-border-color);background-color:var(--ep-card-bg-color);overflow:hidden;color:var(--ep-text-color-primary);transition:var(--ep-transition-duration)}.ep-card.is-always-shadow{box-shadow:var(--ep-box-shadow-light)}.ep-card.is-hover-shadow:hover,.ep-card.is-hover-shadow:focus{box-shadow:var(--ep-box-shadow-light)}.ep-card__header{padding:calc(var(--ep-card-padding) - 2px) var(--ep-card-padding);border-bottom:1px solid var(--ep-card-border-color);box-sizing:border-box}.ep-card__body{padding:var(--ep-card-padding)}.ep-form{--ep-form-label-font-size: var(--ep-font-size-base)}.ep-form--label-left .ep-form-item__label{justify-content:flex-start}.ep-form--label-top .ep-form-item{display:block}.ep-form--label-top .ep-form-item .ep-form-item__label{display:block;height:auto;text-align:left;margin-bottom:8px;line-height:22px}.ep-form--inline .ep-form-item{display:inline-flex;vertical-align:middle;margin-right:32px}.ep-form--inline.ep-form--label-top{display:flex;flex-wrap:wrap}.ep-form--inline.ep-form--label-top .ep-form-item{display:block}.ep-form--large.ep-form--label-top .ep-form-item .ep-form-item__label{margin-bottom:12px;line-height:22px}.ep-form--default.ep-form--label-top .ep-form-item .ep-form-item__label{margin-bottom:8px;line-height:22px}.ep-form--small.ep-form--label-top .ep-form-item .ep-form-item__label{margin-bottom:4px;line-height:20px}.ep-form-item{display:flex;--font-size: 14px;margin-bottom:18px}.ep-form-item .ep-form-item{margin-bottom:0}.ep-form-item .ep-input__validateIcon{display:none}.ep-form-item--large{--font-size: 14px;--ep-form-label-font-size: var(--font-size);margin-bottom:22px}.ep-form-item--large .ep-form-item__label{height:40px;line-height:40px}.ep-form-item--large .ep-form-item__content{line-height:40px}.ep-form-item--large .ep-form-item__error{padding-top:4px}.ep-form-item--default{--font-size: 14px;--ep-form-label-font-size: var(--font-size);margin-bottom:18px}.ep-form-item--default .ep-form-item__label{height:32px;line-height:32px}.ep-form-item--default .ep-form-item__content{line-height:32px}.ep-form-item--default .ep-form-item__error{padding-top:2px}.ep-form-item--small{--font-size: 12px;--ep-form-label-font-size: var(--font-size);margin-bottom:18px}.ep-form-item--small .ep-form-item__label{height:24px;line-height:24px}.ep-form-item--small .ep-form-item__content{line-height:24px}.ep-form-item--small .ep-form-item__error{padding-top:2px}.ep-form-item__label-wrap{display:flex}.ep-form-item__label{display:inline-flex;justify-content:flex-end;align-items:flex-start;flex:0 0 auto;font-size:var(--ep-form-label-font-size);color:var(--ep-text-color-regular);height:32px;line-height:32px;padding:0 12px 0 0;box-sizing:border-box}.ep-form-item__content{display:flex;flex-wrap:wrap;align-items:center;flex:1;line-height:32px;position:relative;font-size:var(--font-size);min-width:0}.ep-form-item__content .ep-input-group{vertical-align:top}.ep-form-item__error{color:var(--ep-color-danger);font-size:12px;line-height:1;padding-top:2px;position:absolute;top:100%;left:0}.ep-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.ep-form-item.is-required:not(.is-no-asterisk).asterisk-left>.ep-form-item__label:before,.ep-form-item.is-required:not(.is-no-asterisk).asterisk-left>.ep-form-item__label-wrap>.ep-form-item__label:before{content:"*";color:var(--ep-color-danger);margin-right:4px}.ep-form-item.is-required:not(.is-no-asterisk).asterisk-right>.ep-form-item__label:after,.ep-form-item.is-required:not(.is-no-asterisk).asterisk-right>.ep-form-item__label-wrap>.ep-form-item__label:after{content:"*";color:var(--ep-color-danger);margin-left:4px}.ep-form-item.is-error .ep-select-v2__wrapper,.ep-form-item.is-error .ep-select-v2__wrapper:focus,.ep-form-item.is-error .ep-textarea__inner,.ep-form-item.is-error .ep-textarea__inner:focus{box-shadow:0 0 0 1px var(--ep-color-danger) inset}.ep-form-item.is-error .ep-input__wrapper{box-shadow:0 0 0 1px var(--ep-color-danger) inset}.ep-form-item.is-error .ep-input-group__append .ep-input__wrapper,.ep-form-item.is-error .ep-input-group__prepend .ep-input__wrapper{box-shadow:0 0 0 1px transparent inset}.ep-form-item.is-error .ep-input__validateIcon{color:var(--ep-color-danger)}.ep-form-item--feedback .ep-input__validateIcon{display:inline-flex}.ep-checkbox-group{font-size:0;line-height:0}.ep-checkbox{--ep-checkbox-font-size: 14px;--ep-checkbox-font-weight: var(--ep-font-weight-primary);--ep-checkbox-text-color: var(--ep-text-color-regular);--ep-checkbox-input-height: 14px;--ep-checkbox-input-width: 14px;--ep-checkbox-border-radius: var(--ep-border-radius-small);--ep-checkbox-bg-color: var(--ep-fill-color-blank);--ep-checkbox-input-border: var(--ep-border);--ep-checkbox-disabled-border-color: var(--ep-border-color);--ep-checkbox-disabled-input-fill: var(--ep-fill-color-light);--ep-checkbox-disabled-icon-color: var(--ep-text-color-placeholder);--ep-checkbox-disabled-checked-input-fill: var(--ep-border-color-extra-light);--ep-checkbox-disabled-checked-input-border-color: var(--ep-border-color);--ep-checkbox-disabled-checked-icon-color: var(--ep-text-color-placeholder);--ep-checkbox-checked-text-color: var(--ep-color-primary);--ep-checkbox-checked-input-border-color: var(--ep-color-primary);--ep-checkbox-checked-bg-color: var(--ep-color-primary);--ep-checkbox-checked-icon-color: var(--ep-color-white);--ep-checkbox-input-border-color-hover: var(--ep-color-primary)}.ep-checkbox{color:var(--ep-checkbox-text-color);font-weight:var(--ep-checkbox-font-weight);font-size:var(--ep-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;user-select:none;margin-right:30px;height:32px}.ep-checkbox.is-disabled{cursor:not-allowed}.ep-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--ep-border-radius-base);border:var(--ep-border);box-sizing:border-box}.ep-checkbox.is-bordered.is-checked{border-color:var(--ep-color-primary)}.ep-checkbox.is-bordered.is-disabled{border-color:var(--ep-border-color-lighter)}.ep-checkbox.is-bordered.ep-checkbox--large{padding:0 19px 0 11px;border-radius:var(--ep-border-radius-base)}.ep-checkbox.is-bordered.ep-checkbox--large .ep-checkbox__label{font-size:var(--ep-font-size-base)}.ep-checkbox.is-bordered.ep-checkbox--large .ep-checkbox__inner{height:14px;width:14px}.ep-checkbox.is-bordered.ep-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--ep-border-radius-base) - 1px)}.ep-checkbox.is-bordered.ep-checkbox--small .ep-checkbox__label{font-size:12px}.ep-checkbox.is-bordered.ep-checkbox--small .ep-checkbox__inner{height:12px;width:12px}.ep-checkbox.is-bordered.ep-checkbox--small .ep-checkbox__inner:after{height:6px;width:2px}.ep-checkbox input:focus-visible+.ep-checkbox__inner{outline:2px solid var(--ep-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--ep-checkbox-border-radius)}.ep-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.ep-checkbox__input.is-disabled .ep-checkbox__inner{background-color:var(--ep-checkbox-disabled-input-fill);border-color:var(--ep-checkbox-disabled-border-color);cursor:not-allowed}.ep-checkbox__input.is-disabled .ep-checkbox__inner:after{cursor:not-allowed;border-color:var(--ep-checkbox-disabled-icon-color)}.ep-checkbox__input.is-disabled.is-checked .ep-checkbox__inner{background-color:var(--ep-checkbox-disabled-checked-input-fill);border-color:var(--ep-checkbox-disabled-checked-input-border-color)}.ep-checkbox__input.is-disabled.is-checked .ep-checkbox__inner:after{border-color:var(--ep-checkbox-disabled-checked-icon-color)}.ep-checkbox__input.is-disabled.is-indeterminate .ep-checkbox__inner{background-color:var(--ep-checkbox-disabled-checked-input-fill);border-color:var(--ep-checkbox-disabled-checked-input-border-color)}.ep-checkbox__input.is-disabled.is-indeterminate .ep-checkbox__inner:before{background-color:var(--ep-checkbox-disabled-checked-icon-color);border-color:var(--ep-checkbox-disabled-checked-icon-color)}.ep-checkbox__input.is-disabled+span.ep-checkbox__label{color:var(--ep-disabled-text-color);cursor:not-allowed}.ep-checkbox__input.is-checked .ep-checkbox__inner{background-color:var(--ep-checkbox-checked-bg-color);border-color:var(--ep-checkbox-checked-input-border-color)}.ep-checkbox__input.is-checked .ep-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}.ep-checkbox__input.is-checked+.ep-checkbox__label{color:var(--ep-checkbox-checked-text-color)}.ep-checkbox__input.is-focus:not(.is-checked) .ep-checkbox__original:not(:focus-visible){border-color:var(--ep-checkbox-input-border-color-hover)}.ep-checkbox__input.is-indeterminate .ep-checkbox__inner{background-color:var(--ep-checkbox-checked-bg-color);border-color:var(--ep-checkbox-checked-input-border-color)}.ep-checkbox__input.is-indeterminate .ep-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--ep-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.ep-checkbox__input.is-indeterminate .ep-checkbox__inner:after{display:none}.ep-checkbox__inner{display:inline-block;position:relative;border:var(--ep-checkbox-input-border);border-radius:var(--ep-checkbox-border-radius);box-sizing:border-box;width:var(--ep-checkbox-input-width);height:var(--ep-checkbox-input-height);background-color:var(--ep-checkbox-bg-color);z-index:var(--ep-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.ep-checkbox__inner:hover{border-color:var(--ep-checkbox-input-border-color-hover)}.ep-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid var(--ep-checkbox-checked-icon-color);border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in .05s;transform-origin:center}.ep-checkbox__original{opacity:0;outline:none;position:absolute;margin:0;width:0;height:0;z-index:-1}.ep-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--ep-checkbox-font-size)}.ep-checkbox.ep-checkbox--large{height:40px}.ep-checkbox.ep-checkbox--large .ep-checkbox__label{font-size:14px}.ep-checkbox.ep-checkbox--large .ep-checkbox__inner{width:14px;height:14px}.ep-checkbox.ep-checkbox--small{height:24px}.ep-checkbox.ep-checkbox--small .ep-checkbox__label{font-size:12px}.ep-checkbox.ep-checkbox--small .ep-checkbox__inner{width:12px;height:12px}.ep-checkbox.ep-checkbox--small .ep-checkbox__input.is-indeterminate .ep-checkbox__inner:before{top:4px}.ep-checkbox.ep-checkbox--small .ep-checkbox__inner:after{width:2px;height:6px}.ep-checkbox:last-of-type{margin-right:0}.ep-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.ep-row.is-justify-center{justify-content:center}.ep-row.is-justify-end{justify-content:flex-end}.ep-row.is-justify-space-between{justify-content:space-between}.ep-row.is-justify-space-around{justify-content:space-around}.ep-row.is-justify-space-evenly{justify-content:space-evenly}.ep-row.is-align-middle{align-items:center}.ep-row.is-align-bottom{align-items:flex-end}.ep-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.ep-radio{--ep-radio-font-size: var(--ep-font-size-base);--ep-radio-text-color: var(--ep-text-color-regular);--ep-radio-font-weight: var(--ep-font-weight-primary);--ep-radio-input-height: 14px;--ep-radio-input-width: 14px;--ep-radio-input-border-radius: var(--ep-border-radius-circle);--ep-radio-input-bg-color: var(--ep-fill-color-blank);--ep-radio-input-border: var(--ep-border);--ep-radio-input-border-color: var(--ep-border-color);--ep-radio-input-border-color-hover: var(--ep-color-primary)}.ep-radio{color:var(--ep-radio-text-color);font-weight:var(--ep-radio-font-weight);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;outline:none;font-size:var(--ep-font-size-base);user-select:none;margin-right:32px;height:32px}.ep-radio.ep-radio--large{height:40px}.ep-radio.ep-radio--small{height:24px}.ep-radio.is-bordered{padding:0 15px 0 9px;border-radius:var(--ep-border-radius-base);border:var(--ep-border);box-sizing:border-box}.ep-radio.is-bordered.is-checked{border-color:var(--ep-color-primary)}.ep-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--ep-border-color-lighter)}.ep-radio.is-bordered.ep-radio--large{padding:0 19px 0 11px;border-radius:var(--ep-border-radius-base)}.ep-radio.is-bordered.ep-radio--large .ep-radio__label{font-size:var(--ep-font-size-base)}.ep-radio.is-bordered.ep-radio--large .ep-radio__inner{height:14px;width:14px}.ep-radio.is-bordered.ep-radio--small{padding:0 11px 0 7px;border-radius:var(--ep-border-radius-base)}.ep-radio.is-bordered.ep-radio--small .ep-radio__label{font-size:12px}.ep-radio.is-bordered.ep-radio--small .ep-radio__inner{height:12px;width:12px}.ep-radio:last-child{margin-right:0}.ep-radio__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative;vertical-align:middle}.ep-radio__input.is-disabled .ep-radio__inner{background-color:var(--ep-disabled-bg-color);border-color:var(--ep-disabled-border-color);cursor:not-allowed}.ep-radio__input.is-disabled .ep-radio__inner:after{cursor:not-allowed;background-color:var(--ep-disabled-bg-color)}.ep-radio__input.is-disabled .ep-radio__inner+.ep-radio__label{cursor:not-allowed}.ep-radio__input.is-disabled.is-checked .ep-radio__inner{background-color:var(--ep-disabled-bg-color);border-color:var(--ep-disabled-border-color)}.ep-radio__input.is-disabled.is-checked .ep-radio__inner:after{background-color:var(--ep-text-color-placeholder)}.ep-radio__input.is-disabled+span.ep-radio__label{color:var(--ep-text-color-placeholder);cursor:not-allowed}.ep-radio__input.is-checked .ep-radio__inner{border-color:var(--ep-color-primary);background:var(--ep-color-primary)}.ep-radio__input.is-checked .ep-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.ep-radio__input.is-checked+.ep-radio__label{color:var(--ep-color-primary)}.ep-radio__input.is-focus .ep-radio__inner{border-color:var(--ep-radio-input-border-color-hover)}.ep-radio__inner{border:var(--ep-radio-input-border);border-radius:var(--ep-radio-input-border-radius);width:var(--ep-radio-input-width);height:var(--ep-radio-input-height);background-color:var(--ep-radio-input-bg-color);position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.ep-radio__inner:hover{border-color:var(--ep-radio-input-border-color-hover)}.ep-radio__inner:after{width:4px;height:4px;border-radius:var(--ep-radio-input-border-radius);background-color:var(--ep-color-white);content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.ep-radio__original{opacity:0;outline:none;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.ep-radio__original:focus-visible+.ep-radio__inner{outline:2px solid var(--ep-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--ep-radio-input-border-radius)}.ep-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .ep-radio__inner{box-shadow:0 0 2px 2px var(--ep-radio-input-border-color-hover)}.ep-radio__label{font-size:var(--ep-radio-font-size);padding-left:8px}.ep-radio.ep-radio--large .ep-radio__label{font-size:14px}.ep-radio.ep-radio--large .ep-radio__inner{width:14px;height:14px}.ep-radio.ep-radio--small .ep-radio__label{font-size:12px}.ep-radio.ep-radio--small .ep-radio__inner{width:12px;height:12px}[class*=ep-col-]{box-sizing:border-box}[class*=ep-col-].is-guttered{display:block;min-height:1px}.ep-col-0,.ep-col-0.is-guttered{display:none}.ep-col-0{max-width:0%;flex:0 0 0%}.ep-col-offset-0{margin-left:0%}.ep-col-pull-0{position:relative;right:0%}.ep-col-push-0{position:relative;left:0%}.ep-col-1{max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-offset-1{margin-left:4.1666666667%}.ep-col-pull-1{position:relative;right:4.1666666667%}.ep-col-push-1{position:relative;left:4.1666666667%}.ep-col-2{max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-offset-2{margin-left:8.3333333333%}.ep-col-pull-2{position:relative;right:8.3333333333%}.ep-col-push-2{position:relative;left:8.3333333333%}.ep-col-3{max-width:12.5%;flex:0 0 12.5%}.ep-col-offset-3{margin-left:12.5%}.ep-col-pull-3{position:relative;right:12.5%}.ep-col-push-3{position:relative;left:12.5%}.ep-col-4{max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-offset-4{margin-left:16.6666666667%}.ep-col-pull-4{position:relative;right:16.6666666667%}.ep-col-push-4{position:relative;left:16.6666666667%}.ep-col-5{max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-offset-5{margin-left:20.8333333333%}.ep-col-pull-5{position:relative;right:20.8333333333%}.ep-col-push-5{position:relative;left:20.8333333333%}.ep-col-6{max-width:25%;flex:0 0 25%}.ep-col-offset-6{margin-left:25%}.ep-col-pull-6{position:relative;right:25%}.ep-col-push-6{position:relative;left:25%}.ep-col-7{max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-offset-7{margin-left:29.1666666667%}.ep-col-pull-7{position:relative;right:29.1666666667%}.ep-col-push-7{position:relative;left:29.1666666667%}.ep-col-8{max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-offset-8{margin-left:33.3333333333%}.ep-col-pull-8{position:relative;right:33.3333333333%}.ep-col-push-8{position:relative;left:33.3333333333%}.ep-col-9{max-width:37.5%;flex:0 0 37.5%}.ep-col-offset-9{margin-left:37.5%}.ep-col-pull-9{position:relative;right:37.5%}.ep-col-push-9{position:relative;left:37.5%}.ep-col-10{max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-offset-10{margin-left:41.6666666667%}.ep-col-pull-10{position:relative;right:41.6666666667%}.ep-col-push-10{position:relative;left:41.6666666667%}.ep-col-11{max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-offset-11{margin-left:45.8333333333%}.ep-col-pull-11{position:relative;right:45.8333333333%}.ep-col-push-11{position:relative;left:45.8333333333%}.ep-col-12{max-width:50%;flex:0 0 50%}.ep-col-offset-12{margin-left:50%}.ep-col-pull-12{position:relative;right:50%}.ep-col-push-12{position:relative;left:50%}.ep-col-13{max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-offset-13{margin-left:54.1666666667%}.ep-col-pull-13{position:relative;right:54.1666666667%}.ep-col-push-13{position:relative;left:54.1666666667%}.ep-col-14{max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-offset-14{margin-left:58.3333333333%}.ep-col-pull-14{position:relative;right:58.3333333333%}.ep-col-push-14{position:relative;left:58.3333333333%}.ep-col-15{max-width:62.5%;flex:0 0 62.5%}.ep-col-offset-15{margin-left:62.5%}.ep-col-pull-15{position:relative;right:62.5%}.ep-col-push-15{position:relative;left:62.5%}.ep-col-16{max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-offset-16{margin-left:66.6666666667%}.ep-col-pull-16{position:relative;right:66.6666666667%}.ep-col-push-16{position:relative;left:66.6666666667%}.ep-col-17{max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-offset-17{margin-left:70.8333333333%}.ep-col-pull-17{position:relative;right:70.8333333333%}.ep-col-push-17{position:relative;left:70.8333333333%}.ep-col-18{max-width:75%;flex:0 0 75%}.ep-col-offset-18{margin-left:75%}.ep-col-pull-18{position:relative;right:75%}.ep-col-push-18{position:relative;left:75%}.ep-col-19{max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-offset-19{margin-left:79.1666666667%}.ep-col-pull-19{position:relative;right:79.1666666667%}.ep-col-push-19{position:relative;left:79.1666666667%}.ep-col-20{max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-offset-20{margin-left:83.3333333333%}.ep-col-pull-20{position:relative;right:83.3333333333%}.ep-col-push-20{position:relative;left:83.3333333333%}.ep-col-21{max-width:87.5%;flex:0 0 87.5%}.ep-col-offset-21{margin-left:87.5%}.ep-col-pull-21{position:relative;right:87.5%}.ep-col-push-21{position:relative;left:87.5%}.ep-col-22{max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-offset-22{margin-left:91.6666666667%}.ep-col-pull-22{position:relative;right:91.6666666667%}.ep-col-push-22{position:relative;left:91.6666666667%}.ep-col-23{max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-offset-23{margin-left:95.8333333333%}.ep-col-pull-23{position:relative;right:95.8333333333%}.ep-col-push-23{position:relative;left:95.8333333333%}.ep-col-24{max-width:100%;flex:0 0 100%}.ep-col-offset-24{margin-left:100%}.ep-col-pull-24{position:relative;right:100%}.ep-col-push-24{position:relative;left:100%}@media only screen and (max-width: 768px){.ep-col-xs-0,.ep-col-xs-0.is-guttered{display:none}.ep-col-xs-0{max-width:0%;flex:0 0 0%}.ep-col-xs-offset-0{margin-left:0%}.ep-col-xs-pull-0{position:relative;right:0%}.ep-col-xs-push-0{position:relative;left:0%}.ep-col-xs-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-xs-offset-1{margin-left:4.1666666667%}.ep-col-xs-pull-1{position:relative;right:4.1666666667%}.ep-col-xs-push-1{position:relative;left:4.1666666667%}.ep-col-xs-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-xs-offset-2{margin-left:8.3333333333%}.ep-col-xs-pull-2{position:relative;right:8.3333333333%}.ep-col-xs-push-2{position:relative;left:8.3333333333%}.ep-col-xs-3{display:block;max-width:12.5%;flex:0 0 12.5%}.ep-col-xs-offset-3{margin-left:12.5%}.ep-col-xs-pull-3{position:relative;right:12.5%}.ep-col-xs-push-3{position:relative;left:12.5%}.ep-col-xs-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-xs-offset-4{margin-left:16.6666666667%}.ep-col-xs-pull-4{position:relative;right:16.6666666667%}.ep-col-xs-push-4{position:relative;left:16.6666666667%}.ep-col-xs-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-xs-offset-5{margin-left:20.8333333333%}.ep-col-xs-pull-5{position:relative;right:20.8333333333%}.ep-col-xs-push-5{position:relative;left:20.8333333333%}.ep-col-xs-6{display:block;max-width:25%;flex:0 0 25%}.ep-col-xs-offset-6{margin-left:25%}.ep-col-xs-pull-6{position:relative;right:25%}.ep-col-xs-push-6{position:relative;left:25%}.ep-col-xs-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-xs-offset-7{margin-left:29.1666666667%}.ep-col-xs-pull-7{position:relative;right:29.1666666667%}.ep-col-xs-push-7{position:relative;left:29.1666666667%}.ep-col-xs-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-xs-offset-8{margin-left:33.3333333333%}.ep-col-xs-pull-8{position:relative;right:33.3333333333%}.ep-col-xs-push-8{position:relative;left:33.3333333333%}.ep-col-xs-9{display:block;max-width:37.5%;flex:0 0 37.5%}.ep-col-xs-offset-9{margin-left:37.5%}.ep-col-xs-pull-9{position:relative;right:37.5%}.ep-col-xs-push-9{position:relative;left:37.5%}.ep-col-xs-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-xs-offset-10{margin-left:41.6666666667%}.ep-col-xs-pull-10{position:relative;right:41.6666666667%}.ep-col-xs-push-10{position:relative;left:41.6666666667%}.ep-col-xs-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-xs-offset-11{margin-left:45.8333333333%}.ep-col-xs-pull-11{position:relative;right:45.8333333333%}.ep-col-xs-push-11{position:relative;left:45.8333333333%}.ep-col-xs-12{display:block;max-width:50%;flex:0 0 50%}.ep-col-xs-offset-12{margin-left:50%}.ep-col-xs-pull-12{position:relative;right:50%}.ep-col-xs-push-12{position:relative;left:50%}.ep-col-xs-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-xs-offset-13{margin-left:54.1666666667%}.ep-col-xs-pull-13{position:relative;right:54.1666666667%}.ep-col-xs-push-13{position:relative;left:54.1666666667%}.ep-col-xs-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-xs-offset-14{margin-left:58.3333333333%}.ep-col-xs-pull-14{position:relative;right:58.3333333333%}.ep-col-xs-push-14{position:relative;left:58.3333333333%}.ep-col-xs-15{display:block;max-width:62.5%;flex:0 0 62.5%}.ep-col-xs-offset-15{margin-left:62.5%}.ep-col-xs-pull-15{position:relative;right:62.5%}.ep-col-xs-push-15{position:relative;left:62.5%}.ep-col-xs-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-xs-offset-16{margin-left:66.6666666667%}.ep-col-xs-pull-16{position:relative;right:66.6666666667%}.ep-col-xs-push-16{position:relative;left:66.6666666667%}.ep-col-xs-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-xs-offset-17{margin-left:70.8333333333%}.ep-col-xs-pull-17{position:relative;right:70.8333333333%}.ep-col-xs-push-17{position:relative;left:70.8333333333%}.ep-col-xs-18{display:block;max-width:75%;flex:0 0 75%}.ep-col-xs-offset-18{margin-left:75%}.ep-col-xs-pull-18{position:relative;right:75%}.ep-col-xs-push-18{position:relative;left:75%}.ep-col-xs-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-xs-offset-19{margin-left:79.1666666667%}.ep-col-xs-pull-19{position:relative;right:79.1666666667%}.ep-col-xs-push-19{position:relative;left:79.1666666667%}.ep-col-xs-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-xs-offset-20{margin-left:83.3333333333%}.ep-col-xs-pull-20{position:relative;right:83.3333333333%}.ep-col-xs-push-20{position:relative;left:83.3333333333%}.ep-col-xs-21{display:block;max-width:87.5%;flex:0 0 87.5%}.ep-col-xs-offset-21{margin-left:87.5%}.ep-col-xs-pull-21{position:relative;right:87.5%}.ep-col-xs-push-21{position:relative;left:87.5%}.ep-col-xs-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-xs-offset-22{margin-left:91.6666666667%}.ep-col-xs-pull-22{position:relative;right:91.6666666667%}.ep-col-xs-push-22{position:relative;left:91.6666666667%}.ep-col-xs-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-xs-offset-23{margin-left:95.8333333333%}.ep-col-xs-pull-23{position:relative;right:95.8333333333%}.ep-col-xs-push-23{position:relative;left:95.8333333333%}.ep-col-xs-24{display:block;max-width:100%;flex:0 0 100%}.ep-col-xs-offset-24{margin-left:100%}.ep-col-xs-pull-24{position:relative;right:100%}.ep-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width: 768px){.ep-col-sm-0,.ep-col-sm-0.is-guttered{display:none}.ep-col-sm-0{max-width:0%;flex:0 0 0%}.ep-col-sm-offset-0{margin-left:0%}.ep-col-sm-pull-0{position:relative;right:0%}.ep-col-sm-push-0{position:relative;left:0%}.ep-col-sm-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-sm-offset-1{margin-left:4.1666666667%}.ep-col-sm-pull-1{position:relative;right:4.1666666667%}.ep-col-sm-push-1{position:relative;left:4.1666666667%}.ep-col-sm-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-sm-offset-2{margin-left:8.3333333333%}.ep-col-sm-pull-2{position:relative;right:8.3333333333%}.ep-col-sm-push-2{position:relative;left:8.3333333333%}.ep-col-sm-3{display:block;max-width:12.5%;flex:0 0 12.5%}.ep-col-sm-offset-3{margin-left:12.5%}.ep-col-sm-pull-3{position:relative;right:12.5%}.ep-col-sm-push-3{position:relative;left:12.5%}.ep-col-sm-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-sm-offset-4{margin-left:16.6666666667%}.ep-col-sm-pull-4{position:relative;right:16.6666666667%}.ep-col-sm-push-4{position:relative;left:16.6666666667%}.ep-col-sm-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-sm-offset-5{margin-left:20.8333333333%}.ep-col-sm-pull-5{position:relative;right:20.8333333333%}.ep-col-sm-push-5{position:relative;left:20.8333333333%}.ep-col-sm-6{display:block;max-width:25%;flex:0 0 25%}.ep-col-sm-offset-6{margin-left:25%}.ep-col-sm-pull-6{position:relative;right:25%}.ep-col-sm-push-6{position:relative;left:25%}.ep-col-sm-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-sm-offset-7{margin-left:29.1666666667%}.ep-col-sm-pull-7{position:relative;right:29.1666666667%}.ep-col-sm-push-7{position:relative;left:29.1666666667%}.ep-col-sm-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-sm-offset-8{margin-left:33.3333333333%}.ep-col-sm-pull-8{position:relative;right:33.3333333333%}.ep-col-sm-push-8{position:relative;left:33.3333333333%}.ep-col-sm-9{display:block;max-width:37.5%;flex:0 0 37.5%}.ep-col-sm-offset-9{margin-left:37.5%}.ep-col-sm-pull-9{position:relative;right:37.5%}.ep-col-sm-push-9{position:relative;left:37.5%}.ep-col-sm-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-sm-offset-10{margin-left:41.6666666667%}.ep-col-sm-pull-10{position:relative;right:41.6666666667%}.ep-col-sm-push-10{position:relative;left:41.6666666667%}.ep-col-sm-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-sm-offset-11{margin-left:45.8333333333%}.ep-col-sm-pull-11{position:relative;right:45.8333333333%}.ep-col-sm-push-11{position:relative;left:45.8333333333%}.ep-col-sm-12{display:block;max-width:50%;flex:0 0 50%}.ep-col-sm-offset-12{margin-left:50%}.ep-col-sm-pull-12{position:relative;right:50%}.ep-col-sm-push-12{position:relative;left:50%}.ep-col-sm-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-sm-offset-13{margin-left:54.1666666667%}.ep-col-sm-pull-13{position:relative;right:54.1666666667%}.ep-col-sm-push-13{position:relative;left:54.1666666667%}.ep-col-sm-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-sm-offset-14{margin-left:58.3333333333%}.ep-col-sm-pull-14{position:relative;right:58.3333333333%}.ep-col-sm-push-14{position:relative;left:58.3333333333%}.ep-col-sm-15{display:block;max-width:62.5%;flex:0 0 62.5%}.ep-col-sm-offset-15{margin-left:62.5%}.ep-col-sm-pull-15{position:relative;right:62.5%}.ep-col-sm-push-15{position:relative;left:62.5%}.ep-col-sm-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-sm-offset-16{margin-left:66.6666666667%}.ep-col-sm-pull-16{position:relative;right:66.6666666667%}.ep-col-sm-push-16{position:relative;left:66.6666666667%}.ep-col-sm-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-sm-offset-17{margin-left:70.8333333333%}.ep-col-sm-pull-17{position:relative;right:70.8333333333%}.ep-col-sm-push-17{position:relative;left:70.8333333333%}.ep-col-sm-18{display:block;max-width:75%;flex:0 0 75%}.ep-col-sm-offset-18{margin-left:75%}.ep-col-sm-pull-18{position:relative;right:75%}.ep-col-sm-push-18{position:relative;left:75%}.ep-col-sm-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-sm-offset-19{margin-left:79.1666666667%}.ep-col-sm-pull-19{position:relative;right:79.1666666667%}.ep-col-sm-push-19{position:relative;left:79.1666666667%}.ep-col-sm-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-sm-offset-20{margin-left:83.3333333333%}.ep-col-sm-pull-20{position:relative;right:83.3333333333%}.ep-col-sm-push-20{position:relative;left:83.3333333333%}.ep-col-sm-21{display:block;max-width:87.5%;flex:0 0 87.5%}.ep-col-sm-offset-21{margin-left:87.5%}.ep-col-sm-pull-21{position:relative;right:87.5%}.ep-col-sm-push-21{position:relative;left:87.5%}.ep-col-sm-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-sm-offset-22{margin-left:91.6666666667%}.ep-col-sm-pull-22{position:relative;right:91.6666666667%}.ep-col-sm-push-22{position:relative;left:91.6666666667%}.ep-col-sm-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-sm-offset-23{margin-left:95.8333333333%}.ep-col-sm-pull-23{position:relative;right:95.8333333333%}.ep-col-sm-push-23{position:relative;left:95.8333333333%}.ep-col-sm-24{display:block;max-width:100%;flex:0 0 100%}.ep-col-sm-offset-24{margin-left:100%}.ep-col-sm-pull-24{position:relative;right:100%}.ep-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width: 992px){.ep-col-md-0,.ep-col-md-0.is-guttered{display:none}.ep-col-md-0{max-width:0%;flex:0 0 0%}.ep-col-md-offset-0{margin-left:0%}.ep-col-md-pull-0{position:relative;right:0%}.ep-col-md-push-0{position:relative;left:0%}.ep-col-md-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-md-offset-1{margin-left:4.1666666667%}.ep-col-md-pull-1{position:relative;right:4.1666666667%}.ep-col-md-push-1{position:relative;left:4.1666666667%}.ep-col-md-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-md-offset-2{margin-left:8.3333333333%}.ep-col-md-pull-2{position:relative;right:8.3333333333%}.ep-col-md-push-2{position:relative;left:8.3333333333%}.ep-col-md-3{display:block;max-width:12.5%;flex:0 0 12.5%}.ep-col-md-offset-3{margin-left:12.5%}.ep-col-md-pull-3{position:relative;right:12.5%}.ep-col-md-push-3{position:relative;left:12.5%}.ep-col-md-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-md-offset-4{margin-left:16.6666666667%}.ep-col-md-pull-4{position:relative;right:16.6666666667%}.ep-col-md-push-4{position:relative;left:16.6666666667%}.ep-col-md-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-md-offset-5{margin-left:20.8333333333%}.ep-col-md-pull-5{position:relative;right:20.8333333333%}.ep-col-md-push-5{position:relative;left:20.8333333333%}.ep-col-md-6{display:block;max-width:25%;flex:0 0 25%}.ep-col-md-offset-6{margin-left:25%}.ep-col-md-pull-6{position:relative;right:25%}.ep-col-md-push-6{position:relative;left:25%}.ep-col-md-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-md-offset-7{margin-left:29.1666666667%}.ep-col-md-pull-7{position:relative;right:29.1666666667%}.ep-col-md-push-7{position:relative;left:29.1666666667%}.ep-col-md-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-md-offset-8{margin-left:33.3333333333%}.ep-col-md-pull-8{position:relative;right:33.3333333333%}.ep-col-md-push-8{position:relative;left:33.3333333333%}.ep-col-md-9{display:block;max-width:37.5%;flex:0 0 37.5%}.ep-col-md-offset-9{margin-left:37.5%}.ep-col-md-pull-9{position:relative;right:37.5%}.ep-col-md-push-9{position:relative;left:37.5%}.ep-col-md-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-md-offset-10{margin-left:41.6666666667%}.ep-col-md-pull-10{position:relative;right:41.6666666667%}.ep-col-md-push-10{position:relative;left:41.6666666667%}.ep-col-md-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-md-offset-11{margin-left:45.8333333333%}.ep-col-md-pull-11{position:relative;right:45.8333333333%}.ep-col-md-push-11{position:relative;left:45.8333333333%}.ep-col-md-12{display:block;max-width:50%;flex:0 0 50%}.ep-col-md-offset-12{margin-left:50%}.ep-col-md-pull-12{position:relative;right:50%}.ep-col-md-push-12{position:relative;left:50%}.ep-col-md-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-md-offset-13{margin-left:54.1666666667%}.ep-col-md-pull-13{position:relative;right:54.1666666667%}.ep-col-md-push-13{position:relative;left:54.1666666667%}.ep-col-md-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-md-offset-14{margin-left:58.3333333333%}.ep-col-md-pull-14{position:relative;right:58.3333333333%}.ep-col-md-push-14{position:relative;left:58.3333333333%}.ep-col-md-15{display:block;max-width:62.5%;flex:0 0 62.5%}.ep-col-md-offset-15{margin-left:62.5%}.ep-col-md-pull-15{position:relative;right:62.5%}.ep-col-md-push-15{position:relative;left:62.5%}.ep-col-md-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-md-offset-16{margin-left:66.6666666667%}.ep-col-md-pull-16{position:relative;right:66.6666666667%}.ep-col-md-push-16{position:relative;left:66.6666666667%}.ep-col-md-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-md-offset-17{margin-left:70.8333333333%}.ep-col-md-pull-17{position:relative;right:70.8333333333%}.ep-col-md-push-17{position:relative;left:70.8333333333%}.ep-col-md-18{display:block;max-width:75%;flex:0 0 75%}.ep-col-md-offset-18{margin-left:75%}.ep-col-md-pull-18{position:relative;right:75%}.ep-col-md-push-18{position:relative;left:75%}.ep-col-md-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-md-offset-19{margin-left:79.1666666667%}.ep-col-md-pull-19{position:relative;right:79.1666666667%}.ep-col-md-push-19{position:relative;left:79.1666666667%}.ep-col-md-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-md-offset-20{margin-left:83.3333333333%}.ep-col-md-pull-20{position:relative;right:83.3333333333%}.ep-col-md-push-20{position:relative;left:83.3333333333%}.ep-col-md-21{display:block;max-width:87.5%;flex:0 0 87.5%}.ep-col-md-offset-21{margin-left:87.5%}.ep-col-md-pull-21{position:relative;right:87.5%}.ep-col-md-push-21{position:relative;left:87.5%}.ep-col-md-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-md-offset-22{margin-left:91.6666666667%}.ep-col-md-pull-22{position:relative;right:91.6666666667%}.ep-col-md-push-22{position:relative;left:91.6666666667%}.ep-col-md-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-md-offset-23{margin-left:95.8333333333%}.ep-col-md-pull-23{position:relative;right:95.8333333333%}.ep-col-md-push-23{position:relative;left:95.8333333333%}.ep-col-md-24{display:block;max-width:100%;flex:0 0 100%}.ep-col-md-offset-24{margin-left:100%}.ep-col-md-pull-24{position:relative;right:100%}.ep-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width: 1200px){.ep-col-lg-0,.ep-col-lg-0.is-guttered{display:none}.ep-col-lg-0{max-width:0%;flex:0 0 0%}.ep-col-lg-offset-0{margin-left:0%}.ep-col-lg-pull-0{position:relative;right:0%}.ep-col-lg-push-0{position:relative;left:0%}.ep-col-lg-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-lg-offset-1{margin-left:4.1666666667%}.ep-col-lg-pull-1{position:relative;right:4.1666666667%}.ep-col-lg-push-1{position:relative;left:4.1666666667%}.ep-col-lg-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-lg-offset-2{margin-left:8.3333333333%}.ep-col-lg-pull-2{position:relative;right:8.3333333333%}.ep-col-lg-push-2{position:relative;left:8.3333333333%}.ep-col-lg-3{display:block;max-width:12.5%;flex:0 0 12.5%}.ep-col-lg-offset-3{margin-left:12.5%}.ep-col-lg-pull-3{position:relative;right:12.5%}.ep-col-lg-push-3{position:relative;left:12.5%}.ep-col-lg-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-lg-offset-4{margin-left:16.6666666667%}.ep-col-lg-pull-4{position:relative;right:16.6666666667%}.ep-col-lg-push-4{position:relative;left:16.6666666667%}.ep-col-lg-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-lg-offset-5{margin-left:20.8333333333%}.ep-col-lg-pull-5{position:relative;right:20.8333333333%}.ep-col-lg-push-5{position:relative;left:20.8333333333%}.ep-col-lg-6{display:block;max-width:25%;flex:0 0 25%}.ep-col-lg-offset-6{margin-left:25%}.ep-col-lg-pull-6{position:relative;right:25%}.ep-col-lg-push-6{position:relative;left:25%}.ep-col-lg-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-lg-offset-7{margin-left:29.1666666667%}.ep-col-lg-pull-7{position:relative;right:29.1666666667%}.ep-col-lg-push-7{position:relative;left:29.1666666667%}.ep-col-lg-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-lg-offset-8{margin-left:33.3333333333%}.ep-col-lg-pull-8{position:relative;right:33.3333333333%}.ep-col-lg-push-8{position:relative;left:33.3333333333%}.ep-col-lg-9{display:block;max-width:37.5%;flex:0 0 37.5%}.ep-col-lg-offset-9{margin-left:37.5%}.ep-col-lg-pull-9{position:relative;right:37.5%}.ep-col-lg-push-9{position:relative;left:37.5%}.ep-col-lg-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-lg-offset-10{margin-left:41.6666666667%}.ep-col-lg-pull-10{position:relative;right:41.6666666667%}.ep-col-lg-push-10{position:relative;left:41.6666666667%}.ep-col-lg-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-lg-offset-11{margin-left:45.8333333333%}.ep-col-lg-pull-11{position:relative;right:45.8333333333%}.ep-col-lg-push-11{position:relative;left:45.8333333333%}.ep-col-lg-12{display:block;max-width:50%;flex:0 0 50%}.ep-col-lg-offset-12{margin-left:50%}.ep-col-lg-pull-12{position:relative;right:50%}.ep-col-lg-push-12{position:relative;left:50%}.ep-col-lg-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-lg-offset-13{margin-left:54.1666666667%}.ep-col-lg-pull-13{position:relative;right:54.1666666667%}.ep-col-lg-push-13{position:relative;left:54.1666666667%}.ep-col-lg-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-lg-offset-14{margin-left:58.3333333333%}.ep-col-lg-pull-14{position:relative;right:58.3333333333%}.ep-col-lg-push-14{position:relative;left:58.3333333333%}.ep-col-lg-15{display:block;max-width:62.5%;flex:0 0 62.5%}.ep-col-lg-offset-15{margin-left:62.5%}.ep-col-lg-pull-15{position:relative;right:62.5%}.ep-col-lg-push-15{position:relative;left:62.5%}.ep-col-lg-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-lg-offset-16{margin-left:66.6666666667%}.ep-col-lg-pull-16{position:relative;right:66.6666666667%}.ep-col-lg-push-16{position:relative;left:66.6666666667%}.ep-col-lg-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-lg-offset-17{margin-left:70.8333333333%}.ep-col-lg-pull-17{position:relative;right:70.8333333333%}.ep-col-lg-push-17{position:relative;left:70.8333333333%}.ep-col-lg-18{display:block;max-width:75%;flex:0 0 75%}.ep-col-lg-offset-18{margin-left:75%}.ep-col-lg-pull-18{position:relative;right:75%}.ep-col-lg-push-18{position:relative;left:75%}.ep-col-lg-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-lg-offset-19{margin-left:79.1666666667%}.ep-col-lg-pull-19{position:relative;right:79.1666666667%}.ep-col-lg-push-19{position:relative;left:79.1666666667%}.ep-col-lg-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-lg-offset-20{margin-left:83.3333333333%}.ep-col-lg-pull-20{position:relative;right:83.3333333333%}.ep-col-lg-push-20{position:relative;left:83.3333333333%}.ep-col-lg-21{display:block;max-width:87.5%;flex:0 0 87.5%}.ep-col-lg-offset-21{margin-left:87.5%}.ep-col-lg-pull-21{position:relative;right:87.5%}.ep-col-lg-push-21{position:relative;left:87.5%}.ep-col-lg-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-lg-offset-22{margin-left:91.6666666667%}.ep-col-lg-pull-22{position:relative;right:91.6666666667%}.ep-col-lg-push-22{position:relative;left:91.6666666667%}.ep-col-lg-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-lg-offset-23{margin-left:95.8333333333%}.ep-col-lg-pull-23{position:relative;right:95.8333333333%}.ep-col-lg-push-23{position:relative;left:95.8333333333%}.ep-col-lg-24{display:block;max-width:100%;flex:0 0 100%}.ep-col-lg-offset-24{margin-left:100%}.ep-col-lg-pull-24{position:relative;right:100%}.ep-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width: 1920px){.ep-col-xl-0,.ep-col-xl-0.is-guttered{display:none}.ep-col-xl-0{max-width:0%;flex:0 0 0%}.ep-col-xl-offset-0{margin-left:0%}.ep-col-xl-pull-0{position:relative;right:0%}.ep-col-xl-push-0{position:relative;left:0%}.ep-col-xl-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.ep-col-xl-offset-1{margin-left:4.1666666667%}.ep-col-xl-pull-1{position:relative;right:4.1666666667%}.ep-col-xl-push-1{position:relative;left:4.1666666667%}.ep-col-xl-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.ep-col-xl-offset-2{margin-left:8.3333333333%}.ep-col-xl-pull-2{position:relative;right:8.3333333333%}.ep-col-xl-push-2{position:relative;left:8.3333333333%}.ep-col-xl-3{display:block;max-width:12.5%;flex:0 0 12.5%}.ep-col-xl-offset-3{margin-left:12.5%}.ep-col-xl-pull-3{position:relative;right:12.5%}.ep-col-xl-push-3{position:relative;left:12.5%}.ep-col-xl-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.ep-col-xl-offset-4{margin-left:16.6666666667%}.ep-col-xl-pull-4{position:relative;right:16.6666666667%}.ep-col-xl-push-4{position:relative;left:16.6666666667%}.ep-col-xl-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.ep-col-xl-offset-5{margin-left:20.8333333333%}.ep-col-xl-pull-5{position:relative;right:20.8333333333%}.ep-col-xl-push-5{position:relative;left:20.8333333333%}.ep-col-xl-6{display:block;max-width:25%;flex:0 0 25%}.ep-col-xl-offset-6{margin-left:25%}.ep-col-xl-pull-6{position:relative;right:25%}.ep-col-xl-push-6{position:relative;left:25%}.ep-col-xl-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.ep-col-xl-offset-7{margin-left:29.1666666667%}.ep-col-xl-pull-7{position:relative;right:29.1666666667%}.ep-col-xl-push-7{position:relative;left:29.1666666667%}.ep-col-xl-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.ep-col-xl-offset-8{margin-left:33.3333333333%}.ep-col-xl-pull-8{position:relative;right:33.3333333333%}.ep-col-xl-push-8{position:relative;left:33.3333333333%}.ep-col-xl-9{display:block;max-width:37.5%;flex:0 0 37.5%}.ep-col-xl-offset-9{margin-left:37.5%}.ep-col-xl-pull-9{position:relative;right:37.5%}.ep-col-xl-push-9{position:relative;left:37.5%}.ep-col-xl-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.ep-col-xl-offset-10{margin-left:41.6666666667%}.ep-col-xl-pull-10{position:relative;right:41.6666666667%}.ep-col-xl-push-10{position:relative;left:41.6666666667%}.ep-col-xl-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.ep-col-xl-offset-11{margin-left:45.8333333333%}.ep-col-xl-pull-11{position:relative;right:45.8333333333%}.ep-col-xl-push-11{position:relative;left:45.8333333333%}.ep-col-xl-12{display:block;max-width:50%;flex:0 0 50%}.ep-col-xl-offset-12{margin-left:50%}.ep-col-xl-pull-12{position:relative;right:50%}.ep-col-xl-push-12{position:relative;left:50%}.ep-col-xl-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.ep-col-xl-offset-13{margin-left:54.1666666667%}.ep-col-xl-pull-13{position:relative;right:54.1666666667%}.ep-col-xl-push-13{position:relative;left:54.1666666667%}.ep-col-xl-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.ep-col-xl-offset-14{margin-left:58.3333333333%}.ep-col-xl-pull-14{position:relative;right:58.3333333333%}.ep-col-xl-push-14{position:relative;left:58.3333333333%}.ep-col-xl-15{display:block;max-width:62.5%;flex:0 0 62.5%}.ep-col-xl-offset-15{margin-left:62.5%}.ep-col-xl-pull-15{position:relative;right:62.5%}.ep-col-xl-push-15{position:relative;left:62.5%}.ep-col-xl-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.ep-col-xl-offset-16{margin-left:66.6666666667%}.ep-col-xl-pull-16{position:relative;right:66.6666666667%}.ep-col-xl-push-16{position:relative;left:66.6666666667%}.ep-col-xl-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.ep-col-xl-offset-17{margin-left:70.8333333333%}.ep-col-xl-pull-17{position:relative;right:70.8333333333%}.ep-col-xl-push-17{position:relative;left:70.8333333333%}.ep-col-xl-18{display:block;max-width:75%;flex:0 0 75%}.ep-col-xl-offset-18{margin-left:75%}.ep-col-xl-pull-18{position:relative;right:75%}.ep-col-xl-push-18{position:relative;left:75%}.ep-col-xl-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.ep-col-xl-offset-19{margin-left:79.1666666667%}.ep-col-xl-pull-19{position:relative;right:79.1666666667%}.ep-col-xl-push-19{position:relative;left:79.1666666667%}.ep-col-xl-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.ep-col-xl-offset-20{margin-left:83.3333333333%}.ep-col-xl-pull-20{position:relative;right:83.3333333333%}.ep-col-xl-push-20{position:relative;left:83.3333333333%}.ep-col-xl-21{display:block;max-width:87.5%;flex:0 0 87.5%}.ep-col-xl-offset-21{margin-left:87.5%}.ep-col-xl-pull-21{position:relative;right:87.5%}.ep-col-xl-push-21{position:relative;left:87.5%}.ep-col-xl-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.ep-col-xl-offset-22{margin-left:91.6666666667%}.ep-col-xl-pull-22{position:relative;right:91.6666666667%}.ep-col-xl-push-22{position:relative;left:91.6666666667%}.ep-col-xl-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.ep-col-xl-offset-23{margin-left:95.8333333333%}.ep-col-xl-pull-23{position:relative;right:95.8333333333%}.ep-col-xl-push-23{position:relative;left:95.8333333333%}.ep-col-xl-24{display:block;max-width:100%;flex:0 0 100%}.ep-col-xl-offset-24{margin-left:100%}.ep-col-xl-pull-24{position:relative;right:100%}.ep-col-xl-push-24{position:relative;left:100%}}.ep-textarea{--ep-input-text-color: var(--ep-text-color-regular);--ep-input-border: var(--ep-border);--ep-input-hover-border: var(--ep-border-color-hover);--ep-input-focus-border: var(--ep-color-primary);--ep-input-transparent-border: 0 0 0 1px transparent inset;--ep-input-border-color: var(--ep-border-color);--ep-input-border-radius: var(--ep-border-radius-base);--ep-input-bg-color: var(--ep-fill-color-blank);--ep-input-icon-color: var(--ep-text-color-placeholder);--ep-input-placeholder-color: var(--ep-text-color-placeholder);--ep-input-hover-border-color: var(--ep-border-color-hover);--ep-input-clear-hover-color: var(--ep-text-color-secondary);--ep-input-focus-border-color: var(--ep-color-primary)}.ep-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--ep-font-size-base)}.ep-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--ep-input-text-color, var(--ep-text-color-regular));background-color:var(--ep-input-bg-color, var(--ep-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--ep-input-border-color, var(--ep-border-color)) inset;border-radius:var(--ep-input-border-radius, var(--ep-border-radius-base));transition:var(--ep-transition-box-shadow);border:none}.ep-textarea__inner::placeholder{color:var(--ep-input-placeholder-color, var(--ep-text-color-placeholder))}.ep-textarea__inner:hover{box-shadow:0 0 0 1px var(--ep-input-hover-border-color) inset}.ep-textarea__inner:focus{outline:none;box-shadow:0 0 0 1px var(--ep-input-focus-border-color) inset}.ep-textarea .ep-input__count{color:var(--ep-color-info);background:var(--ep-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.ep-textarea.is-disabled .ep-textarea__inner{background-color:var(--ep-disabled-bg-color);border-color:var(--ep-disabled-border-color);color:var(--ep-disabled-text-color);cursor:not-allowed}.ep-textarea.is-disabled .ep-textarea__inner::placeholder{color:var(--ep-text-color-placeholder)}.ep-textarea.is-exceed .ep-textarea__inner{box-shadow:0 0 0 1px var(--ep-color-danger) inset}.ep-textarea.is-exceed .ep-input__count{color:var(--ep-color-danger)}.ep-input{--ep-input-text-color: var(--ep-text-color-regular);--ep-input-border: var(--ep-border);--ep-input-hover-border: var(--ep-border-color-hover);--ep-input-focus-border: var(--ep-color-primary);--ep-input-transparent-border: 0 0 0 1px transparent inset;--ep-input-border-color: var(--ep-border-color);--ep-input-border-radius: var(--ep-border-radius-base);--ep-input-bg-color: var(--ep-fill-color-blank);--ep-input-icon-color: var(--ep-text-color-placeholder);--ep-input-placeholder-color: var(--ep-text-color-placeholder);--ep-input-hover-border-color: var(--ep-border-color-hover);--ep-input-clear-hover-color: var(--ep-text-color-secondary);--ep-input-focus-border-color: var(--ep-color-primary)}.ep-input{--ep-input-height: var(--ep-component-size);position:relative;font-size:var(--ep-font-size-base);display:inline-flex;width:100%;line-height:var(--ep-input-height);box-sizing:border-box;vertical-align:middle}.ep-input::-webkit-scrollbar{z-index:11;width:6px}.ep-input::-webkit-scrollbar:horizontal{height:6px}.ep-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--ep-text-color-disabled)}.ep-input::-webkit-scrollbar-corner{background:var(--ep-fill-color-blank)}.ep-input::-webkit-scrollbar-track{background:var(--ep-fill-color-blank)}.ep-input::-webkit-scrollbar-track-piece{background:var(--ep-fill-color-blank);width:6px}.ep-input .ep-input__clear,.ep-input .ep-input__password{color:var(--ep-input-icon-color);font-size:14px;cursor:pointer}.ep-input .ep-input__clear:hover,.ep-input .ep-input__password:hover{color:var(--ep-input-clear-hover-color)}.ep-input .ep-input__count{height:100%;display:inline-flex;align-items:center;color:var(--ep-color-info);font-size:12px}.ep-input .ep-input__count .ep-input__count-inner{background:var(--ep-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.ep-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--ep-input-bg-color, var(--ep-fill-color-blank));background-image:none;border-radius:var(--ep-input-border-radius, var(--ep-border-radius-base));transition:var(--ep-transition-box-shadow);transform:translateZ(0);box-shadow:0 0 0 1px var(--ep-input-border-color, var(--ep-border-color)) inset}.ep-input__wrapper:hover{box-shadow:0 0 0 1px var(--ep-input-hover-border-color) inset}.ep-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--ep-input-focus-border-color) inset}.ep-input__inner{--ep-input-inner-height: calc(var(--ep-input-height, 32px) - 2px);width:100%;flex-grow:1;-webkit-appearance:none;color:var(--ep-input-text-color, var(--ep-text-color-regular));font-size:inherit;height:var(--ep-input-inner-height);line-height:var(--ep-input-inner-height);padding:0;outline:none;border:none;background:none;box-sizing:border-box}.ep-input__inner:focus{outline:none}.ep-input__inner::placeholder{color:var(--ep-input-placeholder-color, var(--ep-text-color-placeholder))}.ep-input__inner[type=password]::-ms-reveal{display:none}.ep-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--ep-input-icon-color, var(--ep-text-color-placeholder));transition:all var(--ep-transition-duration);pointer-events:none}.ep-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.ep-input__prefix-inner>:last-child{margin-right:8px}.ep-input__prefix-inner>:first-child,.ep-input__prefix-inner>:first-child.ep-input__icon{margin-left:0}.ep-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--ep-input-icon-color, var(--ep-text-color-placeholder));transition:all var(--ep-transition-duration);pointer-events:none}.ep-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.ep-input__suffix-inner>:first-child{margin-left:8px}.ep-input .ep-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--ep-transition-duration);margin-left:8px}.ep-input__validateIcon{pointer-events:none}.ep-input.is-active .ep-input__wrapper{box-shadow:0 0 0 1px var(--ep-input-focus-color, ) inset}.ep-input.is-disabled{cursor:not-allowed}.ep-input.is-disabled .ep-input__wrapper{background-color:var(--ep-disabled-bg-color);box-shadow:0 0 0 1px var(--ep-disabled-border-color) inset}.ep-input.is-disabled .ep-input__inner{color:var(--ep-disabled-text-color);-webkit-text-fill-color:var(--ep-disabled-text-color);cursor:not-allowed}.ep-input.is-disabled .ep-input__inner::placeholder{color:var(--ep-text-color-placeholder)}.ep-input.is-disabled .ep-input__icon{cursor:not-allowed}.ep-input.is-exceed .ep-input__wrapper{box-shadow:0 0 0 1px var(--ep-color-danger) inset}.ep-input.is-exceed .ep-input__suffix .ep-input__count{color:var(--ep-color-danger)}.ep-input--large{--ep-input-height: var(--ep-component-size-large);font-size:14px}.ep-input--large .ep-input__wrapper{padding:1px 15px}.ep-input--large .ep-input__inner{--ep-input-inner-height: calc(var(--ep-input-height, 40px) - 2px)}.ep-input--small{--ep-input-height: var(--ep-component-size-small);font-size:12px}.ep-input--small .ep-input__wrapper{padding:1px 7px}.ep-input--small .ep-input__inner{--ep-input-inner-height: calc(var(--ep-input-height, 24px) - 2px)}.ep-input-group{display:inline-flex;width:100%;align-items:stretch}.ep-input-group__append,.ep-input-group__prepend{background-color:var(--ep-fill-color-light);color:var(--ep-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--ep-input-border-radius);padding:0 20px;white-space:nowrap}.ep-input-group__append:focus,.ep-input-group__prepend:focus{outline:none}.ep-input-group__append .ep-select,.ep-input-group__append .ep-button,.ep-input-group__prepend .ep-select,.ep-input-group__prepend .ep-button{display:inline-block;margin:0 -20px}.ep-input-group__append button.ep-button,.ep-input-group__append button.ep-button:hover,.ep-input-group__append div.ep-select .ep-input__wrapper,.ep-input-group__append div.ep-select:hover .ep-input__wrapper,.ep-input-group__prepend button.ep-button,.ep-input-group__prepend button.ep-button:hover,.ep-input-group__prepend div.ep-select .ep-input__wrapper,.ep-input-group__prepend div.ep-select:hover .ep-input__wrapper{border-color:transparent;background-color:transparent;color:inherit}.ep-input-group__append .ep-button,.ep-input-group__append .ep-input,.ep-input-group__prepend .ep-button,.ep-input-group__prepend .ep-input{font-size:inherit}.ep-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--ep-input-border-color) inset,0 1px 0 0 var(--ep-input-border-color) inset,0 -1px 0 0 var(--ep-input-border-color) inset}.ep-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--ep-input-border-color) inset,0 -1px 0 0 var(--ep-input-border-color) inset,-1px 0 0 0 var(--ep-input-border-color) inset}.ep-input-group--prepend>.ep-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.ep-input-group--prepend .ep-input-group__prepend .ep-select .ep-input .ep-input__inner{box-shadow:none!important}.ep-input-group--prepend .ep-input-group__prepend .ep-select .ep-input .ep-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--ep-input-border-color) inset,0 1px 0 0 var(--ep-input-border-color) inset,0 -1px 0 0 var(--ep-input-border-color) inset}.ep-input-group--prepend .ep-input-group__prepend .ep-select .ep-input.is-focus .ep-input__inner{box-shadow:none!important}.ep-input-group--prepend .ep-input-group__prepend .ep-select .ep-input.is-focus .ep-input__wrapper{box-shadow:1px 0 0 0 var(--ep-input-focus-border-color) inset,1px 0 0 0 var(--ep-input-focus-border-color),0 1px 0 0 var(--ep-input-focus-border-color) inset,0 -1px 0 0 var(--ep-input-focus-border-color) inset!important;z-index:2}.ep-input-group--prepend .ep-input-group__prepend .ep-select .ep-input.is-focus .ep-input__wrapper:focus{outline:none;z-index:2;box-shadow:1px 0 0 0 var(--ep-input-focus-border-color) inset,1px 0 0 0 var(--ep-input-focus-border-color),0 1px 0 0 var(--ep-input-focus-border-color) inset,0 -1px 0 0 var(--ep-input-focus-border-color) inset!important}.ep-input-group--prepend .ep-input-group__prepend .ep-select:hover .ep-input__inner{box-shadow:none!important}.ep-input-group--prepend .ep-input-group__prepend .ep-select:hover .ep-input__wrapper{z-index:1;box-shadow:1px 0 0 0 var(--ep-input-hover-border-color) inset,1px 0 0 0 var(--ep-input-hover-border-color),0 1px 0 0 var(--ep-input-hover-border-color) inset,0 -1px 0 0 var(--ep-input-hover-border-color) inset!important}.ep-input-group--append>.ep-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.ep-input-group--append .ep-input-group__append .ep-select .ep-input .ep-input__inner{box-shadow:none!important}.ep-input-group--append .ep-input-group__append .ep-select .ep-input .ep-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--ep-input-border-color) inset,0 -1px 0 0 var(--ep-input-border-color) inset,-1px 0 0 0 var(--ep-input-border-color) inset}.ep-input-group--append .ep-input-group__append .ep-select .ep-input.is-focus .ep-input__inner{box-shadow:none!important}.ep-input-group--append .ep-input-group__append .ep-select .ep-input.is-focus .ep-input__wrapper{z-index:2;box-shadow:-1px 0 0 0 var(--ep-input-focus-border-color),-1px 0 0 0 var(--ep-input-focus-border-color) inset,0 1px 0 0 var(--ep-input-focus-border-color) inset,0 -1px 0 0 var(--ep-input-focus-border-color) inset!important}.ep-input-group--append .ep-input-group__append .ep-select:hover .ep-input__inner{box-shadow:none!important}.ep-input-group--append .ep-input-group__append .ep-select:hover .ep-input__wrapper{z-index:1;box-shadow:-1px 0 0 0 var(--ep-input-hover-border-color),-1px 0 0 0 var(--ep-input-hover-border-color) inset,0 1px 0 0 var(--ep-input-hover-border-color) inset,0 -1px 0 0 var(--ep-input-hover-border-color) inset!important}.ep-tag{--ep-tag-font-size: 12px;--ep-tag-border-radius: 4px;--ep-tag-border-radius-rounded: 9999px}.ep-tag{--ep-tag-bg-color: var(--ep-color-primary-light-9);--ep-tag-border-color: var(--ep-color-primary-light-8);--ep-tag-hover-color: var(--ep-color-primary);--ep-tag-text-color: var(--ep-color-primary);background-color:var(--ep-tag-bg-color);border-color:var(--ep-tag-border-color);color:var(--ep-tag-text-color);display:inline-flex;justify-content:center;align-items:center;height:24px;padding:0 9px;font-size:var(--ep-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--ep-tag-border-radius);box-sizing:border-box;white-space:nowrap;--ep-icon-size: 14px}.ep-tag.ep-tag--primary{--ep-tag-bg-color: var(--ep-color-primary-light-9);--ep-tag-border-color: var(--ep-color-primary-light-8);--ep-tag-hover-color: var(--ep-color-primary)}.ep-tag.ep-tag--success{--ep-tag-bg-color: var(--ep-color-success-light-9);--ep-tag-border-color: var(--ep-color-success-light-8);--ep-tag-hover-color: var(--ep-color-success)}.ep-tag.ep-tag--warning{--ep-tag-bg-color: var(--ep-color-warning-light-9);--ep-tag-border-color: var(--ep-color-warning-light-8);--ep-tag-hover-color: var(--ep-color-warning)}.ep-tag.ep-tag--danger{--ep-tag-bg-color: var(--ep-color-danger-light-9);--ep-tag-border-color: var(--ep-color-danger-light-8);--ep-tag-hover-color: var(--ep-color-danger)}.ep-tag.ep-tag--error{--ep-tag-bg-color: var(--ep-color-error-light-9);--ep-tag-border-color: var(--ep-color-error-light-8);--ep-tag-hover-color: var(--ep-color-error)}.ep-tag.ep-tag--info{--ep-tag-bg-color: var(--ep-color-info-light-9);--ep-tag-border-color: var(--ep-color-info-light-8);--ep-tag-hover-color: var(--ep-color-info)}.ep-tag.ep-tag--primary{--ep-tag-text-color: var(--ep-color-primary)}.ep-tag.ep-tag--success{--ep-tag-text-color: var(--ep-color-success)}.ep-tag.ep-tag--warning{--ep-tag-text-color: var(--ep-color-warning)}.ep-tag.ep-tag--danger{--ep-tag-text-color: var(--ep-color-danger)}.ep-tag.ep-tag--error{--ep-tag-text-color: var(--ep-color-error)}.ep-tag.ep-tag--info{--ep-tag-text-color: var(--ep-color-info)}.ep-tag.is-hit{border-color:var(--ep-color-primary)}.ep-tag.is-round{border-radius:var(--ep-tag-border-radius-rounded)}.ep-tag .ep-tag__close{color:var(--ep-tag-text-color)}.ep-tag .ep-tag__close:hover{color:var(--ep-color-white);background-color:var(--ep-tag-hover-color)}.ep-tag .ep-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--ep-icon-size) - 2px);height:var(--ep-icon-size);width:var(--ep-icon-size)}.ep-tag .ep-tag__close{margin-left:6px}.ep-tag--dark{--ep-tag-bg-color: var(--ep-color-primary);--ep-tag-border-color: var(--ep-color-primary);--ep-tag-hover-color: var(--ep-color-primary-light-3);--ep-tag-text-color: var(--ep-color-white)}.ep-tag--dark.ep-tag--primary{--ep-tag-bg-color: var(--ep-color-primary);--ep-tag-border-color: var(--ep-color-primary);--ep-tag-hover-color: var(--ep-color-primary-light-3)}.ep-tag--dark.ep-tag--success{--ep-tag-bg-color: var(--ep-color-success);--ep-tag-border-color: var(--ep-color-success);--ep-tag-hover-color: var(--ep-color-success-light-3)}.ep-tag--dark.ep-tag--warning{--ep-tag-bg-color: var(--ep-color-warning);--ep-tag-border-color: var(--ep-color-warning);--ep-tag-hover-color: var(--ep-color-warning-light-3)}.ep-tag--dark.ep-tag--danger{--ep-tag-bg-color: var(--ep-color-danger);--ep-tag-border-color: var(--ep-color-danger);--ep-tag-hover-color: var(--ep-color-danger-light-3)}.ep-tag--dark.ep-tag--error{--ep-tag-bg-color: var(--ep-color-error);--ep-tag-border-color: var(--ep-color-error);--ep-tag-hover-color: var(--ep-color-error-light-3)}.ep-tag--dark.ep-tag--info{--ep-tag-bg-color: var(--ep-color-info);--ep-tag-border-color: var(--ep-color-info);--ep-tag-hover-color: var(--ep-color-info-light-3)}.ep-tag--dark.ep-tag--primary,.ep-tag--dark.ep-tag--success,.ep-tag--dark.ep-tag--warning,.ep-tag--dark.ep-tag--danger,.ep-tag--dark.ep-tag--error,.ep-tag--dark.ep-tag--info{--ep-tag-text-color: var(--ep-color-white)}.ep-tag--plain{--ep-tag-border-color: var(--ep-color-primary-light-5);--ep-tag-hover-color: var(--ep-color-primary);--ep-tag-bg-color: var(--ep-fill-color-blank)}.ep-tag--plain.ep-tag--primary{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-primary-light-5);--ep-tag-hover-color: var(--ep-color-primary)}.ep-tag--plain.ep-tag--success{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-success-light-5);--ep-tag-hover-color: var(--ep-color-success)}.ep-tag--plain.ep-tag--warning{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-warning-light-5);--ep-tag-hover-color: var(--ep-color-warning)}.ep-tag--plain.ep-tag--danger{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-danger-light-5);--ep-tag-hover-color: var(--ep-color-danger)}.ep-tag--plain.ep-tag--error{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-error-light-5);--ep-tag-hover-color: var(--ep-color-error)}.ep-tag--plain.ep-tag--info{--ep-tag-bg-color: var(--ep-fill-color-blank);--ep-tag-border-color: var(--ep-color-info-light-5);--ep-tag-hover-color: var(--ep-color-info)}.ep-tag.is-closable{padding-right:5px}.ep-tag--large{padding:0 11px;height:32px;--ep-icon-size: 16px}.ep-tag--large .ep-tag__close{margin-left:8px}.ep-tag--large.is-closable{padding-right:7px}.ep-tag--small{padding:0 7px;height:20px;--ep-icon-size: 12px}.ep-tag--small .ep-tag__close{margin-left:4px}.ep-tag--small.is-closable{padding-right:3px}.ep-tag--small .ep-icon-close{transform:scale(.8)}.ep-tag.ep-tag--primary.is-hit{border-color:var(--ep-color-primary)}.ep-tag.ep-tag--success.is-hit{border-color:var(--ep-color-success)}.ep-tag.ep-tag--warning.is-hit{border-color:var(--ep-color-warning)}.ep-tag.ep-tag--danger.is-hit{border-color:var(--ep-color-danger)}.ep-tag.ep-tag--error.is-hit{border-color:var(--ep-color-error)}.ep-tag.ep-tag--info.is-hit{border-color:var(--ep-color-info)}.ep-select-dropdown__item{font-size:var(--ep-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ep-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.ep-select-dropdown__item.is-disabled{color:var(--ep-text-color-placeholder);cursor:not-allowed}.ep-select-dropdown__item.hover,.ep-select-dropdown__item:hover{background-color:var(--ep-fill-color-light)}.ep-select-dropdown__item.selected{color:var(--ep-color-primary);font-weight:700}.ep-select-group{margin:0;padding:0}.ep-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.ep-select-group__wrap:not(:last-of-type){padding-bottom:24px}.ep-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:var(--ep-border-color-light)}.ep-select-group__split-dash{position:absolute;left:20px;right:20px;height:1px;background:var(--ep-border-color-light)}.ep-select-group__title{padding-left:20px;font-size:12px;color:var(--ep-color-info);line-height:30px}.ep-select-group .ep-select-dropdown__item{padding-left:20px}.ep-scrollbar{--ep-scrollbar-opacity: .3;--ep-scrollbar-bg-color: var(--ep-text-color-secondary);--ep-scrollbar-hover-opacity: .5;--ep-scrollbar-hover-bg-color: var(--ep-text-color-secondary)}.ep-scrollbar{overflow:hidden;position:relative;height:100%}.ep-scrollbar__wrap{overflow:auto;height:100%}.ep-scrollbar__wrap--hidden-default{scrollbar-width:none}.ep-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.ep-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--ep-scrollbar-bg-color, var(--ep-text-color-secondary));transition:var(--ep-transition-duration) background-color;opacity:var(--ep-scrollbar-opacity, .3)}.ep-scrollbar__thumb:hover{background-color:var(--ep-scrollbar-hover-bg-color, var(--ep-text-color-secondary));opacity:var(--ep-scrollbar-hover-opacity, .5)}.ep-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.ep-scrollbar__bar.is-vertical{width:6px;top:2px}.ep-scrollbar__bar.is-vertical>div{width:100%}.ep-scrollbar__bar.is-horizontal{height:6px;left:2px}.ep-scrollbar__bar.is-horizontal>div{height:100%}.ep-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.ep-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.ep-scrollbar-fade-enter-from,.ep-scrollbar-fade-leave-active{opacity:0}.ep-popper{--ep-popper-border-radius: var(--ep-popover-border-radius, 4px)}.ep-popper{position:absolute;border-radius:var(--ep-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;word-wrap:break-word;visibility:visible}.ep-popper.is-dark{color:var(--ep-bg-color);background:var(--ep-text-color-primary);border:1px solid var(--ep-text-color-primary)}.ep-popper.is-dark .ep-popper__arrow:before{border:1px solid var(--ep-text-color-primary);background:var(--ep-text-color-primary);right:0}.ep-popper.is-light{background:var(--ep-bg-color-overlay);border:1px solid var(--ep-border-color-light)}.ep-popper.is-light .ep-popper__arrow:before{border:1px solid var(--ep-border-color-light);background:var(--ep-bg-color-overlay);right:0}.ep-popper.is-pure{padding:0}.ep-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.ep-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--ep-text-color-primary);box-sizing:border-box}.ep-popper[data-popper-placement^=top]>.ep-popper__arrow{bottom:-5px}.ep-popper[data-popper-placement^=top]>.ep-popper__arrow:before{border-bottom-right-radius:2px}.ep-popper[data-popper-placement^=bottom]>.ep-popper__arrow{top:-5px}.ep-popper[data-popper-placement^=bottom]>.ep-popper__arrow:before{border-top-left-radius:2px}.ep-popper[data-popper-placement^=left]>.ep-popper__arrow{right:-5px}.ep-popper[data-popper-placement^=left]>.ep-popper__arrow:before{border-top-right-radius:2px}.ep-popper[data-popper-placement^=right]>.ep-popper__arrow{left:-5px}.ep-popper[data-popper-placement^=right]>.ep-popper__arrow:before{border-bottom-left-radius:2px}.ep-popper[data-popper-placement^=top] .ep-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.ep-popper[data-popper-placement^=bottom] .ep-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.ep-popper[data-popper-placement^=left] .ep-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.ep-popper[data-popper-placement^=right] .ep-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.ep-select-dropdown{z-index:calc(var(--ep-index-top) + 1);border-radius:var(--ep-border-radius-base);box-sizing:border-box}.ep-select-dropdown.is-multiple .ep-select-dropdown__item.selected{color:var(--ep-color-primary);background-color:var(--ep-bg-color-overlay)}.ep-select-dropdown.is-multiple .ep-select-dropdown__item.selected.hover{background-color:var(--ep-fill-color-light)}.ep-select-dropdown.is-multiple .ep-select-dropdown__item.selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--ep-color-primary);mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.ep-select-dropdown.is-multiple .ep-select-dropdown__item.selected.is-disabled:after{background-color:var(--ep-text-color-disabled)}.ep-select-dropdown .ep-select-dropdown__option-item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--ep-color-primary);mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.ep-select-dropdown .ep-scrollbar.is-empty .ep-select-dropdown__list{padding:0}.ep-select-dropdown .ep-select-dropdown__item.is-disabled:hover{background-color:unset}.ep-select-dropdown .ep-select-dropdown__item.is-disabled.selected{color:var(--ep-text-color-disabled)}.ep-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--ep-text-color-secondary);font-size:var(--ep-select-font-size)}.ep-select-dropdown__wrap{max-height:274px}.ep-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.ep-select{--ep-select-border-color-hover: var(--ep-border-color-hover);--ep-select-disabled-border: var(--ep-disabled-border-color);--ep-select-font-size: var(--ep-font-size-base);--ep-select-close-hover-color: var(--ep-text-color-secondary);--ep-select-input-color: var(--ep-text-color-placeholder);--ep-select-multiple-input-color: var(--ep-text-color-regular);--ep-select-input-focus-border-color: var(--ep-color-primary);--ep-select-input-font-size: 14px}.ep-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px}.ep-select__popper.ep-popper{background:var(--ep-bg-color-overlay);border:1px solid var(--ep-border-color-light);box-shadow:var(--ep-box-shadow-light)}.ep-select__popper.ep-popper .ep-popper__arrow:before{border:1px solid var(--ep-border-color-light)}.ep-select__popper.ep-popper[data-popper-placement^=top] .ep-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.ep-select__popper.ep-popper[data-popper-placement^=bottom] .ep-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.ep-select__popper.ep-popper[data-popper-placement^=left] .ep-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.ep-select__popper.ep-popper[data-popper-placement^=right] .ep-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.ep-select .ep-select-tags-wrapper.has-prefix{margin-left:6px}.ep-select--large{line-height:40px}.ep-select--large .ep-select-tags-wrapper.has-prefix{margin-left:8px}.ep-select--small{line-height:24px}.ep-select--small .ep-select-tags-wrapper.has-prefix{margin-left:4px}.ep-select .ep-select__tags>span{display:inline-block}.ep-select:hover:not(.ep-select--disabled) .ep-input__wrapper{box-shadow:0 0 0 1px var(--ep-select-border-color-hover) inset}.ep-select .ep-select__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ep-select .ep-input__wrapper{cursor:pointer}.ep-select .ep-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--ep-select-input-focus-border-color) inset!important}.ep-select .ep-input__inner{cursor:pointer}.ep-select .ep-input{display:flex}.ep-select .ep-input .ep-select__caret{color:var(--ep-select-input-color);font-size:var(--ep-select-input-font-size);transition:transform var(--ep-transition-duration);transform:rotate(0);cursor:pointer}.ep-select .ep-input .ep-select__caret.is-reverse{transform:rotate(-180deg)}.ep-select .ep-input .ep-select__caret.is-show-close{font-size:var(--ep-select-font-size);text-align:center;transform:rotate(0);border-radius:var(--ep-border-radius-circle);color:var(--ep-select-input-color);transition:var(--ep-transition-color)}.ep-select .ep-input .ep-select__caret.is-show-close:hover{color:var(--ep-select-close-hover-color)}.ep-select .ep-input .ep-select__caret.ep-icon{position:relative;height:inherit;z-index:2}.ep-select .ep-input.is-disabled .ep-input__wrapper{cursor:not-allowed}.ep-select .ep-input.is-disabled .ep-input__wrapper:hover{box-shadow:0 0 0 1px var(--ep-select-disabled-border) inset}.ep-select .ep-input.is-disabled .ep-input__inner,.ep-select .ep-input.is-disabled .ep-select__caret{cursor:not-allowed}.ep-select .ep-input.is-focus .ep-input__wrapper{box-shadow:0 0 0 1px var(--ep-select-input-focus-border-color) inset!important}.ep-select__input{border:none;outline:none;padding:0;margin-left:15px;color:var(--ep-select-multiple-input-color);font-size:var(--ep-select-font-size);appearance:none;height:28px;background-color:transparent}.ep-select__input.is-disabled{cursor:not-allowed}.ep-select__input--iOS{position:absolute;left:0;top:0;z-index:6}.ep-select__input.is-small{height:14px}.ep-select__close{cursor:pointer;position:absolute;top:8px;z-index:var(--ep-index-top);right:25px;color:var(--ep-select-input-color);line-height:18px;font-size:var(--ep-select-input-font-size)}.ep-select__close:hover{color:var(--ep-select-close-hover-color)}.ep-select__tags{position:absolute;line-height:normal;top:50%;transform:translateY(-50%);white-space:normal;z-index:var(--ep-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.ep-select__tags .ep-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.ep-select__tags .ep-tag:last-child{margin-right:0}.ep-select__tags .ep-tag .ep-icon-close{background-color:var(--ep-text-color-placeholder);right:-7px;top:0;color:#fff}.ep-select__tags .ep-tag .ep-icon-close:hover{background-color:var(--ep-text-color-secondary)}.ep-select__tags .ep-tag .ep-icon-close:before{display:block;transform:translateY(.5px)}.ep-select__tags .ep-tag--info{background-color:var(--ep-fill-color)}.ep-select__tags.is-disabled{cursor:not-allowed}.ep-select__collapse-tags{white-space:normal;z-index:var(--ep-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.ep-select__collapse-tags .ep-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.ep-select__collapse-tags .ep-tag:last-child{margin-right:0}.ep-select__collapse-tags .ep-tag .ep-icon-close{background-color:var(--ep-text-color-placeholder);right:-7px;top:0;color:#fff}.ep-select__collapse-tags .ep-tag .ep-icon-close:hover{background-color:var(--ep-text-color-secondary)}.ep-select__collapse-tags .ep-tag .ep-icon-close:before{display:block;transform:translateY(.5px)}.ep-select__collapse-tags .ep-tag--info{background-color:var(--ep-fill-color)}.ep-select__collapse-tag{line-height:inherit;height:inherit;display:flex}.ball-pulse-sync>div,.ball-pulse>div{width:15px;height:15px;margin:2px;display:inline-block}.ball-pulse-sync>div,.ball-pulse>div,.ball-scale>div{background-color:#fff;border-radius:100%}@-webkit-keyframes scale{0%,80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}}@keyframes scale{0%,80%{-webkit-transform:scale(1);transform:scale(1);opacity:1}45%{-webkit-transform:scale(.1);transform:scale(.1);opacity:.7}}.ball-pulse>div:nth-child(0){-webkit-animation:scale .75s -.36s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.36s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(1){-webkit-animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(2){-webkit-animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div:nth-child(3){-webkit-animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);animation:scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08)}.ball-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ball-pulse-sync{33%{-webkit-transform:translateY(10px);transform:translateY(10px)}66%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes ball-pulse-sync{33%{-webkit-transform:translateY(10px);transform:translateY(10px)}66%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.ball-pulse-sync>div:nth-child(0){-webkit-animation:ball-pulse-sync .6s -.21s infinite ease-in-out;animation:ball-pulse-sync .6s -.21s infinite ease-in-out}.ball-pulse-sync>div:nth-child(1){-webkit-animation:ball-pulse-sync .6s -.14s infinite ease-in-out;animation:ball-pulse-sync .6s -.14s infinite ease-in-out}.ball-pulse-sync>div:nth-child(2){-webkit-animation:ball-pulse-sync .6s -.07s infinite ease-in-out;animation:ball-pulse-sync .6s -.07s infinite ease-in-out}.ball-pulse-sync>div:nth-child(3){-webkit-animation:ball-pulse-sync .6s 0s infinite ease-in-out;animation:ball-pulse-sync .6s 0s infinite ease-in-out}.ball-pulse-sync>div{-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ball-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes ball-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.ball-scale>div{height:60px;width:60px;animation:ball-scale 1s 0s ease-in-out infinite}.ball-scale-random>div,.ball-scale>div{display:inline-block;margin:2px;-webkit-animation:ball-scale 1s 0s ease-in-out infinite}.ball-scale-random{width:37px;height:40px}.ball-scale-random>div{background-color:#fff;border-radius:100%;position:absolute;height:30px;width:30px;animation:ball-scale 1s 0s ease-in-out infinite}.ball-rotate>div,.ball-rotate>div:after,.ball-rotate>div:before{background-color:#fff;width:15px;height:15px;border-radius:100%}.ball-rotate,.ball-rotate>div{position:relative}.ball-scale-random>div:nth-child(1){margin-left:-7px;-webkit-animation:ball-scale 1s .2s ease-in-out infinite;animation:ball-scale 1s .2s ease-in-out infinite}.ball-scale-random>div:nth-child(3){margin-left:-2px;margin-top:9px;-webkit-animation:ball-scale 1s .5s ease-in-out infinite;animation:ball-scale 1s .5s ease-in-out infinite}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ball-rotate>div{margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both}.ball-rotate>div:first-child{-webkit-animation:rotate 1s 0s cubic-bezier(.7,-.13,.22,.86) infinite;animation:rotate 1s 0s cubic-bezier(.7,-.13,.22,.86) infinite}.ball-rotate>div:after,.ball-rotate>div:before{margin:2px;content:"";position:absolute;opacity:.8}.ball-rotate>div:before{top:0;left:-28px}.ball-rotate>div:after{top:0;left:25px}.ball-clip-rotate>div{border-radius:100%;margin:2px;border:2px solid #fff;border-bottom-color:transparent;height:25px;width:25px;background:0 0!important;display:inline-block;-webkit-animation:rotate .75s 0s linear infinite;animation:rotate .75s 0s linear infinite}@keyframes rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes scale{30%{-webkit-transform:scale(.3);transform:scale(.3)}to{-webkit-transform:scale(1);transform:scale(1)}}.ball-clip-rotate-pulse{position:relative;-webkit-transform:translateY(-15px);-ms-transform:translateY(-15px);transform:translateY(-15px)}.ball-clip-rotate-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;top:0;left:0;border-radius:100%}.ball-clip-rotate-pulse>div:first-child{background:#fff;height:16px;width:16px;top:7px;left:-7px;-webkit-animation:scale 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:scale 1s 0s cubic-bezier(.09,.57,.49,.9) infinite}.ball-clip-rotate-pulse>div:last-child{position:absolute;width:30px;height:30px;left:-16px;top:-2px;background:0 0;border:2px solid;border-color:#fff transparent;-webkit-animation:rotate 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:rotate 1s 0s cubic-bezier(.09,.57,.49,.9) infinite;-webkit-animation-duration:1s;animation-duration:1s}@keyframes rotate{0%{-webkit-transform:rotate(0) scale(1);transform:rotate(0) scale(1)}50%{-webkit-transform:rotate(180deg) scale(.6);transform:rotate(180deg) scale(.6)}to{-webkit-transform:rotate(360deg) scale(1);transform:rotate(360deg) scale(1)}}.ball-clip-rotate-multiple{position:relative}.ball-clip-rotate-multiple>div{position:absolute;left:-20px;top:-20px;border:2px solid #fff;border-bottom-color:transparent;border-top-color:transparent;border-radius:100%;height:35px;width:35px;-webkit-animation:rotate 1s 0s ease-in-out infinite;animation:rotate 1s 0s ease-in-out infinite}.ball-clip-rotate-multiple>div:last-child{display:inline-block;top:-10px;left:-10px;width:15px;height:15px;-webkit-animation-duration:.5s;animation-duration:.5s;border-color:#fff transparent;-webkit-animation-direction:reverse;animation-direction:reverse}@-webkit-keyframes ball-scale-ripple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{opacity:0}}@keyframes ball-scale-ripple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{opacity:0}}.ball-scale-ripple>div{height:50px;width:50px;border-radius:100%;border:2px solid #fff;-webkit-animation:ball-scale-ripple 1s 0s infinite cubic-bezier(.21,.53,.56,.8);animation:ball-scale-ripple 1s 0s infinite cubic-bezier(.21,.53,.56,.8)}@-webkit-keyframes ball-scale-ripple-multiple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{opacity:0}}@keyframes ball-scale-ripple-multiple{0%{-webkit-transform:scale(.1);transform:scale(.1);opacity:1}70%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{opacity:0}}.ball-scale-ripple-multiple{position:relative;-webkit-transform:translateY(-25px);-ms-transform:translateY(-25px);transform:translateY(-25px)}.ball-scale-ripple-multiple>div:nth-child(0){-webkit-animation-delay:-.8s;animation-delay:-.8s}.ball-scale-ripple-multiple>div:nth-child(1){-webkit-animation-delay:-.6s;animation-delay:-.6s}.ball-scale-ripple-multiple>div:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.ball-scale-ripple-multiple>div:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}.ball-scale-ripple-multiple>div{position:absolute;top:-2px;left:-26px;width:50px;height:50px;border-radius:100%;border:2px solid #fff;-webkit-animation:ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21,.53,.56,.8);animation:ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21,.53,.56,.8)}@-webkit-keyframes ball-beat{50%{opacity:.2;-webkit-transform:scale(.75);transform:scale(.75)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-beat{50%{opacity:.2;-webkit-transform:scale(.75);transform:scale(.75)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.ball-beat>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px;display:inline-block;-webkit-animation:ball-beat .7s 0s infinite linear;animation:ball-beat .7s 0s infinite linear}.ball-beat>div:nth-child(2n-1){-webkit-animation-delay:-.35s!important;animation-delay:-.35s!important}@-webkit-keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes ball-scale-multiple{0%{-webkit-transform:scale(0);transform:scale(0);opacity:0}5%{opacity:1}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.ball-scale-multiple{position:relative;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}.ball-scale-multiple>div:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.ball-scale-multiple>div:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}.ball-scale-multiple>div{background-color:#fff;border-radius:100%;position:absolute;left:-30px;top:0;opacity:0;margin:0;width:60px;height:60px;-webkit-animation:ball-scale-multiple 1s 0s linear infinite;animation:ball-scale-multiple 1s 0s linear infinite}@-webkit-keyframes ball-triangle-path-1{33%{-webkit-transform:translate(25px,-50px);transform:translate(25px,-50px)}66%{-webkit-transform:translate(50px,0);transform:translate(50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-triangle-path-1{33%{-webkit-transform:translate(25px,-50px);transform:translate(25px,-50px)}66%{-webkit-transform:translate(50px,0);transform:translate(50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ball-triangle-path-2{33%{-webkit-transform:translate(25px,50px);transform:translate(25px,50px)}66%{-webkit-transform:translate(-25px,50px);transform:translate(-25px,50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-triangle-path-2{33%{-webkit-transform:translate(25px,50px);transform:translate(25px,50px)}66%{-webkit-transform:translate(-25px,50px);transform:translate(-25px,50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ball-triangle-path-3{33%{-webkit-transform:translate(-50px,0);transform:translate(-50px)}66%{-webkit-transform:translate(-25px,-50px);transform:translate(-25px,-50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-triangle-path-3{33%{-webkit-transform:translate(-50px,0);transform:translate(-50px)}66%{-webkit-transform:translate(-25px,-50px);transform:translate(-25px,-50px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}.ball-triangle-path{position:relative;-webkit-transform:translate(-29.99px,-37.51px);-ms-transform:translate(-29.99px,-37.51px);transform:translate(-29.99px,-37.51px)}.ball-triangle-path>div:nth-child(1){-webkit-animation-name:ball-triangle-path-1;animation-name:ball-triangle-path-1;-webkit-animation-delay:0;animation-delay:0;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div:nth-child(2){-webkit-animation-name:ball-triangle-path-2;animation-name:ball-triangle-path-2;-webkit-animation-delay:0;animation-delay:0;animation-duration:2s;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div:nth-child(2),.ball-triangle-path>div:nth-child(3){-webkit-animation-duration:2s;-webkit-animation-timing-function:ease-in-out}.ball-triangle-path>div:nth-child(3){-webkit-animation-name:ball-triangle-path-3;animation-name:ball-triangle-path-3;-webkit-animation-delay:0;animation-delay:0;animation-duration:2s;animation-timing-function:ease-in-out;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ball-triangle-path>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:10px;height:10px;border-radius:100%;border:1px solid #fff}.ball-grid-beat>div,.ball-pulse-rise>div{background-color:#fff;height:15px;border-radius:100%;margin:2px}.ball-triangle-path>div:nth-of-type(1){top:50px}.ball-triangle-path>div:nth-of-type(2){left:25px}.ball-triangle-path>div:nth-of-type(3){top:50px;left:50px}@-webkit-keyframes ball-pulse-rise-even{0%{-webkit-transform:scale(1.1);transform:scale(1.1)}25%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}50%{-webkit-transform:scale(.4);transform:scale(.4)}75%{-webkit-transform:translateY(30px);transform:translateY(30px)}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-pulse-rise-even{0%{-webkit-transform:scale(1.1);transform:scale(1.1)}25%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}50%{-webkit-transform:scale(.4);transform:scale(.4)}75%{-webkit-transform:translateY(30px);transform:translateY(30px)}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes ball-pulse-rise-odd{0%{-webkit-transform:scale(.4);transform:scale(.4)}25%{-webkit-transform:translateY(30px);transform:translateY(30px)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(.75);transform:scale(.75)}}@keyframes ball-pulse-rise-odd{0%{-webkit-transform:scale(.4);transform:scale(.4)}25%{-webkit-transform:translateY(30px);transform:translateY(30px)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}75%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform:scale(.75);transform:scale(.75)}}.ball-pulse-rise>div{width:15px;-webkit-animation-fill-mode:both;animation-fill-mode:both;display:inline-block;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:cubic-bezier(.15,.46,.9,.6);animation-timing-function:cubic-bezier(.15,.46,.9,.6);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}.ball-pulse-rise>div:nth-child(2n){-webkit-animation-name:ball-pulse-rise-even;animation-name:ball-pulse-rise-even}.ball-pulse-rise>div:nth-child(2n-1){-webkit-animation-name:ball-pulse-rise-odd;animation-name:ball-pulse-rise-odd}@-webkit-keyframes ball-grid-beat{50%{opacity:.7}to{opacity:1}}@keyframes ball-grid-beat{50%{opacity:.7}to{opacity:1}}.ball-grid-beat{width:57px}.ball-grid-beat>div:nth-child(1){-webkit-animation-delay:.44s;animation-delay:.44s;-webkit-animation-duration:1.27s;animation-duration:1.27s}.ball-grid-beat>div:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-duration:1.52s;animation-duration:1.52s}.ball-grid-beat>div:nth-child(3){-webkit-animation-delay:.14s;animation-delay:.14s;-webkit-animation-duration:.61s;animation-duration:.61s}.ball-grid-beat>div:nth-child(4){-webkit-animation-delay:.15s;animation-delay:.15s;-webkit-animation-duration:.82s;animation-duration:.82s}.ball-grid-beat>div:nth-child(5){-webkit-animation-delay:-.01s;animation-delay:-.01s;-webkit-animation-duration:1.24s;animation-duration:1.24s}.ball-grid-beat>div:nth-child(6){-webkit-animation-delay:-.07s;animation-delay:-.07s;-webkit-animation-duration:1.35s;animation-duration:1.35s}.ball-grid-beat>div:nth-child(7){-webkit-animation-delay:.29s;animation-delay:.29s;-webkit-animation-duration:1.44s;animation-duration:1.44s}.ball-grid-beat>div:nth-child(8){-webkit-animation-delay:.63s;animation-delay:.63s;-webkit-animation-duration:1.19s;animation-duration:1.19s}.ball-grid-beat>div:nth-child(9){-webkit-animation-delay:-.18s;animation-delay:-.18s;-webkit-animation-duration:1.48s;animation-duration:1.48s}.ball-grid-beat>div{width:15px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:ball-grid-beat;animation-name:ball-grid-beat;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}.ball-grid-beat>div,.ball-grid-pulse>div{display:inline-block;float:left;-webkit-animation-iteration-count:infinite}@-webkit-keyframes ball-grid-pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes ball-grid-pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.ball-grid-pulse{width:57px}.ball-grid-pulse>div,.ball-spin-fade-loader>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px}.ball-grid-pulse>div:nth-child(1){-webkit-animation-delay:.58s;animation-delay:.58s;-webkit-animation-duration:.9s;animation-duration:.9s}.ball-grid-pulse>div:nth-child(2){-webkit-animation-delay:.01s;animation-delay:.01s;-webkit-animation-duration:.94s;animation-duration:.94s}.ball-grid-pulse>div:nth-child(3){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-animation-duration:1.43s;animation-duration:1.43s}.ball-grid-pulse>div:nth-child(4){-webkit-animation-delay:-.03s;animation-delay:-.03s;-webkit-animation-duration:.74s;animation-duration:.74s}.ball-grid-pulse>div:nth-child(5){-webkit-animation-delay:.21s;animation-delay:.21s;-webkit-animation-duration:.68s;animation-duration:.68s}.ball-grid-pulse>div:nth-child(6){-webkit-animation-delay:.25s;animation-delay:.25s;-webkit-animation-duration:1.17s;animation-duration:1.17s}.ball-grid-pulse>div:nth-child(7){-webkit-animation-delay:.46s;animation-delay:.46s;-webkit-animation-duration:1.41s;animation-duration:1.41s}.ball-grid-pulse>div:nth-child(8){-webkit-animation-delay:.02s;animation-delay:.02s;-webkit-animation-duration:1.56s;animation-duration:1.56s}.ball-grid-pulse>div:nth-child(9){-webkit-animation-delay:.13s;animation-delay:.13s;-webkit-animation-duration:.78s;animation-duration:.78s}.ball-grid-pulse>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:ball-grid-pulse;animation-name:ball-grid-pulse;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}@-webkit-keyframes ball-spin-fade-loader{50%{opacity:.3;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-spin-fade-loader{50%{opacity:.3;-webkit-transform:scale(.4);transform:scale(.4)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.ball-spin-fade-loader{position:relative;top:-10px;left:-10px}.ball-spin-fade-loader>div:nth-child(1){top:25px;left:0;-webkit-animation:ball-spin-fade-loader 1s -.96s infinite linear;animation:ball-spin-fade-loader 1s -.96s infinite linear}.ball-spin-fade-loader>div:nth-child(2){top:17.05px;left:17.05px;-webkit-animation:ball-spin-fade-loader 1s -.84s infinite linear;animation:ball-spin-fade-loader 1s -.84s infinite linear}.ball-spin-fade-loader>div:nth-child(3){top:0;left:25px;-webkit-animation:ball-spin-fade-loader 1s -.72s infinite linear;animation:ball-spin-fade-loader 1s -.72s infinite linear}.ball-spin-fade-loader>div:nth-child(4){top:-17.05px;left:17.05px;-webkit-animation:ball-spin-fade-loader 1s -.6s infinite linear;animation:ball-spin-fade-loader 1s -.6s infinite linear}.ball-spin-fade-loader>div:nth-child(5){top:-25px;left:0;-webkit-animation:ball-spin-fade-loader 1s -.48s infinite linear;animation:ball-spin-fade-loader 1s -.48s infinite linear}.ball-spin-fade-loader>div:nth-child(6){top:-17.05px;left:-17.05px;-webkit-animation:ball-spin-fade-loader 1s -.36s infinite linear;animation:ball-spin-fade-loader 1s -.36s infinite linear}.ball-spin-fade-loader>div:nth-child(7){top:0;left:-25px;-webkit-animation:ball-spin-fade-loader 1s -.24s infinite linear;animation:ball-spin-fade-loader 1s -.24s infinite linear}.ball-spin-fade-loader>div:nth-child(8){top:17.05px;left:-17.05px;-webkit-animation:ball-spin-fade-loader 1s -.12s infinite linear;animation:ball-spin-fade-loader 1s -.12s infinite linear}.ball-spin-fade-loader>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}@-webkit-keyframes ball-spin-loader{75%{opacity:.2}to{opacity:1}}@keyframes ball-spin-loader{75%{opacity:.2}to{opacity:1}}.ball-spin-loader{position:relative}.ball-spin-loader>span:nth-child(1){top:45px;left:0;-webkit-animation:ball-spin-loader 2s .9s infinite linear;animation:ball-spin-loader 2s .9s infinite linear}.ball-spin-loader>span:nth-child(2){top:30.68px;left:30.68px;-webkit-animation:ball-spin-loader 2s 1.8s infinite linear;animation:ball-spin-loader 2s 1.8s infinite linear}.ball-spin-loader>span:nth-child(3){top:0;left:45px;-webkit-animation:ball-spin-loader 2s 2.7s infinite linear;animation:ball-spin-loader 2s 2.7s infinite linear}.ball-spin-loader>span:nth-child(4){top:-30.68px;left:30.68px;-webkit-animation:ball-spin-loader 2s 3.6s infinite linear;animation:ball-spin-loader 2s 3.6s infinite linear}.ball-spin-loader>span:nth-child(5){top:-45px;left:0;-webkit-animation:ball-spin-loader 2s 4.5s infinite linear;animation:ball-spin-loader 2s 4.5s infinite linear}.ball-spin-loader>span:nth-child(6){top:-30.68px;left:-30.68px;-webkit-animation:ball-spin-loader 2s 5.4s infinite linear;animation:ball-spin-loader 2s 5.4s infinite linear}.ball-spin-loader>span:nth-child(7){top:0;left:-45px;-webkit-animation:ball-spin-loader 2s 6.3s infinite linear;animation:ball-spin-loader 2s 6.3s infinite linear}.ball-spin-loader>span:nth-child(8){top:30.68px;left:-30.68px;-webkit-animation:ball-spin-loader 2s 7.2s infinite linear;animation:ball-spin-loader 2s 7.2s infinite linear}.ball-spin-loader>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:15px;height:15px;border-radius:100%;background:green}.ball-zig-zag-deflect>div,.ball-zig-zag>div{background-color:#fff;width:15px;height:15px;border-radius:100%;margin:2px 2px 2px 15px;top:4px;left:-7px}@-webkit-keyframes ball-zig{33%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}66%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-zig{33%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}66%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ball-zag{33%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}66%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-zag{33%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}66%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}to{-webkit-transform:translate(0,0);transform:translate(0)}}.ball-zig-zag{position:relative;-webkit-transform:translate(-15px,-15px);-ms-transform:translate(-15px,-15px);transform:translate(-15px,-15px)}.ball-zig-zag>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}.ball-zig-zag>div:first-child{-webkit-animation:ball-zig .7s 0s infinite linear;animation:ball-zig .7s 0s infinite linear}.ball-zig-zag>div:last-child{-webkit-animation:ball-zag .7s 0s infinite linear;animation:ball-zag .7s 0s infinite linear}@-webkit-keyframes ball-zig-deflect{17%,84%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}34%,67%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}to,50%{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-zig-deflect{17%,84%{-webkit-transform:translate(-15px,-30px);transform:translate(-15px,-30px)}34%,67%{-webkit-transform:translate(15px,-30px);transform:translate(15px,-30px)}to,50%{-webkit-transform:translate(0,0);transform:translate(0)}}@-webkit-keyframes ball-zag-deflect{17%,84%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}34%,67%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}to,50%{-webkit-transform:translate(0,0);transform:translate(0)}}@keyframes ball-zag-deflect{17%,84%{-webkit-transform:translate(15px,30px);transform:translate(15px,30px)}34%,67%{-webkit-transform:translate(-15px,30px);transform:translate(-15px,30px)}to,50%{-webkit-transform:translate(0,0);transform:translate(0)}}.ball-zig-zag-deflect{position:relative;-webkit-transform:translate(-15px,-15px);-ms-transform:translate(-15px,-15px);transform:translate(-15px,-15px)}.ball-zig-zag-deflect>div{-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute}.ball-zig-zag-deflect>div:first-child{-webkit-animation:ball-zig-deflect 1.5s 0s infinite linear;animation:ball-zig-deflect 1.5s 0s infinite linear}.ball-zig-zag-deflect>div:last-child{-webkit-animation:ball-zag-deflect 1.5s 0s infinite linear;animation:ball-zag-deflect 1.5s 0s infinite linear}@-webkit-keyframes line-scale{0%,to{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes line-scale{0%,to{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.line-scale>div:nth-child(1){-webkit-animation:line-scale 1s -.4s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.4s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(2){-webkit-animation:line-scale 1s -.3s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.3s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(3){-webkit-animation:line-scale 1s -.2s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.2s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(4){-webkit-animation:line-scale 1s -.1s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s -.1s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div:nth-child(5){-webkit-animation:line-scale 1s 0s infinite cubic-bezier(.2,.68,.18,1.08);animation:line-scale 1s 0s infinite cubic-bezier(.2,.68,.18,1.08)}.line-scale>div{animation-fill-mode:both;display:inline-block}.line-scale-party>div,.line-scale>div{background-color:#fff;border-radius:2px;margin:2px;width:4px;height:35px;-webkit-animation-fill-mode:both}@-webkit-keyframes line-scale-party{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5)}}@keyframes line-scale-party{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(.5);transform:scale(.5)}}.line-scale-party>div:nth-child(1){-webkit-animation-delay:-.09s;animation-delay:-.09s;-webkit-animation-duration:.83s;animation-duration:.83s}.line-scale-party>div:nth-child(2){-webkit-animation-delay:.33s;animation-delay:.33s;-webkit-animation-duration:.64s;animation-duration:.64s}.line-scale-party>div:nth-child(3){-webkit-animation-delay:.32s;animation-delay:.32s;-webkit-animation-duration:.39s;animation-duration:.39s}.line-scale-party>div:nth-child(4){-webkit-animation-delay:.47s;animation-delay:.47s;-webkit-animation-duration:.52s;animation-duration:.52s}.line-scale-party>div{animation-fill-mode:both;display:inline-block;-webkit-animation-name:line-scale-party;animation-name:line-scale-party;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-delay:0;animation-delay:0}@-webkit-keyframes line-scale-pulse-out{0%,to{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes line-scale-pulse-out{0%,to{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.line-scale-pulse-out>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;display:inline-block;-webkit-animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(.85,.25,.37,.85);animation:line-scale-pulse-out .9s -.6s infinite cubic-bezier(.85,.25,.37,.85)}.line-scale-pulse-out>div:nth-child(2),.line-scale-pulse-out>div:nth-child(4){-webkit-animation-delay:-.4s!important;animation-delay:-.4s!important}.line-scale-pulse-out>div:nth-child(1),.line-scale-pulse-out>div:nth-child(5){-webkit-animation-delay:-.2s!important;animation-delay:-.2s!important}@-webkit-keyframes line-scale-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.3);transform:scaley(.3)}}@keyframes line-scale-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.3);transform:scaley(.3)}}.line-scale-pulse-out-rapid>div{background-color:#fff;width:4px;height:35px;border-radius:2px;margin:2px;display:inline-block;-webkit-animation:line-scale-pulse-out-rapid .9s -.5s infinite cubic-bezier(.11,.49,.38,.78);animation:line-scale-pulse-out-rapid .9s -.5s infinite cubic-bezier(.11,.49,.38,.78)}.line-scale-pulse-out-rapid>div:nth-child(2),.line-scale-pulse-out-rapid>div:nth-child(4){-webkit-animation-delay:-.25s!important;animation-delay:-.25s!important}.line-scale-pulse-out-rapid>div:nth-child(1),.line-scale-pulse-out-rapid>div:nth-child(5){-webkit-animation-delay:0s!important;animation-delay:0s!important}@-webkit-keyframes line-spin-fade-loader{50%{opacity:.3}to{opacity:1}}@keyframes line-spin-fade-loader{50%{opacity:.3}to{opacity:1}}.line-spin-fade-loader{position:relative;top:-10px;left:-4px}.line-spin-fade-loader>div:nth-child(1){top:20px;left:0;-webkit-animation:line-spin-fade-loader 1.2s -.84s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.84s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(2){top:13.64px;left:13.64px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-animation:line-spin-fade-loader 1.2s -.72s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.72s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(3){top:0;left:20px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-animation:line-spin-fade-loader 1.2s -.6s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.6s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(4){top:-13.64px;left:13.64px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:line-spin-fade-loader 1.2s -.48s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.48s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(5){top:-20px;left:0;-webkit-animation:line-spin-fade-loader 1.2s -.36s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.36s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(6){top:-13.64px;left:-13.64px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-animation:line-spin-fade-loader 1.2s -.24s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.24s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(7){top:0;left:-20px;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-animation:line-spin-fade-loader 1.2s -.12s infinite ease-in-out;animation:line-spin-fade-loader 1.2s -.12s infinite ease-in-out}.line-spin-fade-loader>div:nth-child(8){top:13.64px;left:-13.64px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:line-spin-fade-loader 1.2s 0s infinite ease-in-out;animation:line-spin-fade-loader 1.2s 0s infinite ease-in-out}.line-spin-fade-loader>div{background-color:#fff;border-radius:2px;margin:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;position:absolute;width:5px;height:15px}@-webkit-keyframes triangle-skew-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}to{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}@keyframes triangle-skew-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}to{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}.triangle-skew-spin>div{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:20px solid #fff;-webkit-animation:triangle-skew-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:triangle-skew-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite}@-webkit-keyframes square-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}to{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}@keyframes square-spin{25%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(0);transform:perspective(100px) rotateX(180deg) rotateY(0)}50%{-webkit-transform:perspective(100px) rotateX(180deg) rotateY(180deg);transform:perspective(100px) rotateX(180deg) rotateY(180deg)}75%{-webkit-transform:perspective(100px) rotateX(0) rotateY(180deg);transform:perspective(100px) rotateX(0) rotateY(180deg)}to{-webkit-transform:perspective(100px) rotateX(0) rotateY(0);transform:perspective(100px) rotateX(0) rotateY(0)}}.square-spin>div{width:50px;height:50px;background:#fff;border:1px solid red;-webkit-animation:square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite;animation:square-spin 3s 0s cubic-bezier(.09,.57,.49,.9) infinite}.pacman>div:first-of-type,.pacman>div:nth-child(2){width:0;height:0;border-right:25px solid transparent;border-top:25px solid #fff;border-left:25px solid #fff;border-bottom:25px solid #fff;border-radius:25px;position:relative;left:-30px}@-webkit-keyframes rotate_pacman_half_up{0%,to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate_pacman_half_up{0%,to{-webkit-transform:rotate(270deg);transform:rotate(270deg)}50%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotate_pacman_half_down{0%,to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotate_pacman_half_down{0%,to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}50%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes pacman-balls{75%{opacity:.7}to{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}@keyframes pacman-balls{75%{opacity:.7}to{-webkit-transform:translate(-100px,-6.25px);transform:translate(-100px,-6.25px)}}.pacman{position:relative}.pacman>div:nth-child(3){-webkit-animation:pacman-balls 1s -.66s infinite linear;animation:pacman-balls 1s -.66s infinite linear}.pacman>div:nth-child(4){-webkit-animation:pacman-balls 1s -.33s infinite linear;animation:pacman-balls 1s -.33s infinite linear}.pacman>div:nth-child(5){-webkit-animation:pacman-balls 1s 0s infinite linear;animation:pacman-balls 1s 0s infinite linear}.pacman>div:first-of-type{-webkit-animation:rotate_pacman_half_up .5s 0s infinite;animation:rotate_pacman_half_up .5s 0s infinite}.pacman>div:nth-child(2){-webkit-animation:rotate_pacman_half_down .5s 0s infinite;animation:rotate_pacman_half_down .5s 0s infinite;margin-top:-50px}.pacman>div:nth-child(3),.pacman>div:nth-child(4),.pacman>div:nth-child(5),.pacman>div:nth-child(6){background-color:#fff;border-radius:100%;margin:2px;width:10px;height:10px;position:absolute;-webkit-transform:translate(0,-6.25px);-ms-transform:translate(0,-6.25px);transform:translateY(-6.25px);top:25px;left:70px}@-webkit-keyframes cube-transition{25%{-webkit-transform:translateX(50px) scale(.5) rotate(-90deg);transform:translate(50px) scale(.5) rotate(-90deg)}50%{-webkit-transform:translate(50px,50px) rotate(-180deg);transform:translate(50px,50px) rotate(-180deg)}75%{-webkit-transform:translateY(50px) scale(.5) rotate(-270deg);transform:translateY(50px) scale(.5) rotate(-270deg)}to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes cube-transition{25%{-webkit-transform:translateX(50px) scale(.5) rotate(-90deg);transform:translate(50px) scale(.5) rotate(-90deg)}50%{-webkit-transform:translate(50px,50px) rotate(-180deg);transform:translate(50px,50px) rotate(-180deg)}75%{-webkit-transform:translateY(50px) scale(.5) rotate(-270deg);transform:translateY(50px) scale(.5) rotate(-270deg)}to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}.cube-transition{position:relative;-webkit-transform:translate(-25px,-25px);-ms-transform:translate(-25px,-25px);transform:translate(-25px,-25px)}.cube-transition>div{width:10px;height:10px;position:absolute;top:-5px;left:-5px;background-color:#fff;-webkit-animation:cube-transition 1.6s 0s infinite ease-in-out;animation:cube-transition 1.6s 0s infinite ease-in-out}.cube-transition>div:last-child{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes spin-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.semi-circle-spin{position:relative;width:35px;height:35px;overflow:hidden}.semi-circle-spin>div{position:absolute;border-width:0;border-radius:100%;-webkit-animation:spin-rotate .6s 0s infinite linear;animation:spin-rotate .6s 0s infinite linear;background-image:-webkit-linear-gradient(transparent 0,transparent 70%,#fff 30%,#fff 100%);background-image:linear-gradient(transparent 0,transparent 70%,#fff 30%,#fff 100%);width:100%;height:100%}@-webkit-keyframes bar-progress{0%,to{-webkit-transform:scaleY(20%);transform:scaleY(.2);opacity:1}25%,75%{-webkit-transform:translateX(6%) scaleY(10%);transform:translate(6%) scaleY(.1);opacity:.7}50%{-webkit-transform:translateX(20%) scaleY(20%);transform:translate(20%) scaleY(.2);opacity:1}}@keyframes bar-progress{0%,to{-webkit-transform:scaleY(20%);transform:scaleY(.2);opacity:1}25%,75%{-webkit-transform:translateX(6%) scaleY(10%);transform:translate(6%) scaleY(.1);opacity:.7}50%{-webkit-transform:translateX(20%) scaleY(20%);transform:translate(20%) scaleY(.2);opacity:1}}.bar-progress{width:30%;height:12px}.bar-progress>div{position:relative;width:20%;height:12px;border-radius:10px;background-color:#fff;-webkit-animation:bar-progress 3s cubic-bezier(.57,.1,.44,.93) infinite;animation:bar-progress 3s cubic-bezier(.57,.1,.44,.93) infinite;opacity:1}.bar-swing,.bar-swing>div{height:8px;width:30%}@-webkit-keyframes bar-swing{0%,to{left:0}50%{left:70%}}@keyframes bar-swing{0%,to{left:0}50%{left:70%}}.bar-swing>div{position:relative;border-radius:10px;background-color:#fff;-webkit-animation:bar-swing 1.5s infinite;animation:bar-swing 1.5s infinite}@-webkit-keyframes bar-swing-container{0%,to{left:0;-webkit-transform:translateX(0);transform:translate(0)}50%{left:70%;-webkit-transform:translateX(-4px);transform:translate(-4px)}}@keyframes bar-swing-container{0%,to{left:0;-webkit-transform:translateX(0);transform:translate(0)}50%{left:70%;-webkit-transform:translateX(-4px);transform:translate(-4px)}}.bar-swing-container{width:20%;height:8px;position:relative}.bar-swing-container div:nth-child(1){position:absolute;width:100%;background-color:#fff3;height:12px;border-radius:10px}.bar-swing-container div:nth-child(2){position:absolute;width:30%;height:8px;border-radius:10px;background-color:#fff;-webkit-animation:bar-swing-container 2s cubic-bezier(.91,.35,.12,.6) infinite;animation:bar-swing-container 2s cubic-bezier(.91,.35,.12,.6) infinite;margin:2px 2px 0}:deep(.el-dropdown-menu__item i){margin:0}.ep-select__tags .ep-tag{margin:2px 0}.ep-form--inline .ep-form-item{display:flex}.results-card{border:none;border-radius:10px;display:flex;flex-direction:column}.ep-card__body{padding:10px}.results-chart{width:100%}.ball-clip-rotate>div{border-color:#de9bef}.js-plotly-plot .plotly .main-svg{border-radius:10px}.ep-select{min-width:230px}.ep-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.ep-container.is-vertical{flex-direction:column}.ep-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--ep-aside-width, 300px)}.ep-footer{--ep-footer-padding: 0 20px;--ep-footer-height: 60px;padding:var(--ep-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--ep-footer-height)}.ep-header{--ep-header-padding: 0 20px;--ep-header-height: 60px;padding:var(--ep-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--ep-header-height)}.ep-main{--ep-main-padding: 20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--ep-main-padding)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--ep-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.ep-fade-in-linear-enter-active,.ep-fade-in-linear-leave-active{transition:var(--ep-transition-fade-linear)}.ep-fade-in-linear-enter-from,.ep-fade-in-linear-leave-to{opacity:0}.ep-fade-in-enter-active,.ep-fade-in-leave-active{transition:all var(--ep-transition-duration) cubic-bezier(.55,0,.1,1)}.ep-fade-in-enter-from,.ep-fade-in-leave-active{opacity:0}.ep-zoom-in-center-enter-active,.ep-zoom-in-center-leave-active{transition:all var(--ep-transition-duration) cubic-bezier(.55,0,.1,1)}.ep-zoom-in-center-enter-from,.ep-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.ep-zoom-in-top-enter-active,.ep-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--ep-transition-md-fade);transform-origin:center top}.ep-zoom-in-top-enter-active[data-popper-placement^=top],.ep-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.ep-zoom-in-top-enter-from,.ep-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.ep-zoom-in-bottom-enter-active,.ep-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--ep-transition-md-fade);transform-origin:center bottom}.ep-zoom-in-bottom-enter-from,.ep-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.ep-zoom-in-left-enter-active,.ep-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--ep-transition-md-fade);transform-origin:top left}.ep-zoom-in-left-enter-from,.ep-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--ep-transition-duration) height ease-in-out,var(--ep-transition-duration) padding-top ease-in-out,var(--ep-transition-duration) padding-bottom ease-in-out}.ep-collapse-transition-leave-active,.ep-collapse-transition-enter-active{transition:var(--ep-transition-duration) max-height ease-in-out,var(--ep-transition-duration) padding-top ease-in-out,var(--ep-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--ep-transition-duration) width ease-in-out,var(--ep-transition-duration) padding-left ease-in-out,var(--ep-transition-duration) padding-right ease-in-out}.ep-list-enter-active,.ep-list-leave-active{transition:all 1s}.ep-list-enter-from,.ep-list-leave-to{opacity:0;transform:translateY(-30px)}.ep-list-leave-active{position:absolute!important}.ep-opacity-transition{transition:opacity var(--ep-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--ep-menu-active-color: var(--ep-color-primary);--ep-menu-text-color: var(--ep-text-color-primary);--ep-menu-hover-text-color: var(--ep-color-primary);--ep-menu-bg-color: var(--ep-fill-color-blank);--ep-menu-hover-bg-color: var(--ep-color-primary-light-9);--ep-menu-item-height: 56px;--ep-menu-sub-item-height: calc(var(--ep-menu-item-height) - 6px);--ep-menu-horizontal-sub-item-height: 36px;--ep-menu-item-font-size: var(--ep-font-size-base);--ep-menu-item-hover-fill: var(--ep-color-primary-light-9);--ep-menu-border-color: var(--ep-border-color);--ep-menu-base-level-padding: 20px;--ep-menu-level-padding: 20px;--ep-menu-icon-width: 24px}.ep-menu{border-right:solid 1px var(--ep-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--ep-menu-bg-color);box-sizing:border-box}.ep-menu--vertical:not(.ep-menu--collapse):not(.ep-menu--popup-container) .ep-menu-item,.ep-menu--vertical:not(.ep-menu--collapse):not(.ep-menu--popup-container) .ep-sub-menu__title,.ep-menu--vertical:not(.ep-menu--collapse):not(.ep-menu--popup-container) .ep-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--ep-menu-base-level-padding) + var(--ep-menu-level) * var(--ep-menu-level-padding))}.ep-menu--horizontal{display:flex;flex-wrap:nowrap;border-bottom:solid 1px var(--ep-menu-border-color);border-right:none}.ep-menu--horizontal>.ep-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--ep-menu-text-color)}.ep-menu--horizontal>.ep-menu-item a,.ep-menu--horizontal>.ep-menu-item a:hover{color:inherit}.ep-menu--horizontal>.ep-menu-item:not(.is-disabled):hover,.ep-menu--horizontal>.ep-menu-item:not(.is-disabled):focus{background-color:#fff}.ep-menu--horizontal>.ep-sub-menu:focus,.ep-menu--horizontal>.ep-sub-menu:hover{outline:none}.ep-menu--horizontal>.ep-sub-menu:hover .ep-sub-menu__title{color:var(--ep-menu-hover-text-color)}.ep-menu--horizontal>.ep-sub-menu.is-active .ep-sub-menu__title{border-bottom:2px solid var(--ep-menu-active-color);color:var(--ep-menu-active-color)}.ep-menu--horizontal>.ep-sub-menu .ep-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--ep-menu-text-color)}.ep-menu--horizontal>.ep-sub-menu .ep-sub-menu__title:hover{background-color:var(--ep-bg-color-overlay)}.ep-menu--horizontal .ep-menu .ep-menu-item,.ep-menu--horizontal .ep-menu .ep-sub-menu__title{background-color:var(--ep-menu-bg-color);display:flex;align-items:center;height:var(--ep-menu-horizontal-sub-item-height);line-height:var(--ep-menu-horizontal-sub-item-height);padding:0 10px;color:var(--ep-menu-text-color)}.ep-menu--horizontal .ep-menu .ep-sub-menu__title{padding-right:40px}.ep-menu--horizontal .ep-menu .ep-menu-item.is-active,.ep-menu--horizontal .ep-menu .ep-sub-menu.is-active>.ep-sub-menu__title{color:var(--ep-menu-active-color)}.ep-menu--horizontal .ep-menu-item:not(.is-disabled):hover,.ep-menu--horizontal .ep-menu-item:not(.is-disabled):focus{outline:none;color:var(--ep-menu-hover-text-color);background-color:var(--ep-menu-hover-bg-color)}.ep-menu--horizontal>.ep-menu-item.is-active{border-bottom:2px solid var(--ep-menu-active-color);color:var(--ep-menu-active-color)!important}.ep-menu--collapse{width:calc(var(--ep-menu-icon-width) + var(--ep-menu-base-level-padding) * 2)}.ep-menu--collapse>.ep-menu-item [class^=ep-icon],.ep-menu--collapse>.ep-sub-menu>.ep-sub-menu__title [class^=ep-icon],.ep-menu--collapse>.ep-menu-item-group>ul>.ep-sub-menu>.ep-sub-menu__title [class^=ep-icon]{margin:0;vertical-align:middle;width:var(--ep-menu-icon-width);text-align:center}.ep-menu--collapse>.ep-menu-item .ep-sub-menu__icon-arrow,.ep-menu--collapse>.ep-sub-menu>.ep-sub-menu__title .ep-sub-menu__icon-arrow,.ep-menu--collapse>.ep-menu-item-group>ul>.ep-sub-menu>.ep-sub-menu__title .ep-sub-menu__icon-arrow{display:none}.ep-menu--collapse>.ep-menu-item>span,.ep-menu--collapse>.ep-sub-menu>.ep-sub-menu__title>span,.ep-menu--collapse>.ep-menu-item-group>ul>.ep-sub-menu>.ep-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.ep-menu--collapse>.ep-menu-item.is-active i{color:inherit}.ep-menu--collapse .ep-menu .ep-sub-menu{min-width:200px}.ep-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--ep-border-radius-small);box-shadow:var(--ep-box-shadow-light)}.ep-menu .ep-icon{flex-shrink:0}.ep-menu-item{display:flex;align-items:center;height:var(--ep-menu-item-height);line-height:var(--ep-menu-item-height);font-size:var(--ep-menu-item-font-size);color:var(--ep-menu-text-color);padding:0 var(--ep-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--ep-transition-duration),background-color var(--ep-transition-duration),color var(--ep-transition-duration);box-sizing:border-box;white-space:nowrap}.ep-menu-item *{vertical-align:bottom}.ep-menu-item i{color:inherit}.ep-menu-item:hover,.ep-menu-item:focus{outline:none}.ep-menu-item:hover{background-color:var(--ep-menu-hover-bg-color)}.ep-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:none!important}.ep-menu-item [class^=ep-icon]{margin-right:5px;width:var(--ep-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.ep-menu-item.is-active{color:var(--ep-menu-active-color)}.ep-menu-item.is-active i{color:inherit}.ep-menu-item .ep-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--ep-menu-base-level-padding)}.ep-sub-menu{list-style:none;margin:0;padding-left:0}.ep-sub-menu__title{display:flex;align-items:center;height:var(--ep-menu-item-height);line-height:var(--ep-menu-item-height);font-size:var(--ep-menu-item-font-size);color:var(--ep-menu-text-color);padding:0 var(--ep-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--ep-transition-duration),background-color var(--ep-transition-duration),color var(--ep-transition-duration);box-sizing:border-box;white-space:nowrap;padding-right:calc(var(--ep-menu-base-level-padding) + var(--ep-menu-icon-width))}.ep-sub-menu__title *{vertical-align:bottom}.ep-sub-menu__title i{color:inherit}.ep-sub-menu__title:hover,.ep-sub-menu__title:focus{outline:none}.ep-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:none!important}.ep-sub-menu__title:hover{background-color:var(--ep-menu-hover-bg-color)}.ep-sub-menu .ep-menu{border:none}.ep-sub-menu .ep-menu-item{height:var(--ep-menu-sub-item-height);line-height:var(--ep-menu-sub-item-height)}.ep-sub-menu__hide-arrow .ep-sub-menu__icon-arrow{display:none!important}.ep-sub-menu.is-active .ep-sub-menu__title{border-bottom-color:var(--ep-menu-active-color)}.ep-sub-menu.is-disabled .ep-sub-menu__title,.ep-sub-menu.is-disabled .ep-menu-item{opacity:.25;cursor:not-allowed;background:none!important}.ep-sub-menu .ep-icon{vertical-align:middle;margin-right:5px;width:var(--ep-menu-icon-width);text-align:center;font-size:18px}.ep-sub-menu .ep-icon.ep-sub-menu__icon-more{margin-right:0!important}.ep-sub-menu .ep-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--ep-menu-base-level-padding);margin-top:-6px;transition:transform var(--ep-transition-duration);font-size:12px;margin-right:0;width:inherit}.ep-menu-item-group>ul{padding:0}.ep-menu-item-group__title{padding:7px 0 7px var(--ep-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--ep-text-color-secondary)}.horizontal-collapse-transition .ep-sub-menu__title .ep-sub-menu__icon-arrow{transition:var(--ep-transition-duration-fast);opacity:0}#app{text-align:center;color:var(--ep-text-color-primary)}.header-container{position:fixed;width:100%;top:0;z-index:1000;backdrop-filter:blur(5px)}.ep-menu{background-color:rgba(var(--ep-menu-bg-color),.4)}.main-container{min-height:100vh;padding-top:70px;display:flex;flex-direction:column;align-items:center;height:100%}.sub-container{max-width:1280px}html.dark{color-scheme:dark;--ep-color-primary: #589ef8;--ep-color-primary-light-3: #4475b4;--ep-color-primary-light-5: #365986;--ep-color-primary-light-7: #283d58;--ep-color-primary-light-8: #223042;--ep-color-primary-light-9: #1b222b;--ep-color-primary-dark-2: #79b1f9;--ep-color-success: #21ba45;--ep-color-success-light-3: #1d8836;--ep-color-success-light-5: #1b672d;--ep-color-success-light-7: #184623;--ep-color-success-light-8: #17351e;--ep-color-success-light-9: #152519;--ep-color-success-dark-2: #4dc86a;--ep-color-warning: #f2711c;--ep-color-warning-light-3: #af551a;--ep-color-warning-light-5: #834318;--ep-color-warning-light-7: #573016;--ep-color-warning-light-8: #402716;--ep-color-warning-light-9: #2a1d15;--ep-color-warning-dark-2: #f58d49;--ep-color-danger: #db2828;--ep-color-danger-light-3: #9f2222;--ep-color-danger-light-5: #781e1e;--ep-color-danger-light-7: #501a1a;--ep-color-danger-light-8: #3c1818;--ep-color-danger-light-9: #281616;--ep-color-danger-dark-2: #e25353;--ep-color-error: #db2828;--ep-color-error-light-3: #9f2222;--ep-color-error-light-5: #781e1e;--ep-color-error-light-7: #501a1a;--ep-color-error-light-8: #3c1818;--ep-color-error-light-9: #281616;--ep-color-error-dark-2: #e25353;--ep-color-info: #42b8dd;--ep-color-info-light-3: #3487a1;--ep-color-info-light-5: #2b6679;--ep-color-info-light-7: #224550;--ep-color-info-light-8: #1d353c;--ep-color-info-light-9: #192428;--ep-color-info-dark-2: #68c6e4;--ep-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--ep-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--ep-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--ep-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000;--ep-bg-color-page: #0a0a0a;--ep-bg-color: #141414;--ep-bg-color-overlay: #1d1e1f;--ep-text-color-primary: #E5EAF3;--ep-text-color-regular: #CFD3DC;--ep-text-color-secondary: #A3A6AD;--ep-text-color-placeholder: #8D9095;--ep-text-color-disabled: #6C6E72;--ep-border-color-darker: #636466;--ep-border-color-dark: #58585B;--ep-border-color: #4C4D4F;--ep-border-color-light: #414243;--ep-border-color-lighter: #363637;--ep-border-color-extra-light: #2B2B2C;--ep-fill-color-darker: #424243;--ep-fill-color-dark: #39393A;--ep-fill-color: #303030;--ep-fill-color-light: #262727;--ep-fill-color-lighter: #1D1D1D;--ep-fill-color-extra-light: #191919;--ep-fill-color-blank: transparent;--ep-mask-color: rgba(0, 0, 0, .8);--ep-mask-color-extra-light: rgba(0, 0, 0, .3)}html.dark .ep-button{--ep-button-disabled-text-color: rgba(255, 255, 255, .5)}html.dark .ep-card{--ep-card-bg-color: var(--ep-bg-color-overlay)}html.dark .ep-empty{--ep-empty-fill-color-0: var(--ep-color-black);--ep-empty-fill-color-1: #4b4b52;--ep-empty-fill-color-2: #36383d;--ep-empty-fill-color-3: #1e1e20;--ep-empty-fill-color-4: #262629;--ep-empty-fill-color-5: #202124;--ep-empty-fill-color-6: #212224;--ep-empty-fill-color-7: #1b1c1f;--ep-empty-fill-color-8: #1c1d1f;--ep-empty-fill-color-9: #18181a}body{font-family:Inter,system-ui,Avenir,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:var(--ep-color-primary)}code{border-radius:2px;padding:2px 4px;background-color:var(--ep-color-primary-light-9);color:var(--ep-color-primary)}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.dark [i~="dark:ep-moon"]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1024 1024' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M240.448 240.448a384 384 0 1 0 559.424 525.696a448 448 0 0 1-542.016-542.08a390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i~=ep-sunny]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 1024 1024' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M512 704a192 192 0 1 0 0-384a192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512a256 256 0 0 1 0 512zm0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32zM195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248zM64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32zm768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32zM195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}.fixed{position:fixed}.mb-5{margin-bottom:1.25rem}.mt-5{margin-top:1.25rem}.inline{display:inline}.\!w-\[100px\]{width:100px!important}.\!w-\[150px\]{width:150px!important}.\!w-\[15px\]{width:15px!important}.\!w-\[200px\]{width:200px!important}.\!w-\[25px\]{width:25px!important}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.w-\[99\/100\]{width:99/100}.w-full{width:100%}[h~=full]{height:100%}.flex{display:flex}.inline-flex,[inline-flex=""]{display:inline-flex}.cursor-pointer{cursor:pointer}.border{border-width:1px}.border-none{border-style:none}.bg-transparent{background-color:transparent}.pt-4{padding-top:1rem}.font-bold{font-weight:700}.underline{text-decoration-line:underline}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.ep-message{--ep-message-bg-color: var(--ep-color-info-light-9);--ep-message-border-color: var(--ep-border-color-lighter);--ep-message-padding: 15px 19px;--ep-message-close-size: 16px;--ep-message-close-icon-color: var(--ep-text-color-placeholder);--ep-message-close-hover-color: var(--ep-text-color-secondary)}.ep-message{width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--ep-border-radius-base);border-width:var(--ep-border-width);border-style:var(--ep-border-style);border-color:var(--ep-message-border-color);position:fixed;left:50%;top:20px;transform:translate(-50%);background-color:var(--ep-message-bg-color);transition:opacity var(--ep-transition-duration),transform .4s,top .4s;padding:var(--ep-message-padding);display:flex;align-items:center}.ep-message.is-center{justify-content:center}.ep-message.is-closable .ep-message__content{padding-right:31px}.ep-message p{margin:0}.ep-message--success{--ep-message-bg-color: var(--ep-color-success-light-9);--ep-message-border-color: var(--ep-color-success-light-8);--ep-message-text-color: var(--ep-color-success)}.ep-message--success .ep-message__content{color:var(--ep-message-text-color);overflow-wrap:anywhere}.ep-message .ep-message-icon--success{color:var(--ep-message-text-color)}.ep-message--info{--ep-message-bg-color: var(--ep-color-info-light-9);--ep-message-border-color: var(--ep-color-info-light-8);--ep-message-text-color: var(--ep-color-info)}.ep-message--info .ep-message__content{color:var(--ep-message-text-color);overflow-wrap:anywhere}.ep-message .ep-message-icon--info{color:var(--ep-message-text-color)}.ep-message--warning{--ep-message-bg-color: var(--ep-color-warning-light-9);--ep-message-border-color: var(--ep-color-warning-light-8);--ep-message-text-color: var(--ep-color-warning)}.ep-message--warning .ep-message__content{color:var(--ep-message-text-color);overflow-wrap:anywhere}.ep-message .ep-message-icon--warning{color:var(--ep-message-text-color)}.ep-message--error{--ep-message-bg-color: var(--ep-color-error-light-9);--ep-message-border-color: var(--ep-color-error-light-8);--ep-message-text-color: var(--ep-color-error)}.ep-message--error .ep-message__content{color:var(--ep-message-text-color);overflow-wrap:anywhere}.ep-message .ep-message-icon--error{color:var(--ep-message-text-color)}.ep-message__icon{margin-right:10px}.ep-message .ep-message__badge{position:absolute;top:-8px;right:-8px}.ep-message__content{padding:0;font-size:14px;line-height:1}.ep-message__content:focus{outline-width:0}.ep-message .ep-message__closeBtn{position:absolute;top:50%;right:19px;transform:translateY(-50%);cursor:pointer;color:var(--ep-message-close-icon-color);font-size:var(--ep-message-close-size)}.ep-message .ep-message__closeBtn:focus{outline-width:0}.ep-message .ep-message__closeBtn:hover{color:var(--ep-message-close-hover-color)}.ep-message-fade-enter-from,.ep-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)} diff --git a/assets/index-c2b4ab2c.js b/assets/index-c2b4ab2c.js new file mode 100644 index 0000000..27930f7 --- /dev/null +++ b/assets/index-c2b4ab2c.js @@ -0,0 +1,3775 @@ +var nM=(P,N)=>()=>(N||P((N={exports:{}}).exports,N),N.exports);var AV=nM((Jl,Ql)=>{(function(){const N=document.createElement("link").relList;if(N&&N.supports&&N.supports("modulepreload"))return;for(const be of document.querySelectorAll('link[rel="modulepreload"]'))oe(be);new MutationObserver(be=>{for(const _e of be)if(_e.type==="childList")for(const U of _e.addedNodes)U.tagName==="LINK"&&U.rel==="modulepreload"&&oe(U)}).observe(document,{childList:!0,subtree:!0});function J(be){const _e={};return be.integrity&&(_e.integrity=be.integrity),be.referrerPolicy&&(_e.referrerPolicy=be.referrerPolicy),be.crossOrigin==="use-credentials"?_e.credentials="include":be.crossOrigin==="anonymous"?_e.credentials="omit":_e.credentials="same-origin",_e}function oe(be){if(be.ep)return;be.ep=!0;const _e=J(be);fetch(be.href,_e)}})();function o1(P,N){const J=Object.create(null),oe=P.split(",");for(let be=0;be!!J[be.toLowerCase()]:be=>!!J[be]}const yo={},dv=[],Ks=()=>{},aM=()=>!1,iM=/^on[^a-z]/,Fg=P=>iM.test(P),s1=P=>P.startsWith("onUpdate:"),jo=Object.assign,l1=(P,N)=>{const J=P.indexOf(N);J>-1&&P.splice(J,1)},oM=Object.prototype.hasOwnProperty,zi=(P,N)=>oM.call(P,N),Va=Array.isArray,vv=P=>Jp(P)==="[object Map]",Og=P=>Jp(P)==="[object Set]",L2=P=>Jp(P)==="[object Date]",Qa=P=>typeof P=="function",ci=P=>typeof P=="string",Dp=P=>typeof P=="symbol",Ei=P=>P!==null&&typeof P=="object",Aw=P=>Ei(P)&&Qa(P.then)&&Qa(P.catch),Mw=Object.prototype.toString,Jp=P=>Mw.call(P),eg=P=>Jp(P).slice(8,-1),Sw=P=>Jp(P)==="[object Object]",u1=P=>ci(P)&&P!=="NaN"&&P[0]!=="-"&&""+parseInt(P,10)===P,tg=o1(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zg=P=>{const N=Object.create(null);return J=>N[J]||(N[J]=P(J))},sM=/-(\w)/g,Hf=zg(P=>P.replace(sM,(N,J)=>J?J.toUpperCase():"")),lM=/\B([A-Z])/g,_d=zg(P=>P.replace(lM,"-$1").toLowerCase()),Bg=zg(P=>P.charAt(0).toUpperCase()+P.slice(1)),rg=zg(P=>P?`on${Bg(P)}`:""),kp=(P,N)=>!Object.is(P,N),ng=(P,N)=>{for(let J=0;J{Object.defineProperty(P,N,{configurable:!0,enumerable:!1,value:J})},xm=P=>{const N=parseFloat(P);return isNaN(N)?P:N},uM=P=>{const N=ci(P)?Number(P):NaN;return isNaN(N)?P:N};let _2;const bm=()=>_2||(_2=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ao(P){if(Va(P)){const N={};for(let J=0;J{if(J){const oe=J.split(cM);oe.length>1&&(N[oe[0].trim()]=oe[1].trim())}}),N}function ua(P){let N="";if(ci(P))N=P;else if(Va(P))for(let J=0;Jyv(J,N))}const Io=P=>ci(P)?P:P==null?"":Va(P)||Ei(P)&&(P.toString===Mw||!Qa(P.toString))?JSON.stringify(P,Lw,2):String(P),Lw=(P,N)=>N&&N.__v_isRef?Lw(P,N.value):vv(N)?{[`Map(${N.size})`]:[...N.entries()].reduce((J,[oe,be])=>(J[`${oe} =>`]=be,J),{})}:Og(N)?{[`Set(${N.size})`]:[...N.values()]}:Ei(N)&&!Va(N)&&!Sw(N)?String(N):N;let Zl;class yM{constructor(N=!1){this.detached=N,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Zl,!N&&Zl&&(this.index=(Zl.scopes||(Zl.scopes=[])).push(this)-1)}get active(){return this._active}run(N){if(this._active){const J=Zl;try{return Zl=this,N()}finally{Zl=J}}}on(){Zl=this}off(){Zl=this.parent}stop(N){if(this._active){let J,oe;for(J=0,oe=this.effects.length;J{const N=new Set(P);return N.w=0,N.n=0,N},Pw=P=>(P.w&Rh)>0,Rw=P=>(P.n&Rh)>0,bM=({deps:P})=>{if(P.length)for(let N=0;N{const{deps:N}=P;if(N.length){let J=0;for(let oe=0;oe{(E==="length"||E>=e)&&B.push(v)})}else switch(J!==void 0&&B.push(U.get(J)),N){case"add":Va(P)?u1(J)&&B.push(U.get("length")):(B.push(U.get(Md)),vv(P)&&B.push(U.get(Tm)));break;case"delete":Va(P)||(B.push(U.get(Md)),vv(P)&&B.push(U.get(Tm)));break;case"set":vv(P)&&B.push(U.get(Md));break}if(B.length===1)B[0]&&Am(B[0]);else{const e=[];for(const v of B)v&&e.push(...v);Am(f1(e))}}function Am(P,N){const J=Va(P)?P:[...P];for(const oe of J)oe.computed&&R2(oe);for(const oe of J)oe.computed||R2(oe)}function R2(P,N){(P!==ef||P.allowRecurse)&&(P.scheduler?P.scheduler():P.run())}function TM(P,N){var J;return(J=gg.get(P))==null?void 0:J.get(N)}const AM=o1("__proto__,__v_isRef,__isVue"),kw=new Set(Object.getOwnPropertyNames(Symbol).filter(P=>P!=="arguments"&&P!=="caller").map(P=>Symbol[P]).filter(Dp)),MM=h1(),SM=h1(!1,!0),EM=h1(!0),I2=CM();function CM(){const P={};return["includes","indexOf","lastIndexOf"].forEach(N=>{P[N]=function(...J){const oe=Mi(this);for(let _e=0,U=this.length;_e{P[N]=function(...J){Fv();const oe=Mi(this)[N].apply(this,J);return Ov(),oe}}),P}function LM(P){const N=Mi(this);return Pl(N,"has",P),N.hasOwnProperty(P)}function h1(P=!1,N=!1){return function(oe,be,_e){if(be==="__v_isReactive")return!P;if(be==="__v_isReadonly")return P;if(be==="__v_isShallow")return N;if(be==="__v_raw"&&_e===(P?N?WM:Nw:N?Bw:zw).get(oe))return oe;const U=Va(oe);if(!P){if(U&&zi(I2,be))return Reflect.get(I2,be,_e);if(be==="hasOwnProperty")return LM}const B=Reflect.get(oe,be,_e);return(Dp(be)?kw.has(be):AM(be))||(P||Pl(oe,"get",be),N)?B:mo(B)?U&&u1(be)?B:B.value:Ei(B)?P?Qp(B):xs(B):B}}const _M=Fw(),PM=Fw(!0);function Fw(P=!1){return function(J,oe,be,_e){let U=J[oe];if(mv(U)&&mo(U)&&!mo(be))return!1;if(!P&&(!yg(be)&&!mv(be)&&(U=Mi(U),be=Mi(be)),!Va(J)&&mo(U)&&!mo(be)))return U.value=be,!0;const B=Va(J)&&u1(oe)?Number(oe)P,Ng=P=>Reflect.getPrototypeOf(P);function O0(P,N,J=!1,oe=!1){P=P.__v_raw;const be=Mi(P),_e=Mi(N);J||(N!==_e&&Pl(be,"get",N),Pl(be,"get",_e));const{has:U}=Ng(be),B=oe?d1:J?g1:Fp;if(U.call(be,N))return B(P.get(N));if(U.call(be,_e))return B(P.get(_e));P!==be&&P.get(N)}function z0(P,N=!1){const J=this.__v_raw,oe=Mi(J),be=Mi(P);return N||(P!==be&&Pl(oe,"has",P),Pl(oe,"has",be)),P===be?J.has(P):J.has(P)||J.has(be)}function B0(P,N=!1){return P=P.__v_raw,!N&&Pl(Mi(P),"iterate",Md),Reflect.get(P,"size",P)}function D2(P){P=Mi(P);const N=Mi(this);return Ng(N).has.call(N,P)||(N.add(P),Pc(N,"add",P,P)),this}function k2(P,N){N=Mi(N);const J=Mi(this),{has:oe,get:be}=Ng(J);let _e=oe.call(J,P);_e||(P=Mi(P),_e=oe.call(J,P));const U=be.call(J,P);return J.set(P,N),_e?kp(N,U)&&Pc(J,"set",P,N):Pc(J,"add",P,N),this}function F2(P){const N=Mi(this),{has:J,get:oe}=Ng(N);let be=J.call(N,P);be||(P=Mi(P),be=J.call(N,P)),oe&&oe.call(N,P);const _e=N.delete(P);return be&&Pc(N,"delete",P,void 0),_e}function O2(){const P=Mi(this),N=P.size!==0,J=P.clear();return N&&Pc(P,"clear",void 0,void 0),J}function N0(P,N){return function(oe,be){const _e=this,U=_e.__v_raw,B=Mi(U),e=N?d1:P?g1:Fp;return!P&&Pl(B,"iterate",Md),U.forEach((v,E)=>oe.call(be,e(v),e(E),_e))}}function U0(P,N,J){return function(...oe){const be=this.__v_raw,_e=Mi(be),U=vv(_e),B=P==="entries"||P===Symbol.iterator&&U,e=P==="keys"&&U,v=be[P](...oe),E=J?d1:N?g1:Fp;return!N&&Pl(_e,"iterate",e?Tm:Md),{next(){const{value:a,done:C}=v.next();return C?{value:a,done:C}:{value:B?[E(a[0]),E(a[1])]:E(a),done:C}},[Symbol.iterator](){return this}}}}function ph(P){return function(...N){return P==="delete"?!1:this}}function OM(){const P={get(_e){return O0(this,_e)},get size(){return B0(this)},has:z0,add:D2,set:k2,delete:F2,clear:O2,forEach:N0(!1,!1)},N={get(_e){return O0(this,_e,!1,!0)},get size(){return B0(this)},has:z0,add:D2,set:k2,delete:F2,clear:O2,forEach:N0(!1,!0)},J={get(_e){return O0(this,_e,!0)},get size(){return B0(this,!0)},has(_e){return z0.call(this,_e,!0)},add:ph("add"),set:ph("set"),delete:ph("delete"),clear:ph("clear"),forEach:N0(!0,!1)},oe={get(_e){return O0(this,_e,!0,!0)},get size(){return B0(this,!0)},has(_e){return z0.call(this,_e,!0)},add:ph("add"),set:ph("set"),delete:ph("delete"),clear:ph("clear"),forEach:N0(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(_e=>{P[_e]=U0(_e,!1,!1),J[_e]=U0(_e,!0,!1),N[_e]=U0(_e,!1,!0),oe[_e]=U0(_e,!0,!0)}),[P,J,N,oe]}const[zM,BM,NM,UM]=OM();function v1(P,N){const J=N?P?UM:NM:P?BM:zM;return(oe,be,_e)=>be==="__v_isReactive"?!P:be==="__v_isReadonly"?P:be==="__v_raw"?oe:Reflect.get(zi(J,be)&&be in oe?J:oe,be,_e)}const HM={get:v1(!1,!1)},VM={get:v1(!1,!0)},GM={get:v1(!0,!1)},zw=new WeakMap,Bw=new WeakMap,Nw=new WeakMap,WM=new WeakMap;function jM(P){switch(P){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function YM(P){return P.__v_skip||!Object.isExtensible(P)?0:jM(eg(P))}function xs(P){return mv(P)?P:p1(P,!1,Ow,HM,zw)}function Uw(P){return p1(P,!1,FM,VM,Bw)}function Qp(P){return p1(P,!0,kM,GM,Nw)}function p1(P,N,J,oe,be){if(!Ei(P)||P.__v_raw&&!(N&&P.__v_isReactive))return P;const _e=be.get(P);if(_e)return _e;const U=YM(P);if(U===0)return P;const B=new Proxy(P,U===2?oe:J);return be.set(P,B),B}function pv(P){return mv(P)?pv(P.__v_raw):!!(P&&P.__v_isReactive)}function mv(P){return!!(P&&P.__v_isReadonly)}function yg(P){return!!(P&&P.__v_isShallow)}function Hw(P){return pv(P)||mv(P)}function Mi(P){const N=P&&P.__v_raw;return N?Mi(N):P}function Vw(P){return pg(P,"__v_skip",!0),P}const Fp=P=>Ei(P)?xs(P):P,g1=P=>Ei(P)?Qp(P):P;function Gw(P){Lh&&ef&&(P=Mi(P),Dw(P.dep||(P.dep=f1())))}function y1(P,N){P=Mi(P);const J=P.dep;J&&Am(J)}function mo(P){return!!(P&&P.__v_isRef===!0)}function ra(P){return Ww(P,!1)}function _h(P){return Ww(P,!0)}function Ww(P,N){return mo(P)?P:new ZM(P,N)}class ZM{constructor(N,J){this.__v_isShallow=J,this.dep=void 0,this.__v_isRef=!0,this._rawValue=J?N:Mi(N),this._value=J?N:Fp(N)}get value(){return Gw(this),this._value}set value(N){const J=this.__v_isShallow||yg(N)||mv(N);N=J?N:Mi(N),kp(N,this._rawValue)&&(this._rawValue=N,this._value=J?N:Fp(N),y1(this))}}function hp(P){y1(P)}function Ar(P){return mo(P)?P.value:P}const XM={get:(P,N,J)=>Ar(Reflect.get(P,N,J)),set:(P,N,J,oe)=>{const be=P[N];return mo(be)&&!mo(J)?(be.value=J,!0):Reflect.set(P,N,J,oe)}};function jw(P){return pv(P)?P:new Proxy(P,XM)}function Pd(P){const N=Va(P)?new Array(P.length):{};for(const J in P)N[J]=Yw(P,J);return N}class KM{constructor(N,J,oe){this._object=N,this._key=J,this._defaultValue=oe,this.__v_isRef=!0}get value(){const N=this._object[this._key];return N===void 0?this._defaultValue:N}set value(N){this._object[this._key]=N}get dep(){return TM(Mi(this._object),this._key)}}class $M{constructor(N){this._getter=N,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function zf(P,N,J){return mo(P)?P:Qa(P)?new $M(P):Ei(P)&&arguments.length>1?Yw(P,N,J):ra(P)}function Yw(P,N,J){const oe=P[N];return mo(oe)?oe:new KM(P,N,J)}class JM{constructor(N,J,oe,be){this._setter=J,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new c1(N,()=>{this._dirty||(this._dirty=!0,y1(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!be,this.__v_isReadonly=oe}get value(){const N=Mi(this);return Gw(N),(N._dirty||!N._cacheable)&&(N._dirty=!1,N._value=N.effect.run()),N._value}set value(N){this._setter(N)}}function QM(P,N,J=!1){let oe,be;const _e=Qa(P);return _e?(oe=P,be=Ks):(oe=P.get,be=P.set),new JM(oe,be,_e||!be,J)}function qM(P,...N){}function Ph(P,N,J,oe){let be;try{be=oe?P(...oe):P()}catch(_e){Ug(_e,N,J)}return be}function wu(P,N,J,oe){if(Qa(P)){const _e=Ph(P,N,J,oe);return _e&&Aw(_e)&&_e.catch(U=>{Ug(U,N,J)}),_e}const be=[];for(let _e=0;_e>>1;zp(Xs[oe])Of&&Xs.splice(N,1)}function nS(P){Va(P)?gv.push(...P):(!Mc||!Mc.includes(P,P.allowRecurse?md+1:md))&&gv.push(P),Xw()}function z2(P,N=Op?Of+1:0){for(;Nzp(J)-zp(oe)),md=0;mdP.id==null?1/0:P.id,aS=(P,N)=>{const J=zp(P)-zp(N);if(J===0){if(P.pre&&!N.pre)return-1;if(N.pre&&!P.pre)return 1}return J};function $w(P){Mm=!1,Op=!0,Xs.sort(aS);const N=Ks;try{for(Of=0;Ofci(w)?w.trim():w)),a&&(be=J.map(xm))}let B,e=oe[B=rg(N)]||oe[B=rg(Hf(N))];!e&&_e&&(e=oe[B=rg(_d(N))]),e&&wu(e,P,6,be);const v=oe[B+"Once"];if(v){if(!P.emitted)P.emitted={};else if(P.emitted[B])return;P.emitted[B]=!0,wu(v,P,6,be)}}function Jw(P,N,J=!1){const oe=N.emitsCache,be=oe.get(P);if(be!==void 0)return be;const _e=P.emits;let U={},B=!1;if(!Qa(P)){const e=v=>{const E=Jw(v,N,!0);E&&(B=!0,jo(U,E))};!J&&N.mixins.length&&N.mixins.forEach(e),P.extends&&e(P.extends),P.mixins&&P.mixins.forEach(e)}return!_e&&!B?(Ei(P)&&oe.set(P,null),null):(Va(_e)?_e.forEach(e=>U[e]=null):jo(U,_e),Ei(P)&&oe.set(P,U),U)}function Hg(P,N){return!P||!Fg(N)?!1:(N=N.slice(2).replace(/Once$/,""),zi(P,N[0].toLowerCase()+N.slice(1))||zi(P,_d(N))||zi(P,N))}let Is=null,Qw=null;function mg(P){const N=Is;return Is=P,Qw=P&&P.type.__scopeId||null,N}function Ea(P,N=Is,J){if(!N||P._n)return P;const oe=(...be)=>{oe._d&&$2(-1);const _e=mg(N);let U;try{U=P(...be)}finally{mg(_e),oe._d&&$2(1)}return U};return oe._n=!0,oe._c=!0,oe._d=!0,oe}function Gy(P){const{type:N,vnode:J,proxy:oe,withProxy:be,props:_e,propsOptions:[U],slots:B,attrs:e,emit:v,render:E,renderCache:a,data:C,setupState:w,ctx:d,inheritAttrs:p}=P;let t,r;const c=mg(P);try{if(J.shapeFlag&4){const n=be||oe;t=Df(E.call(n,n,a,_e,w,C,d)),r=e}else{const n=N;t=Df(n.length>1?n(_e,{attrs:e,slots:B,emit:v}):n(_e,null)),r=N.props?e:oS(e)}}catch(n){Ep.length=0,Ug(n,P,1),t=Ia(ql)}let o=t;if(r&&p!==!1){const n=Object.keys(r),{shapeFlag:u}=o;n.length&&u&7&&(U&&n.some(s1)&&(r=sS(r,U)),o=Rc(o,r))}return J.dirs&&(o=Rc(o),o.dirs=o.dirs?o.dirs.concat(J.dirs):J.dirs),J.transition&&(o.transition=J.transition),t=o,mg(c),t}const oS=P=>{let N;for(const J in P)(J==="class"||J==="style"||Fg(J))&&((N||(N={}))[J]=P[J]);return N},sS=(P,N)=>{const J={};for(const oe in P)(!s1(oe)||!(oe.slice(9)in N))&&(J[oe]=P[oe]);return J};function lS(P,N,J){const{props:oe,children:be,component:_e}=P,{props:U,children:B,patchFlag:e}=N,v=_e.emitsOptions;if(N.dirs||N.transition)return!0;if(J&&e>=0){if(e&1024)return!0;if(e&16)return oe?B2(oe,U,v):!!U;if(e&8){const E=N.dynamicProps;for(let a=0;aP.__isSuspense;function cS(P,N){N&&N.pendingBranch?Va(P)?N.effects.push(...P):N.effects.push(P):nS(P)}function qw(P,N){return b1(P,null,N)}const H0={};function ja(P,N,J){return b1(P,N,J)}function b1(P,N,{immediate:J,deep:oe,flush:be,onTrack:_e,onTrigger:U}=yo){var B;const e=_w()===((B=ps)==null?void 0:B.scope)?ps:null;let v,E=!1,a=!1;if(mo(P)?(v=()=>P.value,E=yg(P)):pv(P)?(v=()=>P,oe=!0):Va(P)?(a=!0,E=P.some(n=>pv(n)||yg(n)),v=()=>P.map(n=>{if(mo(n))return n.value;if(pv(n))return wd(n);if(Qa(n))return Ph(n,e,2)})):Qa(P)?N?v=()=>Ph(P,e,2):v=()=>{if(!(e&&e.isUnmounted))return C&&C(),wu(P,e,3,[w])}:v=Ks,N&&oe){const n=v;v=()=>wd(n())}let C,w=n=>{C=c.onStop=()=>{Ph(n,e,4)}},d;if(Hp)if(w=Ks,N?J&&wu(N,e,3,[v(),a?[]:void 0,w]):v(),be==="sync"){const n=iE();d=n.__watcherHandles||(n.__watcherHandles=[])}else return Ks;let p=a?new Array(P.length).fill(H0):H0;const t=()=>{if(c.active)if(N){const n=c.run();(oe||E||(a?n.some((u,i)=>kp(u,p[i])):kp(n,p)))&&(C&&C(),wu(N,e,3,[n,p===H0?void 0:a&&p[0]===H0?[]:p,w]),p=n)}else c.run()};t.allowRecurse=!!N;let r;be==="sync"?r=t:be==="post"?r=()=>El(t,e&&e.suspense):(t.pre=!0,e&&(t.id=e.uid),r=()=>x1(t));const c=new c1(v,r);N?J?t():p=c.run():be==="post"?El(c.run.bind(c),e&&e.suspense):c.run();const o=()=>{c.stop(),e&&e.scope&&l1(e.scope.effects,c)};return d&&d.push(o),o}function hS(P,N,J){const oe=this.proxy,be=ci(P)?P.includes(".")?eT(oe,P):()=>oe[P]:P.bind(oe,oe);let _e;Qa(N)?_e=N:(_e=N.handler,J=N);const U=ps;xv(this);const B=b1(be,_e.bind(oe),J);return U?xv(U):Sd(),B}function eT(P,N){const J=N.split(".");return()=>{let oe=P;for(let be=0;be{wd(J,N)});else if(Sw(P))for(const J in P)wd(P[J],N);return P}function ys(P,N){const J=Is;if(J===null)return P;const oe=Yg(J)||J.proxy,be=P.dirs||(P.dirs=[]);for(let _e=0;_e{P.isMounted=!0}),$s(()=>{P.isUnmounting=!0}),P}const xu=[Function,Array],rT={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xu,onEnter:xu,onAfterEnter:xu,onEnterCancelled:xu,onBeforeLeave:xu,onLeave:xu,onAfterLeave:xu,onLeaveCancelled:xu,onBeforeAppear:xu,onAppear:xu,onAfterAppear:xu,onAppearCancelled:xu},dS={name:"BaseTransition",props:rT,setup(P,{slots:N}){const J=bs(),oe=tT();let be;return()=>{const _e=N.default&&w1(N.default(),!0);if(!_e||!_e.length)return;let U=_e[0];if(_e.length>1){for(const p of _e)if(p.type!==ql){U=p;break}}const B=Mi(P),{mode:e}=B;if(oe.isLeaving)return Wy(U);const v=N2(U);if(!v)return Wy(U);const E=Bp(v,B,oe,J);Np(v,E);const a=J.subTree,C=a&&N2(a);let w=!1;const{getTransitionKey:d}=v.type;if(d){const p=d();be===void 0?be=p:p!==be&&(be=p,w=!0)}if(C&&C.type!==ql&&(!xd(v,C)||w)){const p=Bp(C,B,oe,J);if(Np(C,p),e==="out-in")return oe.isLeaving=!0,p.afterLeave=()=>{oe.isLeaving=!1,J.update.active!==!1&&J.update()},Wy(U);e==="in-out"&&v.type!==ql&&(p.delayLeave=(t,r,c)=>{const o=nT(oe,C);o[String(C.key)]=C,t._leaveCb=()=>{r(),t._leaveCb=void 0,delete E.delayedLeave},E.delayedLeave=c})}return U}}},vS=dS;function nT(P,N){const{leavingVNodes:J}=P;let oe=J.get(N.type);return oe||(oe=Object.create(null),J.set(N.type,oe)),oe}function Bp(P,N,J,oe){const{appear:be,mode:_e,persisted:U=!1,onBeforeEnter:B,onEnter:e,onAfterEnter:v,onEnterCancelled:E,onBeforeLeave:a,onLeave:C,onAfterLeave:w,onLeaveCancelled:d,onBeforeAppear:p,onAppear:t,onAfterAppear:r,onAppearCancelled:c}=N,o=String(P.key),n=nT(J,P),u=(h,x)=>{h&&wu(h,oe,9,x)},i=(h,x)=>{const f=x[1];u(h,x),Va(h)?h.every(l=>l.length<=1)&&f():h.length<=1&&f()},g={mode:_e,persisted:U,beforeEnter(h){let x=B;if(!J.isMounted)if(be)x=p||B;else return;h._leaveCb&&h._leaveCb(!0);const f=n[o];f&&xd(P,f)&&f.el._leaveCb&&f.el._leaveCb(),u(x,[h])},enter(h){let x=e,f=v,l=E;if(!J.isMounted)if(be)x=t||e,f=r||v,l=c||E;else return;let y=!1;const T=h._enterCb=S=>{y||(y=!0,S?u(l,[h]):u(f,[h]),g.delayedLeave&&g.delayedLeave(),h._enterCb=void 0)};x?i(x,[h,T]):T()},leave(h,x){const f=String(P.key);if(h._enterCb&&h._enterCb(!0),J.isUnmounting)return x();u(a,[h]);let l=!1;const y=h._leaveCb=T=>{l||(l=!0,x(),T?u(d,[h]):u(w,[h]),h._leaveCb=void 0,n[f]===P&&delete n[f])};n[f]=P,C?i(C,[h,y]):y()},clone(h){return Bp(h,N,J,oe)}};return g}function Wy(P){if(Vg(P))return P=Rc(P),P.children=null,P}function N2(P){return Vg(P)?P.children?P.children[0]:void 0:P}function Np(P,N){P.shapeFlag&6&&P.component?Np(P.component.subTree,N):P.shapeFlag&128?(P.ssContent.transition=N.clone(P.ssContent),P.ssFallback.transition=N.clone(P.ssFallback)):P.transition=N}function w1(P,N=!1,J){let oe=[],be=0;for(let _e=0;_e1)for(let _e=0;_ejo({name:P.name},N,{setup:P}))():P}const Tp=P=>!!P.type.__asyncLoader,Vg=P=>P.type.__isKeepAlive;function pS(P,N){iT(P,"a",N)}function aT(P,N){iT(P,"da",N)}function iT(P,N,J=ps){const oe=P.__wdc||(P.__wdc=()=>{let be=J;for(;be;){if(be.isDeactivated)return;be=be.parent}return P()});if(Gg(N,oe,J),J){let be=J.parent;for(;be&&be.parent;)Vg(be.parent.vnode)&&gS(oe,N,J,be),be=be.parent}}function gS(P,N,J,oe){const be=Gg(N,P,oe,!0);T1(()=>{l1(oe[N],be)},J)}function Gg(P,N,J=ps,oe=!1){if(J){const be=J[P]||(J[P]=[]),_e=N.__weh||(N.__weh=(...U)=>{if(J.isUnmounted)return;Fv(),xv(J);const B=wu(N,J,P,U);return Sd(),Ov(),B});return oe?be.unshift(_e):be.push(_e),_e}}const kc=P=>(N,J=ps)=>(!Hp||P==="sp")&&Gg(P,(...oe)=>N(...oe),J),oT=kc("bm"),xo=kc("m"),yS=kc("bu"),Wg=kc("u"),$s=kc("bum"),T1=kc("um"),mS=kc("sp"),xS=kc("rtg"),bS=kc("rtc");function wS(P,N=ps){Gg("ec",P,N)}const A1="components",TS="directives";function qu(P,N){return M1(A1,P,!0,N)||P}const sT=Symbol.for("v-ndc");function Kl(P){return ci(P)?M1(A1,P,!1)||P:P||sT}function AS(P){return M1(TS,P)}function M1(P,N,J=!0,oe=!1){const be=Is||ps;if(be){const _e=be.type;if(P===A1){const B=rE(_e,!1);if(B&&(B===N||B===Hf(N)||B===Bg(Hf(N))))return _e}const U=U2(be[P]||_e[P],N)||U2(be.appContext[P],N);return!U&&oe?_e:U}}function U2(P,N){return P&&(P[N]||P[Hf(N)]||P[Bg(Hf(N))])}function Ap(P,N,J,oe){let be;const _e=J&&J[oe];if(Va(P)||ci(P)){be=new Array(P.length);for(let U=0,B=P.length;UN(U,B,void 0,_e&&_e[B]));else{const U=Object.keys(P);be=new Array(U.length);for(let B=0,e=U.length;B{const _e=oe.fn(...be);return _e&&(_e.key=oe.key),_e}:oe.fn)}return P}function ti(P,N,J={},oe,be){if(Is.isCE||Is.parent&&Tp(Is.parent)&&Is.parent.isCE)return N!=="default"&&(J.name=N),Ia("slot",J,oe&&oe());let _e=P[N];_e&&_e._c&&(_e._d=!1),Wn();const U=_e&&lT(_e(J)),B=ri(qi,{key:J.key||U&&U.key||`_${N}`},U||(oe?oe():[]),U&&P._===1?64:-2);return!be&&B.scopeId&&(B.slotScopeIds=[B.scopeId+"-s"]),_e&&_e._c&&(_e._d=!0),B}function lT(P){return P.some(N=>Ih(N)?!(N.type===ql||N.type===qi&&!lT(N.children)):!0)?P:null}function SS(P,N){const J={};for(const oe in P)J[N&&/[A-Z]/.test(oe)?`on:${oe}`:rg(oe)]=P[oe];return J}const Sm=P=>P?bT(P)?Yg(P)||P.proxy:Sm(P.parent):null,Mp=jo(Object.create(null),{$:P=>P,$el:P=>P.vnode.el,$data:P=>P.data,$props:P=>P.props,$attrs:P=>P.attrs,$slots:P=>P.slots,$refs:P=>P.refs,$parent:P=>Sm(P.parent),$root:P=>Sm(P.root),$emit:P=>P.emit,$options:P=>S1(P),$forceUpdate:P=>P.f||(P.f=()=>x1(P.update)),$nextTick:P=>P.n||(P.n=Ii.bind(P.proxy)),$watch:P=>hS.bind(P)}),jy=(P,N)=>P!==yo&&!P.__isScriptSetup&&zi(P,N),ES={get({_:P},N){const{ctx:J,setupState:oe,data:be,props:_e,accessCache:U,type:B,appContext:e}=P;let v;if(N[0]!=="$"){const w=U[N];if(w!==void 0)switch(w){case 1:return oe[N];case 2:return be[N];case 4:return J[N];case 3:return _e[N]}else{if(jy(oe,N))return U[N]=1,oe[N];if(be!==yo&&zi(be,N))return U[N]=2,be[N];if((v=P.propsOptions[0])&&zi(v,N))return U[N]=3,_e[N];if(J!==yo&&zi(J,N))return U[N]=4,J[N];Em&&(U[N]=0)}}const E=Mp[N];let a,C;if(E)return N==="$attrs"&&Pl(P,"get",N),E(P);if((a=B.__cssModules)&&(a=a[N]))return a;if(J!==yo&&zi(J,N))return U[N]=4,J[N];if(C=e.config.globalProperties,zi(C,N))return C[N]},set({_:P},N,J){const{data:oe,setupState:be,ctx:_e}=P;return jy(be,N)?(be[N]=J,!0):oe!==yo&&zi(oe,N)?(oe[N]=J,!0):zi(P.props,N)||N[0]==="$"&&N.slice(1)in P?!1:(_e[N]=J,!0)},has({_:{data:P,setupState:N,accessCache:J,ctx:oe,appContext:be,propsOptions:_e}},U){let B;return!!J[U]||P!==yo&&zi(P,U)||jy(N,U)||(B=_e[0])&&zi(B,U)||zi(oe,U)||zi(Mp,U)||zi(be.config.globalProperties,U)},defineProperty(P,N,J){return J.get!=null?P._.accessCache[N]=0:zi(J,"value")&&this.set(P,N,J.value,null),Reflect.defineProperty(P,N,J)}};function qp(){return uT().slots}function CS(){return uT().attrs}function uT(){const P=bs();return P.setupContext||(P.setupContext=TT(P))}function H2(P){return Va(P)?P.reduce((N,J)=>(N[J]=null,N),{}):P}let Em=!0;function LS(P){const N=S1(P),J=P.proxy,oe=P.ctx;Em=!1,N.beforeCreate&&V2(N.beforeCreate,P,"bc");const{data:be,computed:_e,methods:U,watch:B,provide:e,inject:v,created:E,beforeMount:a,mounted:C,beforeUpdate:w,updated:d,activated:p,deactivated:t,beforeDestroy:r,beforeUnmount:c,destroyed:o,unmounted:n,render:u,renderTracked:i,renderTriggered:g,errorCaptured:h,serverPrefetch:x,expose:f,inheritAttrs:l,components:y,directives:T,filters:S}=N;if(v&&_S(v,oe,null),U)for(const M in U){const b=U[M];Qa(b)&&(oe[M]=b.bind(J))}if(be){const M=be.call(J,J);Ei(M)&&(P.data=xs(M))}if(Em=!0,_e)for(const M in _e){const b=_e[M],s=Qa(b)?b.bind(J,J):Qa(b.get)?b.get.bind(J,J):Ks,_=!Qa(b)&&Qa(b.set)?b.set.bind(J):Ks,A=sn({get:s,set:_});Object.defineProperty(oe,M,{enumerable:!0,configurable:!0,get:()=>A.value,set:D=>A.value=D})}if(B)for(const M in B)fT(B[M],oe,J,M);if(e){const M=Qa(e)?e.call(J):e;Reflect.ownKeys(M).forEach(b=>{Bo(b,M[b])})}E&&V2(E,P,"c");function m(M,b){Va(b)?b.forEach(s=>M(s.bind(J))):b&&M(b.bind(J))}if(m(oT,a),m(xo,C),m(yS,w),m(Wg,d),m(pS,p),m(aT,t),m(wS,h),m(bS,i),m(xS,g),m($s,c),m(T1,n),m(mS,x),Va(f))if(f.length){const M=P.exposed||(P.exposed={});f.forEach(b=>{Object.defineProperty(M,b,{get:()=>J[b],set:s=>J[b]=s})})}else P.exposed||(P.exposed={});u&&P.render===Ks&&(P.render=u),l!=null&&(P.inheritAttrs=l),y&&(P.components=y),T&&(P.directives=T)}function _S(P,N,J=Ks){Va(P)&&(P=Cm(P));for(const oe in P){const be=P[oe];let _e;Ei(be)?"default"in be?_e=si(be.from||oe,be.default,!0):_e=si(be.from||oe):_e=si(be),mo(_e)?Object.defineProperty(N,oe,{enumerable:!0,configurable:!0,get:()=>_e.value,set:U=>_e.value=U}):N[oe]=_e}}function V2(P,N,J){wu(Va(P)?P.map(oe=>oe.bind(N.proxy)):P.bind(N.proxy),N,J)}function fT(P,N,J,oe){const be=oe.includes(".")?eT(J,oe):()=>J[oe];if(ci(P)){const _e=N[P];Qa(_e)&&ja(be,_e)}else if(Qa(P))ja(be,P.bind(J));else if(Ei(P))if(Va(P))P.forEach(_e=>fT(_e,N,J,oe));else{const _e=Qa(P.handler)?P.handler.bind(J):N[P.handler];Qa(_e)&&ja(be,_e,P)}}function S1(P){const N=P.type,{mixins:J,extends:oe}=N,{mixins:be,optionsCache:_e,config:{optionMergeStrategies:U}}=P.appContext,B=_e.get(N);let e;return B?e=B:!be.length&&!J&&!oe?e=N:(e={},be.length&&be.forEach(v=>xg(e,v,U,!0)),xg(e,N,U)),Ei(N)&&_e.set(N,e),e}function xg(P,N,J,oe=!1){const{mixins:be,extends:_e}=N;_e&&xg(P,_e,J,!0),be&&be.forEach(U=>xg(P,U,J,!0));for(const U in N)if(!(oe&&U==="expose")){const B=PS[U]||J&&J[U];P[U]=B?B(P[U],N[U]):N[U]}return P}const PS={data:G2,props:W2,emits:W2,methods:bp,computed:bp,beforeCreate:fl,created:fl,beforeMount:fl,mounted:fl,beforeUpdate:fl,updated:fl,beforeDestroy:fl,beforeUnmount:fl,destroyed:fl,unmounted:fl,activated:fl,deactivated:fl,errorCaptured:fl,serverPrefetch:fl,components:bp,directives:bp,watch:IS,provide:G2,inject:RS};function G2(P,N){return N?P?function(){return jo(Qa(P)?P.call(this,this):P,Qa(N)?N.call(this,this):N)}:N:P}function RS(P,N){return bp(Cm(P),Cm(N))}function Cm(P){if(Va(P)){const N={};for(let J=0;J1)return J&&Qa(N)?N.call(oe&&oe.proxy):N}}function FS(P,N,J,oe=!1){const be={},_e={};pg(_e,jg,1),P.propsDefaults=Object.create(null),hT(P,N,be,_e);for(const U in P.propsOptions[0])U in be||(be[U]=void 0);J?P.props=oe?be:Uw(be):P.type.props?P.props=be:P.props=_e,P.attrs=_e}function OS(P,N,J,oe){const{props:be,attrs:_e,vnode:{patchFlag:U}}=P,B=Mi(be),[e]=P.propsOptions;let v=!1;if((oe||U>0)&&!(U&16)){if(U&8){const E=P.vnode.dynamicProps;for(let a=0;a{e=!0;const[C,w]=dT(a,N,!0);jo(U,C),w&&B.push(...w)};!J&&N.mixins.length&&N.mixins.forEach(E),P.extends&&E(P.extends),P.mixins&&P.mixins.forEach(E)}if(!_e&&!e)return Ei(P)&&oe.set(P,dv),dv;if(Va(_e))for(let E=0;E<_e.length;E++){const a=Hf(_e[E]);j2(a)&&(U[a]=yo)}else if(_e)for(const E in _e){const a=Hf(E);if(j2(a)){const C=_e[E],w=U[a]=Va(C)||Qa(C)?{type:C}:jo({},C);if(w){const d=X2(Boolean,w.type),p=X2(String,w.type);w[0]=d>-1,w[1]=p<0||d-1||zi(w,"default"))&&B.push(a)}}}const v=[U,B];return Ei(P)&&oe.set(P,v),v}function j2(P){return P[0]!=="$"}function Y2(P){const N=P&&P.toString().match(/^\s*(function|class) (\w+)/);return N?N[2]:P===null?"null":""}function Z2(P,N){return Y2(P)===Y2(N)}function X2(P,N){return Va(N)?N.findIndex(J=>Z2(J,P)):Qa(N)&&Z2(N,P)?0:-1}const vT=P=>P[0]==="_"||P==="$stable",E1=P=>Va(P)?P.map(Df):[Df(P)],zS=(P,N,J)=>{if(N._n)return N;const oe=Ea((...be)=>E1(N(...be)),J);return oe._c=!1,oe},pT=(P,N,J)=>{const oe=P._ctx;for(const be in P){if(vT(be))continue;const _e=P[be];if(Qa(_e))N[be]=zS(be,_e,oe);else if(_e!=null){const U=E1(_e);N[be]=()=>U}}},gT=(P,N)=>{const J=E1(N);P.slots.default=()=>J},BS=(P,N)=>{if(P.vnode.shapeFlag&32){const J=N._;J?(P.slots=Mi(N),pg(N,"_",J)):pT(N,P.slots={})}else P.slots={},N&&gT(P,N);pg(P.slots,jg,1)},NS=(P,N,J)=>{const{vnode:oe,slots:be}=P;let _e=!0,U=yo;if(oe.shapeFlag&32){const B=N._;B?J&&B===1?_e=!1:(jo(be,N),!J&&B===1&&delete be._):(_e=!N.$stable,pT(N,be)),U=N}else N&&(gT(P,N),U={default:1});if(_e)for(const B in be)!vT(B)&&!(B in U)&&delete be[B]};function _m(P,N,J,oe,be=!1){if(Va(P)){P.forEach((C,w)=>_m(C,N&&(Va(N)?N[w]:N),J,oe,be));return}if(Tp(oe)&&!be)return;const _e=oe.shapeFlag&4?Yg(oe.component)||oe.component.proxy:oe.el,U=be?null:_e,{i:B,r:e}=P,v=N&&N.r,E=B.refs===yo?B.refs={}:B.refs,a=B.setupState;if(v!=null&&v!==e&&(ci(v)?(E[v]=null,zi(a,v)&&(a[v]=null)):mo(v)&&(v.value=null)),Qa(e))Ph(e,B,12,[U,E]);else{const C=ci(e),w=mo(e);if(C||w){const d=()=>{if(P.f){const p=C?zi(a,e)?a[e]:E[e]:e.value;be?Va(p)&&l1(p,_e):Va(p)?p.includes(_e)||p.push(_e):C?(E[e]=[_e],zi(a,e)&&(a[e]=E[e])):(e.value=[_e],P.k&&(E[P.k]=e.value))}else C?(E[e]=U,zi(a,e)&&(a[e]=U)):w&&(e.value=U,P.k&&(E[P.k]=U))};U?(d.id=-1,El(d,J)):d()}}}const El=cS;function US(P){return HS(P)}function HS(P,N){const J=bm();J.__VUE__=!0;const{insert:oe,remove:be,patchProp:_e,createElement:U,createText:B,createComment:e,setText:v,setElementText:E,parentNode:a,nextSibling:C,setScopeId:w=Ks,insertStaticContent:d}=P,p=(Q,ne,fe,$=null,Y=null,j=null,X=!1,re=null,le=!!ne.dynamicChildren)=>{if(Q===ne)return;Q&&!xd(Q,ne)&&($=z(Q),D(Q,Y,j,!0),Q=null),ne.patchFlag===-2&&(le=!1,ne.dynamicChildren=null);const{type:q,ref:te,shapeFlag:ue}=ne;switch(q){case zv:t(Q,ne,fe,$);break;case ql:r(Q,ne,fe,$);break;case Yy:Q==null&&c(ne,fe,$,X);break;case qi:y(Q,ne,fe,$,Y,j,X,re,le);break;default:ue&1?u(Q,ne,fe,$,Y,j,X,re,le):ue&6?T(Q,ne,fe,$,Y,j,X,re,le):(ue&64||ue&128)&&q.process(Q,ne,fe,$,Y,j,X,re,le,V)}te!=null&&Y&&_m(te,Q&&Q.ref,j,ne||Q,!ne)},t=(Q,ne,fe,$)=>{if(Q==null)oe(ne.el=B(ne.children),fe,$);else{const Y=ne.el=Q.el;ne.children!==Q.children&&v(Y,ne.children)}},r=(Q,ne,fe,$)=>{Q==null?oe(ne.el=e(ne.children||""),fe,$):ne.el=Q.el},c=(Q,ne,fe,$)=>{[Q.el,Q.anchor]=d(Q.children,ne,fe,$,Q.el,Q.anchor)},o=({el:Q,anchor:ne},fe,$)=>{let Y;for(;Q&&Q!==ne;)Y=C(Q),oe(Q,fe,$),Q=Y;oe(ne,fe,$)},n=({el:Q,anchor:ne})=>{let fe;for(;Q&&Q!==ne;)fe=C(Q),be(Q),Q=fe;be(ne)},u=(Q,ne,fe,$,Y,j,X,re,le)=>{X=X||ne.type==="svg",Q==null?i(ne,fe,$,Y,j,X,re,le):x(Q,ne,Y,j,X,re,le)},i=(Q,ne,fe,$,Y,j,X,re)=>{let le,q;const{type:te,props:ue,shapeFlag:ae,transition:de,dirs:xe}=Q;if(le=Q.el=U(Q.type,j,ue&&ue.is,ue),ae&8?E(le,Q.children):ae&16&&h(Q.children,le,null,$,Y,j&&te!=="foreignObject",X,re),xe&&dd(Q,null,$,"created"),g(le,Q,Q.scopeId,X,$),ue){for(const Ae in ue)Ae!=="value"&&!tg(Ae)&&_e(le,Ae,null,ue[Ae],j,Q.children,$,Y,H);"value"in ue&&_e(le,"value",null,ue.value),(q=ue.onVnodeBeforeMount)&&If(q,$,Q)}xe&&dd(Q,null,$,"beforeMount");const Se=(!Y||Y&&!Y.pendingBranch)&&de&&!de.persisted;Se&&de.beforeEnter(le),oe(le,ne,fe),((q=ue&&ue.onVnodeMounted)||Se||xe)&&El(()=>{q&&If(q,$,Q),Se&&de.enter(le),xe&&dd(Q,null,$,"mounted")},Y)},g=(Q,ne,fe,$,Y)=>{if(fe&&w(Q,fe),$)for(let j=0;j<$.length;j++)w(Q,$[j]);if(Y){let j=Y.subTree;if(ne===j){const X=Y.vnode;g(Q,X,X.scopeId,X.slotScopeIds,Y.parent)}}},h=(Q,ne,fe,$,Y,j,X,re,le=0)=>{for(let q=le;q{const re=ne.el=Q.el;let{patchFlag:le,dynamicChildren:q,dirs:te}=ne;le|=Q.patchFlag&16;const ue=Q.props||yo,ae=ne.props||yo;let de;fe&&vd(fe,!1),(de=ae.onVnodeBeforeUpdate)&&If(de,fe,ne,Q),te&&dd(ne,Q,fe,"beforeUpdate"),fe&&vd(fe,!0);const xe=Y&&ne.type!=="foreignObject";if(q?f(Q.dynamicChildren,q,re,fe,$,xe,j):X||b(Q,ne,re,null,fe,$,xe,j,!1),le>0){if(le&16)l(re,ne,ue,ae,fe,$,Y);else if(le&2&&ue.class!==ae.class&&_e(re,"class",null,ae.class,Y),le&4&&_e(re,"style",ue.style,ae.style,Y),le&8){const Se=ne.dynamicProps;for(let Ae=0;Ae{de&&If(de,fe,ne,Q),te&&dd(ne,Q,fe,"updated")},$)},f=(Q,ne,fe,$,Y,j,X)=>{for(let re=0;re{if(fe!==$){if(fe!==yo)for(const re in fe)!tg(re)&&!(re in $)&&_e(Q,re,fe[re],null,X,ne.children,Y,j,H);for(const re in $){if(tg(re))continue;const le=$[re],q=fe[re];le!==q&&re!=="value"&&_e(Q,re,q,le,X,ne.children,Y,j,H)}"value"in $&&_e(Q,"value",fe.value,$.value)}},y=(Q,ne,fe,$,Y,j,X,re,le)=>{const q=ne.el=Q?Q.el:B(""),te=ne.anchor=Q?Q.anchor:B("");let{patchFlag:ue,dynamicChildren:ae,slotScopeIds:de}=ne;de&&(re=re?re.concat(de):de),Q==null?(oe(q,fe,$),oe(te,fe,$),h(ne.children,fe,te,Y,j,X,re,le)):ue>0&&ue&64&&ae&&Q.dynamicChildren?(f(Q.dynamicChildren,ae,fe,Y,j,X,re),(ne.key!=null||Y&&ne===Y.subTree)&&C1(Q,ne,!0)):b(Q,ne,fe,te,Y,j,X,re,le)},T=(Q,ne,fe,$,Y,j,X,re,le)=>{ne.slotScopeIds=re,Q==null?ne.shapeFlag&512?Y.ctx.activate(ne,fe,$,X,le):S(ne,fe,$,Y,j,X,le):L(Q,ne,le)},S=(Q,ne,fe,$,Y,j,X)=>{const re=Q.component=QS(Q,$,Y);if(Vg(Q)&&(re.ctx.renderer=V),qS(re),re.asyncDep){if(Y&&Y.registerDep(re,m),!Q.el){const le=re.subTree=Ia(ql);r(null,le,ne,fe)}return}m(re,Q,ne,fe,Y,j,X)},L=(Q,ne,fe)=>{const $=ne.component=Q.component;if(lS(Q,ne,fe))if($.asyncDep&&!$.asyncResolved){M($,ne,fe);return}else $.next=ne,rS($.update),$.update();else ne.el=Q.el,$.vnode=ne},m=(Q,ne,fe,$,Y,j,X)=>{const re=()=>{if(Q.isMounted){let{next:te,bu:ue,u:ae,parent:de,vnode:xe}=Q,Se=te,Ae;vd(Q,!1),te?(te.el=xe.el,M(Q,te,X)):te=xe,ue&&ng(ue),(Ae=te.props&&te.props.onVnodeBeforeUpdate)&&If(Ae,de,te,xe),vd(Q,!0);const Be=Gy(Q),Oe=Q.subTree;Q.subTree=Be,p(Oe,Be,a(Oe.el),z(Oe),Q,Y,j),te.el=Be.el,Se===null&&uS(Q,Be.el),ae&&El(ae,Y),(Ae=te.props&&te.props.onVnodeUpdated)&&El(()=>If(Ae,de,te,xe),Y)}else{let te;const{el:ue,props:ae}=ne,{bm:de,m:xe,parent:Se}=Q,Ae=Tp(ne);if(vd(Q,!1),de&&ng(de),!Ae&&(te=ae&&ae.onVnodeBeforeMount)&&If(te,Se,ne),vd(Q,!0),ue&&ee){const Be=()=>{Q.subTree=Gy(Q),ee(ue,Q.subTree,Q,Y,null)};Ae?ne.type.__asyncLoader().then(()=>!Q.isUnmounted&&Be()):Be()}else{const Be=Q.subTree=Gy(Q);p(null,Be,fe,$,Q,Y,j),ne.el=Be.el}if(xe&&El(xe,Y),!Ae&&(te=ae&&ae.onVnodeMounted)){const Be=ne;El(()=>If(te,Se,Be),Y)}(ne.shapeFlag&256||Se&&Tp(Se.vnode)&&Se.vnode.shapeFlag&256)&&Q.a&&El(Q.a,Y),Q.isMounted=!0,ne=fe=$=null}},le=Q.effect=new c1(re,()=>x1(q),Q.scope),q=Q.update=()=>le.run();q.id=Q.uid,vd(Q,!0),q()},M=(Q,ne,fe)=>{ne.component=Q;const $=Q.vnode.props;Q.vnode=ne,Q.next=null,OS(Q,ne.props,$,fe),NS(Q,ne.children,fe),Fv(),z2(),Ov()},b=(Q,ne,fe,$,Y,j,X,re,le=!1)=>{const q=Q&&Q.children,te=Q?Q.shapeFlag:0,ue=ne.children,{patchFlag:ae,shapeFlag:de}=ne;if(ae>0){if(ae&128){_(q,ue,fe,$,Y,j,X,re,le);return}else if(ae&256){s(q,ue,fe,$,Y,j,X,re,le);return}}de&8?(te&16&&H(q,Y,j),ue!==q&&E(fe,ue)):te&16?de&16?_(q,ue,fe,$,Y,j,X,re,le):H(q,Y,j,!0):(te&8&&E(fe,""),de&16&&h(ue,fe,$,Y,j,X,re,le))},s=(Q,ne,fe,$,Y,j,X,re,le)=>{Q=Q||dv,ne=ne||dv;const q=Q.length,te=ne.length,ue=Math.min(q,te);let ae;for(ae=0;aete?H(Q,Y,j,!0,!1,ue):h(ne,fe,$,Y,j,X,re,le,ue)},_=(Q,ne,fe,$,Y,j,X,re,le)=>{let q=0;const te=ne.length;let ue=Q.length-1,ae=te-1;for(;q<=ue&&q<=ae;){const de=Q[q],xe=ne[q]=le?Th(ne[q]):Df(ne[q]);if(xd(de,xe))p(de,xe,fe,null,Y,j,X,re,le);else break;q++}for(;q<=ue&&q<=ae;){const de=Q[ue],xe=ne[ae]=le?Th(ne[ae]):Df(ne[ae]);if(xd(de,xe))p(de,xe,fe,null,Y,j,X,re,le);else break;ue--,ae--}if(q>ue){if(q<=ae){const de=ae+1,xe=deae)for(;q<=ue;)D(Q[q],Y,j,!0),q++;else{const de=q,xe=q,Se=new Map;for(q=xe;q<=ae;q++){const He=ne[q]=le?Th(ne[q]):Df(ne[q]);He.key!=null&&Se.set(He.key,q)}let Ae,Be=0;const Oe=ae-xe+1;let Ee=!1,we=0;const Ce=new Array(Oe);for(q=0;q=Oe){D(He,Y,j,!0);continue}let De;if(He.key!=null)De=Se.get(He.key);else for(Ae=xe;Ae<=ae;Ae++)if(Ce[Ae-xe]===0&&xd(He,ne[Ae])){De=Ae;break}De===void 0?D(He,Y,j,!0):(Ce[De-xe]=q+1,De>=we?we=De:Ee=!0,p(He,ne[De],fe,null,Y,j,X,re,le),Be++)}const Ge=Ee?VS(Ce):dv;for(Ae=Ge.length-1,q=Oe-1;q>=0;q--){const He=xe+q,De=ne[He],Fe=He+1{const{el:j,type:X,transition:re,children:le,shapeFlag:q}=Q;if(q&6){A(Q.component.subTree,ne,fe,$);return}if(q&128){Q.suspense.move(ne,fe,$);return}if(q&64){X.move(Q,ne,fe,V);return}if(X===qi){oe(j,ne,fe);for(let ue=0;uere.enter(j),Y);else{const{leave:ue,delayLeave:ae,afterLeave:de}=re,xe=()=>oe(j,ne,fe),Se=()=>{ue(j,()=>{xe(),de&&de()})};ae?ae(j,xe,Se):Se()}else oe(j,ne,fe)},D=(Q,ne,fe,$=!1,Y=!1)=>{const{type:j,props:X,ref:re,children:le,dynamicChildren:q,shapeFlag:te,patchFlag:ue,dirs:ae}=Q;if(re!=null&&_m(re,null,fe,Q,!0),te&256){ne.ctx.deactivate(Q);return}const de=te&1&&ae,xe=!Tp(Q);let Se;if(xe&&(Se=X&&X.onVnodeBeforeUnmount)&&If(Se,ne,Q),te&6)O(Q.component,fe,$);else{if(te&128){Q.suspense.unmount(fe,$);return}de&&dd(Q,null,ne,"beforeUnmount"),te&64?Q.type.remove(Q,ne,fe,Y,V,$):q&&(j!==qi||ue>0&&ue&64)?H(q,ne,fe,!1,!0):(j===qi&&ue&384||!Y&&te&16)&&H(le,ne,fe),$&&F(Q)}(xe&&(Se=X&&X.onVnodeUnmounted)||de)&&El(()=>{Se&&If(Se,ne,Q),de&&dd(Q,null,ne,"unmounted")},fe)},F=Q=>{const{type:ne,el:fe,anchor:$,transition:Y}=Q;if(ne===qi){G(fe,$);return}if(ne===Yy){n(Q);return}const j=()=>{be(fe),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(Q.shapeFlag&1&&Y&&!Y.persisted){const{leave:X,delayLeave:re}=Y,le=()=>X(fe,j);re?re(Q.el,j,le):le()}else j()},G=(Q,ne)=>{let fe;for(;Q!==ne;)fe=C(Q),be(Q),Q=fe;be(ne)},O=(Q,ne,fe)=>{const{bum:$,scope:Y,update:j,subTree:X,um:re}=Q;$&&ng($),Y.stop(),j&&(j.active=!1,D(X,Q,ne,fe)),re&&El(re,ne),El(()=>{Q.isUnmounted=!0},ne),ne&&ne.pendingBranch&&!ne.isUnmounted&&Q.asyncDep&&!Q.asyncResolved&&Q.suspenseId===ne.pendingId&&(ne.deps--,ne.deps===0&&ne.resolve())},H=(Q,ne,fe,$=!1,Y=!1,j=0)=>{for(let X=j;XQ.shapeFlag&6?z(Q.component.subTree):Q.shapeFlag&128?Q.suspense.next():C(Q.anchor||Q.el),k=(Q,ne,fe)=>{Q==null?ne._vnode&&D(ne._vnode,null,null,!0):p(ne._vnode||null,Q,ne,null,null,null,fe),z2(),Kw(),ne._vnode=Q},V={p,um:D,m:A,r:F,mt:S,mc:h,pc:b,pbc:f,n:z,o:P};let Z,ee;return N&&([Z,ee]=N(V)),{render:k,hydrate:Z,createApp:kS(k,Z)}}function vd({effect:P,update:N},J){P.allowRecurse=N.allowRecurse=J}function C1(P,N,J=!1){const oe=P.children,be=N.children;if(Va(oe)&&Va(be))for(let _e=0;_e>1,P[J[B]]0&&(N[oe]=J[_e-1]),J[_e]=oe)}}for(_e=J.length,U=J[_e-1];_e-- >0;)J[_e]=U,U=N[U];return J}const GS=P=>P.__isTeleport,Sp=P=>P&&(P.disabled||P.disabled===""),K2=P=>typeof SVGElement<"u"&&P instanceof SVGElement,Pm=(P,N)=>{const J=P&&P.to;return ci(J)?N?N(J):null:J},WS={__isTeleport:!0,process(P,N,J,oe,be,_e,U,B,e,v){const{mc:E,pc:a,pbc:C,o:{insert:w,querySelector:d,createText:p,createComment:t}}=v,r=Sp(N.props);let{shapeFlag:c,children:o,dynamicChildren:n}=N;if(P==null){const u=N.el=p(""),i=N.anchor=p("");w(u,J,oe),w(i,J,oe);const g=N.target=Pm(N.props,d),h=N.targetAnchor=p("");g&&(w(h,g),U=U||K2(g));const x=(f,l)=>{c&16&&E(o,f,l,be,_e,U,B,e)};r?x(J,i):g&&x(g,h)}else{N.el=P.el;const u=N.anchor=P.anchor,i=N.target=P.target,g=N.targetAnchor=P.targetAnchor,h=Sp(P.props),x=h?J:i,f=h?u:g;if(U=U||K2(i),n?(C(P.dynamicChildren,n,x,be,_e,U,B),C1(P,N,!0)):e||a(P,N,x,f,be,_e,U,B,!1),r)h||V0(N,J,u,v,1);else if((N.props&&N.props.to)!==(P.props&&P.props.to)){const l=N.target=Pm(N.props,d);l&&V0(N,l,null,v,0)}else h&&V0(N,i,g,v,1)}yT(N)},remove(P,N,J,oe,{um:be,o:{remove:_e}},U){const{shapeFlag:B,children:e,anchor:v,targetAnchor:E,target:a,props:C}=P;if(a&&_e(E),(U||!Sp(C))&&(_e(v),B&16))for(let w=0;w0?tf||dv:null,ZS(),Up>0&&tf&&tf.push(P),P}function Oa(P,N,J,oe,be,_e){return mT(za(P,N,J,oe,be,_e,!0))}function ri(P,N,J,oe,be){return mT(Ia(P,N,J,oe,be,!0))}function Ih(P){return P?P.__v_isVNode===!0:!1}function xd(P,N){return P.type===N.type&&P.key===N.key}const jg="__vInternal",xT=({key:P})=>P??null,ag=({ref:P,ref_key:N,ref_for:J})=>(typeof P=="number"&&(P=""+P),P!=null?ci(P)||mo(P)||Qa(P)?{i:Is,r:P,k:N,f:!!J}:P:null);function za(P,N=null,J=null,oe=0,be=null,_e=P===qi?0:1,U=!1,B=!1){const e={__v_isVNode:!0,__v_skip:!0,type:P,props:N,key:N&&xT(N),ref:N&&ag(N),scopeId:Qw,slotScopeIds:null,children:J,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:_e,patchFlag:oe,dynamicProps:be,dynamicChildren:null,appContext:null,ctx:Is};return B?(L1(e,J),_e&128&&P.normalize(e)):J&&(e.shapeFlag|=ci(J)?8:16),Up>0&&!U&&tf&&(e.patchFlag>0||_e&6)&&e.patchFlag!==32&&tf.push(e),e}const Ia=XS;function XS(P,N=null,J=null,oe=0,be=null,_e=!1){if((!P||P===sT)&&(P=ql),Ih(P)){const B=Rc(P,N,!0);return J&&L1(B,J),Up>0&&!_e&&tf&&(B.shapeFlag&6?tf[tf.indexOf(P)]=B:tf.push(B)),B.patchFlag|=-2,B}if(nE(P)&&(P=P.__vccOpts),N){N=KS(N);let{class:B,style:e}=N;B&&!ci(B)&&(N.class=ua(B)),Ei(e)&&(Hw(e)&&!Va(e)&&(e=jo({},e)),N.style=ao(e))}const U=ci(P)?1:fS(P)?128:GS(P)?64:Ei(P)?4:Qa(P)?2:0;return za(P,N,J,oe,be,U,_e,!0)}function KS(P){return P?Hw(P)||jg in P?jo({},P):P:null}function Rc(P,N,J=!1){const{props:oe,ref:be,patchFlag:_e,children:U}=P,B=N?Nf(oe||{},N):oe;return{__v_isVNode:!0,__v_skip:!0,type:P.type,props:B,key:B&&xT(B),ref:N&&N.ref?J&&be?Va(be)?be.concat(ag(N)):[be,ag(N)]:ag(N):be,scopeId:P.scopeId,slotScopeIds:P.slotScopeIds,children:U,target:P.target,targetAnchor:P.targetAnchor,staticCount:P.staticCount,shapeFlag:P.shapeFlag,patchFlag:N&&P.type!==qi?_e===-1?16:_e|16:_e,dynamicProps:P.dynamicProps,dynamicChildren:P.dynamicChildren,appContext:P.appContext,dirs:P.dirs,transition:P.transition,component:P.component,suspense:P.suspense,ssContent:P.ssContent&&Rc(P.ssContent),ssFallback:P.ssFallback&&Rc(P.ssFallback),el:P.el,anchor:P.anchor,ctx:P.ctx,ce:P.ce}}function Ps(P=" ",N=0){return Ia(zv,null,P,N)}function ai(P="",N=!1){return N?(Wn(),ri(ql,null,P)):Ia(ql,null,P)}function Df(P){return P==null||typeof P=="boolean"?Ia(ql):Va(P)?Ia(qi,null,P.slice()):typeof P=="object"?Th(P):Ia(zv,null,String(P))}function Th(P){return P.el===null&&P.patchFlag!==-1||P.memo?P:Rc(P)}function L1(P,N){let J=0;const{shapeFlag:oe}=P;if(N==null)N=null;else if(Va(N))J=16;else if(typeof N=="object")if(oe&65){const be=N.default;be&&(be._c&&(be._d=!1),L1(P,be()),be._c&&(be._d=!0));return}else{J=32;const be=N._;!be&&!(jg in N)?N._ctx=Is:be===3&&Is&&(Is.slots._===1?N._=1:(N._=2,P.patchFlag|=1024))}else Qa(N)?(N={default:N,_ctx:Is},J=32):(N=String(N),oe&64?(J=16,N=[Ps(N)]):J=8);P.children=N,P.shapeFlag|=J}function Nf(...P){const N={};for(let J=0;Jps||Is;let _1,ov,J2="__VUE_INSTANCE_SETTERS__";(ov=bm()[J2])||(ov=bm()[J2]=[]),ov.push(P=>ps=P),_1=P=>{ov.length>1?ov.forEach(N=>N(P)):ov[0](P)};const xv=P=>{_1(P),P.scope.on()},Sd=()=>{ps&&ps.scope.off(),_1(null)};function bT(P){return P.vnode.shapeFlag&4}let Hp=!1;function qS(P,N=!1){Hp=N;const{props:J,children:oe}=P.vnode,be=bT(P);FS(P,J,be,N),BS(P,oe);const _e=be?eE(P,N):void 0;return Hp=!1,_e}function eE(P,N){const J=P.type;P.accessCache=Object.create(null),P.proxy=Vw(new Proxy(P.ctx,ES));const{setup:oe}=J;if(oe){const be=P.setupContext=oe.length>1?TT(P):null;xv(P),Fv();const _e=Ph(oe,P,0,[P.props,be]);if(Ov(),Sd(),Aw(_e)){if(_e.then(Sd,Sd),N)return _e.then(U=>{Q2(P,U,N)}).catch(U=>{Ug(U,P,0)});P.asyncDep=_e}else Q2(P,_e,N)}else wT(P,N)}function Q2(P,N,J){Qa(N)?P.type.__ssrInlineRender?P.ssrRender=N:P.render=N:Ei(N)&&(P.setupState=jw(N)),wT(P,J)}let q2;function wT(P,N,J){const oe=P.type;if(!P.render){if(!N&&q2&&!oe.render){const be=oe.template||S1(P).template;if(be){const{isCustomElement:_e,compilerOptions:U}=P.appContext.config,{delimiters:B,compilerOptions:e}=oe,v=jo(jo({isCustomElement:_e,delimiters:B},U),e);oe.render=q2(be,v)}}P.render=oe.render||Ks}xv(P),Fv(),LS(P),Ov(),Sd()}function tE(P){return P.attrsProxy||(P.attrsProxy=new Proxy(P.attrs,{get(N,J){return Pl(P,"get","$attrs"),N[J]}}))}function TT(P){const N=J=>{P.exposed=J||{}};return{get attrs(){return tE(P)},slots:P.slots,emit:P.emit,expose:N}}function Yg(P){if(P.exposed)return P.exposeProxy||(P.exposeProxy=new Proxy(jw(Vw(P.exposed)),{get(N,J){if(J in N)return N[J];if(J in Mp)return Mp[J](P)},has(N,J){return J in N||J in Mp}}))}function rE(P,N=!0){return Qa(P)?P.displayName||P.name:P.name||N&&P.__name}function nE(P){return Qa(P)&&"__vccOpts"in P}const sn=(P,N)=>QM(P,N,Hp);function zo(P,N,J){const oe=arguments.length;return oe===2?Ei(N)&&!Va(N)?Ih(N)?Ia(P,null,[N]):Ia(P,N):Ia(P,null,N):(oe>3?J=Array.prototype.slice.call(arguments,2):oe===3&&Ih(J)&&(J=[J]),Ia(P,N,J))}const aE=Symbol.for("v-scx"),iE=()=>si(aE),oE="3.3.4",sE="http://www.w3.org/2000/svg",bd=typeof document<"u"?document:null,eb=bd&&bd.createElement("template"),lE={insert:(P,N,J)=>{N.insertBefore(P,J||null)},remove:P=>{const N=P.parentNode;N&&N.removeChild(P)},createElement:(P,N,J,oe)=>{const be=N?bd.createElementNS(sE,P):bd.createElement(P,J?{is:J}:void 0);return P==="select"&&oe&&oe.multiple!=null&&be.setAttribute("multiple",oe.multiple),be},createText:P=>bd.createTextNode(P),createComment:P=>bd.createComment(P),setText:(P,N)=>{P.nodeValue=N},setElementText:(P,N)=>{P.textContent=N},parentNode:P=>P.parentNode,nextSibling:P=>P.nextSibling,querySelector:P=>bd.querySelector(P),setScopeId(P,N){P.setAttribute(N,"")},insertStaticContent(P,N,J,oe,be,_e){const U=J?J.previousSibling:N.lastChild;if(be&&(be===_e||be.nextSibling))for(;N.insertBefore(be.cloneNode(!0),J),!(be===_e||!(be=be.nextSibling)););else{eb.innerHTML=oe?`${P}`:P;const B=eb.content;if(oe){const e=B.firstChild;for(;e.firstChild;)B.appendChild(e.firstChild);B.removeChild(e)}N.insertBefore(B,J)}return[U?U.nextSibling:N.firstChild,J?J.previousSibling:N.lastChild]}};function uE(P,N,J){const oe=P._vtc;oe&&(N=(N?[N,...oe]:[...oe]).join(" ")),N==null?P.removeAttribute("class"):J?P.setAttribute("class",N):P.className=N}function fE(P,N,J){const oe=P.style,be=ci(J);if(J&&!be){if(N&&!ci(N))for(const _e in N)J[_e]==null&&Rm(oe,_e,"");for(const _e in J)Rm(oe,_e,J[_e])}else{const _e=oe.display;be?N!==J&&(oe.cssText=J):N&&P.removeAttribute("style"),"_vod"in P&&(oe.display=_e)}}const tb=/\s*!important$/;function Rm(P,N,J){if(Va(J))J.forEach(oe=>Rm(P,N,oe));else if(J==null&&(J=""),N.startsWith("--"))P.setProperty(N,J);else{const oe=cE(P,N);tb.test(J)?P.setProperty(_d(oe),J.replace(tb,""),"important"):P[oe]=J}}const rb=["Webkit","Moz","ms"],Zy={};function cE(P,N){const J=Zy[N];if(J)return J;let oe=Hf(N);if(oe!=="filter"&&oe in P)return Zy[N]=oe;oe=Bg(oe);for(let be=0;beXy||(yE.then(()=>Xy=0),Xy=Date.now());function xE(P,N){const J=oe=>{if(!oe._vts)oe._vts=Date.now();else if(oe._vts<=J.attached)return;wu(bE(oe,J.value),N,5,[oe])};return J.value=P,J.attached=mE(),J}function bE(P,N){if(Va(N)){const J=P.stopImmediatePropagation;return P.stopImmediatePropagation=()=>{J.call(P),P._stopped=!0},N.map(oe=>be=>!be._stopped&&oe&&oe(be))}else return N}const ib=/^on[a-z]/,wE=(P,N,J,oe,be=!1,_e,U,B,e)=>{N==="class"?uE(P,oe,be):N==="style"?fE(P,J,oe):Fg(N)?s1(N)||pE(P,N,J,oe,U):(N[0]==="."?(N=N.slice(1),!0):N[0]==="^"?(N=N.slice(1),!1):TE(P,N,oe,be))?dE(P,N,oe,_e,U,B,e):(N==="true-value"?P._trueValue=oe:N==="false-value"&&(P._falseValue=oe),hE(P,N,oe,be))};function TE(P,N,J,oe){return oe?!!(N==="innerHTML"||N==="textContent"||N in P&&ib.test(N)&&Qa(J)):N==="spellcheck"||N==="draggable"||N==="translate"||N==="form"||N==="list"&&P.tagName==="INPUT"||N==="type"&&P.tagName==="TEXTAREA"||ib.test(N)&&ci(J)?!1:N in P}const gh="transition",dp="animation",nf=(P,{slots:N})=>zo(vS,MT(P),N);nf.displayName="Transition";const AT={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},AE=nf.props=jo({},rT,AT),pd=(P,N=[])=>{Va(P)?P.forEach(J=>J(...N)):P&&P(...N)},ob=P=>P?Va(P)?P.some(N=>N.length>1):P.length>1:!1;function MT(P){const N={};for(const y in P)y in AT||(N[y]=P[y]);if(P.css===!1)return N;const{name:J="v",type:oe,duration:be,enterFromClass:_e=`${J}-enter-from`,enterActiveClass:U=`${J}-enter-active`,enterToClass:B=`${J}-enter-to`,appearFromClass:e=_e,appearActiveClass:v=U,appearToClass:E=B,leaveFromClass:a=`${J}-leave-from`,leaveActiveClass:C=`${J}-leave-active`,leaveToClass:w=`${J}-leave-to`}=P,d=ME(be),p=d&&d[0],t=d&&d[1],{onBeforeEnter:r,onEnter:c,onEnterCancelled:o,onLeave:n,onLeaveCancelled:u,onBeforeAppear:i=r,onAppear:g=c,onAppearCancelled:h=o}=N,x=(y,T,S)=>{xh(y,T?E:B),xh(y,T?v:U),S&&S()},f=(y,T)=>{y._isLeaving=!1,xh(y,a),xh(y,w),xh(y,C),T&&T()},l=y=>(T,S)=>{const L=y?g:c,m=()=>x(T,y,S);pd(L,[T,m]),sb(()=>{xh(T,y?e:_e),Ac(T,y?E:B),ob(L)||lb(T,oe,p,m)})};return jo(N,{onBeforeEnter(y){pd(r,[y]),Ac(y,_e),Ac(y,U)},onBeforeAppear(y){pd(i,[y]),Ac(y,e),Ac(y,v)},onEnter:l(!1),onAppear:l(!0),onLeave(y,T){y._isLeaving=!0;const S=()=>f(y,T);Ac(y,a),ET(),Ac(y,C),sb(()=>{y._isLeaving&&(xh(y,a),Ac(y,w),ob(n)||lb(y,oe,t,S))}),pd(n,[y,S])},onEnterCancelled(y){x(y,!1),pd(o,[y])},onAppearCancelled(y){x(y,!0),pd(h,[y])},onLeaveCancelled(y){f(y),pd(u,[y])}})}function ME(P){if(P==null)return null;if(Ei(P))return[Ky(P.enter),Ky(P.leave)];{const N=Ky(P);return[N,N]}}function Ky(P){return uM(P)}function Ac(P,N){N.split(/\s+/).forEach(J=>J&&P.classList.add(J)),(P._vtc||(P._vtc=new Set)).add(N)}function xh(P,N){N.split(/\s+/).forEach(oe=>oe&&P.classList.remove(oe));const{_vtc:J}=P;J&&(J.delete(N),J.size||(P._vtc=void 0))}function sb(P){requestAnimationFrame(()=>{requestAnimationFrame(P)})}let SE=0;function lb(P,N,J,oe){const be=P._endId=++SE,_e=()=>{be===P._endId&&oe()};if(J)return setTimeout(_e,J);const{type:U,timeout:B,propCount:e}=ST(P,N);if(!U)return oe();const v=U+"end";let E=0;const a=()=>{P.removeEventListener(v,C),_e()},C=w=>{w.target===P&&++E>=e&&a()};setTimeout(()=>{E(J[d]||"").split(", "),be=oe(`${gh}Delay`),_e=oe(`${gh}Duration`),U=ub(be,_e),B=oe(`${dp}Delay`),e=oe(`${dp}Duration`),v=ub(B,e);let E=null,a=0,C=0;N===gh?U>0&&(E=gh,a=U,C=_e.length):N===dp?v>0&&(E=dp,a=v,C=e.length):(a=Math.max(U,v),E=a>0?U>v?gh:dp:null,C=E?E===gh?_e.length:e.length:0);const w=E===gh&&/\b(transform|all)(,|$)/.test(oe(`${gh}Property`).toString());return{type:E,timeout:a,propCount:C,hasTransform:w}}function ub(P,N){for(;P.lengthfb(J)+fb(P[oe])))}function fb(P){return Number(P.slice(0,-1).replace(",","."))*1e3}function ET(){return document.body.offsetHeight}const CT=new WeakMap,LT=new WeakMap,_T={name:"TransitionGroup",props:jo({},AE,{tag:String,moveClass:String}),setup(P,{slots:N}){const J=bs(),oe=tT();let be,_e;return Wg(()=>{if(!be.length)return;const U=P.moveClass||`${P.name||"v"}-move`;if(!RE(be[0].el,J.vnode.el,U))return;be.forEach(LE),be.forEach(_E);const B=be.filter(PE);ET(),B.forEach(e=>{const v=e.el,E=v.style;Ac(v,U),E.transform=E.webkitTransform=E.transitionDuration="";const a=v._moveCb=C=>{C&&C.target!==v||(!C||/transform$/.test(C.propertyName))&&(v.removeEventListener("transitionend",a),v._moveCb=null,xh(v,U))};v.addEventListener("transitionend",a)})}),()=>{const U=Mi(P),B=MT(U);let e=U.tag||qi;be=_e,_e=N.default?w1(N.default()):[];for(let v=0;v<_e.length;v++){const E=_e[v];E.key!=null&&Np(E,Bp(E,B,oe,J))}if(be)for(let v=0;vdelete P.mode;_T.props;const CE=_T;function LE(P){const N=P.el;N._moveCb&&N._moveCb(),N._enterCb&&N._enterCb()}function _E(P){LT.set(P,P.el.getBoundingClientRect())}function PE(P){const N=CT.get(P),J=LT.get(P),oe=N.left-J.left,be=N.top-J.top;if(oe||be){const _e=P.el.style;return _e.transform=_e.webkitTransform=`translate(${oe}px,${be}px)`,_e.transitionDuration="0s",P}}function RE(P,N,J){const oe=P.cloneNode();P._vtc&&P._vtc.forEach(U=>{U.split(/\s+/).forEach(B=>B&&oe.classList.remove(B))}),J.split(/\s+/).forEach(U=>U&&oe.classList.add(U)),oe.style.display="none";const be=N.nodeType===1?N:N.parentNode;be.appendChild(oe);const{hasTransform:_e}=ST(oe);return be.removeChild(oe),_e}const bv=P=>{const N=P.props["onUpdate:modelValue"]||!1;return Va(N)?J=>ng(N,J):N};function IE(P){P.target.composing=!0}function cb(P){const N=P.target;N.composing&&(N.composing=!1,N.dispatchEvent(new Event("input")))}const DE={created(P,{modifiers:{lazy:N,trim:J,number:oe}},be){P._assign=bv(be);const _e=oe||be.props&&be.props.type==="number";Mh(P,N?"change":"input",U=>{if(U.target.composing)return;let B=P.value;J&&(B=B.trim()),_e&&(B=xm(B)),P._assign(B)}),J&&Mh(P,"change",()=>{P.value=P.value.trim()}),N||(Mh(P,"compositionstart",IE),Mh(P,"compositionend",cb),Mh(P,"change",cb))},mounted(P,{value:N}){P.value=N??""},beforeUpdate(P,{value:N,modifiers:{lazy:J,trim:oe,number:be}},_e){if(P._assign=bv(_e),P.composing||document.activeElement===P&&P.type!=="range"&&(J||oe&&P.value.trim()===N||(be||P.type==="number")&&xm(P.value)===N))return;const U=N??"";P.value!==U&&(P.value=U)}},wg={deep:!0,created(P,N,J){P._assign=bv(J),Mh(P,"change",()=>{const oe=P._modelValue,be=RT(P),_e=P.checked,U=P._assign;if(Va(oe)){const B=Cw(oe,be),e=B!==-1;if(_e&&!e)U(oe.concat(be));else if(!_e&&e){const v=[...oe];v.splice(B,1),U(v)}}else if(Og(oe)){const B=new Set(oe);_e?B.add(be):B.delete(be),U(B)}else U(IT(P,_e))})},mounted:hb,beforeUpdate(P,N,J){P._assign=bv(J),hb(P,N,J)}};function hb(P,{value:N,oldValue:J},oe){P._modelValue=N,Va(N)?P.checked=Cw(N,oe.props.value)>-1:Og(N)?P.checked=N.has(oe.props.value):N!==J&&(P.checked=yv(N,IT(P,!0)))}const PT={created(P,{value:N},J){P.checked=yv(N,J.props.value),P._assign=bv(J),Mh(P,"change",()=>{P._assign(RT(P))})},beforeUpdate(P,{value:N,oldValue:J},oe){P._assign=bv(oe),N!==J&&(P.checked=yv(N,oe.props.value))}};function RT(P){return"_value"in P?P._value:P.value}function IT(P,N){const J=N?"_trueValue":"_falseValue";return J in P?P[J]:N}const kE=["ctrl","shift","alt","meta"],FE={stop:P=>P.stopPropagation(),prevent:P=>P.preventDefault(),self:P=>P.target!==P.currentTarget,ctrl:P=>!P.ctrlKey,shift:P=>!P.shiftKey,alt:P=>!P.altKey,meta:P=>!P.metaKey,left:P=>"button"in P&&P.button!==0,middle:P=>"button"in P&&P.button!==1,right:P=>"button"in P&&P.button!==2,exact:(P,N)=>kE.some(J=>P[`${J}Key`]&&!N.includes(J))},Cl=(P,N)=>(J,...oe)=>{for(let be=0;beJ=>{if(!("key"in J))return;const oe=_d(J.key);if(N.some(be=>be===oe||OE[be]===oe))return P(J)},Fc={beforeMount(P,{value:N},{transition:J}){P._vod=P.style.display==="none"?"":P.style.display,J&&N?J.beforeEnter(P):vp(P,N)},mounted(P,{value:N},{transition:J}){J&&N&&J.enter(P)},updated(P,{value:N,oldValue:J},{transition:oe}){!N!=!J&&(oe?N?(oe.beforeEnter(P),vp(P,!0),oe.enter(P)):oe.leave(P,()=>{vp(P,!1)}):vp(P,N))},beforeUnmount(P,{value:N}){vp(P,N)}};function vp(P,N){P.style.display=N?P._vod:"none"}const zE=jo({patchProp:wE},lE);let db;function DT(){return db||(db=US(zE))}const vb=(...P)=>{DT().render(...P)},BE=(...P)=>{const N=DT().createApp(...P),{mount:J}=N;return N.mount=oe=>{const be=NE(oe);if(!be)return;const _e=N._component;!Qa(_e)&&!_e.render&&!_e.template&&(_e.template=be.innerHTML),be.innerHTML="";const U=J(be,!1,be instanceof SVGElement);return be instanceof Element&&(be.removeAttribute("v-cloak"),be.setAttribute("data-v-app","")),U},N};function NE(P){return ci(P)?document.querySelector(P):P}/*! + * vue-router v4.2.1 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const fv=typeof window<"u";function UE(P){return P.__esModule||P[Symbol.toStringTag]==="Module"}const to=Object.assign;function $y(P,N){const J={};for(const oe in N){const be=N[oe];J[oe]=af(be)?be.map(P):P(be)}return J}const Cp=()=>{},af=Array.isArray,HE=/\/$/,VE=P=>P.replace(HE,"");function Jy(P,N,J="/"){let oe,be={},_e="",U="";const B=N.indexOf("#");let e=N.indexOf("?");return B=0&&(e=-1),e>-1&&(oe=N.slice(0,e),_e=N.slice(e+1,B>-1?B:N.length),be=P(_e)),B>-1&&(oe=oe||N.slice(0,B),U=N.slice(B,N.length)),oe=YE(oe??N,J),{fullPath:oe+(_e&&"?")+_e+U,path:oe,query:be,hash:U}}function GE(P,N){const J=N.query?P(N.query):"";return N.path+(J&&"?")+J+(N.hash||"")}function pb(P,N){return!N||!P.toLowerCase().startsWith(N.toLowerCase())?P:P.slice(N.length)||"/"}function WE(P,N,J){const oe=N.matched.length-1,be=J.matched.length-1;return oe>-1&&oe===be&&wv(N.matched[oe],J.matched[be])&&kT(N.params,J.params)&&P(N.query)===P(J.query)&&N.hash===J.hash}function wv(P,N){return(P.aliasOf||P)===(N.aliasOf||N)}function kT(P,N){if(Object.keys(P).length!==Object.keys(N).length)return!1;for(const J in P)if(!jE(P[J],N[J]))return!1;return!0}function jE(P,N){return af(P)?gb(P,N):af(N)?gb(N,P):P===N}function gb(P,N){return af(N)?P.length===N.length&&P.every((J,oe)=>J===N[oe]):P.length===1&&P[0]===N}function YE(P,N){if(P.startsWith("/"))return P;if(!P)return N;const J=N.split("/"),oe=P.split("/"),be=oe[oe.length-1];(be===".."||be===".")&&oe.push("");let _e=J.length-1,U,B;for(U=0;U1&&_e--;else break;return J.slice(0,_e).join("/")+"/"+oe.slice(U-(U===oe.length?1:0)).join("/")}var Vp;(function(P){P.pop="pop",P.push="push"})(Vp||(Vp={}));var Lp;(function(P){P.back="back",P.forward="forward",P.unknown=""})(Lp||(Lp={}));function ZE(P){if(!P)if(fv){const N=document.querySelector("base");P=N&&N.getAttribute("href")||"/",P=P.replace(/^\w+:\/\/[^\/]+/,"")}else P="/";return P[0]!=="/"&&P[0]!=="#"&&(P="/"+P),VE(P)}const XE=/^[^#]+#/;function KE(P,N){return P.replace(XE,"#")+N}function $E(P,N){const J=document.documentElement.getBoundingClientRect(),oe=P.getBoundingClientRect();return{behavior:N.behavior,left:oe.left-J.left-(N.left||0),top:oe.top-J.top-(N.top||0)}}const Zg=()=>({left:window.pageXOffset,top:window.pageYOffset});function JE(P){let N;if("el"in P){const J=P.el,oe=typeof J=="string"&&J.startsWith("#"),be=typeof J=="string"?oe?document.getElementById(J.slice(1)):document.querySelector(J):J;if(!be)return;N=$E(be,P)}else N=P;"scrollBehavior"in document.documentElement.style?window.scrollTo(N):window.scrollTo(N.left!=null?N.left:window.pageXOffset,N.top!=null?N.top:window.pageYOffset)}function yb(P,N){return(history.state?history.state.position-N:-1)+P}const Im=new Map;function QE(P,N){Im.set(P,N)}function qE(P){const N=Im.get(P);return Im.delete(P),N}let eC=()=>location.protocol+"//"+location.host;function FT(P,N){const{pathname:J,search:oe,hash:be}=N,_e=P.indexOf("#");if(_e>-1){let B=be.includes(P.slice(_e))?P.slice(_e).length:1,e=be.slice(B);return e[0]!=="/"&&(e="/"+e),pb(e,"")}return pb(J,P)+oe+be}function tC(P,N,J,oe){let be=[],_e=[],U=null;const B=({state:C})=>{const w=FT(P,location),d=J.value,p=N.value;let t=0;if(C){if(J.value=w,N.value=C,U&&U===d){U=null;return}t=p?C.position-p.position:0}else oe(w);be.forEach(r=>{r(J.value,d,{delta:t,type:Vp.pop,direction:t?t>0?Lp.forward:Lp.back:Lp.unknown})})};function e(){U=J.value}function v(C){be.push(C);const w=()=>{const d=be.indexOf(C);d>-1&&be.splice(d,1)};return _e.push(w),w}function E(){const{history:C}=window;C.state&&C.replaceState(to({},C.state,{scroll:Zg()}),"")}function a(){for(const C of _e)C();_e=[],window.removeEventListener("popstate",B),window.removeEventListener("beforeunload",E)}return window.addEventListener("popstate",B),window.addEventListener("beforeunload",E,{passive:!0}),{pauseListeners:e,listen:v,destroy:a}}function mb(P,N,J,oe=!1,be=!1){return{back:P,current:N,forward:J,replaced:oe,position:window.history.length,scroll:be?Zg():null}}function rC(P){const{history:N,location:J}=window,oe={value:FT(P,J)},be={value:N.state};be.value||_e(oe.value,{back:null,current:oe.value,forward:null,position:N.length-1,replaced:!0,scroll:null},!0);function _e(e,v,E){const a=P.indexOf("#"),C=a>-1?(J.host&&document.querySelector("base")?P:P.slice(a))+e:eC()+P+e;try{N[E?"replaceState":"pushState"](v,"",C),be.value=v}catch(w){console.error(w),J[E?"replace":"assign"](C)}}function U(e,v){const E=to({},N.state,mb(be.value.back,e,be.value.forward,!0),v,{position:be.value.position});_e(e,E,!0),oe.value=e}function B(e,v){const E=to({},be.value,N.state,{forward:e,scroll:Zg()});_e(E.current,E,!0);const a=to({},mb(oe.value,e,null),{position:E.position+1},v);_e(e,a,!1),oe.value=e}return{location:oe,state:be,push:B,replace:U}}function nC(P){P=ZE(P);const N=rC(P),J=tC(P,N.state,N.location,N.replace);function oe(_e,U=!0){U||J.pauseListeners(),history.go(_e)}const be=to({location:"",base:P,go:oe,createHref:KE.bind(null,P)},N,J);return Object.defineProperty(be,"location",{enumerable:!0,get:()=>N.location.value}),Object.defineProperty(be,"state",{enumerable:!0,get:()=>N.state.value}),be}function aC(P){return P=location.host?P||location.pathname+location.search:"",P.includes("#")||(P+="#"),nC(P)}function iC(P){return typeof P=="string"||P&&typeof P=="object"}function OT(P){return typeof P=="string"||typeof P=="symbol"}const yh={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},zT=Symbol("");var xb;(function(P){P[P.aborted=4]="aborted",P[P.cancelled=8]="cancelled",P[P.duplicated=16]="duplicated"})(xb||(xb={}));function Tv(P,N){return to(new Error,{type:P,[zT]:!0},N)}function wc(P,N){return P instanceof Error&&zT in P&&(N==null||!!(P.type&N))}const bb="[^/]+?",oC={sensitive:!1,strict:!1,start:!0,end:!0},sC=/[.+*?^${}()[\]/\\]/g;function lC(P,N){const J=to({},oC,N),oe=[];let be=J.start?"^":"";const _e=[];for(const v of P){const E=v.length?[]:[90];J.strict&&!v.length&&(be+="/");for(let a=0;aN.length?N.length===1&&N[0]===40+40?1:-1:0}function fC(P,N){let J=0;const oe=P.score,be=N.score;for(;J0&&N[N.length-1]<0}const cC={type:0,value:""},hC=/[a-zA-Z0-9_]/;function dC(P){if(!P)return[[]];if(P==="/")return[[cC]];if(!P.startsWith("/"))throw new Error(`Invalid path "${P}"`);function N(w){throw new Error(`ERR (${J})/"${v}": ${w}`)}let J=0,oe=J;const be=[];let _e;function U(){_e&&be.push(_e),_e=[]}let B=0,e,v="",E="";function a(){v&&(J===0?_e.push({type:0,value:v}):J===1||J===2||J===3?(_e.length>1&&(e==="*"||e==="+")&&N(`A repeatable param (${v}) must be alone in its segment. eg: '/:ids+.`),_e.push({type:1,value:v,regexp:E,repeatable:e==="*"||e==="+",optional:e==="*"||e==="?"})):N("Invalid state to consume buffer"),v="")}function C(){v+=e}for(;B{U(c)}:Cp}function U(E){if(OT(E)){const a=oe.get(E);a&&(oe.delete(E),J.splice(J.indexOf(a),1),a.children.forEach(U),a.alias.forEach(U))}else{const a=J.indexOf(E);a>-1&&(J.splice(a,1),E.record.name&&oe.delete(E.record.name),E.children.forEach(U),E.alias.forEach(U))}}function B(){return J}function e(E){let a=0;for(;a=0&&(E.record.path!==J[a].record.path||!BT(E,J[a]));)a++;J.splice(a,0,E),E.record.name&&!Ab(E)&&oe.set(E.record.name,E)}function v(E,a){let C,w={},d,p;if("name"in E&&E.name){if(C=oe.get(E.name),!C)throw Tv(1,{location:E});p=C.record.name,w=to(Tb(a.params,C.keys.filter(c=>!c.optional).map(c=>c.name)),E.params&&Tb(E.params,C.keys.map(c=>c.name))),d=C.stringify(w)}else if("path"in E)d=E.path,C=J.find(c=>c.re.test(d)),C&&(w=C.parse(d),p=C.record.name);else{if(C=a.name?oe.get(a.name):J.find(c=>c.re.test(a.path)),!C)throw Tv(1,{location:E,currentLocation:a});p=C.record.name,w=to({},a.params,E.params),d=C.stringify(w)}const t=[];let r=C;for(;r;)t.unshift(r.record),r=r.parent;return{name:p,path:d,params:w,matched:t,meta:mC(t)}}return P.forEach(E=>_e(E)),{addRoute:_e,resolve:v,removeRoute:U,getRoutes:B,getRecordMatcher:be}}function Tb(P,N){const J={};for(const oe of N)oe in P&&(J[oe]=P[oe]);return J}function gC(P){return{path:P.path,redirect:P.redirect,name:P.name,meta:P.meta||{},aliasOf:void 0,beforeEnter:P.beforeEnter,props:yC(P),children:P.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in P?P.components||null:P.component&&{default:P.component}}}function yC(P){const N={},J=P.props||!1;if("component"in P)N.default=J;else for(const oe in P.components)N[oe]=typeof J=="boolean"?J:J[oe];return N}function Ab(P){for(;P;){if(P.record.aliasOf)return!0;P=P.parent}return!1}function mC(P){return P.reduce((N,J)=>to(N,J.meta),{})}function Mb(P,N){const J={};for(const oe in P)J[oe]=oe in N?N[oe]:P[oe];return J}function BT(P,N){return N.children.some(J=>J===P||BT(P,J))}const NT=/#/g,xC=/&/g,bC=/\//g,wC=/=/g,TC=/\?/g,UT=/\+/g,AC=/%5B/g,MC=/%5D/g,HT=/%5E/g,SC=/%60/g,VT=/%7B/g,EC=/%7C/g,GT=/%7D/g,CC=/%20/g;function P1(P){return encodeURI(""+P).replace(EC,"|").replace(AC,"[").replace(MC,"]")}function LC(P){return P1(P).replace(VT,"{").replace(GT,"}").replace(HT,"^")}function Dm(P){return P1(P).replace(UT,"%2B").replace(CC,"+").replace(NT,"%23").replace(xC,"%26").replace(SC,"`").replace(VT,"{").replace(GT,"}").replace(HT,"^")}function _C(P){return Dm(P).replace(wC,"%3D")}function PC(P){return P1(P).replace(NT,"%23").replace(TC,"%3F")}function RC(P){return P==null?"":PC(P).replace(bC,"%2F")}function Tg(P){try{return decodeURIComponent(""+P)}catch{}return""+P}function IC(P){const N={};if(P===""||P==="?")return N;const oe=(P[0]==="?"?P.slice(1):P).split("&");for(let be=0;be_e&&Dm(_e)):[oe&&Dm(oe)]).forEach(_e=>{_e!==void 0&&(N+=(N.length?"&":"")+J,_e!=null&&(N+="="+_e))})}return N}function DC(P){const N={};for(const J in P){const oe=P[J];oe!==void 0&&(N[J]=af(oe)?oe.map(be=>be==null?null:""+be):oe==null?oe:""+oe)}return N}const kC=Symbol(""),Eb=Symbol(""),R1=Symbol(""),WT=Symbol(""),km=Symbol("");function pp(){let P=[];function N(oe){return P.push(oe),()=>{const be=P.indexOf(oe);be>-1&&P.splice(be,1)}}function J(){P=[]}return{add:N,list:()=>P,reset:J}}function Ah(P,N,J,oe,be){const _e=oe&&(oe.enterCallbacks[be]=oe.enterCallbacks[be]||[]);return()=>new Promise((U,B)=>{const e=a=>{a===!1?B(Tv(4,{from:J,to:N})):a instanceof Error?B(a):iC(a)?B(Tv(2,{from:N,to:a})):(_e&&oe.enterCallbacks[be]===_e&&typeof a=="function"&&_e.push(a),U())},v=P.call(oe&&oe.instances[be],N,J,e);let E=Promise.resolve(v);P.length<3&&(E=E.then(e)),E.catch(a=>B(a))})}function Qy(P,N,J,oe){const be=[];for(const _e of P)for(const U in _e.components){let B=_e.components[U];if(!(N!=="beforeRouteEnter"&&!_e.instances[U]))if(FC(B)){const v=(B.__vccOpts||B)[N];v&&be.push(Ah(v,J,oe,_e,U))}else{let e=B();be.push(()=>e.then(v=>{if(!v)return Promise.reject(new Error(`Couldn't resolve component "${U}" at "${_e.path}"`));const E=UE(v)?v.default:v;_e.components[U]=E;const C=(E.__vccOpts||E)[N];return C&&Ah(C,J,oe,_e,U)()}))}}return be}function FC(P){return typeof P=="object"||"displayName"in P||"props"in P||"__vccOpts"in P}function Cb(P){const N=si(R1),J=si(WT),oe=sn(()=>N.resolve(Ar(P.to))),be=sn(()=>{const{matched:e}=oe.value,{length:v}=e,E=e[v-1],a=J.matched;if(!E||!a.length)return-1;const C=a.findIndex(wv.bind(null,E));if(C>-1)return C;const w=Lb(e[v-2]);return v>1&&Lb(E)===w&&a[a.length-1].path!==w?a.findIndex(wv.bind(null,e[v-2])):C}),_e=sn(()=>be.value>-1&&NC(J.params,oe.value.params)),U=sn(()=>be.value>-1&&be.value===J.matched.length-1&&kT(J.params,oe.value.params));function B(e={}){return BC(e)?N[Ar(P.replace)?"replace":"push"](Ar(P.to)).catch(Cp):Promise.resolve()}return{route:oe,href:sn(()=>oe.value.href),isActive:_e,isExactActive:U,navigate:B}}const OC=Ca({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Cb,setup(P,{slots:N}){const J=xs(Cb(P)),{options:oe}=si(R1),be=sn(()=>({[_b(P.activeClass,oe.linkActiveClass,"router-link-active")]:J.isActive,[_b(P.exactActiveClass,oe.linkExactActiveClass,"router-link-exact-active")]:J.isExactActive}));return()=>{const _e=N.default&&N.default(J);return P.custom?_e:zo("a",{"aria-current":J.isExactActive?P.ariaCurrentValue:null,href:J.href,onClick:J.navigate,class:be.value},_e)}}}),zC=OC;function BC(P){if(!(P.metaKey||P.altKey||P.ctrlKey||P.shiftKey)&&!P.defaultPrevented&&!(P.button!==void 0&&P.button!==0)){if(P.currentTarget&&P.currentTarget.getAttribute){const N=P.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(N))return}return P.preventDefault&&P.preventDefault(),!0}}function NC(P,N){for(const J in N){const oe=N[J],be=P[J];if(typeof oe=="string"){if(oe!==be)return!1}else if(!af(be)||be.length!==oe.length||oe.some((_e,U)=>_e!==be[U]))return!1}return!0}function Lb(P){return P?P.aliasOf?P.aliasOf.path:P.path:""}const _b=(P,N,J)=>P??N??J,UC=Ca({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(P,{attrs:N,slots:J}){const oe=si(km),be=sn(()=>P.route||oe.value),_e=si(Eb,0),U=sn(()=>{let v=Ar(_e);const{matched:E}=be.value;let a;for(;(a=E[v])&&!a.components;)v++;return v}),B=sn(()=>be.value.matched[U.value]);Bo(Eb,sn(()=>U.value+1)),Bo(kC,B),Bo(km,be);const e=ra();return ja(()=>[e.value,B.value,P.name],([v,E,a],[C,w,d])=>{E&&(E.instances[a]=v,w&&w!==E&&v&&v===C&&(E.leaveGuards.size||(E.leaveGuards=w.leaveGuards),E.updateGuards.size||(E.updateGuards=w.updateGuards))),v&&E&&(!w||!wv(E,w)||!C)&&(E.enterCallbacks[a]||[]).forEach(p=>p(v))},{flush:"post"}),()=>{const v=be.value,E=P.name,a=B.value,C=a&&a.components[E];if(!C)return Pb(J.default,{Component:C,route:v});const w=a.props[E],d=w?w===!0?v.params:typeof w=="function"?w(v):w:null,t=zo(C,to({},d,N,{onVnodeUnmounted:r=>{r.component.isUnmounted&&(a.instances[E]=null)},ref:e}));return Pb(J.default,{Component:t,route:v})||t}}});function Pb(P,N){if(!P)return null;const J=P(N);return J.length===1?J[0]:J}const HC=UC;function VC(P){const N=pC(P.routes,P),J=P.parseQuery||IC,oe=P.stringifyQuery||Sb,be=P.history,_e=pp(),U=pp(),B=pp(),e=_h(yh);let v=yh;fv&&P.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const E=$y.bind(null,z=>""+z),a=$y.bind(null,RC),C=$y.bind(null,Tg);function w(z,k){let V,Z;return OT(z)?(V=N.getRecordMatcher(z),Z=k):Z=z,N.addRoute(Z,V)}function d(z){const k=N.getRecordMatcher(z);k&&N.removeRoute(k)}function p(){return N.getRoutes().map(z=>z.record)}function t(z){return!!N.getRecordMatcher(z)}function r(z,k){if(k=to({},k||e.value),typeof z=="string"){const fe=Jy(J,z,k.path),$=N.resolve({path:fe.path},k),Y=be.createHref(fe.fullPath);return to(fe,$,{params:C($.params),hash:Tg(fe.hash),redirectedFrom:void 0,href:Y})}let V;if("path"in z)V=to({},z,{path:Jy(J,z.path,k.path).path});else{const fe=to({},z.params);for(const $ in fe)fe[$]==null&&delete fe[$];V=to({},z,{params:a(fe)}),k.params=a(k.params)}const Z=N.resolve(V,k),ee=z.hash||"";Z.params=E(C(Z.params));const Q=GE(oe,to({},z,{hash:LC(ee),path:Z.path})),ne=be.createHref(Q);return to({fullPath:Q,hash:ee,query:oe===Sb?DC(z.query):z.query||{}},Z,{redirectedFrom:void 0,href:ne})}function c(z){return typeof z=="string"?Jy(J,z,e.value.path):to({},z)}function o(z,k){if(v!==z)return Tv(8,{from:k,to:z})}function n(z){return g(z)}function u(z){return n(to(c(z),{replace:!0}))}function i(z){const k=z.matched[z.matched.length-1];if(k&&k.redirect){const{redirect:V}=k;let Z=typeof V=="function"?V(z):V;return typeof Z=="string"&&(Z=Z.includes("?")||Z.includes("#")?Z=c(Z):{path:Z},Z.params={}),to({query:z.query,hash:z.hash,params:"path"in Z?{}:z.params},Z)}}function g(z,k){const V=v=r(z),Z=e.value,ee=z.state,Q=z.force,ne=z.replace===!0,fe=i(V);if(fe)return g(to(c(fe),{state:typeof fe=="object"?to({},ee,fe.state):ee,force:Q,replace:ne}),k||V);const $=V;$.redirectedFrom=k;let Y;return!Q&&WE(oe,Z,V)&&(Y=Tv(16,{to:$,from:Z}),A(Z,Z,!0,!1)),(Y?Promise.resolve(Y):f($,Z)).catch(j=>wc(j)?wc(j,2)?j:_(j):b(j,$,Z)).then(j=>{if(j){if(wc(j,2))return g(to({replace:ne},c(j.to),{state:typeof j.to=="object"?to({},ee,j.to.state):ee,force:Q}),k||$)}else j=y($,Z,!0,ne,ee);return l($,Z,j),j})}function h(z,k){const V=o(z,k);return V?Promise.reject(V):Promise.resolve()}function x(z){const k=G.values().next().value;return k&&typeof k.runWithContext=="function"?k.runWithContext(z):z()}function f(z,k){let V;const[Z,ee,Q]=GC(z,k);V=Qy(Z.reverse(),"beforeRouteLeave",z,k);for(const fe of Z)fe.leaveGuards.forEach($=>{V.push(Ah($,z,k))});const ne=h.bind(null,z,k);return V.push(ne),H(V).then(()=>{V=[];for(const fe of _e.list())V.push(Ah(fe,z,k));return V.push(ne),H(V)}).then(()=>{V=Qy(ee,"beforeRouteUpdate",z,k);for(const fe of ee)fe.updateGuards.forEach($=>{V.push(Ah($,z,k))});return V.push(ne),H(V)}).then(()=>{V=[];for(const fe of z.matched)if(fe.beforeEnter&&!k.matched.includes(fe))if(af(fe.beforeEnter))for(const $ of fe.beforeEnter)V.push(Ah($,z,k));else V.push(Ah(fe.beforeEnter,z,k));return V.push(ne),H(V)}).then(()=>(z.matched.forEach(fe=>fe.enterCallbacks={}),V=Qy(Q,"beforeRouteEnter",z,k),V.push(ne),H(V))).then(()=>{V=[];for(const fe of U.list())V.push(Ah(fe,z,k));return V.push(ne),H(V)}).catch(fe=>wc(fe,8)?fe:Promise.reject(fe))}function l(z,k,V){for(const Z of B.list())x(()=>Z(z,k,V))}function y(z,k,V,Z,ee){const Q=o(z,k);if(Q)return Q;const ne=k===yh,fe=fv?history.state:{};V&&(Z||ne?be.replace(z.fullPath,to({scroll:ne&&fe&&fe.scroll},ee)):be.push(z.fullPath,ee)),e.value=z,A(z,k,V,ne),_()}let T;function S(){T||(T=be.listen((z,k,V)=>{if(!O.listening)return;const Z=r(z),ee=i(Z);if(ee){g(to(ee,{replace:!0}),Z).catch(Cp);return}v=Z;const Q=e.value;fv&&QE(yb(Q.fullPath,V.delta),Zg()),f(Z,Q).catch(ne=>wc(ne,12)?ne:wc(ne,2)?(g(ne.to,Z).then(fe=>{wc(fe,20)&&!V.delta&&V.type===Vp.pop&&be.go(-1,!1)}).catch(Cp),Promise.reject()):(V.delta&&be.go(-V.delta,!1),b(ne,Z,Q))).then(ne=>{ne=ne||y(Z,Q,!1),ne&&(V.delta&&!wc(ne,8)?be.go(-V.delta,!1):V.type===Vp.pop&&wc(ne,20)&&be.go(-1,!1)),l(Z,Q,ne)}).catch(Cp)}))}let L=pp(),m=pp(),M;function b(z,k,V){_(z);const Z=m.list();return Z.length?Z.forEach(ee=>ee(z,k,V)):console.error(z),Promise.reject(z)}function s(){return M&&e.value!==yh?Promise.resolve():new Promise((z,k)=>{L.add([z,k])})}function _(z){return M||(M=!z,S(),L.list().forEach(([k,V])=>z?V(z):k()),L.reset()),z}function A(z,k,V,Z){const{scrollBehavior:ee}=P;if(!fv||!ee)return Promise.resolve();const Q=!V&&qE(yb(z.fullPath,0))||(Z||!V)&&history.state&&history.state.scroll||null;return Ii().then(()=>ee(z,k,Q)).then(ne=>ne&&JE(ne)).catch(ne=>b(ne,z,k))}const D=z=>be.go(z);let F;const G=new Set,O={currentRoute:e,listening:!0,addRoute:w,removeRoute:d,hasRoute:t,getRoutes:p,resolve:r,options:P,push:n,replace:u,go:D,back:()=>D(-1),forward:()=>D(1),beforeEach:_e.add,beforeResolve:U.add,afterEach:B.add,onError:m.add,isReady:s,install(z){const k=this;z.component("RouterLink",zC),z.component("RouterView",HC),z.config.globalProperties.$router=k,Object.defineProperty(z.config.globalProperties,"$route",{enumerable:!0,get:()=>Ar(e)}),fv&&!F&&e.value===yh&&(F=!0,n(be.location).catch(ee=>{}));const V={};for(const ee in yh)V[ee]=sn(()=>e.value[ee]);z.provide(R1,k),z.provide(WT,xs(V)),z.provide(km,e);const Z=z.unmount;G.add(z),z.unmount=function(){G.delete(z),G.size<1&&(v=yh,T&&T(),T=null,e.value=yh,F=!1,M=!1),Z()}}};function H(z){return z.reduce((k,V)=>k.then(()=>x(V)),Promise.resolve())}return O}function GC(P,N){const J=[],oe=[],be=[],_e=Math.max(N.matched.length,P.matched.length);for(let U=0;U<_e;U++){const B=N.matched[U];B&&(P.matched.find(v=>wv(v,B))?oe.push(B):J.push(B));const e=P.matched[U];e&&(N.matched.find(v=>wv(v,e))||be.push(e))}return[J,oe,be]}function jT(P,N){return function(){return P.apply(N,arguments)}}const{toString:WC}=Object.prototype,{getPrototypeOf:I1}=Object,Xg=(P=>N=>{const J=WC.call(N);return P[J]||(P[J]=J.slice(8,-1).toLowerCase())})(Object.create(null)),Wf=P=>(P=P.toLowerCase(),N=>Xg(N)===P),Kg=P=>N=>typeof N===P,{isArray:Bv}=Array,Gp=Kg("undefined");function jC(P){return P!==null&&!Gp(P)&&P.constructor!==null&&!Gp(P.constructor)&&Tu(P.constructor.isBuffer)&&P.constructor.isBuffer(P)}const YT=Wf("ArrayBuffer");function YC(P){let N;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?N=ArrayBuffer.isView(P):N=P&&P.buffer&&YT(P.buffer),N}const ZC=Kg("string"),Tu=Kg("function"),ZT=Kg("number"),$g=P=>P!==null&&typeof P=="object",XC=P=>P===!0||P===!1,ig=P=>{if(Xg(P)!=="object")return!1;const N=I1(P);return(N===null||N===Object.prototype||Object.getPrototypeOf(N)===null)&&!(Symbol.toStringTag in P)&&!(Symbol.iterator in P)},KC=Wf("Date"),$C=Wf("File"),JC=Wf("Blob"),QC=Wf("FileList"),qC=P=>$g(P)&&Tu(P.pipe),e7=P=>{let N;return P&&(typeof FormData=="function"&&P instanceof FormData||Tu(P.append)&&((N=Xg(P))==="formdata"||N==="object"&&Tu(P.toString)&&P.toString()==="[object FormData]"))},t7=Wf("URLSearchParams"),r7=P=>P.trim?P.trim():P.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function e0(P,N,{allOwnKeys:J=!1}={}){if(P===null||typeof P>"u")return;let oe,be;if(typeof P!="object"&&(P=[P]),Bv(P))for(oe=0,be=P.length;oe0;)if(be=J[oe],N===be.toLowerCase())return be;return null}const KT=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),$T=P=>!Gp(P)&&P!==KT;function Fm(){const{caseless:P}=$T(this)&&this||{},N={},J=(oe,be)=>{const _e=P&&XT(N,be)||be;ig(N[_e])&&ig(oe)?N[_e]=Fm(N[_e],oe):ig(oe)?N[_e]=Fm({},oe):Bv(oe)?N[_e]=oe.slice():N[_e]=oe};for(let oe=0,be=arguments.length;oe(e0(N,(be,_e)=>{J&&Tu(be)?P[_e]=jT(be,J):P[_e]=be},{allOwnKeys:oe}),P),a7=P=>(P.charCodeAt(0)===65279&&(P=P.slice(1)),P),i7=(P,N,J,oe)=>{P.prototype=Object.create(N.prototype,oe),P.prototype.constructor=P,Object.defineProperty(P,"super",{value:N.prototype}),J&&Object.assign(P.prototype,J)},o7=(P,N,J,oe)=>{let be,_e,U;const B={};if(N=N||{},P==null)return N;do{for(be=Object.getOwnPropertyNames(P),_e=be.length;_e-- >0;)U=be[_e],(!oe||oe(U,P,N))&&!B[U]&&(N[U]=P[U],B[U]=!0);P=J!==!1&&I1(P)}while(P&&(!J||J(P,N))&&P!==Object.prototype);return N},s7=(P,N,J)=>{P=String(P),(J===void 0||J>P.length)&&(J=P.length),J-=N.length;const oe=P.indexOf(N,J);return oe!==-1&&oe===J},l7=P=>{if(!P)return null;if(Bv(P))return P;let N=P.length;if(!ZT(N))return null;const J=new Array(N);for(;N-- >0;)J[N]=P[N];return J},u7=(P=>N=>P&&N instanceof P)(typeof Uint8Array<"u"&&I1(Uint8Array)),f7=(P,N)=>{const oe=(P&&P[Symbol.iterator]).call(P);let be;for(;(be=oe.next())&&!be.done;){const _e=be.value;N.call(P,_e[0],_e[1])}},c7=(P,N)=>{let J;const oe=[];for(;(J=P.exec(N))!==null;)oe.push(J);return oe},h7=Wf("HTMLFormElement"),d7=P=>P.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(J,oe,be){return oe.toUpperCase()+be}),Rb=(({hasOwnProperty:P})=>(N,J)=>P.call(N,J))(Object.prototype),v7=Wf("RegExp"),JT=(P,N)=>{const J=Object.getOwnPropertyDescriptors(P),oe={};e0(J,(be,_e)=>{N(be,_e,P)!==!1&&(oe[_e]=be)}),Object.defineProperties(P,oe)},p7=P=>{JT(P,(N,J)=>{if(Tu(P)&&["arguments","caller","callee"].indexOf(J)!==-1)return!1;const oe=P[J];if(Tu(oe)){if(N.enumerable=!1,"writable"in N){N.writable=!1;return}N.set||(N.set=()=>{throw Error("Can not rewrite read-only method '"+J+"'")})}})},g7=(P,N)=>{const J={},oe=be=>{be.forEach(_e=>{J[_e]=!0})};return Bv(P)?oe(P):oe(String(P).split(N)),J},y7=()=>{},m7=(P,N)=>(P=+P,Number.isFinite(P)?P:N),qy="abcdefghijklmnopqrstuvwxyz",Ib="0123456789",QT={DIGIT:Ib,ALPHA:qy,ALPHA_DIGIT:qy+qy.toUpperCase()+Ib},x7=(P=16,N=QT.ALPHA_DIGIT)=>{let J="";const{length:oe}=N;for(;P--;)J+=N[Math.random()*oe|0];return J};function b7(P){return!!(P&&Tu(P.append)&&P[Symbol.toStringTag]==="FormData"&&P[Symbol.iterator])}const w7=P=>{const N=new Array(10),J=(oe,be)=>{if($g(oe)){if(N.indexOf(oe)>=0)return;if(!("toJSON"in oe)){N[be]=oe;const _e=Bv(oe)?[]:{};return e0(oe,(U,B)=>{const e=J(U,be+1);!Gp(e)&&(_e[B]=e)}),N[be]=void 0,_e}}return oe};return J(P,0)},T7=Wf("AsyncFunction"),A7=P=>P&&($g(P)||Tu(P))&&Tu(P.then)&&Tu(P.catch),$n={isArray:Bv,isArrayBuffer:YT,isBuffer:jC,isFormData:e7,isArrayBufferView:YC,isString:ZC,isNumber:ZT,isBoolean:XC,isObject:$g,isPlainObject:ig,isUndefined:Gp,isDate:KC,isFile:$C,isBlob:JC,isRegExp:v7,isFunction:Tu,isStream:qC,isURLSearchParams:t7,isTypedArray:u7,isFileList:QC,forEach:e0,merge:Fm,extend:n7,trim:r7,stripBOM:a7,inherits:i7,toFlatObject:o7,kindOf:Xg,kindOfTest:Wf,endsWith:s7,toArray:l7,forEachEntry:f7,matchAll:c7,isHTMLForm:h7,hasOwnProperty:Rb,hasOwnProp:Rb,reduceDescriptors:JT,freezeMethods:p7,toObjectSet:g7,toCamelCase:d7,noop:y7,toFiniteNumber:m7,findKey:XT,global:KT,isContextDefined:$T,ALPHABET:QT,generateString:x7,isSpecCompliantForm:b7,toJSONObject:w7,isAsyncFn:T7,isThenable:A7};function Wi(P,N,J,oe,be){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=P,this.name="AxiosError",N&&(this.code=N),J&&(this.config=J),oe&&(this.request=oe),be&&(this.response=be)}$n.inherits(Wi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:$n.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const qT=Wi.prototype,e5={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(P=>{e5[P]={value:P}});Object.defineProperties(Wi,e5);Object.defineProperty(qT,"isAxiosError",{value:!0});Wi.from=(P,N,J,oe,be,_e)=>{const U=Object.create(qT);return $n.toFlatObject(P,U,function(e){return e!==Error.prototype},B=>B!=="isAxiosError"),Wi.call(U,P.message,N,J,oe,be),U.cause=P,U.name=P.name,_e&&Object.assign(U,_e),U};const M7=null;function Om(P){return $n.isPlainObject(P)||$n.isArray(P)}function t5(P){return $n.endsWith(P,"[]")?P.slice(0,-2):P}function Db(P,N,J){return P?P.concat(N).map(function(be,_e){return be=t5(be),!J&&_e?"["+be+"]":be}).join(J?".":""):N}function S7(P){return $n.isArray(P)&&!P.some(Om)}const E7=$n.toFlatObject($n,{},null,function(N){return/^is[A-Z]/.test(N)});function Jg(P,N,J){if(!$n.isObject(P))throw new TypeError("target must be an object");N=N||new FormData,J=$n.toFlatObject(J,{metaTokens:!0,dots:!1,indexes:!1},!1,function(p,t){return!$n.isUndefined(t[p])});const oe=J.metaTokens,be=J.visitor||E,_e=J.dots,U=J.indexes,e=(J.Blob||typeof Blob<"u"&&Blob)&&$n.isSpecCompliantForm(N);if(!$n.isFunction(be))throw new TypeError("visitor must be a function");function v(d){if(d===null)return"";if($n.isDate(d))return d.toISOString();if(!e&&$n.isBlob(d))throw new Wi("Blob is not supported. Use a Buffer instead.");return $n.isArrayBuffer(d)||$n.isTypedArray(d)?e&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function E(d,p,t){let r=d;if(d&&!t&&typeof d=="object"){if($n.endsWith(p,"{}"))p=oe?p:p.slice(0,-2),d=JSON.stringify(d);else if($n.isArray(d)&&S7(d)||($n.isFileList(d)||$n.endsWith(p,"[]"))&&(r=$n.toArray(d)))return p=t5(p),r.forEach(function(o,n){!($n.isUndefined(o)||o===null)&&N.append(U===!0?Db([p],n,_e):U===null?p:p+"[]",v(o))}),!1}return Om(d)?!0:(N.append(Db(t,p,_e),v(d)),!1)}const a=[],C=Object.assign(E7,{defaultVisitor:E,convertValue:v,isVisitable:Om});function w(d,p){if(!$n.isUndefined(d)){if(a.indexOf(d)!==-1)throw Error("Circular reference detected in "+p.join("."));a.push(d),$n.forEach(d,function(r,c){(!($n.isUndefined(r)||r===null)&&be.call(N,r,$n.isString(c)?c.trim():c,p,C))===!0&&w(r,p?p.concat(c):[c])}),a.pop()}}if(!$n.isObject(P))throw new TypeError("data must be an object");return w(P),N}function kb(P){const N={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(P).replace(/[!'()~]|%20|%00/g,function(oe){return N[oe]})}function D1(P,N){this._pairs=[],P&&Jg(P,this,N)}const r5=D1.prototype;r5.append=function(N,J){this._pairs.push([N,J])};r5.toString=function(N){const J=N?function(oe){return N.call(this,oe,kb)}:kb;return this._pairs.map(function(be){return J(be[0])+"="+J(be[1])},"").join("&")};function C7(P){return encodeURIComponent(P).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function n5(P,N,J){if(!N)return P;const oe=J&&J.encode||C7,be=J&&J.serialize;let _e;if(be?_e=be(N,J):_e=$n.isURLSearchParams(N)?N.toString():new D1(N,J).toString(oe),_e){const U=P.indexOf("#");U!==-1&&(P=P.slice(0,U)),P+=(P.indexOf("?")===-1?"?":"&")+_e}return P}class L7{constructor(){this.handlers=[]}use(N,J,oe){return this.handlers.push({fulfilled:N,rejected:J,synchronous:oe?oe.synchronous:!1,runWhen:oe?oe.runWhen:null}),this.handlers.length-1}eject(N){this.handlers[N]&&(this.handlers[N]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(N){$n.forEach(this.handlers,function(oe){oe!==null&&N(oe)})}}const Fb=L7,a5={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},_7=typeof URLSearchParams<"u"?URLSearchParams:D1,P7=typeof FormData<"u"?FormData:null,R7=typeof Blob<"u"?Blob:null,I7=(()=>{let P;return typeof navigator<"u"&&((P=navigator.product)==="ReactNative"||P==="NativeScript"||P==="NS")?!1:typeof window<"u"&&typeof document<"u"})(),D7=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),Bf={isBrowser:!0,classes:{URLSearchParams:_7,FormData:P7,Blob:R7},isStandardBrowserEnv:I7,isStandardBrowserWebWorkerEnv:D7,protocols:["http","https","file","blob","url","data"]};function k7(P,N){return Jg(P,new Bf.classes.URLSearchParams,Object.assign({visitor:function(J,oe,be,_e){return Bf.isNode&&$n.isBuffer(J)?(this.append(oe,J.toString("base64")),!1):_e.defaultVisitor.apply(this,arguments)}},N))}function F7(P){return $n.matchAll(/\w+|\[(\w*)]/g,P).map(N=>N[0]==="[]"?"":N[1]||N[0])}function O7(P){const N={},J=Object.keys(P);let oe;const be=J.length;let _e;for(oe=0;oe=J.length;return U=!U&&$n.isArray(be)?be.length:U,e?($n.hasOwnProp(be,U)?be[U]=[be[U],oe]:be[U]=oe,!B):((!be[U]||!$n.isObject(be[U]))&&(be[U]=[]),N(J,oe,be[U],_e)&&$n.isArray(be[U])&&(be[U]=O7(be[U])),!B)}if($n.isFormData(P)&&$n.isFunction(P.entries)){const J={};return $n.forEachEntry(P,(oe,be)=>{N(F7(oe),be,J,0)}),J}return null}const z7={"Content-Type":void 0};function B7(P,N,J){if($n.isString(P))try{return(N||JSON.parse)(P),$n.trim(P)}catch(oe){if(oe.name!=="SyntaxError")throw oe}return(J||JSON.stringify)(P)}const Qg={transitional:a5,adapter:["xhr","http"],transformRequest:[function(N,J){const oe=J.getContentType()||"",be=oe.indexOf("application/json")>-1,_e=$n.isObject(N);if(_e&&$n.isHTMLForm(N)&&(N=new FormData(N)),$n.isFormData(N))return be&&be?JSON.stringify(i5(N)):N;if($n.isArrayBuffer(N)||$n.isBuffer(N)||$n.isStream(N)||$n.isFile(N)||$n.isBlob(N))return N;if($n.isArrayBufferView(N))return N.buffer;if($n.isURLSearchParams(N))return J.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),N.toString();let B;if(_e){if(oe.indexOf("application/x-www-form-urlencoded")>-1)return k7(N,this.formSerializer).toString();if((B=$n.isFileList(N))||oe.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Jg(B?{"files[]":N}:N,e&&new e,this.formSerializer)}}return _e||be?(J.setContentType("application/json",!1),B7(N)):N}],transformResponse:[function(N){const J=this.transitional||Qg.transitional,oe=J&&J.forcedJSONParsing,be=this.responseType==="json";if(N&&$n.isString(N)&&(oe&&!this.responseType||be)){const U=!(J&&J.silentJSONParsing)&&be;try{return JSON.parse(N)}catch(B){if(U)throw B.name==="SyntaxError"?Wi.from(B,Wi.ERR_BAD_RESPONSE,this,null,this.response):B}}return N}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Bf.classes.FormData,Blob:Bf.classes.Blob},validateStatus:function(N){return N>=200&&N<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};$n.forEach(["delete","get","head"],function(N){Qg.headers[N]={}});$n.forEach(["post","put","patch"],function(N){Qg.headers[N]=$n.merge(z7)});const k1=Qg,N7=$n.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),U7=P=>{const N={};let J,oe,be;return P&&P.split(` +`).forEach(function(U){be=U.indexOf(":"),J=U.substring(0,be).trim().toLowerCase(),oe=U.substring(be+1).trim(),!(!J||N[J]&&N7[J])&&(J==="set-cookie"?N[J]?N[J].push(oe):N[J]=[oe]:N[J]=N[J]?N[J]+", "+oe:oe)}),N},Ob=Symbol("internals");function gp(P){return P&&String(P).trim().toLowerCase()}function og(P){return P===!1||P==null?P:$n.isArray(P)?P.map(og):String(P)}function H7(P){const N=Object.create(null),J=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let oe;for(;oe=J.exec(P);)N[oe[1]]=oe[2];return N}const V7=P=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(P.trim());function em(P,N,J,oe,be){if($n.isFunction(oe))return oe.call(this,N,J);if(be&&(N=J),!!$n.isString(N)){if($n.isString(oe))return N.indexOf(oe)!==-1;if($n.isRegExp(oe))return oe.test(N)}}function G7(P){return P.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(N,J,oe)=>J.toUpperCase()+oe)}function W7(P,N){const J=$n.toCamelCase(" "+N);["get","set","has"].forEach(oe=>{Object.defineProperty(P,oe+J,{value:function(be,_e,U){return this[oe].call(this,N,be,_e,U)},configurable:!0})})}class qg{constructor(N){N&&this.set(N)}set(N,J,oe){const be=this;function _e(B,e,v){const E=gp(e);if(!E)throw new Error("header name must be a non-empty string");const a=$n.findKey(be,E);(!a||be[a]===void 0||v===!0||v===void 0&&be[a]!==!1)&&(be[a||e]=og(B))}const U=(B,e)=>$n.forEach(B,(v,E)=>_e(v,E,e));return $n.isPlainObject(N)||N instanceof this.constructor?U(N,J):$n.isString(N)&&(N=N.trim())&&!V7(N)?U(U7(N),J):N!=null&&_e(J,N,oe),this}get(N,J){if(N=gp(N),N){const oe=$n.findKey(this,N);if(oe){const be=this[oe];if(!J)return be;if(J===!0)return H7(be);if($n.isFunction(J))return J.call(this,be,oe);if($n.isRegExp(J))return J.exec(be);throw new TypeError("parser must be boolean|regexp|function")}}}has(N,J){if(N=gp(N),N){const oe=$n.findKey(this,N);return!!(oe&&this[oe]!==void 0&&(!J||em(this,this[oe],oe,J)))}return!1}delete(N,J){const oe=this;let be=!1;function _e(U){if(U=gp(U),U){const B=$n.findKey(oe,U);B&&(!J||em(oe,oe[B],B,J))&&(delete oe[B],be=!0)}}return $n.isArray(N)?N.forEach(_e):_e(N),be}clear(N){const J=Object.keys(this);let oe=J.length,be=!1;for(;oe--;){const _e=J[oe];(!N||em(this,this[_e],_e,N,!0))&&(delete this[_e],be=!0)}return be}normalize(N){const J=this,oe={};return $n.forEach(this,(be,_e)=>{const U=$n.findKey(oe,_e);if(U){J[U]=og(be),delete J[_e];return}const B=N?G7(_e):String(_e).trim();B!==_e&&delete J[_e],J[B]=og(be),oe[B]=!0}),this}concat(...N){return this.constructor.concat(this,...N)}toJSON(N){const J=Object.create(null);return $n.forEach(this,(oe,be)=>{oe!=null&&oe!==!1&&(J[be]=N&&$n.isArray(oe)?oe.join(", "):oe)}),J}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([N,J])=>N+": "+J).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(N){return N instanceof this?N:new this(N)}static concat(N,...J){const oe=new this(N);return J.forEach(be=>oe.set(be)),oe}static accessor(N){const oe=(this[Ob]=this[Ob]={accessors:{}}).accessors,be=this.prototype;function _e(U){const B=gp(U);oe[B]||(W7(be,U),oe[B]=!0)}return $n.isArray(N)?N.forEach(_e):_e(N),this}}qg.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);$n.freezeMethods(qg.prototype);$n.freezeMethods(qg);const Cc=qg;function tm(P,N){const J=this||k1,oe=N||J,be=Cc.from(oe.headers);let _e=oe.data;return $n.forEach(P,function(B){_e=B.call(J,_e,be.normalize(),N?N.status:void 0)}),be.normalize(),_e}function o5(P){return!!(P&&P.__CANCEL__)}function t0(P,N,J){Wi.call(this,P??"canceled",Wi.ERR_CANCELED,N,J),this.name="CanceledError"}$n.inherits(t0,Wi,{__CANCEL__:!0});function j7(P,N,J){const oe=J.config.validateStatus;!J.status||!oe||oe(J.status)?P(J):N(new Wi("Request failed with status code "+J.status,[Wi.ERR_BAD_REQUEST,Wi.ERR_BAD_RESPONSE][Math.floor(J.status/100)-4],J.config,J.request,J))}const Y7=Bf.isStandardBrowserEnv?function(){return{write:function(J,oe,be,_e,U,B){const e=[];e.push(J+"="+encodeURIComponent(oe)),$n.isNumber(be)&&e.push("expires="+new Date(be).toGMTString()),$n.isString(_e)&&e.push("path="+_e),$n.isString(U)&&e.push("domain="+U),B===!0&&e.push("secure"),document.cookie=e.join("; ")},read:function(J){const oe=document.cookie.match(new RegExp("(^|;\\s*)("+J+")=([^;]*)"));return oe?decodeURIComponent(oe[3]):null},remove:function(J){this.write(J,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function Z7(P){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(P)}function X7(P,N){return N?P.replace(/\/+$/,"")+"/"+N.replace(/^\/+/,""):P}function s5(P,N){return P&&!Z7(N)?X7(P,N):N}const K7=Bf.isStandardBrowserEnv?function(){const N=/(msie|trident)/i.test(navigator.userAgent),J=document.createElement("a");let oe;function be(_e){let U=_e;return N&&(J.setAttribute("href",U),U=J.href),J.setAttribute("href",U),{href:J.href,protocol:J.protocol?J.protocol.replace(/:$/,""):"",host:J.host,search:J.search?J.search.replace(/^\?/,""):"",hash:J.hash?J.hash.replace(/^#/,""):"",hostname:J.hostname,port:J.port,pathname:J.pathname.charAt(0)==="/"?J.pathname:"/"+J.pathname}}return oe=be(window.location.href),function(U){const B=$n.isString(U)?be(U):U;return B.protocol===oe.protocol&&B.host===oe.host}}():function(){return function(){return!0}}();function $7(P){const N=/^([-+\w]{1,25})(:?\/\/|:)/.exec(P);return N&&N[1]||""}function J7(P,N){P=P||10;const J=new Array(P),oe=new Array(P);let be=0,_e=0,U;return N=N!==void 0?N:1e3,function(e){const v=Date.now(),E=oe[_e];U||(U=v),J[be]=e,oe[be]=v;let a=_e,C=0;for(;a!==be;)C+=J[a++],a=a%P;if(be=(be+1)%P,be===_e&&(_e=(_e+1)%P),v-U{const _e=be.loaded,U=be.lengthComputable?be.total:void 0,B=_e-J,e=oe(B),v=_e<=U;J=_e;const E={loaded:_e,total:U,progress:U?_e/U:void 0,bytes:B,rate:e||void 0,estimated:e&&U&&v?(U-_e)/e:void 0,event:be};E[N?"download":"upload"]=!0,P(E)}}const Q7=typeof XMLHttpRequest<"u",q7=Q7&&function(P){return new Promise(function(J,oe){let be=P.data;const _e=Cc.from(P.headers).normalize(),U=P.responseType;let B;function e(){P.cancelToken&&P.cancelToken.unsubscribe(B),P.signal&&P.signal.removeEventListener("abort",B)}$n.isFormData(be)&&(Bf.isStandardBrowserEnv||Bf.isStandardBrowserWebWorkerEnv?_e.setContentType(!1):_e.setContentType("multipart/form-data;",!1));let v=new XMLHttpRequest;if(P.auth){const w=P.auth.username||"",d=P.auth.password?unescape(encodeURIComponent(P.auth.password)):"";_e.set("Authorization","Basic "+btoa(w+":"+d))}const E=s5(P.baseURL,P.url);v.open(P.method.toUpperCase(),n5(E,P.params,P.paramsSerializer),!0),v.timeout=P.timeout;function a(){if(!v)return;const w=Cc.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),p={data:!U||U==="text"||U==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:w,config:P,request:v};j7(function(r){J(r),e()},function(r){oe(r),e()},p),v=null}if("onloadend"in v?v.onloadend=a:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(a)},v.onabort=function(){v&&(oe(new Wi("Request aborted",Wi.ECONNABORTED,P,v)),v=null)},v.onerror=function(){oe(new Wi("Network Error",Wi.ERR_NETWORK,P,v)),v=null},v.ontimeout=function(){let d=P.timeout?"timeout of "+P.timeout+"ms exceeded":"timeout exceeded";const p=P.transitional||a5;P.timeoutErrorMessage&&(d=P.timeoutErrorMessage),oe(new Wi(d,p.clarifyTimeoutError?Wi.ETIMEDOUT:Wi.ECONNABORTED,P,v)),v=null},Bf.isStandardBrowserEnv){const w=(P.withCredentials||K7(E))&&P.xsrfCookieName&&Y7.read(P.xsrfCookieName);w&&_e.set(P.xsrfHeaderName,w)}be===void 0&&_e.setContentType(null),"setRequestHeader"in v&&$n.forEach(_e.toJSON(),function(d,p){v.setRequestHeader(p,d)}),$n.isUndefined(P.withCredentials)||(v.withCredentials=!!P.withCredentials),U&&U!=="json"&&(v.responseType=P.responseType),typeof P.onDownloadProgress=="function"&&v.addEventListener("progress",zb(P.onDownloadProgress,!0)),typeof P.onUploadProgress=="function"&&v.upload&&v.upload.addEventListener("progress",zb(P.onUploadProgress)),(P.cancelToken||P.signal)&&(B=w=>{v&&(oe(!w||w.type?new t0(null,P,v):w),v.abort(),v=null)},P.cancelToken&&P.cancelToken.subscribe(B),P.signal&&(P.signal.aborted?B():P.signal.addEventListener("abort",B)));const C=$7(E);if(C&&Bf.protocols.indexOf(C)===-1){oe(new Wi("Unsupported protocol "+C+":",Wi.ERR_BAD_REQUEST,P));return}v.send(be||null)})},sg={http:M7,xhr:q7};$n.forEach(sg,(P,N)=>{if(P){try{Object.defineProperty(P,"name",{value:N})}catch{}Object.defineProperty(P,"adapterName",{value:N})}});const eL={getAdapter:P=>{P=$n.isArray(P)?P:[P];const{length:N}=P;let J,oe;for(let be=0;beP instanceof Cc?P.toJSON():P;function Av(P,N){N=N||{};const J={};function oe(v,E,a){return $n.isPlainObject(v)&&$n.isPlainObject(E)?$n.merge.call({caseless:a},v,E):$n.isPlainObject(E)?$n.merge({},E):$n.isArray(E)?E.slice():E}function be(v,E,a){if($n.isUndefined(E)){if(!$n.isUndefined(v))return oe(void 0,v,a)}else return oe(v,E,a)}function _e(v,E){if(!$n.isUndefined(E))return oe(void 0,E)}function U(v,E){if($n.isUndefined(E)){if(!$n.isUndefined(v))return oe(void 0,v)}else return oe(void 0,E)}function B(v,E,a){if(a in N)return oe(v,E);if(a in P)return oe(void 0,v)}const e={url:_e,method:_e,data:_e,baseURL:U,transformRequest:U,transformResponse:U,paramsSerializer:U,timeout:U,timeoutMessage:U,withCredentials:U,adapter:U,responseType:U,xsrfCookieName:U,xsrfHeaderName:U,onUploadProgress:U,onDownloadProgress:U,decompress:U,maxContentLength:U,maxBodyLength:U,beforeRedirect:U,transport:U,httpAgent:U,httpsAgent:U,cancelToken:U,socketPath:U,responseEncoding:U,validateStatus:B,headers:(v,E)=>be(Nb(v),Nb(E),!0)};return $n.forEach(Object.keys(Object.assign({},P,N)),function(E){const a=e[E]||be,C=a(P[E],N[E],E);$n.isUndefined(C)&&a!==B||(J[E]=C)}),J}const l5="1.4.0",F1={};["object","boolean","number","function","string","symbol"].forEach((P,N)=>{F1[P]=function(oe){return typeof oe===P||"a"+(N<1?"n ":" ")+P}});const Ub={};F1.transitional=function(N,J,oe){function be(_e,U){return"[Axios v"+l5+"] Transitional option '"+_e+"'"+U+(oe?". "+oe:"")}return(_e,U,B)=>{if(N===!1)throw new Wi(be(U," has been removed"+(J?" in "+J:"")),Wi.ERR_DEPRECATED);return J&&!Ub[U]&&(Ub[U]=!0,console.warn(be(U," has been deprecated since v"+J+" and will be removed in the near future"))),N?N(_e,U,B):!0}};function tL(P,N,J){if(typeof P!="object")throw new Wi("options must be an object",Wi.ERR_BAD_OPTION_VALUE);const oe=Object.keys(P);let be=oe.length;for(;be-- >0;){const _e=oe[be],U=N[_e];if(U){const B=P[_e],e=B===void 0||U(B,_e,P);if(e!==!0)throw new Wi("option "+_e+" must be "+e,Wi.ERR_BAD_OPTION_VALUE);continue}if(J!==!0)throw new Wi("Unknown option "+_e,Wi.ERR_BAD_OPTION)}}const zm={assertOptions:tL,validators:F1},mh=zm.validators;class Ag{constructor(N){this.defaults=N,this.interceptors={request:new Fb,response:new Fb}}request(N,J){typeof N=="string"?(J=J||{},J.url=N):J=N||{},J=Av(this.defaults,J);const{transitional:oe,paramsSerializer:be,headers:_e}=J;oe!==void 0&&zm.assertOptions(oe,{silentJSONParsing:mh.transitional(mh.boolean),forcedJSONParsing:mh.transitional(mh.boolean),clarifyTimeoutError:mh.transitional(mh.boolean)},!1),be!=null&&($n.isFunction(be)?J.paramsSerializer={serialize:be}:zm.assertOptions(be,{encode:mh.function,serialize:mh.function},!0)),J.method=(J.method||this.defaults.method||"get").toLowerCase();let U;U=_e&&$n.merge(_e.common,_e[J.method]),U&&$n.forEach(["delete","get","head","post","put","patch","common"],d=>{delete _e[d]}),J.headers=Cc.concat(U,_e);const B=[];let e=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(J)===!1||(e=e&&p.synchronous,B.unshift(p.fulfilled,p.rejected))});const v=[];this.interceptors.response.forEach(function(p){v.push(p.fulfilled,p.rejected)});let E,a=0,C;if(!e){const d=[Bb.bind(this),void 0];for(d.unshift.apply(d,B),d.push.apply(d,v),C=d.length,E=Promise.resolve(J);a{if(!oe._listeners)return;let _e=oe._listeners.length;for(;_e-- >0;)oe._listeners[_e](be);oe._listeners=null}),this.promise.then=be=>{let _e;const U=new Promise(B=>{oe.subscribe(B),_e=B}).then(be);return U.cancel=function(){oe.unsubscribe(_e)},U},N(function(_e,U,B){oe.reason||(oe.reason=new t0(_e,U,B),J(oe.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(N){if(this.reason){N(this.reason);return}this._listeners?this._listeners.push(N):this._listeners=[N]}unsubscribe(N){if(!this._listeners)return;const J=this._listeners.indexOf(N);J!==-1&&this._listeners.splice(J,1)}static source(){let N;return{token:new O1(function(be){N=be}),cancel:N}}}const rL=O1;function nL(P){return function(J){return P.apply(null,J)}}function aL(P){return $n.isObject(P)&&P.isAxiosError===!0}const Bm={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bm).forEach(([P,N])=>{Bm[N]=P});const iL=Bm;function u5(P){const N=new lg(P),J=jT(lg.prototype.request,N);return $n.extend(J,lg.prototype,N,{allOwnKeys:!0}),$n.extend(J,N,null,{allOwnKeys:!0}),J.create=function(be){return u5(Av(P,be))},J}const is=u5(k1);is.Axios=lg;is.CanceledError=t0;is.CancelToken=rL;is.isCancel=o5;is.VERSION=l5;is.toFormData=Jg;is.AxiosError=Wi;is.Cancel=is.CanceledError;is.all=function(N){return Promise.all(N)};is.spread=nL;is.isAxiosError=aL;is.mergeConfig=Av;is.AxiosHeaders=Cc;is.formToJSON=P=>i5($n.isHTMLForm(P)?new FormData(P):P);is.HttpStatusCode=iL;is.default=is;const f5=is;var Hb;const ms=typeof window<"u",oL=P=>typeof P=="function",sL=P=>typeof P=="string",Mg=()=>{},c5=ms&&((Hb=window==null?void 0:window.navigator)==null?void 0:Hb.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Mv(P){return typeof P=="function"?P():Ar(P)}function h5(P,N){function J(...oe){return new Promise((be,_e)=>{Promise.resolve(P(()=>N.apply(this,oe),{fn:N,thisArg:this,args:oe})).then(be).catch(_e)})}return J}const d5=P=>P();function lL(P,N={}){let J,oe,be=Mg;const _e=B=>{clearTimeout(B),be(),be=Mg};return B=>{const e=Mv(P),v=Mv(N.maxWait);return J&&_e(J),e<=0||v!==void 0&&v<=0?(oe&&(_e(oe),oe=null),Promise.resolve(B())):new Promise((E,a)=>{be=N.rejectOnCancel?a:E,v&&!oe&&(oe=setTimeout(()=>{J&&_e(J),oe=null,E(B())},v)),J=setTimeout(()=>{oe&&_e(oe),oe=null,E(B())},e)})}}function uL(P=d5){const N=ra(!0);function J(){N.value=!1}function oe(){N.value=!0}const be=(..._e)=>{N.value&&P(..._e)};return{isActive:Qp(N),pause:J,resume:oe,eventFilter:be}}function fL(P){return P}function r0(P){return _w()?(xM(P),!0):!1}function cL(P,N=200,J={}){return h5(lL(N,J),P)}function hL(P,N=200,J={}){const oe=ra(P.value),be=cL(()=>{oe.value=P.value},N,J);return ja(P,()=>be()),oe}function dL(P){return typeof P=="function"?sn(P):ra(P)}function v5(P,N=!0){bs()?xo(P):N?P():Ii(P)}function Nm(P,N,J={}){const{immediate:oe=!0}=J,be=ra(!1);let _e=null;function U(){_e&&(clearTimeout(_e),_e=null)}function B(){be.value=!1,U()}function e(...v){U(),be.value=!0,_e=setTimeout(()=>{be.value=!1,_e=null,P(...v)},Mv(N))}return oe&&(be.value=!0,ms&&e()),r0(B),{isPending:Qp(be),start:e,stop:B}}var Vb=Object.getOwnPropertySymbols,vL=Object.prototype.hasOwnProperty,pL=Object.prototype.propertyIsEnumerable,gL=(P,N)=>{var J={};for(var oe in P)vL.call(P,oe)&&N.indexOf(oe)<0&&(J[oe]=P[oe]);if(P!=null&&Vb)for(var oe of Vb(P))N.indexOf(oe)<0&&pL.call(P,oe)&&(J[oe]=P[oe]);return J};function yL(P,N,J={}){const oe=J,{eventFilter:be=d5}=oe,_e=gL(oe,["eventFilter"]);return ja(P,h5(be,N),_e)}var mL=Object.defineProperty,xL=Object.defineProperties,bL=Object.getOwnPropertyDescriptors,Sg=Object.getOwnPropertySymbols,p5=Object.prototype.hasOwnProperty,g5=Object.prototype.propertyIsEnumerable,Gb=(P,N,J)=>N in P?mL(P,N,{enumerable:!0,configurable:!0,writable:!0,value:J}):P[N]=J,wL=(P,N)=>{for(var J in N||(N={}))p5.call(N,J)&&Gb(P,J,N[J]);if(Sg)for(var J of Sg(N))g5.call(N,J)&&Gb(P,J,N[J]);return P},TL=(P,N)=>xL(P,bL(N)),AL=(P,N)=>{var J={};for(var oe in P)p5.call(P,oe)&&N.indexOf(oe)<0&&(J[oe]=P[oe]);if(P!=null&&Sg)for(var oe of Sg(P))N.indexOf(oe)<0&&g5.call(P,oe)&&(J[oe]=P[oe]);return J};function ML(P,N,J={}){const oe=J,{eventFilter:be}=oe,_e=AL(oe,["eventFilter"]),{eventFilter:U,pause:B,resume:e,isActive:v}=uL(be);return{stop:yL(P,N,TL(wL({},_e),{eventFilter:U})),pause:B,resume:e,isActive:v}}function Eh(P){var N;const J=Mv(P);return(N=J==null?void 0:J.$el)!=null?N:J}const Dh=ms?window:void 0;function Lc(...P){let N,J,oe,be;if(sL(P[0])||Array.isArray(P[0])?([J,oe,be]=P,N=Dh):[N,J,oe,be]=P,!N)return Mg;Array.isArray(J)||(J=[J]),Array.isArray(oe)||(oe=[oe]);const _e=[],U=()=>{_e.forEach(E=>E()),_e.length=0},B=(E,a,C,w)=>(E.addEventListener(a,C,w),()=>E.removeEventListener(a,C,w)),e=ja(()=>[Eh(N),Mv(be)],([E,a])=>{U(),E&&_e.push(...J.flatMap(C=>oe.map(w=>B(E,C,w,a))))},{immediate:!0,flush:"post"}),v=()=>{e(),U()};return r0(v),v}let Wb=!1;function SL(P,N,J={}){const{window:oe=Dh,ignore:be=[],capture:_e=!0,detectIframe:U=!1}=J;if(!oe)return;c5&&!Wb&&(Wb=!0,Array.from(oe.document.body.children).forEach(C=>C.addEventListener("click",Mg)));let B=!0;const e=C=>be.some(w=>{if(typeof w=="string")return Array.from(oe.document.querySelectorAll(w)).some(d=>d===C.target||C.composedPath().includes(d));{const d=Eh(w);return d&&(C.target===d||C.composedPath().includes(d))}}),E=[Lc(oe,"click",C=>{const w=Eh(P);if(!(!w||w===C.target||C.composedPath().includes(w))){if(C.detail===0&&(B=!e(C)),!B){B=!0;return}N(C)}},{passive:!0,capture:_e}),Lc(oe,"pointerdown",C=>{const w=Eh(P);w&&(B=!C.composedPath().includes(w)&&!e(C))},{passive:!0}),U&&Lc(oe,"blur",C=>{var w;const d=Eh(P);((w=oe.document.activeElement)==null?void 0:w.tagName)==="IFRAME"&&!(d!=null&&d.contains(oe.document.activeElement))&&N(C)})].filter(Boolean);return()=>E.forEach(C=>C())}function y5(P,N=!1){const J=ra(),oe=()=>J.value=!!P();return oe(),v5(oe,N),J}function EL(P,N={}){const{window:J=Dh}=N,oe=y5(()=>J&&"matchMedia"in J&&typeof J.matchMedia=="function");let be;const _e=ra(!1),U=()=>{be&&("removeEventListener"in be?be.removeEventListener("change",B):be.removeListener(B))},B=()=>{oe.value&&(U(),be=J.matchMedia(dL(P).value),_e.value=be.matches,"addEventListener"in be?be.addEventListener("change",B):be.addListener(B))};return qw(B),r0(()=>U()),_e}const Um=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Hm="__vueuse_ssr_handlers__";Um[Hm]=Um[Hm]||{};const CL=Um[Hm];function m5(P,N){return CL[P]||N}function LL(P){return P==null?"any":P instanceof Set?"set":P instanceof Map?"map":P instanceof Date?"date":typeof P=="boolean"?"boolean":typeof P=="string"?"string":typeof P=="object"?"object":Number.isNaN(P)?"any":"number"}var _L=Object.defineProperty,jb=Object.getOwnPropertySymbols,PL=Object.prototype.hasOwnProperty,RL=Object.prototype.propertyIsEnumerable,Yb=(P,N,J)=>N in P?_L(P,N,{enumerable:!0,configurable:!0,writable:!0,value:J}):P[N]=J,Zb=(P,N)=>{for(var J in N||(N={}))PL.call(N,J)&&Yb(P,J,N[J]);if(jb)for(var J of jb(N))RL.call(N,J)&&Yb(P,J,N[J]);return P};const IL={boolean:{read:P=>P==="true",write:P=>String(P)},object:{read:P=>JSON.parse(P),write:P=>JSON.stringify(P)},number:{read:P=>Number.parseFloat(P),write:P=>String(P)},any:{read:P=>P,write:P=>String(P)},string:{read:P=>P,write:P=>String(P)},map:{read:P=>new Map(JSON.parse(P)),write:P=>JSON.stringify(Array.from(P.entries()))},set:{read:P=>new Set(JSON.parse(P)),write:P=>JSON.stringify(Array.from(P))},date:{read:P=>new Date(P),write:P=>P.toISOString()}},Xb="vueuse-storage";function DL(P,N,J,oe={}){var be;const{flush:_e="pre",deep:U=!0,listenToStorageChanges:B=!0,writeDefaults:e=!0,mergeDefaults:v=!1,shallow:E,window:a=Dh,eventFilter:C,onError:w=h=>{console.error(h)}}=oe,d=(E?_h:ra)(N);if(!J)try{J=m5("getDefaultStorage",()=>{var h;return(h=Dh)==null?void 0:h.localStorage})()}catch(h){w(h)}if(!J)return d;const p=Mv(N),t=LL(p),r=(be=oe.serializer)!=null?be:IL[t],{pause:c,resume:o}=ML(d,()=>n(d.value),{flush:_e,deep:U,eventFilter:C});return a&&B&&(Lc(a,"storage",g),Lc(a,Xb,i)),g(),d;function n(h){try{if(h==null)J.removeItem(P);else{const x=r.write(h),f=J.getItem(P);f!==x&&(J.setItem(P,x),a&&a.dispatchEvent(new CustomEvent(Xb,{detail:{key:P,oldValue:f,newValue:x,storageArea:J}})))}}catch(x){w(x)}}function u(h){const x=h?h.newValue:J.getItem(P);if(x==null)return e&&p!==null&&J.setItem(P,r.write(p)),p;if(!h&&v){const f=r.read(x);return oL(v)?v(f,p):t==="object"&&!Array.isArray(f)?Zb(Zb({},p),f):f}else return typeof x!="string"?x:r.read(x)}function i(h){g(h.detail)}function g(h){if(!(h&&h.storageArea!==J)){if(h&&h.key==null){d.value=p;return}if(!(h&&h.key!==P)){c();try{d.value=u(h)}catch(x){w(x)}finally{h?Ii(o):o()}}}}}function x5(P){return EL("(prefers-color-scheme: dark)",P)}var kL=Object.defineProperty,Kb=Object.getOwnPropertySymbols,FL=Object.prototype.hasOwnProperty,OL=Object.prototype.propertyIsEnumerable,$b=(P,N,J)=>N in P?kL(P,N,{enumerable:!0,configurable:!0,writable:!0,value:J}):P[N]=J,zL=(P,N)=>{for(var J in N||(N={}))FL.call(N,J)&&$b(P,J,N[J]);if(Kb)for(var J of Kb(N))OL.call(N,J)&&$b(P,J,N[J]);return P};function BL(P={}){const{selector:N="html",attribute:J="class",initialValue:oe="auto",window:be=Dh,storage:_e,storageKey:U="vueuse-color-scheme",listenToStorageChanges:B=!0,storageRef:e,emitAuto:v}=P,E=zL({auto:"",light:"light",dark:"dark"},P.modes||{}),a=x5({window:be}),C=sn(()=>a.value?"dark":"light"),w=e||(U==null?ra(oe):DL(U,oe,_e,{window:be,listenToStorageChanges:B})),d=sn({get(){return w.value==="auto"&&!v?C.value:w.value},set(c){w.value=c}}),p=m5("updateHTMLAttrs",(c,o,n)=>{const u=be==null?void 0:be.document.querySelector(c);if(u)if(o==="class"){const i=n.split(/\s/g);Object.values(E).flatMap(g=>(g||"").split(/\s/g)).filter(Boolean).forEach(g=>{i.includes(g)?u.classList.add(g):u.classList.remove(g)})}else u.setAttribute(o,n)});function t(c){var o;const n=c==="auto"?C.value:c;p(N,J,(o=E[n])!=null?o:n)}function r(c){P.onChanged?P.onChanged(c,t):t(c)}return ja(d,r,{flush:"post",immediate:!0}),v&&ja(C,()=>r(d.value),{flush:"post"}),v5(()=>r(d.value)),d}var NL=Object.defineProperty,UL=Object.defineProperties,HL=Object.getOwnPropertyDescriptors,Jb=Object.getOwnPropertySymbols,VL=Object.prototype.hasOwnProperty,GL=Object.prototype.propertyIsEnumerable,Qb=(P,N,J)=>N in P?NL(P,N,{enumerable:!0,configurable:!0,writable:!0,value:J}):P[N]=J,WL=(P,N)=>{for(var J in N||(N={}))VL.call(N,J)&&Qb(P,J,N[J]);if(Jb)for(var J of Jb(N))GL.call(N,J)&&Qb(P,J,N[J]);return P},jL=(P,N)=>UL(P,HL(N));function n0(P={}){const{valueDark:N="dark",valueLight:J="",window:oe=Dh}=P,be=BL(jL(WL({},P),{onChanged:(B,e)=>{var v;P.onChanged?(v=P.onChanged)==null||v.call(P,B==="dark"):e(B)},modes:{dark:N,light:J}})),_e=x5({window:oe});return sn({get(){return be.value==="dark"},set(B){B===_e.value?be.value="auto":be.value=B?"dark":"light"}})}var qb=Object.getOwnPropertySymbols,YL=Object.prototype.hasOwnProperty,ZL=Object.prototype.propertyIsEnumerable,XL=(P,N)=>{var J={};for(var oe in P)YL.call(P,oe)&&N.indexOf(oe)<0&&(J[oe]=P[oe]);if(P!=null&&qb)for(var oe of qb(P))N.indexOf(oe)<0&&ZL.call(P,oe)&&(J[oe]=P[oe]);return J};function Rd(P,N,J={}){const oe=J,{window:be=Dh}=oe,_e=XL(oe,["window"]);let U;const B=y5(()=>be&&"ResizeObserver"in be),e=()=>{U&&(U.disconnect(),U=void 0)},v=ja(()=>Eh(P),a=>{e(),B.value&&be&&a&&(U=new ResizeObserver(N),U.observe(a,_e))},{immediate:!0,flush:"post"}),E=()=>{e(),v()};return r0(E),{isSupported:B,stop:E}}var e3;(function(P){P.UP="UP",P.RIGHT="RIGHT",P.DOWN="DOWN",P.LEFT="LEFT",P.NONE="NONE"})(e3||(e3={}));var KL=Object.defineProperty,t3=Object.getOwnPropertySymbols,$L=Object.prototype.hasOwnProperty,JL=Object.prototype.propertyIsEnumerable,r3=(P,N,J)=>N in P?KL(P,N,{enumerable:!0,configurable:!0,writable:!0,value:J}):P[N]=J,QL=(P,N)=>{for(var J in N||(N={}))$L.call(N,J)&&r3(P,J,N[J]);if(t3)for(var J of t3(N))JL.call(N,J)&&r3(P,J,N[J]);return P};const qL={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};QL({linear:fL},qL);const e_={class:"home-container"},t_=Ca({name:"HomePage",__name:"Home",setup(P){const N=n0(),J=ra(""),oe=xs({omitExtraWLInCodeBlocks:!1,noHeaderId:!1,prefixHeaderId:!1,rawPrefixHeaderId:!1,ghCompatibleHeaderId:!1,rawHeaderId:!1,headerLevelStart:!1,parseImgDimensions:!1,simplifiedAutoLink:!1,excludeTrailingPunctuationFromURLs:!1,literalMidWordUnderscores:!1,literalMidWordAsterisks:!1,strikethrough:!1,tables:!0,tablesHeaderId:!1,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!1,smartIndentationFix:!1,disableForced4SpacesIndentedSublists:!1,simpleLineBreaks:!1,requireSpaceBeforeHeadingText:!1,ghMentions:!1,ghMentionsLink:"https://github.com/{u}",encodeEmails:!0,openLinksInNewWindow:!1,backslashEscapesHTMLTags:!1,emoji:!0,underline:!1,ellipsis:!0,completeHTMLDocument:!1,metadata:!1,splitAdjacentBlockquotes:!1});return xo(async()=>{console.log("in on mounted");try{const be=await f5.get("/benchmark/home.md");J.value=be.data}catch(be){console.error(be)}}),(be,_e)=>{const U=qu("VueShowdown");return Wn(),Oa("div",e_,[Ia(U,{class:ua([{"markdown-body-light":!Ar(N),"markdown-body-dark":Ar(N)},"markdown-body"]),markdown:J.value,options:oe,flavor:"github"},null,8,["class","markdown","options"])])}}}),ug=function(P,N,...J){let oe;N.includes("mouse")||N.includes("click")?oe="MouseEvents":N.includes("key")?oe="KeyboardEvent":oe="HTMLEvents";const be=document.createEvent(oe);return be.initEvent(N,...J),P.dispatchEvent(be),P},Sc=(P,N,{checkForDefaultPrevented:J=!0}={})=>be=>{const _e=P==null?void 0:P(be);if(J===!1||!_e)return N==null?void 0:N(be)},r_=()=>ms&&/firefox/i.test(window.navigator.userAgent);var n_=typeof global=="object"&&global&&global.Object===Object&&global;const b5=n_;var a_=typeof self=="object"&&self&&self.Object===Object&&self,i_=b5||a_||Function("return this")();const sf=i_;var o_=sf.Symbol;const Mu=o_;var w5=Object.prototype,s_=w5.hasOwnProperty,l_=w5.toString,yp=Mu?Mu.toStringTag:void 0;function u_(P){var N=s_.call(P,yp),J=P[yp];try{P[yp]=void 0;var oe=!0}catch{}var be=l_.call(P);return oe&&(N?P[yp]=J:delete P[yp]),be}var f_=Object.prototype,c_=f_.toString;function h_(P){return c_.call(P)}var d_="[object Null]",v_="[object Undefined]",n3=Mu?Mu.toStringTag:void 0;function Nv(P){return P==null?P===void 0?v_:d_:n3&&n3 in Object(P)?u_(P):h_(P)}function kh(P){return P!=null&&typeof P=="object"}var p_="[object Symbol]";function ey(P){return typeof P=="symbol"||kh(P)&&Nv(P)==p_}function g_(P,N){for(var J=-1,oe=P==null?0:P.length,be=Array(oe);++J0){if(++N>=$_)return arguments[0]}else N=0;return P.apply(void 0,arguments)}}function e9(P){return function(){return P}}var t9=function(){try{var P=Dd(Object,"defineProperty");return P({},"",{}),P}catch{}}();const Eg=t9;var r9=Eg?function(P,N){return Eg(P,"toString",{configurable:!0,enumerable:!1,value:e9(N),writable:!0})}:C_;const n9=r9;var a9=q_(n9);const i9=a9;function o9(P,N){for(var J=-1,oe=P==null?0:P.length;++J-1&&P%1==0&&P-1&&P%1==0&&P<=h9}function S5(P){return P!=null&&U1(P.length)&&!A5(P)}var d9=Object.prototype;function H1(P){var N=P&&P.constructor,J=typeof N=="function"&&N.prototype||d9;return P===J}function v9(P,N){for(var J=-1,oe=Array(P);++J-1}function _P(P,N){var J=this.__data__,oe=ry(J,P);return oe<0?(++this.size,J.push([P,N])):J[oe][1]=N,this}function Oc(P){var N=-1,J=P==null?0:P.length;for(this.clear();++N0&&J(B)?N>1?D5(B,N-1,J,oe,be):X1(be,B):oe||(be[be.length]=B)}return be}function ZP(P){var N=P==null?0:P.length;return N?D5(P,1):[]}function XP(P){return i9(c9(P,void 0,ZP),P+"")}var KP=R5(Object.getPrototypeOf,Object);const k5=KP;function Gm(){if(!arguments.length)return[];var P=arguments[0];return of(P)?P:[P]}function $P(){this.__data__=new Oc,this.size=0}function JP(P){var N=this.__data__,J=N.delete(P);return this.size=N.size,J}function QP(P){return this.__data__.get(P)}function qP(P){return this.__data__.has(P)}var eR=200;function tR(P,N){var J=this.__data__;if(J instanceof Oc){var oe=J.__data__;if(!jp||oe.lengthB))return!1;var v=_e.get(P),E=_e.get(N);if(v&&E)return v==N&&E==P;var a=-1,C=!0,w=J&HI?new _g:void 0;for(_e.set(P,N),_e.set(N,P);++a=N||g<0||a&&h>=_e}function r(){var i=om();if(t(i))return c(i);B=setTimeout(r,p(i))}function c(i){return B=void 0,C&&oe?w(i):(oe=be=void 0,U)}function o(){B!==void 0&&clearTimeout(B),v=0,oe=e=be=B=void 0}function n(){return B===void 0?U:c(om())}function u(){var i=om(),g=t(i);if(oe=arguments,be=this,e=i,g){if(B===void 0)return d(e);if(a)return clearTimeout(B),B=setTimeout(r,N),w(e)}return B===void 0&&(B=setTimeout(r,N)),U}return u.cancel=o,u.flush=n,u}function Pg(P){for(var N=-1,J=P==null?0:P.length,oe={};++NP===void 0,Ic=P=>typeof P=="boolean",qo=P=>typeof P=="number",Cv=P=>typeof Element>"u"?!1:P instanceof Element,MD=P=>ci(P)?!Number.isNaN(Number(P)):!1,SD=(P="")=>P.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),F3=P=>Object.keys(P),sm=(P,N,J)=>({get value(){return Xl(P,N,J)},set value(oe){AD(P,N,oe)}});class ED extends Error{constructor(N){super(N),this.name="ElementPlusError"}}function Lv(P,N){throw new ED(`[${P}] ${N}`)}const j5=(P="")=>P.split(" ").filter(N=>!!N.trim()),CD=(P,N)=>{if(!P||!N)return!1;if(N.includes(" "))throw new Error("className should not contain space.");return P.classList.contains(N)},W0=(P,N)=>{!P||!N.trim()||P.classList.add(...j5(N))},lm=(P,N)=>{!P||!N.trim()||P.classList.remove(...j5(N))};function Zp(P,N="px"){if(!P)return"";if(qo(P)||MD(P))return`${P}${N}`;if(ci(P))return P}function LD(P,N){if(!ms)return;if(!N){P.scrollTop=0;return}const J=[];let oe=N.offsetParent;for(;oe!==null&&P!==oe&&P.contains(oe);)J.push(oe),oe=oe.offsetParent;const be=N.offsetTop+J.reduce((e,v)=>e+v.offsetTop,0),_e=be+N.offsetHeight,U=P.scrollTop,B=U+P.clientHeight;beB&&(P.scrollTop=_e-P.clientHeight)}/*! Element Plus Icons Vue v2.1.0 */var eu=(P,N)=>{let J=P.__vccOpts||P;for(let[oe,be]of N)J[oe]=be;return J},_D={name:"ArrowDown"},PD={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},RD=za("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"},null,-1),ID=[RD];function DD(P,N,J,oe,be,_e){return Wn(),Oa("svg",PD,ID)}var Y5=eu(_D,[["render",DD],["__file","arrow-down.vue"]]),kD={name:"ArrowRight"},FD={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},OD=za("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"},null,-1),zD=[OD];function BD(P,N,J,oe,be,_e){return Wn(),Oa("svg",FD,zD)}var ND=eu(kD,[["render",BD],["__file","arrow-right.vue"]]),UD={name:"CircleCheck"},HD={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},VD=za("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),GD=za("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"},null,-1),WD=[VD,GD];function jD(P,N,J,oe,be,_e){return Wn(),Oa("svg",HD,WD)}var YD=eu(UD,[["render",jD],["__file","circle-check.vue"]]),ZD={name:"CircleCloseFilled"},XD={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},KD=za("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null,-1),$D=[KD];function JD(P,N,J,oe,be,_e){return Wn(),Oa("svg",XD,$D)}var Z5=eu(ZD,[["render",JD],["__file","circle-close-filled.vue"]]),QD={name:"CircleClose"},qD={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},ek=za("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"},null,-1),tk=za("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),rk=[ek,tk];function nk(P,N,J,oe,be,_e){return Wn(),Oa("svg",qD,rk)}var J1=eu(QD,[["render",nk],["__file","circle-close.vue"]]),ak={name:"Close"},ik={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},ok=za("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1),sk=[ok];function lk(P,N,J,oe,be,_e){return Wn(),Oa("svg",ik,sk)}var Km=eu(ak,[["render",lk],["__file","close.vue"]]),uk={name:"Hide"},fk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},ck=za("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2L371.2 588.8ZM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"},null,-1),hk=za("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"},null,-1),dk=[ck,hk];function vk(P,N,J,oe,be,_e){return Wn(),Oa("svg",fk,dk)}var pk=eu(uk,[["render",vk],["__file","hide.vue"]]),gk={name:"InfoFilled"},yk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},mk=za("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null,-1),xk=[mk];function bk(P,N,J,oe,be,_e){return Wn(),Oa("svg",yk,xk)}var X5=eu(gk,[["render",bk],["__file","info-filled.vue"]]),wk={name:"Loading"},Tk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Ak=za("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"},null,-1),Mk=[Ak];function Sk(P,N,J,oe,be,_e){return Wn(),Oa("svg",Tk,Mk)}var Ek=eu(wk,[["render",Sk],["__file","loading.vue"]]),Ck={name:"More"},Lk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},_k=za("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"},null,-1),Pk=[_k];function Rk(P,N,J,oe,be,_e){return Wn(),Oa("svg",Lk,Pk)}var Ik=eu(Ck,[["render",Rk],["__file","more.vue"]]),Dk={name:"SuccessFilled"},kk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Fk=za("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),Ok=[Fk];function zk(P,N,J,oe,be,_e){return Wn(),Oa("svg",kk,Ok)}var K5=eu(Dk,[["render",zk],["__file","success-filled.vue"]]),Bk={name:"View"},Nk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Uk=za("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z"},null,-1),Hk=[Uk];function Vk(P,N,J,oe,be,_e){return Wn(),Oa("svg",Nk,Hk)}var Gk=eu(Bk,[["render",Vk],["__file","view.vue"]]),Wk={name:"WarningFilled"},jk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},Yk=za("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null,-1),Zk=[Yk];function Xk(P,N,J,oe,be,_e){return Wn(),Oa("svg",jk,Zk)}var $5=eu(Wk,[["render",Xk],["__file","warning-filled.vue"]]);const J5="__epPropKey",oi=P=>P,Kk=P=>Ei(P)&&!!P[J5],iy=(P,N)=>{if(!Ei(P)||Kk(P))return P;const{values:J,required:oe,default:be,type:_e,validator:U}=P,e={type:_e,required:!!oe,validator:J||U?v=>{let E=!1,a=[];if(J&&(a=Array.from(J),zi(P,"default")&&a.push(be),E||(E=a.includes(v))),U&&(E||(E=U(v))),!E&&a.length>0){const C=[...new Set(a)].map(w=>JSON.stringify(w)).join(", ");qM(`Invalid prop: validation failed${N?` for prop "${N}"`:""}. Expected one of [${C}], got value ${JSON.stringify(v)}.`)}return E}:void 0,[J5]:!0};return zi(P,"default")&&(e.default=be),e},Zi=P=>Pg(Object.entries(P).map(([N,J])=>[N,iy(J,N)])),Ec=oi([String,Object,Function]),$k={Close:Km,SuccessFilled:K5,InfoFilled:X5,WarningFilled:$5,CircleCloseFilled:Z5},O3={success:K5,warning:$5,error:Z5,info:X5},Jk={validating:Ek,success:YD,error:J1},ks=(P,N)=>{if(P.install=J=>{for(const oe of[P,...Object.values(N??{})])J.component(oe.name,oe)},N)for(const[J,oe]of Object.entries(N))P[J]=oe;return P},Qk=(P,N)=>(P.install=J=>{P._context=J._context,J.config.globalProperties[N]=P},P),Rl=P=>(P.install=Ks,P),Rs={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},gs="update:modelValue",Q1="change",a0=["","default","small","large"],qk={large:40,default:32,small:24},eF=P=>qk[P||"default"],tF=P=>["",...a0].includes(P),cg=P=>{const N=Va(P)?P:[P],J=[];return N.forEach(oe=>{var be;Va(oe)?J.push(...cg(oe)):Ih(oe)&&Va(oe.children)?J.push(...cg(oe.children)):(J.push(oe),Ih(oe)&&((be=oe.component)!=null&&be.subTree)&&J.push(...cg(oe.component.subTree)))}),J},Q5=P=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(P),Sh=P=>P,rF=["class","style"],nF=/^on[A-Z]/,aF=(P={})=>{const{excludeListeners:N=!1,excludeKeys:J}=P,oe=sn(()=>((J==null?void 0:J.value)||[]).concat(rF)),be=bs();return sn(be?()=>{var _e;return Pg(Object.entries((_e=be.proxy)==null?void 0:_e.$attrs).filter(([U])=>!oe.value.includes(U)&&!(N&&nF.test(U))))}:()=>({}))},q5=({from:P,replacement:N,scope:J,version:oe,ref:be,type:_e="API"},U)=>{ja(()=>Ar(U),B=>{},{immediate:!0})},iF=P=>({focus:()=>{var N,J;(J=(N=P.value)==null?void 0:N.focus)==null||J.call(N)}});var oF={name:"en",el:{colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"}}};const sF=P=>(N,J)=>lF(N,J,Ar(P)),lF=(P,N,J)=>Xl(J,P,P).replace(/\{(\w+)\}/g,(oe,be)=>{var _e;return`${(_e=N==null?void 0:N[be])!=null?_e:`{${be}}`}`}),uF=P=>{const N=sn(()=>Ar(P).name),J=mo(P)?P:ra(P);return{lang:N,locale:J,t:sF(P)}},eA=Symbol("localeContextKey"),oy=P=>{const N=P||si(eA,ra());return uF(sn(()=>N.value||oF))},$m="el",fF="is-",gd=(P,N,J,oe,be)=>{let _e=`${P}-${N}`;return J&&(_e+=`-${J}`),oe&&(_e+=`__${oe}`),be&&(_e+=`--${be}`),_e},tA=Symbol("namespaceContextKey"),q1=P=>{const N=P||si(tA,ra($m));return sn(()=>Ar(N)||$m)},li=(P,N)=>{const J=q1(N);return{namespace:J,b:(p="")=>gd(J.value,P,p,"",""),e:p=>p?gd(J.value,P,"",p,""):"",m:p=>p?gd(J.value,P,"","",p):"",be:(p,t)=>p&&t?gd(J.value,P,p,t,""):"",em:(p,t)=>p&&t?gd(J.value,P,"",p,t):"",bm:(p,t)=>p&&t?gd(J.value,P,p,"",t):"",bem:(p,t,r)=>p&&t&&r?gd(J.value,P,p,t,r):"",is:(p,...t)=>{const r=t.length>=1?t[0]:!0;return p&&r?`${fF}${p}`:""},cssVar:p=>{const t={};for(const r in p)p[r]&&(t[`--${J.value}-${r}`]=p[r]);return t},cssVarName:p=>`--${J.value}-${p}`,cssVarBlock:p=>{const t={};for(const r in p)p[r]&&(t[`--${J.value}-${P}-${r}`]=p[r]);return t},cssVarBlockName:p=>`--${J.value}-${P}-${p}`}},cF=iy({type:oi(Boolean),default:null}),hF=iy({type:oi(Function)}),rA=P=>{const N=`update:${P}`,J=`onUpdate:${P}`,oe=[N],be={[P]:cF,[J]:hF};return{useModelToggle:({indicator:U,toggleReason:B,shouldHideWhenRouteChanges:e,shouldProceed:v,onShow:E,onHide:a})=>{const C=bs(),{emit:w}=C,d=C.props,p=sn(()=>Qa(d[J])),t=sn(()=>d[P]===null),r=g=>{U.value!==!0&&(U.value=!0,B&&(B.value=g),Qa(E)&&E(g))},c=g=>{U.value!==!1&&(U.value=!1,B&&(B.value=g),Qa(a)&&a(g))},o=g=>{if(d.disabled===!0||Qa(v)&&!v())return;const h=p.value&&ms;h&&w(N,!0),(t.value||!h)&&r(g)},n=g=>{if(d.disabled===!0||!ms)return;const h=p.value&&ms;h&&w(N,!1),(t.value||!h)&&c(g)},u=g=>{Ic(g)&&(d.disabled&&g?p.value&&w(N,!1):U.value!==g&&(g?r():c()))},i=()=>{U.value?n():o()};return ja(()=>d[P],u),e&&C.appContext.config.globalProperties.$route!==void 0&&ja(()=>({...C.proxy.$route}),()=>{e.value&&U.value&&n()}),xo(()=>{u(d[P])}),{hide:n,show:o,toggle:i,hasUpdateHandler:p}},useModelToggleProps:be,useModelToggleEmits:oe}};rA("modelValue");const nA=P=>{const N=bs();return sn(()=>{var J,oe;return(oe=(J=N==null?void 0:N.proxy)==null?void 0:J.$props)==null?void 0:oe[P]})};var Ll="top",Su="bottom",Eu="right",_l="left",ex="auto",i0=[Ll,Su,Eu,_l],_v="start",Xp="end",dF="clippingParents",aA="viewport",mp="popper",vF="reference",z3=i0.reduce(function(P,N){return P.concat([N+"-"+_v,N+"-"+Xp])},[]),sy=[].concat(i0,[ex]).reduce(function(P,N){return P.concat([N,N+"-"+_v,N+"-"+Xp])},[]),pF="beforeRead",gF="read",yF="afterRead",mF="beforeMain",xF="main",bF="afterMain",wF="beforeWrite",TF="write",AF="afterWrite",MF=[pF,gF,yF,mF,xF,bF,wF,TF,AF];function Gf(P){return P?(P.nodeName||"").toLowerCase():null}function lf(P){if(P==null)return window;if(P.toString()!=="[object Window]"){var N=P.ownerDocument;return N&&N.defaultView||window}return P}function Pv(P){var N=lf(P).Element;return P instanceof N||P instanceof Element}function Au(P){var N=lf(P).HTMLElement;return P instanceof N||P instanceof HTMLElement}function tx(P){if(typeof ShadowRoot>"u")return!1;var N=lf(P).ShadowRoot;return P instanceof N||P instanceof ShadowRoot}function SF(P){var N=P.state;Object.keys(N.elements).forEach(function(J){var oe=N.styles[J]||{},be=N.attributes[J]||{},_e=N.elements[J];!Au(_e)||!Gf(_e)||(Object.assign(_e.style,oe),Object.keys(be).forEach(function(U){var B=be[U];B===!1?_e.removeAttribute(U):_e.setAttribute(U,B===!0?"":B)}))})}function EF(P){var N=P.state,J={popper:{position:N.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(N.elements.popper.style,J.popper),N.styles=J,N.elements.arrow&&Object.assign(N.elements.arrow.style,J.arrow),function(){Object.keys(N.elements).forEach(function(oe){var be=N.elements[oe],_e=N.attributes[oe]||{},U=Object.keys(N.styles.hasOwnProperty(oe)?N.styles[oe]:J[oe]),B=U.reduce(function(e,v){return e[v]="",e},{});!Au(be)||!Gf(be)||(Object.assign(be.style,B),Object.keys(_e).forEach(function(e){be.removeAttribute(e)}))})}}var iA={name:"applyStyles",enabled:!0,phase:"write",fn:SF,effect:EF,requires:["computeStyles"]};function Uf(P){return P.split("-")[0]}var Ed=Math.max,Ig=Math.min,Rv=Math.round;function Iv(P,N){N===void 0&&(N=!1);var J=P.getBoundingClientRect(),oe=1,be=1;if(Au(P)&&N){var _e=P.offsetHeight,U=P.offsetWidth;U>0&&(oe=Rv(J.width)/U||1),_e>0&&(be=Rv(J.height)/_e||1)}return{width:J.width/oe,height:J.height/be,top:J.top/be,right:J.right/oe,bottom:J.bottom/be,left:J.left/oe,x:J.left/oe,y:J.top/be}}function rx(P){var N=Iv(P),J=P.offsetWidth,oe=P.offsetHeight;return Math.abs(N.width-J)<=1&&(J=N.width),Math.abs(N.height-oe)<=1&&(oe=N.height),{x:P.offsetLeft,y:P.offsetTop,width:J,height:oe}}function oA(P,N){var J=N.getRootNode&&N.getRootNode();if(P.contains(N))return!0;if(J&&tx(J)){var oe=N;do{if(oe&&P.isSameNode(oe))return!0;oe=oe.parentNode||oe.host}while(oe)}return!1}function Dc(P){return lf(P).getComputedStyle(P)}function CF(P){return["table","td","th"].indexOf(Gf(P))>=0}function Oh(P){return((Pv(P)?P.ownerDocument:P.document)||window.document).documentElement}function ly(P){return Gf(P)==="html"?P:P.assignedSlot||P.parentNode||(tx(P)?P.host:null)||Oh(P)}function B3(P){return!Au(P)||Dc(P).position==="fixed"?null:P.offsetParent}function LF(P){var N=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,J=navigator.userAgent.indexOf("Trident")!==-1;if(J&&Au(P)){var oe=Dc(P);if(oe.position==="fixed")return null}var be=ly(P);for(tx(be)&&(be=be.host);Au(be)&&["html","body"].indexOf(Gf(be))<0;){var _e=Dc(be);if(_e.transform!=="none"||_e.perspective!=="none"||_e.contain==="paint"||["transform","perspective"].indexOf(_e.willChange)!==-1||N&&_e.willChange==="filter"||N&&_e.filter&&_e.filter!=="none")return be;be=be.parentNode}return null}function o0(P){for(var N=lf(P),J=B3(P);J&&CF(J)&&Dc(J).position==="static";)J=B3(J);return J&&(Gf(J)==="html"||Gf(J)==="body"&&Dc(J).position==="static")?N:J||LF(P)||N}function nx(P){return["top","bottom"].indexOf(P)>=0?"x":"y"}function Pp(P,N,J){return Ed(P,Ig(N,J))}function _F(P,N,J){var oe=Pp(P,N,J);return oe>J?J:oe}function sA(){return{top:0,right:0,bottom:0,left:0}}function lA(P){return Object.assign({},sA(),P)}function uA(P,N){return N.reduce(function(J,oe){return J[oe]=P,J},{})}var PF=function(P,N){return P=typeof P=="function"?P(Object.assign({},N.rects,{placement:N.placement})):P,lA(typeof P!="number"?P:uA(P,i0))};function RF(P){var N,J=P.state,oe=P.name,be=P.options,_e=J.elements.arrow,U=J.modifiersData.popperOffsets,B=Uf(J.placement),e=nx(B),v=[_l,Eu].indexOf(B)>=0,E=v?"height":"width";if(!(!_e||!U)){var a=PF(be.padding,J),C=rx(_e),w=e==="y"?Ll:_l,d=e==="y"?Su:Eu,p=J.rects.reference[E]+J.rects.reference[e]-U[e]-J.rects.popper[E],t=U[e]-J.rects.reference[e],r=o0(_e),c=r?e==="y"?r.clientHeight||0:r.clientWidth||0:0,o=p/2-t/2,n=a[w],u=c-C[E]-a[d],i=c/2-C[E]/2+o,g=Pp(n,i,u),h=e;J.modifiersData[oe]=(N={},N[h]=g,N.centerOffset=g-i,N)}}function IF(P){var N=P.state,J=P.options,oe=J.element,be=oe===void 0?"[data-popper-arrow]":oe;be!=null&&(typeof be=="string"&&(be=N.elements.popper.querySelector(be),!be)||!oA(N.elements.popper,be)||(N.elements.arrow=be))}var DF={name:"arrow",enabled:!0,phase:"main",fn:RF,effect:IF,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Dv(P){return P.split("-")[1]}var kF={top:"auto",right:"auto",bottom:"auto",left:"auto"};function FF(P){var N=P.x,J=P.y,oe=window,be=oe.devicePixelRatio||1;return{x:Rv(N*be)/be||0,y:Rv(J*be)/be||0}}function N3(P){var N,J=P.popper,oe=P.popperRect,be=P.placement,_e=P.variation,U=P.offsets,B=P.position,e=P.gpuAcceleration,v=P.adaptive,E=P.roundOffsets,a=P.isFixed,C=U.x,w=C===void 0?0:C,d=U.y,p=d===void 0?0:d,t=typeof E=="function"?E({x:w,y:p}):{x:w,y:p};w=t.x,p=t.y;var r=U.hasOwnProperty("x"),c=U.hasOwnProperty("y"),o=_l,n=Ll,u=window;if(v){var i=o0(J),g="clientHeight",h="clientWidth";if(i===lf(J)&&(i=Oh(J),Dc(i).position!=="static"&&B==="absolute"&&(g="scrollHeight",h="scrollWidth")),i=i,be===Ll||(be===_l||be===Eu)&&_e===Xp){n=Su;var x=a&&i===u&&u.visualViewport?u.visualViewport.height:i[g];p-=x-oe.height,p*=e?1:-1}if(be===_l||(be===Ll||be===Su)&&_e===Xp){o=Eu;var f=a&&i===u&&u.visualViewport?u.visualViewport.width:i[h];w-=f-oe.width,w*=e?1:-1}}var l=Object.assign({position:B},v&&kF),y=E===!0?FF({x:w,y:p}):{x:w,y:p};if(w=y.x,p=y.y,e){var T;return Object.assign({},l,(T={},T[n]=c?"0":"",T[o]=r?"0":"",T.transform=(u.devicePixelRatio||1)<=1?"translate("+w+"px, "+p+"px)":"translate3d("+w+"px, "+p+"px, 0)",T))}return Object.assign({},l,(N={},N[n]=c?p+"px":"",N[o]=r?w+"px":"",N.transform="",N))}function OF(P){var N=P.state,J=P.options,oe=J.gpuAcceleration,be=oe===void 0?!0:oe,_e=J.adaptive,U=_e===void 0?!0:_e,B=J.roundOffsets,e=B===void 0?!0:B,v={placement:Uf(N.placement),variation:Dv(N.placement),popper:N.elements.popper,popperRect:N.rects.popper,gpuAcceleration:be,isFixed:N.options.strategy==="fixed"};N.modifiersData.popperOffsets!=null&&(N.styles.popper=Object.assign({},N.styles.popper,N3(Object.assign({},v,{offsets:N.modifiersData.popperOffsets,position:N.options.strategy,adaptive:U,roundOffsets:e})))),N.modifiersData.arrow!=null&&(N.styles.arrow=Object.assign({},N.styles.arrow,N3(Object.assign({},v,{offsets:N.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:e})))),N.attributes.popper=Object.assign({},N.attributes.popper,{"data-popper-placement":N.placement})}var fA={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:OF,data:{}},j0={passive:!0};function zF(P){var N=P.state,J=P.instance,oe=P.options,be=oe.scroll,_e=be===void 0?!0:be,U=oe.resize,B=U===void 0?!0:U,e=lf(N.elements.popper),v=[].concat(N.scrollParents.reference,N.scrollParents.popper);return _e&&v.forEach(function(E){E.addEventListener("scroll",J.update,j0)}),B&&e.addEventListener("resize",J.update,j0),function(){_e&&v.forEach(function(E){E.removeEventListener("scroll",J.update,j0)}),B&&e.removeEventListener("resize",J.update,j0)}}var cA={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:zF,data:{}},BF={left:"right",right:"left",bottom:"top",top:"bottom"};function hg(P){return P.replace(/left|right|bottom|top/g,function(N){return BF[N]})}var NF={start:"end",end:"start"};function U3(P){return P.replace(/start|end/g,function(N){return NF[N]})}function ax(P){var N=lf(P),J=N.pageXOffset,oe=N.pageYOffset;return{scrollLeft:J,scrollTop:oe}}function ix(P){return Iv(Oh(P)).left+ax(P).scrollLeft}function UF(P){var N=lf(P),J=Oh(P),oe=N.visualViewport,be=J.clientWidth,_e=J.clientHeight,U=0,B=0;return oe&&(be=oe.width,_e=oe.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(U=oe.offsetLeft,B=oe.offsetTop)),{width:be,height:_e,x:U+ix(P),y:B}}function HF(P){var N,J=Oh(P),oe=ax(P),be=(N=P.ownerDocument)==null?void 0:N.body,_e=Ed(J.scrollWidth,J.clientWidth,be?be.scrollWidth:0,be?be.clientWidth:0),U=Ed(J.scrollHeight,J.clientHeight,be?be.scrollHeight:0,be?be.clientHeight:0),B=-oe.scrollLeft+ix(P),e=-oe.scrollTop;return Dc(be||J).direction==="rtl"&&(B+=Ed(J.clientWidth,be?be.clientWidth:0)-_e),{width:_e,height:U,x:B,y:e}}function ox(P){var N=Dc(P),J=N.overflow,oe=N.overflowX,be=N.overflowY;return/auto|scroll|overlay|hidden/.test(J+be+oe)}function hA(P){return["html","body","#document"].indexOf(Gf(P))>=0?P.ownerDocument.body:Au(P)&&ox(P)?P:hA(ly(P))}function Rp(P,N){var J;N===void 0&&(N=[]);var oe=hA(P),be=oe===((J=P.ownerDocument)==null?void 0:J.body),_e=lf(oe),U=be?[_e].concat(_e.visualViewport||[],ox(oe)?oe:[]):oe,B=N.concat(U);return be?B:B.concat(Rp(ly(U)))}function Jm(P){return Object.assign({},P,{left:P.x,top:P.y,right:P.x+P.width,bottom:P.y+P.height})}function VF(P){var N=Iv(P);return N.top=N.top+P.clientTop,N.left=N.left+P.clientLeft,N.bottom=N.top+P.clientHeight,N.right=N.left+P.clientWidth,N.width=P.clientWidth,N.height=P.clientHeight,N.x=N.left,N.y=N.top,N}function H3(P,N){return N===aA?Jm(UF(P)):Pv(N)?VF(N):Jm(HF(Oh(P)))}function GF(P){var N=Rp(ly(P)),J=["absolute","fixed"].indexOf(Dc(P).position)>=0,oe=J&&Au(P)?o0(P):P;return Pv(oe)?N.filter(function(be){return Pv(be)&&oA(be,oe)&&Gf(be)!=="body"}):[]}function WF(P,N,J){var oe=N==="clippingParents"?GF(P):[].concat(N),be=[].concat(oe,[J]),_e=be[0],U=be.reduce(function(B,e){var v=H3(P,e);return B.top=Ed(v.top,B.top),B.right=Ig(v.right,B.right),B.bottom=Ig(v.bottom,B.bottom),B.left=Ed(v.left,B.left),B},H3(P,_e));return U.width=U.right-U.left,U.height=U.bottom-U.top,U.x=U.left,U.y=U.top,U}function dA(P){var N=P.reference,J=P.element,oe=P.placement,be=oe?Uf(oe):null,_e=oe?Dv(oe):null,U=N.x+N.width/2-J.width/2,B=N.y+N.height/2-J.height/2,e;switch(be){case Ll:e={x:U,y:N.y-J.height};break;case Su:e={x:U,y:N.y+N.height};break;case Eu:e={x:N.x+N.width,y:B};break;case _l:e={x:N.x-J.width,y:B};break;default:e={x:N.x,y:N.y}}var v=be?nx(be):null;if(v!=null){var E=v==="y"?"height":"width";switch(_e){case _v:e[v]=e[v]-(N[E]/2-J[E]/2);break;case Xp:e[v]=e[v]+(N[E]/2-J[E]/2);break}}return e}function Kp(P,N){N===void 0&&(N={});var J=N,oe=J.placement,be=oe===void 0?P.placement:oe,_e=J.boundary,U=_e===void 0?dF:_e,B=J.rootBoundary,e=B===void 0?aA:B,v=J.elementContext,E=v===void 0?mp:v,a=J.altBoundary,C=a===void 0?!1:a,w=J.padding,d=w===void 0?0:w,p=lA(typeof d!="number"?d:uA(d,i0)),t=E===mp?vF:mp,r=P.rects.popper,c=P.elements[C?t:E],o=WF(Pv(c)?c:c.contextElement||Oh(P.elements.popper),U,e),n=Iv(P.elements.reference),u=dA({reference:n,element:r,strategy:"absolute",placement:be}),i=Jm(Object.assign({},r,u)),g=E===mp?i:n,h={top:o.top-g.top+p.top,bottom:g.bottom-o.bottom+p.bottom,left:o.left-g.left+p.left,right:g.right-o.right+p.right},x=P.modifiersData.offset;if(E===mp&&x){var f=x[be];Object.keys(h).forEach(function(l){var y=[Eu,Su].indexOf(l)>=0?1:-1,T=[Ll,Su].indexOf(l)>=0?"y":"x";h[l]+=f[T]*y})}return h}function jF(P,N){N===void 0&&(N={});var J=N,oe=J.placement,be=J.boundary,_e=J.rootBoundary,U=J.padding,B=J.flipVariations,e=J.allowedAutoPlacements,v=e===void 0?sy:e,E=Dv(oe),a=E?B?z3:z3.filter(function(d){return Dv(d)===E}):i0,C=a.filter(function(d){return v.indexOf(d)>=0});C.length===0&&(C=a);var w=C.reduce(function(d,p){return d[p]=Kp(P,{placement:p,boundary:be,rootBoundary:_e,padding:U})[Uf(p)],d},{});return Object.keys(w).sort(function(d,p){return w[d]-w[p]})}function YF(P){if(Uf(P)===ex)return[];var N=hg(P);return[U3(P),N,U3(N)]}function ZF(P){var N=P.state,J=P.options,oe=P.name;if(!N.modifiersData[oe]._skip){for(var be=J.mainAxis,_e=be===void 0?!0:be,U=J.altAxis,B=U===void 0?!0:U,e=J.fallbackPlacements,v=J.padding,E=J.boundary,a=J.rootBoundary,C=J.altBoundary,w=J.flipVariations,d=w===void 0?!0:w,p=J.allowedAutoPlacements,t=N.options.placement,r=Uf(t),c=r===t,o=e||(c||!d?[hg(t)]:YF(t)),n=[t].concat(o).reduce(function(G,O){return G.concat(Uf(O)===ex?jF(N,{placement:O,boundary:E,rootBoundary:a,padding:v,flipVariations:d,allowedAutoPlacements:p}):O)},[]),u=N.rects.reference,i=N.rects.popper,g=new Map,h=!0,x=n[0],f=0;f=0,L=S?"width":"height",m=Kp(N,{placement:l,boundary:E,rootBoundary:a,altBoundary:C,padding:v}),M=S?T?Eu:_l:T?Su:Ll;u[L]>i[L]&&(M=hg(M));var b=hg(M),s=[];if(_e&&s.push(m[y]<=0),B&&s.push(m[M]<=0,m[b]<=0),s.every(function(G){return G})){x=l,h=!1;break}g.set(l,s)}if(h)for(var _=d?3:1,A=function(G){var O=n.find(function(H){var z=g.get(H);if(z)return z.slice(0,G).every(function(k){return k})});if(O)return x=O,"break"},D=_;D>0;D--){var F=A(D);if(F==="break")break}N.placement!==x&&(N.modifiersData[oe]._skip=!0,N.placement=x,N.reset=!0)}}var XF={name:"flip",enabled:!0,phase:"main",fn:ZF,requiresIfExists:["offset"],data:{_skip:!1}};function V3(P,N,J){return J===void 0&&(J={x:0,y:0}),{top:P.top-N.height-J.y,right:P.right-N.width+J.x,bottom:P.bottom-N.height+J.y,left:P.left-N.width-J.x}}function G3(P){return[Ll,Eu,Su,_l].some(function(N){return P[N]>=0})}function KF(P){var N=P.state,J=P.name,oe=N.rects.reference,be=N.rects.popper,_e=N.modifiersData.preventOverflow,U=Kp(N,{elementContext:"reference"}),B=Kp(N,{altBoundary:!0}),e=V3(U,oe),v=V3(B,be,_e),E=G3(e),a=G3(v);N.modifiersData[J]={referenceClippingOffsets:e,popperEscapeOffsets:v,isReferenceHidden:E,hasPopperEscaped:a},N.attributes.popper=Object.assign({},N.attributes.popper,{"data-popper-reference-hidden":E,"data-popper-escaped":a})}var $F={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:KF};function JF(P,N,J){var oe=Uf(P),be=[_l,Ll].indexOf(oe)>=0?-1:1,_e=typeof J=="function"?J(Object.assign({},N,{placement:P})):J,U=_e[0],B=_e[1];return U=U||0,B=(B||0)*be,[_l,Eu].indexOf(oe)>=0?{x:B,y:U}:{x:U,y:B}}function QF(P){var N=P.state,J=P.options,oe=P.name,be=J.offset,_e=be===void 0?[0,0]:be,U=sy.reduce(function(E,a){return E[a]=JF(a,N.rects,_e),E},{}),B=U[N.placement],e=B.x,v=B.y;N.modifiersData.popperOffsets!=null&&(N.modifiersData.popperOffsets.x+=e,N.modifiersData.popperOffsets.y+=v),N.modifiersData[oe]=U}var qF={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:QF};function eO(P){var N=P.state,J=P.name;N.modifiersData[J]=dA({reference:N.rects.reference,element:N.rects.popper,strategy:"absolute",placement:N.placement})}var vA={name:"popperOffsets",enabled:!0,phase:"read",fn:eO,data:{}};function tO(P){return P==="x"?"y":"x"}function rO(P){var N=P.state,J=P.options,oe=P.name,be=J.mainAxis,_e=be===void 0?!0:be,U=J.altAxis,B=U===void 0?!1:U,e=J.boundary,v=J.rootBoundary,E=J.altBoundary,a=J.padding,C=J.tether,w=C===void 0?!0:C,d=J.tetherOffset,p=d===void 0?0:d,t=Kp(N,{boundary:e,rootBoundary:v,padding:a,altBoundary:E}),r=Uf(N.placement),c=Dv(N.placement),o=!c,n=nx(r),u=tO(n),i=N.modifiersData.popperOffsets,g=N.rects.reference,h=N.rects.popper,x=typeof p=="function"?p(Object.assign({},N.rects,{placement:N.placement})):p,f=typeof x=="number"?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),l=N.modifiersData.offset?N.modifiersData.offset[N.placement]:null,y={x:0,y:0};if(i){if(_e){var T,S=n==="y"?Ll:_l,L=n==="y"?Su:Eu,m=n==="y"?"height":"width",M=i[n],b=M+t[S],s=M-t[L],_=w?-h[m]/2:0,A=c===_v?g[m]:h[m],D=c===_v?-h[m]:-g[m],F=N.elements.arrow,G=w&&F?rx(F):{width:0,height:0},O=N.modifiersData["arrow#persistent"]?N.modifiersData["arrow#persistent"].padding:sA(),H=O[S],z=O[L],k=Pp(0,g[m],G[m]),V=o?g[m]/2-_-k-H-f.mainAxis:A-k-H-f.mainAxis,Z=o?-g[m]/2+_+k+z+f.mainAxis:D+k+z+f.mainAxis,ee=N.elements.arrow&&o0(N.elements.arrow),Q=ee?n==="y"?ee.clientTop||0:ee.clientLeft||0:0,ne=(T=l==null?void 0:l[n])!=null?T:0,fe=M+V-ne-Q,$=M+Z-ne,Y=Pp(w?Ig(b,fe):b,M,w?Ed(s,$):s);i[n]=Y,y[n]=Y-M}if(B){var j,X=n==="x"?Ll:_l,re=n==="x"?Su:Eu,le=i[u],q=u==="y"?"height":"width",te=le+t[X],ue=le-t[re],ae=[Ll,_l].indexOf(r)!==-1,de=(j=l==null?void 0:l[u])!=null?j:0,xe=ae?te:le-g[q]-h[q]-de+f.altAxis,Se=ae?le+g[q]+h[q]-de-f.altAxis:ue,Ae=w&&ae?_F(xe,le,Se):Pp(w?xe:te,le,w?Se:ue);i[u]=Ae,y[u]=Ae-le}N.modifiersData[oe]=y}}var nO={name:"preventOverflow",enabled:!0,phase:"main",fn:rO,requiresIfExists:["offset"]};function aO(P){return{scrollLeft:P.scrollLeft,scrollTop:P.scrollTop}}function iO(P){return P===lf(P)||!Au(P)?ax(P):aO(P)}function oO(P){var N=P.getBoundingClientRect(),J=Rv(N.width)/P.offsetWidth||1,oe=Rv(N.height)/P.offsetHeight||1;return J!==1||oe!==1}function sO(P,N,J){J===void 0&&(J=!1);var oe=Au(N),be=Au(N)&&oO(N),_e=Oh(N),U=Iv(P,be),B={scrollLeft:0,scrollTop:0},e={x:0,y:0};return(oe||!oe&&!J)&&((Gf(N)!=="body"||ox(_e))&&(B=iO(N)),Au(N)?(e=Iv(N,!0),e.x+=N.clientLeft,e.y+=N.clientTop):_e&&(e.x=ix(_e))),{x:U.left+B.scrollLeft-e.x,y:U.top+B.scrollTop-e.y,width:U.width,height:U.height}}function lO(P){var N=new Map,J=new Set,oe=[];P.forEach(function(_e){N.set(_e.name,_e)});function be(_e){J.add(_e.name);var U=[].concat(_e.requires||[],_e.requiresIfExists||[]);U.forEach(function(B){if(!J.has(B)){var e=N.get(B);e&&be(e)}}),oe.push(_e)}return P.forEach(function(_e){J.has(_e.name)||be(_e)}),oe}function uO(P){var N=lO(P);return MF.reduce(function(J,oe){return J.concat(N.filter(function(be){return be.phase===oe}))},[])}function fO(P){var N;return function(){return N||(N=new Promise(function(J){Promise.resolve().then(function(){N=void 0,J(P())})})),N}}function cO(P){var N=P.reduce(function(J,oe){var be=J[oe.name];return J[oe.name]=be?Object.assign({},be,oe,{options:Object.assign({},be.options,oe.options),data:Object.assign({},be.data,oe.data)}):oe,J},{});return Object.keys(N).map(function(J){return N[J]})}var W3={placement:"bottom",modifiers:[],strategy:"absolute"};function j3(){for(var P=arguments.length,N=new Array(P),J=0;J{const oe={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const v=gO(e);Object.assign(U.value,v)},requires:["computeStyles"]},be=sn(()=>{const{onFirstUpdate:e,placement:v,strategy:E,modifiers:a}=Ar(J);return{onFirstUpdate:e,placement:v||"bottom",strategy:E||"absolute",modifiers:[...a||[],oe,{name:"applyStyles",enabled:!1}]}}),_e=_h(),U=ra({styles:{popper:{position:Ar(be).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),B=()=>{_e.value&&(_e.value.destroy(),_e.value=void 0)};return ja(be,e=>{const v=Ar(_e);v&&v.setOptions(e)},{deep:!0}),ja([P,N],([e,v])=>{B(),!(!e||!v)&&(_e.value=vO(e,v,Ar(be)))}),$s(()=>{B()}),{state:sn(()=>{var e;return{...((e=Ar(_e))==null?void 0:e.state)||{}}}),styles:sn(()=>Ar(U).styles),attributes:sn(()=>Ar(U).attributes),update:()=>{var e;return(e=Ar(_e))==null?void 0:e.update()},forceUpdate:()=>{var e;return(e=Ar(_e))==null?void 0:e.forceUpdate()},instanceRef:sn(()=>Ar(_e))}};function gO(P){const N=Object.keys(P.elements),J=Pg(N.map(be=>[be,P.styles[be]||{}])),oe=Pg(N.map(be=>[be,P.attributes[be]]));return{styles:J,attributes:oe}}function Y3(){let P;const N=(oe,be)=>{J(),P=window.setTimeout(oe,be)},J=()=>window.clearTimeout(P);return r0(()=>J()),{registerTimeout:N,cancelTimeout:J}}const Z3={prefix:Math.floor(Math.random()*1e4),current:0},yO=Symbol("elIdInjection"),pA=()=>bs()?si(yO,Z3):Z3,uy=P=>{const N=pA(),J=q1();return sn(()=>Ar(P)||`${J.value}-id-${N.prefix}-${N.current++}`)};let cv=[];const X3=P=>{const N=P;N.key===Rs.esc&&cv.forEach(J=>J(N))},mO=P=>{xo(()=>{cv.length===0&&document.addEventListener("keydown",X3),ms&&cv.push(P)}),$s(()=>{cv=cv.filter(N=>N!==P),cv.length===0&&ms&&document.removeEventListener("keydown",X3)})};let K3;const gA=()=>{const P=q1(),N=pA(),J=sn(()=>`${P.value}-popper-container-${N.prefix}`),oe=sn(()=>`#${J.value}`);return{id:J,selector:oe}},xO=P=>{const N=document.createElement("div");return N.id=P,document.body.appendChild(N),N},bO=()=>{const{id:P,selector:N}=gA();return oT(()=>{ms&&!K3&&!document.body.querySelector(N.value)&&(K3=xO(P.value))}),{id:P,selector:N}},wO=Zi({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),TO=({showAfter:P,hideAfter:N,autoClose:J,open:oe,close:be})=>{const{registerTimeout:_e}=Y3(),{registerTimeout:U,cancelTimeout:B}=Y3();return{onOpen:E=>{_e(()=>{oe(E);const a=Ar(J);qo(a)&&a>0&&U(()=>{be(E)},a)},Ar(P))},onClose:E=>{B(),_e(()=>{be(E)},Ar(N))}}},yA=Symbol("elForwardRef"),AO=P=>{Bo(yA,{setForwardRef:J=>{P.value=J}})},MO=P=>({mounted(N){P(N)},updated(N){P(N)},unmounted(){P(null)}}),$3=ra(0),mA=2e3,xA=Symbol("zIndexContextKey"),bA=P=>{const N=P||si(xA,void 0),J=sn(()=>{const _e=Ar(N);return qo(_e)?_e:mA}),oe=sn(()=>J.value+$3.value);return{initialZIndex:J,currentZIndex:oe,nextZIndex:()=>($3.value++,oe.value)}};function SO(P){const N=ra();function J(){if(P.value==null)return;const{selectionStart:be,selectionEnd:_e,value:U}=P.value;if(be==null||_e==null)return;const B=U.slice(0,Math.max(0,be)),e=U.slice(Math.max(0,_e));N.value={selectionStart:be,selectionEnd:_e,value:U,beforeTxt:B,afterTxt:e}}function oe(){if(P.value==null||N.value==null)return;const{value:be}=P.value,{beforeTxt:_e,afterTxt:U,selectionStart:B}=N.value;if(_e==null||U==null||B==null)return;let e=be.length;if(be.endsWith(U))e=be.length-U.length;else if(be.startsWith(_e))e=_e.length;else{const v=_e[B-1],E=be.indexOf(v,B-1);E!==-1&&(e=E+1)}P.value.setSelectionRange(e,e)}return[J,oe]}const Uv=iy({type:String,values:a0,required:!1}),wA=Symbol("size"),EO=()=>{const P=si(wA,{});return sn(()=>Ar(P.size)||"")},TA=Symbol(),Dg=ra();function AA(P,N=void 0){const J=bs()?si(TA,Dg):Dg;return P?sn(()=>{var oe,be;return(be=(oe=J.value)==null?void 0:oe[P])!=null?be:N}):J}function CO(P,N){const J=AA(),oe=li(P,sn(()=>{var B;return((B=J.value)==null?void 0:B.namespace)||$m})),be=oy(sn(()=>{var B;return(B=J.value)==null?void 0:B.locale})),_e=bA(sn(()=>{var B;return((B=J.value)==null?void 0:B.zIndex)||mA})),U=sn(()=>{var B;return Ar(N)||((B=J.value)==null?void 0:B.size)||""});return MA(sn(()=>Ar(J)||{})),{ns:oe,locale:be,zIndex:_e,size:U}}const MA=(P,N,J=!1)=>{var oe;const be=!!bs(),_e=be?AA():void 0,U=(oe=N==null?void 0:N.provide)!=null?oe:be?Bo:void 0;if(!U)return;const B=sn(()=>{const e=Ar(P);return _e!=null&&_e.value?LO(_e.value,e):e});return U(TA,B),U(eA,sn(()=>B.value.locale)),U(tA,sn(()=>B.value.namespace)),U(xA,sn(()=>B.value.zIndex)),U(wA,{size:sn(()=>B.value.size||"")}),(J||!Dg.value)&&(Dg.value=B.value),B},LO=(P,N)=>{var J;const oe=[...new Set([...F3(P),...F3(N)])],be={};for(const _e of oe)be[_e]=(J=N[_e])!=null?J:P[_e];return be},_O=Zi({a11y:{type:Boolean,default:!0},locale:{type:oi(Object)},size:Uv,button:{type:oi(Object)},experimentalFeatures:{type:oi(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:oi(Object)},zIndex:Number,namespace:{type:String,default:"el"}}),Qm={},PO=Ca({name:"ElConfigProvider",props:_O,setup(P,{slots:N}){ja(()=>P.message,oe=>{Object.assign(Qm,oe??{})},{immediate:!0,deep:!0});const J=MA(P);return()=>ti(N,"default",{config:J==null?void 0:J.value})}}),RO=ks(PO);var Si=(P,N)=>{const J=P.__vccOpts||P;for(const[oe,be]of N)J[oe]=be;return J};const IO=Zi({size:{type:oi([Number,String])},color:{type:String}}),DO=Ca({name:"ElIcon",inheritAttrs:!1}),kO=Ca({...DO,props:IO,setup(P){const N=P,J=li("icon"),oe=sn(()=>{const{size:be,color:_e}=N;return!be&&!_e?{}:{fontSize:Rg(be)?void 0:Zp(be),"--color":_e}});return(be,_e)=>(Wn(),Oa("i",Nf({class:Ar(J).b(),style:Ar(oe)},be.$attrs),[ti(be.$slots,"default")],16))}});var FO=Si(kO,[["__file","/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);const bu=ks(FO),Hv=Symbol("formContextKey"),Ld=Symbol("formItemContextKey"),Fh=(P,N={})=>{const J=ra(void 0),oe=N.prop?J:nA("size"),be=N.global?J:EO(),_e=N.form?{size:void 0}:si(Hv,void 0),U=N.formItem?{size:void 0}:si(Ld,void 0);return sn(()=>oe.value||Ar(P)||(U==null?void 0:U.size)||(_e==null?void 0:_e.size)||be.value||"")},lx=P=>{const N=nA("disabled"),J=si(Hv,void 0);return sn(()=>N.value||Ar(P)||(J==null?void 0:J.disabled)||!1)},Vv=()=>{const P=si(Hv,void 0),N=si(Ld,void 0);return{form:P,formItem:N}},fy=(P,{formItemContext:N,disableIdGeneration:J,disableIdManagement:oe})=>{J||(J=ra(!1)),oe||(oe=ra(!1));const be=ra();let _e;const U=sn(()=>{var B;return!!(!P.label&&N&&N.inputIds&&((B=N.inputIds)==null?void 0:B.length)<=1)});return xo(()=>{_e=ja([zf(P,"id"),J],([B,e])=>{const v=B??(e?void 0:uy().value);v!==be.value&&(N!=null&&N.removeInputId&&(be.value&&N.removeInputId(be.value),!(oe!=null&&oe.value)&&!e&&v&&N.addInputId(v)),be.value=v)},{immediate:!0})}),T1(()=>{_e&&_e(),N!=null&&N.removeInputId&&be.value&&N.removeInputId(be.value)}),{isLabeledByFormItem:U,inputId:be}},OO=Zi({size:{type:String,values:a0},disabled:Boolean}),zO=Zi({...OO,model:Object,rules:{type:oi(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:Boolean,scrollIntoViewOptions:{type:[Object,Boolean]}}),BO={validate:(P,N,J)=>(Va(P)||ci(P))&&Ic(N)&&ci(J)};function NO(){const P=ra([]),N=sn(()=>{if(!P.value.length)return"0";const _e=Math.max(...P.value);return _e?`${_e}px`:""});function J(_e){const U=P.value.indexOf(_e);return U===-1&&N.value,U}function oe(_e,U){if(_e&&U){const B=J(U);P.value.splice(B,1,_e)}else _e&&P.value.push(_e)}function be(_e){const U=J(_e);U>-1&&P.value.splice(U,1)}return{autoLabelWidth:N,registerLabelWidth:oe,deregisterLabelWidth:be}}const Y0=(P,N)=>{const J=Gm(N);return J.length>0?P.filter(oe=>oe.prop&&J.includes(oe.prop)):P},UO="ElForm",HO=Ca({name:UO}),VO=Ca({...HO,props:zO,emits:BO,setup(P,{expose:N,emit:J}){const oe=P,be=[],_e=Fh(),U=li("form"),B=sn(()=>{const{labelPosition:c,inline:o}=oe;return[U.b(),U.m(_e.value||"default"),{[U.m(`label-${c}`)]:c,[U.m("inline")]:o}]}),e=c=>{be.push(c)},v=c=>{c.prop&&be.splice(be.indexOf(c),1)},E=(c=[])=>{oe.model&&Y0(be,c).forEach(o=>o.resetField())},a=(c=[])=>{Y0(be,c).forEach(o=>o.clearValidate())},C=sn(()=>!!oe.model),w=c=>{if(be.length===0)return[];const o=Y0(be,c);return o.length?o:[]},d=async c=>t(void 0,c),p=async(c=[])=>{if(!C.value)return!1;const o=w(c);if(o.length===0)return!0;let n={};for(const u of o)try{await u.validate("")}catch(i){n={...n,...i}}return Object.keys(n).length===0?!0:Promise.reject(n)},t=async(c=[],o)=>{const n=!Qa(o);try{const u=await p(c);return u===!0&&(o==null||o(u)),u}catch(u){if(u instanceof Error)throw u;const i=u;return oe.scrollToError&&r(Object.keys(i)[0]),o==null||o(!1,i),n&&Promise.reject(i)}},r=c=>{var o;const n=Y0(be,c)[0];n&&((o=n.$el)==null||o.scrollIntoView(oe.scrollIntoViewOptions))};return ja(()=>oe.rules,()=>{oe.validateOnRuleChange&&d().catch(c=>void 0)},{deep:!0}),Bo(Hv,xs({...Pd(oe),emit:J,resetFields:E,clearValidate:a,validateField:t,addField:e,removeField:v,...NO()})),N({validate:d,validateField:t,resetFields:E,clearValidate:a,scrollToField:r}),(c,o)=>(Wn(),Oa("form",{class:ua(Ar(B))},[ti(c.$slots,"default")],2))}});var GO=Si(VO,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form.vue"]]);function Td(){return Td=Object.assign?Object.assign.bind():function(P){for(var N=1;N"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function dg(P,N,J){return jO()?dg=Reflect.construct.bind():dg=function(be,_e,U){var B=[null];B.push.apply(B,_e);var e=Function.bind.apply(be,B),v=new e;return U&&$p(v,U.prototype),v},dg.apply(null,arguments)}function YO(P){return Function.toString.call(P).indexOf("[native code]")!==-1}function e1(P){var N=typeof Map=="function"?new Map:void 0;return e1=function(oe){if(oe===null||!YO(oe))return oe;if(typeof oe!="function")throw new TypeError("Super expression must either be null or a function");if(typeof N<"u"){if(N.has(oe))return N.get(oe);N.set(oe,be)}function be(){return dg(oe,arguments,qm(this).constructor)}return be.prototype=Object.create(oe.prototype,{constructor:{value:be,enumerable:!1,writable:!0,configurable:!0}}),$p(be,oe)},e1(P)}var ZO=/%[sdj%]/g,XO=function(){};typeof process<"u"&&process.env;function t1(P){if(!P||!P.length)return null;var N={};return P.forEach(function(J){var oe=J.field;N[oe]=N[oe]||[],N[oe].push(J)}),N}function $l(P){for(var N=arguments.length,J=new Array(N>1?N-1:0),oe=1;oe=_e)return B;switch(B){case"%s":return String(J[be++]);case"%d":return Number(J[be++]);case"%j":try{return JSON.stringify(J[be++])}catch{return"[Circular]"}break;default:return B}});return U}return P}function KO(P){return P==="string"||P==="url"||P==="hex"||P==="email"||P==="date"||P==="pattern"}function os(P,N){return!!(P==null||N==="array"&&Array.isArray(P)&&!P.length||KO(N)&&typeof P=="string"&&!P)}function $O(P,N,J){var oe=[],be=0,_e=P.length;function U(B){oe.push.apply(oe,B||[]),be++,be===_e&&J(oe)}P.forEach(function(B){N(B,U)})}function J3(P,N,J){var oe=0,be=P.length;function _e(U){if(U&&U.length){J(U);return}var B=oe;oe=oe+1,B()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},wp={integer:function(N){return wp.number(N)&&parseInt(N,10)===N},float:function(N){return wp.number(N)&&!wp.integer(N)},array:function(N){return Array.isArray(N)},regexp:function(N){if(N instanceof RegExp)return!0;try{return!!new RegExp(N)}catch{return!1}},date:function(N){return typeof N.getTime=="function"&&typeof N.getMonth=="function"&&typeof N.getYear=="function"&&!isNaN(N.getTime())},number:function(N){return isNaN(N)?!1:typeof N=="number"},object:function(N){return typeof N=="object"&&!wp.array(N)},method:function(N){return typeof N=="function"},email:function(N){return typeof N=="string"&&N.length<=320&&!!N.match(tw.email)},url:function(N){return typeof N=="string"&&N.length<=2048&&!!N.match(rz())},hex:function(N){return typeof N=="string"&&!!N.match(tw.hex)}},nz=function(N,J,oe,be,_e){if(N.required&&J===void 0){SA(N,J,oe,be,_e);return}var U=["integer","float","array","regexp","object","method","email","number","date","url","hex"],B=N.type;U.indexOf(B)>-1?wp[B](J)||be.push($l(_e.messages.types[B],N.fullField,N.type)):B&&typeof J!==N.type&&be.push($l(_e.messages.types[B],N.fullField,N.type))},az=function(N,J,oe,be,_e){var U=typeof N.len=="number",B=typeof N.min=="number",e=typeof N.max=="number",v=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,E=J,a=null,C=typeof J=="number",w=typeof J=="string",d=Array.isArray(J);if(C?a="number":w?a="string":d&&(a="array"),!a)return!1;d&&(E=J.length),w&&(E=J.replace(v,"_").length),U?E!==N.len&&be.push($l(_e.messages[a].len,N.fullField,N.len)):B&&!e&&EN.max?be.push($l(_e.messages[a].max,N.fullField,N.max)):B&&e&&(EN.max)&&be.push($l(_e.messages[a].range,N.fullField,N.min,N.max))},sv="enum",iz=function(N,J,oe,be,_e){N[sv]=Array.isArray(N[sv])?N[sv]:[],N[sv].indexOf(J)===-1&&be.push($l(_e.messages[sv],N.fullField,N[sv].join(", ")))},oz=function(N,J,oe,be,_e){if(N.pattern){if(N.pattern instanceof RegExp)N.pattern.lastIndex=0,N.pattern.test(J)||be.push($l(_e.messages.pattern.mismatch,N.fullField,J,N.pattern));else if(typeof N.pattern=="string"){var U=new RegExp(N.pattern);U.test(J)||be.push($l(_e.messages.pattern.mismatch,N.fullField,J,N.pattern))}}},Di={required:SA,whitespace:tz,type:nz,range:az,enum:iz,pattern:oz},sz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J,"string")&&!N.required)return oe();Di.required(N,J,be,U,_e,"string"),os(J,"string")||(Di.type(N,J,be,U,_e),Di.range(N,J,be,U,_e),Di.pattern(N,J,be,U,_e),N.whitespace===!0&&Di.whitespace(N,J,be,U,_e))}oe(U)},lz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&Di.type(N,J,be,U,_e)}oe(U)},uz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(J===""&&(J=void 0),os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&(Di.type(N,J,be,U,_e),Di.range(N,J,be,U,_e))}oe(U)},fz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&Di.type(N,J,be,U,_e)}oe(U)},cz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),os(J)||Di.type(N,J,be,U,_e)}oe(U)},hz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&(Di.type(N,J,be,U,_e),Di.range(N,J,be,U,_e))}oe(U)},dz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&(Di.type(N,J,be,U,_e),Di.range(N,J,be,U,_e))}oe(U)},vz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(J==null&&!N.required)return oe();Di.required(N,J,be,U,_e,"array"),J!=null&&(Di.type(N,J,be,U,_e),Di.range(N,J,be,U,_e))}oe(U)},pz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&Di.type(N,J,be,U,_e)}oe(U)},gz="enum",yz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e),J!==void 0&&Di[gz](N,J,be,U,_e)}oe(U)},mz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J,"string")&&!N.required)return oe();Di.required(N,J,be,U,_e),os(J,"string")||Di.pattern(N,J,be,U,_e)}oe(U)},xz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J,"date")&&!N.required)return oe();if(Di.required(N,J,be,U,_e),!os(J,"date")){var e;J instanceof Date?e=J:e=new Date(J),Di.type(N,e,be,U,_e),e&&Di.range(N,e.getTime(),be,U,_e)}}oe(U)},bz=function(N,J,oe,be,_e){var U=[],B=Array.isArray(J)?"array":typeof J;Di.required(N,J,be,U,_e,B),oe(U)},um=function(N,J,oe,be,_e){var U=N.type,B=[],e=N.required||!N.required&&be.hasOwnProperty(N.field);if(e){if(os(J,U)&&!N.required)return oe();Di.required(N,J,be,B,_e,U),os(J,U)||Di.type(N,J,be,B,_e)}oe(B)},wz=function(N,J,oe,be,_e){var U=[],B=N.required||!N.required&&be.hasOwnProperty(N.field);if(B){if(os(J)&&!N.required)return oe();Di.required(N,J,be,U,_e)}oe(U)},Ip={string:sz,method:lz,number:uz,boolean:fz,regexp:cz,integer:hz,float:dz,array:vz,object:pz,enum:yz,pattern:mz,date:xz,url:um,hex:um,email:um,required:bz,any:wz};function r1(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var N=JSON.parse(JSON.stringify(this));return N.clone=this.clone,N}}}var n1=r1(),s0=function(){function P(J){this.rules=null,this._messages=n1,this.define(J)}var N=P.prototype;return N.define=function(oe){var be=this;if(!oe)throw new Error("Cannot configure a schema with no rules");if(typeof oe!="object"||Array.isArray(oe))throw new Error("Rules must be an object");this.rules={},Object.keys(oe).forEach(function(_e){var U=oe[_e];be.rules[_e]=Array.isArray(U)?U:[U]})},N.messages=function(oe){return oe&&(this._messages=ew(r1(),oe)),this._messages},N.validate=function(oe,be,_e){var U=this;be===void 0&&(be={}),_e===void 0&&(_e=function(){});var B=oe,e=be,v=_e;if(typeof e=="function"&&(v=e,e={}),!this.rules||Object.keys(this.rules).length===0)return v&&v(null,B),Promise.resolve(B);function E(p){var t=[],r={};function c(n){if(Array.isArray(n)){var u;t=(u=t).concat.apply(u,n)}else t.push(n)}for(var o=0;o");const be=li("form"),_e=ra(),U=ra(0),B=()=>{var E;if((E=_e.value)!=null&&E.firstElementChild){const a=window.getComputedStyle(_e.value.firstElementChild).width;return Math.ceil(Number.parseFloat(a))}else return 0},e=(E="update")=>{Ii(()=>{N.default&&P.isAutoWidth&&(E==="update"?U.value=B():E==="remove"&&(J==null||J.deregisterLabelWidth(U.value)))})},v=()=>e("update");return xo(()=>{v()}),$s(()=>{e("remove")}),Wg(()=>v()),ja(U,(E,a)=>{P.updateAll&&(J==null||J.registerLabelWidth(E,a))}),Rd(sn(()=>{var E,a;return(a=(E=_e.value)==null?void 0:E.firstElementChild)!=null?a:null}),v),()=>{var E,a;if(!N)return null;const{isAutoWidth:C}=P;if(C){const w=J==null?void 0:J.autoLabelWidth,d=oe==null?void 0:oe.hasLabel,p={};if(d&&w&&w!=="auto"){const t=Math.max(0,Number.parseInt(w,10)-U.value),r=J.labelPosition==="left"?"marginRight":"marginLeft";t&&(p[r]=`${t}px`)}return Ia("div",{ref:_e,class:[be.be("item","label-wrap")],style:p},[(E=N.default)==null?void 0:E.call(N)])}else return Ia(qi,{ref:_e},[(a=N.default)==null?void 0:a.call(N)])}}});const Sz=["role","aria-labelledby"],Ez=Ca({name:"ElFormItem"}),Cz=Ca({...Ez,props:Az,setup(P,{expose:N}){const J=P,oe=qp(),be=si(Hv,void 0),_e=si(Ld,void 0),U=Fh(void 0,{formItem:!1}),B=li("form-item"),e=uy().value,v=ra([]),E=ra(""),a=hL(E,100),C=ra(""),w=ra();let d,p=!1;const t=sn(()=>{if((be==null?void 0:be.labelPosition)==="top")return{};const z=Zp(J.labelWidth||(be==null?void 0:be.labelWidth)||"");return z?{width:z}:{}}),r=sn(()=>{if((be==null?void 0:be.labelPosition)==="top"||be!=null&&be.inline)return{};if(!J.label&&!J.labelWidth&&x)return{};const z=Zp(J.labelWidth||(be==null?void 0:be.labelWidth)||"");return!J.label&&!oe.label?{marginLeft:z}:{}}),c=sn(()=>[B.b(),B.m(U.value),B.is("error",E.value==="error"),B.is("validating",E.value==="validating"),B.is("success",E.value==="success"),B.is("required",S.value||J.required),B.is("no-asterisk",be==null?void 0:be.hideRequiredAsterisk),(be==null?void 0:be.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[B.m("feedback")]:be==null?void 0:be.statusIcon}]),o=sn(()=>Ic(J.inlineMessage)?J.inlineMessage:(be==null?void 0:be.inlineMessage)||!1),n=sn(()=>[B.e("error"),{[B.em("error","inline")]:o.value}]),u=sn(()=>J.prop?ci(J.prop)?J.prop:J.prop.join("."):""),i=sn(()=>!!(J.label||oe.label)),g=sn(()=>J.for||v.value.length===1?v.value[0]:void 0),h=sn(()=>!g.value&&i.value),x=!!_e,f=sn(()=>{const z=be==null?void 0:be.model;if(!(!z||!J.prop))return sm(z,J.prop).value}),l=sn(()=>{const{required:z}=J,k=[];J.rules&&k.push(...Gm(J.rules));const V=be==null?void 0:be.rules;if(V&&J.prop){const Z=sm(V,J.prop).value;Z&&k.push(...Gm(Z))}if(z!==void 0){const Z=k.map((ee,Q)=>[ee,Q]).filter(([ee])=>Object.keys(ee).includes("required"));if(Z.length>0)for(const[ee,Q]of Z)ee.required!==z&&(k[Q]={...ee,required:z});else k.push({required:z})}return k}),y=sn(()=>l.value.length>0),T=z=>l.value.filter(V=>!V.trigger||!z?!0:Array.isArray(V.trigger)?V.trigger.includes(z):V.trigger===z).map(({trigger:V,...Z})=>Z),S=sn(()=>l.value.some(z=>z.required)),L=sn(()=>{var z;return a.value==="error"&&J.showMessage&&((z=be==null?void 0:be.showMessage)!=null?z:!0)}),m=sn(()=>`${J.label||""}${(be==null?void 0:be.labelSuffix)||""}`),M=z=>{E.value=z},b=z=>{var k,V;const{errors:Z,fields:ee}=z;(!Z||!ee)&&console.error(z),M("error"),C.value=Z?(V=(k=Z==null?void 0:Z[0])==null?void 0:k.message)!=null?V:`${J.prop} is required`:"",be==null||be.emit("validate",J.prop,!1,C.value)},s=()=>{M("success"),be==null||be.emit("validate",J.prop,!0,"")},_=async z=>{const k=u.value;return new s0({[k]:z}).validate({[k]:f.value},{firstFields:!0}).then(()=>(s(),!0)).catch(Z=>(b(Z),Promise.reject(Z)))},A=async(z,k)=>{if(p||!J.prop)return!1;const V=Qa(k);if(!y.value)return k==null||k(!1),!1;const Z=T(z);return Z.length===0?(k==null||k(!0),!0):(M("validating"),_(Z).then(()=>(k==null||k(!0),!0)).catch(ee=>{const{fields:Q}=ee;return k==null||k(!1,Q),V?!1:Promise.reject(Q)}))},D=()=>{M(""),C.value="",p=!1},F=async()=>{const z=be==null?void 0:be.model;if(!z||!J.prop)return;const k=sm(z,J.prop);p=!0,k.value=_3(d),await Ii(),D(),p=!1},G=z=>{v.value.includes(z)||v.value.push(z)},O=z=>{v.value=v.value.filter(k=>k!==z)};ja(()=>J.error,z=>{C.value=z||"",M(z?"error":"")},{immediate:!0}),ja(()=>J.validateStatus,z=>M(z||""));const H=xs({...Pd(J),$el:w,size:U,validateState:E,labelId:e,inputIds:v,isGroup:h,hasLabel:i,addInputId:G,removeInputId:O,resetField:F,clearValidate:D,validate:A});return Bo(Ld,H),xo(()=>{J.prop&&(be==null||be.addField(H),d=_3(f.value))}),$s(()=>{be==null||be.removeField(H)}),N({size:U,validateMessage:C,validateState:E,validate:A,clearValidate:D,resetField:F}),(z,k)=>{var V;return Wn(),Oa("div",{ref_key:"formItemRef",ref:w,class:ua(Ar(c)),role:Ar(h)?"group":void 0,"aria-labelledby":Ar(h)?Ar(e):void 0},[Ia(Ar(Mz),{"is-auto-width":Ar(t).width==="auto","update-all":((V=Ar(be))==null?void 0:V.labelWidth)==="auto"},{default:Ea(()=>[Ar(i)?(Wn(),ri(Kl(Ar(g)?"label":"div"),{key:0,id:Ar(e),for:Ar(g),class:ua(Ar(B).e("label")),style:ao(Ar(t))},{default:Ea(()=>[ti(z.$slots,"label",{label:Ar(m)},()=>[Ps(Io(Ar(m)),1)])]),_:3},8,["id","for","class","style"])):ai("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),za("div",{class:ua(Ar(B).e("content")),style:ao(Ar(r))},[ti(z.$slots,"default"),Ia(CE,{name:`${Ar(B).namespace.value}-zoom-in-top`},{default:Ea(()=>[Ar(L)?ti(z.$slots,"error",{key:0,error:C.value},()=>[za("div",{class:ua(Ar(n))},Io(C.value),3)]):ai("v-if",!0)]),_:3},8,["name"])],6)],10,Sz)}}});var EA=Si(Cz,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form-item.vue"]]);const Lz=ks(GO,{FormItem:EA}),_z=Rl(EA);let Ju;const Pz=` + height:0 !important; + visibility:hidden !important; + ${r_()?"":"overflow:hidden !important;"} + position:absolute !important; + z-index:-1000 !important; + top:0 !important; + right:0 !important; +`,Rz=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function Iz(P){const N=window.getComputedStyle(P),J=N.getPropertyValue("box-sizing"),oe=Number.parseFloat(N.getPropertyValue("padding-bottom"))+Number.parseFloat(N.getPropertyValue("padding-top")),be=Number.parseFloat(N.getPropertyValue("border-bottom-width"))+Number.parseFloat(N.getPropertyValue("border-top-width"));return{contextStyle:Rz.map(U=>`${U}:${N.getPropertyValue(U)}`).join(";"),paddingSize:oe,borderSize:be,boxSizing:J}}function nw(P,N=1,J){var oe;Ju||(Ju=document.createElement("textarea"),document.body.appendChild(Ju));const{paddingSize:be,borderSize:_e,boxSizing:U,contextStyle:B}=Iz(P);Ju.setAttribute("style",`${B};${Pz}`),Ju.value=P.value||P.placeholder||"";let e=Ju.scrollHeight;const v={};U==="border-box"?e=e+_e:U==="content-box"&&(e=e-be),Ju.value="";const E=Ju.scrollHeight-be;if(qo(N)){let a=E*N;U==="border-box"&&(a=a+be+_e),e=Math.max(a,e),v.minHeight=`${a}px`}if(qo(J)){let a=E*J;U==="border-box"&&(a=a+be+_e),e=Math.min(a,e)}return v.height=`${e}px`,(oe=Ju.parentNode)==null||oe.removeChild(Ju),Ju=void 0,v}const Dz=Zi({id:{type:String,default:void 0},size:Uv,disabled:Boolean,modelValue:{type:oi([String,Number,Object]),default:""},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:oi([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:Ec},prefixIcon:{type:Ec},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:oi([Object,Array,String]),default:()=>Sh({})}}),kz={[gs]:P=>ci(P),input:P=>ci(P),change:P=>ci(P),focus:P=>P instanceof FocusEvent,blur:P=>P instanceof FocusEvent,clear:()=>!0,mouseleave:P=>P instanceof MouseEvent,mouseenter:P=>P instanceof MouseEvent,keydown:P=>P instanceof Event,compositionstart:P=>P instanceof CompositionEvent,compositionupdate:P=>P instanceof CompositionEvent,compositionend:P=>P instanceof CompositionEvent},Fz=["role"],Oz=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],zz=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],Bz=Ca({name:"ElInput",inheritAttrs:!1}),Nz=Ca({...Bz,props:Dz,emits:kz,setup(P,{expose:N,emit:J}){const oe=P,be=CS(),_e=qp(),U=sn(()=>{const ae={};return oe.containerRole==="combobox"&&(ae["aria-haspopup"]=be["aria-haspopup"],ae["aria-owns"]=be["aria-owns"],ae["aria-expanded"]=be["aria-expanded"]),ae}),B=sn(()=>[oe.type==="textarea"?t.b():p.b(),p.m(w.value),p.is("disabled",d.value),p.is("exceed",A.value),{[p.b("group")]:_e.prepend||_e.append,[p.bm("group","append")]:_e.append,[p.bm("group","prepend")]:_e.prepend,[p.m("prefix")]:_e.prefix||oe.prefixIcon,[p.m("suffix")]:_e.suffix||oe.suffixIcon||oe.clearable||oe.showPassword,[p.bm("suffix","password-clear")]:M.value&&b.value},be.class]),e=sn(()=>[p.e("wrapper"),p.is("focus",o.value)]),v=aF({excludeKeys:sn(()=>Object.keys(U.value))}),{form:E,formItem:a}=Vv(),{inputId:C}=fy(oe,{formItemContext:a}),w=Fh(),d=lx(),p=li("input"),t=li("textarea"),r=_h(),c=_h(),o=ra(!1),n=ra(!1),u=ra(!1),i=ra(!1),g=ra(),h=_h(oe.inputStyle),x=sn(()=>r.value||c.value),f=sn(()=>{var ae;return(ae=E==null?void 0:E.statusIcon)!=null?ae:!1}),l=sn(()=>(a==null?void 0:a.validateState)||""),y=sn(()=>l.value&&Jk[l.value]),T=sn(()=>i.value?Gk:pk),S=sn(()=>[be.style,oe.inputStyle]),L=sn(()=>[oe.inputStyle,h.value,{resize:oe.resize}]),m=sn(()=>Ev(oe.modelValue)?"":String(oe.modelValue)),M=sn(()=>oe.clearable&&!d.value&&!oe.readonly&&!!m.value&&(o.value||n.value)),b=sn(()=>oe.showPassword&&!d.value&&!oe.readonly&&!!m.value&&(!!m.value||o.value)),s=sn(()=>oe.showWordLimit&&!!v.value.maxlength&&(oe.type==="text"||oe.type==="textarea")&&!d.value&&!oe.readonly&&!oe.showPassword),_=sn(()=>m.value.length),A=sn(()=>!!s.value&&_.value>Number(v.value.maxlength)),D=sn(()=>!!_e.suffix||!!oe.suffixIcon||M.value||oe.showPassword||s.value||!!l.value&&f.value),[F,G]=SO(r);Rd(c,ae=>{if(z(),!s.value||oe.resize!=="both")return;const de=ae[0],{width:xe}=de.contentRect;g.value={right:`calc(100% - ${xe+15+6}px)`}});const O=()=>{const{type:ae,autosize:de}=oe;if(!(!ms||ae!=="textarea"||!c.value))if(de){const xe=Ei(de)?de.minRows:void 0,Se=Ei(de)?de.maxRows:void 0,Ae=nw(c.value,xe,Se);h.value={overflowY:"hidden",...Ae},Ii(()=>{c.value.offsetHeight,h.value=Ae})}else h.value={minHeight:nw(c.value).minHeight}},z=(ae=>{let de=!1;return()=>{var xe;if(de||!oe.autosize)return;((xe=c.value)==null?void 0:xe.offsetParent)===null||(ae(),de=!0)}})(O),k=()=>{const ae=x.value;!ae||ae.value===m.value||(ae.value=m.value)},V=async ae=>{F();let{value:de}=ae.target;if(oe.formatter&&(de=oe.parser?oe.parser(de):de,de=oe.formatter(de)),!u.value){if(de===m.value){k();return}J(gs,de),J("input",de),await Ii(),k(),G()}},Z=ae=>{J("change",ae.target.value)},ee=ae=>{J("compositionstart",ae),u.value=!0},Q=ae=>{var de;J("compositionupdate",ae);const xe=(de=ae.target)==null?void 0:de.value,Se=xe[xe.length-1]||"";u.value=!Q5(Se)},ne=ae=>{J("compositionend",ae),u.value&&(u.value=!1,V(ae))},fe=()=>{i.value=!i.value,$()},$=async()=>{var ae;await Ii(),(ae=x.value)==null||ae.focus()},Y=()=>{var ae;return(ae=x.value)==null?void 0:ae.blur()},j=ae=>{o.value=!0,J("focus",ae)},X=ae=>{var de;o.value=!1,J("blur",ae),oe.validateEvent&&((de=a==null?void 0:a.validate)==null||de.call(a,"blur").catch(xe=>void 0))},re=ae=>{n.value=!1,J("mouseleave",ae)},le=ae=>{n.value=!0,J("mouseenter",ae)},q=ae=>{J("keydown",ae)},te=()=>{var ae;(ae=x.value)==null||ae.select()},ue=()=>{J(gs,""),J("change",""),J("clear"),J("input","")};return ja(()=>oe.modelValue,()=>{var ae;Ii(()=>O()),oe.validateEvent&&((ae=a==null?void 0:a.validate)==null||ae.call(a,"change").catch(de=>void 0))}),ja(m,()=>k()),ja(()=>oe.type,async()=>{await Ii(),k(),O()}),xo(()=>{!oe.formatter&&oe.parser,k(),Ii(O)}),N({input:r,textarea:c,ref:x,textareaStyle:L,autosize:zf(oe,"autosize"),focus:$,blur:Y,select:te,clear:ue,resizeTextarea:O}),(ae,de)=>ys((Wn(),Oa("div",Nf(Ar(U),{class:Ar(B),style:Ar(S),role:ae.containerRole,onMouseenter:le,onMouseleave:re}),[ai(" input "),ae.type!=="textarea"?(Wn(),Oa(qi,{key:0},[ai(" prepend slot "),ae.$slots.prepend?(Wn(),Oa("div",{key:0,class:ua(Ar(p).be("group","prepend"))},[ti(ae.$slots,"prepend")],2)):ai("v-if",!0),za("div",{class:ua(Ar(e))},[ai(" prefix slot "),ae.$slots.prefix||ae.prefixIcon?(Wn(),Oa("span",{key:0,class:ua(Ar(p).e("prefix"))},[za("span",{class:ua(Ar(p).e("prefix-inner")),onClick:$},[ti(ae.$slots,"prefix"),ae.prefixIcon?(Wn(),ri(Ar(bu),{key:0,class:ua(Ar(p).e("icon"))},{default:Ea(()=>[(Wn(),ri(Kl(ae.prefixIcon)))]),_:1},8,["class"])):ai("v-if",!0)],2)],2)):ai("v-if",!0),za("input",Nf({id:Ar(C),ref_key:"input",ref:r,class:Ar(p).e("inner")},Ar(v),{type:ae.showPassword?i.value?"text":"password":ae.type,disabled:Ar(d),formatter:ae.formatter,parser:ae.parser,readonly:ae.readonly,autocomplete:ae.autocomplete,tabindex:ae.tabindex,"aria-label":ae.label,placeholder:ae.placeholder,style:ae.inputStyle,form:oe.form,onCompositionstart:ee,onCompositionupdate:Q,onCompositionend:ne,onInput:V,onFocus:j,onBlur:X,onChange:Z,onKeydown:q}),null,16,Oz),ai(" suffix slot "),Ar(D)?(Wn(),Oa("span",{key:1,class:ua(Ar(p).e("suffix"))},[za("span",{class:ua(Ar(p).e("suffix-inner")),onClick:$},[!Ar(M)||!Ar(b)||!Ar(s)?(Wn(),Oa(qi,{key:0},[ti(ae.$slots,"suffix"),ae.suffixIcon?(Wn(),ri(Ar(bu),{key:0,class:ua(Ar(p).e("icon"))},{default:Ea(()=>[(Wn(),ri(Kl(ae.suffixIcon)))]),_:1},8,["class"])):ai("v-if",!0)],64)):ai("v-if",!0),Ar(M)?(Wn(),ri(Ar(bu),{key:1,class:ua([Ar(p).e("icon"),Ar(p).e("clear")]),onMousedown:Cl(Ar(Ks),["prevent"]),onClick:ue},{default:Ea(()=>[Ia(Ar(J1))]),_:1},8,["class","onMousedown"])):ai("v-if",!0),Ar(b)?(Wn(),ri(Ar(bu),{key:2,class:ua([Ar(p).e("icon"),Ar(p).e("password")]),onClick:fe},{default:Ea(()=>[(Wn(),ri(Kl(Ar(T))))]),_:1},8,["class"])):ai("v-if",!0),Ar(s)?(Wn(),Oa("span",{key:3,class:ua(Ar(p).e("count"))},[za("span",{class:ua(Ar(p).e("count-inner"))},Io(Ar(_))+" / "+Io(Ar(v).maxlength),3)],2)):ai("v-if",!0),Ar(l)&&Ar(y)&&Ar(f)?(Wn(),ri(Ar(bu),{key:4,class:ua([Ar(p).e("icon"),Ar(p).e("validateIcon"),Ar(p).is("loading",Ar(l)==="validating")])},{default:Ea(()=>[(Wn(),ri(Kl(Ar(y))))]),_:1},8,["class"])):ai("v-if",!0)],2)],2)):ai("v-if",!0)],2),ai(" append slot "),ae.$slots.append?(Wn(),Oa("div",{key:1,class:ua(Ar(p).be("group","append"))},[ti(ae.$slots,"append")],2)):ai("v-if",!0)],64)):(Wn(),Oa(qi,{key:1},[ai(" textarea "),za("textarea",Nf({id:Ar(C),ref_key:"textarea",ref:c,class:Ar(t).e("inner")},Ar(v),{tabindex:ae.tabindex,disabled:Ar(d),readonly:ae.readonly,autocomplete:ae.autocomplete,style:Ar(L),"aria-label":ae.label,placeholder:ae.placeholder,form:oe.form,onCompositionstart:ee,onCompositionupdate:Q,onCompositionend:ne,onInput:V,onFocus:j,onBlur:X,onChange:Z,onKeydown:q}),null,16,zz),Ar(s)?(Wn(),Oa("span",{key:0,style:ao(g.value),class:ua(Ar(p).e("count"))},Io(Ar(_))+" / "+Io(Ar(v).maxlength),7)):ai("v-if",!0)],64))],16,Fz)),[[Fc,ae.type!=="hidden"]])}});var Uz=Si(Nz,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input/src/input.vue"]]);const Hz=ks(Uz),hv=4,Vz={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},Gz=({move:P,size:N,bar:J})=>({[J.size]:N,transform:`translate${J.axis}(${P}%)`}),CA=Symbol("scrollbarContextKey"),Wz=Zi({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),jz="Thumb",Yz=Ca({__name:"thumb",props:Wz,setup(P){const N=P,J=si(CA),oe=li("scrollbar");J||Lv(jz,"can not inject scrollbar context");const be=ra(),_e=ra(),U=ra({}),B=ra(!1);let e=!1,v=!1,E=ms?document.onselectstart:null;const a=sn(()=>Vz[N.vertical?"vertical":"horizontal"]),C=sn(()=>Gz({size:N.size,move:N.move,bar:a.value})),w=sn(()=>be.value[a.value.offset]**2/J.wrapElement[a.value.scrollSize]/N.ratio/_e.value[a.value.offset]),d=i=>{var g;if(i.stopPropagation(),i.ctrlKey||[1,2].includes(i.button))return;(g=window.getSelection())==null||g.removeAllRanges(),t(i);const h=i.currentTarget;h&&(U.value[a.value.axis]=h[a.value.offset]-(i[a.value.client]-h.getBoundingClientRect()[a.value.direction]))},p=i=>{if(!_e.value||!be.value||!J.wrapElement)return;const g=Math.abs(i.target.getBoundingClientRect()[a.value.direction]-i[a.value.client]),h=_e.value[a.value.offset]/2,x=(g-h)*100*w.value/be.value[a.value.offset];J.wrapElement[a.value.scroll]=x*J.wrapElement[a.value.scrollSize]/100},t=i=>{i.stopImmediatePropagation(),e=!0,document.addEventListener("mousemove",r),document.addEventListener("mouseup",c),E=document.onselectstart,document.onselectstart=()=>!1},r=i=>{if(!be.value||!_e.value||e===!1)return;const g=U.value[a.value.axis];if(!g)return;const h=(be.value.getBoundingClientRect()[a.value.direction]-i[a.value.client])*-1,x=_e.value[a.value.offset]-g,f=(h-x)*100*w.value/be.value[a.value.offset];J.wrapElement[a.value.scroll]=f*J.wrapElement[a.value.scrollSize]/100},c=()=>{e=!1,U.value[a.value.axis]=0,document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",c),u(),v&&(B.value=!1)},o=()=>{v=!1,B.value=!!N.size},n=()=>{v=!0,B.value=e};$s(()=>{u(),document.removeEventListener("mouseup",c)});const u=()=>{document.onselectstart!==E&&(document.onselectstart=E)};return Lc(zf(J,"scrollbarElement"),"mousemove",o),Lc(zf(J,"scrollbarElement"),"mouseleave",n),(i,g)=>(Wn(),ri(nf,{name:Ar(oe).b("fade"),persisted:""},{default:Ea(()=>[ys(za("div",{ref_key:"instance",ref:be,class:ua([Ar(oe).e("bar"),Ar(oe).is(Ar(a).key)]),onMousedown:p},[za("div",{ref_key:"thumb",ref:_e,class:ua(Ar(oe).e("thumb")),style:ao(Ar(C)),onMousedown:d},null,38)],34),[[Fc,i.always||B.value]])]),_:1},8,["name"]))}});var aw=Si(Yz,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/thumb.vue"]]);const Zz=Zi({always:{type:Boolean,default:!0},width:String,height:String,ratioX:{type:Number,default:1},ratioY:{type:Number,default:1}}),Xz=Ca({__name:"bar",props:Zz,setup(P,{expose:N}){const J=P,oe=ra(0),be=ra(0);return N({handleScroll:U=>{if(U){const B=U.offsetHeight-hv,e=U.offsetWidth-hv;be.value=U.scrollTop*100/B*J.ratioY,oe.value=U.scrollLeft*100/e*J.ratioX}}}),(U,B)=>(Wn(),Oa(qi,null,[Ia(aw,{move:oe.value,ratio:U.ratioX,size:U.width,always:U.always},null,8,["move","ratio","size","always"]),Ia(aw,{move:be.value,ratio:U.ratioY,size:U.height,vertical:"",always:U.always},null,8,["move","ratio","size","always"])],64))}});var Kz=Si(Xz,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/bar.vue"]]);const $z=Zi({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:oi([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20}}),Jz={scroll:({scrollTop:P,scrollLeft:N})=>[P,N].every(qo)},Qz="ElScrollbar",qz=Ca({name:Qz}),eB=Ca({...qz,props:$z,emits:Jz,setup(P,{expose:N,emit:J}){const oe=P,be=li("scrollbar");let _e,U;const B=ra(),e=ra(),v=ra(),E=ra("0"),a=ra("0"),C=ra(),w=ra(1),d=ra(1),p=sn(()=>{const g={};return oe.height&&(g.height=Zp(oe.height)),oe.maxHeight&&(g.maxHeight=Zp(oe.maxHeight)),[oe.wrapStyle,g]}),t=sn(()=>[oe.wrapClass,be.e("wrap"),{[be.em("wrap","hidden-default")]:!oe.native}]),r=sn(()=>[be.e("view"),oe.viewClass]),c=()=>{var g;e.value&&((g=C.value)==null||g.handleScroll(e.value),J("scroll",{scrollTop:e.value.scrollTop,scrollLeft:e.value.scrollLeft}))};function o(g,h){Ei(g)?e.value.scrollTo(g):qo(g)&&qo(h)&&e.value.scrollTo(g,h)}const n=g=>{qo(g)&&(e.value.scrollTop=g)},u=g=>{qo(g)&&(e.value.scrollLeft=g)},i=()=>{if(!e.value)return;const g=e.value.offsetHeight-hv,h=e.value.offsetWidth-hv,x=g**2/e.value.scrollHeight,f=h**2/e.value.scrollWidth,l=Math.max(x,oe.minSize),y=Math.max(f,oe.minSize);w.value=x/(g-x)/(l/(g-l)),d.value=f/(h-f)/(y/(h-y)),a.value=l+hvoe.noresize,g=>{g?(_e==null||_e(),U==null||U()):({stop:_e}=Rd(v,i),U=Lc("resize",i))},{immediate:!0}),ja(()=>[oe.maxHeight,oe.height],()=>{oe.native||Ii(()=>{var g;i(),e.value&&((g=C.value)==null||g.handleScroll(e.value))})}),Bo(CA,xs({scrollbarElement:B,wrapElement:e})),xo(()=>{oe.native||Ii(()=>{i()})}),Wg(()=>i()),N({wrapRef:e,update:i,scrollTo:o,setScrollTop:n,setScrollLeft:u,handleScroll:c}),(g,h)=>(Wn(),Oa("div",{ref_key:"scrollbarRef",ref:B,class:ua(Ar(be).b())},[za("div",{ref_key:"wrapRef",ref:e,class:ua(Ar(t)),style:ao(Ar(p)),onScroll:c},[(Wn(),ri(Kl(g.tag),{ref_key:"resizeRef",ref:v,class:ua(Ar(r)),style:ao(g.viewStyle)},{default:Ea(()=>[ti(g.$slots,"default")]),_:3},8,["class","style"]))],38),g.native?ai("v-if",!0):(Wn(),ri(Kz,{key:0,ref_key:"barRef",ref:C,height:a.value,width:E.value,always:g.always,"ratio-x":d.value,"ratio-y":w.value},null,8,["height","width","always","ratio-x","ratio-y"]))],2))}});var tB=Si(eB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/scrollbar.vue"]]);const rB=ks(tB),ux=Symbol("popper"),LA=Symbol("popperContent"),nB=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],_A=Zi({role:{type:String,values:nB,default:"tooltip"}}),aB=Ca({name:"ElPopper",inheritAttrs:!1}),iB=Ca({...aB,props:_A,setup(P,{expose:N}){const J=P,oe=ra(),be=ra(),_e=ra(),U=ra(),B=sn(()=>J.role),e={triggerRef:oe,popperInstanceRef:be,contentRef:_e,referenceRef:U,role:B};return N(e),Bo(ux,e),(v,E)=>ti(v.$slots,"default")}});var oB=Si(iB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/popper.vue"]]);const PA=Zi({arrowOffset:{type:Number,default:5}}),sB=Ca({name:"ElPopperArrow",inheritAttrs:!1}),lB=Ca({...sB,props:PA,setup(P,{expose:N}){const J=P,oe=li("popper"),{arrowOffset:be,arrowRef:_e,arrowStyle:U}=si(LA,void 0);return ja(()=>J.arrowOffset,B=>{be.value=B}),$s(()=>{_e.value=void 0}),N({arrowRef:_e}),(B,e)=>(Wn(),Oa("span",{ref_key:"arrowRef",ref:_e,class:ua(Ar(oe).e("arrow")),style:ao(Ar(U)),"data-popper-arrow":""},null,6))}});var uB=Si(lB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/arrow.vue"]]);const fB="ElOnlyChild",cB=Ca({name:fB,setup(P,{slots:N,attrs:J}){var oe;const be=si(yA),_e=MO((oe=be==null?void 0:be.setForwardRef)!=null?oe:Ks);return()=>{var U;const B=(U=N.default)==null?void 0:U.call(N,J);if(!B||B.length>1)return null;const e=RA(B);return e?ys(Rc(e,J),[[_e]]):null}}});function RA(P){if(!P)return null;const N=P;for(const J of N){if(Ei(J))switch(J.type){case ql:continue;case zv:case"svg":return iw(J);case qi:return RA(J.children);default:return J}return iw(J)}return null}function iw(P){const N=li("only-child");return Ia("span",{class:N.e("content")},[P])}const IA=Zi({virtualRef:{type:oi(Object)},virtualTriggering:Boolean,onMouseenter:{type:oi(Function)},onMouseleave:{type:oi(Function)},onClick:{type:oi(Function)},onKeydown:{type:oi(Function)},onFocus:{type:oi(Function)},onBlur:{type:oi(Function)},onContextmenu:{type:oi(Function)},id:String,open:Boolean}),hB=Ca({name:"ElPopperTrigger",inheritAttrs:!1}),dB=Ca({...hB,props:IA,setup(P,{expose:N}){const J=P,{role:oe,triggerRef:be}=si(ux,void 0);AO(be);const _e=sn(()=>B.value?J.id:void 0),U=sn(()=>{if(oe&&oe.value==="tooltip")return J.open&&J.id?J.id:void 0}),B=sn(()=>{if(oe&&oe.value!=="tooltip")return oe.value}),e=sn(()=>B.value?`${J.open}`:void 0);let v;return xo(()=>{ja(()=>J.virtualRef,E=>{E&&(be.value=Eh(E))},{immediate:!0}),ja(be,(E,a)=>{v==null||v(),v=void 0,Cv(E)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(C=>{var w;const d=J[C];d&&(E.addEventListener(C.slice(2).toLowerCase(),d),(w=a==null?void 0:a.removeEventListener)==null||w.call(a,C.slice(2).toLowerCase(),d))}),v=ja([_e,U,B,e],C=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((w,d)=>{Ev(C[d])?E.removeAttribute(w):E.setAttribute(w,C[d])})},{immediate:!0})),Cv(a)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(C=>a.removeAttribute(C))},{immediate:!0})}),$s(()=>{v==null||v(),v=void 0}),N({triggerRef:be}),(E,a)=>E.virtualTriggering?ai("v-if",!0):(Wn(),ri(Ar(cB),Nf({key:0},E.$attrs,{"aria-controls":Ar(_e),"aria-describedby":Ar(U),"aria-expanded":Ar(e),"aria-haspopup":Ar(B)}),{default:Ea(()=>[ti(E.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var vB=Si(dB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]);const fm="focus-trap.focus-after-trapped",cm="focus-trap.focus-after-released",pB="focus-trap.focusout-prevented",ow={cancelable:!0,bubbles:!1},gB={cancelable:!0,bubbles:!1},sw="focusAfterTrapped",lw="focusAfterReleased",yB=Symbol("elFocusTrap"),fx=ra(),cy=ra(0),cx=ra(0);let X0=0;const DA=P=>{const N=[],J=document.createTreeWalker(P,NodeFilter.SHOW_ELEMENT,{acceptNode:oe=>{const be=oe.tagName==="INPUT"&&oe.type==="hidden";return oe.disabled||oe.hidden||be?NodeFilter.FILTER_SKIP:oe.tabIndex>=0||oe===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;J.nextNode();)N.push(J.currentNode);return N},uw=(P,N)=>{for(const J of P)if(!mB(J,N))return J},mB=(P,N)=>{if(getComputedStyle(P).visibility==="hidden")return!0;for(;P;){if(N&&P===N)return!1;if(getComputedStyle(P).display==="none")return!0;P=P.parentElement}return!1},xB=P=>{const N=DA(P),J=uw(N,P),oe=uw(N.reverse(),P);return[J,oe]},bB=P=>P instanceof HTMLInputElement&&"select"in P,bh=(P,N)=>{if(P&&P.focus){const J=document.activeElement;P.focus({preventScroll:!0}),cx.value=window.performance.now(),P!==J&&bB(P)&&N&&P.select()}};function fw(P,N){const J=[...P],oe=P.indexOf(N);return oe!==-1&&J.splice(oe,1),J}const wB=()=>{let P=[];return{push:oe=>{const be=P[0];be&&oe!==be&&be.pause(),P=fw(P,oe),P.unshift(oe)},remove:oe=>{var be,_e;P=fw(P,oe),(_e=(be=P[0])==null?void 0:be.resume)==null||_e.call(be)}}},TB=(P,N=!1)=>{const J=document.activeElement;for(const oe of P)if(bh(oe,N),document.activeElement!==J)return},cw=wB(),AB=()=>cy.value>cx.value,K0=()=>{fx.value="pointer",cy.value=window.performance.now()},hw=()=>{fx.value="keyboard",cy.value=window.performance.now()},MB=()=>(xo(()=>{X0===0&&(document.addEventListener("mousedown",K0),document.addEventListener("touchstart",K0),document.addEventListener("keydown",hw)),X0++}),$s(()=>{X0--,X0<=0&&(document.removeEventListener("mousedown",K0),document.removeEventListener("touchstart",K0),document.removeEventListener("keydown",hw))}),{focusReason:fx,lastUserFocusTimestamp:cy,lastAutomatedFocusTimestamp:cx}),$0=P=>new CustomEvent(pB,{...gB,detail:P}),SB=Ca({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[sw,lw,"focusin","focusout","focusout-prevented","release-requested"],setup(P,{emit:N}){const J=ra();let oe,be;const{focusReason:_e}=MB();mO(d=>{P.trapped&&!U.paused&&N("release-requested",d)});const U={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},B=d=>{if(!P.loop&&!P.trapped||U.paused)return;const{key:p,altKey:t,ctrlKey:r,metaKey:c,currentTarget:o,shiftKey:n}=d,{loop:u}=P,i=p===Rs.tab&&!t&&!r&&!c,g=document.activeElement;if(i&&g){const h=o,[x,f]=xB(h);if(x&&f){if(!n&&g===f){const y=$0({focusReason:_e.value});N("focusout-prevented",y),y.defaultPrevented||(d.preventDefault(),u&&bh(x,!0))}else if(n&&[x,h].includes(g)){const y=$0({focusReason:_e.value});N("focusout-prevented",y),y.defaultPrevented||(d.preventDefault(),u&&bh(f,!0))}}else if(g===h){const y=$0({focusReason:_e.value});N("focusout-prevented",y),y.defaultPrevented||d.preventDefault()}}};Bo(yB,{focusTrapRef:J,onKeydown:B}),ja(()=>P.focusTrapEl,d=>{d&&(J.value=d)},{immediate:!0}),ja([J],([d],[p])=>{d&&(d.addEventListener("keydown",B),d.addEventListener("focusin",E),d.addEventListener("focusout",a)),p&&(p.removeEventListener("keydown",B),p.removeEventListener("focusin",E),p.removeEventListener("focusout",a))});const e=d=>{N(sw,d)},v=d=>N(lw,d),E=d=>{const p=Ar(J);if(!p)return;const t=d.target,r=d.relatedTarget,c=t&&p.contains(t);P.trapped||r&&p.contains(r)||(oe=r),c&&N("focusin",d),!U.paused&&P.trapped&&(c?be=t:bh(be,!0))},a=d=>{const p=Ar(J);if(!(U.paused||!p))if(P.trapped){const t=d.relatedTarget;!Ev(t)&&!p.contains(t)&&setTimeout(()=>{if(!U.paused&&P.trapped){const r=$0({focusReason:_e.value});N("focusout-prevented",r),r.defaultPrevented||bh(be,!0)}},0)}else{const t=d.target;t&&p.contains(t)||N("focusout",d)}};async function C(){await Ii();const d=Ar(J);if(d){cw.push(U);const p=d.contains(document.activeElement)?oe:document.activeElement;if(oe=p,!d.contains(p)){const r=new Event(fm,ow);d.addEventListener(fm,e),d.dispatchEvent(r),r.defaultPrevented||Ii(()=>{let c=P.focusStartEl;ci(c)||(bh(c),document.activeElement!==c&&(c="first")),c==="first"&&TB(DA(d),!0),(document.activeElement===p||c==="container")&&bh(d)})}}}function w(){const d=Ar(J);if(d){d.removeEventListener(fm,e);const p=new CustomEvent(cm,{...ow,detail:{focusReason:_e.value}});d.addEventListener(cm,v),d.dispatchEvent(p),!p.defaultPrevented&&(_e.value=="keyboard"||!AB()||d.contains(document.activeElement))&&bh(oe??document.body),d.removeEventListener(cm,e),cw.remove(U)}}return xo(()=>{P.trapped&&C(),ja(()=>P.trapped,d=>{d?C():w()})}),$s(()=>{P.trapped&&w()}),{onKeydown:B}}});function EB(P,N,J,oe,be,_e){return ti(P.$slots,"default",{handleKeydown:P.onKeydown})}var CB=Si(SB,[["render",EB],["__file","/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);const LB=["fixed","absolute"],_B=Zi({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:oi(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:sy,default:"bottom"},popperOptions:{type:oi(Object),default:()=>({})},strategy:{type:String,values:LB,default:"absolute"}}),kA=Zi({..._B,id:String,style:{type:oi([String,Array,Object])},className:{type:oi([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:oi([String,Array,Object])},popperStyle:{type:oi([String,Array,Object])},referenceEl:{type:oi(Object)},triggerTargetEl:{type:oi(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0},virtualTriggering:Boolean,zIndex:Number}),PB={mouseenter:P=>P instanceof MouseEvent,mouseleave:P=>P instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},RB=(P,N=[])=>{const{placement:J,strategy:oe,popperOptions:be}=P,_e={placement:J,strategy:oe,...be,modifiers:[...DB(P),...N]};return kB(_e,be==null?void 0:be.modifiers),_e},IB=P=>{if(ms)return Eh(P)};function DB(P){const{offset:N,gpuAcceleration:J,fallbackPlacements:oe}=P;return[{name:"offset",options:{offset:[0,N??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:oe}},{name:"computeStyles",options:{gpuAcceleration:J}}]}function kB(P,N){N&&(P.modifiers=[...P.modifiers,...N??[]])}const FB=0,OB=P=>{const{popperInstanceRef:N,contentRef:J,triggerRef:oe,role:be}=si(ux,void 0),_e=ra(),U=ra(),B=sn(()=>({name:"eventListeners",enabled:!!P.visible})),e=sn(()=>{var r;const c=Ar(_e),o=(r=Ar(U))!=null?r:FB;return{name:"arrow",enabled:!mD(c),options:{element:c,padding:o}}}),v=sn(()=>({onFirstUpdate:()=>{d()},...RB(P,[Ar(e),Ar(B)])})),E=sn(()=>IB(P.referenceEl)||Ar(oe)),{attributes:a,state:C,styles:w,update:d,forceUpdate:p,instanceRef:t}=pO(E,J,v);return ja(t,r=>N.value=r),xo(()=>{ja(()=>{var r;return(r=Ar(E))==null?void 0:r.getBoundingClientRect()},()=>{d()})}),{attributes:a,arrowRef:_e,contentRef:J,instanceRef:t,state:C,styles:w,role:be,forceUpdate:p,update:d}},zB=(P,{attributes:N,styles:J,role:oe})=>{const{nextZIndex:be}=bA(),_e=li("popper"),U=sn(()=>Ar(N).popper),B=ra(P.zIndex||be()),e=sn(()=>[_e.b(),_e.is("pure",P.pure),_e.is(P.effect),P.popperClass]),v=sn(()=>[{zIndex:Ar(B)},P.popperStyle||{},Ar(J).popper]),E=sn(()=>oe.value==="dialog"?"false":void 0),a=sn(()=>Ar(J).arrow||{});return{ariaModal:E,arrowStyle:a,contentAttrs:U,contentClass:e,contentStyle:v,contentZIndex:B,updateZIndex:()=>{B.value=P.zIndex||be()}}},BB=(P,N)=>{const J=ra(!1),oe=ra();return{focusStartRef:oe,trapped:J,onFocusAfterReleased:v=>{var E;((E=v.detail)==null?void 0:E.focusReason)!=="pointer"&&(oe.value="first",N("blur"))},onFocusAfterTrapped:()=>{N("focus")},onFocusInTrap:v=>{P.visible&&!J.value&&(v.target&&(oe.value=v.target),J.value=!0)},onFocusoutPrevented:v=>{P.trapping||(v.detail.focusReason==="pointer"&&v.preventDefault(),J.value=!1)},onReleaseRequested:()=>{J.value=!1,N("close")}}},NB=Ca({name:"ElPopperContent"}),UB=Ca({...NB,props:kA,emits:PB,setup(P,{expose:N,emit:J}){const oe=P,{focusStartRef:be,trapped:_e,onFocusAfterReleased:U,onFocusAfterTrapped:B,onFocusInTrap:e,onFocusoutPrevented:v,onReleaseRequested:E}=BB(oe,J),{attributes:a,arrowRef:C,contentRef:w,styles:d,instanceRef:p,role:t,update:r}=OB(oe),{ariaModal:c,arrowStyle:o,contentAttrs:n,contentClass:u,contentStyle:i,updateZIndex:g}=zB(oe,{styles:d,attributes:a,role:t}),h=si(Ld,void 0),x=ra();Bo(LA,{arrowStyle:o,arrowRef:C,arrowOffset:x}),h&&(h.addInputId||h.removeInputId)&&Bo(Ld,{...h,addInputId:Ks,removeInputId:Ks});let f;const l=(T=!0)=>{r(),T&&g()},y=()=>{l(!1),oe.visible&&oe.focusOnShow?_e.value=!0:oe.visible===!1&&(_e.value=!1)};return xo(()=>{ja(()=>oe.triggerTargetEl,(T,S)=>{f==null||f(),f=void 0;const L=Ar(T||w.value),m=Ar(S||w.value);Cv(L)&&(f=ja([t,()=>oe.ariaLabel,c,()=>oe.id],M=>{["role","aria-label","aria-modal","id"].forEach((b,s)=>{Ev(M[s])?L.removeAttribute(b):L.setAttribute(b,M[s])})},{immediate:!0})),m!==L&&Cv(m)&&["role","aria-label","aria-modal","id"].forEach(M=>{m.removeAttribute(M)})},{immediate:!0}),ja(()=>oe.visible,y,{immediate:!0})}),$s(()=>{f==null||f(),f=void 0}),N({popperContentRef:w,popperInstanceRef:p,updatePopper:l,contentStyle:i}),(T,S)=>(Wn(),Oa("div",Nf({ref_key:"contentRef",ref:w},Ar(n),{style:Ar(i),class:Ar(u),tabindex:"-1",onMouseenter:S[0]||(S[0]=L=>T.$emit("mouseenter",L)),onMouseleave:S[1]||(S[1]=L=>T.$emit("mouseleave",L))}),[Ia(Ar(CB),{trapped:Ar(_e),"trap-on-focus-in":!0,"focus-trap-el":Ar(w),"focus-start-el":Ar(be),onFocusAfterTrapped:Ar(B),onFocusAfterReleased:Ar(U),onFocusin:Ar(e),onFocusoutPrevented:Ar(v),onReleaseRequested:Ar(E)},{default:Ea(()=>[ti(T.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}});var HB=Si(UB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/content.vue"]]);const VB=ks(oB),hx=Symbol("elTooltip"),dx=Zi({...wO,...kA,appendTo:{type:oi([String,Object])},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,ariaLabel:String,visible:{type:oi(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean}),FA=Zi({...IA,disabled:Boolean,trigger:{type:oi([String,Array]),default:"hover"},triggerKeys:{type:oi(Array),default:()=>[Rs.enter,Rs.space]}}),{useModelToggleProps:GB,useModelToggleEmits:WB,useModelToggle:jB}=rA("visible"),YB=Zi({..._A,...GB,...dx,...FA,...PA,showArrow:{type:Boolean,default:!0}}),ZB=[...WB,"before-show","before-hide","show","hide","open","close"],XB=(P,N)=>Va(P)?P.includes(N):P===N,lv=(P,N,J)=>oe=>{XB(Ar(P),N)&&J(oe)},KB=Ca({name:"ElTooltipTrigger"}),$B=Ca({...KB,props:FA,setup(P,{expose:N}){const J=P,oe=li("tooltip"),{controlled:be,id:_e,open:U,onOpen:B,onClose:e,onToggle:v}=si(hx,void 0),E=ra(null),a=()=>{if(Ar(be)||J.disabled)return!0},C=zf(J,"trigger"),w=Sc(a,lv(C,"hover",B)),d=Sc(a,lv(C,"hover",e)),p=Sc(a,lv(C,"click",n=>{n.button===0&&v(n)})),t=Sc(a,lv(C,"focus",B)),r=Sc(a,lv(C,"focus",e)),c=Sc(a,lv(C,"contextmenu",n=>{n.preventDefault(),v(n)})),o=Sc(a,n=>{const{code:u}=n;J.triggerKeys.includes(u)&&(n.preventDefault(),v(n))});return N({triggerRef:E}),(n,u)=>(Wn(),ri(Ar(vB),{id:Ar(_e),"virtual-ref":n.virtualRef,open:Ar(U),"virtual-triggering":n.virtualTriggering,class:ua(Ar(oe).e("trigger")),onBlur:Ar(r),onClick:Ar(p),onContextmenu:Ar(c),onFocus:Ar(t),onMouseenter:Ar(w),onMouseleave:Ar(d),onKeydown:Ar(o)},{default:Ea(()=>[ti(n.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var JB=Si($B,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/trigger.vue"]]);const QB=Ca({name:"ElTooltipContent",inheritAttrs:!1}),qB=Ca({...QB,props:dx,setup(P,{expose:N}){const J=P,{selector:oe}=gA(),be=li("tooltip"),_e=ra(null),U=ra(!1),{controlled:B,id:e,open:v,trigger:E,onClose:a,onOpen:C,onShow:w,onHide:d,onBeforeShow:p,onBeforeHide:t}=si(hx,void 0),r=sn(()=>J.transition||`${be.namespace.value}-fade-in-linear`),c=sn(()=>J.persistent);$s(()=>{U.value=!0});const o=sn(()=>Ar(c)?!0:Ar(v)),n=sn(()=>J.disabled?!1:Ar(v)),u=sn(()=>J.appendTo||oe.value),i=sn(()=>{var M;return(M=J.style)!=null?M:{}}),g=sn(()=>!Ar(v)),h=()=>{d()},x=()=>{if(Ar(B))return!0},f=Sc(x,()=>{J.enterable&&Ar(E)==="hover"&&C()}),l=Sc(x,()=>{Ar(E)==="hover"&&a()}),y=()=>{var M,b;(b=(M=_e.value)==null?void 0:M.updatePopper)==null||b.call(M),p==null||p()},T=()=>{t==null||t()},S=()=>{w(),m=SL(sn(()=>{var M;return(M=_e.value)==null?void 0:M.popperContentRef}),()=>{if(Ar(B))return;Ar(E)!=="hover"&&a()})},L=()=>{J.virtualTriggering||a()};let m;return ja(()=>Ar(v),M=>{M||m==null||m()},{flush:"post"}),ja(()=>J.content,()=>{var M,b;(b=(M=_e.value)==null?void 0:M.updatePopper)==null||b.call(M)}),N({contentRef:_e}),(M,b)=>(Wn(),ri(YS,{disabled:!M.teleported,to:Ar(u)},[Ia(nf,{name:Ar(r),onAfterLeave:h,onBeforeEnter:y,onAfterEnter:S,onBeforeLeave:T},{default:Ea(()=>[Ar(o)?ys((Wn(),ri(Ar(HB),Nf({key:0,id:Ar(e),ref_key:"contentRef",ref:_e},M.$attrs,{"aria-label":M.ariaLabel,"aria-hidden":Ar(g),"boundaries-padding":M.boundariesPadding,"fallback-placements":M.fallbackPlacements,"gpu-acceleration":M.gpuAcceleration,offset:M.offset,placement:M.placement,"popper-options":M.popperOptions,strategy:M.strategy,effect:M.effect,enterable:M.enterable,pure:M.pure,"popper-class":M.popperClass,"popper-style":[M.popperStyle,Ar(i)],"reference-el":M.referenceEl,"trigger-target-el":M.triggerTargetEl,visible:Ar(n),"z-index":M.zIndex,onMouseenter:Ar(f),onMouseleave:Ar(l),onBlur:L,onClose:Ar(a)}),{default:Ea(()=>[U.value?ai("v-if",!0):ti(M.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[Fc,Ar(n)]]):ai("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var eN=Si(qB,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/content.vue"]]);const tN=["innerHTML"],rN={key:1},nN=Ca({name:"ElTooltip"}),aN=Ca({...nN,props:YB,emits:ZB,setup(P,{expose:N,emit:J}){const oe=P;bO();const be=uy(),_e=ra(),U=ra(),B=()=>{var r;const c=Ar(_e);c&&((r=c.popperInstanceRef)==null||r.update())},e=ra(!1),v=ra(),{show:E,hide:a,hasUpdateHandler:C}=jB({indicator:e,toggleReason:v}),{onOpen:w,onClose:d}=TO({showAfter:zf(oe,"showAfter"),hideAfter:zf(oe,"hideAfter"),autoClose:zf(oe,"autoClose"),open:E,close:a}),p=sn(()=>Ic(oe.visible)&&!C.value);Bo(hx,{controlled:p,id:be,open:Qp(e),trigger:zf(oe,"trigger"),onOpen:r=>{w(r)},onClose:r=>{d(r)},onToggle:r=>{Ar(e)?d(r):w(r)},onShow:()=>{J("show",v.value)},onHide:()=>{J("hide",v.value)},onBeforeShow:()=>{J("before-show",v.value)},onBeforeHide:()=>{J("before-hide",v.value)},updatePopper:B}),ja(()=>oe.disabled,r=>{r&&e.value&&(e.value=!1)});const t=()=>{var r,c;const o=(c=(r=U.value)==null?void 0:r.contentRef)==null?void 0:c.popperContentRef;return o&&o.contains(document.activeElement)};return aT(()=>e.value&&a()),N({popperRef:_e,contentRef:U,isFocusInsideContent:t,updatePopper:B,onOpen:w,onClose:d,hide:a}),(r,c)=>(Wn(),ri(Ar(VB),{ref_key:"popperRef",ref:_e,role:r.role},{default:Ea(()=>[Ia(JB,{disabled:r.disabled,trigger:r.trigger,"trigger-keys":r.triggerKeys,"virtual-ref":r.virtualRef,"virtual-triggering":r.virtualTriggering},{default:Ea(()=>[r.$slots.default?ti(r.$slots,"default",{key:0}):ai("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),Ia(eN,{ref_key:"contentRef",ref:U,"aria-label":r.ariaLabel,"boundaries-padding":r.boundariesPadding,content:r.content,disabled:r.disabled,effect:r.effect,enterable:r.enterable,"fallback-placements":r.fallbackPlacements,"hide-after":r.hideAfter,"gpu-acceleration":r.gpuAcceleration,offset:r.offset,persistent:r.persistent,"popper-class":r.popperClass,"popper-style":r.popperStyle,placement:r.placement,"popper-options":r.popperOptions,pure:r.pure,"raw-content":r.rawContent,"reference-el":r.referenceEl,"trigger-target-el":r.triggerTargetEl,"show-after":r.showAfter,strategy:r.strategy,teleported:r.teleported,transition:r.transition,"virtual-triggering":r.virtualTriggering,"z-index":r.zIndex,"append-to":r.appendTo},{default:Ea(()=>[ti(r.$slots,"content",{},()=>[r.rawContent?(Wn(),Oa("span",{key:0,innerHTML:r.content},null,8,tN)):(Wn(),Oa("span",rN,Io(r.content),1))]),r.showArrow?(Wn(),ri(Ar(uB),{key:0,"arrow-offset":r.arrowOffset},null,8,["arrow-offset"])):ai("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var iN=Si(aN,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/tooltip.vue"]]);const vx=ks(iN),oN=Zi({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"}}),sN=["textContent"],lN=Ca({name:"ElBadge"}),uN=Ca({...lN,props:oN,setup(P,{expose:N}){const J=P,oe=li("badge"),be=sn(()=>J.isDot?"":qo(J.value)&&qo(J.max)?J.max(Wn(),Oa("div",{class:ua(Ar(oe).b())},[ti(_e.$slots,"default"),Ia(nf,{name:`${Ar(oe).namespace.value}-zoom-in-center`,persisted:""},{default:Ea(()=>[ys(za("sup",{class:ua([Ar(oe).e("content"),Ar(oe).em("content",_e.type),Ar(oe).is("fixed",!!_e.$slots.default),Ar(oe).is("dot",_e.isDot)]),textContent:Io(Ar(be))},null,10,sN),[[Fc,!_e.hidden&&(Ar(be)||_e.isDot)]])]),_:1},8,["name"])],2))}});var fN=Si(uN,[["__file","/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]);const cN=ks(fN);function Ds(P,N){hN(P)&&(P="100%");var J=dN(P);return P=N===360?P:Math.min(N,Math.max(0,parseFloat(P))),J&&(P=parseInt(String(P*N),10)/100),Math.abs(P-N)<1e-6?1:(N===360?P=(P<0?P%N+N:P%N)/parseFloat(String(N)):P=P%N/parseFloat(String(N)),P)}function J0(P){return Math.min(1,Math.max(0,P))}function hN(P){return typeof P=="string"&&P.indexOf(".")!==-1&&parseFloat(P)===1}function dN(P){return typeof P=="string"&&P.indexOf("%")!==-1}function OA(P){return P=parseFloat(P),(isNaN(P)||P<0||P>1)&&(P=1),P}function Q0(P){return P<=1?"".concat(Number(P)*100,"%"):P}function Ad(P){return P.length===1?"0"+P:String(P)}function vN(P,N,J){return{r:Ds(P,255)*255,g:Ds(N,255)*255,b:Ds(J,255)*255}}function dw(P,N,J){P=Ds(P,255),N=Ds(N,255),J=Ds(J,255);var oe=Math.max(P,N,J),be=Math.min(P,N,J),_e=0,U=0,B=(oe+be)/2;if(oe===be)U=0,_e=0;else{var e=oe-be;switch(U=B>.5?e/(2-oe-be):e/(oe+be),oe){case P:_e=(N-J)/e+(N1&&(J-=1),J<1/6?P+(N-P)*(6*J):J<1/2?N:J<2/3?P+(N-P)*(2/3-J)*6:P}function pN(P,N,J){var oe,be,_e;if(P=Ds(P,360),N=Ds(N,100),J=Ds(J,100),N===0)be=J,_e=J,oe=J;else{var U=J<.5?J*(1+N):J+N-J*N,B=2*J-U;oe=hm(B,U,P+1/3),be=hm(B,U,P),_e=hm(B,U,P-1/3)}return{r:oe*255,g:be*255,b:_e*255}}function vw(P,N,J){P=Ds(P,255),N=Ds(N,255),J=Ds(J,255);var oe=Math.max(P,N,J),be=Math.min(P,N,J),_e=0,U=oe,B=oe-be,e=oe===0?0:B/oe;if(oe===be)_e=0;else{switch(oe){case P:_e=(N-J)/B+(N>16,g:(P&65280)>>8,b:P&255}}var a1={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",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:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",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:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",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:"#ff0000",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:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function bN(P){var N={r:0,g:0,b:0},J=1,oe=null,be=null,_e=null,U=!1,B=!1;return typeof P=="string"&&(P=AN(P)),typeof P=="object"&&(Tc(P.r)&&Tc(P.g)&&Tc(P.b)?(N=vN(P.r,P.g,P.b),U=!0,B=String(P.r).substr(-1)==="%"?"prgb":"rgb"):Tc(P.h)&&Tc(P.s)&&Tc(P.v)?(oe=Q0(P.s),be=Q0(P.v),N=gN(P.h,oe,be),U=!0,B="hsv"):Tc(P.h)&&Tc(P.s)&&Tc(P.l)&&(oe=Q0(P.s),_e=Q0(P.l),N=pN(P.h,oe,_e),U=!0,B="hsl"),Object.prototype.hasOwnProperty.call(P,"a")&&(J=P.a)),J=OA(J),{ok:U,format:P.format||B,r:Math.min(255,Math.max(N.r,0)),g:Math.min(255,Math.max(N.g,0)),b:Math.min(255,Math.max(N.b,0)),a:J}}var wN="[-\\+]?\\d+%?",TN="[-\\+]?\\d*\\.\\d+%?",Ch="(?:".concat(TN,")|(?:").concat(wN,")"),dm="[\\s|\\(]+(".concat(Ch,")[,|\\s]+(").concat(Ch,")[,|\\s]+(").concat(Ch,")\\s*\\)?"),vm="[\\s|\\(]+(".concat(Ch,")[,|\\s]+(").concat(Ch,")[,|\\s]+(").concat(Ch,")[,|\\s]+(").concat(Ch,")\\s*\\)?"),Qu={CSS_UNIT:new RegExp(Ch),rgb:new RegExp("rgb"+dm),rgba:new RegExp("rgba"+vm),hsl:new RegExp("hsl"+dm),hsla:new RegExp("hsla"+vm),hsv:new RegExp("hsv"+dm),hsva:new RegExp("hsva"+vm),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 AN(P){if(P=P.trim().toLowerCase(),P.length===0)return!1;var N=!1;if(a1[P])P=a1[P],N=!0;else if(P==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var J=Qu.rgb.exec(P);return J?{r:J[1],g:J[2],b:J[3]}:(J=Qu.rgba.exec(P),J?{r:J[1],g:J[2],b:J[3],a:J[4]}:(J=Qu.hsl.exec(P),J?{h:J[1],s:J[2],l:J[3]}:(J=Qu.hsla.exec(P),J?{h:J[1],s:J[2],l:J[3],a:J[4]}:(J=Qu.hsv.exec(P),J?{h:J[1],s:J[2],v:J[3]}:(J=Qu.hsva.exec(P),J?{h:J[1],s:J[2],v:J[3],a:J[4]}:(J=Qu.hex8.exec(P),J?{r:Yl(J[1]),g:Yl(J[2]),b:Yl(J[3]),a:gw(J[4]),format:N?"name":"hex8"}:(J=Qu.hex6.exec(P),J?{r:Yl(J[1]),g:Yl(J[2]),b:Yl(J[3]),format:N?"name":"hex"}:(J=Qu.hex4.exec(P),J?{r:Yl(J[1]+J[1]),g:Yl(J[2]+J[2]),b:Yl(J[3]+J[3]),a:gw(J[4]+J[4]),format:N?"name":"hex8"}:(J=Qu.hex3.exec(P),J?{r:Yl(J[1]+J[1]),g:Yl(J[2]+J[2]),b:Yl(J[3]+J[3]),format:N?"name":"hex"}:!1)))))))))}function Tc(P){return!!Qu.CSS_UNIT.exec(String(P))}var MN=function(){function P(N,J){N===void 0&&(N=""),J===void 0&&(J={});var oe;if(N instanceof P)return N;typeof N=="number"&&(N=xN(N)),this.originalInput=N;var be=bN(N);this.originalInput=N,this.r=be.r,this.g=be.g,this.b=be.b,this.a=be.a,this.roundA=Math.round(100*this.a)/100,this.format=(oe=J.format)!==null&&oe!==void 0?oe:be.format,this.gradientType=J.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=be.ok}return P.prototype.isDark=function(){return this.getBrightness()<128},P.prototype.isLight=function(){return!this.isDark()},P.prototype.getBrightness=function(){var N=this.toRgb();return(N.r*299+N.g*587+N.b*114)/1e3},P.prototype.getLuminance=function(){var N=this.toRgb(),J,oe,be,_e=N.r/255,U=N.g/255,B=N.b/255;return _e<=.03928?J=_e/12.92:J=Math.pow((_e+.055)/1.055,2.4),U<=.03928?oe=U/12.92:oe=Math.pow((U+.055)/1.055,2.4),B<=.03928?be=B/12.92:be=Math.pow((B+.055)/1.055,2.4),.2126*J+.7152*oe+.0722*be},P.prototype.getAlpha=function(){return this.a},P.prototype.setAlpha=function(N){return this.a=OA(N),this.roundA=Math.round(100*this.a)/100,this},P.prototype.isMonochrome=function(){var N=this.toHsl().s;return N===0},P.prototype.toHsv=function(){var N=vw(this.r,this.g,this.b);return{h:N.h*360,s:N.s,v:N.v,a:this.a}},P.prototype.toHsvString=function(){var N=vw(this.r,this.g,this.b),J=Math.round(N.h*360),oe=Math.round(N.s*100),be=Math.round(N.v*100);return this.a===1?"hsv(".concat(J,", ").concat(oe,"%, ").concat(be,"%)"):"hsva(".concat(J,", ").concat(oe,"%, ").concat(be,"%, ").concat(this.roundA,")")},P.prototype.toHsl=function(){var N=dw(this.r,this.g,this.b);return{h:N.h*360,s:N.s,l:N.l,a:this.a}},P.prototype.toHslString=function(){var N=dw(this.r,this.g,this.b),J=Math.round(N.h*360),oe=Math.round(N.s*100),be=Math.round(N.l*100);return this.a===1?"hsl(".concat(J,", ").concat(oe,"%, ").concat(be,"%)"):"hsla(".concat(J,", ").concat(oe,"%, ").concat(be,"%, ").concat(this.roundA,")")},P.prototype.toHex=function(N){return N===void 0&&(N=!1),pw(this.r,this.g,this.b,N)},P.prototype.toHexString=function(N){return N===void 0&&(N=!1),"#"+this.toHex(N)},P.prototype.toHex8=function(N){return N===void 0&&(N=!1),yN(this.r,this.g,this.b,this.a,N)},P.prototype.toHex8String=function(N){return N===void 0&&(N=!1),"#"+this.toHex8(N)},P.prototype.toHexShortString=function(N){return N===void 0&&(N=!1),this.a===1?this.toHexString(N):this.toHex8String(N)},P.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},P.prototype.toRgbString=function(){var N=Math.round(this.r),J=Math.round(this.g),oe=Math.round(this.b);return this.a===1?"rgb(".concat(N,", ").concat(J,", ").concat(oe,")"):"rgba(".concat(N,", ").concat(J,", ").concat(oe,", ").concat(this.roundA,")")},P.prototype.toPercentageRgb=function(){var N=function(J){return"".concat(Math.round(Ds(J,255)*100),"%")};return{r:N(this.r),g:N(this.g),b:N(this.b),a:this.a}},P.prototype.toPercentageRgbString=function(){var N=function(J){return Math.round(Ds(J,255)*100)};return this.a===1?"rgb(".concat(N(this.r),"%, ").concat(N(this.g),"%, ").concat(N(this.b),"%)"):"rgba(".concat(N(this.r),"%, ").concat(N(this.g),"%, ").concat(N(this.b),"%, ").concat(this.roundA,")")},P.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var N="#"+pw(this.r,this.g,this.b,!1),J=0,oe=Object.entries(a1);J=0,_e=!J&&be&&(N.startsWith("hex")||N==="name");return _e?N==="name"&&this.a===0?this.toName():this.toRgbString():(N==="rgb"&&(oe=this.toRgbString()),N==="prgb"&&(oe=this.toPercentageRgbString()),(N==="hex"||N==="hex6")&&(oe=this.toHexString()),N==="hex3"&&(oe=this.toHexString(!0)),N==="hex4"&&(oe=this.toHex8String(!0)),N==="hex8"&&(oe=this.toHex8String()),N==="name"&&(oe=this.toName()),N==="hsl"&&(oe=this.toHslString()),N==="hsv"&&(oe=this.toHsvString()),oe||this.toHexString())},P.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},P.prototype.clone=function(){return new P(this.toString())},P.prototype.lighten=function(N){N===void 0&&(N=10);var J=this.toHsl();return J.l+=N/100,J.l=J0(J.l),new P(J)},P.prototype.brighten=function(N){N===void 0&&(N=10);var J=this.toRgb();return J.r=Math.max(0,Math.min(255,J.r-Math.round(255*-(N/100)))),J.g=Math.max(0,Math.min(255,J.g-Math.round(255*-(N/100)))),J.b=Math.max(0,Math.min(255,J.b-Math.round(255*-(N/100)))),new P(J)},P.prototype.darken=function(N){N===void 0&&(N=10);var J=this.toHsl();return J.l-=N/100,J.l=J0(J.l),new P(J)},P.prototype.tint=function(N){return N===void 0&&(N=10),this.mix("white",N)},P.prototype.shade=function(N){return N===void 0&&(N=10),this.mix("black",N)},P.prototype.desaturate=function(N){N===void 0&&(N=10);var J=this.toHsl();return J.s-=N/100,J.s=J0(J.s),new P(J)},P.prototype.saturate=function(N){N===void 0&&(N=10);var J=this.toHsl();return J.s+=N/100,J.s=J0(J.s),new P(J)},P.prototype.greyscale=function(){return this.desaturate(100)},P.prototype.spin=function(N){var J=this.toHsl(),oe=(J.h+N)%360;return J.h=oe<0?360+oe:oe,new P(J)},P.prototype.mix=function(N,J){J===void 0&&(J=50);var oe=this.toRgb(),be=new P(N).toRgb(),_e=J/100,U={r:(be.r-oe.r)*_e+oe.r,g:(be.g-oe.g)*_e+oe.g,b:(be.b-oe.b)*_e+oe.b,a:(be.a-oe.a)*_e+oe.a};return new P(U)},P.prototype.analogous=function(N,J){N===void 0&&(N=6),J===void 0&&(J=30);var oe=this.toHsl(),be=360/J,_e=[this];for(oe.h=(oe.h-(be*N>>1)+720)%360;--N;)oe.h=(oe.h+be)%360,_e.push(new P(oe));return _e},P.prototype.complement=function(){var N=this.toHsl();return N.h=(N.h+180)%360,new P(N)},P.prototype.monochromatic=function(N){N===void 0&&(N=6);for(var J=this.toHsv(),oe=J.h,be=J.s,_e=J.v,U=[],B=1/N;N--;)U.push(new P({h:oe,s:be,v:_e})),_e=(_e+B)%1;return U},P.prototype.splitcomplement=function(){var N=this.toHsl(),J=N.h;return[this,new P({h:(J+72)%360,s:N.s,l:N.l}),new P({h:(J+216)%360,s:N.s,l:N.l})]},P.prototype.onBackground=function(N){var J=this.toRgb(),oe=new P(N).toRgb(),be=J.a+oe.a*(1-J.a);return new P({r:(J.r*J.a+oe.r*oe.a*(1-J.a))/be,g:(J.g*J.a+oe.g*oe.a*(1-J.a))/be,b:(J.b*J.a+oe.b*oe.a*(1-J.a))/be,a:be})},P.prototype.triad=function(){return this.polyad(3)},P.prototype.tetrad=function(){return this.polyad(4)},P.prototype.polyad=function(N){for(var J=this.toHsl(),oe=J.h,be=[this],_e=360/N,U=1;Uyw=P),document.addEventListener("mouseup",P=>{for(const N of wh.values())for(const{documentHandler:J}of N)J(P,yw)}));function mw(P,N){let J=[];return Array.isArray(N.arg)?J=N.arg:Cv(N.arg)&&J.push(N.arg),function(oe,be){const _e=N.instance.popperRef,U=oe.target,B=be==null?void 0:be.target,e=!N||!N.instance,v=!U||!B,E=P.contains(U)||P.contains(B),a=P===U,C=J.length&&J.some(d=>d==null?void 0:d.contains(U))||J.length&&J.includes(B),w=_e&&(_e.contains(U)||_e.contains(B));e||v||E||a||C||w||N.value(oe,be)}}const EN={beforeMount(P,N){wh.has(P)||wh.set(P,[]),wh.get(P).push({documentHandler:mw(P,N),bindingFn:N.value})},updated(P,N){wh.has(P)||wh.set(P,[]);const J=wh.get(P),oe=J.findIndex(_e=>_e.bindingFn===N.oldValue),be={documentHandler:mw(P,N),bindingFn:N.value};oe>=0?J.splice(oe,1,be):J.push(be)},unmounted(P){wh.delete(P)}},CN=Zi({header:{type:String,default:""},bodyStyle:{type:oi([String,Object,Array]),default:""},shadow:{type:String,values:["always","hover","never"],default:"always"}}),LN=Ca({name:"ElCard"}),_N=Ca({...LN,props:CN,setup(P){const N=li("card");return(J,oe)=>(Wn(),Oa("div",{class:ua([Ar(N).b(),Ar(N).is(`${J.shadow}-shadow`)])},[J.$slots.header||J.header?(Wn(),Oa("div",{key:0,class:ua(Ar(N).e("header"))},[ti(J.$slots,"header",{},()=>[Ps(Io(J.header),1)])],2)):ai("v-if",!0),za("div",{class:ua(Ar(N).e("body")),style:ao(J.bodyStyle)},[ti(J.$slots,"default")],6)],2))}});var PN=Si(_N,[["__file","/home/runner/work/element-plus/element-plus/packages/components/card/src/card.vue"]]);const RN=ks(PN),BA={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object]},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:Uv,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0}},NA={[gs]:P=>ci(P)||qo(P)||Ic(P),change:P=>ci(P)||qo(P)||Ic(P)},Gv=Symbol("checkboxGroupContextKey"),IN=({model:P,isChecked:N})=>{const J=si(Gv,void 0),oe=sn(()=>{var _e,U;const B=(_e=J==null?void 0:J.max)==null?void 0:_e.value,e=(U=J==null?void 0:J.min)==null?void 0:U.value;return!Rg(B)&&P.value.length>=B&&!N.value||!Rg(e)&&P.value.length<=e&&N.value});return{isDisabled:lx(sn(()=>(J==null?void 0:J.disabled.value)||oe.value)),isLimitDisabled:oe}},DN=(P,{model:N,isLimitExceeded:J,hasOwnLabel:oe,isDisabled:be,isLabeledByFormItem:_e})=>{const U=si(Gv,void 0),{formItem:B}=Vv(),{emit:e}=bs();function v(d){var p,t;return d===P.trueLabel||d===!0?(p=P.trueLabel)!=null?p:!0:(t=P.falseLabel)!=null?t:!1}function E(d,p){e("change",v(d),p)}function a(d){if(J.value)return;const p=d.target;e("change",v(p.checked),d)}async function C(d){J.value||!oe.value&&!be.value&&_e.value&&(d.composedPath().some(r=>r.tagName==="LABEL")||(N.value=v([!1,P.falseLabel].includes(N.value)),await Ii(),E(N.value,d)))}const w=sn(()=>(U==null?void 0:U.validateEvent)||P.validateEvent);return ja(()=>P.modelValue,()=>{w.value&&(B==null||B.validate("change").catch(d=>void 0))}),{handleChange:a,onClickRoot:C}},kN=P=>{const N=ra(!1),{emit:J}=bs(),oe=si(Gv,void 0),be=sn(()=>Rg(oe)===!1),_e=ra(!1);return{model:sn({get(){var B,e;return be.value?(B=oe==null?void 0:oe.modelValue)==null?void 0:B.value:(e=P.modelValue)!=null?e:N.value},set(B){var e,v;be.value&&Va(B)?(_e.value=((e=oe==null?void 0:oe.max)==null?void 0:e.value)!==void 0&&B.length>(oe==null?void 0:oe.max.value),_e.value===!1&&((v=oe==null?void 0:oe.changeEvent)==null||v.call(oe,B))):(J(gs,B),N.value=B)}}),isGroup:be,isLimitExceeded:_e}},FN=(P,N,{model:J})=>{const oe=si(Gv,void 0),be=ra(!1),_e=sn(()=>{const v=J.value;return Ic(v)?v:Va(v)?Ei(P.label)?v.map(Mi).some(E=>Xm(E,P.label)):v.map(Mi).includes(P.label):v!=null?v===P.trueLabel:!!v}),U=Fh(sn(()=>{var v;return(v=oe==null?void 0:oe.size)==null?void 0:v.value}),{prop:!0}),B=Fh(sn(()=>{var v;return(v=oe==null?void 0:oe.size)==null?void 0:v.value})),e=sn(()=>!!(N.default||P.label));return{checkboxButtonSize:U,isChecked:_e,isFocused:be,checkboxSize:B,hasOwnLabel:e}},ON=(P,{model:N})=>{function J(){Va(N.value)&&!N.value.includes(P.label)?N.value.push(P.label):N.value=P.trueLabel||!0}P.checked&&J()},UA=(P,N)=>{const{formItem:J}=Vv(),{model:oe,isGroup:be,isLimitExceeded:_e}=kN(P),{isFocused:U,isChecked:B,checkboxButtonSize:e,checkboxSize:v,hasOwnLabel:E}=FN(P,N,{model:oe}),{isDisabled:a}=IN({model:oe,isChecked:B}),{inputId:C,isLabeledByFormItem:w}=fy(P,{formItemContext:J,disableIdGeneration:E,disableIdManagement:be}),{handleChange:d,onClickRoot:p}=DN(P,{model:oe,isLimitExceeded:_e,hasOwnLabel:E,isDisabled:a,isLabeledByFormItem:w});return ON(P,{model:oe}),{inputId:C,isLabeledByFormItem:w,isChecked:B,isDisabled:a,isFocused:U,checkboxButtonSize:e,checkboxSize:v,hasOwnLabel:E,model:oe,handleChange:d,onClickRoot:p}},zN=["tabindex","role","aria-checked"],BN=["id","aria-hidden","name","tabindex","disabled","true-value","false-value"],NN=["id","aria-hidden","disabled","value","name","tabindex"],UN=Ca({name:"ElCheckbox"}),HN=Ca({...UN,props:BA,emits:NA,setup(P){const N=P,J=qp(),{inputId:oe,isLabeledByFormItem:be,isChecked:_e,isDisabled:U,isFocused:B,checkboxSize:e,hasOwnLabel:v,model:E,handleChange:a,onClickRoot:C}=UA(N,J),w=li("checkbox"),d=sn(()=>[w.b(),w.m(e.value),w.is("disabled",U.value),w.is("bordered",N.border),w.is("checked",_e.value)]),p=sn(()=>[w.e("input"),w.is("disabled",U.value),w.is("checked",_e.value),w.is("indeterminate",N.indeterminate),w.is("focus",B.value)]);return(t,r)=>(Wn(),ri(Kl(!Ar(v)&&Ar(be)?"span":"label"),{class:ua(Ar(d)),"aria-controls":t.indeterminate?t.controls:null,onClick:Ar(C)},{default:Ea(()=>[za("span",{class:ua(Ar(p)),tabindex:t.indeterminate?0:void 0,role:t.indeterminate?"checkbox":void 0,"aria-checked":t.indeterminate?"mixed":void 0},[t.trueLabel||t.falseLabel?ys((Wn(),Oa("input",{key:0,id:Ar(oe),"onUpdate:modelValue":r[0]||(r[0]=c=>mo(E)?E.value=c:null),class:ua(Ar(w).e("original")),type:"checkbox","aria-hidden":t.indeterminate?"true":"false",name:t.name,tabindex:t.tabindex,disabled:Ar(U),"true-value":t.trueLabel,"false-value":t.falseLabel,onChange:r[1]||(r[1]=(...c)=>Ar(a)&&Ar(a)(...c)),onFocus:r[2]||(r[2]=c=>B.value=!0),onBlur:r[3]||(r[3]=c=>B.value=!1)},null,42,BN)),[[wg,Ar(E)]]):ys((Wn(),Oa("input",{key:1,id:Ar(oe),"onUpdate:modelValue":r[4]||(r[4]=c=>mo(E)?E.value=c:null),class:ua(Ar(w).e("original")),type:"checkbox","aria-hidden":t.indeterminate?"true":"false",disabled:Ar(U),value:t.label,name:t.name,tabindex:t.tabindex,onChange:r[5]||(r[5]=(...c)=>Ar(a)&&Ar(a)(...c)),onFocus:r[6]||(r[6]=c=>B.value=!0),onBlur:r[7]||(r[7]=c=>B.value=!1)},null,42,NN)),[[wg,Ar(E)]]),za("span",{class:ua(Ar(w).e("inner"))},null,2)],10,zN),Ar(v)?(Wn(),Oa("span",{key:0,class:ua(Ar(w).e("label"))},[ti(t.$slots,"default"),t.$slots.default?ai("v-if",!0):(Wn(),Oa(qi,{key:0},[Ps(Io(t.label),1)],64))],2)):ai("v-if",!0)]),_:3},8,["class","aria-controls","onClick"]))}});var VN=Si(HN,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox.vue"]]);const GN=["name","tabindex","disabled","true-value","false-value"],WN=["name","tabindex","disabled","value"],jN=Ca({name:"ElCheckboxButton"}),YN=Ca({...jN,props:BA,emits:NA,setup(P){const N=P,J=qp(),{isFocused:oe,isChecked:be,isDisabled:_e,checkboxButtonSize:U,model:B,handleChange:e}=UA(N,J),v=si(Gv,void 0),E=li("checkbox"),a=sn(()=>{var w,d,p,t;const r=(d=(w=v==null?void 0:v.fill)==null?void 0:w.value)!=null?d:"";return{backgroundColor:r,borderColor:r,color:(t=(p=v==null?void 0:v.textColor)==null?void 0:p.value)!=null?t:"",boxShadow:r?`-1px 0 0 0 ${r}`:void 0}}),C=sn(()=>[E.b("button"),E.bm("button",U.value),E.is("disabled",_e.value),E.is("checked",be.value),E.is("focus",oe.value)]);return(w,d)=>(Wn(),Oa("label",{class:ua(Ar(C))},[w.trueLabel||w.falseLabel?ys((Wn(),Oa("input",{key:0,"onUpdate:modelValue":d[0]||(d[0]=p=>mo(B)?B.value=p:null),class:ua(Ar(E).be("button","original")),type:"checkbox",name:w.name,tabindex:w.tabindex,disabled:Ar(_e),"true-value":w.trueLabel,"false-value":w.falseLabel,onChange:d[1]||(d[1]=(...p)=>Ar(e)&&Ar(e)(...p)),onFocus:d[2]||(d[2]=p=>oe.value=!0),onBlur:d[3]||(d[3]=p=>oe.value=!1)},null,42,GN)),[[wg,Ar(B)]]):ys((Wn(),Oa("input",{key:1,"onUpdate:modelValue":d[4]||(d[4]=p=>mo(B)?B.value=p:null),class:ua(Ar(E).be("button","original")),type:"checkbox",name:w.name,tabindex:w.tabindex,disabled:Ar(_e),value:w.label,onChange:d[5]||(d[5]=(...p)=>Ar(e)&&Ar(e)(...p)),onFocus:d[6]||(d[6]=p=>oe.value=!0),onBlur:d[7]||(d[7]=p=>oe.value=!1)},null,42,WN)),[[wg,Ar(B)]]),w.$slots.default||w.label?(Wn(),Oa("span",{key:2,class:ua(Ar(E).be("button","inner")),style:ao(Ar(be)?Ar(a):void 0)},[ti(w.$slots,"default",{},()=>[Ps(Io(w.label),1)])],6)):ai("v-if",!0)],2))}});var HA=Si(YN,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-button.vue"]]);const ZN=Zi({modelValue:{type:oi(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:Uv,label:String,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0}}),XN={[gs]:P=>Va(P),change:P=>Va(P)},KN=Ca({name:"ElCheckboxGroup"}),$N=Ca({...KN,props:ZN,emits:XN,setup(P,{emit:N}){const J=P,oe=li("checkbox"),{formItem:be}=Vv(),{inputId:_e,isLabeledByFormItem:U}=fy(J,{formItemContext:be}),B=async v=>{N(gs,v),await Ii(),N("change",v)},e=sn({get(){return J.modelValue},set(v){B(v)}});return Bo(Gv,{...TD(Pd(J),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:e,changeEvent:B}),ja(()=>J.modelValue,()=>{J.validateEvent&&(be==null||be.validate("change").catch(v=>void 0))}),(v,E)=>{var a;return Wn(),ri(Kl(v.tag),{id:Ar(_e),class:ua(Ar(oe).b("group")),role:"group","aria-label":Ar(U)?void 0:v.label||"checkbox-group","aria-labelledby":Ar(U)?(a=Ar(be))==null?void 0:a.labelId:void 0},{default:Ea(()=>[ti(v.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var VA=Si($N,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-group.vue"]]);const JN=ks(VN,{CheckboxButton:HA,CheckboxGroup:VA});Rl(HA);const QN=Rl(VA),GA=Zi({size:Uv,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),qN=Zi({...GA,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),WA={[gs]:P=>ci(P)||qo(P)||Ic(P),[Q1]:P=>ci(P)||qo(P)||Ic(P)},jA=Symbol("radioGroupKey"),YA=(P,N)=>{const J=ra(),oe=si(jA,void 0),be=sn(()=>!!oe),_e=sn({get(){return be.value?oe.modelValue:P.modelValue},set(E){be.value?oe.changeEvent(E):N&&N(gs,E),J.value.checked=P.modelValue===P.label}}),U=Fh(sn(()=>oe==null?void 0:oe.size)),B=lx(sn(()=>oe==null?void 0:oe.disabled)),e=ra(!1),v=sn(()=>B.value||be.value&&_e.value!==P.label?-1:0);return{radioRef:J,isGroup:be,radioGroup:oe,focus:e,size:U,disabled:B,tabIndex:v,modelValue:_e}},eU=["value","name","disabled"],tU=Ca({name:"ElRadio"}),rU=Ca({...tU,props:qN,emits:WA,setup(P,{emit:N}){const J=P,oe=li("radio"),{radioRef:be,radioGroup:_e,focus:U,size:B,disabled:e,modelValue:v}=YA(J,N);function E(){Ii(()=>N("change",v.value))}return(a,C)=>{var w;return Wn(),Oa("label",{class:ua([Ar(oe).b(),Ar(oe).is("disabled",Ar(e)),Ar(oe).is("focus",Ar(U)),Ar(oe).is("bordered",a.border),Ar(oe).is("checked",Ar(v)===a.label),Ar(oe).m(Ar(B))])},[za("span",{class:ua([Ar(oe).e("input"),Ar(oe).is("disabled",Ar(e)),Ar(oe).is("checked",Ar(v)===a.label)])},[ys(za("input",{ref_key:"radioRef",ref:be,"onUpdate:modelValue":C[0]||(C[0]=d=>mo(v)?v.value=d:null),class:ua(Ar(oe).e("original")),value:a.label,name:a.name||((w=Ar(_e))==null?void 0:w.name),disabled:Ar(e),type:"radio",onFocus:C[1]||(C[1]=d=>U.value=!0),onBlur:C[2]||(C[2]=d=>U.value=!1),onChange:E},null,42,eU),[[PT,Ar(v)]]),za("span",{class:ua(Ar(oe).e("inner"))},null,2)],2),za("span",{class:ua(Ar(oe).e("label")),onKeydown:C[3]||(C[3]=Cl(()=>{},["stop"]))},[ti(a.$slots,"default",{},()=>[Ps(Io(a.label),1)])],34)],2)}}});var nU=Si(rU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const aU=Zi({...GA,name:{type:String,default:""}}),iU=["value","name","disabled"],oU=Ca({name:"ElRadioButton"}),sU=Ca({...oU,props:aU,setup(P){const N=P,J=li("radio"),{radioRef:oe,focus:be,size:_e,disabled:U,modelValue:B,radioGroup:e}=YA(N),v=sn(()=>({backgroundColor:(e==null?void 0:e.fill)||"",borderColor:(e==null?void 0:e.fill)||"",boxShadow:e!=null&&e.fill?`-1px 0 0 0 ${e.fill}`:"",color:(e==null?void 0:e.textColor)||""}));return(E,a)=>{var C;return Wn(),Oa("label",{class:ua([Ar(J).b("button"),Ar(J).is("active",Ar(B)===E.label),Ar(J).is("disabled",Ar(U)),Ar(J).is("focus",Ar(be)),Ar(J).bm("button",Ar(_e))])},[ys(za("input",{ref_key:"radioRef",ref:oe,"onUpdate:modelValue":a[0]||(a[0]=w=>mo(B)?B.value=w:null),class:ua(Ar(J).be("button","original-radio")),value:E.label,type:"radio",name:E.name||((C=Ar(e))==null?void 0:C.name),disabled:Ar(U),onFocus:a[1]||(a[1]=w=>be.value=!0),onBlur:a[2]||(a[2]=w=>be.value=!1)},null,42,iU),[[PT,Ar(B)]]),za("span",{class:ua(Ar(J).be("button","inner")),style:ao(Ar(B)===E.label?Ar(v):{}),onKeydown:a[3]||(a[3]=Cl(()=>{},["stop"]))},[ti(E.$slots,"default",{},()=>[Ps(Io(E.label),1)])],38)],2)}}});var ZA=Si(sU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const lU=Zi({id:{type:String,default:void 0},size:Uv,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),uU=WA,fU=["id","aria-label","aria-labelledby"],cU=Ca({name:"ElRadioGroup"}),hU=Ca({...cU,props:lU,emits:uU,setup(P,{emit:N}){const J=P,oe=li("radio"),be=uy(),_e=ra(),{formItem:U}=Vv(),{inputId:B,isLabeledByFormItem:e}=fy(J,{formItemContext:U}),v=a=>{N(gs,a),Ii(()=>N("change",a))};xo(()=>{const a=_e.value.querySelectorAll("[type=radio]"),C=a[0];!Array.from(a).some(w=>w.checked)&&C&&(C.tabIndex=0)});const E=sn(()=>J.name||be.value);return Bo(jA,xs({...Pd(J),changeEvent:v,name:E})),ja(()=>J.modelValue,()=>{J.validateEvent&&(U==null||U.validate("change").catch(a=>void 0))}),(a,C)=>(Wn(),Oa("div",{id:Ar(B),ref_key:"radioGroupRef",ref:_e,class:ua(Ar(oe).b("group")),role:"radiogroup","aria-label":Ar(e)?void 0:a.label||"radio-group","aria-labelledby":Ar(e)?Ar(U).labelId:void 0},[ti(a.$slots,"default")],10,fU))}});var XA=Si(hU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const dU=ks(nU,{RadioButton:ZA,RadioGroup:XA}),vU=Rl(XA);Rl(ZA);const KA=Zi({type:{type:String,values:["success","info","warning","danger",""],default:""},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:{type:String,default:""},size:{type:String,values:a0,default:""},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),pU={close:P=>P instanceof MouseEvent,click:P=>P instanceof MouseEvent},gU=Ca({name:"ElTag"}),yU=Ca({...gU,props:KA,emits:pU,setup(P,{emit:N}){const J=P,oe=Fh(),be=li("tag"),_e=sn(()=>{const{type:e,hit:v,effect:E,closable:a,round:C}=J;return[be.b(),be.is("closable",a),be.m(e),be.m(oe.value),be.m(E),be.is("hit",v),be.is("round",C)]}),U=e=>{N("close",e)},B=e=>{N("click",e)};return(e,v)=>e.disableTransitions?(Wn(),Oa("span",{key:0,class:ua(Ar(_e)),style:ao({backgroundColor:e.color}),onClick:B},[za("span",{class:ua(Ar(be).e("content"))},[ti(e.$slots,"default")],2),e.closable?(Wn(),ri(Ar(bu),{key:0,class:ua(Ar(be).e("close")),onClick:Cl(U,["stop"])},{default:Ea(()=>[Ia(Ar(Km))]),_:1},8,["class","onClick"])):ai("v-if",!0)],6)):(Wn(),ri(nf,{key:1,name:`${Ar(be).namespace.value}-zoom-in-center`,appear:""},{default:Ea(()=>[za("span",{class:ua(Ar(_e)),style:ao({backgroundColor:e.color}),onClick:B},[za("span",{class:ua(Ar(be).e("content"))},[ti(e.$slots,"default")],2),e.closable?(Wn(),ri(Ar(bu),{key:0,class:ua(Ar(be).e("close")),onClick:Cl(U,["stop"])},{default:Ea(()=>[Ia(Ar(Km))]),_:1},8,["class","onClick"])):ai("v-if",!0)],6)]),_:3},8,["name"]))}});var mU=Si(yU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tag/src/tag.vue"]]);const xU=ks(mU),$A=Symbol("rowContextKey"),bU=["start","center","end","space-around","space-between","space-evenly"],wU=["top","middle","bottom"],TU=Zi({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:bU,default:"start"},align:{type:String,values:wU,default:"top"}}),AU=Ca({name:"ElRow"}),MU=Ca({...AU,props:TU,setup(P){const N=P,J=li("row"),oe=sn(()=>N.gutter);Bo($A,{gutter:oe});const be=sn(()=>{const U={};return N.gutter&&(U.marginRight=U.marginLeft=`-${N.gutter/2}px`),U}),_e=sn(()=>[J.b(),J.is(`justify-${N.justify}`,N.justify!=="start"),J.is(`align-${N.align}`,N.align!=="top")]);return(U,B)=>(Wn(),ri(Kl(U.tag),{class:ua(Ar(_e)),style:ao(Ar(be))},{default:Ea(()=>[ti(U.$slots,"default")]),_:3},8,["class","style"]))}});var SU=Si(MU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/row/src/row.vue"]]);const EU=ks(SU),CU=Zi({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:oi([Number,Object]),default:()=>Sh({})},sm:{type:oi([Number,Object]),default:()=>Sh({})},md:{type:oi([Number,Object]),default:()=>Sh({})},lg:{type:oi([Number,Object]),default:()=>Sh({})},xl:{type:oi([Number,Object]),default:()=>Sh({})}}),LU=Ca({name:"ElCol"}),_U=Ca({...LU,props:CU,setup(P){const N=P,{gutter:J}=si($A,{gutter:sn(()=>0)}),oe=li("col"),be=sn(()=>{const U={};return J.value&&(U.paddingLeft=U.paddingRight=`${J.value/2}px`),U}),_e=sn(()=>{const U=[];return["span","offset","pull","push"].forEach(v=>{const E=N[v];qo(E)&&(v==="span"?U.push(oe.b(`${N[v]}`)):E>0&&U.push(oe.b(`${v}-${N[v]}`)))}),["xs","sm","md","lg","xl"].forEach(v=>{qo(N[v])?U.push(oe.b(`${v}-${N[v]}`)):Ei(N[v])&&Object.entries(N[v]).forEach(([E,a])=>{U.push(E!=="span"?oe.b(`${v}-${E}-${a}`):oe.b(`${v}-${a}`))})}),J.value&&U.push(oe.is("guttered")),[oe.b(),U]});return(U,B)=>(Wn(),ri(Kl(U.tag),{class:ua(Ar(_e)),style:ao(Ar(be))},{default:Ea(()=>[ti(U.$slots,"default")]),_:3},8,["class","style"]))}});var PU=Si(_U,[["__file","/home/runner/work/element-plus/element-plus/packages/components/col/src/col.vue"]]);const RU=ks(PU),IU=Ca({name:"ElCollapseTransition"}),DU=Ca({...IU,setup(P){const N=li("collapse-transition"),J={beforeEnter(oe){oe.dataset||(oe.dataset={}),oe.dataset.oldPaddingTop=oe.style.paddingTop,oe.dataset.oldPaddingBottom=oe.style.paddingBottom,oe.style.maxHeight=0,oe.style.paddingTop=0,oe.style.paddingBottom=0},enter(oe){oe.dataset.oldOverflow=oe.style.overflow,oe.scrollHeight!==0?(oe.style.maxHeight=`${oe.scrollHeight}px`,oe.style.paddingTop=oe.dataset.oldPaddingTop,oe.style.paddingBottom=oe.dataset.oldPaddingBottom):(oe.style.maxHeight=0,oe.style.paddingTop=oe.dataset.oldPaddingTop,oe.style.paddingBottom=oe.dataset.oldPaddingBottom),oe.style.overflow="hidden"},afterEnter(oe){oe.style.maxHeight="",oe.style.overflow=oe.dataset.oldOverflow},beforeLeave(oe){oe.dataset||(oe.dataset={}),oe.dataset.oldPaddingTop=oe.style.paddingTop,oe.dataset.oldPaddingBottom=oe.style.paddingBottom,oe.dataset.oldOverflow=oe.style.overflow,oe.style.maxHeight=`${oe.scrollHeight}px`,oe.style.overflow="hidden"},leave(oe){oe.scrollHeight!==0&&(oe.style.maxHeight=0,oe.style.paddingTop=0,oe.style.paddingBottom=0)},afterLeave(oe){oe.style.maxHeight="",oe.style.overflow=oe.dataset.oldOverflow,oe.style.paddingTop=oe.dataset.oldPaddingTop,oe.style.paddingBottom=oe.dataset.oldPaddingBottom}};return(oe,be)=>(Wn(),ri(nf,Nf({name:Ar(N).b()},SS(J)),{default:Ea(()=>[ti(oe.$slots,"default")]),_:3},16,["name"]))}});var vg=Si(DU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);vg.install=P=>{P.component(vg.name,vg)};const kU=vg,FU=Ca({name:"ElContainer"}),OU=Ca({...FU,props:{direction:{type:String}},setup(P){const N=P,J=qp(),oe=li("container"),be=sn(()=>N.direction==="vertical"?!0:N.direction==="horizontal"?!1:J&&J.default?J.default().some(U=>{const B=U.type.name;return B==="ElHeader"||B==="ElFooter"}):!1);return(_e,U)=>(Wn(),Oa("section",{class:ua([Ar(oe).b(),Ar(oe).is("vertical",Ar(be))])},[ti(_e.$slots,"default")],2))}});var zU=Si(OU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);const BU=Ca({name:"ElAside"}),NU=Ca({...BU,props:{width:{type:String,default:null}},setup(P){const N=P,J=li("aside"),oe=sn(()=>N.width?J.cssVarBlock({width:N.width}):{});return(be,_e)=>(Wn(),Oa("aside",{class:ua(Ar(J).b()),style:ao(Ar(oe))},[ti(be.$slots,"default")],6))}});var JA=Si(NU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/aside.vue"]]);const UU=Ca({name:"ElFooter"}),HU=Ca({...UU,props:{height:{type:String,default:null}},setup(P){const N=P,J=li("footer"),oe=sn(()=>N.height?J.cssVarBlock({height:N.height}):{});return(be,_e)=>(Wn(),Oa("footer",{class:ua(Ar(J).b()),style:ao(Ar(oe))},[ti(be.$slots,"default")],6))}});var QA=Si(HU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/footer.vue"]]);const VU=Ca({name:"ElHeader"}),GU=Ca({...VU,props:{height:{type:String,default:null}},setup(P){const N=P,J=li("header"),oe=sn(()=>N.height?J.cssVarBlock({height:N.height}):{});return(be,_e)=>(Wn(),Oa("header",{class:ua(Ar(J).b()),style:ao(Ar(oe))},[ti(be.$slots,"default")],6))}});var qA=Si(GU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/header.vue"]]);const WU=Ca({name:"ElMain"}),jU=Ca({...WU,setup(P){const N=li("main");return(J,oe)=>(Wn(),Oa("main",{class:ua(Ar(N).b())},[ti(J.$slots,"default")],2))}});var e4=Si(jU,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/main.vue"]]);const YU=ks(zU,{Aside:JA,Footer:QA,Header:qA,Main:e4});Rl(JA);Rl(QA);const ZU=Rl(qA),XU=Rl(e4);let KU=class{constructor(N,J){this.parent=N,this.domNode=J,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(N){N===this.subMenuItems.length?N=0:N<0&&(N=this.subMenuItems.length-1),this.subMenuItems[N].focus(),this.subIndex=N}addListeners(){const N=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,J=>{J.addEventListener("keydown",oe=>{let be=!1;switch(oe.code){case Rs.down:{this.gotoSubIndex(this.subIndex+1),be=!0;break}case Rs.up:{this.gotoSubIndex(this.subIndex-1),be=!0;break}case Rs.tab:{ug(N,"mouseleave");break}case Rs.enter:case Rs.space:{be=!0,oe.currentTarget.click();break}}return be&&(oe.preventDefault(),oe.stopPropagation()),!1})})}},$U=class{constructor(N,J){this.domNode=N,this.submenu=null,this.submenu=null,this.init(J)}init(N){this.domNode.setAttribute("tabindex","0");const J=this.domNode.querySelector(`.${N}-menu`);J&&(this.submenu=new KU(this,J)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",N=>{let J=!1;switch(N.code){case Rs.down:{ug(N.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),J=!0;break}case Rs.up:{ug(N.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),J=!0;break}case Rs.tab:{ug(N.currentTarget,"mouseleave");break}case Rs.enter:case Rs.space:{J=!0,N.currentTarget.click();break}}J&&N.preventDefault()})}},JU=class{constructor(N,J){this.domNode=N,this.init(J)}init(N){const J=this.domNode.childNodes;Array.from(J).forEach(oe=>{oe.nodeType===1&&new $U(oe,N)})}};const QU=Ca({name:"ElMenuCollapseTransition",setup(){const P=li("menu");return{listeners:{onBeforeEnter:J=>J.style.opacity="0.2",onEnter(J,oe){W0(J,`${P.namespace.value}-opacity-transition`),J.style.opacity="1",oe()},onAfterEnter(J){lm(J,`${P.namespace.value}-opacity-transition`),J.style.opacity=""},onBeforeLeave(J){J.dataset||(J.dataset={}),CD(J,P.m("collapse"))?(lm(J,P.m("collapse")),J.dataset.oldOverflow=J.style.overflow,J.dataset.scrollWidth=J.clientWidth.toString(),W0(J,P.m("collapse"))):(W0(J,P.m("collapse")),J.dataset.oldOverflow=J.style.overflow,J.dataset.scrollWidth=J.clientWidth.toString(),lm(J,P.m("collapse"))),J.style.width=`${J.scrollWidth}px`,J.style.overflow="hidden"},onLeave(J){W0(J,"horizontal-collapse-transition"),J.style.width=`${J.dataset.scrollWidth}px`}}}}});function qU(P,N,J,oe,be,_e){return Wn(),ri(nf,Nf({mode:"out-in"},P.listeners),{default:Ea(()=>[ti(P.$slots,"default")]),_:3},16)}var eH=Si(QU,[["render",qU],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function t4(P,N){const J=sn(()=>{let be=P.parent;const _e=[N.value];for(;be.type.name!=="ElMenu";)be.props.index&&_e.unshift(be.props.index),be=be.parent;return _e});return{parentMenu:sn(()=>{let be=P.parent;for(;be&&!["ElMenu","ElSubMenu"].includes(be.type.name);)be=be.parent;return be}),indexPath:J}}function tH(P){return sn(()=>{const J=P.backgroundColor;return J?new MN(J).shade(20).toString():""})}const r4=(P,N)=>{const J=li("menu");return sn(()=>J.cssVarBlock({"text-color":P.textColor||"","hover-text-color":P.textColor||"","bg-color":P.backgroundColor||"","hover-bg-color":tH(P).value||"","active-color":P.activeTextColor||"",level:`${N}`}))},rH=Zi({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:Ec},expandOpenIcon:{type:Ec},collapseCloseIcon:{type:Ec},collapseOpenIcon:{type:Ec}}),q0="ElSubMenu";var px=Ca({name:q0,props:rH,setup(P,{slots:N,expose:J}){q5({from:"popper-append-to-body",replacement:"teleported",scope:q0,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},sn(()=>P.popperAppendToBody!==void 0));const oe=bs(),{indexPath:be,parentMenu:_e}=t4(oe,sn(()=>P.index)),U=li("menu"),B=li("sub-menu"),e=si("rootMenu");e||Lv(q0,"can not inject root menu");const v=si(`subMenu:${_e.value.uid}`);v||Lv(q0,"can not inject sub menu");const E=ra({}),a=ra({});let C;const w=ra(!1),d=ra(),p=ra(null),t=sn(()=>l.value==="horizontal"&&c.value?"bottom-start":"right-start"),r=sn(()=>l.value==="horizontal"&&c.value||l.value==="vertical"&&!e.props.collapse?P.expandCloseIcon&&P.expandOpenIcon?i.value?P.expandOpenIcon:P.expandCloseIcon:Y5:P.collapseCloseIcon&&P.collapseOpenIcon?i.value?P.collapseOpenIcon:P.collapseCloseIcon:ND),c=sn(()=>v.level===0),o=sn(()=>{var _;const A=(_=P.teleported)!=null?_:P.popperAppendToBody;return A===void 0?c.value:A}),n=sn(()=>e.props.collapse?`${U.namespace.value}-zoom-in-left`:`${U.namespace.value}-zoom-in-top`),u=sn(()=>l.value==="horizontal"&&c.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),i=sn(()=>e.openedMenus.includes(P.index)),g=sn(()=>{let _=!1;return Object.values(E.value).forEach(A=>{A.active&&(_=!0)}),Object.values(a.value).forEach(A=>{A.active&&(_=!0)}),_}),h=sn(()=>e.props.backgroundColor||""),x=sn(()=>e.props.activeTextColor||""),f=sn(()=>e.props.textColor||""),l=sn(()=>e.props.mode),y=xs({index:P.index,indexPath:be,active:g}),T=r4(e.props,v.level+1),S=sn(()=>l.value!=="horizontal"?{color:f.value}:{borderBottomColor:g.value?e.props.activeTextColor?x.value:"":"transparent",color:g.value?x.value:f.value}),L=()=>{var _,A,D;return(D=(A=(_=p.value)==null?void 0:_.popperRef)==null?void 0:A.popperInstanceRef)==null?void 0:D.destroy()},m=_=>{_||L()},M=()=>{e.props.menuTrigger==="hover"&&e.props.mode==="horizontal"||e.props.collapse&&e.props.mode==="vertical"||P.disabled||e.handleSubMenuClick({index:P.index,indexPath:be.value,active:g.value})},b=(_,A=P.showTimeout)=>{var D;_.type!=="focus"&&(e.props.menuTrigger==="click"&&e.props.mode==="horizontal"||!e.props.collapse&&e.props.mode==="vertical"||P.disabled||(v.mouseInChild.value=!0,C==null||C(),{stop:C}=Nm(()=>{e.openMenu(P.index,be.value)},A),o.value&&((D=_e.value.vnode.el)==null||D.dispatchEvent(new MouseEvent("mouseenter")))))},s=(_=!1)=>{var A,D;e.props.menuTrigger==="click"&&e.props.mode==="horizontal"||!e.props.collapse&&e.props.mode==="vertical"||(C==null||C(),v.mouseInChild.value=!1,{stop:C}=Nm(()=>!w.value&&e.closeMenu(P.index,be.value),P.hideTimeout),o.value&&_&&((A=oe.parent)==null?void 0:A.type.name)==="ElSubMenu"&&((D=v.handleMouseleave)==null||D.call(v,!0)))};ja(()=>e.props.collapse,_=>m(!!_));{const _=D=>{a.value[D.index]=D},A=D=>{delete a.value[D.index]};Bo(`subMenu:${oe.uid}`,{addSubMenu:_,removeSubMenu:A,handleMouseleave:s,mouseInChild:w,level:v.level+1})}return J({opened:i}),xo(()=>{e.addSubMenu(y),v.addSubMenu(y)}),$s(()=>{v.removeSubMenu(y),e.removeSubMenu(y)}),()=>{var _;const A=[(_=N.title)==null?void 0:_.call(N),zo(bu,{class:B.e("icon-arrow"),style:{transform:i.value?P.expandCloseIcon&&P.expandOpenIcon||P.collapseCloseIcon&&P.collapseOpenIcon&&e.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ci(r.value)?zo(oe.appContext.components[r.value]):zo(r.value)})],D=e.isMenuPopup?zo(vx,{ref:p,visible:i.value,effect:"light",pure:!0,offset:P.popperOffset,showArrow:!1,persistent:!0,popperClass:P.popperClass,placement:t.value,teleported:o.value,fallbackPlacements:u.value,transition:n.value,gpuAcceleration:!1},{content:()=>{var F;return zo("div",{class:[U.m(l.value),U.m("popup-container"),P.popperClass],onMouseenter:G=>b(G,100),onMouseleave:()=>s(!0),onFocus:G=>b(G,100)},[zo("ul",{class:[U.b(),U.m("popup"),U.m(`popup-${t.value}`)],style:T.value},[(F=N.default)==null?void 0:F.call(N)])])},default:()=>zo("div",{class:B.e("title"),style:[S.value,{backgroundColor:h.value}],onClick:M},A)}):zo(qi,{},[zo("div",{class:B.e("title"),style:[S.value,{backgroundColor:h.value}],ref:d,onClick:M},A),zo(kU,{},{default:()=>{var F;return ys(zo("ul",{role:"menu",class:[U.b(),U.m("inline")],style:T.value},[(F=N.default)==null?void 0:F.call(N)]),[[Fc,i.value]])}})]);return zo("li",{class:[B.b(),B.is("active",g.value),B.is("opened",i.value),B.is("disabled",P.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:i.value,onMouseenter:b,onMouseleave:()=>s(!0),onFocus:b},[D])}}});const nH=Zi({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:oi(Array),default:()=>Sh([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperEffect:{type:String,values:["dark","light"],default:"dark"}}),pm=P=>Array.isArray(P)&&P.every(N=>ci(N)),aH={close:(P,N)=>ci(P)&&pm(N),open:(P,N)=>ci(P)&&pm(N),select:(P,N,J,oe)=>ci(P)&&pm(N)&&Ei(J)&&(oe===void 0||oe instanceof Promise)};var iH=Ca({name:"ElMenu",props:nH,emits:aH,setup(P,{emit:N,slots:J,expose:oe}){const be=bs(),_e=be.appContext.config.globalProperties.$router,U=ra(),B=li("menu"),e=li("sub-menu"),v=ra(-1),E=ra(P.defaultOpeneds&&!P.collapse?P.defaultOpeneds.slice(0):[]),a=ra(P.defaultActive),C=ra({}),w=ra({}),d=sn(()=>P.mode==="horizontal"||P.mode==="vertical"&&P.collapse),p=()=>{const l=a.value&&C.value[a.value];if(!l||P.mode==="horizontal"||P.collapse)return;l.indexPath.forEach(T=>{const S=w.value[T];S&&t(T,S.indexPath)})},t=(l,y)=>{E.value.includes(l)||(P.uniqueOpened&&(E.value=E.value.filter(T=>y.includes(T))),E.value.push(l),N("open",l,y))},r=l=>{const y=E.value.indexOf(l);y!==-1&&E.value.splice(y,1)},c=(l,y)=>{r(l),N("close",l,y)},o=({index:l,indexPath:y})=>{E.value.includes(l)?c(l,y):t(l,y)},n=l=>{(P.mode==="horizontal"||P.collapse)&&(E.value=[]);const{index:y,indexPath:T}=l;if(!(Ev(y)||Ev(T)))if(P.router&&_e){const S=l.route||y,L=_e.push(S).then(m=>(m||(a.value=y),m));N("select",y,T,{index:y,indexPath:T,route:S},L)}else a.value=y,N("select",y,T,{index:y,indexPath:T})},u=l=>{const y=C.value,T=y[l]||a.value&&y[a.value]||y[P.defaultActive];T?a.value=T.index:a.value=l},i=()=>{var l,y;if(!U.value)return-1;const T=Array.from((y=(l=U.value)==null?void 0:l.childNodes)!=null?y:[]).filter(_=>_.nodeName!=="#comment"&&(_.nodeName!=="#text"||_.nodeValue)),S=64,L=Number.parseInt(getComputedStyle(U.value).paddingLeft,10),m=Number.parseInt(getComputedStyle(U.value).paddingRight,10),M=U.value.clientWidth-L-m;let b=0,s=0;return T.forEach((_,A)=>{b+=_.offsetWidth||0,b<=M-S&&(s=A+1)}),s===T.length?-1:s},g=(l,y=33.34)=>{let T;return()=>{T&&clearTimeout(T),T=setTimeout(()=>{l()},y)}};let h=!0;const x=()=>{const l=()=>{v.value=-1,Ii(()=>{v.value=i()})};h?l():g(l)(),h=!1};ja(()=>P.defaultActive,l=>{C.value[l]||(a.value=""),u(l)}),ja(()=>P.collapse,l=>{l&&(E.value=[])}),ja(C.value,p);let f;qw(()=>{P.mode==="horizontal"&&P.ellipsis?f=Rd(U,x).stop:f==null||f()});{const l=L=>{w.value[L.index]=L},y=L=>{delete w.value[L.index]};Bo("rootMenu",xs({props:P,openedMenus:E,items:C,subMenus:w,activeIndex:a,isMenuPopup:d,addMenuItem:L=>{C.value[L.index]=L},removeMenuItem:L=>{delete C.value[L.index]},addSubMenu:l,removeSubMenu:y,openMenu:t,closeMenu:c,handleMenuItemClick:n,handleSubMenuClick:o})),Bo(`subMenu:${be.uid}`,{addSubMenu:l,removeSubMenu:y,mouseInChild:ra(!1),level:0})}return xo(()=>{P.mode==="horizontal"&&new JU(be.vnode.el,B.namespace.value)}),oe({open:y=>{const{indexPath:T}=w.value[y];T.forEach(S=>t(S,T))},close:r,handleResize:x}),()=>{var l,y;let T=(y=(l=J.default)==null?void 0:l.call(J))!=null?y:[];const S=[];if(P.mode==="horizontal"&&U.value){const M=cg(T),b=v.value===-1?M:M.slice(0,v.value),s=v.value===-1?[]:M.slice(v.value);s!=null&&s.length&&P.ellipsis&&(T=b,S.push(zo(px,{index:"sub-menu-more",class:e.e("hide-arrow")},{title:()=>zo(bu,{class:e.e("icon-more")},{default:()=>zo(Ik)}),default:()=>s})))}const L=r4(P,0),m=zo("ul",{key:String(P.collapse),role:"menubar",ref:U,style:L.value,class:{[B.b()]:!0,[B.m(P.mode)]:!0,[B.m("collapse")]:P.collapse}},[...T,...S]);return P.collapseTransition&&P.mode==="vertical"?zo(eH,()=>m):m}}});const oH=Zi({index:{type:oi([String,null]),default:null},route:{type:oi([String,Object])},disabled:Boolean}),sH={click:P=>ci(P.index)&&Array.isArray(P.indexPath)},gm="ElMenuItem",lH=Ca({name:gm,components:{ElTooltip:vx},props:oH,emits:sH,setup(P,{emit:N}){const J=bs(),oe=si("rootMenu"),be=li("menu"),_e=li("menu-item");oe||Lv(gm,"can not inject root menu");const{parentMenu:U,indexPath:B}=t4(J,zf(P,"index")),e=si(`subMenu:${U.value.uid}`);e||Lv(gm,"can not inject sub menu");const v=sn(()=>P.index===oe.activeIndex),E=xs({index:P.index,indexPath:B,active:v}),a=()=>{P.disabled||(oe.handleMenuItemClick({index:P.index,indexPath:B.value,route:P.route}),N("click",E))};return xo(()=>{e.addSubMenu(E),oe.addMenuItem(E)}),$s(()=>{e.removeSubMenu(E),oe.removeMenuItem(E)}),{parentMenu:U,rootMenu:oe,active:v,nsMenu:be,nsMenuItem:_e,handleClick:a}}});function uH(P,N,J,oe,be,_e){const U=qu("el-tooltip");return Wn(),Oa("li",{class:ua([P.nsMenuItem.b(),P.nsMenuItem.is("active",P.active),P.nsMenuItem.is("disabled",P.disabled)]),role:"menuitem",tabindex:"-1",onClick:N[0]||(N[0]=(...B)=>P.handleClick&&P.handleClick(...B))},[P.parentMenu.type.name==="ElMenu"&&P.rootMenu.props.collapse&&P.$slots.title?(Wn(),ri(U,{key:0,effect:P.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:Ea(()=>[ti(P.$slots,"title")]),default:Ea(()=>[za("div",{class:ua(P.nsMenu.be("tooltip","trigger"))},[ti(P.$slots,"default")],2)]),_:3},8,["effect"])):(Wn(),Oa(qi,{key:1},[ti(P.$slots,"default"),ti(P.$slots,"title")],64))],2)}var n4=Si(lH,[["render",uH],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const fH={title:String},cH="ElMenuItemGroup",hH=Ca({name:cH,props:fH,setup(){return{ns:li("menu-item-group")}}});function dH(P,N,J,oe,be,_e){return Wn(),Oa("li",{class:ua(P.ns.b())},[za("div",{class:ua(P.ns.e("title"))},[P.$slots.title?ti(P.$slots,"title",{key:1}):(Wn(),Oa(qi,{key:0},[Ps(Io(P.title),1)],64))],2),za("ul",null,[ti(P.$slots,"default")])],2)}var a4=Si(hH,[["render",dH],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const vH=ks(iH,{MenuItem:n4,MenuItemGroup:a4,SubMenu:px}),pH=Rl(n4);Rl(a4);Rl(px);const i4=Symbol("ElSelectGroup"),hy=Symbol("ElSelect");function gH(P,N){const J=si(hy),oe=si(i4,{disabled:!1}),be=sn(()=>Object.prototype.toString.call(P.value).toLowerCase()==="[object object]"),_e=sn(()=>J.props.multiple?a(J.props.modelValue,P.value):C(P.value,J.props.modelValue)),U=sn(()=>{if(J.props.multiple){const p=J.props.modelValue||[];return!_e.value&&p.length>=J.props.multipleLimit&&J.props.multipleLimit>0}else return!1}),B=sn(()=>P.label||(be.value?"":P.value)),e=sn(()=>P.value||P.label||""),v=sn(()=>P.disabled||N.groupDisabled||U.value),E=bs(),a=(p=[],t)=>{if(be.value){const r=J.props.valueKey;return p&&p.some(c=>Mi(Xl(c,r))===Xl(t,r))}else return p&&p.includes(t)},C=(p,t)=>{if(be.value){const{valueKey:r}=J.props;return Xl(p,r)===Xl(t,r)}else return p===t},w=()=>{!P.disabled&&!oe.disabled&&(J.hoverIndex=J.optionsArray.indexOf(E.proxy))};ja(()=>B.value,()=>{!P.created&&!J.props.remote&&J.setSelected()}),ja(()=>P.value,(p,t)=>{const{remote:r,valueKey:c}=J.props;if(Object.is(p,t)||(J.onOptionDestroy(t,E.proxy),J.onOptionCreate(E.proxy)),!P.created&&!r){if(c&&typeof p=="object"&&typeof t=="object"&&p[c]===t[c])return;J.setSelected()}}),ja(()=>oe.disabled,()=>{N.groupDisabled=oe.disabled},{immediate:!0});const{queryChange:d}=Mi(J);return ja(d,p=>{const{query:t}=Ar(p),r=new RegExp(SD(t),"i");N.visible=r.test(B.value)||P.created,N.visible||J.filteredOptionsCount--},{immediate:!0}),{select:J,currentLabel:B,currentValue:e,itemSelected:_e,isDisabled:v,hoverItem:w}}const yH=Ca({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},setup(P){const N=li("select"),J=xs({index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}),{currentLabel:oe,itemSelected:be,isDisabled:_e,select:U,hoverItem:B}=gH(P,J),{visible:e,hover:v}=Pd(J),E=bs().proxy;U.onOptionCreate(E),$s(()=>{const C=E.value,{selected:w}=U,p=(U.props.multiple?w:[w]).some(t=>t.value===E.value);Ii(()=>{U.cachedOptions.get(C)===E&&!p&&U.cachedOptions.delete(C)}),U.onOptionDestroy(C,E)});function a(){P.disabled!==!0&&J.groupDisabled!==!0&&U.handleOptionSelect(E,!0)}return{ns:N,currentLabel:oe,itemSelected:be,isDisabled:_e,select:U,hoverItem:B,visible:e,hover:v,selectOptionClick:a,states:J}}});function mH(P,N,J,oe,be,_e){return ys((Wn(),Oa("li",{class:ua([P.ns.be("dropdown","item"),P.ns.is("disabled",P.isDisabled),{selected:P.itemSelected,hover:P.hover}]),onMouseenter:N[0]||(N[0]=(...U)=>P.hoverItem&&P.hoverItem(...U)),onClick:N[1]||(N[1]=Cl((...U)=>P.selectOptionClick&&P.selectOptionClick(...U),["stop"]))},[ti(P.$slots,"default",{},()=>[za("span",null,Io(P.currentLabel),1)])],34)),[[Fc,P.visible]])}var gx=Si(yH,[["render",mH],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option.vue"]]);const xH=Ca({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const P=si(hy),N=li("select"),J=sn(()=>P.props.popperClass),oe=sn(()=>P.props.multiple),be=sn(()=>P.props.fitInputWidth),_e=ra("");function U(){var B;_e.value=`${(B=P.selectWrapper)==null?void 0:B.offsetWidth}px`}return xo(()=>{U(),Rd(P.selectWrapper,U)}),{ns:N,minWidth:_e,popperClass:J,isMultiple:oe,isFitInputWidth:be}}});function bH(P,N,J,oe,be,_e){return Wn(),Oa("div",{class:ua([P.ns.b("dropdown"),P.ns.is("multiple",P.isMultiple),P.popperClass]),style:ao({[P.isFitInputWidth?"width":"minWidth"]:P.minWidth})},[ti(P.$slots,"default")],6)}var wH=Si(xH,[["render",bH],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select-dropdown.vue"]]);function TH(P){const{t:N}=oy();return xs({options:new Map,cachedOptions:new Map,createdLabel:null,createdSelected:!1,selected:P.multiple?[]:{},inputLength:20,inputWidth:0,optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,cachedPlaceHolder:"",currentPlaceholder:N("el.select.placeholder"),menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1,prefixWidth:11,tagInMultiLine:!1,mouseEnter:!1})}const AH=(P,N,J)=>{const{t:oe}=oy(),be=li("select");q5({from:"suffixTransition",replacement:"override style scheme",version:"2.3.0",scope:"props",ref:"https://element-plus.org/en-US/component/select.html#select-attributes"},sn(()=>P.suffixTransition===!1));const _e=ra(null),U=ra(null),B=ra(null),e=ra(null),v=ra(null),E=ra(null),a=ra(null),C=ra(-1),w=_h({query:""}),d=_h(""),p=ra([]);let t=0;const{form:r,formItem:c}=Vv(),o=sn(()=>!P.filterable||P.multiple||!N.visible),n=sn(()=>P.disabled||(r==null?void 0:r.disabled)),u=sn(()=>{const Fe=P.multiple?Array.isArray(P.modelValue)&&P.modelValue.length>0:P.modelValue!==void 0&&P.modelValue!==null&&P.modelValue!=="";return P.clearable&&!n.value&&N.inputHovering&&Fe}),i=sn(()=>P.remote&&P.filterable&&!P.remoteShowSuffix?"":P.suffixIcon),g=sn(()=>be.is("reverse",i.value&&N.visible&&P.suffixTransition)),h=sn(()=>P.remote?300:0),x=sn(()=>P.loading?P.loadingText||oe("el.select.loading"):P.remote&&N.query===""&&N.options.size===0?!1:P.filterable&&N.query&&N.options.size>0&&N.filteredOptionsCount===0?P.noMatchText||oe("el.select.noMatch"):N.options.size===0?P.noDataText||oe("el.select.noData"):null),f=sn(()=>{const Fe=Array.from(N.options.values()),qe=[];return p.value.forEach(Qe=>{const Je=Fe.findIndex(tt=>tt.currentLabel===Qe);Je>-1&&qe.push(Fe[Je])}),qe.length?qe:Fe}),l=sn(()=>Array.from(N.cachedOptions.values())),y=sn(()=>{const Fe=f.value.filter(qe=>!qe.created).some(qe=>qe.currentLabel===N.query);return P.filterable&&P.allowCreate&&N.query!==""&&!Fe}),T=Fh(),S=sn(()=>["small"].includes(T.value)?"small":"default"),L=sn({get(){return N.visible&&x.value!==!1},set(Fe){N.visible=Fe}});ja([()=>n.value,()=>T.value,()=>r==null?void 0:r.size],()=>{Ii(()=>{m()})}),ja(()=>P.placeholder,Fe=>{N.cachedPlaceHolder=N.currentPlaceholder=Fe,P.multiple&&Array.isArray(P.modelValue)&&P.modelValue.length>0&&(N.currentPlaceholder="")}),ja(()=>P.modelValue,(Fe,qe)=>{P.multiple&&(m(),Fe&&Fe.length>0||U.value&&N.query!==""?N.currentPlaceholder="":N.currentPlaceholder=N.cachedPlaceHolder,P.filterable&&!P.reserveKeyword&&(N.query="",M(N.query))),_(),P.filterable&&!P.multiple&&(N.inputLength=20),!Xm(Fe,qe)&&P.validateEvent&&(c==null||c.validate("change").catch(Qe=>void 0))},{flush:"post",deep:!0}),ja(()=>N.visible,Fe=>{var qe,Qe,Je,tt,ht;Fe?((Qe=(qe=e.value)==null?void 0:qe.updatePopper)==null||Qe.call(qe),P.filterable&&(N.filteredOptionsCount=N.optionsCount,N.query=P.remote?"":N.selectedLabel,(tt=(Je=B.value)==null?void 0:Je.focus)==null||tt.call(Je),P.multiple?(ht=U.value)==null||ht.focus():N.selectedLabel&&(N.currentPlaceholder=`${N.selectedLabel}`,N.selectedLabel=""),M(N.query),!P.multiple&&!P.remote&&(w.value.query="",hp(w),hp(d)))):(P.filterable&&(Qa(P.filterMethod)&&P.filterMethod(""),Qa(P.remoteMethod)&&P.remoteMethod("")),U.value&&U.value.blur(),N.query="",N.previousQuery=null,N.selectedLabel="",N.inputLength=20,N.menuVisibleOnFocus=!1,D(),Ii(()=>{U.value&&U.value.value===""&&N.selected.length===0&&(N.currentPlaceholder=N.cachedPlaceHolder)}),P.multiple||(N.selected&&(P.filterable&&P.allowCreate&&N.createdSelected&&N.createdLabel?N.selectedLabel=N.createdLabel:N.selectedLabel=N.selected.currentLabel,P.filterable&&(N.query=N.selectedLabel)),P.filterable&&(N.currentPlaceholder=N.cachedPlaceHolder))),J.emit("visible-change",Fe)}),ja(()=>N.options.entries(),()=>{var Fe,qe,Qe;if(!ms)return;(qe=(Fe=e.value)==null?void 0:Fe.updatePopper)==null||qe.call(Fe),P.multiple&&m();const Je=((Qe=E.value)==null?void 0:Qe.querySelectorAll("input"))||[];Array.from(Je).includes(document.activeElement)||_(),P.defaultFirstOption&&(P.filterable||P.remote)&&N.filteredOptionsCount&&s()},{flush:"post"}),ja(()=>N.hoverIndex,Fe=>{qo(Fe)&&Fe>-1?C.value=f.value[Fe]||{}:C.value={},f.value.forEach(qe=>{qe.hover=C.value===qe})});const m=()=>{Ii(()=>{var Fe,qe;if(!_e.value)return;const Qe=_e.value.$el.querySelector("input");t=t||(Qe.clientHeight>0?Qe.clientHeight+2:0);const Je=v.value,tt=eF(T.value||(r==null?void 0:r.size)),ht=T.value||tt===t||t<=0?tt:t;!(Qe.offsetParent===null)&&(Qe.style.height=`${(N.selected.length===0?ht:Math.max(Je?Je.clientHeight+(Je.clientHeight>ht?6:0):0,ht))-2}px`),N.tagInMultiLine=Number.parseFloat(Qe.style.height)>=ht,N.visible&&x.value!==!1&&((qe=(Fe=e.value)==null?void 0:Fe.updatePopper)==null||qe.call(Fe))})},M=async Fe=>{if(!(N.previousQuery===Fe||N.isOnComposition)){if(N.previousQuery===null&&(Qa(P.filterMethod)||Qa(P.remoteMethod))){N.previousQuery=Fe;return}N.previousQuery=Fe,Ii(()=>{var qe,Qe;N.visible&&((Qe=(qe=e.value)==null?void 0:qe.updatePopper)==null||Qe.call(qe))}),N.hoverIndex=-1,P.multiple&&P.filterable&&Ii(()=>{const qe=U.value.value.length*15+20;N.inputLength=P.collapseTags?Math.min(50,qe):qe,b(),m()}),P.remote&&Qa(P.remoteMethod)?(N.hoverIndex=-1,P.remoteMethod(Fe)):Qa(P.filterMethod)?(P.filterMethod(Fe),hp(d)):(N.filteredOptionsCount=N.optionsCount,w.value.query=Fe,hp(w),hp(d)),P.defaultFirstOption&&(P.filterable||P.remote)&&N.filteredOptionsCount&&(await Ii(),s())}},b=()=>{N.currentPlaceholder!==""&&(N.currentPlaceholder=U.value.value?"":N.cachedPlaceHolder)},s=()=>{const Fe=f.value.filter(Je=>Je.visible&&!Je.disabled&&!Je.states.groupDisabled),qe=Fe.find(Je=>Je.created),Qe=Fe[0];N.hoverIndex=ne(f.value,qe||Qe)},_=()=>{var Fe;if(P.multiple)N.selectedLabel="";else{const Qe=A(P.modelValue);(Fe=Qe.props)!=null&&Fe.created?(N.createdLabel=Qe.props.value,N.createdSelected=!0):N.createdSelected=!1,N.selectedLabel=Qe.currentLabel,N.selected=Qe,P.filterable&&(N.query=N.selectedLabel);return}const qe=[];Array.isArray(P.modelValue)&&P.modelValue.forEach(Qe=>{qe.push(A(Qe))}),N.selected=qe,Ii(()=>{m()})},A=Fe=>{let qe;const Qe=eg(Fe).toLowerCase()==="object",Je=eg(Fe).toLowerCase()==="null",tt=eg(Fe).toLowerCase()==="undefined";for(let yt=N.cachedOptions.size-1;yt>=0;yt--){const Et=l.value[yt];if(Qe?Xl(Et.value,P.valueKey)===Xl(Fe,P.valueKey):Et.value===Fe){qe={value:Fe,currentLabel:Et.currentLabel,isDisabled:Et.isDisabled};break}}if(qe)return qe;const ht=Qe?Fe.label:!Je&&!tt?Fe:"",gt={value:Fe,currentLabel:ht};return P.multiple&&(gt.hitState=!1),gt},D=()=>{setTimeout(()=>{const Fe=P.valueKey;P.multiple?N.selected.length>0?N.hoverIndex=Math.min.apply(null,N.selected.map(qe=>f.value.findIndex(Qe=>Xl(Qe,Fe)===Xl(qe,Fe)))):N.hoverIndex=-1:N.hoverIndex=f.value.findIndex(qe=>Oe(qe)===Oe(N.selected))},300)},F=()=>{var Fe,qe;G(),(qe=(Fe=e.value)==null?void 0:Fe.updatePopper)==null||qe.call(Fe),P.multiple&&m()},G=()=>{var Fe;N.inputWidth=(Fe=_e.value)==null?void 0:Fe.$el.offsetWidth},O=()=>{P.filterable&&N.query!==N.selectedLabel&&(N.query=N.selectedLabel,M(N.query))},H=k3(()=>{O()},h.value),z=k3(Fe=>{M(Fe.target.value)},h.value),k=Fe=>{Xm(P.modelValue,Fe)||J.emit(Q1,Fe)},V=Fe=>{if(Fe.code!==Rs.delete){if(Fe.target.value.length<=0&&!re()){const qe=P.modelValue.slice();qe.pop(),J.emit(gs,qe),k(qe)}Fe.target.value.length===1&&P.modelValue.length===0&&(N.currentPlaceholder=N.cachedPlaceHolder)}},Z=(Fe,qe)=>{const Qe=N.selected.indexOf(qe);if(Qe>-1&&!n.value){const Je=P.modelValue.slice();Je.splice(Qe,1),J.emit(gs,Je),k(Je),J.emit("remove-tag",qe.value)}Fe.stopPropagation()},ee=Fe=>{Fe.stopPropagation();const qe=P.multiple?[]:"";if(!ci(qe))for(const Qe of N.selected)Qe.isDisabled&&qe.push(Qe.value);J.emit(gs,qe),k(qe),N.hoverIndex=-1,N.visible=!1,J.emit("clear")},Q=(Fe,qe)=>{var Qe;if(P.multiple){const Je=(P.modelValue||[]).slice(),tt=ne(Je,Fe.value);tt>-1?Je.splice(tt,1):(P.multipleLimit<=0||Je.length{$(Fe)})},ne=(Fe=[],qe)=>{if(!Ei(qe))return Fe.indexOf(qe);const Qe=P.valueKey;let Je=-1;return Fe.some((tt,ht)=>Mi(Xl(tt,Qe))===Xl(qe,Qe)?(Je=ht,!0):!1),Je},fe=()=>{N.softFocus=!0;const Fe=U.value||_e.value;Fe&&(Fe==null||Fe.focus())},$=Fe=>{var qe,Qe,Je,tt,ht;const gt=Array.isArray(Fe)?Fe[0]:Fe;let yt=null;if(gt!=null&>.value){const Et=f.value.filter(Xe=>Xe.value===gt.value);Et.length>0&&(yt=Et[0].$el)}if(e.value&&yt){const Et=(tt=(Je=(Qe=(qe=e.value)==null?void 0:qe.popperRef)==null?void 0:Qe.contentRef)==null?void 0:Je.querySelector)==null?void 0:tt.call(Je,`.${be.be("dropdown","wrap")}`);Et&&LD(Et,yt)}(ht=a.value)==null||ht.handleScroll()},Y=Fe=>{N.optionsCount++,N.filteredOptionsCount++,N.options.set(Fe.value,Fe),N.cachedOptions.set(Fe.value,Fe)},j=(Fe,qe)=>{N.options.get(Fe)===qe&&(N.optionsCount--,N.filteredOptionsCount--,N.options.delete(Fe))},X=Fe=>{Fe.code!==Rs.backspace&&re(!1),N.inputLength=U.value.value.length*15+20,m()},re=Fe=>{if(!Array.isArray(N.selected))return;const qe=N.selected[N.selected.length-1];if(qe)return Fe===!0||Fe===!1?(qe.hitState=Fe,Fe):(qe.hitState=!qe.hitState,qe.hitState)},le=Fe=>{const qe=Fe.target.value;if(Fe.type==="compositionend")N.isOnComposition=!1,Ii(()=>M(qe));else{const Qe=qe[qe.length-1]||"";N.isOnComposition=!Q5(Qe)}},q=()=>{Ii(()=>$(N.selected))},te=Fe=>{N.softFocus?N.softFocus=!1:((P.automaticDropdown||P.filterable)&&(P.filterable&&!N.visible&&(N.menuVisibleOnFocus=!0),N.visible=!0),J.emit("focus",Fe))},ue=()=>{var Fe,qe,Qe;N.visible=!1,(Fe=_e.value)==null||Fe.blur(),(Qe=(qe=B.value)==null?void 0:qe.blur)==null||Qe.call(qe)},ae=Fe=>{Ii(()=>{N.isSilentBlur?N.isSilentBlur=!1:J.emit("blur",Fe)}),N.softFocus=!1},de=Fe=>{ee(Fe)},xe=()=>{N.visible=!1},Se=Fe=>{N.visible&&(Fe.preventDefault(),Fe.stopPropagation(),N.visible=!1)},Ae=Fe=>{var qe;Fe&&!N.mouseEnter||n.value||(N.menuVisibleOnFocus?N.menuVisibleOnFocus=!1:(!e.value||!e.value.isFocusInsideContent())&&(N.visible=!N.visible),N.visible&&((qe=U.value||_e.value)==null||qe.focus()))},Be=()=>{N.visible?f.value[N.hoverIndex]&&Q(f.value[N.hoverIndex],void 0):Ae()},Oe=Fe=>Ei(Fe.value)?Xl(Fe.value,P.valueKey):Fe.value,Ee=sn(()=>f.value.filter(Fe=>Fe.visible).every(Fe=>Fe.disabled)),we=sn(()=>N.selected.slice(0,P.maxCollapseTags)),Ce=sn(()=>N.selected.slice(P.maxCollapseTags)),Ge=Fe=>{if(!N.visible){N.visible=!0;return}if(!(N.options.size===0||N.filteredOptionsCount===0)&&!N.isOnComposition&&!Ee.value){Fe==="next"?(N.hoverIndex++,N.hoverIndex===N.options.size&&(N.hoverIndex=0)):Fe==="prev"&&(N.hoverIndex--,N.hoverIndex<0&&(N.hoverIndex=N.options.size-1));const qe=f.value[N.hoverIndex];(qe.disabled===!0||qe.states.groupDisabled===!0||!qe.visible)&&Ge(Fe),Ii(()=>$(C.value))}};return{optionList:p,optionsArray:f,selectSize:T,handleResize:F,debouncedOnInputChange:H,debouncedQueryChange:z,deletePrevTag:V,deleteTag:Z,deleteSelected:ee,handleOptionSelect:Q,scrollToOption:$,readonly:o,resetInputHeight:m,showClose:u,iconComponent:i,iconReverse:g,showNewOption:y,collapseTagSize:S,setSelected:_,managePlaceholder:b,selectDisabled:n,emptyText:x,toggleLastOptionHitState:re,resetInputState:X,handleComposition:le,onOptionCreate:Y,onOptionDestroy:j,handleMenuEnter:q,handleFocus:te,blur:ue,handleBlur:ae,handleClearClick:de,handleClose:xe,handleKeydownEscape:Se,toggleMenu:Ae,selectOption:Be,getValueKey:Oe,navigateOptions:Ge,dropMenuVisible:L,queryChange:w,groupQueryChange:d,showTagList:we,collapseTagList:Ce,reference:_e,input:U,iOSInput:B,tooltipRef:e,tags:v,selectWrapper:E,scrollbar:a,handleMouseEnter:()=>{N.mouseEnter=!0},handleMouseLeave:()=>{N.mouseEnter=!1}}};var MH=Ca({name:"ElOptions",emits:["update-options"],setup(P,{slots:N,emit:J}){let oe=[];function be(_e,U){if(_e.length!==U.length)return!1;for(const[B]of _e.entries())if(_e[B]!=U[B])return!1;return!0}return()=>{var _e,U;const B=(_e=N.default)==null?void 0:_e.call(N),e=[];function v(E){Array.isArray(E)&&E.forEach(a=>{var C,w,d,p;const t=(C=(a==null?void 0:a.type)||{})==null?void 0:C.name;t==="ElOptionGroup"?v(!ci(a.children)&&!Array.isArray(a.children)&&Qa((w=a.children)==null?void 0:w.default)?(d=a.children)==null?void 0:d.default():a.children):t==="ElOption"?e.push((p=a.props)==null?void 0:p.label):Array.isArray(a.children)&&v(a.children)})}return B.length&&v((U=B[0])==null?void 0:U.children),be(e,oe)||(oe=e,J("update-options",e)),B}}});const xw="ElSelect",SH=Ca({name:xw,componentName:xw,components:{ElInput:Hz,ElSelectMenu:wH,ElOption:gx,ElOptions:MH,ElTag:xU,ElScrollbar:rB,ElTooltip:vx,ElIcon:bu},directives:{ClickOutside:EN},props:{name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:{type:String,validator:tF},effect:{type:String,default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:Object,default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:{type:Boolean,default:!1},maxCollapseTags:{type:Number,default:1},teleported:dx.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Ec,default:J1},fitInputWidth:{type:Boolean,default:!1},suffixIcon:{type:Ec,default:Y5},tagType:{...KA.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:{type:Boolean,default:!1},suffixTransition:{type:Boolean,default:!0},placement:{type:String,values:sy,default:"bottom-start"}},emits:[gs,Q1,"remove-tag","clear","visible-change","focus","blur"],setup(P,N){const J=li("select"),oe=li("input"),{t:be}=oy(),_e=TH(P),{optionList:U,optionsArray:B,selectSize:e,readonly:v,handleResize:E,collapseTagSize:a,debouncedOnInputChange:C,debouncedQueryChange:w,deletePrevTag:d,deleteTag:p,deleteSelected:t,handleOptionSelect:r,scrollToOption:c,setSelected:o,resetInputHeight:n,managePlaceholder:u,showClose:i,selectDisabled:g,iconComponent:h,iconReverse:x,showNewOption:f,emptyText:l,toggleLastOptionHitState:y,resetInputState:T,handleComposition:S,onOptionCreate:L,onOptionDestroy:m,handleMenuEnter:M,handleFocus:b,blur:s,handleBlur:_,handleClearClick:A,handleClose:D,handleKeydownEscape:F,toggleMenu:G,selectOption:O,getValueKey:H,navigateOptions:z,dropMenuVisible:k,reference:V,input:Z,iOSInput:ee,tooltipRef:Q,tags:ne,selectWrapper:fe,scrollbar:$,queryChange:Y,groupQueryChange:j,handleMouseEnter:X,handleMouseLeave:re,showTagList:le,collapseTagList:q}=AH(P,_e,N),{focus:te}=iF(V),{inputWidth:ue,selected:ae,inputLength:de,filteredOptionsCount:xe,visible:Se,softFocus:Ae,selectedLabel:Be,hoverIndex:Oe,query:Ee,inputHovering:we,currentPlaceholder:Ce,menuVisibleOnFocus:Ge,isOnComposition:He,isSilentBlur:De,options:Fe,cachedOptions:qe,optionsCount:Qe,prefixWidth:Je,tagInMultiLine:tt}=Pd(_e),ht=sn(()=>{const Ue=[J.b()],ze=Ar(e);return ze&&Ue.push(J.m(ze)),P.disabled&&Ue.push(J.m("disabled")),Ue}),gt=sn(()=>({maxWidth:`${Ar(ue)-32}px`,width:"100%"})),yt=sn(()=>({maxWidth:`${Ar(ue)>123?Ar(ue)-123:Ar(ue)-75}px`}));Bo(hy,xs({props:P,options:Fe,optionsArray:B,cachedOptions:qe,optionsCount:Qe,filteredOptionsCount:xe,hoverIndex:Oe,handleOptionSelect:r,onOptionCreate:L,onOptionDestroy:m,selectWrapper:fe,selected:ae,setSelected:o,queryChange:Y,groupQueryChange:j})),xo(()=>{_e.cachedPlaceHolder=Ce.value=P.placeholder||(()=>be("el.select.placeholder")),P.multiple&&Array.isArray(P.modelValue)&&P.modelValue.length>0&&(Ce.value=""),Rd(fe,E),P.remote&&P.multiple&&n(),Ii(()=>{const Ue=V.value&&V.value.$el;if(Ue&&(ue.value=Ue.getBoundingClientRect().width,N.slots.prefix)){const ze=Ue.querySelector(`.${oe.e("prefix")}`);Je.value=Math.max(ze.getBoundingClientRect().width+5,30)}}),o()}),P.multiple&&!Array.isArray(P.modelValue)&&N.emit(gs,[]),!P.multiple&&Array.isArray(P.modelValue)&&N.emit(gs,"");const Et=sn(()=>{var Ue,ze;return(ze=(Ue=Q.value)==null?void 0:Ue.popperRef)==null?void 0:ze.contentRef});return{isIOS:c5,onOptionsRendered:Ue=>{U.value=Ue},tagInMultiLine:tt,prefixWidth:Je,selectSize:e,readonly:v,handleResize:E,collapseTagSize:a,debouncedOnInputChange:C,debouncedQueryChange:w,deletePrevTag:d,deleteTag:p,deleteSelected:t,handleOptionSelect:r,scrollToOption:c,inputWidth:ue,selected:ae,inputLength:de,filteredOptionsCount:xe,visible:Se,softFocus:Ae,selectedLabel:Be,hoverIndex:Oe,query:Ee,inputHovering:we,currentPlaceholder:Ce,menuVisibleOnFocus:Ge,isOnComposition:He,isSilentBlur:De,options:Fe,resetInputHeight:n,managePlaceholder:u,showClose:i,selectDisabled:g,iconComponent:h,iconReverse:x,showNewOption:f,emptyText:l,toggleLastOptionHitState:y,resetInputState:T,handleComposition:S,handleMenuEnter:M,handleFocus:b,blur:s,handleBlur:_,handleClearClick:A,handleClose:D,handleKeydownEscape:F,toggleMenu:G,selectOption:O,getValueKey:H,navigateOptions:z,dropMenuVisible:k,focus:te,reference:V,input:Z,iOSInput:ee,tooltipRef:Q,popperPaneRef:Et,tags:ne,selectWrapper:fe,scrollbar:$,wrapperKls:ht,selectTagsStyle:gt,nsSelect:J,tagTextStyle:yt,handleMouseEnter:X,handleMouseLeave:re,showTagList:le,collapseTagList:q}}}),EH=["disabled","autocomplete"],CH=["disabled"],LH={style:{height:"100%",display:"flex","justify-content":"center","align-items":"center"}};function _H(P,N,J,oe,be,_e){const U=qu("el-tag"),B=qu("el-tooltip"),e=qu("el-icon"),v=qu("el-input"),E=qu("el-option"),a=qu("el-options"),C=qu("el-scrollbar"),w=qu("el-select-menu"),d=AS("click-outside");return ys((Wn(),Oa("div",{ref:"selectWrapper",class:ua(P.wrapperKls),onMouseenter:N[21]||(N[21]=(...p)=>P.handleMouseEnter&&P.handleMouseEnter(...p)),onMouseleave:N[22]||(N[22]=(...p)=>P.handleMouseLeave&&P.handleMouseLeave(...p)),onClick:N[23]||(N[23]=Cl((...p)=>P.toggleMenu&&P.toggleMenu(...p),["stop"]))},[Ia(B,{ref:"tooltipRef",visible:P.dropMenuVisible,placement:P.placement,teleported:P.teleported,"popper-class":[P.nsSelect.e("popper"),P.popperClass],"popper-options":P.popperOptions,"fallback-placements":["bottom-start","top-start","right","left"],effect:P.effect,pure:"",trigger:"click",transition:`${P.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:P.persistent,onShow:P.handleMenuEnter},{default:Ea(()=>[za("div",{class:"select-trigger",onMouseenter:N[19]||(N[19]=p=>P.inputHovering=!0),onMouseleave:N[20]||(N[20]=p=>P.inputHovering=!1)},[P.multiple?(Wn(),Oa("div",{key:0,ref:"tags",class:ua([P.nsSelect.e("tags"),P.nsSelect.is("disabled",P.selectDisabled)]),style:ao(P.selectTagsStyle)},[P.collapseTags&&P.selected.length?(Wn(),ri(nf,{key:0,onAfterLeave:P.resetInputHeight},{default:Ea(()=>[za("span",{class:ua([P.nsSelect.b("tags-wrapper"),{"has-prefix":P.prefixWidth&&P.selected.length}])},[(Wn(!0),Oa(qi,null,Ap(P.showTagList,p=>(Wn(),ri(U,{key:P.getValueKey(p),closable:!P.selectDisabled&&!p.isDisabled,size:P.collapseTagSize,hit:p.hitState,type:P.tagType,"disable-transitions":"",onClose:t=>P.deleteTag(t,p)},{default:Ea(()=>[za("span",{class:ua(P.nsSelect.e("tags-text")),style:ao(P.tagTextStyle)},Io(p.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))),128)),P.selected.length>P.maxCollapseTags?(Wn(),ri(U,{key:0,closable:!1,size:P.collapseTagSize,type:P.tagType,"disable-transitions":""},{default:Ea(()=>[P.collapseTagsTooltip?(Wn(),ri(B,{key:0,disabled:P.dropMenuVisible,"fallback-placements":["bottom","top","right","left"],effect:P.effect,placement:"bottom",teleported:P.teleported},{default:Ea(()=>[za("span",{class:ua(P.nsSelect.e("tags-text"))},"+ "+Io(P.selected.length-P.maxCollapseTags),3)]),content:Ea(()=>[za("div",{class:ua(P.nsSelect.e("collapse-tags"))},[(Wn(!0),Oa(qi,null,Ap(P.collapseTagList,p=>(Wn(),Oa("div",{key:P.getValueKey(p),class:ua(P.nsSelect.e("collapse-tag"))},[Ia(U,{class:"in-tooltip",closable:!P.selectDisabled&&!p.isDisabled,size:P.collapseTagSize,hit:p.hitState,type:P.tagType,"disable-transitions":"",style:{margin:"2px"},onClose:t=>P.deleteTag(t,p)},{default:Ea(()=>[za("span",{class:ua(P.nsSelect.e("tags-text")),style:ao({maxWidth:P.inputWidth-75+"px"})},Io(p.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"])],2))),128))],2)]),_:1},8,["disabled","effect","teleported"])):(Wn(),Oa("span",{key:1,class:ua(P.nsSelect.e("tags-text"))},"+ "+Io(P.selected.length-P.maxCollapseTags),3))]),_:1},8,["size","type"])):ai("v-if",!0)],2)]),_:1},8,["onAfterLeave"])):ai("v-if",!0),P.collapseTags?ai("v-if",!0):(Wn(),ri(nf,{key:1,onAfterLeave:P.resetInputHeight},{default:Ea(()=>[za("span",{class:ua([P.nsSelect.b("tags-wrapper"),{"has-prefix":P.prefixWidth&&P.selected.length}])},[(Wn(!0),Oa(qi,null,Ap(P.selected,p=>(Wn(),ri(U,{key:P.getValueKey(p),closable:!P.selectDisabled&&!p.isDisabled,size:P.collapseTagSize,hit:p.hitState,type:P.tagType,"disable-transitions":"",onClose:t=>P.deleteTag(t,p)},{default:Ea(()=>[za("span",{class:ua(P.nsSelect.e("tags-text")),style:ao({maxWidth:P.inputWidth-75+"px"})},Io(p.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))),128))],2)]),_:1},8,["onAfterLeave"])),P.filterable?ys((Wn(),Oa("input",{key:2,ref:"input","onUpdate:modelValue":N[0]||(N[0]=p=>P.query=p),type:"text",class:ua([P.nsSelect.e("input"),P.nsSelect.is(P.selectSize),P.nsSelect.is("disabled",P.selectDisabled)]),disabled:P.selectDisabled,autocomplete:P.autocomplete,style:ao({marginLeft:P.prefixWidth&&!P.selected.length||P.tagInMultiLine?`${P.prefixWidth}px`:"",flexGrow:1,width:`${P.inputLength/(P.inputWidth-32)}%`,maxWidth:`${P.inputWidth-42}px`}),onFocus:N[1]||(N[1]=(...p)=>P.handleFocus&&P.handleFocus(...p)),onBlur:N[2]||(N[2]=(...p)=>P.handleBlur&&P.handleBlur(...p)),onKeyup:N[3]||(N[3]=(...p)=>P.managePlaceholder&&P.managePlaceholder(...p)),onKeydown:[N[4]||(N[4]=(...p)=>P.resetInputState&&P.resetInputState(...p)),N[5]||(N[5]=$u(Cl(p=>P.navigateOptions("next"),["prevent"]),["down"])),N[6]||(N[6]=$u(Cl(p=>P.navigateOptions("prev"),["prevent"]),["up"])),N[7]||(N[7]=$u((...p)=>P.handleKeydownEscape&&P.handleKeydownEscape(...p),["esc"])),N[8]||(N[8]=$u(Cl((...p)=>P.selectOption&&P.selectOption(...p),["stop","prevent"]),["enter"])),N[9]||(N[9]=$u((...p)=>P.deletePrevTag&&P.deletePrevTag(...p),["delete"])),N[10]||(N[10]=$u(p=>P.visible=!1,["tab"]))],onCompositionstart:N[11]||(N[11]=(...p)=>P.handleComposition&&P.handleComposition(...p)),onCompositionupdate:N[12]||(N[12]=(...p)=>P.handleComposition&&P.handleComposition(...p)),onCompositionend:N[13]||(N[13]=(...p)=>P.handleComposition&&P.handleComposition(...p)),onInput:N[14]||(N[14]=(...p)=>P.debouncedQueryChange&&P.debouncedQueryChange(...p))},null,46,EH)),[[DE,P.query]]):ai("v-if",!0)],6)):ai("v-if",!0),ai(" fix: https://github.com/element-plus/element-plus/issues/11415 "),P.isIOS&&!P.multiple&&P.filterable&&P.readonly?(Wn(),Oa("input",{key:1,ref:"iOSInput",class:ua([P.nsSelect.e("input"),P.nsSelect.is(P.selectSize),P.nsSelect.em("input","iOS")]),disabled:P.selectDisabled,type:"text"},null,10,CH)):ai("v-if",!0),Ia(v,{id:P.id,ref:"reference",modelValue:P.selectedLabel,"onUpdate:modelValue":N[15]||(N[15]=p=>P.selectedLabel=p),type:"text",placeholder:typeof P.currentPlaceholder=="function"?P.currentPlaceholder():P.currentPlaceholder,name:P.name,autocomplete:P.autocomplete,size:P.selectSize,disabled:P.selectDisabled,readonly:P.readonly,"validate-event":!1,class:ua([P.nsSelect.is("focus",P.visible)]),tabindex:P.multiple&&P.filterable?-1:void 0,onFocus:P.handleFocus,onBlur:P.handleBlur,onInput:P.debouncedOnInputChange,onPaste:P.debouncedOnInputChange,onCompositionstart:P.handleComposition,onCompositionupdate:P.handleComposition,onCompositionend:P.handleComposition,onKeydown:[N[16]||(N[16]=$u(Cl(p=>P.navigateOptions("next"),["stop","prevent"]),["down"])),N[17]||(N[17]=$u(Cl(p=>P.navigateOptions("prev"),["stop","prevent"]),["up"])),$u(Cl(P.selectOption,["stop","prevent"]),["enter"]),$u(P.handleKeydownEscape,["esc"]),N[18]||(N[18]=$u(p=>P.visible=!1,["tab"]))]},MS({suffix:Ea(()=>[P.iconComponent&&!P.showClose?(Wn(),ri(e,{key:0,class:ua([P.nsSelect.e("caret"),P.nsSelect.e("icon"),P.iconReverse])},{default:Ea(()=>[(Wn(),ri(Kl(P.iconComponent)))]),_:1},8,["class"])):ai("v-if",!0),P.showClose&&P.clearIcon?(Wn(),ri(e,{key:1,class:ua([P.nsSelect.e("caret"),P.nsSelect.e("icon")]),onClick:P.handleClearClick},{default:Ea(()=>[(Wn(),ri(Kl(P.clearIcon)))]),_:1},8,["class","onClick"])):ai("v-if",!0)]),_:2},[P.$slots.prefix?{name:"prefix",fn:Ea(()=>[za("div",LH,[ti(P.$slots,"prefix")])])}:void 0]),1032,["id","modelValue","placeholder","name","autocomplete","size","disabled","readonly","class","tabindex","onFocus","onBlur","onInput","onPaste","onCompositionstart","onCompositionupdate","onCompositionend","onKeydown"])],32)]),content:Ea(()=>[Ia(w,null,{default:Ea(()=>[ys(Ia(C,{ref:"scrollbar",tag:"ul","wrap-class":P.nsSelect.be("dropdown","wrap"),"view-class":P.nsSelect.be("dropdown","list"),class:ua([P.nsSelect.is("empty",!P.allowCreate&&!!P.query&&P.filteredOptionsCount===0)])},{default:Ea(()=>[P.showNewOption?(Wn(),ri(E,{key:0,value:P.query,created:!0},null,8,["value"])):ai("v-if",!0),Ia(a,{onUpdateOptions:P.onOptionsRendered},{default:Ea(()=>[ti(P.$slots,"default")]),_:3},8,["onUpdateOptions"])]),_:3},8,["wrap-class","view-class","class"]),[[Fc,P.options.size>0&&!P.loading]]),P.emptyText&&(!P.allowCreate||P.loading||P.allowCreate&&P.options.size===0)?(Wn(),Oa(qi,{key:0},[P.$slots.empty?ti(P.$slots,"empty",{key:0}):(Wn(),Oa("p",{key:1,class:ua(P.nsSelect.be("dropdown","empty"))},Io(P.emptyText),3))],64)):ai("v-if",!0)]),_:3})]),_:3},8,["visible","placement","teleported","popper-class","popper-options","effect","transition","persistent","onShow"])],34)),[[d,P.handleClose,P.popperPaneRef]])}var PH=Si(SH,[["render",_H],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select.vue"]]);const RH=Ca({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},setup(P){const N=li("select"),J=ra(!0),oe=bs(),be=ra([]);Bo(i4,xs({...Pd(P)}));const _e=si(hy);xo(()=>{be.value=U(oe.subTree)});const U=e=>{const v=[];return Array.isArray(e.children)&&e.children.forEach(E=>{var a;E.type&&E.type.name==="ElOption"&&E.component&&E.component.proxy?v.push(E.component.proxy):(a=E.children)!=null&&a.length&&v.push(...U(E))}),v},{groupQueryChange:B}=Mi(_e);return ja(B,()=>{J.value=be.value.some(e=>e.visible===!0)},{flush:"post"}),{visible:J,ns:N}}});function IH(P,N,J,oe,be,_e){return ys((Wn(),Oa("ul",{class:ua(P.ns.be("group","wrap"))},[za("li",{class:ua(P.ns.be("group","title"))},Io(P.label),3),za("li",null,[za("ul",{class:ua(P.ns.b("group"))},[ti(P.$slots,"default")],2)])],2)),[[Fc,P.visible]])}var o4=Si(RH,[["render",IH],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option-group.vue"]]);const DH=ks(PH,{Option:gx,OptionGroup:o4}),kH=Rl(gx);Rl(o4);const s4=["success","info","warning","error"],Sl=Sh({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:ms?document.body:void 0}),FH=Zi({customClass:{type:String,default:Sl.customClass},center:{type:Boolean,default:Sl.center},dangerouslyUseHTMLString:{type:Boolean,default:Sl.dangerouslyUseHTMLString},duration:{type:Number,default:Sl.duration},icon:{type:Ec,default:Sl.icon},id:{type:String,default:Sl.id},message:{type:oi([String,Object,Function]),default:Sl.message},onClose:{type:oi(Function),required:!1},showClose:{type:Boolean,default:Sl.showClose},type:{type:String,values:s4,default:Sl.type},offset:{type:Number,default:Sl.offset},zIndex:{type:Number,default:Sl.zIndex},grouping:{type:Boolean,default:Sl.grouping},repeatNum:{type:Number,default:Sl.repeatNum}}),OH={destroy:()=>!0},rf=Uw([]),zH=P=>{const N=rf.findIndex(be=>be.id===P),J=rf[N];let oe;return N>0&&(oe=rf[N-1]),{current:J,prev:oe}},BH=P=>{const{prev:N}=zH(P);return N?N.vm.exposed.bottom.value:0},NH=(P,N)=>rf.findIndex(oe=>oe.id===P)>0?20:N,UH=["id"],HH=["innerHTML"],VH=Ca({name:"ElMessage"}),GH=Ca({...VH,props:FH,emits:OH,setup(P,{expose:N}){const J=P,{Close:oe}=$k,{ns:be,zIndex:_e}=CO("message"),{currentZIndex:U,nextZIndex:B}=_e,e=ra(),v=ra(!1),E=ra(0);let a;const C=sn(()=>J.type?J.type==="error"?"danger":J.type:"info"),w=sn(()=>{const g=J.type;return{[be.bm("icon",g)]:g&&O3[g]}}),d=sn(()=>J.icon||O3[J.type]||""),p=sn(()=>BH(J.id)),t=sn(()=>NH(J.id,J.offset)+p.value),r=sn(()=>E.value+t.value),c=sn(()=>({top:`${t.value}px`,zIndex:U.value}));function o(){J.duration!==0&&({stop:a}=Nm(()=>{u()},J.duration))}function n(){a==null||a()}function u(){v.value=!1}function i({code:g}){g===Rs.esc&&u()}return xo(()=>{o(),B(),v.value=!0}),ja(()=>J.repeatNum,()=>{n(),o()}),Lc(document,"keydown",i),Rd(e,()=>{E.value=e.value.getBoundingClientRect().height}),N({visible:v,bottom:r,close:u}),(g,h)=>(Wn(),ri(nf,{name:Ar(be).b("fade"),onBeforeLeave:g.onClose,onAfterLeave:h[0]||(h[0]=x=>g.$emit("destroy")),persisted:""},{default:Ea(()=>[ys(za("div",{id:g.id,ref_key:"messageRef",ref:e,class:ua([Ar(be).b(),{[Ar(be).m(g.type)]:g.type&&!g.icon},Ar(be).is("center",g.center),Ar(be).is("closable",g.showClose),g.customClass]),style:ao(Ar(c)),role:"alert",onMouseenter:n,onMouseleave:o},[g.repeatNum>1?(Wn(),ri(Ar(cN),{key:0,value:g.repeatNum,type:Ar(C),class:ua(Ar(be).e("badge"))},null,8,["value","type","class"])):ai("v-if",!0),Ar(d)?(Wn(),ri(Ar(bu),{key:1,class:ua([Ar(be).e("icon"),Ar(w)])},{default:Ea(()=>[(Wn(),ri(Kl(Ar(d))))]),_:1},8,["class"])):ai("v-if",!0),ti(g.$slots,"default",{},()=>[g.dangerouslyUseHTMLString?(Wn(),Oa(qi,{key:1},[ai(" Caution here, message could've been compromised, never use user's input as message "),za("p",{class:ua(Ar(be).e("content")),innerHTML:g.message},null,10,HH)],2112)):(Wn(),Oa("p",{key:0,class:ua(Ar(be).e("content"))},Io(g.message),3))]),g.showClose?(Wn(),ri(Ar(bu),{key:2,class:ua(Ar(be).e("closeBtn")),onClick:Cl(u,["stop"])},{default:Ea(()=>[Ia(Ar(oe))]),_:1},8,["class","onClick"])):ai("v-if",!0)],46,UH),[[Fc,v.value]])]),_:3},8,["name","onBeforeLeave"]))}});var WH=Si(GH,[["__file","/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]);let jH=1;const l4=P=>{const N=!P||ci(P)||Ih(P)||Qa(P)?{message:P}:P,J={...Sl,...N};if(!J.appendTo)J.appendTo=document.body;else if(ci(J.appendTo)){let oe=document.querySelector(J.appendTo);Cv(oe)||(oe=document.body),J.appendTo=oe}return J},YH=P=>{const N=rf.indexOf(P);if(N===-1)return;rf.splice(N,1);const{handler:J}=P;J.close()},ZH=({appendTo:P,...N},J)=>{const oe=`message_${jH++}`,be=N.onClose,_e=document.createElement("div"),U={...N,id:oe,onClose:()=>{be==null||be(),YH(E)},onDestroy:()=>{vb(null,_e)}},B=Ia(WH,U,Qa(U.message)||Ih(U.message)?{default:Qa(U.message)?U.message:()=>U.message}:null);B.appContext=J||kv._context,vb(B,_e),P.appendChild(_e.firstElementChild);const e=B.component,E={id:oe,vnode:B,vm:e,handler:{close:()=>{e.exposed.visible.value=!1}},props:B.component.props};return E},kv=(P={},N)=>{if(!ms)return{close:()=>{}};if(qo(Qm.max)&&rf.length>=Qm.max)return{close:()=>{}};const J=l4(P);if(J.grouping&&rf.length){const be=rf.find(({vnode:_e})=>{var U;return((U=_e.props)==null?void 0:U.message)===J.message});if(be)return be.props.repeatNum+=1,be.props.type=J.type,be.handler}const oe=ZH(J,N);return rf.push(oe),oe.handler};s4.forEach(P=>{kv[P]=(N={},J)=>{const oe=l4(N);return kv({...oe,type:P},J)}});function XH(P){for(const N of rf)(!P||P===N.props.type)&&N.handler.close()}kv.closeAll=XH;kv._context=null;const bw=Qk(kv,"$message"),KH={datasets_selected:"🚀",datasets_candidates:["🏀"],dataset_tag_candidates:["🌲","🏜️"],dataset_tag_selected:["🏜️","🪐"],indicator_selected:"rps",parallel_selected:["1","2","4","8"],parallel_candidates:["1","2","4","8"],topk:"10",topk_candidates:["10","100"]},$H={gist_960:{"no-filter":{valid_parallel:["1","2","4","8"],valid_top:["10"]}}},kf={paper_bgcolor:"#303030",plot_bgcolor:"#3b3b3b",font_color:"#ffff",gridcolor:"#989898"},Ff={paper_bgcolor:"#fbfbfc",plot_bgcolor:"#fbfbfc",font_color:"#000000",gridcolor:"#e2e2e2"};var u4={exports:{}};(function(P,N){(function(oe,be){P.exports=be()})(self,function(){return function(){var J={98847:function(U,B,e){var v=e(71828),E={"X,X div":'direction:ltr;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 .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","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:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;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,.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:.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 E){var C=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");v.addStyleRule(C,E[a])}},98222:function(U,B,e){U.exports=e(82887)},27206:function(U,B,e){U.exports=e(60822)},59893:function(U,B,e){U.exports=e(23381)},5224:function(U,B,e){U.exports=e(83832)},59509:function(U,B,e){U.exports=e(72201)},75557:function(U,B,e){U.exports=e(91815)},40338:function(U,B,e){U.exports=e(21462)},35080:function(U,B,e){U.exports=e(51319)},61396:function(U,B,e){U.exports=e(57516)},40549:function(U,B,e){U.exports=e(98128)},49866:function(U,B,e){U.exports=e(99442)},36089:function(U,B,e){U.exports=e(93740)},19548:function(U,B,e){U.exports=e(8729)},35831:function(U,B,e){U.exports=e(93814)},61039:function(U,B,e){U.exports=e(14382)},97040:function(U,B,e){U.exports=e(51759)},77986:function(U,B,e){U.exports=e(10421)},24296:function(U,B,e){U.exports=e(43102)},58872:function(U,B,e){U.exports=e(92165)},29626:function(U,B,e){U.exports=e(3325)},65591:function(U,B,e){U.exports=e(36071)},69738:function(U,B,e){U.exports=e(43905)},92650:function(U,B,e){U.exports=e(35902)},35630:function(U,B,e){U.exports=e(69816)},73434:function(U,B,e){U.exports=e(94507)},27909:function(U,B,e){var v=e(19548);v.register([e(27206),e(5224),e(58872),e(65591),e(69738),e(92650),e(49866),e(25743),e(6197),e(97040),e(85461),e(73434),e(54201),e(81299),e(47645),e(35630),e(77986),e(83043),e(93005),e(96881),e(4534),e(50581),e(40549),e(77900),e(47582),e(35080),e(21641),e(17280),e(5861),e(29626),e(10021),e(65317),e(96268),e(61396),e(35831),e(16122),e(46163),e(40344),e(40338),e(48131),e(36089),e(55334),e(75557),e(19440),e(99488),e(59893),e(97393),e(98222),e(61039),e(24296),e(66398),e(59509)]),U.exports=v},46163:function(U,B,e){U.exports=e(15154)},96881:function(U,B,e){U.exports=e(64943)},50581:function(U,B,e){U.exports=e(21164)},55334:function(U,B,e){U.exports=e(54186)},65317:function(U,B,e){U.exports=e(94873)},10021:function(U,B,e){U.exports=e(67618)},54201:function(U,B,e){U.exports=e(58810)},5861:function(U,B,e){U.exports=e(20593)},16122:function(U,B,e){U.exports=e(29396)},83043:function(U,B,e){U.exports=e(13551)},48131:function(U,B,e){U.exports=e(46858)},47582:function(U,B,e){U.exports=e(17988)},21641:function(U,B,e){U.exports=e(68868)},96268:function(U,B,e){U.exports=e(20467)},19440:function(U,B,e){U.exports=e(91271)},99488:function(U,B,e){U.exports=e(21461)},97393:function(U,B,e){U.exports=e(85956)},25743:function(U,B,e){U.exports=e(52979)},66398:function(U,B,e){U.exports=e(32275)},17280:function(U,B,e){U.exports=e(6419)},77900:function(U,B,e){U.exports=e(61510)},81299:function(U,B,e){U.exports=e(87619)},93005:function(U,B,e){U.exports=e(93601)},40344:function(U,B,e){U.exports=e(96595)},47645:function(U,B,e){U.exports=e(70954)},6197:function(U,B,e){U.exports=e(47462)},4534:function(U,B,e){U.exports=e(17659)},85461:function(U,B,e){U.exports=e(19990)},82884:function(U){U.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}]},50215:function(U,B,e){var v=e(82884),E=e(41940),a=e(85555),C=e(44467).templatedArray;e(24695),U.exports=C("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:E({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+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:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:v.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:v.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:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+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:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+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:E({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},3749:function(U,B,e){var v=e(71828),E=e(89298),a=e(92605).draw;U.exports=function(p){var t=p._fullLayout,r=v.filterVisible(t.annotations);if(r.length&&p._fullData.length)return v.syncOrAsync([a,C],p)};function C(d){var p=d._fullLayout;v.filterVisible(p.annotations).forEach(function(t){var r=E.getFromId(d,t.xref),c=E.getFromId(d,t.yref),o=E.getRefType(t.xref),n=E.getRefType(t.yref);t._extremes={},o==="range"&&w(t,r),n==="range"&&w(t,c)})}function w(d,p){var t=p._id,r=t.charAt(0),c=d[r],o=d["a"+r],n=d[r+"ref"],u=d["a"+r+"ref"],i=d["_"+r+"padplus"],g=d["_"+r+"padminus"],h={x:1,y:-1}[r]*d[r+"shift"],x=3*d.arrowsize*d.arrowwidth||0,f=x+h,l=x-h,y=3*d.startarrowsize*d.arrowwidth||0,T=y+h,S=y-h,L;if(u===n){var m=E.findExtremes(p,[p.r2c(c)],{ppadplus:f,ppadminus:l}),M=E.findExtremes(p,[p.r2c(o)],{ppadplus:Math.max(i,T),ppadminus:Math.max(g,S)});L={min:[m.min[0],M.min[0]],max:[m.max[0],M.max[0]]}}else T=o?T+o:T,S=o?S-o:S,L=E.findExtremes(p,[p.r2c(c)],{ppadplus:Math.max(i,f,T),ppadminus:Math.max(g,l,S)});d._extremes[t]=L}},44317:function(U,B,e){var v=e(71828),E=e(73972),a=e(44467).arrayEditor;U.exports={hasClickToShow:C,onClick:w};function C(t,r){var c=d(t,r);return c.on.length>0||c.explicitOff.length>0}function w(t,r){var c=d(t,r),o=c.on,n=c.off.concat(c.explicitOff),u={},i=t._fullLayout.annotations,g,h;if(o.length||n.length){for(g=0;g.6666666666666666?hr="right":hr="center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[hr]}for(var qe=!1,Qe=["x","y"],Je=0;Je1)&&(gt===ht?(st=yt.r2fraction(y["a"+tt]),(st<0||st>1)&&(qe=!0)):qe=!0),Ie=yt._offset+yt.r2p(y[tt]),me=.5}else{var ft=Ne==="domain";tt==="x"?(he=y[tt],Ie=ft?yt._offset+yt._length*he:Ie=b.l+b.w*he):(he=1-y[tt],Ie=ft?yt._offset+yt._length*he:Ie=b.t+b.h*he),me=y.showarrow?.5:he}if(y.showarrow){Ze.head=Ie;var At=y["a"+tt];if(Re=Xe*Fe(.5,y.xanchor)-Ue*Fe(.5,y.yanchor),gt===ht){var Ft=d.getRefType(gt);Ft==="domain"?(tt==="y"&&(At=1-At),Ze.tail=yt._offset+yt._length*At):Ft==="paper"?tt==="y"?(At=1-At,Ze.tail=b.t+b.h*At):Ze.tail=b.l+b.w*At:Ze.tail=yt._offset+yt.r2p(At),Te=Re}else Ze.tail=Ie+At,Te=Re+At;Ze.text=Ze.tail+Re;var Ht=M[tt==="x"?"width":"height"];if(ht==="paper"&&(Ze.head=C.constrain(Ze.head,1,Ht-1)),gt==="pixel"){var Gt=-Math.max(Ze.tail-3,Ze.text),Rt=Math.min(Ze.tail+3,Ze.text)-Ht;Gt>0?(Ze.tail+=Gt,Ze.text+=Gt):Rt>0&&(Ze.tail-=Rt,Ze.text-=Rt)}Ze.tail+=it,Ze.head+=it}else Re=ze*Fe(me,rt),Te=Re,Ze.text=Ie+Re;Ze.text+=it,Re+=it,Te+=it,y["_"+tt+"padplus"]=ze/2+Te,y["_"+tt+"padminus"]=ze/2-Te,y["_"+tt+"size"]=ze,y["_"+tt+"shift"]=Re}if(qe){fe.remove();return}var qt=0,sr=0;if(y.align!=="left"&&(qt=(Ce-Ee)*(y.align==="center"?.5:1)),y.valign!=="top"&&(sr=(Ge-we)*(y.valign==="middle"?.5:1)),Be)Ae.select("svg").attr({x:j+qt-1,y:j+sr}).call(t.setClipUrl,re?H:null,l);else{var kr=j+sr-Oe.top,xt=j+qt-Oe.left;ue.call(c.positionText,xt,kr).call(t.setClipUrl,re?H:null,l)}le.select("rect").call(t.setRect,j,j,Ce,Ge),X.call(t.setRect,$/2,$/2,He-$,De-$),fe.call(t.setTranslate,Math.round(z.x.text-He/2),Math.round(z.y.text-De/2)),Z.attr({transform:"rotate("+k+","+z.x.text+","+z.y.text+")"});var Xt=function(wr,hr){V.selectAll(".annotation-arrow-g").remove();var ct=z.x.head,ut=z.y.head,wt=z.x.tail+wr,Mt=z.y.tail+hr,Lt=z.x.text+wr,St=z.y.text+hr,Ot=C.rotationXYMatrix(k,Lt,St),Vt=C.apply2DTransform(Ot),Jt=C.apply2DTransform2(Ot),$t=+X.attr("width"),ir=+X.attr("height"),Cr=Lt-.5*$t,je=Cr+$t,We=St-.5*ir,It=We+ir,kt=[[Cr,We,Cr,It],[Cr,It,je,It],[je,It,je,We],[je,We,Cr,We]].map(Jt);if(!kt.reduce(function(Or,mn){return Or^!!C.segmentsIntersect(ct,ut,ct+1e6,ut+1e6,mn[0],mn[1],mn[2],mn[3])},!1)){kt.forEach(function(Or){var mn=C.segmentsIntersect(wt,Mt,ct,ut,Or[0],Or[1],Or[2],Or[3]);mn&&(wt=mn.x,Mt=mn.y)});var Yt=y.arrowwidth,ar=y.arrowcolor,lr=y.arrowside,rr=V.append("g").style({opacity:p.opacity(ar)}).classed("annotation-arrow-g",!0),Nt=rr.append("path").attr("d","M"+wt+","+Mt+"L"+ct+","+ut).style("stroke-width",Yt+"px").call(p.stroke,p.rgb(ar));if(i(Nt,lr,y),s.annotationPosition&&Nt.node().parentNode&&!S){var cr=ct,vr=ut;if(y.standoff){var pr=Math.sqrt(Math.pow(ct-wt,2)+Math.pow(ut-Mt,2));cr+=y.standoff*(wt-ct)/pr,vr+=y.standoff*(Mt-ut)/pr}var dr=rr.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(wt-cr)+","+(Mt-vr),transform:w(cr,vr)}).style("stroke-width",Yt+6+"px").call(p.stroke,"rgba(0,0,0,0)").call(p.fill,"rgba(0,0,0,0)"),Yr,zr;n.init({element:dr.node(),gd:l,prepFn:function(){var Or=t.getTranslate(fe);Yr=Or.x,zr=Or.y,L&&L.autorange&&F(L._name+".autorange",!0),m&&m.autorange&&F(m._name+".autorange",!0)},moveFn:function(Or,mn){var Kr=Vt(Yr,zr),kn=Kr[0]+Or,Dn=Kr[1]+mn;fe.call(t.setTranslate,kn,Dn),G("x",x(L,Or,"x",b,y)),G("y",x(m,mn,"y",b,y)),y.axref===y.xref&&G("ax",x(L,Or,"ax",b,y)),y.ayref===y.yref&&G("ay",x(m,mn,"ay",b,y)),rr.attr("transform",w(Or,mn)),Z.attr({transform:"rotate("+k+","+kn+","+Dn+")"})},doneFn:function(){E.call("_guiRelayout",l,O());var Or=document.querySelector(".js-notes-box-panel");Or&&Or.redraw(Or.selectedObj)}})}}};if(y.showarrow&&Xt(0,0),ee){var jt;n.init({element:fe.node(),gd:l,prepFn:function(){jt=Z.attr("transform")},moveFn:function(wr,hr){var ct="pointer";if(y.showarrow)y.axref===y.xref?G("ax",x(L,wr,"ax",b,y)):G("ax",y.ax+wr),y.ayref===y.yref?G("ay",x(m,hr,"ay",b.w,y)):G("ay",y.ay+hr),Xt(wr,hr);else{if(S)return;var ut,wt;if(L)ut=x(L,wr,"x",b,y);else{var Mt=y._xsize/b.w,Lt=y.x+(y._xshift-y.xshift)/b.w-Mt/2;ut=n.align(Lt+wr/b.w,Mt,0,1,y.xanchor)}if(m)wt=x(m,hr,"y",b,y);else{var St=y._ysize/b.h,Ot=y.y-(y._yshift+y.yshift)/b.h-St/2;wt=n.align(Ot-hr/b.h,St,0,1,y.yanchor)}G("x",ut),G("y",wt),(!L||!m)&&(ct=n.getCursor(L?.5:ut,m?.5:wt,y.xanchor,y.yanchor))}Z.attr({transform:w(wr,hr)+jt}),o(fe,ct)},clickFn:function(wr,hr){y.captureevents&&l.emit("plotly_clickannotation",ne(hr))},doneFn:function(){o(fe),E.call("_guiRelayout",l,O());var wr=document.querySelector(".js-notes-box-panel");wr&&wr.redraw(wr.selectedObj)}})}}s.annotationText?ue.call(c.makeEditable,{delegate:fe,gd:l}).call(ae).on("edit",function(xe){y.text=xe,this.call(ae),G("text",xe),L&&L.autorange&&F(L._name+".autorange",!0),m&&m.autorange&&F(m._name+".autorange",!0),E.call("_guiRelayout",l,O())}):ue.call(ae)}},13011:function(U,B,e){var v=e(39898),E=e(7901),a=e(82884),C=e(71828),w=C.strScale,d=C.strRotate,p=C.strTranslate;U.exports=function(r,c,o){var n=r.node(),u=a[o.arrowhead||0],i=a[o.startarrowhead||0],g=(o.arrowwidth||1)*(o.arrowsize||1),h=(o.arrowwidth||1)*(o.startarrowsize||1),x=c.indexOf("start")>=0,f=c.indexOf("end")>=0,l=u.backoff*g+o.standoff,y=i.backoff*h+o.startstandoff,T,S,L,m;if(n.nodeName==="line"){T={x:+r.attr("x1"),y:+r.attr("y1")},S={x:+r.attr("x2"),y:+r.attr("y2")};var M=T.x-S.x,b=T.y-S.y;if(L=Math.atan2(b,M),m=L+Math.PI,l&&y&&l+y>Math.sqrt(M*M+b*b)){Z();return}if(l){if(l*l>M*M+b*b){Z();return}var s=l*Math.cos(L),_=l*Math.sin(L);S.x+=s,S.y+=_,r.attr({x2:S.x,y2:S.y})}if(y){if(y*y>M*M+b*b){Z();return}var A=y*Math.cos(L),D=y*Math.sin(L);T.x-=A,T.y-=D,r.attr({x1:T.x,y1:T.y})}}else if(n.nodeName==="path"){var F=n.getTotalLength(),G="";if(F1){o=!0;break}}o?w.fullLayout._infolayer.select(".annotation-"+w.id+'[data-index="'+r+'"]').remove():(c._pdata=E(w.glplot.cameraParams,[d.xaxis.r2l(c.x)*p[0],d.yaxis.r2l(c.y)*p[1],d.zaxis.r2l(c.z)*p[2]]),v(w.graphDiv,c,r,w.id,c._xa,c._ya))}}},2468:function(U,B,e){var v=e(73972),E=e(71828);U.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:e(26997)}}},layoutAttributes:e(26997),handleDefaults:e(20226),includeBasePlot:a,convert:e(5485),draw:e(82188)};function a(C,w){var d=v.subplotsRegistry.gl3d;if(d)for(var p=d.attrRegex,t=Object.keys(C),r=0;r=0)))return r;if(i===3)n[i]>1&&(n[i]=1);else if(n[i]>=1)return r}var g=Math.round(n[0]*255)+", "+Math.round(n[1]*255)+", "+Math.round(n[2]*255);return u?"rgba("+g+", "+n[3]+")":"rgb("+g+")"}},63583:function(U,B,e){var v=e(13838),E=e(41940),a=e(1426).extendFlat,C=e(30962).overrideAll;U.exports=C({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},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"},xref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number"},yref:{valType:"enumerated",dflt:"paper",values:["container","paper"],editType:"layoutstyle"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:v.linecolor,outlinewidth:v.linewidth,bordercolor:v.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:v.minor.tickmode,nticks:v.nticks,tick0:v.tick0,dtick:v.dtick,tickvals:v.tickvals,ticktext:v.ticktext,ticks:a({},v.ticks,{dflt:""}),ticklabeloverflow:a({},v.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:v.ticklen,tickwidth:v.tickwidth,tickcolor:v.tickcolor,ticklabelstep:v.ticklabelstep,showticklabels:v.showticklabels,labelalias:v.labelalias,tickfont:E({}),tickangle:v.tickangle,tickformat:v.tickformat,tickformatstops:v.tickformatstops,tickprefix:v.tickprefix,showtickprefix:v.showtickprefix,ticksuffix:v.ticksuffix,showticksuffix:v.showticksuffix,separatethousands:v.separatethousands,exponentformat:v.exponentformat,minexponent:v.minexponent,showexponent:v.showexponent,title:{text:{valType:"string"},font:E({}),side:{valType:"enumerated",values:["right","top","bottom"]}},_deprecated:{title:{valType:"string"},titlefont:E({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},30939:function(U){U.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"}}},62499:function(U,B,e){var v=e(71828),E=e(44467),a=e(26218),C=e(38701),w=e(96115),d=e(89426),p=e(63583);U.exports=function(r,c,o){var n=E.newContainer(c,"colorbar"),u=r.colorbar||{};function i(z,k){return v.coerce(u,n,p,z,k)}var g=o.margin||{t:0,b:0,l:0,r:0},h=o.width-g.l-g.r,x=o.height-g.t-g.b,f=i("orientation"),l=f==="v",y=i("thicknessmode");i("thickness",y==="fraction"?30/(l?h:x):30);var T=i("lenmode");i("len",T==="fraction"?1:l?x:h);var S=i("yref"),L=i("xref"),m=S==="paper",M=L==="paper",b,s,_,A="left";l?(_="middle",A=M?"left":"right",b=M?1.02:1,s=.5):(_=m?"bottom":"top",A="center",b=.5,s=m?1.02:1),v.coerce(u,n,{x:{valType:"number",min:M?-2:0,max:M?3:1,dflt:b}},"x"),v.coerce(u,n,{y:{valType:"number",min:m?-2:0,max:m?3:1,dflt:s}},"y"),i("xanchor",A),i("xpad"),i("yanchor",_),i("ypad"),v.noneOrAll(u,n,["x","y"]),i("outlinecolor"),i("outlinewidth"),i("bordercolor"),i("borderwidth"),i("bgcolor");var D=v.coerce(u,n,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:l?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");i("ticklabeloverflow",D.indexOf("inside")!==-1?"hide past domain":"hide past div"),a(u,n,i,"linear");var F=o.font,G={outerTicks:!1,font:F};D.indexOf("inside")!==-1&&(G.bgColor="black"),d(u,n,i,"linear",G),w(u,n,i,"linear",G),C(u,n,i,"linear",G),i("title.text",o._dfltTitle.colorbar);var O=n.showticklabels?n.tickfont:F,H=v.extendFlat({},O,{color:F.color,size:v.bigFont(O.size)});v.coerceFont(i,"title.font",H),i("title.side",l?"top":"right")}},98981:function(U,B,e){var v=e(39898),E=e(84267),a=e(74875),C=e(73972),w=e(89298),d=e(28569),p=e(71828),t=p.strTranslate,r=e(1426).extendFlat,c=e(6964),o=e(91424),n=e(7901),u=e(92998),i=e(63893),g=e(52075).flipScale,h=e(71453),x=e(52830),f=e(13838),l=e(18783),y=l.LINE_SPACING,T=l.FROM_TL,S=l.FROM_BR,L=e(30939).cn;function m(D){var F=D._fullLayout,G=F._infolayer.selectAll("g."+L.colorbar).data(M(D),function(O){return O._id});G.enter().append("g").attr("class",function(O){return O._id}).classed(L.colorbar,!0),G.each(function(O){var H=v.select(this);p.ensureSingle(H,"rect",L.cbbg),p.ensureSingle(H,"g",L.cbfills),p.ensureSingle(H,"g",L.cblines),p.ensureSingle(H,"g",L.cbaxis,function(k){k.classed(L.crisp,!0)}),p.ensureSingle(H,"g",L.cbtitleunshift,function(k){k.append("g").classed(L.cbtitle,!0)}),p.ensureSingle(H,"rect",L.cboutline);var z=b(H,O,D);z&&z.then&&(D._promises||[]).push(z),D._context.edits.colorbarPosition&&s(H,O,D)}),G.exit().each(function(O){a.autoMargin(D,O._id)}).remove(),G.order()}function M(D){var F=D._fullLayout,G=D.calcdata,O=[],H,z,k,V;function Z(q){return r(q,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function ee(){typeof V.calc=="function"?V.calc(D,k,H):(H._fillgradient=z.reversescale?g(z.colorscale):z.colorscale,H._zrange=[z[V.min],z[V.max]])}for(var Q=0;Q1){var Ze=Math.pow(10,Math.floor(Math.log(it)/Math.LN10));ze*=Ze*p.roundUp(it/Ze,[2,5,10]),(Math.abs(Oe.start)/Oe.size+1e-6)%1<2e-6&&(Xe.tick0=0)}Xe.dtick=ze}Xe.domain=O?[yt+Y/te.h,yt+Fe-Y/te.h]:[yt+$/te.w,yt+Fe-$/te.w],Xe.setScale(),D.attr("transform",t(Math.round(te.l),Math.round(te.t)));var Ie=D.select("."+L.cbtitleunshift).attr("transform",t(-Math.round(te.l),-Math.round(te.t))),Te=Xe.ticklabelposition,he=Xe.title.font.size,me=D.select("."+L.cbaxis),Re,Ne=0,st=0;function ft(Rt,qt){var sr={propContainer:Xe,propName:F._propPrefix+"title",traceIndex:F._traceIndex,_meta:F._meta,placeholder:q._dfltTitle.colorbar,containerGroup:D.select("."+L.cbtitle)},kr=Rt.charAt(0)==="h"?Rt.substr(1):"h"+Rt;D.selectAll("."+kr+",."+kr+"-math-group").remove(),u.draw(G,Rt,r(sr,qt||{}))}function At(){if(O&&Ue||!O&&!Ue){var Rt,qt;xe==="top"&&(Rt=$+te.l+qe*j,qt=Y+te.t+Qe*(1-yt-Fe)+3+he*.75),xe==="bottom"&&(Rt=$+te.l+qe*j,qt=Y+te.t+Qe*(1-yt)-3-he*.25),xe==="right"&&(qt=Y+te.t+Qe*X+3+he*.75,Rt=$+te.l+qe*yt),ft(Xe._id+"title",{attributes:{x:Rt,y:qt,"text-anchor":O?"start":"middle"}})}}function Ft(){if(O&&!Ue||!O&&Ue){var Rt=Xe.position||0,qt=Xe._offset+Xe._length/2,sr,kr;if(xe==="right")kr=qt,sr=te.l+qe*Rt+10+he*(Xe.showticklabels?1:.5);else if(sr=qt,xe==="bottom"&&(kr=te.t+Qe*Rt+10+(Te.indexOf("inside")===-1?Xe.tickfont.size:0)+(Xe.ticks!=="intside"&&F.ticklen||0)),xe==="top"){var xt=de.text.split("
").length;kr=te.t+Qe*Rt+10-Ge-y*he*xt}ft((O?"h":"v")+Xe._id+"title",{avoid:{selection:v.select(G).selectAll("g."+Xe._id+"tick"),side:xe,offsetTop:O?0:te.t,offsetLeft:O?te.l:0,maxShift:O?q.width:q.height},attributes:{x:sr,y:kr,"text-anchor":"middle"},transform:{rotate:O?-90:0,offset:0}})}}function Ht(){if(!O&&!Ue||O&&Ue){var Rt=D.select("."+L.cbtitle),qt=Rt.select("text"),sr=[-Z/2,Z/2],kr=Rt.select(".h"+Xe._id+"title-math-group").node(),xt=15.6;qt.node()&&(xt=parseInt(qt.node().style.fontSize,10)*y);var Xt;if(kr?(Xt=o.bBox(kr),st=Xt.width,Ne=Xt.height,Ne>xt&&(sr[1]-=(Ne-xt)/2)):qt.node()&&!qt.classed(L.jsPlaceholder)&&(Xt=o.bBox(qt.node()),st=Xt.width,Ne=Xt.height),O){if(Ne){if(Ne+=5,xe==="top")Xe.domain[1]-=Ne/te.h,sr[1]*=-1;else{Xe.domain[0]+=Ne/te.h;var jt=i.lineCount(qt);sr[1]+=(1-jt)*xt}Rt.attr("transform",t(sr[0],sr[1])),Xe.setScale()}}else st&&(xe==="right"&&(Xe.domain[0]+=(st+he/2)/te.w),Rt.attr("transform",t(sr[0],sr[1])),Xe.setScale())}D.selectAll("."+L.cbfills+",."+L.cblines).attr("transform",O?t(0,Math.round(te.h*(1-Xe.domain[1]))):t(Math.round(te.w*Xe.domain[0]),0)),me.attr("transform",O?t(0,Math.round(-te.t)):t(Math.round(-te.l),0));var wr=D.select("."+L.cbfills).selectAll("rect."+L.cbfill).attr("style","").data(we);wr.enter().append("rect").classed(L.cbfill,!0).style("stroke","none"),wr.exit().remove();var hr=Se.map(Xe.c2p).map(Math.round).sort(function(Lt,St){return Lt-St});wr.each(function(Lt,St){var Ot=[St===0?Se[0]:(we[St]+we[St-1])/2,St===we.length-1?Se[1]:(we[St]+we[St+1])/2].map(Xe.c2p).map(Math.round);O&&(Ot[1]=p.constrain(Ot[1]+(Ot[1]>Ot[0])?1:-1,hr[0],hr[1]));var Vt=v.select(this).attr(O?"x":"y",Je).attr(O?"y":"x",v.min(Ot)).attr(O?"width":"height",Math.max(Ge,2)).attr(O?"height":"width",Math.max(v.max(Ot)-v.min(Ot),2));if(F._fillgradient)o.gradient(Vt,G,F._id,O?"vertical":"horizontalreversed",F._fillgradient,"fill");else{var Jt=Be(Lt).replace("e-","");Vt.attr("fill",E(Jt).toHexString())}});var ct=D.select("."+L.cblines).selectAll("path."+L.cbline).data(ae.color&&ae.width?Ce:[]);ct.enter().append("path").classed(L.cbline,!0),ct.exit().remove(),ct.each(function(Lt){var St=Je,Ot=Math.round(Xe.c2p(Lt))+ae.width/2%1;v.select(this).attr("d","M"+(O?St+","+Ot:Ot+","+St)+(O?"h":"v")+Ge).call(o.lineGroupStyle,ae.width,Ae(Lt),ae.dash)}),me.selectAll("g."+Xe._id+"tick,path").remove();var ut=Je+Ge+(Z||0)/2-(F.ticks==="outside"?1:0),wt=w.calcTicks(Xe),Mt=w.getTickSigns(Xe)[2];return w.drawTicks(G,Xe,{vals:Xe.ticks==="inside"?w.clipEnds(Xe,wt):wt,layer:me,path:w.makeTickPath(Xe,ut,Mt),transFn:w.makeTransTickFn(Xe)}),w.drawLabels(G,Xe,{vals:wt,layer:me,transFn:w.makeTransTickLabelFn(Xe),labelFns:w.makeLabelFns(Xe,ut)})}function Gt(){var Rt,qt=Ge+Z/2;Te.indexOf("inside")===-1&&(Rt=o.bBox(me.node()),qt+=O?Rt.width:Rt.height),Re=Ie.select("text");var sr=0,kr=O&&xe==="top",xt=!O&&xe==="right",Xt=0;if(Re.node()&&!Re.classed(L.jsPlaceholder)){var jt,wr=Ie.select(".h"+Xe._id+"title-math-group").node();wr&&(O&&Ue||!O&&!Ue)?(Rt=o.bBox(wr),sr=Rt.width,jt=Rt.height):(Rt=o.bBox(Ie.node()),sr=Rt.right-te.l-(O?Je:Et),jt=Rt.bottom-te.t-(O?Et:Je),!O&&xe==="top"&&(qt+=Rt.height,Xt=Rt.height)),xt&&(Re.attr("transform",t(sr/2+he/2,0)),sr*=2),qt=Math.max(qt,O?sr:jt)}var hr=(O?$:Y)*2+qt+ee+Z/2,ct=0;!O&&de.text&&fe==="bottom"&&X<=0&&(ct=hr/2,hr+=ct,Xt+=ct),q._hColorbarMoveTitle=ct,q._hColorbarMoveCBTitle=Xt;var ut=ee+Z,wt=(O?Je:Et)-ut/2-(O?$:0),Mt=(O?Et:Je)-(O?De:Y+Xt-ct);D.select("."+L.cbbg).attr("x",wt).attr("y",Mt).attr(O?"width":"height",Math.max(hr-ct,2)).attr(O?"height":"width",Math.max(De+ut,2)).call(n.fill,Q).call(n.stroke,F.bordercolor).style("stroke-width",ee);var Lt=xt?Math.max(sr-10,0):0;D.selectAll("."+L.cboutline).attr("x",(O?Je:Et+$)+Lt).attr("y",(O?Et+Y-De:Je)+(kr?Ne:0)).attr(O?"width":"height",Math.max(Ge,2)).attr(O?"height":"width",Math.max(De-(O?2*Y+Ne:2*$+Lt),2)).call(n.stroke,F.outlinecolor).style({fill:"none","stroke-width":Z});var St=O?tt*hr:0,Ot=O?0:(1-ht)*hr-Xt;if(St=le?te.l-St:-St,Ot=re?te.t-Ot:-Ot,D.attr("transform",t(St,Ot)),!O&&(ee||E(Q).getAlpha()&&!E.equals(q.paper_bgcolor,Q))){var Vt=me.selectAll("text"),Jt=Vt[0].length,$t=D.select("."+L.cbbg).node(),ir=o.bBox($t),Cr=o.getTranslate(D),je=2;Vt.each(function(vr,pr){var dr=0,Yr=Jt-1;if(pr===dr||pr===Yr){var zr=o.bBox(this),Or=o.getTranslate(this),mn;if(pr===Yr){var Kr=zr.right+Or.x,kn=ir.right+Cr.x+Et-ee-je+j;mn=kn-Kr,mn>0&&(mn=0)}else if(pr===dr){var Dn=zr.left+Or.x,xr=ir.left+Cr.x+Et+ee+je;mn=xr-Dn,mn<0&&(mn=0)}mn&&(Jt<3?this.setAttribute("transform","translate("+mn+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}})}var We={},It=T[ne],kt=S[ne],Yt=T[fe],ar=S[fe],lr=hr-Ge;O?(z==="pixels"?(We.y=X,We.t=De*Yt,We.b=De*ar):(We.t=We.b=0,We.yt=X+H*Yt,We.yb=X-H*ar),V==="pixels"?(We.x=j,We.l=hr*It,We.r=hr*kt):(We.l=lr*It,We.r=lr*kt,We.xl=j-k*It,We.xr=j+k*kt)):(z==="pixels"?(We.x=j,We.l=De*It,We.r=De*kt):(We.l=We.r=0,We.xl=j+H*It,We.xr=j-H*kt),V==="pixels"?(We.y=1-X,We.t=hr*Yt,We.b=hr*ar):(We.t=lr*Yt,We.b=lr*ar,We.yt=X-k*Yt,We.yb=X+k*ar));var rr=F.y<.5?"b":"t",Nt=F.x<.5?"l":"r";G._fullLayout._reservedMargin[F._id]={};var cr={r:q.width-wt-St,l:wt+We.r,b:q.height-Mt-Ot,t:Mt+We.b};le&&re?a.autoMargin(G,F._id,We):le?G._fullLayout._reservedMargin[F._id][rr]=cr[rr]:re||O?G._fullLayout._reservedMargin[F._id][Nt]=cr[Nt]:G._fullLayout._reservedMargin[F._id][rr]=cr[rr]}return p.syncOrAsync([a.previousPromises,At,Ht,Ft,a.previousPromises,Gt],G)}function s(D,F,G){var O=F.orientation==="v",H=G._fullLayout,z=H._size,k,V,Z;d.init({element:D.node(),gd:G,prepFn:function(){k=D.attr("transform"),c(D)},moveFn:function(ee,Q){D.attr("transform",k+t(ee,Q)),V=d.align((O?F._uFrac:F._vFrac)+ee/z.w,O?F._thickFrac:F._lenFrac,0,1,F.xanchor),Z=d.align((O?F._vFrac:1-F._uFrac)-Q/z.h,O?F._lenFrac:F._thickFrac,0,1,F.yanchor);var ne=d.getCursor(V,Z,F.xanchor,F.yanchor);c(D,ne)},doneFn:function(){if(c(D),V!==void 0&&Z!==void 0){var ee={};ee[F._propPrefix+"x"]=V,ee[F._propPrefix+"y"]=Z,F._traceIndex!==void 0?C.call("_guiRestyle",G,ee,F._traceIndex):C.call("_guiRelayout",G,ee)}}})}function _(D,F,G){var O=F._levels,H=[],z=[],k,V,Z=O.end+O.size/100,ee=O.size,Q=1.001*G[0]-.001*G[1],ne=1.001*G[1]-.001*G[0];for(V=0;V<1e5&&(k=O.start+V*ee,!(ee>0?k>=Z:k<=Z));V++)k>Q&&k0?k>=Z:k<=Z));V++)k>G[0]&&kh-i?i=h-(g-h):g-h=0?l=t.colorscale.sequential:l=t.colorscale.sequentialminus,n._sync("colorscale",l)}}},33046:function(U,B,e){var v=e(71828),E=e(52075).hasColorscale,a=e(52075).extractOpts;U.exports=function(w,d){function p(i,g){var h=i["_"+g];h!==void 0&&(i[g]=h)}function t(i,g){var h=g.container?v.nestedProperty(i,g.container).get():i;if(h)if(h.coloraxis)h._colorAx=d[h.coloraxis];else{var x=a(h),f=x.auto;(f||x.min===void 0)&&p(h,g.min),(f||x.max===void 0)&&p(h,g.max),x.autocolorscale&&p(h,"colorscale")}}for(var r=0;r=0;l--,y++){var T=h[l];f[y]=[1-T[0],T[1]]}return f}function u(h,x){x=x||{};for(var f=h.domain,l=h.range,y=l.length,T=new Array(y),S=0;S1.3333333333333333-p?d:p}},70461:function(U,B,e){var v=e(71828),E=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];U.exports=function(C,w,d,p){return d==="left"?C=0:d==="center"?C=1:d==="right"?C=2:C=v.constrain(Math.floor(C*3),0,2),p==="bottom"?w=0:p==="middle"?w=1:p==="top"?w=2:w=v.constrain(Math.floor(w*3),0,2),E[w][C]}},64505:function(U,B){B.selectMode=function(e){return e==="lasso"||e==="select"},B.drawMode=function(e){return e==="drawclosedpath"||e==="drawopenpath"||e==="drawline"||e==="drawrect"||e==="drawcircle"},B.openMode=function(e){return e==="drawline"||e==="drawopenpath"},B.rectMode=function(e){return e==="select"||e==="drawline"||e==="drawrect"||e==="drawcircle"},B.freeMode=function(e){return e==="lasso"||e==="drawclosedpath"||e==="drawopenpath"},B.selectingOrDrawing=function(e){return B.freeMode(e)||B.rectMode(e)}},28569:function(U,B,e){var v=e(48956),E=e(57035),a=e(38520),C=e(71828).removeElement,w=e(85555),d=U.exports={};d.align=e(92807),d.getCursor=e(70461);var p=e(26041);d.unhover=p.wrapped,d.unhoverRaw=p.raw,d.init=function(o){var n=o.gd,u=1,i=n._context.doubleClickDelay,g=o.element,h,x,f,l,y,T,S,L;n._mouseDownTime||(n._mouseDownTime=0),g.style.pointerEvents="all",g.onmousedown=b,a?(g._ontouchstart&&g.removeEventListener("touchstart",g._ontouchstart),g._ontouchstart=b,g.addEventListener("touchstart",b,{passive:!1})):g.ontouchstart=b;function m(A,D,F){return Math.abs(A)"u"&&typeof A.clientY>"u"&&(A.clientX=h,A.clientY=x),f=new Date().getTime(),f-n._mouseDownTimei&&(u=Math.max(u-1,1)),n._dragged)o.doneFn&&o.doneFn();else if(o.clickFn&&o.clickFn(u,T),!L){var D;try{D=new MouseEvent("click",A)}catch{var F=r(A);D=document.createEvent("MouseEvents"),D.initMouseEvent("click",A.bubbles,A.cancelable,A.view,A.detail,A.screenX,A.screenY,F[0],F[1],A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.button,A.relatedTarget)}S.dispatchEvent(D)}n._dragging=!1,n._dragged=!1}};function t(){var c=document.createElement("div");c.className="dragcover";var o=c.style;return o.position="fixed",o.left=0,o.right=0,o.top=0,o.bottom=0,o.zIndex=999999999,o.background="none",document.body.appendChild(c),c}d.coverSlip=t;function r(c){return v(c.changedTouches?c.changedTouches[0]:c,document.body)}},26041:function(U,B,e){var v=e(11086),E=e(79990),a=e(24401).getGraphDiv,C=e(26675),w=U.exports={};w.wrapped=function(d,p,t){d=a(d),d._fullLayout&&E.clear(d._fullLayout._uid+C.HOVERID),w.raw(d,p,t)},w.raw=function(p,t){var r=p._fullLayout,c=p._hoverdata;t||(t={}),!(t.target&&!p._dragged&&v.triggerHandler(p,"plotly_beforehover",t)===!1)&&(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),p._hoverdata=void 0,t.target&&c&&p.emit("plotly_unhover",{event:t,points:c}))}},79952:function(U,B){B.P={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},B.u={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},91424:function(U,B,e){var v=e(39898),E=e(71828),a=E.numberFormat,C=e(92770),w=e(84267),d=e(73972),p=e(7901),t=e(21081),r=E.strTranslate,c=e(63893),o=e(77922),n=e(18783),u=n.LINE_SPACING,i=e(37822).DESELECTDIM,g=e(34098),h=e(39984),x=e(23469).appendArrayPointValue,f=U.exports={};f.font=function(Ee,we,Ce,Ge){E.isPlainObject(we)&&(Ge=we.color,Ce=we.size,we=we.family),we&&Ee.style("font-family",we),Ce+1&&Ee.style("font-size",Ce+"px"),Ge&&Ee.call(p.fill,Ge)},f.setPosition=function(Ee,we,Ce){Ee.attr("x",we).attr("y",Ce)},f.setSize=function(Ee,we,Ce){Ee.attr("width",we).attr("height",Ce)},f.setRect=function(Ee,we,Ce,Ge,He){Ee.call(f.setPosition,we,Ce).call(f.setSize,Ge,He)},f.translatePoint=function(Ee,we,Ce,Ge){var He=Ce.c2p(Ee.x),De=Ge.c2p(Ee.y);if(C(He)&&C(De)&&we.node())we.node().nodeName==="text"?we.attr("x",He).attr("y",De):we.attr("transform",r(He,De));else return!1;return!0},f.translatePoints=function(Ee,we,Ce){Ee.each(function(Ge){var He=v.select(this);f.translatePoint(Ge,He,we,Ce)})},f.hideOutsideRangePoint=function(Ee,we,Ce,Ge,He,De){we.attr("display",Ce.isPtWithinRange(Ee,He)&&Ge.isPtWithinRange(Ee,De)?null:"none")},f.hideOutsideRangePoints=function(Ee,we){if(we._hasClipOnAxisFalse){var Ce=we.xaxis,Ge=we.yaxis;Ee.each(function(He){var De=He[0].trace,Fe=De.xcalendar,qe=De.ycalendar,Qe=d.traceIs(De,"bar-like")?".bartext":".point,.textpoint";Ee.selectAll(Qe).each(function(Je){f.hideOutsideRangePoint(Je,v.select(this),Ce,Ge,Fe,qe)})})}},f.crispRound=function(Ee,we,Ce){return!we||!C(we)?Ce||0:Ee._context.staticPlot?we:we<1?1:Math.round(we)},f.singleLineStyle=function(Ee,we,Ce,Ge,He){we.style("fill","none");var De=(((Ee||[])[0]||{}).trace||{}).line||{},Fe=Ce||De.width||0,qe=He||De.dash||"";p.stroke(we,Ge||De.color),f.dashLine(we,qe,Fe)},f.lineGroupStyle=function(Ee,we,Ce,Ge){Ee.style("fill","none").each(function(He){var De=(((He||[])[0]||{}).trace||{}).line||{},Fe=we||De.width||0,qe=Ge||De.dash||"";v.select(this).call(p.stroke,Ce||De.color).call(f.dashLine,qe,Fe)})},f.dashLine=function(Ee,we,Ce){Ce=+Ce||0,we=f.dashStyle(we,Ce),Ee.style({"stroke-dasharray":we,"stroke-width":Ce+"px"})},f.dashStyle=function(Ee,we){we=+we||1;var Ce=Math.max(we,3);return Ee==="solid"?Ee="":Ee==="dot"?Ee=Ce+"px,"+Ce+"px":Ee==="dash"?Ee=3*Ce+"px,"+3*Ce+"px":Ee==="longdash"?Ee=5*Ce+"px,"+5*Ce+"px":Ee==="dashdot"?Ee=3*Ce+"px,"+Ce+"px,"+Ce+"px,"+Ce+"px":Ee==="longdashdot"&&(Ee=5*Ce+"px,"+2*Ce+"px,"+Ce+"px,"+2*Ce+"px"),Ee};function l(Ee,we,Ce){var Ge=we.fillpattern,He=Ge&&f.getPatternAttr(Ge.shape,0,"");if(He){var De=f.getPatternAttr(Ge.bgcolor,0,null),Fe=f.getPatternAttr(Ge.fgcolor,0,null),qe=Ge.fgopacity,Qe=f.getPatternAttr(Ge.size,0,8),Je=f.getPatternAttr(Ge.solidity,0,.3),tt=we.uid;f.pattern(Ee,"point",Ce,tt,He,Qe,Je,void 0,Ge.fillmode,De,Fe,qe)}else we.fillcolor&&Ee.call(p.fill,we.fillcolor)}f.singleFillStyle=function(Ee,we){var Ce=v.select(Ee.node()),Ge=Ce.data(),He=((Ge[0]||[])[0]||{}).trace||{};l(Ee,He,we)},f.fillGroupStyle=function(Ee,we){Ee.style("stroke-width",0).each(function(Ce){var Ge=v.select(this);Ce[0].trace&&l(Ge,Ce[0].trace,we)})};var y=e(90998);f.symbolNames=[],f.symbolFuncs=[],f.symbolBackOffs=[],f.symbolNeedLines={},f.symbolNoDot={},f.symbolNoFill={},f.symbolList=[],Object.keys(y).forEach(function(Ee){var we=y[Ee],Ce=we.n;f.symbolList.push(Ce,String(Ce),Ee,Ce+100,String(Ce+100),Ee+"-open"),f.symbolNames[Ce]=Ee,f.symbolFuncs[Ce]=we.f,f.symbolBackOffs[Ce]=we.backoff||0,we.needLine&&(f.symbolNeedLines[Ce]=!0),we.noDot?f.symbolNoDot[Ce]=!0:f.symbolList.push(Ce+200,String(Ce+200),Ee+"-dot",Ce+300,String(Ce+300),Ee+"-open-dot"),we.noFill&&(f.symbolNoFill[Ce]=!0)});var T=f.symbolNames.length,S="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";f.symbolNumber=function(Ee){if(C(Ee))Ee=+Ee;else if(typeof Ee=="string"){var we=0;Ee.indexOf("-open")>0&&(we=100,Ee=Ee.replace("-open","")),Ee.indexOf("-dot")>0&&(we+=200,Ee=Ee.replace("-dot","")),Ee=f.symbolNames.indexOf(Ee),Ee>=0&&(Ee+=we)}return Ee%100>=T||Ee>=400?0:Math.floor(Math.max(Ee,0))};function L(Ee,we,Ce,Ge){var He=Ee%100;return f.symbolFuncs[He](we,Ce,Ge)+(Ee>=200?S:"")}var m={x1:1,x2:0,y1:0,y2:0},M={x1:0,x2:0,y1:1,y2:0},b=a("~f"),s={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:m},horizontalreversed:{node:"linearGradient",attrs:m,reversed:!0},vertical:{node:"linearGradient",attrs:M},verticalreversed:{node:"linearGradient",attrs:M,reversed:!0}};f.gradient=function(Ee,we,Ce,Ge,He,De){for(var Fe=He.length,qe=s[Ge],Qe=new Array(Fe),Je=0;Je=100;var Je=Oe(Ee,Ce),tt=re(Ee,Ce);we.attr("d",L(Qe,qe,Je,tt))}var ht=!1,gt,yt,Et;if(Ee.so)Et=Fe.outlierwidth,yt=Fe.outliercolor,gt=De.outliercolor;else{var Xe=(Fe||{}).width;Et=(Ee.mlw+1||Xe+1||(Ee.trace?(Ee.trace.marker.line||{}).width:0)+1)-1||0,"mlc"in Ee?yt=Ee.mlcc=Ge.lineScale(Ee.mlc):E.isArrayOrTypedArray(Fe.color)?yt=p.defaultLine:yt=Fe.color,E.isArrayOrTypedArray(De.color)&&(gt=p.defaultLine,ht=!0),"mc"in Ee?gt=Ee.mcc=Ge.markerScale(Ee.mc):gt=De.color||"rgba(0,0,0,0)",Ge.selectedColorFn&&(gt=Ge.selectedColorFn(Ee))}if(Ee.om)we.call(p.stroke,gt).style({"stroke-width":(Et||1)+"px",fill:"none"});else{we.style("stroke-width",(Ee.isBlank?0:Et)+"px");var Ue=De.gradient,ze=Ee.mgt;ze?ht=!0:ze=Ue&&Ue.type,E.isArrayOrTypedArray(ze)&&(ze=ze[0],s[ze]||(ze=0));var rt=De.pattern,it=rt&&f.getPatternAttr(rt.shape,Ee.i,"");if(ze&&ze!=="none"){var Ze=Ee.mgc;Ze?ht=!0:Ze=Ue.color;var Ie=Ce.uid;ht&&(Ie+="-"+Ee.i),f.gradient(we,He,Ie,ze,[[0,Ze],[1,gt]],"fill")}else if(it){var Te=f.getPatternAttr(rt.bgcolor,Ee.i,null),he=f.getPatternAttr(rt.fgcolor,Ee.i,null),me=rt.fgopacity,Re=f.getPatternAttr(rt.size,Ee.i,8),Ne=f.getPatternAttr(rt.solidity,Ee.i,.3),st=Ee.mcc||E.isArrayOrTypedArray(rt.shape)||E.isArrayOrTypedArray(rt.bgcolor)||E.isArrayOrTypedArray(rt.size)||E.isArrayOrTypedArray(rt.solidity),ft=Ce.uid;st&&(ft+="-"+Ee.i),f.pattern(we,"point",He,ft,it,Re,Ne,Ee.mcc,rt.fillmode,Te,he,me)}else p.fill(we,gt);Et&&p.stroke(we,yt)}},f.makePointStyleFns=function(Ee){var we={},Ce=Ee.marker;return we.markerScale=f.tryColorscale(Ce,""),we.lineScale=f.tryColorscale(Ce,"line"),d.traceIs(Ee,"symbols")&&(we.ms2mrc=g.isBubble(Ee)?h(Ee):function(){return(Ce.size||6)/2}),Ee.selectedpoints&&E.extendFlat(we,f.makeSelectedPointStyleFns(Ee)),we},f.makeSelectedPointStyleFns=function(Ee){var we={},Ce=Ee.selected||{},Ge=Ee.unselected||{},He=Ee.marker||{},De=Ce.marker||{},Fe=Ge.marker||{},qe=He.opacity,Qe=De.opacity,Je=Fe.opacity,tt=Qe!==void 0,ht=Je!==void 0;(E.isArrayOrTypedArray(qe)||tt||ht)&&(we.selectedOpacityFn=function(Ze){var Ie=Ze.mo===void 0?He.opacity:Ze.mo;return Ze.selected?tt?Qe:Ie:ht?Je:i*Ie});var gt=He.color,yt=De.color,Et=Fe.color;(yt||Et)&&(we.selectedColorFn=function(Ze){var Ie=Ze.mcc||gt;return Ze.selected?yt||Ie:Et||Ie});var Xe=He.size,Ue=De.size,ze=Fe.size,rt=Ue!==void 0,it=ze!==void 0;return d.traceIs(Ee,"symbols")&&(rt||it)&&(we.selectedSizeFn=function(Ze){var Ie=Ze.mrc||Xe/2;return Ze.selected?rt?Ue/2:Ie:it?ze/2:Ie}),we},f.makeSelectedTextStyleFns=function(Ee){var we={},Ce=Ee.selected||{},Ge=Ee.unselected||{},He=Ee.textfont||{},De=Ce.textfont||{},Fe=Ge.textfont||{},qe=He.color,Qe=De.color,Je=Fe.color;return we.selectedTextColorFn=function(tt){var ht=tt.tc||qe;return tt.selected?Qe||ht:Je||(Qe?ht:p.addOpacity(ht,i))},we},f.selectedPointStyle=function(Ee,we){if(!(!Ee.size()||!we.selectedpoints)){var Ce=f.makeSelectedPointStyleFns(we),Ge=we.marker||{},He=[];Ce.selectedOpacityFn&&He.push(function(De,Fe){De.style("opacity",Ce.selectedOpacityFn(Fe))}),Ce.selectedColorFn&&He.push(function(De,Fe){p.fill(De,Ce.selectedColorFn(Fe))}),Ce.selectedSizeFn&&He.push(function(De,Fe){var qe=Fe.mx||Ge.symbol||0,Qe=Ce.selectedSizeFn(Fe);De.attr("d",L(f.symbolNumber(qe),Qe,Oe(Fe,we),re(Fe,we))),Fe.mrc2=Qe}),He.length&&Ee.each(function(De){for(var Fe=v.select(this),qe=0;qe0?Ce:0}f.textPointStyle=function(Ee,we,Ce){if(Ee.size()){var Ge;if(we.selectedpoints){var He=f.makeSelectedTextStyleFns(we);Ge=He.selectedTextColorFn}var De=we.texttemplate,Fe=Ce._fullLayout;Ee.each(function(qe){var Qe=v.select(this),Je=De?E.extractOption(qe,we,"txt","texttemplate"):E.extractOption(qe,we,"tx","text");if(!Je&&Je!==0){Qe.remove();return}if(De){var tt=we._module.formatLabels,ht=tt?tt(qe,we,Fe):{},gt={};x(gt,we,qe.i);var yt=we._meta||{};Je=E.texttemplateString(Je,ht,Fe._d3locale,gt,qe,yt)}var Et=qe.tp||we.textposition,Xe=D(qe,we),Ue=Ge?Ge(qe):qe.tc||we.textfont.color;Qe.call(f.font,qe.tf||we.textfont.family,Xe,Ue).text(Je).call(c.convertToTspans,Ce).call(A,Et,Xe,qe.mrc)})}},f.selectedTextStyle=function(Ee,we){if(!(!Ee.size()||!we.selectedpoints)){var Ce=f.makeSelectedTextStyleFns(we);Ee.each(function(Ge){var He=v.select(this),De=Ce.selectedTextColorFn(Ge),Fe=Ge.tp||we.textposition,qe=D(Ge,we);p.fill(He,De);var Qe=d.traceIs(we,"bar-like");A(He,Fe,qe,Ge.mrc2||Ge.mrc,Qe)})}};var F=.5;f.smoothopen=function(Ee,we){if(Ee.length<3)return"M"+Ee.join("L");var Ce="M"+Ee[0],Ge=[],He;for(He=1;He=Qe||Ze>=tt&&Ze<=Qe)&&(Ie<=ht&&Ie>=Je||Ie>=ht&&Ie<=Je)&&(Ee=[Ze,Ie])}return Ee}f.applyBackoff=Q,f.makeTester=function(){var Ee=E.ensureSingleById(v.select("body"),"svg","js-plotly-tester",function(Ce){Ce.attr(o.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),we=E.ensureSingle(Ee,"path","js-reference-point",function(Ce){Ce.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});f.tester=Ee,f.testref=we},f.savedBBoxes={};var ne=0,fe=1e4;f.bBox=function(Ee,we,Ce){Ce||(Ce=$(Ee));var Ge;if(Ce){if(Ge=f.savedBBoxes[Ce],Ge)return E.extendFlat({},Ge)}else if(Ee.childNodes.length===1){var He=Ee.childNodes[0];if(Ce=$(He),Ce){var De=+He.getAttribute("x")||0,Fe=+He.getAttribute("y")||0,qe=He.getAttribute("transform");if(!qe){var Qe=f.bBox(He,!1,Ce);return De&&(Qe.left+=De,Qe.right+=De),Fe&&(Qe.top+=Fe,Qe.bottom+=Fe),Qe}if(Ce+="~"+De+"~"+Fe+"~"+qe,Ge=f.savedBBoxes[Ce],Ge)return E.extendFlat({},Ge)}}var Je,tt;we?Je=Ee:(tt=f.tester.node(),Je=Ee.cloneNode(!0),tt.appendChild(Je)),v.select(Je).attr("transform",null).call(c.positionText,0,0);var ht=Je.getBoundingClientRect(),gt=f.testref.node().getBoundingClientRect();we||tt.removeChild(Je);var yt={height:ht.height,width:ht.width,left:ht.left-gt.left,top:ht.top-gt.top,right:ht.right-gt.left,bottom:ht.bottom-gt.top};return ne>=fe&&(f.savedBBoxes={},ne=0),Ce&&(f.savedBBoxes[Ce]=yt),ne++,E.extendFlat({},yt)};function $(Ee){var we=Ee.getAttribute("data-unformatted");if(we!==null)return we+Ee.getAttribute("data-math")+Ee.getAttribute("text-anchor")+Ee.getAttribute("style")}f.setClipUrl=function(Ee,we,Ce){Ee.attr("clip-path",Y(we,Ce))};function Y(Ee,we){if(!Ee)return null;var Ce=we._context,Ge=Ce._exportedPlot?"":Ce._baseUrl||"";return Ge?"url('"+Ge+"#"+Ee+"')":"url(#"+Ee+")"}f.getTranslate=function(Ee){var we=/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,Ce=Ee.attr?"attr":"getAttribute",Ge=Ee[Ce]("transform")||"",He=Ge.replace(we,function(De,Fe,qe){return[Fe,qe].join(" ")}).split(" ");return{x:+He[0]||0,y:+He[1]||0}},f.setTranslate=function(Ee,we,Ce){var Ge=/(\btranslate\(.*?\);?)/,He=Ee.attr?"attr":"getAttribute",De=Ee.attr?"attr":"setAttribute",Fe=Ee[He]("transform")||"";return we=we||0,Ce=Ce||0,Fe=Fe.replace(Ge,"").trim(),Fe+=r(we,Ce),Fe=Fe.trim(),Ee[De]("transform",Fe),Fe},f.getScale=function(Ee){var we=/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,Ce=Ee.attr?"attr":"getAttribute",Ge=Ee[Ce]("transform")||"",He=Ge.replace(we,function(De,Fe,qe){return[Fe,qe].join(" ")}).split(" ");return{x:+He[0]||1,y:+He[1]||1}},f.setScale=function(Ee,we,Ce){var Ge=/(\bscale\(.*?\);?)/,He=Ee.attr?"attr":"getAttribute",De=Ee.attr?"attr":"setAttribute",Fe=Ee[He]("transform")||"";return we=we||1,Ce=Ce||1,Fe=Fe.replace(Ge,"").trim(),Fe+="scale("+we+","+Ce+")",Fe=Fe.trim(),Ee[De]("transform",Fe),Fe};var j=/\s*sc.*/;f.setPointGroupScale=function(Ee,we,Ce){if(we=we||1,Ce=Ce||1,!!Ee){var Ge=we===1&&Ce===1?"":"scale("+we+","+Ce+")";Ee.each(function(){var He=(this.getAttribute("transform")||"").replace(j,"");He+=Ge,He=He.trim(),this.setAttribute("transform",He)})}};var X=/translate\([^)]*\)\s*$/;f.setTextPointsScale=function(Ee,we,Ce){Ee&&Ee.each(function(){var Ge,He=v.select(this),De=He.select("text");if(De.node()){var Fe=parseFloat(De.attr("x")||0),qe=parseFloat(De.attr("y")||0),Qe=(He.attr("transform")||"").match(X);we===1&&Ce===1?Ge=[]:Ge=[r(Fe,qe),"scale("+we+","+Ce+")",r(-Fe,-qe)],Qe&&Ge.push(Qe),He.attr("transform",Ge.join(""))}})};function re(Ee,we){var Ce;return Ee&&(Ce=Ee.mf),Ce===void 0&&(Ce=we.marker&&we.marker.standoff||0),!we._geo&&!we._xA?-Ce:Ce}f.getMarkerStandoff=re;var le=Math.atan2,q=Math.cos,te=Math.sin;function ue(Ee,we){var Ce=we[0],Ge=we[1];return[Ce*q(Ee)-Ge*te(Ee),Ce*te(Ee)+Ge*q(Ee)]}var ae,de,xe,Se,Ae,Be;function Oe(Ee,we){var Ce=Ee.ma;Ce===void 0&&(Ce=we.marker.angle||0);var Ge,He,De=we.marker.angleref;if(De==="previous"||De==="north"){if(we._geo){var Fe=we._geo.project(Ee.lonlat);Ge=Fe[0],He=Fe[1]}else{var qe=we._xA,Qe=we._yA;if(qe&&Qe)Ge=qe.c2p(Ee.x),He=Qe.c2p(Ee.y);else return 90}if(we._geo){var Je=Ee.lonlat[0],tt=Ee.lonlat[1],ht=we._geo.project([Je,tt+1e-5]),gt=we._geo.project([Je+1e-5,tt]),yt=le(gt[1]-He,gt[0]-Ge),Et=le(ht[1]-He,ht[0]-Ge),Xe;if(De==="north")Xe=Ce/180*Math.PI;else if(De==="previous"){var Ue=Je/180*Math.PI,ze=tt/180*Math.PI,rt=ae/180*Math.PI,it=de/180*Math.PI,Ze=rt-Ue,Ie=q(it)*te(Ze),Te=te(it)*q(ze)-q(it)*te(ze)*q(Ze);Xe=-le(Ie,Te)-Math.PI,ae=Je,de=tt}var he=ue(yt,[q(Xe),0]),me=ue(Et,[te(Xe),0]);Ce=le(he[1]+me[1],he[0]+me[0])/Math.PI*180,De==="previous"&&!(Be===we.uid&&Ee.i===Ae+1)&&(Ce=null)}if(De==="previous"&&!we._geo)if(Be===we.uid&&Ee.i===Ae+1&&C(Ge)&&C(He)){var Re=Ge-xe,Ne=He-Se,st=we.line&&we.line.shape||"",ft=st.slice(st.length-1);ft==="h"&&(Ne=0),ft==="v"&&(Re=0),Ce+=le(Ne,Re)/Math.PI*180+90}else Ce=null}return xe=Ge,Se=He,Ae=Ee.i,Be=we.uid,Ce}f.getMarkerAngle=Oe},90998:function(U,B,e){var v=e(95616),E=e(39898).round,a="M0,0Z",C=Math.sqrt(2),w=Math.sqrt(3),d=Math.PI,p=Math.cos,t=Math.sin;U.exports={circle:{n:0,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l="M"+f+",0A"+f+","+f+" 0 1,1 0,-"+f+"A"+f+","+f+" 0 0,1 "+f+",0Z";return x?i(h,x,l):l}},square:{n:1,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"H-"+f+"V-"+f+"H"+f+"Z")}},diamond:{n:2,f:function(g,h,x){if(r(h))return a;var f=E(g*1.3,2);return i(h,x,"M"+f+",0L0,"+f+"L-"+f+",0L0,-"+f+"Z")}},cross:{n:3,f:function(g,h,x){if(r(h))return a;var f=E(g*.4,2),l=E(g*1.2,2);return i(h,x,"M"+l+","+f+"H"+f+"V"+l+"H-"+f+"V"+f+"H-"+l+"V-"+f+"H-"+f+"V-"+l+"H"+f+"V-"+f+"H"+l+"Z")}},x:{n:4,f:function(g,h,x){if(r(h))return a;var f=E(g*.8/C,2),l="l"+f+","+f,y="l"+f+",-"+f,T="l-"+f+",-"+f,S="l-"+f+","+f;return i(h,x,"M0,"+f+l+y+T+y+T+S+T+S+l+S+l+"Z")}},"triangle-up":{n:5,f:function(g,h,x){if(r(h))return a;var f=E(g*2/w,2),l=E(g/2,2),y=E(g,2);return i(h,x,"M-"+f+","+l+"H"+f+"L0,-"+y+"Z")}},"triangle-down":{n:6,f:function(g,h,x){if(r(h))return a;var f=E(g*2/w,2),l=E(g/2,2),y=E(g,2);return i(h,x,"M-"+f+",-"+l+"H"+f+"L0,"+y+"Z")}},"triangle-left":{n:7,f:function(g,h,x){if(r(h))return a;var f=E(g*2/w,2),l=E(g/2,2),y=E(g,2);return i(h,x,"M"+l+",-"+f+"V"+f+"L-"+y+",0Z")}},"triangle-right":{n:8,f:function(g,h,x){if(r(h))return a;var f=E(g*2/w,2),l=E(g/2,2),y=E(g,2);return i(h,x,"M-"+l+",-"+f+"V"+f+"L"+y+",0Z")}},"triangle-ne":{n:9,f:function(g,h,x){if(r(h))return a;var f=E(g*.6,2),l=E(g*1.2,2);return i(h,x,"M-"+l+",-"+f+"H"+f+"V"+l+"Z")}},"triangle-se":{n:10,f:function(g,h,x){if(r(h))return a;var f=E(g*.6,2),l=E(g*1.2,2);return i(h,x,"M"+f+",-"+l+"V"+f+"H-"+l+"Z")}},"triangle-sw":{n:11,f:function(g,h,x){if(r(h))return a;var f=E(g*.6,2),l=E(g*1.2,2);return i(h,x,"M"+l+","+f+"H-"+f+"V-"+l+"Z")}},"triangle-nw":{n:12,f:function(g,h,x){if(r(h))return a;var f=E(g*.6,2),l=E(g*1.2,2);return i(h,x,"M-"+f+","+l+"V-"+f+"H"+l+"Z")}},pentagon:{n:13,f:function(g,h,x){if(r(h))return a;var f=E(g*.951,2),l=E(g*.588,2),y=E(-g,2),T=E(g*-.309,2),S=E(g*.809,2);return i(h,x,"M"+f+","+T+"L"+l+","+S+"H-"+l+"L-"+f+","+T+"L0,"+y+"Z")}},hexagon:{n:14,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g/2,2),y=E(g*w/2,2);return i(h,x,"M"+y+",-"+l+"V"+l+"L0,"+f+"L-"+y+","+l+"V-"+l+"L0,-"+f+"Z")}},hexagon2:{n:15,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g/2,2),y=E(g*w/2,2);return i(h,x,"M-"+l+","+y+"H"+l+"L"+f+",0L"+l+",-"+y+"H-"+l+"L-"+f+",0Z")}},octagon:{n:16,f:function(g,h,x){if(r(h))return a;var f=E(g*.924,2),l=E(g*.383,2);return i(h,x,"M-"+l+",-"+f+"H"+l+"L"+f+",-"+l+"V"+l+"L"+l+","+f+"H-"+l+"L-"+f+","+l+"V-"+l+"Z")}},star:{n:17,f:function(g,h,x){if(r(h))return a;var f=g*1.4,l=E(f*.225,2),y=E(f*.951,2),T=E(f*.363,2),S=E(f*.588,2),L=E(-f,2),m=E(f*-.309,2),M=E(f*.118,2),b=E(f*.809,2),s=E(f*.382,2);return i(h,x,"M"+l+","+m+"H"+y+"L"+T+","+M+"L"+S+","+b+"L0,"+s+"L-"+S+","+b+"L-"+T+","+M+"L-"+y+","+m+"H-"+l+"L0,"+L+"Z")}},hexagram:{n:18,f:function(g,h,x){if(r(h))return a;var f=E(g*.66,2),l=E(g*.38,2),y=E(g*.76,2);return i(h,x,"M-"+y+",0l-"+l+",-"+f+"h"+y+"l"+l+",-"+f+"l"+l+","+f+"h"+y+"l-"+l+","+f+"l"+l+","+f+"h-"+y+"l-"+l+","+f+"l-"+l+",-"+f+"h-"+y+"Z")}},"star-triangle-up":{n:19,f:function(g,h,x){if(r(h))return a;var f=E(g*w*.8,2),l=E(g*.8,2),y=E(g*1.6,2),T=E(g*4,2),S="A "+T+","+T+" 0 0 1 ";return i(h,x,"M-"+f+","+l+S+f+","+l+S+"0,-"+y+S+"-"+f+","+l+"Z")}},"star-triangle-down":{n:20,f:function(g,h,x){if(r(h))return a;var f=E(g*w*.8,2),l=E(g*.8,2),y=E(g*1.6,2),T=E(g*4,2),S="A "+T+","+T+" 0 0 1 ";return i(h,x,"M"+f+",-"+l+S+"-"+f+",-"+l+S+"0,"+y+S+f+",-"+l+"Z")}},"star-square":{n:21,f:function(g,h,x){if(r(h))return a;var f=E(g*1.1,2),l=E(g*2,2),y="A "+l+","+l+" 0 0 1 ";return i(h,x,"M-"+f+",-"+f+y+"-"+f+","+f+y+f+","+f+y+f+",-"+f+y+"-"+f+",-"+f+"Z")}},"star-diamond":{n:22,f:function(g,h,x){if(r(h))return a;var f=E(g*1.4,2),l=E(g*1.9,2),y="A "+l+","+l+" 0 0 1 ";return i(h,x,"M-"+f+",0"+y+"0,"+f+y+f+",0"+y+"0,-"+f+y+"-"+f+",0Z")}},"diamond-tall":{n:23,f:function(g,h,x){if(r(h))return a;var f=E(g*.7,2),l=E(g*1.4,2);return i(h,x,"M0,"+l+"L"+f+",0L0,-"+l+"L-"+f+",0Z")}},"diamond-wide":{n:24,f:function(g,h,x){if(r(h))return a;var f=E(g*1.4,2),l=E(g*.7,2);return i(h,x,"M0,"+l+"L"+f+",0L0,-"+l+"L-"+f+",0Z")}},hourglass:{n:25,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"H-"+f+"L"+f+",-"+f+"H-"+f+"Z")},noDot:!0},bowtie:{n:26,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"V-"+f+"L-"+f+","+f+"V-"+f+"Z")},noDot:!0},"circle-cross":{n:27,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M0,"+f+"V-"+f+"M"+f+",0H-"+f+"M"+f+",0A"+f+","+f+" 0 1,1 0,-"+f+"A"+f+","+f+" 0 0,1 "+f+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g/C,2);return i(h,x,"M"+l+","+l+"L-"+l+",-"+l+"M"+l+",-"+l+"L-"+l+","+l+"M"+f+",0A"+f+","+f+" 0 1,1 0,-"+f+"A"+f+","+f+" 0 0,1 "+f+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M0,"+f+"V-"+f+"M"+f+",0H-"+f+"M"+f+","+f+"H-"+f+"V-"+f+"H"+f+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"L-"+f+",-"+f+"M"+f+",-"+f+"L-"+f+","+f+"M"+f+","+f+"H-"+f+"V-"+f+"H"+f+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(g,h,x){if(r(h))return a;var f=E(g*1.3,2);return i(h,x,"M"+f+",0L0,"+f+"L-"+f+",0L0,-"+f+"ZM0,-"+f+"V"+f+"M-"+f+",0H"+f)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(g,h,x){if(r(h))return a;var f=E(g*1.3,2),l=E(g*.65,2);return i(h,x,"M"+f+",0L0,"+f+"L-"+f+",0L0,-"+f+"ZM-"+l+",-"+l+"L"+l+","+l+"M-"+l+","+l+"L"+l+",-"+l)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(g,h,x){if(r(h))return a;var f=E(g*1.4,2);return i(h,x,"M0,"+f+"V-"+f+"M"+f+",0H-"+f)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"L-"+f+",-"+f+"M"+f+",-"+f+"L-"+f+","+f)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(g,h,x){if(r(h))return a;var f=E(g*1.2,2),l=E(g*.85,2);return i(h,x,"M0,"+f+"V-"+f+"M"+f+",0H-"+f+"M"+l+","+l+"L-"+l+",-"+l+"M"+l+",-"+l+"L-"+l+","+l)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(g,h,x){if(r(h))return a;var f=E(g/2,2),l=E(g,2);return i(h,x,"M"+f+","+l+"V-"+l+"M"+(f-l)+",-"+l+"V"+l+"M"+l+","+f+"H-"+l+"M-"+l+","+(f-l)+"H"+l)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(g,h,x){if(r(h))return a;var f=E(g*1.2,2),l=E(g*1.6,2),y=E(g*.8,2);return i(h,x,"M-"+f+","+y+"L0,0M"+f+","+y+"L0,0M0,-"+l+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(g,h,x){if(r(h))return a;var f=E(g*1.2,2),l=E(g*1.6,2),y=E(g*.8,2);return i(h,x,"M-"+f+",-"+y+"L0,0M"+f+",-"+y+"L0,0M0,"+l+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(g,h,x){if(r(h))return a;var f=E(g*1.2,2),l=E(g*1.6,2),y=E(g*.8,2);return i(h,x,"M"+y+","+f+"L0,0M"+y+",-"+f+"L0,0M-"+l+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(g,h,x){if(r(h))return a;var f=E(g*1.2,2),l=E(g*1.6,2),y=E(g*.8,2);return i(h,x,"M-"+y+","+f+"L0,0M-"+y+",-"+f+"L0,0M"+l+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(g,h,x){if(r(h))return a;var f=E(g*1.4,2);return i(h,x,"M"+f+",0H-"+f)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(g,h,x){if(r(h))return a;var f=E(g*1.4,2);return i(h,x,"M0,"+f+"V-"+f)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+",-"+f+"L-"+f+","+f)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(g,h,x){if(r(h))return a;var f=E(g,2);return i(h,x,"M"+f+","+f+"L-"+f+",-"+f)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g*2,2);return i(h,x,"M0,0L-"+f+","+l+"H"+f+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g*2,2);return i(h,x,"M0,0L-"+f+",-"+l+"H"+f+"Z")},noDot:!0},"arrow-left":{n:47,f:function(g,h,x){if(r(h))return a;var f=E(g*2,2),l=E(g,2);return i(h,x,"M0,0L"+f+",-"+l+"V"+l+"Z")},noDot:!0},"arrow-right":{n:48,f:function(g,h,x){if(r(h))return a;var f=E(g*2,2),l=E(g,2);return i(h,x,"M0,0L-"+f+",-"+l+"V"+l+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g*2,2);return i(h,x,"M-"+f+",0H"+f+"M0,0L-"+f+","+l+"H"+f+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(g,h,x){if(r(h))return a;var f=E(g,2),l=E(g*2,2);return i(h,x,"M-"+f+",0H"+f+"M0,0L-"+f+",-"+l+"H"+f+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(g,h,x){if(r(h))return a;var f=E(g*2,2),l=E(g,2);return i(h,x,"M0,-"+l+"V"+l+"M0,0L"+f+",-"+l+"V"+l+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(g,h,x){if(r(h))return a;var f=E(g*2,2),l=E(g,2);return i(h,x,"M0,-"+l+"V"+l+"M0,0L-"+f+",-"+l+"V"+l+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(g,h,x){if(r(h))return a;var f=d/2.5,l=2*g*p(f),y=2*g*t(f);return i(h,x,"M0,0L"+-l+","+y+"L"+l+","+y+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(g,h,x){if(r(h))return a;var f=d/4,l=2*g*p(f),y=2*g*t(f);return i(h,x,"M0,0L"+-l+","+y+"A "+2*g+","+2*g+" 0 0 1 "+l+","+y+"Z")},backoff:.4,noDot:!0}};function r(g){return g===null}var c,o,n,u;function i(g,h,x){if((!g||g%360===0)&&!h)return x;if(n===g&&u===h&&c===x)return o;n=g,u=h,c=x;function f(F,G){var O=p(F),H=t(F),z=G[0],k=G[1]+(h||0);return[z*O-k*H,z*H+k*O]}for(var l=g/180*d,y=0,T=0,S=v(x),L="",m=0;m0,g=p._context.staticPlot;t.each(function(h){var x=h[0].trace,f=x.error_x||{},l=x.error_y||{},y;x.ids&&(y=function(m){return m.id});var T=C.hasMarkers(x)&&x.marker.maxdisplayed>0;!l.visible&&!f.visible&&(h=[]);var S=v.select(this).selectAll("g.errorbar").data(h,y);if(S.exit().remove(),!!h.length){f.visible||S.selectAll("path.xerror").remove(),l.visible||S.selectAll("path.yerror").remove(),S.style("opacity",1);var L=S.enter().append("g").classed("errorbar",!0);i&&L.style("opacity",0).transition().duration(c.duration).style("opacity",1),a.setClipUrl(S,r.layerClipId,p),S.each(function(m){var M=v.select(this),b=w(m,n,u);if(!(T&&!m.vis)){var s,_=M.select("path.yerror");if(l.visible&&E(b.x)&&E(b.yh)&&E(b.ys)){var A=l.width;s="M"+(b.x-A)+","+b.yh+"h"+2*A+"m-"+A+",0V"+b.ys,b.noYS||(s+="m-"+A+",0h"+2*A),o=!_.size(),o?_=M.append("path").style("vector-effect",g?"none":"non-scaling-stroke").classed("yerror",!0):i&&(_=_.transition().duration(c.duration).ease(c.easing)),_.attr("d",s)}else _.remove();var D=M.select("path.xerror");if(f.visible&&E(b.y)&&E(b.xh)&&E(b.xs)){var F=(f.copy_ystyle?l:f).width;s="M"+b.xh+","+(b.y-F)+"v"+2*F+"m0,-"+F+"H"+b.xs,b.noXS||(s+="m0,-"+F+"v"+2*F),o=!D.size(),o?D=M.append("path").style("vector-effect",g?"none":"non-scaling-stroke").classed("xerror",!0):i&&(D=D.transition().duration(c.duration).ease(c.easing)),D.attr("d",s)}else D.remove()}})}})};function w(d,p,t){var r={x:p.c2p(d.x),y:t.c2p(d.y)};return d.yh!==void 0&&(r.yh=t.c2p(d.yh),r.ys=t.c2p(d.ys),E(r.ys)||(r.noYS=!0,r.ys=t.c2p(d.ys,!0))),d.xh!==void 0&&(r.xh=p.c2p(d.xh),r.xs=p.c2p(d.xs),E(r.xs)||(r.noXS=!0,r.xs=p.c2p(d.xs,!0))),r}},62662:function(U,B,e){var v=e(39898),E=e(7901);U.exports=function(C){C.each(function(w){var d=w[0].trace,p=d.error_y||{},t=d.error_x||{},r=v.select(this);r.selectAll("path.yerror").style("stroke-width",p.thickness+"px").call(E.stroke,p.color),t.copy_ystyle&&(t=p),r.selectAll("path.xerror").style("stroke-width",t.thickness+"px").call(E.stroke,t.color)})}},77914:function(U,B,e){var v=e(41940),E=e(528).hoverlabel,a=e(1426).extendFlat;U.exports={hoverlabel:{bgcolor:a({},E.bgcolor,{arrayOk:!0}),bordercolor:a({},E.bordercolor,{arrayOk:!0}),font:v({arrayOk:!0,editType:"none"}),align:a({},E.align,{arrayOk:!0}),namelength:a({},E.namelength,{arrayOk:!0}),editType:"none"}}},30732:function(U,B,e){var v=e(71828),E=e(73972);U.exports=function(w){var d=w.calcdata,p=w._fullLayout;function t(u){return function(i){return v.coerceHoverinfo({hoverinfo:i},{_module:u._module},p)}}for(var r=0;r=0&&r.indexEe[0]._length||ft<0||ft>we[0]._length)return n.unhoverRaw(re,le)}if(le.pointerX=st+Ee[0]._offset,le.pointerY=ft+we[0]._offset,"xval"in le?ht=g.flat(ae,le.xval):ht=g.p2c(Ee,st),"yval"in le?gt=g.flat(ae,le.yval):gt=g.p2c(we,ft),!E(ht[0])||!E(gt[0]))return C.warn("Fx.hover failed",le,re),n.unhoverRaw(re,le)}var Ht=1/0;function Gt(br,Br){for(Et=0;Ethe&&(Je.splice(0,he),Ht=Je[0].distance),Ae&&Qe!==0&&Je.length===0){Te.distance=Qe,Te.index=!1;var Mn=Ue._module.hoverPoints(Te,Ze,Ie,"closest",{hoverLayer:de._hoverlayer});if(Mn&&(Mn=Mn.filter(function(aa){return aa.spikeDistance<=Qe})),Mn&&Mn.length){var Rn,Jn=Mn.filter(function(aa){return aa.xa.showspikes&&aa.xa.spikesnap!=="hovered data"});if(Jn.length){var na=Jn[0];E(na.x0)&&E(na.y0)&&(Rn=qt(na),(!me.vLinePoint||me.vLinePoint.spikeDistance>Rn.spikeDistance)&&(me.vLinePoint=Rn))}var ha=Mn.filter(function(aa){return aa.ya.showspikes&&aa.ya.spikesnap!=="hovered data"});if(ha.length){var ia=ha[0];E(ia.x0)&&E(ia.y0)&&(Rn=qt(ia),(!me.hLinePoint||me.hLinePoint.spikeDistance>Rn.spikeDistance)&&(me.hLinePoint=Rn))}}}}}Gt();function Rt(br,Br,Nr){for(var en=null,gn=1/0,hn,Mn=0;Mn0&&Math.abs(br.distance)St-1;je--)Cr(Je[je]);Je=Jt,Xt()}var We=re._hoverdata,It=[],kt=Y(re),Yt=j(re);for(yt=0;yt1||Je.length>1)||Fe==="closest"&&Re&&Je.length>1,Kr=o.combine(de.plot_bgcolor||o.background,de.paper_bgcolor),kn=F(Je,{gd:re,hovermode:Fe,rotateLabels:mn,bgColor:Kr,container:de._hoverlayer,outerContainer:de._paper.node(),commonLabelOpts:de.hoverlabel,hoverdistance:de.hoverdistance}),Dn=kn.hoverLabels;if(g.isUnifiedHover(Fe)||(O(Dn,mn,de,kn.commonLabelBoundingBox),k(Dn,mn,de._invScaleX,de._invScaleY)),ue&&ue.tagName){var xr=i.getComponentMethod("annotations","hasClickToShow")(re,It);r(v.select(ue),xr?"pointer":"")}!ue||te||!ee(re,le,We)||(We&&re.emit("plotly_unhover",{event:le,points:We}),re.emit("plotly_hover",{event:le,points:re._hoverdata,xaxes:Ee,yaxes:we,xvals:ht,yvals:gt}))}function A(re){return[re.trace.index,re.index,re.x0,re.y0,re.name,re.attr,re.xa?re.xa._id:"",re.ya?re.ya._id:""].join(",")}var D=/([\s\S]*)<\/extra>/;function F(re,le){var q=le.gd,te=q._fullLayout,ue=le.hovermode,ae=le.rotateLabels,de=le.bgColor,xe=le.container,Se=le.outerContainer,Ae=le.commonLabelOpts||{};if(re.length===0)return[[]];var Be=le.fontFamily||h.HOVERFONT,Oe=le.fontSize||h.HOVERFONTSIZE,Ee=re[0],we=Ee.xa,Ce=Ee.ya,Ge=ue.charAt(0),He=Ge+"Label",De=Ee[He];if(De===void 0&&we.type==="multicategory")for(var Fe=0;Fete.width-Yt?(We=te.width-Yt,Ot.attr("d","M"+(Yt-m)+",0L"+Yt+","+kt+m+"v"+kt+(M*2+je.height)+"H-"+Yt+"V"+kt+m+"H"+(Yt-m*2)+"Z")):Ot.attr("d","M0,0L"+m+","+kt+m+"H"+Yt+"v"+kt+(M*2+je.height)+"H-"+Yt+"V"+kt+m+"H-"+m+"Z"),ze.minX=We-Yt,ze.maxX=We+Yt,we.side==="top"?(ze.minY=It-(M*2+je.height),ze.maxY=It-M):(ze.minY=It+M,ze.maxY=It+(M*2+je.height))}else{var ar,lr,rr;Ce.side==="right"?(ar="start",lr=1,rr="",We=we._offset+we._length):(ar="end",lr=-1,rr="-",We=we._offset),It=Ce._offset+(Ee.y0+Ee.y1)/2,Vt.attr("text-anchor",ar),Ot.attr("d","M0,0L"+rr+m+","+m+"V"+(M+je.height/2)+"h"+rr+(M*2+je.width)+"V-"+(M+je.height/2)+"H"+rr+m+"V-"+m+"Z"),ze.minY=It-(M+je.height/2),ze.maxY=It+(M+je.height/2),Ce.side==="right"?(ze.minX=We+m,ze.maxX=We+m+(M*2+je.width)):(ze.minX=We-m-(M*2+je.width),ze.maxX=We-m);var Nt=je.height/2,cr=Qe-je.top-Nt,vr="clip"+te._uid+"commonlabel"+Ce._id,pr;if(We=0?wt=wr:hr+Gt=0?wt=hr:ct+Gt=0?Mt=Xt:jt+Rt=0?Mt=jt:ut+Rt=0,(St.idealAlign==="top"||!mn)&&Kr?(cr-=pr/2,St.anchor="end"):mn?(cr+=pr/2,St.anchor="start"):St.anchor="middle",St.crossPos=cr;else{if(St.pos=cr,mn=Nt+vr/2+Or<=Je,Kr=Nt-vr/2-Or>=0,(St.idealAlign==="left"||!mn)&&Kr)Nt-=vr/2,St.anchor="end";else if(mn)Nt+=vr/2,St.anchor="start";else{St.anchor="middle";var kn=Or/2,Dn=Nt+kn-Je,xr=Nt-kn;Dn>0&&(Nt-=Dn),xr<0&&(Nt+=-xr)}St.crossPos=Nt}kt.attr("text-anchor",St.anchor),ar&&Yt.attr("text-anchor",St.anchor),Ot.attr("transform",w(Nt,cr)+(ae?d(l):""))}),{hoverLabels:Lt,commonLabelBoundingBox:ze}}function G(re,le,q,te,ue,ae){var de="",xe="";re.nameOverride!==void 0&&(re.name=re.nameOverride),re.name&&(re.trace._meta&&(re.name=C.templateString(re.name,re.trace._meta)),de=ne(re.name,re.nameLength));var Se=q.charAt(0),Ae=Se==="x"?"y":"x";re.zLabel!==void 0?(re.xLabel!==void 0&&(xe+="x: "+re.xLabel+"
"),re.yLabel!==void 0&&(xe+="y: "+re.yLabel+"
"),re.trace.type!=="choropleth"&&re.trace.type!=="choroplethmapbox"&&(xe+=(xe?"z: ":"")+re.zLabel)):le&&re[Se+"Label"]===ue?xe=re[Ae+"Label"]||"":re.xLabel===void 0?re.yLabel!==void 0&&re.trace.type!=="scattercarpet"&&(xe=re.yLabel):re.yLabel===void 0?xe=re.xLabel:xe="("+re.xLabel+", "+re.yLabel+")",(re.text||re.text===0)&&!Array.isArray(re.text)&&(xe+=(xe?"
":"")+re.text),re.extraText!==void 0&&(xe+=(xe?"
":"")+re.extraText),ae&&xe===""&&!re.hovertemplate&&(de===""&&ae.remove(),xe=de);var Be=re.hovertemplate||!1;if(Be){var Oe=re.hovertemplateLabels||re;re[Se+"Label"]!==ue&&(Oe[Se+"other"]=Oe[Se+"Val"],Oe[Se+"otherLabel"]=Oe[Se+"Label"]),xe=C.hovertemplateString(Be,Oe,te._d3locale,re.eventData[0]||{},re.trace._meta),xe=xe.replace(D,function(Ee,we){return de=ne(we,re.nameLength),""})}return[xe,de]}function O(re,le,q,te){var ue=le?"xa":"ya",ae=le?"ya":"xa",de=0,xe=1,Se=re.size(),Ae=new Array(Se),Be=0,Oe=te.minX,Ee=te.maxX,we=te.minY,Ce=te.maxY,Ge=function(Ze){return Ze*q._invScaleX},He=function(Ze){return Ze*q._invScaleY};re.each(function(Ze){var Ie=Ze[ue],Te=Ze[ae],he=Ie._id.charAt(0)==="x",me=Ie.range;Be===0&&me&&me[0]>me[1]!==he&&(xe=-1);var Re=0,Ne=he?q.width:q.height;if(q.hovermode==="x"||q.hovermode==="y"){var st=H(Ze,le),ft=Ze.anchor,At=ft==="end"?-1:1,Ft,Ht;if(ft==="middle")Ft=Ze.crossPos+(he?He(st.y-Ze.by/2):Ge(Ze.bx/2+Ze.tx2width/2)),Ht=Ft+(he?He(Ze.by):Ge(Ze.bx));else if(he)Ft=Ze.crossPos+He(m+st.y)-He(Ze.by/2-m),Ht=Ft+He(Ze.by);else{var Gt=Ge(At*m+st.x),Rt=Gt+Ge(At*Ze.bx);Ft=Ze.crossPos+Math.min(Gt,Rt),Ht=Ze.crossPos+Math.max(Gt,Rt)}he?we!==void 0&&Ce!==void 0&&Math.min(Ht,Ce)-Math.max(Ft,we)>1&&(Te.side==="left"?(Re=Te._mainLinePosition,Ne=q.width):Ne=Te._mainLinePosition):Oe!==void 0&&Ee!==void 0&&Math.min(Ht,Ee)-Math.max(Ft,Oe)>1&&(Te.side==="top"?(Re=Te._mainLinePosition,Ne=q.height):Ne=Te._mainLinePosition)}Ae[Be++]=[{datum:Ze,traceIndex:Ze.trace.index,dp:0,pos:Ze.pos,posref:Ze.posref,size:Ze.by*(he?T:1)/2,pmin:Re,pmax:Ne}]}),Ae.sort(function(Ze,Ie){return Ze[0].posref-Ie[0].posref||xe*(Ie[0].traceIndex-Ze[0].traceIndex)});var De,Fe,qe,Qe,Je,tt,ht;function gt(Ze){var Ie=Ze[0],Te=Ze[Ze.length-1];if(Fe=Ie.pmin-Ie.pos-Ie.dp+Ie.size,qe=Te.pos+Te.dp+Te.size-Ie.pmax,Fe>.01){for(Je=Ze.length-1;Je>=0;Je--)Ze[Je].dp+=Fe;De=!1}if(!(qe<.01)){if(Fe<-.01){for(Je=Ze.length-1;Je>=0;Je--)Ze[Je].dp-=qe;De=!1}if(De){var he=0;for(Qe=0;QeIe.pmax&&he++;for(Qe=Ze.length-1;Qe>=0&&!(he<=0);Qe--)tt=Ze[Qe],tt.pos>Ie.pmax-1&&(tt.del=!0,he--);for(Qe=0;Qe=0;Je--)Ze[Je].dp-=qe;for(Qe=Ze.length-1;Qe>=0&&!(he<=0);Qe--)tt=Ze[Qe],tt.pos+tt.dp+tt.size>Ie.pmax&&(tt.del=!0,he--)}}}for(;!De&&de<=Se;){for(de++,De=!0,Qe=0;Qe.01&&Xe.pmin===Ue.pmin&&Xe.pmax===Ue.pmax){for(Je=Et.length-1;Je>=0;Je--)Et[Je].dp+=Fe;for(yt.push.apply(yt,Et),Ae.splice(Qe+1,1),ht=0,Je=yt.length-1;Je>=0;Je--)ht+=yt[Je].dp;for(qe=ht/yt.length,Je=yt.length-1;Je>=0;Je--)yt[Je].dp-=qe;De=!1}else Qe++}Ae.forEach(gt)}for(Qe=Ae.length-1;Qe>=0;Qe--){var ze=Ae[Qe];for(Je=ze.length-1;Je>=0;Je--){var rt=ze[Je],it=rt.datum;it.offset=rt.dp,it.del=rt.del}}}function H(re,le){var q=0,te=re.offset;return le&&(te*=-L,q=re.offset*S),{x:q,y:te}}function z(re){var le={start:1,end:-1,middle:0}[re.anchor],q=le*(m+M),te=q+le*(re.txwidth+M),ue=re.anchor==="middle";return ue&&(q-=re.tx2width/2,te+=re.txwidth/2+M),{alignShift:le,textShiftX:q,text2ShiftX:te}}function k(re,le,q,te){var ue=function(de){return de*q},ae=function(de){return de*te};re.each(function(de){var xe=v.select(this);if(de.del)return xe.remove();var Se=xe.select("text.nums"),Ae=de.anchor,Be=Ae==="end"?-1:1,Oe=z(de),Ee=H(de,le),we=Ee.x,Ce=Ee.y,Ge=Ae==="middle";xe.select("path").attr("d",Ge?"M-"+ue(de.bx/2+de.tx2width/2)+","+ae(Ce-de.by/2)+"h"+ue(de.bx)+"v"+ae(de.by)+"h-"+ue(de.bx)+"Z":"M0,0L"+ue(Be*m+we)+","+ae(m+Ce)+"v"+ae(de.by/2-m)+"h"+ue(Be*de.bx)+"v-"+ae(de.by)+"H"+ue(Be*m+we)+"V"+ae(Ce-m)+"Z");var He=we+Oe.textShiftX,De=Ce+de.ty0-de.by/2+M,Fe=de.textAlign||"auto";Fe!=="auto"&&(Fe==="left"&&Ae!=="start"?(Se.attr("text-anchor","start"),He=Ge?-de.bx/2-de.tx2width/2+M:-de.bx-M):Fe==="right"&&Ae!=="end"&&(Se.attr("text-anchor","end"),He=Ge?de.bx/2-de.tx2width/2-M:de.bx+M)),Se.call(t.positionText,ue(He),ae(De)),de.tx2width&&(xe.select("text.name").call(t.positionText,ue(Oe.text2ShiftX+Oe.alignShift*M+we),ae(Ce+de.ty0-de.by/2+M)),xe.select("rect").call(c.setRect,ue(Oe.text2ShiftX+(Oe.alignShift-1)*de.tx2width/2+we),ae(Ce-de.by/2-1),ue(de.tx2width),ae(de.by+2)))})}function V(re,le){var q=re.index,te=re.trace||{},ue=re.cd[0],ae=re.cd[q]||{};function de(Ee){return Ee||E(Ee)&&Ee===0}var xe=Array.isArray(q)?function(Ee,we){var Ce=C.castOption(ue,q,Ee);return de(Ce)?Ce:C.extractOption({},te,"",we)}:function(Ee,we){return C.extractOption(ae,te,Ee,we)};function Se(Ee,we,Ce){var Ge=xe(we,Ce);de(Ge)&&(re[Ee]=Ge)}if(Se("hoverinfo","hi","hoverinfo"),Se("bgcolor","hbg","hoverlabel.bgcolor"),Se("borderColor","hbc","hoverlabel.bordercolor"),Se("fontFamily","htf","hoverlabel.font.family"),Se("fontSize","hts","hoverlabel.font.size"),Se("fontColor","htc","hoverlabel.font.color"),Se("nameLength","hnl","hoverlabel.namelength"),Se("textAlign","hta","hoverlabel.align"),re.posref=le==="y"||le==="closest"&&te.orientation==="h"?re.xa._offset+(re.x0+re.x1)/2:re.ya._offset+(re.y0+re.y1)/2,re.x0=C.constrain(re.x0,0,re.xa._length),re.x1=C.constrain(re.x1,0,re.xa._length),re.y0=C.constrain(re.y0,0,re.ya._length),re.y1=C.constrain(re.y1,0,re.ya._length),re.xLabelVal!==void 0&&(re.xLabel="xLabel"in re?re.xLabel:u.hoverLabelText(re.xa,re.xLabelVal,te.xhoverformat),re.xVal=re.xa.c2d(re.xLabelVal)),re.yLabelVal!==void 0&&(re.yLabel="yLabel"in re?re.yLabel:u.hoverLabelText(re.ya,re.yLabelVal,te.yhoverformat),re.yVal=re.ya.c2d(re.yLabelVal)),re.zLabelVal!==void 0&&re.zLabel===void 0&&(re.zLabel=String(re.zLabelVal)),!isNaN(re.xerr)&&!(re.xa.type==="log"&&re.xerr<=0)){var Ae=u.tickText(re.xa,re.xa.c2l(re.xerr),"hover").text;re.xerrneg!==void 0?re.xLabel+=" +"+Ae+" / -"+u.tickText(re.xa,re.xa.c2l(re.xerrneg),"hover").text:re.xLabel+=" ± "+Ae,le==="x"&&(re.distance+=1)}if(!isNaN(re.yerr)&&!(re.ya.type==="log"&&re.yerr<=0)){var Be=u.tickText(re.ya,re.ya.c2l(re.yerr),"hover").text;re.yerrneg!==void 0?re.yLabel+=" +"+Be+" / -"+u.tickText(re.ya,re.ya.c2l(re.yerrneg),"hover").text:re.yLabel+=" ± "+Be,le==="y"&&(re.distance+=1)}var Oe=re.hoverinfo||re.trace.hoverinfo;return Oe&&Oe!=="all"&&(Oe=Array.isArray(Oe)?Oe:Oe.split("+"),Oe.indexOf("x")===-1&&(re.xLabel=void 0),Oe.indexOf("y")===-1&&(re.yLabel=void 0),Oe.indexOf("z")===-1&&(re.zLabel=void 0),Oe.indexOf("text")===-1&&(re.text=void 0),Oe.indexOf("name")===-1&&(re.name=void 0)),re}function Z(re,le,q){var te=q.container,ue=q.fullLayout,ae=ue._size,de=q.event,xe=!!le.hLinePoint,Se=!!le.vLinePoint,Ae,Be;if(te.selectAll(".spikeline").remove(),!!(Se||xe)){var Oe=o.combine(ue.plot_bgcolor,ue.paper_bgcolor);if(xe){var Ee=le.hLinePoint,we,Ce;Ae=Ee&&Ee.xa,Be=Ee&&Ee.ya;var Ge=Be.spikesnap;Ge==="cursor"?(we=de.pointerX,Ce=de.pointerY):(we=Ae._offset+Ee.x,Ce=Be._offset+Ee.y);var He=a.readability(Ee.color,Oe)<1.5?o.contrast(Oe):Ee.color,De=Be.spikemode,Fe=Be.spikethickness,qe=Be.spikecolor||He,Qe=u.getPxPosition(re,Be),Je,tt;if(De.indexOf("toaxis")!==-1||De.indexOf("across")!==-1){if(De.indexOf("toaxis")!==-1&&(Je=Qe,tt=we),De.indexOf("across")!==-1){var ht=Be._counterDomainMin,gt=Be._counterDomainMax;Be.anchor==="free"&&(ht=Math.min(ht,Be.position),gt=Math.max(gt,Be.position)),Je=ae.l+ht*ae.w,tt=ae.l+gt*ae.w}te.insert("line",":first-child").attr({x1:Je,x2:tt,y1:Ce,y2:Ce,"stroke-width":Fe,stroke:qe,"stroke-dasharray":c.dashStyle(Be.spikedash,Fe)}).classed("spikeline",!0).classed("crisp",!0),te.insert("line",":first-child").attr({x1:Je,x2:tt,y1:Ce,y2:Ce,"stroke-width":Fe+2,stroke:Oe}).classed("spikeline",!0).classed("crisp",!0)}De.indexOf("marker")!==-1&&te.insert("circle",":first-child").attr({cx:Qe+(Be.side!=="right"?Fe:-Fe),cy:Ce,r:Fe,fill:qe}).classed("spikeline",!0)}if(Se){var yt=le.vLinePoint,Et,Xe;Ae=yt&&yt.xa,Be=yt&&yt.ya;var Ue=Ae.spikesnap;Ue==="cursor"?(Et=de.pointerX,Xe=de.pointerY):(Et=Ae._offset+yt.x,Xe=Be._offset+yt.y);var ze=a.readability(yt.color,Oe)<1.5?o.contrast(Oe):yt.color,rt=Ae.spikemode,it=Ae.spikethickness,Ze=Ae.spikecolor||ze,Ie=u.getPxPosition(re,Ae),Te,he;if(rt.indexOf("toaxis")!==-1||rt.indexOf("across")!==-1){if(rt.indexOf("toaxis")!==-1&&(Te=Ie,he=Xe),rt.indexOf("across")!==-1){var me=Ae._counterDomainMin,Re=Ae._counterDomainMax;Ae.anchor==="free"&&(me=Math.min(me,Ae.position),Re=Math.max(Re,Ae.position)),Te=ae.t+(1-Re)*ae.h,he=ae.t+(1-me)*ae.h}te.insert("line",":first-child").attr({x1:Et,x2:Et,y1:Te,y2:he,"stroke-width":it,stroke:Ze,"stroke-dasharray":c.dashStyle(Ae.spikedash,it)}).classed("spikeline",!0).classed("crisp",!0),te.insert("line",":first-child").attr({x1:Et,x2:Et,y1:Te,y2:he,"stroke-width":it+2,stroke:Oe}).classed("spikeline",!0).classed("crisp",!0)}rt.indexOf("marker")!==-1&&te.insert("circle",":first-child").attr({cx:Et,cy:Ie-(Ae.side!=="top"?it:-it),r:it,fill:Ze}).classed("spikeline",!0)}}}function ee(re,le,q){if(!q||q.length!==re._hoverdata.length)return!0;for(var te=q.length-1;te>=0;te--){var ue=q[te],ae=re._hoverdata[te];if(ue.curveNumber!==ae.curveNumber||String(ue.pointNumber)!==String(ae.pointNumber)||String(ue.pointNumbers)!==String(ae.pointNumbers))return!0}return!1}function Q(re,le){return!le||le.vLinePoint!==re._spikepoints.vLinePoint||le.hLinePoint!==re._spikepoints.hLinePoint}function ne(re,le){return t.plainText(re||"",{len:le,allowedTags:["br","sub","sup","b","i","em"]})}function fe(re,le){for(var q=le.charAt(0),te=[],ue=[],ae=[],de=0;de1)){delete u.grid;return}if(!x&&!f&&!l){var s=m("pattern")==="independent";s&&(x=!0)}L._hasSubplotGrid=x;var _=m("roworder"),A=_==="top to bottom",D=x?.2:.1,F=x?.3:.1,G,O;y&&u._splomGridDflt&&(G=u._splomGridDflt.xside,O=u._splomGridDflt.yside),L._domains={x:r("x",m,D,G,b),y:r("y",m,F,O,M,A)}}function r(n,u,i,g,h,x){var f=u(n+"gap",i),l=u("domain."+n);u(n+"side",g);for(var y=new Array(h),T=l[0],S=(l[1]-T)/(h-f),L=S*(1-f),m=0;m1);if(b===!1&&(o.legend=void 0),!(b===!1&&!u.uirevision)&&(g("uirevision",o.uirevision),b!==!1)){g("borderwidth");var s=g("orientation"),_=g("yref"),A=g("xref"),D=s==="h",F=_==="paper",G=A==="paper",O,H,z,k="left";D?(O=0,v.getComponentMethod("rangeslider","isVisible")(c.xaxis)?F?(H=1.1,z="bottom"):(H=1,z="top"):F?(H=-.1,z="top"):(H=0,z="bottom")):(H=1,z="auto",G?O=1.02:(O=1,k="right")),E.coerce(u,i,{x:{valType:"number",editType:"legend",min:G?-2:0,max:G?3:1,dflt:O}},"x"),E.coerce(u,i,{y:{valType:"number",editType:"legend",min:F?-2:0,max:F?3:1,dflt:H}},"y"),g("traceorder",m),p.isGrouped(o.legend)&&g("tracegroupgap"),g("entrywidth"),g("entrywidthmode"),g("itemsizing"),g("itemwidth"),g("itemclick"),g("itemdoubleclick"),g("groupclick"),g("xanchor",k),g("yanchor",z),g("valign"),E.noneOrAll(u,i,["x","y"]);var V=g("title.text");if(V){g("title.side",D?"left":"top");var Z=E.extendFlat({},h,{size:E.bigFont(h.size)});E.coerceFont(g,"title.font",Z)}}}}U.exports=function(c,o,n){var u,i=["legend"];for(u=0;u1)}var Y=Z.hiddenlabels||[];if(!fe&&(!Z.showlegend||!$.length))return ne.selectAll("."+ee).remove(),Z._topdefs.select("#"+Q).remove(),a.autoMargin(z,ee);var j=E.ensureSingle(ne,"g",ee,function(xe){fe||xe.attr("pointer-events","all")}),X=E.ensureSingleById(Z._topdefs,"clipPath",Q,function(xe){xe.append("rect")}),re=E.ensureSingle(j,"rect","bg",function(xe){xe.attr("shape-rendering","crispEdges")});re.call(t.stroke,V.bordercolor).call(t.fill,V.bgcolor).style("stroke-width",V.borderwidth+"px");var le=E.ensureSingle(j,"g","scrollbox"),q=V.title;if(V._titleWidth=0,V._titleHeight=0,q.text){var te=E.ensureSingle(le,"text",ee+"titletext");te.attr("text-anchor","start").call(p.font,q.font).text(q.text),s(te,le,z,V,l)}else le.selectAll("."+ee+"titletext").remove();var ue=E.ensureSingle(j,"rect","scrollbar",function(xe){xe.attr(o.scrollBarEnterAttrs).call(t.fill,o.scrollBarColor)}),ae=le.selectAll("g.groups").data($);ae.enter().append("g").attr("class","groups"),ae.exit().remove();var de=ae.selectAll("g.traces").data(E.identity);de.enter().append("g").attr("class","traces"),de.exit().remove(),de.style("opacity",function(xe){var Se=xe[0].trace;return C.traceIs(Se,"pie-like")?Y.indexOf(xe[0].label)!==-1?.5:1:Se.visible==="legendonly"?.5:1}).each(function(){v.select(this).call(m,z,V)}).call(x,z,V).each(function(){fe||v.select(this).call(b,z,ee)}),E.syncOrAsync([a.previousPromises,function(){return D(z,ae,de,V)},function(){var xe=Z._size,Se=V.borderwidth,Ae=V.xref==="paper",Be=V.yref==="paper";if(!fe){var Oe,Ee;Ae?Oe=xe.l+xe.w*V.x-i[G(V)]*V._width:Oe=Z.width*V.x-i[G(V)]*V._width,Be?Ee=xe.t+xe.h*(1-V.y)-i[O(V)]*V._effHeight:Ee=Z.height*(1-V.y)-i[O(V)]*V._effHeight;var we=F(z,ee,Oe,Ee);if(we)return;if(Z.margin.autoexpand){var Ce=Oe,Ge=Ee;Oe=Ae?E.constrain(Oe,0,Z.width-V._width):Ce,Ee=Be?E.constrain(Ee,0,Z.height-V._effHeight):Ge,Oe!==Ce&&E.log("Constrain "+ee+".x to make legend fit inside graph"),Ee!==Ge&&E.log("Constrain "+ee+".y to make legend fit inside graph")}p.setTranslate(j,Oe,Ee)}if(ue.on(".drag",null),j.on("wheel",null),fe||V._height<=V._maxHeight||z._context.staticPlot){var He=V._effHeight;fe&&(He=V._height),re.attr({width:V._width-Se,height:He-Se,x:Se/2,y:Se/2}),p.setTranslate(le,0,0),X.select("rect").attr({width:V._width-2*Se,height:He-2*Se,x:Se,y:Se}),p.setClipUrl(le,Q,z),p.setRect(ue,0,0,0,0),delete V._scrollY}else{var De=Math.max(o.scrollBarMinHeight,V._effHeight*V._effHeight/V._height),Fe=V._effHeight-De-2*o.scrollBarMargin,qe=V._height-V._effHeight,Qe=Fe/qe,Je=Math.min(V._scrollY||0,qe);re.attr({width:V._width-2*Se+o.scrollBarWidth+o.scrollBarMargin,height:V._effHeight-Se,x:Se/2,y:Se/2}),X.select("rect").attr({width:V._width-2*Se+o.scrollBarWidth+o.scrollBarMargin,height:V._effHeight-2*Se,x:Se,y:Se+Je}),p.setClipUrl(le,Q,z),ze(Je,De,Qe),j.on("wheel",function(){Je=E.constrain(V._scrollY+v.event.deltaY/Fe*qe,0,qe),ze(Je,De,Qe),Je!==0&&Je!==qe&&v.event.preventDefault()});var tt,ht,gt,yt=function(Te,he,me){var Re=(me-he)/Qe+Te;return E.constrain(Re,0,qe)},Et=function(Te,he,me){var Re=(he-me)/Qe+Te;return E.constrain(Re,0,qe)},Xe=v.behavior.drag().on("dragstart",function(){var Te=v.event.sourceEvent;Te.type==="touchstart"?tt=Te.changedTouches[0].clientY:tt=Te.clientY,gt=Je}).on("drag",function(){var Te=v.event.sourceEvent;Te.buttons===2||Te.ctrlKey||(Te.type==="touchmove"?ht=Te.changedTouches[0].clientY:ht=Te.clientY,Je=yt(gt,tt,ht),ze(Je,De,Qe))});ue.call(Xe);var Ue=v.behavior.drag().on("dragstart",function(){var Te=v.event.sourceEvent;Te.type==="touchstart"&&(tt=Te.changedTouches[0].clientY,gt=Je)}).on("drag",function(){var Te=v.event.sourceEvent;Te.type==="touchmove"&&(ht=Te.changedTouches[0].clientY,Je=Et(gt,tt,ht),ze(Je,De,Qe))});le.call(Ue)}function ze(Te,he,me){V._scrollY=z._fullLayout[ee]._scrollY=Te,p.setTranslate(le,0,-Te),p.setRect(ue,V._width,o.scrollBarMargin+Te*me,o.scrollBarWidth,he),X.select("rect").attr("y",Se+Te)}if(z._context.edits.legendPosition){var rt,it,Ze,Ie;j.classed("cursor-move",!0),d.init({element:j.node(),gd:z,prepFn:function(){var Te=p.getTranslate(j);Ze=Te.x,Ie=Te.y},moveFn:function(Te,he){var me=Ze+Te,Re=Ie+he;p.setTranslate(j,me,Re),rt=d.align(me,V._width,xe.l,xe.l+xe.w,V.xanchor),it=d.align(Re+V._height,-V._height,xe.t+xe.h,xe.t,V.yanchor)},doneFn:function(){if(rt!==void 0&&it!==void 0){var Te={};Te[ee+".x"]=rt,Te[ee+".y"]=it,C.call("_guiRelayout",z,Te)}},clickFn:function(Te,he){var me=ae.selectAll("g.traces").filter(function(){var Re=this.getBoundingClientRect();return he.clientX>=Re.left&&he.clientX<=Re.right&&he.clientY>=Re.top&&he.clientY<=Re.bottom});me.size()>0&&L(z,j,me,Te,he)}})}}],z)}}function S(z,k,V){var Z=z[0],ee=Z.width,Q=k.entrywidthmode,ne=Z.trace.legendwidth||k.entrywidth;return Q==="fraction"?k._maxWidth*ne:V+(ne||ee)}function L(z,k,V,Z,ee){var Q=V.data()[0][0].trace,ne={event:ee,node:V.node(),curveNumber:Q.index,expandedIndex:Q._expandedIndex,data:z.data,layout:z.layout,frames:z._transitionData._frames,config:z._context,fullData:z._fullData,fullLayout:z._fullLayout};Q._group&&(ne.group=Q._group),C.traceIs(Q,"pie-like")&&(ne.label=V.datum()[0].label);var fe=w.triggerHandler(z,"plotly_legendclick",ne);if(fe!==!1){if(Z===1)k._clickTimeout=setTimeout(function(){z._fullLayout&&c(V,z,Z)},z._context.doubleClickDelay);else if(Z===2){k._clickTimeout&&clearTimeout(k._clickTimeout),z._legendMouseDownTime=0;var $=w.triggerHandler(z,"plotly_legenddoubleclick",ne);$!==!1&&c(V,z,Z)}}}function m(z,k,V){var Z=H(V),ee=z.data()[0][0],Q=ee.trace,ne=C.traceIs(Q,"pie-like"),fe=!V._inHover&&k._context.edits.legendText&&!ne,$=V._maxNameLength,Y,j;ee.groupTitle?(Y=ee.groupTitle.text,j=ee.groupTitle.font):(j=V.font,V.entries?Y=ee.text:(Y=ne?ee.label:Q.name,Q._meta&&(Y=E.templateString(Y,Q._meta))));var X=E.ensureSingle(z,"text",Z+"text");X.attr("text-anchor","start").call(p.font,j).text(fe?M(Y,$):Y);var re=V.itemwidth+o.itemGap*2;r.positionText(X,re,0),fe?X.call(r.makeEditable,{gd:k,text:Y}).call(s,z,k,V).on("edit",function(le){this.text(M(le,$)).call(s,z,k,V);var q=ee.trace._fullInput||{},te={};if(C.hasTransform(q,"groupby")){var ue=C.getTransformIndices(q,"groupby"),ae=ue[ue.length-1],de=E.keyedContainer(q,"transforms["+ae+"].styles","target","value.name");de.set(ee.trace._group,le),te=de.constructUpdate()}else te.name=le;return C.call("_guiRestyle",k,te,Q.index)}):s(X,z,k,V)}function M(z,k){var V=Math.max(4,k);if(z&&z.trim().length>=V/2)return z;z=z||"";for(var Z=V-z.length;Z>0;Z--)z+=" ";return z}function b(z,k,V){var Z=k._context.doubleClickDelay,ee,Q=1,ne=E.ensureSingle(z,"rect",V+"toggle",function(fe){k._context.staticPlot||fe.style("cursor","pointer").attr("pointer-events","all"),fe.call(t.fill,"rgba(0,0,0,0)")});k._context.staticPlot||(ne.on("mousedown",function(){ee=new Date().getTime(),ee-k._legendMouseDownTimeZ&&(Q=Math.max(Q-1,1)),L(k,fe,z,Q,v.event)}}))}function s(z,k,V,Z,ee){Z._inHover&&z.attr("data-notex",!0),r.convertToTspans(z,V,function(){_(k,V,Z,ee)})}function _(z,k,V,Z){var ee=z.data()[0][0];if(!V._inHover&&ee&&!ee.trace.showlegend){z.remove();return}var Q=z.select("g[class*=math-group]"),ne=Q.node(),fe=H(V);V||(V=k._fullLayout[fe]);var $=V.borderwidth,Y;Z===l?Y=V.title.font:ee.groupTitle?Y=ee.groupTitle.font:Y=V.font;var j=Y.size*u,X,re;if(ne){var le=p.bBox(ne);X=le.height,re=le.width,Z===l?p.setTranslate(Q,$,$+X*.75):p.setTranslate(Q,0,X*.25)}else{var q="."+fe+(Z===l?"title":"")+"text",te=z.select(q),ue=r.lineCount(te),ae=te.node();if(X=j*ue,re=ae?p.bBox(ae).width:0,Z===l)V.title.side==="left"&&(re+=o.itemGap*2),r.positionText(te,$+o.titlePad,$+j);else{var de=o.itemGap*2+V.itemwidth;ee.groupTitle&&(de=o.itemGap,re-=V.itemwidth),r.positionText(te,de,-j*((ue-1)/2-.3))}}Z===l?(V._titleWidth=re,V._titleHeight=X):(ee.lineHeight=j,ee.height=Math.max(X,16)+3,ee.width=re)}function A(z){var k=0,V=0,Z=z.title.side;return Z&&(Z.indexOf("left")!==-1&&(k=z._titleWidth),Z.indexOf("top")!==-1&&(V=z._titleHeight)),[k,V]}function D(z,k,V,Z){var ee=z._fullLayout,Q=H(Z);Z||(Z=ee[Q]);var ne=ee._size,fe=f.isVertical(Z),$=f.isGrouped(Z),Y=Z.entrywidthmode==="fraction",j=Z.borderwidth,X=2*j,re=o.itemGap,le=Z.itemwidth+re*2,q=2*(j+re),te=O(Z),ue=Z.y<0||Z.y===0&&te==="top",ae=Z.y>1||Z.y===1&&te==="bottom",de=Z.tracegroupgap,xe={};Z._maxHeight=Math.max(ue||ae?ee.height/2:ne.h,30);var Se=0;Z._width=0,Z._height=0;var Ae=A(Z);if(fe)V.each(function(ze){var rt=ze[0].height;p.setTranslate(this,j+Ae[0],j+Ae[1]+Z._height+rt/2+re),Z._height+=rt,Z._width=Math.max(Z._width,ze[0].width)}),Se=le+Z._width,Z._width+=re+le+X,Z._height+=q,$&&(k.each(function(ze,rt){p.setTranslate(this,0,rt*Z.tracegroupgap)}),Z._height+=(Z._lgroupsLength-1)*Z.tracegroupgap);else{var Be=G(Z),Oe=Z.x<0||Z.x===0&&Be==="right",Ee=Z.x>1||Z.x===1&&Be==="left",we=ae||ue,Ce=ee.width/2;Z._maxWidth=Math.max(Oe?we&&Be==="left"?ne.l+ne.w:Ce:Ee?we&&Be==="right"?ne.r+ne.w:Ce:ne.w,2*le);var Ge=0,He=0;V.each(function(ze){var rt=S(ze,Z,le);Ge=Math.max(Ge,rt),He+=rt}),Se=null;var De=0;if($){var Fe=0,qe=0,Qe=0;k.each(function(){var ze=0,rt=0;v.select(this).selectAll("g.traces").each(function(Ze){var Ie=S(Ze,Z,le),Te=Ze[0].height;p.setTranslate(this,Ae[0],Ae[1]+j+re+Te/2+rt),rt+=Te,ze=Math.max(ze,Ie),xe[Ze[0].trace.legendgroup]=ze});var it=ze+re;qe>0&&it+j+qe>Z._maxWidth?(De=Math.max(De,qe),qe=0,Qe+=Fe+de,Fe=rt):Fe=Math.max(Fe,rt),p.setTranslate(this,qe,Qe),qe+=it}),Z._width=Math.max(De,qe)+j,Z._height=Qe+Fe+q}else{var Je=V.size(),tt=He+X+(Je-1)*re=Z._maxWidth&&(De=Math.max(De,Et),gt=0,yt+=ht,Z._height+=ht,ht=0),p.setTranslate(this,Ae[0]+j+gt,Ae[1]+j+yt+rt/2+re),Et=gt+it+re,gt+=Ze,ht=Math.max(ht,rt)}),tt?(Z._width=gt+X,Z._height=ht+q):(Z._width=Math.max(De,Et)+X,Z._height+=ht+q)}}Z._width=Math.ceil(Math.max(Z._width+Ae[0],Z._titleWidth+2*(j+o.titlePad))),Z._height=Math.ceil(Math.max(Z._height+Ae[1],Z._titleHeight+2*(j+o.itemGap))),Z._effHeight=Math.min(Z._height,Z._maxHeight);var Xe=z._context.edits,Ue=Xe.legendText||Xe.legendPosition;V.each(function(ze){var rt=v.select(this).select("."+Q+"toggle"),it=ze[0].height,Ze=ze[0].trace.legendgroup,Ie=S(ze,Z,le);$&&Ze!==""&&(Ie=xe[Ze]);var Te=Ue?le:Se||Ie;!fe&&!Y&&(Te+=re/2),p.setRect(rt,0,-it/2,Te,it)})}function F(z,k,V,Z){var ee=z._fullLayout,Q=ee[k],ne=G(Q),fe=O(Q),$=Q.xref==="paper",Y=Q.yref==="paper";z._fullLayout._reservedMargin[k]={};var j=Q.y<.5?"b":"t",X=Q.x<.5?"l":"r",re={r:ee.width-V,l:V+Q._width,b:ee.height-Z,t:Z+Q._effHeight};if($&&Y)return a.autoMargin(z,k,{x:Q.x,y:Q.y,l:Q._width*i[ne],r:Q._width*g[ne],b:Q._effHeight*g[fe],t:Q._effHeight*i[fe]});$?z._fullLayout._reservedMargin[k][j]=re[j]:Y||Q.orientation==="v"?z._fullLayout._reservedMargin[k][X]=re[X]:z._fullLayout._reservedMargin[k][j]=re[j]}function G(z){return E.isRightAnchor(z)?"right":E.isCenterAnchor(z)?"center":"left"}function O(z){return E.isBottomAnchor(z)?"bottom":E.isMiddleAnchor(z)?"middle":"top"}function H(z){return z._id||"legend"}},82424:function(U,B,e){var v=e(73972),E=e(10130);U.exports=function(C,w,d){var p=w._inHover,t=E.isGrouped(w),r=E.isReversed(w),c={},o=[],n=!1,u={},i=0,g=0,h,x;function f(k,V,Z){if(w.visible!==!1&&!(d&&k!==w._id))if(V===""||!E.isGrouped(w)){var ee="~~i"+i;o.push(ee),c[ee]=[Z],i++}else o.indexOf(V)===-1?(o.push(V),n=!0,c[V]=[Z]):c[V].push(Z)}for(h=0;hA&&(_=A)}b[h][0]._groupMinRank=_,b[h][0]._preGroupSort=h}var D=function(k,V){return k[0]._groupMinRank-V[0]._groupMinRank||k[0]._preGroupSort-V[0]._preGroupSort},F=function(k,V){return k.trace.legendrank-V.trace.legendrank||k._preSort-V._preSort};for(b.forEach(function(k,V){k[0]._preGroupSort=V}),b.sort(D),h=0;h0)re=Y.width;else return 0;return M?X:Math.min(re,j)};T.each(function($){var Y=v.select(this),j=a.ensureSingle(Y,"g","layers");j.style("opacity",$[0].trace.opacity);var X=L.valign,re=$[0].lineHeight,le=$[0].height;if(X==="middle"||!re||!le)j.attr("transform",null);else{var q={top:1,bottom:-1}[X],te=q*(.5*(re-le+3));j.attr("transform",C(0,te))}var ue=j.selectAll("g.legendfill").data([$]);ue.enter().append("g").classed("legendfill",!0);var ae=j.selectAll("g.legendlines").data([$]);ae.enter().append("g").classed("legendlines",!0);var de=j.selectAll("g.legendsymbols").data([$]);de.enter().append("g").classed("legendsymbols",!0),de.selectAll("g.legendpoints").data([$]).enter().append("g").classed("legendpoints",!0)}).each(fe).each(G).each(H).each(O).each(k).each(Q).each(ee).each(D).each(F).each(V).each(Z);function D($){var Y=f($),j=Y.showFill,X=Y.showLine,re=Y.showGradientLine,le=Y.showGradientFill,q=Y.anyFill,te=Y.anyLine,ue=$[0],ae=ue.trace,de,xe,Se=p(ae),Ae=Se.colorscale,Be=Se.reversescale,Oe=function(Fe){if(Fe.size())if(j)w.fillGroupStyle(Fe,S);else{var qe="legendfill-"+ae.uid;w.gradient(Fe,S,qe,x(Be),Ae,"fill")}},Ee=function(Fe){if(Fe.size()){var qe="legendline-"+ae.uid;w.lineGroupStyle(Fe),w.gradient(Fe,S,qe,x(Be),Ae,"stroke")}},we=t.hasMarkers(ae)||!q?"M5,0":te?"M5,-2":"M5,-3",Ce=v.select(this),Ge=Ce.select(".legendfill").selectAll("path").data(j||le?[$]:[]);if(Ge.enter().append("path").classed("js-fill",!0),Ge.exit().remove(),Ge.attr("d",we+"h"+b+"v6h-"+b+"z").call(Oe),X||re){var He=A(void 0,ae.line,g,u);xe=a.minExtend(ae,{line:{width:He}}),de=[a.minExtend(ue,{trace:xe})]}var De=Ce.select(".legendlines").selectAll("path").data(X||re?[de]:[]);De.enter().append("path").classed("js-line",!0),De.exit().remove(),De.attr("d",we+(re?"l"+b+",0.0001":"h"+b)).call(X?w.lineGroupStyle:Ee)}function F($){var Y=f($),j=Y.anyFill,X=Y.anyLine,re=Y.showLine,le=Y.showMarker,q=$[0],te=q.trace,ue=!le&&!X&&!j&&t.hasText(te),ae,de;function xe(Ge,He,De,Fe){var qe=a.nestedProperty(te,Ge).get(),Qe=a.isArrayOrTypedArray(qe)&&He?He(qe):qe;if(M&&Qe&&Fe!==void 0&&(Qe=Fe),De){if(QeDe[1])return De[1]}return Qe}function Se(Ge){return q._distinct&&q.index&&Ge[q.index]?Ge[q.index]:Ge[0]}if(le||ue||re){var Ae={},Be={};if(le){Ae.mc=xe("marker.color",Se),Ae.mx=xe("marker.symbol",Se),Ae.mo=xe("marker.opacity",a.mean,[.2,1]),Ae.mlc=xe("marker.line.color",Se),Ae.mlw=xe("marker.line.width",a.mean,[0,5],i),Be.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var Oe=xe("marker.size",a.mean,[2,16],n);Ae.ms=Oe,Be.marker.size=Oe}re&&(Be.line={width:xe("line.width",Se,[0,10],u)}),ue&&(Ae.tx="Aa",Ae.tp=xe("textposition",Se),Ae.ts=10,Ae.tc=xe("textfont.color",Se),Ae.tf=xe("textfont.family",Se)),ae=[a.minExtend(q,Ae)],de=a.minExtend(te,Be),de.selectedpoints=null,de.texttemplate=null}var Ee=v.select(this).select("g.legendpoints"),we=Ee.selectAll("path.scatterpts").data(le?ae:[]);we.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),we.exit().remove(),we.call(w.pointStyle,de,S),le&&(ae[0].mrc=3);var Ce=Ee.selectAll("g.pointtext").data(ue?ae:[]);Ce.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),Ce.exit().remove(),Ce.selectAll("text").call(w.textPointStyle,de,S)}function G($){var Y=$[0].trace,j=Y.type==="waterfall";if($[0]._distinct&&j){var X=$[0].trace[$[0].dir].marker;return $[0].mc=X.color,$[0].mlw=X.line.width,$[0].mlc=X.line.color,z($,this,"waterfall")}var re=[];Y.visible&&j&&(re=$[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var le=v.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(re);le.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),le.exit().remove(),le.each(function(q){var te=v.select(this),ue=Y[q[0]].marker,ae=A(void 0,ue.line,h,i);te.attr("d",q[1]).style("stroke-width",ae+"px").call(d.fill,ue.color),ae&&te.call(d.stroke,ue.line.color)})}function O($){z($,this)}function H($){z($,this,"funnel")}function z($,Y,j){var X=$[0].trace,re=X.marker||{},le=re.line||{},q=j?X.visible&&X.type===j:E.traceIs(X,"bar"),te=v.select(Y).select("g.legendpoints").selectAll("path.legend"+j).data(q?[$]:[]);te.enter().append("path").classed("legend"+j,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),te.exit().remove(),te.each(function(ue){var ae=v.select(this),de=ue[0],xe=A(de.mlw,re.line,h,i);ae.style("stroke-width",xe+"px");var Se=de.mcc;if(!L._inHover&&"mc"in de){var Ae=p(re),Be=Ae.mid;Be===void 0&&(Be=(Ae.max+Ae.min)/2),Se=w.tryColorscale(re,"")(Be)}var Oe=Se||de.mc||re.color,Ee=re.pattern,we=Ee&&w.getPatternAttr(Ee.shape,0,"");if(we){var Ce=w.getPatternAttr(Ee.bgcolor,0,null),Ge=w.getPatternAttr(Ee.fgcolor,0,null),He=Ee.fgopacity,De=l(Ee.size,8,10),Fe=l(Ee.solidity,.5,1),qe="legend-"+X.uid;ae.call(w.pattern,"legend",S,qe,we,De,Fe,Se,Ee.fillmode,Ce,Ge,He)}else ae.call(d.fill,Oe);xe&&d.stroke(ae,de.mlc||le.color)})}function k($){var Y=$[0].trace,j=v.select(this).select("g.legendpoints").selectAll("path.legendbox").data(Y.visible&&E.traceIs(Y,"box-violin")?[$]:[]);j.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),j.exit().remove(),j.each(function(){var X=v.select(this);if((Y.boxpoints==="all"||Y.points==="all")&&d.opacity(Y.fillcolor)===0&&d.opacity((Y.line||{}).color)===0){var re=a.minExtend(Y,{marker:{size:M?n:a.constrain(Y.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});j.call(w.pointStyle,re,S)}else{var le=A(void 0,Y.line,h,i);X.style("stroke-width",le+"px").call(d.fill,Y.fillcolor),le&&d.stroke(X,Y.line.color)}})}function V($){var Y=$[0].trace,j=v.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(Y.visible&&Y.type==="candlestick"?[$,$]:[]);j.enter().append("path").classed("legendcandle",!0).attr("d",function(X,re){return re?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform",_).style("stroke-miterlimit",1),j.exit().remove(),j.each(function(X,re){var le=v.select(this),q=Y[re?"increasing":"decreasing"],te=A(void 0,q.line,h,i);le.style("stroke-width",te+"px").call(d.fill,q.fillcolor),te&&d.stroke(le,q.line.color)})}function Z($){var Y=$[0].trace,j=v.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(Y.visible&&Y.type==="ohlc"?[$,$]:[]);j.enter().append("path").classed("legendohlc",!0).attr("d",function(X,re){return re?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform",_).style("stroke-miterlimit",1),j.exit().remove(),j.each(function(X,re){var le=v.select(this),q=Y[re?"increasing":"decreasing"],te=A(void 0,q.line,h,i);le.style("fill","none").call(w.dashLine,q.line.dash,te),te&&d.stroke(le,q.line.color)})}function ee($){ne($,this,"pie")}function Q($){ne($,this,"funnelarea")}function ne($,Y,j){var X=$[0],re=X.trace,le=j?re.visible&&re.type===j:E.traceIs(re,j),q=v.select(Y).select("g.legendpoints").selectAll("path.legend"+j).data(le?[$]:[]);if(q.enter().append("path").classed("legend"+j,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),q.exit().remove(),q.size()){var te=(re.marker||{}).line,ue=A(c(te.width,X.pts),te,h,i),ae=a.minExtend(re,{marker:{line:{width:ue}}});ae.marker.line.color=te.color;var de=a.minExtend(X,{trace:ae});r(q,de,ae)}}function fe($){var Y=$[0].trace,j,X=[];if(Y.visible)switch(Y.type){case"histogram2d":case"heatmap":X=[["M-15,-2V4H15V-2Z"]],j=!0;break;case"choropleth":case"choroplethmapbox":X=[["M-6,-6V6H6V-6Z"]],j=!0;break;case"densitymapbox":X=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],j="radial";break;case"cone":X=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],j=!1;break;case"streamtube":X=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],j=!1;break;case"surface":X=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],j=!0;break;case"mesh3d":X=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],j=!1;break;case"volume":X=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],j=!0;break;case"isosurface":X=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],j=!1;break}var re=v.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(X);re.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),re.exit().remove(),re.each(function(le,q){var te=v.select(this),ue=p(Y),ae=ue.colorscale,de=ue.reversescale,xe=function(Oe){if(Oe.size()){var Ee="legendfill-"+Y.uid;w.gradient(Oe,S,Ee,x(de,j==="radial"),ae,"fill")}},Se;if(ae){if(!j){var Be=ae.length;Se=q===0?ae[de?Be-1:0][1]:q===1?ae[de?0:Be-1][1]:ae[Math.floor((Be-1)/2)][1]}}else{var Ae=Y.vertexcolor||Y.facecolor||Y.color;Se=a.isArrayOrTypedArray(Ae)?Ae[q]||Ae[0]:Ae}te.attr("d",le[0]),Se?te.call(d.fill,Se):te.call(xe)})}};function x(y,T){var S=T?"radial":"horizontal";return S+(y?"":"reversed")}function f(y){var T=y[0].trace,S=T.contours,L=t.hasLines(T),m=t.hasMarkers(T),M=T.visible&&T.fill&&T.fill!=="none",b=!1,s=!1;if(S){var _=S.coloring;_==="lines"?b=!0:L=_==="none"||_==="heatmap"||S.showlines,S.type==="constraint"?M=S._operation!=="=":(_==="fill"||_==="heatmap")&&(s=!0)}return{showMarker:m,showLine:L,showFill:M,showGradientLine:b,showGradientFill:s,anyLine:L||b,anyFill:M||s}}function l(y,T,S){return y&&a.isArrayOrTypedArray(y)?T:y>S?S:y}},42068:function(U,B,e){e(93348),U.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},26023:function(U,B,e){var v=e(73972),E=e(74875),a=e(41675),C=e(24255),w=e(34031).eraseActiveShape,d=e(71828),p=d._,t=U.exports={};t.toImage={name:"toImage",title:function(y){var T=y._context.toImageButtonOptions||{},S=T.format||"png";return S==="png"?p(y,"Download plot as a png"):p(y,"Download plot")},icon:C.camera,click:function(y){var T=y._context.toImageButtonOptions,S={format:T.format||"png"};d.notifier(p(y,"Taking snapshot - this may take a few seconds"),"long"),S.format!=="svg"&&d.isIE()&&(d.notifier(p(y,"IE only supports svg. Changing format to svg."),"long"),S.format="svg"),["filename","width","height","scale"].forEach(function(L){L in T&&(S[L]=T[L])}),v.call("downloadImage",y,S).then(function(L){d.notifier(p(y,"Snapshot succeeded")+" - "+L,"long")}).catch(function(){d.notifier(p(y,"Sorry, there was a problem downloading your snapshot!"),"long")})}},t.sendDataToCloud={name:"sendDataToCloud",title:function(y){return p(y,"Edit in Chart Studio")},icon:C.disk,click:function(y){E.sendDataToCloud(y)}},t.editInChartStudio={name:"editInChartStudio",title:function(y){return p(y,"Edit in Chart Studio")},icon:C.pencil,click:function(y){E.sendDataToCloud(y)}},t.zoom2d={name:"zoom2d",_cat:"zoom",title:function(y){return p(y,"Zoom")},attr:"dragmode",val:"zoom",icon:C.zoombox,click:r},t.pan2d={name:"pan2d",_cat:"pan",title:function(y){return p(y,"Pan")},attr:"dragmode",val:"pan",icon:C.pan,click:r},t.select2d={name:"select2d",_cat:"select",title:function(y){return p(y,"Box Select")},attr:"dragmode",val:"select",icon:C.selectbox,click:r},t.lasso2d={name:"lasso2d",_cat:"lasso",title:function(y){return p(y,"Lasso Select")},attr:"dragmode",val:"lasso",icon:C.lasso,click:r},t.drawclosedpath={name:"drawclosedpath",title:function(y){return p(y,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:C.drawclosedpath,click:r},t.drawopenpath={name:"drawopenpath",title:function(y){return p(y,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:C.drawopenpath,click:r},t.drawline={name:"drawline",title:function(y){return p(y,"Draw line")},attr:"dragmode",val:"drawline",icon:C.drawline,click:r},t.drawrect={name:"drawrect",title:function(y){return p(y,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:C.drawrect,click:r},t.drawcircle={name:"drawcircle",title:function(y){return p(y,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:C.drawcircle,click:r},t.eraseshape={name:"eraseshape",title:function(y){return p(y,"Erase active shape")},icon:C.eraseshape,click:w},t.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(y){return p(y,"Zoom in")},attr:"zoom",val:"in",icon:C.zoom_plus,click:r},t.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(y){return p(y,"Zoom out")},attr:"zoom",val:"out",icon:C.zoom_minus,click:r},t.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(y){return p(y,"Autoscale")},attr:"zoom",val:"auto",icon:C.autoscale,click:r},t.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(y){return p(y,"Reset axes")},attr:"zoom",val:"reset",icon:C.home,click:r},t.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(y){return p(y,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:C.tooltip_basic,gravity:"ne",click:r},t.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(y){return p(y,"Compare data on hover")},attr:"hovermode",val:function(y){return y._fullLayout._isHoriz?"y":"x"},icon:C.tooltip_compare,gravity:"ne",click:r};function r(y,T){var S=T.currentTarget,L=S.getAttribute("data-attr"),m=S.getAttribute("data-val")||!0,M=y._fullLayout,b={},s=a.list(y,null,!0),_=M._cartesianSpikesEnabled,A,D;if(L==="zoom"){var F=m==="in"?.5:2,G=(1+F)/2,O=(1-F)/2,H;for(D=0;D1?(ne=["toggleHover"],fe=["resetViews"]):b?(Q=["zoomInGeo","zoomOutGeo"],ne=["hoverClosestGeo"],fe=["resetGeo"]):M?(ne=["hoverClosest3d"],fe=["resetCameraDefault3d","resetCameraLastSave3d"]):F?(Q=["zoomInMapbox","zoomOutMapbox"],ne=["toggleHover"],fe=["resetViewMapbox"]):A?ne=["hoverClosestGl2d"]:s?ne=["hoverClosestPie"]:H?(ne=["hoverClosestCartesian","hoverCompareCartesian"],fe=["resetViewSankey"]):ne=["toggleHover"],m&&(ne=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(n(x)||k)&&(ne=[]),(m||A)&&!z&&(Q=["zoomIn2d","zoomOut2d","autoScale2d"],fe[0]!=="resetViews"&&(fe=["resetScale2d"])),M?$=["zoom3d","pan3d","orbitRotation","tableRotation"]:(m||A)&&!z||D?$=["zoom2d","pan2d"]:F||b?$=["pan2d"]:G&&($=["zoom2d"]),o(x)&&$.push("select2d","lasso2d");var Y=[],j=function(q){Y.indexOf(q)===-1&&ne.indexOf(q)!==-1&&Y.push(q)};if(Array.isArray(S)){for(var X=[],re=0;re0);if(l){var y=t(o,n,u);x("x",y[0]),x("y",y[1]),v.noneOrAll(c,o,["x","y"]),x("xanchor"),x("yanchor"),v.coerceFont(x,"font",n.font);var T=x("bgcolor");x("activecolor",E.contrast(T,d.lightAmount,d.darkAmount)),x("bordercolor"),x("borderwidth")}};function p(r,c,o,n){var u=n.calendar;function i(x,f){return v.coerce(r,c,w.buttons,x,f)}var g=i("visible");if(g){var h=i("step");h!=="all"&&(u&&u!=="gregorian"&&(h==="month"||h==="year")?c.stepmode="backward":i("stepmode"),i("count")),i("label")}}function t(r,c,o){for(var n=o.filter(function(h){return c[h].anchor===r._id}),u=0,i=0;i=Oe.max)Ae=ue[Be+1];else if(Se=Oe.pmax)Ae=ue[Be+1];else if(Seb._length||V+$<0)return;Y=k+$,j=V+$;break;case A:if(X="col-resize",k+$>b._length)return;Y=k+$,j=V;break;case D:if(X="col-resize",V+$<0)return;Y=k,j=V+$;break;default:X="ew-resize",Y=z,j=z+$;break}if(j=0;G--){var O=S.append("path").attr(m).style("opacity",G?.1:M).call(C.stroke,s).call(C.fill,b).call(w.dashLine,G?"solid":A,G?4+_:_);if(n(O,h,l),D){var H=d(h.layout,"selections",l);O.style({cursor:"move"});var z={element:O.node(),plotinfo:y,gd:h,editHelpers:H,isActiveSelection:!0},k=v(L,h);E(k,O,z)}else O.style("pointer-events",G?"all":"none");F[G]=O}var V=F[0],Z=F[1];Z.node().addEventListener("click",function(){return u(h,V)})}}function n(h,x,f){var l=f.xref+f.yref;w.setClipUrl(h,"clip"+x._fullLayout._uid+l,x)}function u(h,x){if(c(h)){var f=x.node(),l=+f.getAttribute("data-index");if(l>=0){if(l===h._fullLayout._activeSelectionIndex){g(h);return}h._fullLayout._activeSelectionIndex=l,h._fullLayout._deactivateSelection=g,r(h)}}}function i(h){if(c(h)){var x=h._fullLayout.selections.length-1;h._fullLayout._activeSelectionIndex=x,h._fullLayout._deactivateSelection=g,r(h)}}function g(h){if(c(h)){var x=h._fullLayout._activeSelectionIndex;x>=0&&(a(h),delete h._fullLayout._activeSelectionIndex,r(h))}}},53777:function(U,B,e){var v=e(79952).P,E=e(1426).extendFlat;U.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:E({},v,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},90849:function(U){U.exports=function(e,v,E){E("newselection.mode");var a=E("newselection.line.width");a&&(E("newselection.line.color"),E("newselection.line.dash")),E("activeselection.fillcolor"),E("activeselection.opacity")}},35855:function(U,B,e){var v=e(64505),E=v.selectMode,a=e(51873),C=a.clearOutline,w=e(60165),d=w.readPaths,p=w.writePaths,t=w.fixDatesForPaths;U.exports=function(c,o){if(c.length){var n=c[0][0];if(n){var u=n.getAttribute("d"),i=o.gd,g=i._fullLayout.newselection,h=o.plotinfo,x=h.xaxis,f=h.yaxis,l=o.isActiveSelection,y=o.dragmode,T=(i.layout||{}).selections||[];if(!E(y)&&l!==void 0){var S=i._fullLayout._activeSelectionIndex;if(S=0){qt._fullLayout._deactivateShape(qt);return}if(!At){var Dn=sr.clickmode;s.done(Yr).then(function(){if(s.clear(Yr),Kr===2){for(rr.remove(),Yt=0;Yt-1&&ne(kn,qt,he.xaxes,he.yaxes,he.subplot,he,rr),Dn==="event"&&rt(qt,void 0);d.click(qt,kn)}).catch(m.error)}},he.doneFn=function(){pr.remove(),s.done(Yr).then(function(){s.clear(Yr),!kr&&kt&&he.selectionDefs&&(kt.subtract=Cr,he.selectionDefs.push(kt),he.mergedPolygons.length=0,[].push.apply(he.mergedPolygons,It)),(kr||At)&&q(he,kr),he.doneFnCompleted&&he.doneFnCompleted(zr),Ft&&rt(qt,lr)}).catch(m.error)}}function ne(Ze,Ie,Te,he,me,Re,Ne){var st=Ie._hoverdata,ft=Ie._fullLayout,At=ft.clickmode,Ft=At.indexOf("event")>-1,Ht=[],Gt,Rt,qt,sr,kr,xt,Xt,jt,wr,hr;if(de(st)){X(Ze,Ie,Re),Gt=ue(Ie,Te,he,me);var ct=xe(st,Gt),ut=ct.pointNumbers.length>0;if(ut?Ae(Gt,ct):Be(Gt)&&(Xt=Se(ct))){for(Ne&&Ne.remove(),hr=0;hr=0}function le(Ze){return Ze._fullLayout._activeSelectionIndex>=0}function q(Ze,Ie){var Te=Ze.dragmode,he=Ze.plotinfo,me=Ze.gd;re(me)&&me._fullLayout._deactivateShape(me),le(me)&&me._fullLayout._deactivateSelection(me);var Re=me._fullLayout,Ne=Re._zoomlayer,st=o(Te),ft=u(Te);if(st||ft){var At=Ne.selectAll(".select-outline-"+he.id);if(At&&me._fullLayout._outlining){var Ft;st&&(Ft=T(At,Ze)),Ft&&a.call("_guiRelayout",me,{shapes:Ft});var Ht;ft&&!ee(Ze)&&(Ht=S(At,Ze)),Ht&&(me._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",me,{selections:Ht}).then(function(){Ie&&L(me)})),me._fullLayout._outlining=!1}}he.selection={},he.selection.selectionDefs=Ze.selectionDefs=[],he.selection.mergedPolygons=Ze.mergedPolygons=[]}function te(Ze){return Ze._id}function ue(Ze,Ie,Te,he){if(!Ze.calcdata)return[];var me=[],Re=Ie.map(te),Ne=Te.map(te),st,ft,At;for(At=0;At0,Re=me?he[0]:Te;return Ie.selectedpoints?Ie.selectedpoints.indexOf(Re)>-1:!1}function Ae(Ze,Ie){var Te=[],he,me,Re,Ne;for(Ne=0;Ne0&&Te.push(he);if(Te.length===1&&(Re=Te[0]===Ie.searchInfo,Re&&(me=Ie.searchInfo.cd[0].trace,me.selectedpoints.length===Ie.pointNumbers.length))){for(Ne=0;Ne1||(Ie+=he.selectedpoints.length,Ie>1)))return!1;return Ie===1}function Oe(Ze,Ie,Te){var he;for(he=0;he-1&&Ie;if(!Ne&&Ie){var Kr=tt(Ze,!0);if(Kr.length){var kn=Kr[0].xref,Dn=Kr[0].yref;if(kn&&Dn){var xr=yt(Kr),br=Xe([_(Ze,kn,"x"),_(Ze,Dn,"y")]);br(zr,xr)}}Ze._fullLayout._noEmitSelectedAtStart?Ze._fullLayout._noEmitSelectedAtStart=!1:mn&&rt(Ze,zr),Gt._reselect=!1}if(!Ne&&Gt._deselect){var Br=Gt._deselect;st=Br.xref,ft=Br.yref,qe(st,ft,Ft)||Qe(Ze,st,ft,he),mn&&(zr.points.length?rt(Ze,zr):it(Ze)),Gt._deselect=!1}return{eventData:zr,selectionTesters:Te}}function Fe(Ze){var Ie=Ze.calcdata;if(Ie)for(var Te=0;Te0?f+g:g;return{ppad:g,ppadplus:h?y:T,ppadminus:h?T:y}}else return{ppad:g}}function t(r,c,o,n,u){var i=r.type==="category"||r.type==="multicategory"?r.r2c:r.d2c;if(c!==void 0)return[i(c),i(o)];if(n){var g=1/0,h=-1/0,x=n.match(a.segmentRE),f,l,y,T,S;for(r.type==="date"&&(i=C.decodeDate(i)),f=0;fh&&(h=S)));if(h>=g)return[g,h]}}},21459:function(U){U.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}}},84726:function(U,B,e){var v=e(71828),E=e(89298),a=e(85501),C=e(89827),w=e(30477);U.exports=function(r,c){a(r,c,{name:"shapes",handleItemDefaults:p})};function d(t,r){return t?"bottom":r.indexOf("top")!==-1?"top":r.indexOf("bottom")!==-1?"bottom":"middle"}function p(t,r,c){function o(fe,$){return v.coerce(t,r,C,fe,$)}var n=o("visible");if(n){var u=o("path"),i=u?"path":"rect",g=o("type",i),h=g!=="path";h&&delete r.path,o("editable"),o("layer"),o("opacity"),o("fillcolor"),o("fillrule");var x=o("line.width");x&&(o("line.color"),o("line.dash"));for(var f=o("xsizemode"),l=o("ysizemode"),y=["x","y"],T=0;T<2;T++){var S=y[T],L=S+"anchor",m=S==="x"?f:l,M={_fullLayout:c},b,s,_,A=E.coerceRef(t,r,M,S,void 0,"paper"),D=E.getRefType(A);if(D==="range"?(b=E.getFromId(M,A),b._shapeIndices.push(r._index),_=w.rangeToShapePosition(b),s=w.shapePositionToRange(b)):s=_=v.identity,h){var F=.25,G=.75,O=S+"0",H=S+"1",z=t[O],k=t[H];t[O]=s(t[O],!0),t[H]=s(t[H],!0),m==="pixel"?(o(O,0),o(H,10)):(E.coercePosition(r,M,o,A,O,F),E.coercePosition(r,M,o,A,H,G)),r[O]=_(r[O]),r[H]=_(r[H]),t[O]=z,t[H]=k}if(m==="pixel"){var V=t[L];t[L]=s(t[L],!0),E.coercePosition(r,M,o,A,L,.25),r[L]=_(r[L]),t[L]=V}}h&&v.noneOrAll(t,r,["x0","x1","y0","y1"]);var Z=g==="line",ee,Q;if(h&&(ee=o("label.texttemplate")),ee||(Q=o("label.text")),Q||ee){o("label.textangle");var ne=o("label.textposition",Z?"middle":"middle center");o("label.xanchor"),o("label.yanchor",d(Z,ne)),o("label.padding"),v.coerceFont(o,"label.font",c.font)}}}},48100:function(U,B,e){var v=e(71828),E=e(89298),a=e(63893),C=e(91424),w=e(60165).readPaths,d=e(30477),p=d.getPathString,t=e(37281),r=e(18783).FROM_TL;U.exports=function(u,i,g,h){if(h.selectAll(".shape-label").remove(),!!(g.label.text||g.label.texttemplate)){var x;if(g.label.texttemplate){var f={};if(g.type!=="path"){var l=E.getFromId(u,g.xref),y=E.getFromId(u,g.yref);for(var T in t){var S=t[T](g,l,y);S!==void 0&&(f[T]=S)}}x=v.texttemplateStringForShapes(g.label.texttemplate,{},u._fullLayout._d3locale,f)}else x=g.label.text;var L={"data-index":i},m=g.label.font,M={"data-notex":1},b=h.append("g").attr(L).classed("shape-label",!0),s=b.append("text").attr(M).classed("shape-label-text",!0).text(x),_,A,D,F;if(g.path){var G=p(u,g),O=w(G,u);_=1/0,D=1/0,A=-1/0,F=-1/0;for(var H=0;H=n?h=u-g:h=g-u,-180/Math.PI*Math.atan2(h,x)}function o(n,u,i,g,h,x,f){var l=h.label.textposition,y=h.label.textangle,T=h.label.padding,S=h.type,L=Math.PI/180*x,m=Math.sin(L),M=Math.cos(L),b=h.label.xanchor,s=h.label.yanchor,_,A,D,F;if(S==="line"){l==="start"?(_=n,A=u):l==="end"?(_=i,A=g):(_=(n+i)/2,A=(u+g)/2),b==="auto"&&(l==="start"?y==="auto"?i>n?b="left":in?b="right":in?b="right":in?b="left":i1&&!(we.length===2&&we[1][0]==="Z")&&($===0&&(we[0][0]="M"),_[fe]=we,O(),H())}}function ae(we,Ce){if(we===2){fe=+Ce.srcElement.getAttribute("data-i"),$=+Ce.srcElement.getAttribute("data-j");var Ge=_[fe];!x(Ge)&&!f(Ge)&&ue()}}function de(we){Q=[];for(var Ce=0;Ce<_.length;Ce++){var Ge=_[Ce],He=x(Ge),De=!He&&f(Ge);Q[Ce]=[];for(var Fe=Ge.length,qe=0;qeO&&Te>H&&!it.shiftKey?n.getCursor(he/Ie,1-me/Te):"move";u(_,Re),qe=Re.split("-")[0]}}function ht(it){f(s)||(z&&(Y=we(A.xanchor)),k&&(j=Ce(A.yanchor)),A.type==="path"?xe=A.path:(Q=z?A.x0:we(A.x0),ne=k?A.y0:Ce(A.y0),fe=z?A.x1:we(A.x1),$=k?A.y1:Ce(A.y1)),Q$?(X=ne,te="y0",re=$,ue="y1"):(X=$,te="y1",re=ne,ue="y0"),tt(it),Ue(F,A),rt(_,A,s),Fe.moveFn=qe==="move"?Et:Xe,Fe.altKey=it.altKey)}function gt(){f(s)||(u(_),ze(F),T(_,s,A),E.call("_guiRelayout",s,G.getUpdateObj()))}function yt(){f(s)||ze(F)}function Et(it,Ze){if(A.type==="path"){var Ie=function(me){return me},Te=Ie,he=Ie;z?ee("xanchor",A.xanchor=Ge(Y+it)):(Te=function(Re){return Ge(we(Re)+it)},Ae&&Ae.type==="date"&&(Te=g.encodeDate(Te))),k?ee("yanchor",A.yanchor=He(j+Ze)):(he=function(Re){return He(Ce(Re)+Ze)},Oe&&Oe.type==="date"&&(he=g.encodeDate(he))),ee("path",A.path=L(xe,Te,he))}else z?ee("xanchor",A.xanchor=Ge(Y+it)):(ee("x0",A.x0=Ge(Q+it)),ee("x1",A.x1=Ge(fe+it))),k?ee("yanchor",A.yanchor=He(j+Ze)):(ee("y0",A.y0=He(ne+Ze)),ee("y1",A.y1=He($+Ze)));_.attr("d",h(s,A)),Ue(F,A),p(s,D,A,Se)}function Xe(it,Ze){if(Z){var Ie=function(xt){return xt},Te=Ie,he=Ie;z?ee("xanchor",A.xanchor=Ge(Y+it)):(Te=function(Xt){return Ge(we(Xt)+it)},Ae&&Ae.type==="date"&&(Te=g.encodeDate(Te))),k?ee("yanchor",A.yanchor=He(j+Ze)):(he=function(Xt){return He(Ce(Xt)+Ze)},Oe&&Oe.type==="date"&&(he=g.encodeDate(he))),ee("path",A.path=L(xe,Te,he))}else if(V){if(qe==="resize-over-start-point"){var me=Q+it,Re=k?ne-Ze:ne+Ze;ee("x0",A.x0=z?me:Ge(me)),ee("y0",A.y0=k?Re:He(Re))}else if(qe==="resize-over-end-point"){var Ne=fe+it,st=k?$-Ze:$+Ze;ee("x1",A.x1=z?Ne:Ge(Ne)),ee("y1",A.y1=k?st:He(st))}}else{var ft=function(xt){return qe.indexOf(xt)!==-1},At=ft("n"),Ft=ft("s"),Ht=ft("w"),Gt=ft("e"),Rt=At?X+Ze:X,qt=Ft?re+Ze:re,sr=Ht?le+it:le,kr=Gt?q+it:q;k&&(At&&(Rt=X-Ze),Ft&&(qt=re-Ze)),(!k&&qt-Rt>H||k&&Rt-qt>H)&&(ee(te,A[te]=k?Rt:He(Rt)),ee(ue,A[ue]=k?qt:He(qt))),kr-sr>O&&(ee(ae,A[ae]=z?sr:Ge(sr)),ee(de,A[de]=z?kr:Ge(kr)))}_.attr("d",h(s,A)),Ue(F,A),p(s,D,A,Se)}function Ue(it,Ze){(z||k)&&Ie();function Ie(){var Te=Ze.type!=="path",he=it.selectAll(".visual-cue").data([0]),me=1;he.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":me}).classed("visual-cue",!0);var Re=we(z?Ze.xanchor:a.midRange(Te?[Ze.x0,Ze.x1]:g.extractPathCoords(Ze.path,i.paramIsX))),Ne=Ce(k?Ze.yanchor:a.midRange(Te?[Ze.y0,Ze.y1]:g.extractPathCoords(Ze.path,i.paramIsY)));if(Re=g.roundPositionForSharpStrokeRendering(Re,me),Ne=g.roundPositionForSharpStrokeRendering(Ne,me),z&&k){var st="M"+(Re-1-me)+","+(Ne-1-me)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";he.attr("d",st)}else if(z){var ft="M"+(Re-1-me)+","+(Ne-9-me)+"v18 h2 v-18 Z";he.attr("d",ft)}else{var At="M"+(Re-9-me)+","+(Ne-1-me)+"h18 v2 h-18 Z";he.attr("d",At)}}}function ze(it){it.selectAll(".visual-cue").remove()}function rt(it,Ze,Ie){var Te=Ze.xref,he=Ze.yref,me=C.getFromId(Ie,Te),Re=C.getFromId(Ie,he),Ne="";Te!=="paper"&&!me.autorange&&(Ne+=Te),he!=="paper"&&!Re.autorange&&(Ne+=he),c.setClipUrl(it,Ne?"clip"+Ie._fullLayout._uid+Ne:null,Ie)}}function L(s,_,A){return s.replace(i.segmentRE,function(D){var F=0,G=D.charAt(0),O=i.paramIsX[G],H=i.paramIsY[G],z=i.numParams[G],k=D.substr(1).replace(i.paramRE,function(V){return F>=z||(O[F]?V=_(V):H[F]&&(V=A(V)),F++),V});return G+k})}function m(s,_){if(l(s)){var A=_.node(),D=+A.getAttribute("data-index");if(D>=0){if(D===s._fullLayout._activeShapeIndex){M(s);return}s._fullLayout._activeShapeIndex=D,s._fullLayout._deactivateShape=M,x(s)}}}function M(s){if(l(s)){var _=s._fullLayout._activeShapeIndex;_>=0&&(t(s),delete s._fullLayout._activeShapeIndex,x(s))}}function b(s){if(l(s)){t(s);var _=s._fullLayout._activeShapeIndex,A=(s.layout||{}).shapes||[];if(_0&&yf&&(y="X"),y});return i>f&&(l=l.replace(/[\s,]*X.*/,""),E.log("Ignoring extra params in segment "+u)),g+l})}},89853:function(U,B,e){var v=e(34031);U.exports={moduleType:"component",name:"shapes",layoutAttributes:e(89827),supplyLayoutDefaults:e(84726),supplyDrawNewShapeDefaults:e(45547),includeBasePlot:e(76325)("shapes"),calcAutorange:e(5627),draw:v.draw,drawOne:v.drawOne}},37281:function(U){function B(u,i){return i?i.d2l(u):u}function e(u,i){return i?i.l2d(u):u}function v(u){return u.x0}function E(u){return u.x1}function a(u){return u.y0}function C(u){return u.y1}function w(u,i){return B(u.x1,i)-B(u.x0,i)}function d(u,i,g){return B(u.y1,g)-B(u.y0,g)}function p(u,i){return Math.abs(w(u,i))}function t(u,i,g){return Math.abs(d(u,i,g))}function r(u,i,g){return u.type!=="line"?void 0:Math.sqrt(Math.pow(w(u,i),2)+Math.pow(d(u,i,g),2))}function c(u,i){return e((B(u.x1,i)+B(u.x0,i))/2,i)}function o(u,i,g){return e((B(u.y1,g)+B(u.y0,g))/2,g)}function n(u,i,g){return u.type!=="line"?void 0:d(u,i,g)/w(u,i)}U.exports={x0:v,x1:E,y0:a,y1:C,slope:n,dx:w,dy:d,width:p,height:t,length:r,xcenter:c,ycenter:o}},75067:function(U,B,e){var v=e(41940),E=e(35025),a=e(1426).extendDeepAll,C=e(30962).overrideAll,w=e(85594),d=e(44467).templatedArray,p=e(98292),t=d("step",{visible:{valType:"boolean",dflt:!0},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}});U.exports=C(d("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:t,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(E({editType:"arraydraw"}),{},{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:w.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:v({})},font:v({}),activebgcolor:{valType:"color",dflt:p.gripBgActiveColor},bgcolor:{valType:"color",dflt:p.railBgColor},bordercolor:{valType:"color",dflt:p.railBorderColor},borderwidth:{valType:"number",min:0,dflt:p.railBorderWidth},ticklen:{valType:"number",min:0,dflt:p.tickLength},tickcolor:{valType:"color",dflt:p.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:p.minorTickLength}}),"arraydraw","from-root")},98292:function(U){U.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}},12343:function(U,B,e){var v=e(71828),E=e(85501),a=e(75067),C=e(98292),w=C.name,d=a.steps;U.exports=function(c,o){E(c,o,{name:w,handleItemDefaults:p})};function p(r,c,o){function n(y,T){return v.coerce(r,c,a,y,T)}for(var u=E(r,c,{name:"steps",handleItemDefaults:t}),i=0,g=0;g0?[0]:[]);Z.enter().append("g").classed(r.containerClassName,!0).style("cursor",z?null:"ew-resize");function ee($){$._commandObserver&&($._commandObserver.remove(),delete $._commandObserver),E.autoMargin(H,i($))}if(Z.exit().each(function(){v.select(this).selectAll("g."+r.groupClassName).each(ee)}).remove(),V.length!==0){var Q=Z.selectAll("g."+r.groupClassName).data(V,h);Q.enter().append("g").classed(r.groupClassName,!0),Q.exit().each(ee).remove();for(var ne=0;ne0&&(Q=Q.transition().duration(H.transition.duration).ease(H.transition.easing)),Q.attr("transform",d(ee-r.gripWidth*.5,H._dims.currentValueTotalHeight))}}function A(O,H){var z=O._dims;return z.inputAreaStart+r.stepInset+(z.inputAreaLength-2*r.stepInset)*Math.min(1,Math.max(0,H))}function D(O,H){var z=O._dims;return Math.min(1,Math.max(0,(H-r.stepInset-z.inputAreaStart)/(z.inputAreaLength-2*r.stepInset-2*z.inputAreaStart)))}function F(O,H,z){var k=z._dims,V=w.ensureSingle(O,"rect",r.railTouchRectClass,function(Z){Z.call(M,H,O,z).style("pointer-events","all")});V.attr({width:k.inputAreaLength,height:Math.max(k.inputAreaWidth,r.tickOffset+z.ticklen+k.labelHeight)}).call(a.fill,z.bgcolor).attr("opacity",0),C.setTranslate(V,0,k.currentValueTotalHeight)}function G(O,H){var z=H._dims,k=z.inputAreaLength-r.railInset*2,V=w.ensureSingle(O,"rect",r.railRectClass);V.attr({width:k,height:r.railWidth,rx:r.railRadius,ry:r.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,H.bordercolor).call(a.fill,H.bgcolor).style("stroke-width",H.borderwidth+"px"),C.setTranslate(V,r.railInset,(z.inputAreaWidth-r.railWidth)*.5+z.currentValueTotalHeight)}},23243:function(U,B,e){var v=e(98292);U.exports={moduleType:"component",name:v.name,layoutAttributes:e(75067),supplyLayoutDefaults:e(12343),draw:e(44504)}},92998:function(U,B,e){var v=e(39898),E=e(92770),a=e(74875),C=e(73972),w=e(71828),d=w.strTranslate,p=e(91424),t=e(7901),r=e(63893),c=e(37822),o=e(18783).OPPOSITE_SIDE,n=/ [XY][0-9]* /;function u(i,g,h){var x=h.propContainer,f=h.propName,l=h.placeholder,y=h.traceIndex,T=h.avoid||{},S=h.attributes,L=h.transform,m=h.containerGroup,M=i._fullLayout,b=1,s=!1,_=x.title,A=(_&&_.text?_.text:"").trim(),D=_&&_.font?_.font:{},F=D.family,G=D.size,O=D.color,H;f==="title.text"?H="titleText":f.indexOf("axis")!==-1?H="axisTitleText":f.indexOf("colorbar"!==-1)&&(H="colorbarTitleText");var z=i._context.edits[H];A===""?b=0:A.replace(n," % ")===l.replace(n," % ")&&(b=.2,s=!0,z||(A="")),h._meta?A=w.templateString(A,h._meta):M._meta&&(A=w.templateString(A,M._meta));var k=A||z,V;m||(m=w.ensureSingle(M._infolayer,"g","g-"+g),V=M._hColorbarMoveTitle);var Z=m.selectAll("text").data(k?[0]:[]);if(Z.enter().append("text"),Z.text(A).attr("class",g),Z.exit().remove(),!k)return m;function ee($){w.syncOrAsync([Q,ne],$)}function Q($){var Y;return!L&&V&&(L={}),L?(Y="",L.rotate&&(Y+="rotate("+[L.rotate,S.x,S.y]+")"),(L.offset||V)&&(Y+=d(0,(L.offset||0)-(V||0)))):Y=null,$.attr("transform",Y),$.style({"font-family":F,"font-size":v.round(G,2)+"px",fill:t.rgb(O),opacity:b*t.opacity(O),"font-weight":a.fontWeight}).attr(S).call(r.convertToTspans,i),a.previousPromises(i)}function ne($){var Y=v.select($.node().parentNode);if(T&&T.selection&&T.side&&A){Y.attr("transform",null);var j=o[T.side],X=T.side==="left"||T.side==="top"?-1:1,re=E(T.pad)?T.pad:2,le=p.bBox(Y.node()),q={t:0,b:0,l:0,r:0},te=i._fullLayout._reservedMargin;for(var ue in te)for(var ae in te[ue]){var de=te[ue][ae];q[ae]=Math.max(q[ae],de)}var xe={left:q.l,top:q.t,right:M.width-q.r,bottom:M.height-q.b},Se=T.maxShift||X*(xe[T.side]-le[T.side]),Ae=0;if(Se<0)Ae=Se;else{var Be=T.offsetLeft||0,Oe=T.offsetTop||0;le.left-=Be,le.right-=Be,le.top-=Oe,le.bottom-=Oe,T.selection.each(function(){var we=p.bBox(this);w.bBoxIntersect(le,we,re)&&(Ae=Math.max(Ae,X*(we[T.side]-le[j])+re))}),Ae=Math.min(Se,Ae),x._titleScoot=Math.abs(Ae)}if(Ae>0||Se<0){var Ee={left:[-Ae,0],right:[Ae,0],top:[0,-Ae],bottom:[0,Ae]}[T.side];Y.attr("transform",d(Ee[0],Ee[1]))}}}Z.call(ee);function fe(){b=0,s=!0,Z.text(l).on("mouseover.opacity",function(){v.select(this).transition().duration(c.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){v.select(this).transition().duration(c.HIDE_PLACEHOLDER).style("opacity",0)})}return z&&(A?Z.on(".opacity",null):fe(),Z.call(r.makeEditable,{gd:i}).on("edit",function($){y!==void 0?C.call("_guiRestyle",i,f,$,y):C.call("_guiRelayout",i,f,$)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(ee)}).on("input",function($){this.text($||" ").call(r.positionText,S.x,S.y)})),Z.classed("js-placeholder",s),m}U.exports={draw:u}},7163:function(U,B,e){var v=e(41940),E=e(22399),a=e(1426).extendFlat,C=e(30962).overrideAll,w=e(35025),d=e(44467).templatedArray,p=d("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});U.exports=C(d("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:p,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(w({editType:"arraydraw"}),{}),font:v({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:E.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},75909:function(U){U.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:"◄",right:"►",up:"▲",down:"▼"}}},64897:function(U,B,e){var v=e(71828),E=e(85501),a=e(7163),C=e(75909),w=C.name,d=a.buttons;U.exports=function(c,o){var n={name:w,handleItemDefaults:p};E(c,o,n)};function p(r,c,o){function n(g,h){return v.coerce(r,c,a,g,h)}var u=E(r,c,{name:"buttons",handleItemDefaults:t}),i=n("visible",u.length>0);i&&(n("active"),n("direction"),n("type"),n("showactive"),n("x"),n("y"),v.noneOrAll(r,c,["x","y"]),n("xanchor"),n("yanchor"),n("pad.t"),n("pad.r"),n("pad.b"),n("pad.l"),v.coerceFont(n,"font",o.font),n("bgcolor",o.paper_bgcolor),n("bordercolor"),n("borderwidth"))}function t(r,c){function o(u,i){return v.coerce(r,c,d,u,i)}var n=o("visible",r.method==="skip"||Array.isArray(r.args));n&&(o("method"),o("args"),o("args2"),o("label"),o("execute"))}},13689:function(U,B,e){var v=e(39898),E=e(74875),a=e(7901),C=e(91424),w=e(71828),d=e(63893),p=e(44467).arrayEditor,t=e(18783).LINE_SPACING,r=e(75909),c=e(25849);U.exports=function(D){var F=D._fullLayout,G=w.filterVisible(F[r.name]);function O(ne){E.autoMargin(D,b(ne))}var H=F._menulayer.selectAll("g."+r.containerClassName).data(G.length>0?[0]:[]);if(H.enter().append("g").classed(r.containerClassName,!0).style("cursor","pointer"),H.exit().each(function(){v.select(this).selectAll("g."+r.headerGroupClassName).each(O)}).remove(),G.length!==0){var z=H.selectAll("g."+r.headerGroupClassName).data(G,o);z.enter().append("g").classed(r.headerGroupClassName,!0);for(var k=w.ensureSingle(H,"g",r.dropdownButtonGroupClassName,function(ne){ne.style("pointer-events","all")}),V=0;VS,D=w.barLength+2*w.barPad,F=w.barWidth+2*w.barPad,G=u,O=g+h;O+F>n&&(O=n-F);var H=this.container.selectAll("rect.scrollbar-horizontal").data(A?[0]:[]);H.exit().on(".drag",null).remove(),H.enter().append("rect").classed("scrollbar-horizontal",!0).call(E.fill,w.barColor),A?(this.hbar=H.attr({rx:w.barRadius,ry:w.barRadius,x:G,y:O,width:D,height:F}),this._hbarXMin=G+D/2,this._hbarTranslateMax=S-D):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var z=h>L,k=w.barWidth+2*w.barPad,V=w.barLength+2*w.barPad,Z=u+i,ee=g;Z+k>o&&(Z=o-k);var Q=this.container.selectAll("rect.scrollbar-vertical").data(z?[0]:[]);Q.exit().on(".drag",null).remove(),Q.enter().append("rect").classed("scrollbar-vertical",!0).call(E.fill,w.barColor),z?(this.vbar=Q.attr({rx:w.barRadius,ry:w.barRadius,x:Z,y:ee,width:k,height:V}),this._vbarYMin=ee+V/2,this._vbarTranslateMax=L-V):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var ne=this.id,fe=m-.5,$=z?M+k+.5:M+.5,Y=b-.5,j=A?s+F+.5:s+.5,X=c._topdefs.selectAll("#"+ne).data(A||z?[0]:[]);if(X.exit().remove(),X.enter().append("clipPath").attr("id",ne).append("rect"),A||z?(this._clipRect=X.select("rect").attr({x:Math.floor(fe),y:Math.floor(Y),width:Math.ceil($)-Math.floor(fe),height:Math.ceil(j)-Math.floor(Y)}),this.container.call(a.setClipUrl,ne,this.gd),this.bg.attr({x:u,y:g,width:i,height:h})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),A||z){var re=v.behavior.drag().on("dragstart",function(){v.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(re);var le=v.behavior.drag().on("dragstart",function(){v.event.sourceEvent.preventDefault(),v.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));A&&this.hbar.on(".drag",null).call(le),z&&this.vbar.on(".drag",null).call(le)}this.setTranslate(t,r)},w.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)},w.prototype._onBoxDrag=function(){var p=this.translateX,t=this.translateY;this.hbar&&(p-=v.event.dx),this.vbar&&(t-=v.event.dy),this.setTranslate(p,t)},w.prototype._onBoxWheel=function(){var p=this.translateX,t=this.translateY;this.hbar&&(p+=v.event.deltaY),this.vbar&&(t+=v.event.deltaY),this.setTranslate(p,t)},w.prototype._onBarDrag=function(){var p=this.translateX,t=this.translateY;if(this.hbar){var r=p+this._hbarXMin,c=r+this._hbarTranslateMax,o=C.constrain(v.event.x,r,c),n=(o-r)/(c-r),u=this.position.w-this._box.w;p=n*u}if(this.vbar){var i=t+this._vbarYMin,g=i+this._vbarTranslateMax,h=C.constrain(v.event.y,i,g),x=(h-i)/(g-i),f=this.position.h-this._box.h;t=x*f}this.setTranslate(p,t)},w.prototype.setTranslate=function(p,t){var r=this.position.w-this._box.w,c=this.position.h-this._box.h;if(p=C.constrain(p||0,0,r),t=C.constrain(t||0,0,c),this.translateX=p,this.translateY=t,this.container.call(a.setTranslate,this._box.l-this.position.l-p,this._box.t-this.position.t-t),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+p-.5),y:Math.floor(this.position.t+t-.5)}),this.hbar){var o=p/r;this.hbar.call(a.setTranslate,p+o*this._hbarTranslateMax,t)}if(this.vbar){var n=t/c;this.vbar.call(a.setTranslate,p,t+n*this._vbarTranslateMax)}}},18783:function(U){U.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,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},24695:function(U){U.exports={axisRefDescription:function(B,e,v){return["If set to a",B,"axis id (e.g. *"+B+"* or","*"+B+"2*), the `"+B+"` position refers to a",B,"coordinate. If set to *paper*, the `"+B+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+v+"). If set to a",B,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+B+"2 domain* refers to the domain of the second",B," axis and a",B,"position of 0.5 refers to the","point between the",e,"and the",v,"of the domain of the","second",B,"axis."].join(" ")}}},22372:function(U){U.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},31562:function(U){U.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},74808:function(U){U.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},29659:function(U){U.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]}},87381:function(U){U.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},37822:function(U){U.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(U){U.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:24405875e-1,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},32396:function(U,B){B.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],B.STYLE=B.CSS_DECLARATIONS.map(function(e){return e.join(": ")+"; "}).join("")},77922:function(U,B){B.xmlns="http://www.w3.org/2000/xmlns/",B.svg="http://www.w3.org/2000/svg",B.xlink="http://www.w3.org/1999/xlink",B.svgAttrs={xmlns:B.svg,"xmlns:xlink":B.xlink}},8729:function(U,B,e){B.version=e(11506).version,e(7417),e(98847);for(var v=e(73972),E=B.register=v.register,a=e(10641),C=Object.keys(a),w=0;w",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},99863:function(U,B){B.isLeftAnchor=function(v){return v.xanchor==="left"||v.xanchor==="auto"&&v.x<=.3333333333333333},B.isCenterAnchor=function(v){return v.xanchor==="center"||v.xanchor==="auto"&&v.x>.3333333333333333&&v.x<.6666666666666666},B.isRightAnchor=function(v){return v.xanchor==="right"||v.xanchor==="auto"&&v.x>=.6666666666666666},B.isTopAnchor=function(v){return v.yanchor==="top"||v.yanchor==="auto"&&v.y>=.6666666666666666},B.isMiddleAnchor=function(v){return v.yanchor==="middle"||v.yanchor==="auto"&&v.y>.3333333333333333&&v.y<.6666666666666666},B.isBottomAnchor=function(v){return v.yanchor==="bottom"||v.yanchor==="auto"&&v.y<=.3333333333333333}},26348:function(U,B,e){var v=e(64872),E=v.mod,a=v.modHalf,C=Math.PI,w=2*C;function d(x){return x/180*C}function p(x){return x/C*180}function t(x){return Math.abs(x[1]-x[0])>w-1e-14}function r(x,f){return a(f-x,w)}function c(x,f){return Math.abs(r(x,f))}function o(x,f){if(t(f))return!0;var l,y;f[0]y&&(y+=w);var T=E(x,w),S=T+w;return T>=l&&T<=y||S>=l&&S<=y}function n(x,f,l,y){if(!o(f,y))return!1;var T,S;return l[0]=T&&x<=S}function u(x,f,l,y,T,S,L){T=T||0,S=S||0;var m=t([l,y]),M,b,s,_,A;m?(M=0,b=C,s=w):lg.max?u.set(i):u.set(+n)}},integer:{coerceFunction:function(n,u,i,g){n%1||!v(n)||g.min!==void 0&&ng.max?u.set(i):u.set(+n)}},string:{coerceFunction:function(n,u,i,g){if(typeof n!="string"){var h=typeof n=="number";g.strict===!0||!h?u.set(i):u.set(String(n))}else g.noBlank&&!n?u.set(i):u.set(n)}},color:{coerceFunction:function(n,u,i){E(n).isValid()?u.set(n):u.set(i)}},colorlist:{coerceFunction:function(n,u,i){function g(h){return E(h).isValid()}!Array.isArray(n)||!n.length?u.set(i):n.every(g)?u.set(n):u.set(i)}},colorscale:{coerceFunction:function(n,u,i){u.set(C.get(n,i))}},angle:{coerceFunction:function(n,u,i){n==="auto"?u.set("auto"):v(n)?u.set(r(+n,360)):u.set(i)}},subplotid:{coerceFunction:function(n,u,i,g){var h=g.regex||t(i);if(typeof n=="string"&&h.test(n)){u.set(n);return}u.set(i)},validateFunction:function(n,u){var i=u.dflt;return n===i?!0:typeof n!="string"?!1:!!t(i).test(n)}},flaglist:{coerceFunction:function(n,u,i,g){if((g.extras||[]).indexOf(n)!==-1){u.set(n);return}if(typeof n!="string"){u.set(i);return}for(var h=n.split("+"),x=0;x=l&&O<=y?O:d}if(typeof O!="string"&&typeof O!="number")return d;O=String(O);var Z=x(H),ee=O.charAt(0);Z&&(ee==="G"||ee==="g")&&(O=O.substr(1),H="");var Q=Z&&H.substr(0,7)==="chinese",ne=O.match(Q?g:i);if(!ne)return d;var fe=ne[1],$=ne[3]||"1",Y=Number(ne[5]||1),j=Number(ne[7]||0),X=Number(ne[9]||0),re=Number(ne[11]||0);if(Z){if(fe.length===2)return d;fe=Number(fe);var le;try{var q=n.getComponentMethod("calendars","getCal")(H);if(Q){var te=$.charAt($.length-1)==="i";$=parseInt($,10),le=q.newDate(fe,q.toMonthIndex(fe,$,te),Y)}else le=q.newDate(fe,Number($),Y)}catch{return d}return le?(le.toJD()-o)*p+j*t+X*r+re*c:d}fe.length===2?fe=(Number(fe)+2e3-h)%100+h:fe=Number(fe),$-=1;var ue=new Date(Date.UTC(2e3,$,Y,j,X));return ue.setUTCFullYear(fe),ue.getUTCMonth()!==$||ue.getUTCDate()!==Y?d:ue.getTime()+re*c},l=B.MIN_MS=B.dateTime2ms("-9999"),y=B.MAX_MS=B.dateTime2ms("9999-12-31 23:59:59.9999"),B.isDateTime=function(O,H){return B.dateTime2ms(O,H)!==d};function T(O,H){return String(O+Math.pow(10,H)).substr(1)}var S=90*p,L=3*t,m=5*r;B.ms2DateTime=function(O,H,z){if(typeof O!="number"||!(O>=l&&O<=y))return d;H||(H=0);var k=Math.floor(C(O+.05,1)*10),V=Math.round(O-k/10),Z,ee,Q,ne,fe,$;if(x(z)){var Y=Math.floor(V/p)+o,j=Math.floor(C(O,p));try{Z=n.getComponentMethod("calendars","getCal")(z).fromJD(Y).formatDate("yyyy-mm-dd")}catch{Z=u("G%Y-%m-%d")(new Date(V))}if(Z.charAt(0)==="-")for(;Z.length<11;)Z="-0"+Z.substr(1);else for(;Z.length<10;)Z="0"+Z;ee=H=l+p&&O<=y-p))return d;var H=Math.floor(C(O+.05,1)*10),z=new Date(Math.round(O-H/10)),k=v("%Y-%m-%d")(z),V=z.getHours(),Z=z.getMinutes(),ee=z.getSeconds(),Q=z.getUTCMilliseconds()*10+H;return M(k,V,Z,ee,Q)};function M(O,H,z,k,V){if((H||z||k||V)&&(O+=" "+T(H,2)+":"+T(z,2),(k||V)&&(O+=":"+T(k,2),V))){for(var Z=4;V%10===0;)Z-=1,V/=10;O+="."+T(V,Z)}return O}B.cleanDate=function(O,H,z){if(O===d)return H;if(B.isJSDate(O)||typeof O=="number"&&isFinite(O)){if(x(z))return a.error("JS Dates and milliseconds are incompatible with world calendars",O),H;if(O=B.ms2DateTimeLocal(+O),!O&&H!==void 0)return H}else if(!B.isDateTime(O,z))return a.error("unrecognized date",O),H;return O};var b=/%\d?f/g,s=/%h/g,_={1:"1",2:"1",3:"2",4:"2"};function A(O,H,z,k){O=O.replace(b,function(Z){var ee=Math.min(+Z.charAt(1)||6,6),Q=(H/1e3%1+2).toFixed(ee).substr(2).replace(/0+$/,"")||"0";return Q});var V=new Date(Math.floor(H+.05));if(O=O.replace(s,function(){return _[z("%q")(V)]}),x(k))try{O=n.getComponentMethod("calendars","worldCalFmt")(O,H,k)}catch{return"Invalid"}return z(O)(V)}var D=[59,59.9,59.99,59.999,59.9999];function F(O,H){var z=C(O+.05,p),k=T(Math.floor(z/t),2)+":"+T(C(Math.floor(z/r),60),2);if(H!=="M"){E(H)||(H=0);var V=Math.min(C(O/c,60),D[H]),Z=(100+V).toFixed(H).substr(1);H>0&&(Z=Z.replace(/0+$/,"").replace(/[\.]$/,"")),k+=":"+Z}return k}B.formatDate=function(O,H,z,k,V,Z){if(V=x(V)&&V,!H)if(z==="y")H=Z.year;else if(z==="m")H=Z.month;else if(z==="d")H=Z.dayMonth+` +`+Z.year;else return F(O,z)+` +`+A(Z.dayMonthYear,O,k,V);return A(H,O,k,V)};var G=3*p;B.incrementMonth=function(O,H,z){z=x(z)&&z;var k=C(O,p);if(O=Math.round(O-k),z)try{var V=Math.round(O/p)+o,Z=n.getComponentMethod("calendars","getCal")(z),ee=Z.fromJD(V);return H%12?Z.add(ee,H,"m"):Z.add(ee,H/12,"y"),(ee.toJD()-o)*p+k}catch{a.error("invalid ms "+O+" in calendar "+z)}var Q=new Date(O+G);return Q.setUTCMonth(Q.getUTCMonth()+H)+k-G},B.findExactDates=function(O,H){for(var z=0,k=0,V=0,Z=0,ee,Q,ne=x(H)&&n.getComponentMethod("calendars","getCal")(H),fe=0;fe0&&F[G+1][0]<0)return G;return null}switch(m==="RUS"||m==="FJI"?b=function(F){var G;if(D(F)===null)G=F;else for(G=new Array(F.length),A=0;AG?O[H++]=[F[A][0]+360,F[A][1]]:A===G?(O[H++]=F[A],O[H++]=[F[A][0],-90]):O[H++]=F[A];var z=c.tester(O);z.pts.pop(),M.push(z)}:b=function(F){M.push(c.tester(F))},S.type){case"MultiPolygon":for(s=0;sM&&(M=_,L=s)}else L=S;return C.default(L).geometry.coordinates}function l(T){var S=window.PlotlyGeoAssets||{},L=[];function m(A){return new Promise(function(D,F){v.json(A,function(G,O){if(G){delete S[A];var H=G.status===404?'GeoJSON at URL "'+A+'" does not exist.':"Unexpected error while fetching from "+A;return F(new Error(H))}return S[A]=O,D(O)})})}function M(A){return new Promise(function(D,F){var G=0,O=setInterval(function(){if(S[A]&&S[A]!=="pending")return clearInterval(O),D(S[A]);if(G>100)return clearInterval(O),F("Unexpected error while fetching from "+A);G++},50)})}for(var b=0;b0&&(w.push(d),d=[])}return d.length>0&&w.push(d),w},B.makeLine=function(E){return E.length===1?{type:"LineString",coordinates:E[0]}:{type:"MultiLineString",coordinates:E}},B.makePolygon=function(E){if(E.length===1)return{type:"Polygon",coordinates:E};for(var a=new Array(E.length),C=0;C1||S<0||S>1?null:{x:p+g*S,y:t+f*S}}B.segmentDistance=function(t,r,c,o,n,u,i,g){if(E(t,r,c,o,n,u,i,g))return 0;var h=c-t,x=o-r,f=i-n,l=g-u,y=h*h+x*x,T=f*f+l*l,S=Math.min(a(h,x,y,n-t,u-r),a(h,x,y,i-t,g-r),a(f,l,T,t-n,r-u),a(f,l,T,c-n,o-u));return Math.sqrt(S)};function a(p,t,r,c,o){var n=c*p+o*t;if(n<0)return c*c+o*o;if(n>r){var u=c-p,i=o-t;return u*u+i*i}else{var g=c*t-o*p;return g*g/r}}var C,w,d;B.getTextLocation=function(t,r,c,o){if((t!==w||o!==d)&&(C={},w=t,d=o),C[c])return C[c];var n=t.getPointAtLength(v(c-o/2,r)),u=t.getPointAtLength(v(c+o/2,r)),i=Math.atan((u.y-n.y)/(u.x-n.x)),g=t.getPointAtLength(v(c,r)),h=(g.x*4+n.x+u.x)/6,x=(g.y*4+n.y+u.y)/6,f={x:h,y:x,theta:i};return C[c]=f,f},B.clearLocationCache=function(){w=null},B.getVisibleSegment=function(t,r,c){var o=r.left,n=r.right,u=r.top,i=r.bottom,g=0,h=t.getTotalLength(),x=h,f,l;function y(S){var L=t.getPointAtLength(S);S===0?f=L:S===h&&(l=L);var m=L.xn?L.x-n:0,M=L.yi?L.y-i:0;return Math.sqrt(m*m+M*M)}for(var T=y(g);T;){if(g+=T+c,g>x)return;T=y(g)}for(T=y(x);T;){if(x-=T+c,g>x)return;T=y(x)}return{min:g,max:x,len:x-g,total:h,isClosed:g===0&&x===h&&Math.abs(f.x-l.x)<.1&&Math.abs(f.y-l.y)<.1}},B.findPointOnPath=function(t,r,c,o){o=o||{};for(var n=o.pathLength||t.getTotalLength(),u=o.tolerance||.001,i=o.iterationLimit||30,g=t.getPointAtLength(0)[c]>t.getPointAtLength(n)[c]?-1:1,h=0,x=0,f=n,l,y,T;h0?f=l:x=l,h++}return y}},81697:function(U,B,e){var v=e(92770),E=e(84267),a=e(25075),C=e(21081),w=e(22399).defaultLine,d=e(73627).isArrayOrTypedArray,p=a(w),t=1;function r(i,g){var h=i;return h[3]*=g,h}function c(i){if(v(i))return p;var g=a(i);return g.length?g:p}function o(i){return v(i)?i:t}function n(i,g,h){var x=i.color,f=d(x),l=d(g),y=C.extractOpts(i),T=[],S,L,m,M,b;if(y.colorscale!==void 0?S=C.makeColorScaleFuncFromTrace(i):S=c,f?L=function(_,A){return _[A]===void 0?p:a(S(_[A]))}:L=c,l?m=function(_,A){return _[A]===void 0?t:o(_[A])}:m=o,f||l)for(var s=0;s1?(E*e+E*v)/E:e+v,C=String(a).length;if(C>16){var w=String(v).length,d=String(e).length;if(C>=d+w){var p=parseFloat(a).toPrecision(12);p.indexOf("e+")===-1&&(a=+p)}}return a}},71828:function(U,B,e){var v=e(39898),E=e(84096).g0,a=e(60721).WU,C=e(92770),w=e(50606),d=w.FP_SAFE,p=-d,t=w.BADNUM,r=U.exports={};r.adjustFormat=function(X){return!X||/^\d[.]\df/.test(X)||/[.]\d%/.test(X)?X:X==="0.f"?"~f":/^\d%/.test(X)?"~%":/^\ds/.test(X)?"~s":!/^[~,.0$]/.test(X)&&/[&fps]/.test(X)?"~"+X:X};var c={};r.warnBadFormat=function(j){var X=String(j);c[X]||(c[X]=1,r.warn('encountered bad format: "'+X+'"'))},r.noFormat=function(j){return String(j)},r.numberFormat=function(j){var X;try{X=a(r.adjustFormat(j))}catch{return r.warnBadFormat(j),r.noFormat}return X},r.nestedProperty=e(65487),r.keyedContainer=e(66636),r.relativeAttr=e(6962),r.isPlainObject=e(41965),r.toLogRange=e(58163),r.relinkPrivateKeys=e(51332);var o=e(73627);r.isTypedArray=o.isTypedArray,r.isArrayOrTypedArray=o.isArrayOrTypedArray,r.isArray1D=o.isArray1D,r.ensureArray=o.ensureArray,r.concat=o.concat,r.maxRowLength=o.maxRowLength,r.minRowLength=o.minRowLength;var n=e(64872);r.mod=n.mod,r.modHalf=n.modHalf;var u=e(96554);r.valObjectMeta=u.valObjectMeta,r.coerce=u.coerce,r.coerce2=u.coerce2,r.coerceFont=u.coerceFont,r.coercePattern=u.coercePattern,r.coerceHoverinfo=u.coerceHoverinfo,r.coerceSelectionMarkerOpacity=u.coerceSelectionMarkerOpacity,r.validate=u.validate;var i=e(41631);r.dateTime2ms=i.dateTime2ms,r.isDateTime=i.isDateTime,r.ms2DateTime=i.ms2DateTime,r.ms2DateTimeLocal=i.ms2DateTimeLocal,r.cleanDate=i.cleanDate,r.isJSDate=i.isJSDate,r.formatDate=i.formatDate,r.incrementMonth=i.incrementMonth,r.dateTick0=i.dateTick0,r.dfltRange=i.dfltRange,r.findExactDates=i.findExactDates,r.MIN_MS=i.MIN_MS,r.MAX_MS=i.MAX_MS;var g=e(65888);r.findBin=g.findBin,r.sorterAsc=g.sorterAsc,r.sorterDes=g.sorterDes,r.distinctVals=g.distinctVals,r.roundUp=g.roundUp,r.sort=g.sort,r.findIndexOfMin=g.findIndexOfMin,r.sortObjectKeys=e(78607);var h=e(80038);r.aggNums=h.aggNums,r.len=h.len,r.mean=h.mean,r.median=h.median,r.midRange=h.midRange,r.variance=h.variance,r.stdev=h.stdev,r.interp=h.interp;var x=e(35657);r.init2dArray=x.init2dArray,r.transposeRagged=x.transposeRagged,r.dot=x.dot,r.translationMatrix=x.translationMatrix,r.rotationMatrix=x.rotationMatrix,r.rotationXYMatrix=x.rotationXYMatrix,r.apply3DTransform=x.apply3DTransform,r.apply2DTransform=x.apply2DTransform,r.apply2DTransform2=x.apply2DTransform2,r.convertCssMatrix=x.convertCssMatrix,r.inverseTransformMatrix=x.inverseTransformMatrix;var f=e(26348);r.deg2rad=f.deg2rad,r.rad2deg=f.rad2deg,r.angleDelta=f.angleDelta,r.angleDist=f.angleDist,r.isFullCircle=f.isFullCircle,r.isAngleInsideSector=f.isAngleInsideSector,r.isPtInsideSector=f.isPtInsideSector,r.pathArc=f.pathArc,r.pathSector=f.pathSector,r.pathAnnulus=f.pathAnnulus;var l=e(99863);r.isLeftAnchor=l.isLeftAnchor,r.isCenterAnchor=l.isCenterAnchor,r.isRightAnchor=l.isRightAnchor,r.isTopAnchor=l.isTopAnchor,r.isMiddleAnchor=l.isMiddleAnchor,r.isBottomAnchor=l.isBottomAnchor;var y=e(87642);r.segmentsIntersect=y.segmentsIntersect,r.segmentDistance=y.segmentDistance,r.getTextLocation=y.getTextLocation,r.clearLocationCache=y.clearLocationCache,r.getVisibleSegment=y.getVisibleSegment,r.findPointOnPath=y.findPointOnPath;var T=e(1426);r.extendFlat=T.extendFlat,r.extendDeep=T.extendDeep,r.extendDeepAll=T.extendDeepAll,r.extendDeepNoArrays=T.extendDeepNoArrays;var S=e(47769);r.log=S.log,r.warn=S.warn,r.error=S.error;var L=e(30587);r.counterRegex=L.counter;var m=e(79990);r.throttle=m.throttle,r.throttleDone=m.done,r.clearThrottle=m.clear;var M=e(24401);r.getGraphDiv=M.getGraphDiv,r.isPlotDiv=M.isPlotDiv,r.removeElement=M.removeElement,r.addStyleRule=M.addStyleRule,r.addRelatedStyleRule=M.addRelatedStyleRule,r.deleteRelatedStyleRule=M.deleteRelatedStyleRule,r.getFullTransformMatrix=M.getFullTransformMatrix,r.getElementTransformMatrix=M.getElementTransformMatrix,r.getElementAndAncestors=M.getElementAndAncestors,r.equalDomRects=M.equalDomRects,r.clearResponsive=e(86367),r.preserveDrawingBuffer=e(45142),r.makeTraceGroups=e(77310),r._=e(15867),r.notifier=e(75046),r.filterUnique=e(75744),r.filterVisible=e(76756),r.pushUnique=e(75138),r.increment=e(39240),r.cleanNumber=e(95218),r.ensureNumber=function(X){return C(X)?(X=Number(X),X>d||X=X?!1:C(j)&&j>=0&&j%1===0},r.noop=e(64213),r.identity=e(23389),r.repeat=function(j,X){for(var re=new Array(X),le=0;lere?Math.max(re,Math.min(X,j)):Math.max(X,Math.min(re,j))},r.bBoxIntersect=function(j,X,re){return re=re||0,j.left<=X.right+re&&X.left<=j.right+re&&j.top<=X.bottom+re&&X.top<=j.bottom+re},r.simpleMap=function(j,X,re,le,q){for(var te=j.length,ue=new Array(te),ae=0;ae=Math.pow(2,re)?q>10?(r.warn("randstr failed uniqueness"),ue):j(X,re,le,(q||0)+1):ue},r.OptionControl=function(j,X){j||(j={}),X||(X="opt");var re={};return re.optionList=[],re._newoption=function(le){le[X]=j,re[le.name]=le,re.optionList.push(le)},re["_"+X]=j,re},r.smooth=function(j,X){if(X=Math.round(X)||0,X<2)return j;var re=j.length,le=2*re,q=2*X-1,te=new Array(q),ue=new Array(re),ae,de,xe,Se;for(ae=0;ae=le&&(xe-=le*Math.floor(xe/le)),xe<0?xe=-1-xe:xe>=re&&(xe=le-1-xe),Se+=j[xe]*te[de];ue[ae]=Se}return ue},r.syncOrAsync=function(j,X,re){var le,q;function te(){return r.syncOrAsync(j,X,re)}for(;j.length;)if(q=j.splice(0,1)[0],le=q(X),le&&le.then)return le.then(te);return re&&re(X)},r.stripTrailingSlash=function(j){return j.substr(-1)==="/"?j.substr(0,j.length-1):j},r.noneOrAll=function(j,X,re){if(j){var le=!1,q=!0,te,ue;for(te=0;te0?q:0})},r.fillArray=function(j,X,re,le){if(le=le||r.identity,r.isArrayOrTypedArray(j))for(var q=0;q1?q+ue[1]:"";if(te&&(ue.length>1||ae.length>4||re))for(;le.test(ae);)ae=ae.replace(le,"$1"+te+"$2");return ae+de},r.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var G=/^\w*$/;r.templateString=function(j,X){var re={};return j.replace(r.TEMPLATE_STRING_REGEX,function(le,q){var te;return G.test(q)?te=X[q]:(re[q]=re[q]||r.nestedProperty(X,q).get,te=re[q]()),r.isValidTextValue(te)?te:""})};var O={max:10,count:0,name:"hovertemplate"};r.hovertemplateString=function(){return ee.apply(O,arguments)};var H={max:10,count:0,name:"texttemplate"};r.texttemplateString=function(){return ee.apply(H,arguments)};var z=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/;function k(j){var X=j.match(z);return X?{key:X[1],op:X[2],number:Number(X[3])}:{key:j,op:null,number:null}}var V={max:10,count:0,name:"texttemplate",parseMultDiv:!0};r.texttemplateStringForShapes=function(){return ee.apply(V,arguments)};var Z=/^[:|\|]/;function ee(j,X,re){var le=this,q=arguments;X||(X={});var te={};return j.replace(r.TEMPLATE_STRING_REGEX,function(ue,ae,de){var xe=ae==="xother"||ae==="yother",Se=ae==="_xother"||ae==="_yother",Ae=ae==="_xother_"||ae==="_yother_",Be=ae==="xother_"||ae==="yother_",Oe=xe||Se||Be||Ae,Ee=ae;(Se||Ae)&&(Ee=Ee.substring(1)),(Be||Ae)&&(Ee=Ee.substring(0,Ee.length-1));var we=null,Ce=null;if(le.parseMultDiv){var Ge=k(Ee);Ee=Ge.key,we=Ge.op,Ce=Ge.number}var He;if(Oe){if(He=X[Ee],He===void 0)return""}else{var De,Fe;for(Fe=3;Fe=Q&&ue<=ne,xe=ae>=Q&&ae<=ne;if(de&&(le=10*le+ue-Q),xe&&(q=10*q+ae-Q),!de||!xe){if(le!==q)return le-q;if(ue!==ae)return ue-ae}}return q-le};var fe=2e9;r.seedPseudoRandom=function(){fe=2e9},r.pseudoRandom=function(){var j=fe;return fe=(69069*fe+1)%4294967296,Math.abs(fe-j)<429496729?r.pseudoRandom():fe/4294967296},r.fillText=function(j,X,re){var le=Array.isArray(re)?function(ue){re.push(ue)}:function(ue){re.text=ue},q=r.extractOption(j,X,"htx","hovertext");if(r.isValidTextValue(q))return le(q);var te=r.extractOption(j,X,"tx","text");if(r.isValidTextValue(te))return le(te)},r.isValidTextValue=function(j){return j||j===0},r.formatPercent=function(j,X){X=X||0;for(var re=(Math.round(100*j*Math.pow(10,X))*Math.pow(.1,X)).toFixed(X)+"%",le=0;le1&&(xe=1):xe=0,r.strTranslate(q-xe*(re+ue),te-xe*(le+ae))+r.strScale(xe)+(de?"rotate("+de+(X?"":" "+re+" "+le)+")":"")},r.setTransormAndDisplay=function(j,X){j.attr("transform",r.getTextTransform(X)),j.style("display",X.scale?null:"none")},r.ensureUniformFontSize=function(j,X){var re=r.extendFlat({},X);return re.size=Math.max(X.size,j._fullLayout.uniformtext.minsize||0),re},r.join2=function(j,X,re){var le=j.length;return le>1?j.slice(0,-1).join(X)+re+j[le-1]:j.join(X)},r.bigFont=function(j){return Math.round(1.2*j)};var $=r.getFirefoxVersion(),Y=$!==null&&$<86;r.getPositionFromD3Event=function(){return Y?[v.event.layerX,v.event.layerY]:[v.event.offsetX,v.event.offsetY]}},41965:function(U){U.exports=function(e){return window&&window.process&&window.process.versions?Object.prototype.toString.call(e)==="[object Object]":Object.prototype.toString.call(e)==="[object Object]"&&Object.getPrototypeOf(e).hasOwnProperty("hasOwnProperty")}},66636:function(U,B,e){var v=e(65487),E=/^\w*$/,a=0,C=1,w=2,d=3,p=4;U.exports=function(r,c,o,n){o=o||"name",n=n||"value";var u,i,g,h={};c&&c.length?(g=v(r,c),i=g.get()):i=r,c=c||"";var x={};if(i)for(u=0;u2)return h[T]=h[T]|w,l.set(y,null);if(f){for(u=T;u1){var w=["LOG:"];for(C=0;C1){var d=[];for(C=0;C"),"long")}},a.warn=function(){var C;if(v.logging>0){var w=["WARN:"];for(C=0;C0){var d=[];for(C=0;C"),"stick")}},a.error=function(){var C;if(v.logging>0){var w=["ERROR:"];for(C=0;C0){var d=[];for(C=0;C"),"stick")}}},77310:function(U,B,e){var v=e(39898);U.exports=function(a,C,w){var d=a.selectAll("g."+w.replace(/\s/g,".")).data(C,function(t){return t[0].trace.uid});d.exit().remove(),d.enter().append("g").attr("class",w),d.order();var p=a.classed("rangeplot")?"nodeRangePlot3":"node3";return d.each(function(t){t[0][p]=v.select(this)}),d}},35657:function(U,B,e){var v=e(79576);B.init2dArray=function(E,a){for(var C=new Array(E),w=0;wE/2?v-Math.round(v/E)*E:v}U.exports={mod:B,modHalf:e}},65487:function(U,B,e){var v=e(92770),E=e(73627).isArrayOrTypedArray;U.exports=function(n,u){if(v(u))u=String(u);else if(typeof u!="string"||u.substr(u.length-4)==="[-1]")throw"bad property string";for(var i=0,g=u.split("."),h,x,f;i/g),i=0;it||T===E||Tc||l&&u(f))}function g(f,l){var y=f[0],T=f[1];if(y===E||yt||T===E||Tc)return!1;var S=d.length,L=d[0][0],m=d[0][1],M=0,b,s,_,A,D;for(b=1;bMath.max(s,L)||T>Math.max(_,m)))if(To||Math.abs(v(g,u))>t)return!0;return!1},a.filter=function(w,d){var p=[w[0]],t=0,r=0;function c(n){w.push(n);var u=p.length,i=t;p.splice(r+1);for(var g=i+1;g1){var o=w.pop();c(o)}return{addPt:c,raw:w,filtered:p}}},79749:function(U,B,e){var v=e(58617),E=e(98580);U.exports=function(C,w,d){var p=C._fullLayout,t=!0;return p._glcanvas.each(function(r){if(r.regl){r.regl.preloadCachedCode(d);return}if(!(r.pick&&!p._has("parcoords"))){try{r.regl=E({canvas:this,attributes:{antialias:!r.pick,preserveDrawingBuffer:!0},pixelRatio:C._context.plotGlPixelRatio||e.g.devicePixelRatio,extensions:w||[],cachedCode:d||{}})}catch{t=!1}r.regl||(t=!1),t&&this.addEventListener("webglcontextlost",function(c){C&&C.emit&&C.emit("plotly_webglcontextlost",{event:c,layer:r.key})},!1)}}),t||v({container:p._glcontainer.node()}),t}},45142:function(U,B,e){var v=e(92770),E=e(35791);U.exports=function(w){var d;if(w&&w.hasOwnProperty("userAgent")?d=w.userAgent:d=a(),typeof d!="string")return!0;var p=E({ua:{headers:{"user-agent":d}},tablet:!0,featureDetect:!1});if(!p)for(var t=d.split(" "),r=1;r-1;o--){var n=t[o];if(n.substr(0,8)==="Version/"){var u=n.substr(8).split(".")[0];if(v(u)&&(u=+u),u>=13)return!0}}}return p};function a(){var C;return typeof navigator<"u"&&(C=navigator.userAgent),C&&C.headers&&typeof C.headers["user-agent"]=="string"&&(C=C.headers["user-agent"]),C}},75138:function(U){U.exports=function(e,v){if(v instanceof RegExp){for(var E=v.toString(),a=0;aE.queueLength&&(w.undoQueue.queue.shift(),w.undoQueue.index--)},C.startSequence=function(w){w.undoQueue=w.undoQueue||{index:0,queue:[],sequence:!1},w.undoQueue.sequence=!0,w.undoQueue.beginSequence=!0},C.stopSequence=function(w){w.undoQueue=w.undoQueue||{index:0,queue:[],sequence:!1},w.undoQueue.sequence=!1,w.undoQueue.beginSequence=!1},C.undo=function(d){var p,t;if(!(d.undoQueue===void 0||isNaN(d.undoQueue.index)||d.undoQueue.index<=0)){for(d.undoQueue.index--,p=d.undoQueue.queue[d.undoQueue.index],d.undoQueue.inSequence=!0,t=0;t=d.undoQueue.queue.length)){for(p=d.undoQueue.queue[d.undoQueue.index],d.undoQueue.inSequence=!0,t=0;t1?(o[i-1]-o[0])/(i-1):1,x,f;for(h>=0?f=n?d:p:f=n?r:t,c+=h*w*(n?-1:1)*(h>=0?1:-1);u90&&E.log("Long binary search..."),u-1};function d(c,o){return co}function r(c,o){return c>=o}B.sorterAsc=function(c,o){return c-o},B.sorterDes=function(c,o){return o-c},B.distinctVals=function(c){var o=c.slice();o.sort(B.sorterAsc);var n;for(n=o.length-1;n>-1&&o[n]===C;n--);for(var u=o[n]-o[0]||1,i=u/(n||1)/1e4,g=[],h,x=0;x<=n;x++){var f=o[x],l=f-h;h===void 0?(g.push(f),h=f):l>i&&(u=Math.min(u,l),g.push(f),h=f)}return{vals:g,minDiff:u}},B.roundUp=function(c,o,n){for(var u=0,i=o.length-1,g,h=0,x=n?0:1,f=n?1:0,l=n?Math.ceil:Math.floor;u0&&(u=1),n&&u)return c.sort(o)}return u?c:c.reverse()},B.findIndexOfMin=function(c,o){o=o||a;for(var n=1/0,u,i=0;iw.length)&&(d=w.length),v(C)||(C=!1),E(w[0])){for(t=new Array(d),p=0;pa.length-1)return a[a.length-1];var w=C%1;return w*a[Math.ceil(C)]+(1-w)*a[Math.floor(C)]}},78614:function(U,B,e){var v=e(25075);function E(a){return a?v(a):[0,0,0,1]}U.exports=E},3883:function(U,B,e){var v=e(32396),E=e(91424),a=e(71828),C=null;function w(){if(C!==null)return C;C=!1;var d=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!d){var p=Array.from(v.CSS_DECLARATIONS).reverse(),t=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof t=="function")C=p.some(function(n){return t.apply(null,n)});else{var r=E.tester.append("image").attr("style",v.STYLE),c=window.getComputedStyle(r.node()),o=c.imageRendering;C=p.some(function(n){var u=n[1];return o===u||o===u.toLowerCase()}),r.remove()}}return C}U.exports=w},63893:function(U,B,e){var v=e(39898),E=e(71828),a=E.strTranslate,C=e(77922),w=e(18783).LINE_SPACING,d=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;B.convertToTspans=function(z,k,V){var Z=z.text(),ee=!z.attr("data-notex")&&k&&k._context.typesetMath&&typeof MathJax<"u"&&Z.match(d),Q=v.select(z.node().parentNode);if(Q.empty())return;var ne=z.attr("class")?z.attr("class").split(" ")[0]:"text";ne+="-math",Q.selectAll("svg."+ne).remove(),Q.selectAll("g."+ne+"-group").remove(),z.style("display",null).attr({"data-unformatted":Z,"data-math":"N"});function fe(){Q.empty()||(ne=z.attr("class")+"-math",Q.select("svg."+ne).remove()),z.text("").style("white-space","pre");var $=F(z.node(),Z);$&&z.style("pointer-events","all"),B.positionText(z),V&&V.call(z)}return ee?(k&&k._promises||[]).push(new Promise(function($){z.style("display","none");var Y=parseInt(z.node().style.fontSize,10),j={fontSize:Y};o(ee[2],j,function(X,re,le){Q.selectAll("svg."+ne).remove(),Q.selectAll("g."+ne+"-group").remove();var q=X&&X.select("svg");if(!q||!q.node()){fe(),$();return}var te=Q.append("g").classed(ne+"-group",!0).attr({"pointer-events":"none","data-unformatted":Z,"data-math":"Y"});te.node().appendChild(q.node()),re&&re.node()&&q.node().insertBefore(re.node().cloneNode(!0),q.node().firstChild);var ue=le.width,ae=le.height;q.attr({class:ne,height:ae,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var de=z.node().style.fill||"black",xe=q.select("g");xe.attr({fill:de,stroke:de});var Se=xe.node().getBoundingClientRect(),Ae=Se.width,Be=Se.height;(Ae>ue||Be>ae)&&(q.style("overflow","hidden"),Se=q.node().getBoundingClientRect(),Ae=Se.width,Be=Se.height);var Oe=+z.attr("x"),Ee=+z.attr("y"),we=Y||z.node().getBoundingClientRect().height,Ce=-we/4;if(ne[0]==="y")te.attr({transform:"rotate("+[-90,Oe,Ee]+")"+a(-Ae/2,Ce-Be/2)});else if(ne[0]==="l")Ee=Ce-Be/2;else if(ne[0]==="a"&&ne.indexOf("atitle")!==0)Oe=0,Ee=Ce;else{var Ge=z.attr("text-anchor");Oe=Oe-Ae*(Ge==="middle"?.5:Ge==="end"?1:0),Ee=Ee+Ce-Be/2}q.attr({x:Oe,y:Ee}),V&&V.call(z,te),$(te)})})):fe(),z};var p=/(<|<|<)/g,t=/(>|>|>)/g;function r(z){return z.replace(p,"\\lt ").replace(t,"\\gt ")}var c=[["$","$"],["\\(","\\)"]];function o(z,k,V){var Z=parseInt((MathJax.version||"").split(".")[0]);if(Z!==2&&Z!==3){E.warn("No MathJax version:",MathJax.version);return}var ee,Q,ne,fe,$=function(){return Q=E.extendDeepAll({},MathJax.Hub.config),ne=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:c},displayAlign:"left"})},Y=function(){Q=E.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=c},j=function(){if(ee=MathJax.Hub.config.menuSettings.renderer,ee!=="SVG")return MathJax.Hub.setRenderer("SVG")},X=function(){ee=MathJax.config.startup.output,ee!=="svg"&&(MathJax.config.startup.output="svg")},re=function(){var de="math-output-"+E.randstr({},64);fe=v.select("body").append("div").attr({id:de}).style({visibility:"hidden",position:"absolute","font-size":k.fontSize+"px"}).text(r(z));var xe=fe.node();return Z===2?MathJax.Hub.Typeset(xe):MathJax.typeset([xe])},le=function(){var de=fe.select(Z===2?".MathJax_SVG":".MathJax"),xe=!de.empty()&&fe.select("svg").node();if(!xe)E.log("There was an error in the tex syntax.",z),V();else{var Se=xe.getBoundingClientRect(),Ae;Z===2?Ae=v.select("body").select("#MathJax_SVG_glyphs"):Ae=de.select("defs"),V(de,Ae,Se)}fe.remove()},q=function(){if(ee!=="SVG")return MathJax.Hub.setRenderer(ee)},te=function(){ee!=="svg"&&(MathJax.config.startup.output=ee)},ue=function(){return ne!==void 0&&(MathJax.Hub.processSectionDelay=ne),MathJax.Hub.Config(Q)},ae=function(){MathJax.config=Q};Z===2?MathJax.Hub.Queue($,j,re,le,q,ue):Z===3&&(Y(),X(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){re(),le(),te(),ae()}))}var n={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"},u={sub:"0.3em",sup:"-0.6em"},i={sub:"-0.21em",sup:"0.42em"},g="​",h=["http:","https:","mailto:","",void 0,":"],x=B.NEWLINES=/(\r\n?|\n)/g,f=/(<[^<>]*>)/,l=/<(\/?)([^ >]*)(\s+(.*))?>/i,y=//i;B.BR_TAG_ALL=//gi;var T=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,S=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,L=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,m=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function M(z,k){if(!z)return null;var V=z.match(k),Z=V&&(V[3]||V[4]);return Z&&A(Z)}var b=/(^|;)\s*color:/;B.plainText=function(z,k){k=k||{};for(var V=k.len!==void 0&&k.len!==-1?k.len:1/0,Z=k.allowedTags!==void 0?k.allowedTags:["br"],ee="...",Q=ee.length,ne=z.split(f),fe=[],$="",Y=0,j=0;jQ?fe.push(X.substr(0,te-Q)+ee):fe.push(X.substr(0,te));break}$=""}}return fe.join("")};var s={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},_=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function A(z){return z.replace(_,function(k,V){var Z;return V.charAt(0)==="#"?Z=D(V.charAt(1)==="x"?parseInt(V.substr(2),16):parseInt(V.substr(1),10)):Z=s[V],Z||k})}B.convertEntities=A;function D(z){if(!(z>1114111)){var k=String.fromCodePoint;if(k)return k(z);var V=String.fromCharCode;return z<=65535?V(z):V((z>>10)+55232,z%1024+56320)}}function F(z,k){k=k.replace(x," ");var V=!1,Z=[],ee,Q=-1;function ne(){Q++;var Be=document.createElementNS(C.svg,"tspan");v.select(Be).attr({class:"line",dy:Q*w+"em"}),z.appendChild(Be),ee=Be;var Oe=Z;if(Z=[{node:Be}],Oe.length>1)for(var Ee=1;Ee.",k);return}var Oe=Z.pop();Be!==Oe.type&&E.log("Start tag <"+Oe.type+"> doesnt match end tag <"+Be+">. Pretending it did match.",k),ee=Z[Z.length-1].node}var j=y.test(k);j?ne():(ee=z,Z=[{node:z}]);for(var X=k.split(f),re=0;red.ts+C){r();return}d.timer=setTimeout(function(){r(),d.timer=null},C)},B.done=function(E){var a=e[E];return!a||!a.timer?Promise.resolve():new Promise(function(C){var w=a.onDone;a.onDone=function(){w&&w(),C(),a.onDone=null}})},B.clear=function(E){if(E)v(e[E]),delete e[E];else for(var a in e)B.clear(a)};function v(E){E&&E.timer!==null&&(clearTimeout(E.timer),E.timer=null)}},58163:function(U,B,e){var v=e(92770);U.exports=function(a,C){if(a>0)return Math.log(a)/Math.LN10;var w=Math.log(Math.min(C[0],C[1]))/Math.LN10;return v(w)||(w=Math.log(Math.max(C[0],C[1]))/Math.LN10-6),w}},90973:function(U,B,e){var v=U.exports={},E=e(78776).locationmodeToLayer,a=e(96892).zL;v.getTopojsonName=function(C){return[C.scope.replace(/ /g,"-"),"_",C.resolution.toString(),"m"].join("")},v.getTopojsonPath=function(C,w){return C+w+".json"},v.getTopojsonFeatures=function(C,w){var d=E[C.locationmode],p=w.objects[d];return a(w,p).features}},37815:function(U){U.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},92177:function(U){U.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"}}},14458:function(U,B,e){var v=e(73972);U.exports=function(a){for(var C=v.layoutArrayContainers,w=v.layoutArrayRegexes,d=a.split("[")[0],p,t,r=0;r0&&C.log("Clearing previous rejected promises from queue."),y._promises=[]},B.cleanLayout=function(y){var T,S;y||(y={}),y.xaxis1&&(y.xaxis||(y.xaxis=y.xaxis1),delete y.xaxis1),y.yaxis1&&(y.yaxis||(y.yaxis=y.yaxis1),delete y.yaxis1),y.scene1&&(y.scene||(y.scene=y.scene1),delete y.scene1);var L=(w.subplotsRegistry.cartesian||{}).attrRegex,m=(w.subplotsRegistry.polar||{}).attrRegex,M=(w.subplotsRegistry.ternary||{}).attrRegex,b=(w.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(y);for(T=0;T3?(j.x=1.02,j.xanchor="left"):j.x<-2&&(j.x=-.02,j.xanchor="right"),j.y>3?(j.y=1.02,j.yanchor="bottom"):j.y<-2&&(j.y=-.02,j.yanchor="top")),n(y),y.dragmode==="rotate"&&(y.dragmode="orbit"),p.clean(y),y.template&&y.template.layout&&B.cleanLayout(y.template.layout),y};function o(y,T){var S=y[T],L=T.charAt(0);S&&S!=="paper"&&(y[T]=t(S,L,!0))}function n(y){y&&((typeof y.title=="string"||typeof y.title=="number")&&(y.title={text:y.title}),T("titlefont","font"),T("titleposition","position"),T("titleside","side"),T("titleoffset","offset"));function T(S,L){var m=y[S],M=y.title&&y.title[L];m&&!M&&(y.title||(y.title={}),y.title[L]=y[S],delete y[S])}}B.cleanData=function(y){for(var T=0;T0)return y.substr(0,T)}B.hasParent=function(y,T){for(var S=f(T);S;){if(S in y)return!0;S=f(S)}return!1};var l=["x","y","z"];B.clearAxisTypes=function(y,T,S){for(var L=0;L1&&a.warn("Full array edits are incompatible with other edits",i);var T=o[""][""];if(p(T))c.set(null);else if(Array.isArray(T))c.set(T);else return a.warn("Unrecognized full array edit value",i,T),!0;return f?!1:(g(l,y),h(r),!0)}var S=Object.keys(o).map(Number).sort(C),L=c.get(),m=L||[],M=u(y,i).get(),b=[],s=-1,_=m.length,A,D,F,G,O,H,z,k;for(A=0;Am.length-(z?0:1)){a.warn("index out of range",i,F);continue}if(H!==void 0)O.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",i,F),p(H)?b.push(F):z?(H==="add"&&(H={}),m.splice(F,0,H),M&&M.splice(F,0,{})):a.warn("Unrecognized full object edit value",i,F,H),s===-1&&(s=F);else for(D=0;D=0;A--)m.splice(b[A],1),M&&M.splice(b[A],1);if(m.length?L||c.set(m):c.set(null),f)return!1;if(g(l,y),x!==E){var V;if(s===-1)V=S;else{for(_=Math.max(m.length,_),V=[],A=0;A=s));A++)V.push(F);for(A=s;A<_;A++)V.push(A)}for(A=0;A=he.data.length||st<-he.data.length)throw new Error(Re+" must be valid indices for gd.data.");if(me.indexOf(st,Ne+1)>-1||st>=0&&me.indexOf(-he.data.length+st)>-1||st<0&&me.indexOf(he.data.length+st)>-1)throw new Error("each index in "+Re+" must be unique.")}}function z(he,me,Re){if(!Array.isArray(he.data))throw new Error("gd.data must be an array.");if(typeof me>"u")throw new Error("currentIndices is a required argument.");if(Array.isArray(me)||(me=[me]),H(he,me,"currentIndices"),typeof Re<"u"&&!Array.isArray(Re)&&(Re=[Re]),typeof Re<"u"&&H(he,Re,"newIndices"),typeof Re<"u"&&me.length!==Re.length)throw new Error("current and new indices must be of equal length.")}function k(he,me,Re){var Ne,st;if(!Array.isArray(he.data))throw new Error("gd.data must be an array.");if(typeof me>"u")throw new Error("traces must be defined.");for(Array.isArray(me)||(me=[me]),Ne=0;Ne"u")throw new Error("indices must be an integer or array of integers");H(he,Re,"indices");for(var ft in me){if(!Array.isArray(me[ft])||me[ft].length!==Re.length)throw new Error("attribute "+ft+" must be an array of length equal to indices array length");if(st&&(!(ft in Ne)||!Array.isArray(Ne[ft])||Ne[ft].length!==me[ft].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")}}function Z(he,me,Re,Ne){var st=C.isPlainObject(Ne),ft=[],At,Ft,Ht,Gt,Rt;Array.isArray(Re)||(Re=[Re]),Re=O(Re,he.data.length-1);for(var qt in me)for(var sr=0;sr=0&&Rt=0&&Rt"u")return Gt=B.redraw(he),p.add(he,st,At,ft,Ft),Gt;Array.isArray(Re)||(Re=[Re]);try{z(he,Ne,Re)}catch(Rt){throw he.data.splice(he.data.length-me.length,me.length),Rt}return p.startSequence(he),p.add(he,st,At,ft,Ft),Gt=B.moveTraces(he,Ne,Re),p.stopSequence(he),Gt}function Y(he,me){he=C.getGraphDiv(he);var Re=[],Ne=B.addTraces,st=Y,ft=[he,Re,me],At=[he,me],Ft,Ht;if(typeof me>"u")throw new Error("indices must be an integer or array of integers.");for(Array.isArray(me)||(me=[me]),H(he,me,"indices"),me=O(me,he.data.length-1),me.sort(C.sorterDes),Ft=0;Ft"u")for(Re=[],Gt=0;Gt-1&&ft.indexOf("grouptitlefont")===-1?Ft(ft,ft.replace("titlefont","title.font")):ft.indexOf("titleposition")>-1?Ft(ft,ft.replace("titleposition","title.position")):ft.indexOf("titleside")>-1?Ft(ft,ft.replace("titleside","title.side")):ft.indexOf("titleoffset")>-1&&Ft(ft,ft.replace("titleoffset","title.offset"));function Ft(Ht,Gt){he[Gt]=he[Ht],delete he[Ht]}}function de(he,me,Re){he=C.getGraphDiv(he),l.clearPromiseQueue(he);var Ne={};if(typeof me=="string")Ne[me]=Re;else if(C.isPlainObject(me))Ne=C.extendFlat({},me);else return C.warn("Relayout fail.",me,Re),Promise.reject();Object.keys(Ne).length&&(he.changed=!0);var st=Ee(he,Ne),ft=st.flags;ft.calc&&(he.calcdata=void 0);var At=[c.previousPromises];ft.layoutReplot?At.push(y.layoutReplot):Object.keys(Ne).length&&(xe(he,ft,st)||c.supplyDefaults(he),ft.legend&&At.push(y.doLegend),ft.layoutstyle&&At.push(y.layoutStyles),ft.axrange&&Se(At,st.rangesAltered),ft.ticks&&At.push(y.doTicksRelayout),ft.modebar&&At.push(y.doModeBar),ft.camera&&At.push(y.doCamera),ft.colorbars&&At.push(y.doColorBars),At.push(b)),At.push(c.rehover,c.redrag,c.reselect),p.add(he,de,[he,st.undoit],de,[he,st.redoit]);var Ft=C.syncOrAsync(At,he);return(!Ft||!Ft.then)&&(Ft=Promise.resolve(he)),Ft.then(function(){return he.emit("plotly_relayout",st.eventData),he})}function xe(he,me,Re){var Ne=he._fullLayout;if(!me.axrange)return!1;for(var st in me)if(st!=="axrange"&&me[st])return!1;for(var ft in Re.rangesAltered){var At=o.id2name(ft),Ft=he.layout[At],Ht=Ne[At];if(Ht.autorange=Ft.autorange,Ft.range&&(Ht.range=Ft.range.slice()),Ht.cleanRange(),Ht._matchGroup){for(var Gt in Ht._matchGroup)if(Gt!==ft){var Rt=Ne[o.id2name(Gt)];Rt.autorange=Ht.autorange,Rt.range=Ht.range.slice(),Rt._input.range=Ht.range.slice()}}}return!0}function Se(he,me){var Re=me?function(Ne){var st=[],ft=!0;for(var At in me){var Ft=o.getFromId(Ne,At);if(st.push(At),(Ft.ticklabelposition||"").indexOf("inside")!==-1&&Ft._anchorAxis&&st.push(Ft._anchorAxis._id),Ft._matchGroup)for(var Ht in Ft._matchGroup)me[Ht]||st.push(Ht)}return o.draw(Ne,st,{skipTitle:ft})}:function(Ne){return o.draw(Ne,"redraw")};he.push(h,y.doAutoRangeAndConstraints,Re,y.drawData,y.finalDraw)}var Ae=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Be=/^[xyz]axis[0-9]*\.autorange$/,Oe=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Ee(he,me){var Re=he.layout,Ne=he._fullLayout,st=Ne._guiEditing,ft=le(Ne._preGUI,st),At=Object.keys(me),Ft=o.list(he),Ht=C.extendDeepAll({},me),Gt={},Rt,qt,sr;for(ae(me),At=Object.keys(me),qt=0;qt0&&typeof St.parts[Jt]!="string";)Jt--;var $t=St.parts[Jt],ir=St.parts[Jt-1]+"."+$t,Cr=St.parts.slice(0,Jt).join("."),je=w(he.layout,Cr).get(),We=w(Ne,Cr).get(),It=St.get();if(Ot!==void 0){wr[Lt]=Ot,hr[Lt]=$t==="reverse"?Ot:re(It);var kt=r.getLayoutValObject(Ne,St.parts);if(kt&&kt.impliedEdits&&Ot!==null)for(var Yt in kt.impliedEdits)ct(C.relativeAttr(Lt,Yt),kt.impliedEdits[Yt]);if(["width","height"].indexOf(Lt)!==-1)if(Ot){ct("autosize",null);var ar=Lt==="height"?"width":"height";ct(ar,Ne[ar])}else Ne[Lt]=he._initialAutoSize[Lt];else if(Lt==="autosize")ct("width",Ot?null:Ne.width),ct("height",Ot?null:Ne.height);else if(ir.match(Ae))Mt(ir),w(Ne,Cr+"._inputRange").set(null);else if(ir.match(Be)){Mt(ir),w(Ne,Cr+"._inputRange").set(null);var lr=w(Ne,Cr).get();lr._inputDomain&&(lr._input.domain=lr._inputDomain.slice())}else ir.match(Oe)&&w(Ne,Cr+"._inputDomain").set(null);if($t==="type"){wt=je;var rr=We.type==="linear"&&Ot==="log",Nt=We.type==="log"&&Ot==="linear";if(rr||Nt){if(!wt||!wt.range)ct(Cr+".autorange",!0);else if(We.autorange)rr&&(wt.range=wt.range[1]>wt.range[0]?[1,2]:[2,1]);else{var cr=wt.range[0],vr=wt.range[1];rr?(cr<=0&&vr<=0&&ct(Cr+".autorange",!0),cr<=0?cr=vr/1e6:vr<=0&&(vr=cr/1e6),ct(Cr+".range[0]",Math.log(cr)/Math.LN10),ct(Cr+".range[1]",Math.log(vr)/Math.LN10)):(ct(Cr+".range[0]",Math.pow(10,cr)),ct(Cr+".range[1]",Math.pow(10,vr)))}Array.isArray(Ne._subplots.polar)&&Ne._subplots.polar.length&&Ne[St.parts[0]]&&St.parts[1]==="radialaxis"&&delete Ne[St.parts[0]]._subplot.viewInitial["radialaxis.range"],t.getComponentMethod("annotations","convertCoords")(he,We,Ot,ct),t.getComponentMethod("images","convertCoords")(he,We,Ot,ct)}else ct(Cr+".autorange",!0),ct(Cr+".range",null);w(Ne,Cr+"._inputRange").set(null)}else if($t.match(S)){var pr=w(Ne,Lt).get(),dr=(Ot||{}).type;(!dr||dr==="-")&&(dr="linear"),t.getComponentMethod("annotations","convertCoords")(he,pr,dr,ct),t.getComponentMethod("images","convertCoords")(he,pr,dr,ct)}var Yr=f.containerArrayMatch(Lt);if(Yr){Rt=Yr.array,qt=Yr.index;var zr=Yr.property,Or=kt||{editType:"calc"};qt!==""&&zr===""&&(f.isAddVal(Ot)?hr[Lt]=null:f.isRemoveVal(Ot)?hr[Lt]=(w(Re,Rt).get()||[])[qt]:C.warn("unrecognized full object value",me)),T.update(jt,Or),Gt[Rt]||(Gt[Rt]={});var mn=Gt[Rt][qt];mn||(mn=Gt[Rt][qt]={}),mn[zr]=Ot,delete me[Lt]}else $t==="reverse"?(je.range?je.range.reverse():(ct(Cr+".autorange",!0),je.range=[1,0]),We.autorange?jt.calc=!0:jt.plot=!0):(Lt==="dragmode"&&(Ot===!1&&It!==!1||Ot!==!1&&It===!1)||Ne._has("scatter-like")&&Ne._has("regl")&&Lt==="dragmode"&&(Ot==="lasso"||Ot==="select")&&!(It==="lasso"||It==="select")||Ne._has("gl2d")?jt.plot=!0:kt?T.update(jt,kt):jt.calc=!0,St.set(Ot))}}for(Rt in Gt){var Kr=f.applyContainerArrayChanges(he,ft(Re,Rt),Gt[Rt],jt,ft);Kr||(jt.plot=!0)}for(var kn in ut){wt=o.getFromId(he,kn);var Dn=wt&&wt._constraintGroup;if(Dn){jt.calc=!0;for(var xr in Dn)ut[xr]||(o.getFromId(he,xr)._constraintShrinkable=!0)}}return(we(he)||me.height||me.width)&&(jt.plot=!0),(jt.plot||jt.calc)&&(jt.layoutReplot=!0),{flags:jt,rangesAltered:ut,undoit:hr,redoit:wr,eventData:Ht}}function we(he){var me=he._fullLayout,Re=me.width,Ne=me.height;return he.layout.autosize&&c.plotAutoSize(he,he.layout,me),me.width!==Re||me.height!==Ne}function Ce(he,me,Re,Ne){he=C.getGraphDiv(he),l.clearPromiseQueue(he),C.isPlainObject(me)||(me={}),C.isPlainObject(Re)||(Re={}),Object.keys(me).length&&(he.changed=!0),Object.keys(Re).length&&(he.changed=!0);var st=l.coerceTraceIndices(he,Ne),ft=ue(he,C.extendFlat({},me),st),At=ft.flags,Ft=Ee(he,C.extendFlat({},Re)),Ht=Ft.flags;(At.calc||Ht.calc)&&(he.calcdata=void 0),At.clearAxisTypes&&l.clearAxisTypes(he,st,Re);var Gt=[];Ht.layoutReplot?Gt.push(y.layoutReplot):At.fullReplot?Gt.push(B._doPlot):(Gt.push(c.previousPromises),xe(he,Ht,Ft)||c.supplyDefaults(he),At.style&&Gt.push(y.doTraceStyle),(At.colorbars||Ht.colorbars)&&Gt.push(y.doColorBars),Ht.legend&&Gt.push(y.doLegend),Ht.layoutstyle&&Gt.push(y.layoutStyles),Ht.axrange&&Se(Gt,Ft.rangesAltered),Ht.ticks&&Gt.push(y.doTicksRelayout),Ht.modebar&&Gt.push(y.doModeBar),Ht.camera&&Gt.push(y.doCamera),Gt.push(b)),Gt.push(c.rehover,c.redrag,c.reselect),p.add(he,Ce,[he,ft.undoit,Ft.undoit,ft.traces],Ce,[he,ft.redoit,Ft.redoit,ft.traces]);var Rt=C.syncOrAsync(Gt,he);return(!Rt||!Rt.then)&&(Rt=Promise.resolve(he)),Rt.then(function(){return he.emit("plotly_update",{data:ft.eventData,layout:Ft.eventData}),he})}function Ge(he){return function(Re){Re._fullLayout._guiEditing=!0;var Ne=he.apply(null,arguments);return Re._fullLayout._guiEditing=!1,Ne}}var He=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],De=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function Fe(he,me){for(var Re=0;Re1;)if(Ne.pop(),Re=w(me,Ne.join(".")+".uirevision").get(),Re!==void 0)return Re;return me.uirevision}function Qe(he,me){for(var Re=0;Re=st.length?st[0]:st[Gt]:st}function Ft(Gt){return Array.isArray(ft)?Gt>=ft.length?ft[0]:ft[Gt]:ft}function Ht(Gt,Rt){var qt=0;return function(){if(Gt&&++qt===Rt)return Gt()}}return new Promise(function(Gt,Rt){function qt(){if(Ne._frameQueue.length!==0){for(;Ne._frameQueue.length;){var $t=Ne._frameQueue.pop();$t.onInterrupt&&$t.onInterrupt()}he.emit("plotly_animationinterrupted",[])}}function sr($t){if($t.length!==0){for(var ir=0;ir<$t.length;ir++){var Cr;$t[ir].type==="byname"?Cr=c.computeFrame(he,$t[ir].name):Cr=$t[ir].data;var je=Ft(ir),We=At(ir);We.duration=Math.min(We.duration,je.duration);var It={frame:Cr,name:$t[ir].name,frameOpts:je,transitionOpts:We};ir===$t.length-1&&(It.onComplete=Ht(Gt,2),It.onInterrupt=Rt),Ne._frameQueue.push(It)}Re.mode==="immediate"&&(Ne._lastFrameAt=-1/0),Ne._animationRaf||Xt()}}function kr(){he.emit("plotly_animated"),window.cancelAnimationFrame(Ne._animationRaf),Ne._animationRaf=null}function xt(){Ne._currentFrame&&Ne._currentFrame.onComplete&&Ne._currentFrame.onComplete();var $t=Ne._currentFrame=Ne._frameQueue.shift();if($t){var ir=$t.name?$t.name.toString():null;he._fullLayout._currentFrame=ir,Ne._lastFrameAt=Date.now(),Ne._timeToNext=$t.frameOpts.duration,c.transition(he,$t.frame.data,$t.frame.layout,l.coerceTraceIndices(he,$t.frame.traces),$t.frameOpts,$t.transitionOpts).then(function(){$t.onComplete&&$t.onComplete()}),he.emit("plotly_animatingframe",{name:ir,frame:$t.frame,animation:{frame:$t.frameOpts,transition:$t.transitionOpts}})}else kr()}function Xt(){he.emit("plotly_animating"),Ne._lastFrameAt=-1/0,Ne._timeToNext=0,Ne._runningTransitions=0,Ne._currentFrame=null;var $t=function(){Ne._animationRaf=window.requestAnimationFrame($t),Date.now()-Ne._lastFrameAt>Ne._timeToNext&&xt()};$t()}var jt=0;function wr($t){return Array.isArray(st)?jt>=st.length?$t.transitionOpts=st[jt]:$t.transitionOpts=st[0]:$t.transitionOpts=st,jt++,$t}var hr,ct,ut=[],wt=me==null,Mt=Array.isArray(me),Lt=!wt&&!Mt&&C.isPlainObject(me);if(Lt)ut.push({type:"object",data:wr(C.extendFlat({},me))});else if(wt||["string","number"].indexOf(typeof me)!==-1)for(hr=0;hr0&&VtVt)&&Jt.push(ct);ut=Jt}}ut.length>0?sr(ut):(he.emit("plotly_animated"),Gt())})}function rt(he,me,Re){if(he=C.getGraphDiv(he),me==null)return Promise.resolve();if(!C.isPlotDiv(he))throw new Error("This element is not a Plotly plot: "+he+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var Ne,st,ft,At,Ft=he._transitionData._frames,Ht=he._transitionData._frameHash;if(!Array.isArray(me))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+me);var Gt=Ft.length+me.length*2,Rt=[],qt={};for(Ne=me.length-1;Ne>=0;Ne--)if(C.isPlainObject(me[Ne])){var sr=me[Ne].name,kr=(Ht[sr]||qt[sr]||{}).name,xt=me[Ne].name,Xt=Ht[kr]||qt[kr];kr&&xt&&typeof xt=="number"&&Xt&&LSt.index?-1:Lt.index=0;Ne--){if(st=Rt[Ne].frame,typeof st.name=="number"&&C.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!st.name)for(;Ht[st.name="frame "+he._transitionData._counter++];);if(Ht[st.name]){for(ft=0;ft=0;Re--)Ne=me[Re],ft.push({type:"delete",index:Ne}),At.unshift({type:"insert",index:Ne,value:st[Ne]});var Ft=c.modifyFrames,Ht=c.modifyFrames,Gt=[he,At],Rt=[he,ft];return p&&p.add(he,Ft,Gt,Ht,Rt),c.modifyFrames(he,ft)}function Ze(he){he=C.getGraphDiv(he);var me=he._fullLayout||{},Re=he._fullData||[];return c.cleanPlot([],{},Re,me),c.purge(he),d.purge(he),me._container&&me._container.remove(),delete he._context,he}function Ie(he){var me=he._fullLayout,Re=he.getBoundingClientRect();if(!C.equalDomRects(Re,me._lastBBox)){var Ne=me._invTransform=C.inverseTransformMatrix(C.getFullTransformMatrix(he));me._invScaleX=Math.sqrt(Ne[0][0]*Ne[0][0]+Ne[0][1]*Ne[0][1]+Ne[0][2]*Ne[0][2]),me._invScaleY=Math.sqrt(Ne[1][0]*Ne[1][0]+Ne[1][1]*Ne[1][1]+Ne[1][2]*Ne[1][2]),me._lastBBox=Re}}function Te(he){var me=v.select(he),Re=he._fullLayout;if(Re._calcInverseTransform=Ie,Re._calcInverseTransform(he),Re._container=me.selectAll(".plot-container").data([0]),Re._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),Re._paperdiv=Re._container.selectAll(".svg-container").data([0]),Re._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),Re._glcontainer=Re._paperdiv.selectAll(".gl-container").data([{}]),Re._glcontainer.enter().append("div").classed("gl-container",!0),Re._paperdiv.selectAll(".main-svg").remove(),Re._paperdiv.select(".modebar-container").remove(),Re._paper=Re._paperdiv.insert("svg",":first-child").classed("main-svg",!0),Re._toppaper=Re._paperdiv.append("svg").classed("main-svg",!0),Re._modebardiv=Re._paperdiv.append("div"),delete Re._modeBar,Re._hoverpaper=Re._paperdiv.append("svg").classed("main-svg",!0),!Re._uid){var Ne={};v.selectAll("defs").each(function(){this.id&&(Ne[this.id.split("-")[1]]=1)}),Re._uid=C.randstr(Ne)}Re._paperdiv.selectAll(".main-svg").attr(g.svgAttrs),Re._defs=Re._paper.append("defs").attr("id","defs-"+Re._uid),Re._clips=Re._defs.append("g").classed("clips",!0),Re._topdefs=Re._toppaper.append("defs").attr("id","topdefs-"+Re._uid),Re._topclips=Re._topdefs.append("g").classed("clips",!0),Re._bgLayer=Re._paper.append("g").classed("bglayer",!0),Re._draggers=Re._paper.append("g").classed("draglayer",!0);var st=Re._paper.append("g").classed("layer-below",!0);Re._imageLowerLayer=st.append("g").classed("imagelayer",!0),Re._shapeLowerLayer=st.append("g").classed("shapelayer",!0),Re._cartesianlayer=Re._paper.append("g").classed("cartesianlayer",!0),Re._polarlayer=Re._paper.append("g").classed("polarlayer",!0),Re._smithlayer=Re._paper.append("g").classed("smithlayer",!0),Re._ternarylayer=Re._paper.append("g").classed("ternarylayer",!0),Re._geolayer=Re._paper.append("g").classed("geolayer",!0),Re._funnelarealayer=Re._paper.append("g").classed("funnelarealayer",!0),Re._pielayer=Re._paper.append("g").classed("pielayer",!0),Re._iciclelayer=Re._paper.append("g").classed("iciclelayer",!0),Re._treemaplayer=Re._paper.append("g").classed("treemaplayer",!0),Re._sunburstlayer=Re._paper.append("g").classed("sunburstlayer",!0),Re._indicatorlayer=Re._toppaper.append("g").classed("indicatorlayer",!0),Re._glimages=Re._paper.append("g").classed("glimages",!0);var ft=Re._toppaper.append("g").classed("layer-above",!0);Re._imageUpperLayer=ft.append("g").classed("imagelayer",!0),Re._shapeUpperLayer=ft.append("g").classed("shapelayer",!0),Re._selectionLayer=Re._toppaper.append("g").classed("selectionlayer",!0),Re._infolayer=Re._toppaper.append("g").classed("infolayer",!0),Re._menulayer=Re._toppaper.append("g").classed("menulayer",!0),Re._zoomlayer=Re._toppaper.append("g").classed("zoomlayer",!0),Re._hoverlayer=Re._hoverpaper.append("g").classed("hoverlayer",!0),Re._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),he.emit("plotly_framework")}B.animate=ze,B.addFrames=rt,B.deleteFrames=it,B.addTraces=$,B.deleteTraces=Y,B.extendTraces=ne,B.moveTraces=j,B.prependTraces=fe,B.newPlot=G,B._doPlot=M,B.purge=Ze,B.react=gt,B.redraw=F,B.relayout=de,B.restyle=X,B.setPlotConfig=s,B.update=Ce,B._guiRelayout=Ge(de),B._guiRestyle=Ge(X),B._guiUpdate=Ge(Ce),B._storeDirectGUIEdit=te},72075:function(U){var B={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},e={};function v(E,a){for(var C in E){var w=E[C];w.valType?a[C]=w.dflt:(a[C]||(a[C]={}),v(w,a[C]))}}v(B,e),U.exports={configAttributes:B,dfltConfig:e}},86281:function(U,B,e){var v=e(73972),E=e(71828),a=e(9012),C=e(10820),w=e(31391),d=e(85594),p=e(72075).configAttributes,t=e(30962),r=E.extendDeepAll,c=E.isPlainObject,o=E.isArrayOrTypedArray,n=E.nestedProperty,u=E.valObjectMeta,i="_isSubplotObj",g="_isLinkedToArray",h="_arrayAttrRegexps",x="_deprecated",f=[i,g,h,x];B.IS_SUBPLOT_OBJ=i,B.IS_LINKED_TO_ARRAY=g,B.DEPRECATED=x,B.UNDERSCORE_ATTRS=f,B.get=function(){var G={};v.allTypes.forEach(function(H){G[H]=S(H)});var O={};return Object.keys(v.transformsRegistry).forEach(function(H){O[H]=m(H)}),{defs:{valObjects:u,metaKeys:f.concat(["description","role","editType","impliedEdits"]),editType:{traces:t.traces,layout:t.layout},impliedEdits:{}},traces:G,layout:L(),transforms:O,frames:M(),animation:b(d),config:b(p)}},B.crawl=function(G,O,H,z){var k=H||0;z=z||"",Object.keys(G).forEach(function(V){var Z=G[V];if(f.indexOf(V)===-1){var ee=(z?z+".":"")+V;O(Z,V,G,k,ee),!B.isValObject(Z)&&c(Z)&&V!=="impliedEdits"&&B.crawl(Z,O,k+1,ee)}})},B.isValObject=function(G){return G&&G.valType!==void 0},B.findArrayAttributes=function(G){var O=[],H=[],z=[],k,V;function Z(Y,j,X,re){H=H.slice(0,re).concat([j]),z=z.slice(0,re).concat([Y&&Y._isLinkedToArray]);var le=Y&&(Y.valType==="data_array"||Y.arrayOk===!0)&&!(H[re-1]==="colorbar"&&(j==="ticktext"||j==="tickvals"));le&&ee(k,0,"")}function ee(Y,j,X){var re=Y[H[j]],le=X+H[j];if(j===H.length-1)o(re)&&O.push(V+le);else if(z[j]){if(Array.isArray(re))for(var q=0;q=Z.length)return!1;k=(v.transformsRegistry[Z[ee].type]||{}).attributes,V=k&&k[O[2]],z=3}else{var Q=G._module;if(Q||(Q=(v.modules[G.type||a.type.dflt]||{})._module),!Q)return!1;if(k=Q.attributes,V=k&&k[H],!V){var ne=Q.basePlotModule;ne&&ne.attributes&&(V=ne.attributes[H])}V||(V=a[H])}return y(V,O,z)},B.getLayoutValObject=function(G,O){var H=l(G,O[0]);return y(H,O,1)};function l(G,O){var H,z,k,V,Z=G._basePlotModules;if(Z){var ee;for(H=0;H=V.length)return!1;if(G.dimensions===2){if(H++,O.length===H)return G;var Z=O[H];if(!T(Z))return!1;G=V[k][Z]}else G=V[k]}else G=V}}return G}function T(G){return G===Math.round(G)&&G>=0}function S(G){var O,H;O=v.modules[G]._module,H=O.basePlotModule;var z={};z.type=null;var k=r({},a),V=r({},O.attributes);B.crawl(V,function(Q,ne,fe,$,Y){n(k,Y).set(void 0),Q===void 0&&n(V,Y).set(void 0)}),r(z,k),v.traceIs(G,"noOpacity")&&delete z.opacity,v.traceIs(G,"showLegend")||(delete z.showlegend,delete z.legendgroup),v.traceIs(G,"noHover")&&(delete z.hoverinfo,delete z.hoverlabel),O.selectPoints||delete z.selectedpoints,r(z,V),H.attributes&&r(z,H.attributes),z.type=G;var Z={meta:O.meta||{},categories:O.categories||{},animatable:!!O.animatable,type:G,attributes:b(z)};if(O.layoutAttributes){var ee={};r(ee,O.layoutAttributes),Z.layoutAttributes=b(ee)}return O.animatable||B.crawl(Z,function(Q){B.isValObject(Q)&&"anim"in Q&&delete Q.anim}),Z}function L(){var G={},O,H;r(G,C);for(O in v.subplotsRegistry)if(H=v.subplotsRegistry[O],!!H.layoutAttributes)if(Array.isArray(H.attr))for(var z=0;z=c&&(r._input||{})._templateitemname;n&&(o=c);var u=t+"["+o+"]",i;function g(){i={},n&&(i[u]={},i[u][a]=n)}g();function h(y,T){i[y]=T}function x(y,T){n?v.nestedProperty(i[u],y).set(T):i[u+"."+y]=T}function f(){var y=i;return g(),y}function l(y,T){y&&x(y,T);var S=f();for(var L in S)v.nestedProperty(p,L).set(S[L])}return{modifyBase:h,modifyItem:x,getUpdateObj:f,applyUpdate:l}}},61549:function(U,B,e){var v=e(39898),E=e(73972),a=e(74875),C=e(71828),w=e(63893),d=e(33306),p=e(7901),t=e(91424),r=e(92998),c=e(64168),o=e(89298),n=e(18783),u=e(99082),i=u.enforce,g=u.clean,h=e(71739).doAutoRange,x="start",f="middle",l="end";B.layoutStyles=function(H){return C.syncOrAsync([a.doAutoMargin,T],H)};function y(H,z,k){for(var V=0;V=H[1]||Z[1]<=H[0])&&ee[0]z[0])return!0}return!1}function T(H){var z=H._fullLayout,k=z._size,V=k.p,Z=o.list(H,"",!0),ee,Q,ne,fe,$,Y;if(z._paperdiv.style({width:H._context.responsive&&z.autosize&&!H._context._hasZeroWidth&&!H.layout.width?"100%":z.width+"px",height:H._context.responsive&&z.autosize&&!H._context._hasZeroHeight&&!H.layout.height?"100%":z.height+"px"}).selectAll(".main-svg").call(t.setSize,z.width,z.height),H._context.setBackground(H,z.paper_bgcolor),B.drawMainTitle(H),c.manage(H),!z._has("cartesian"))return a.previousPromises(H);function j(Te,he,me){var Re=Te._lw/2;if(Te._id.charAt(0)==="x"){if(he){if(me==="top")return he._offset-V-Re}else return k.t+k.h*(1-(Te.position||0))+Re%1;return he._offset+he._length+V+Re}if(he){if(me==="right")return he._offset+he._length+V+Re}else return k.l+k.w*(Te.position||0)+Re%1;return he._offset-V-Re}for(ee=0;ee0&&(_(H,ee,$,fe),ne.attr({x:Q,y:ee,"text-anchor":V,dy:F(z.yanchor)}).call(w.positionText,Q,ee))}};function M(H,z,k,V,Z){var ee=z.yref==="paper"?H._fullLayout._size.h:H._fullLayout.height,Q=C.isTopAnchor(z)?V:V-Z,ne=k==="b"?ee-Q:Q;return C.isTopAnchor(z)&&k==="t"||C.isBottomAnchor(z)&&k==="b"?!1:ne.5?"t":"b",Q=H._fullLayout.margin[ee],ne=0;return z.yref==="paper"?ne=k+z.pad.t+z.pad.b:z.yref==="container"&&(ne=b(ee,V,Z,H._fullLayout.height,k)+z.pad.t+z.pad.b),ne>Q?ne:0}function _(H,z,k,V){var Z="title.automargin",ee=H._fullLayout.title,Q=ee.y>.5?"t":"b",ne={x:ee.x,y:ee.y,t:0,b:0},fe={};ee.yref==="paper"&&M(H,ee,Q,z,V)?ne[Q]=k:ee.yref==="container"&&(fe[Q]=k,H._fullLayout._reservedMargin[Z]=fe),a.allowAutoMargin(H,Z),a.autoMargin(H,Z,ne)}function A(H,z){var k=H.title,V=H._size,Z=0;switch(z===x?Z=k.pad.l:z===l&&(Z=-k.pad.r),k.xref){case"paper":return V.l+V.w*k.x+Z;case"container":default:return H.width*k.x+Z}}function D(H,z){var k=H.title,V=H._size,Z=0;if(z==="0em"||!z?Z=-k.pad.b:z===n.CAP_SHIFT+"em"&&(Z=k.pad.t),k.y==="auto")return V.t/2;switch(k.yref){case"paper":return V.t+V.h-V.h*k.y+Z;case"container":default:return H.height-H.height*k.y+Z}}function F(H){return H==="top"?n.CAP_SHIFT+.3+"em":H==="bottom"?"-0.3em":n.MID_SHIFT+"em"}function G(H){var z=H.title,k=f;return C.isRightAnchor(z)?k=l:C.isLeftAnchor(z)&&(k=x),k}function O(H){var z=H.title,k="0em";return C.isTopAnchor(z)?k=n.CAP_SHIFT+"em":C.isMiddleAnchor(z)&&(k=n.MID_SHIFT+"em"),k}B.doTraceStyle=function(H){var z=H.calcdata,k=[],V;for(V=0;VO?S.push({code:"unused",traceType:A,templateCount:G,dataCount:O}):O>G&&S.push({code:"reused",traceType:A,templateCount:G,dataCount:O})}}function H(z,k){for(var V in z)if(V.charAt(0)!=="_"){var Z=z[V],ee=u(z,V,k);E(Z)?(Array.isArray(z)&&Z._template===!1&&Z.templateitemname&&S.push({code:"missing",path:ee,templateitemname:Z.templateitemname}),H(Z,ee)):Array.isArray(Z)&&i(Z)&&H(Z,ee)}}if(H({data:m,layout:L},""),S.length)return S.map(g)};function i(h){for(var x=0;x1&&S.push(n("object","layout"))),E.supplyDefaults(L);for(var b=L._fullData,s=m.length,_=0;_A.length&&T.push(n("unused",S,s.concat(A.length)));var z=A.length,k=Array.isArray(H);k&&(z=Math.min(z,H.length));var V,Z,ee,Q,ne;if(D.dimensions===2)for(Z=0;ZA[Z].length&&T.push(n("unused",S,s.concat(Z,A[Z].length)));var fe=A[Z].length;for(V=0;V<(k?Math.min(fe,H[Z].length):fe);V++)ee=k?H[Z][V]:H,Q=_[Z][V],ne=A[Z][V],v.validate(Q,ee)?ne!==Q&&ne!==+Q&&T.push(n("dynamic",S,s.concat(Z,V),Q,ne)):T.push(n("value",S,s.concat(Z,V),Q))}else T.push(n("array",S,s.concat(Z),_[Z]));else for(Z=0;Z0&&Math.round(g)===g)i=g;else return{vals:o}}for(var h=r.calendar,x=n==="start",f=n==="end",l=t[c+"period0"],y=a(l,h)||0,T=[],S=[],L=[],m=o.length,M=0;Mb;)A=C(A,-i,h);for(;A<=b;)A=C(A,i,h);_=C(A,-i,h)}else{for(s=Math.round((b-y)/u),A=y+s*u;A>b;)A-=u;for(;A<=b;)A+=u;_=A-u}T[M]=x?_:f?A:(_+A)/2,S[M]=_,L[M]=A}return{vals:T,starts:S,ends:L}}},89502:function(U){U.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},71739:function(U,B,e){var v=e(39898),E=e(92770),a=e(71828),C=e(50606).FP_SAFE,w=e(73972),d=e(91424),p=e(41675),t=p.getFromId,r=p.isLinked;U.exports={getAutoRange:c,makePadFn:n,doAutoRange:h,findExtremes:x,concatExtremes:g};function c(m,M){var b,s,_=[],A=m._fullLayout,D=n(A,M,0),F=n(A,M,1),G=g(m,M),O=G.min,H=G.max;if(O.length===0||H.length===0)return a.simpleMap(M.range,M.r2l);var z=O[0].val,k=H[0].val;for(b=1;b0&&(q=fe-D(j)-F(X),q>$?te/q>Y&&(re=j,le=X,Y=te/q):te/fe>Y&&(re={val:j.val,nopad:1},le={val:X.val,nopad:1},Y=te/fe));function ue(Ae,Be){return Math.max(Ae,F(Be))}if(z===k){var ae=z-1,de=z+1;if(Q)if(z===0)_=[0,1];else{var xe=(z>0?H:O).reduce(ue,0),Se=z/(1-Math.min(.5,xe/fe));_=z>0?[0,Se]:[Se,0]}else ne?_=[Math.max(0,ae),Math.max(1,de)]:_=[ae,de]}else Q?(re.val>=0&&(re={val:0,nopad:1}),le.val<=0&&(le={val:0,nopad:1})):ne&&(re.val-Y*D(re)<0&&(re={val:0,nopad:1}),le.val<=0&&(le={val:1,nopad:1})),Y=(le.val-re.val-o(M,j.val,X.val))/(fe-D(re)-F(le)),_=[re.val-Y*D(re),le.val+Y*F(le)];return V&&_.reverse(),a.simpleMap(_,M.l2r||Number)}function o(m,M,b){var s=0;if(m.rangebreaks)for(var _=m.locateBreaks(M,b),A=0;A<_.length;A++){var D=_[A];s+=D.max-D.min}return s}function n(m,M,b){var s=.05*M._length,_=M._anchorAxis||{};if((M.ticklabelposition||"").indexOf("inside")!==-1||(_.ticklabelposition||"").indexOf("inside")!==-1){var A=M.autorange==="reversed";if(!A){var D=a.simpleMap(M.range,M.r2l);A=D[1]0?b.ppadplus:b.ppadminus)||b.ppad||0),X=Y((m._m>0?b.ppadminus:b.ppadplus)||b.ppad||0),re=Y(b.vpadplus||b.vpad),le=Y(b.vpadminus||b.vpad);if(!O){if(fe=1/0,$=-1/0,G)for(z=0;z0&&(fe=k),k>$&&k-C&&(fe=k),k>$&&k=ue;z--)te(z);return{min:s,max:_,opts:b}}function f(m,M,b,s){y(m,M,b,s,S)}function l(m,M,b,s){y(m,M,b,s,L)}function y(m,M,b,s,_){for(var A=s.tozero,D=s.extrapad,F=!0,G=0;G=b&&(O.extrapad||!D)){F=!1;break}else _(M,O.val)&&O.pad<=b&&(D||!O.extrapad)&&(m.splice(G,1),G--)}if(F){var H=A&&M===0;m.push({val:M,pad:H?0:b,extrapad:H?!1:D})}}function T(m){return E(m)&&Math.abs(m)=M}},89298:function(U,B,e){var v=e(39898),E=e(92770),a=e(74875),C=e(73972),w=e(71828),d=w.strTranslate,p=e(63893),t=e(92998),r=e(7901),c=e(91424),o=e(13838),n=e(66287),u=e(50606),i=u.ONEMAXYEAR,g=u.ONEAVGYEAR,h=u.ONEMINYEAR,x=u.ONEMAXQUARTER,f=u.ONEAVGQUARTER,l=u.ONEMINQUARTER,y=u.ONEMAXMONTH,T=u.ONEAVGMONTH,S=u.ONEMINMONTH,L=u.ONEWEEK,m=u.ONEDAY,M=m/2,b=u.ONEHOUR,s=u.ONEMIN,_=u.ONESEC,A=u.MINUS_SIGN,D=u.BADNUM,F={K:"zeroline"},G={K:"gridline",L:"path"},O={K:"minor-gridline",L:"path"},H={K:"tick",L:"path"},z={K:"tick",L:"text"},k={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},V=e(18783),Z=V.MID_SHIFT,ee=V.CAP_SHIFT,Q=V.LINE_SPACING,ne=V.OPPOSITE_SIDE,fe=3,$=U.exports={};$.setConvert=e(21994);var Y=e(4322),j=e(41675),X=j.idSort,re=j.isLinked;$.id2name=j.id2name,$.name2id=j.name2id,$.cleanId=j.cleanId,$.list=j.list,$.listIds=j.listIds,$.getFromId=j.getFromId,$.getFromTrace=j.getFromTrace;var le=e(71739);$.getAutoRange=le.getAutoRange,$.findExtremes=le.findExtremes;var q=1e-4;function te(je){var We=(je[1]-je[0])*q;return[je[0]-We,je[1]+We]}$.coerceRef=function(je,We,It,kt,Yt,ar){var lr=kt.charAt(kt.length-1),rr=It._fullLayout._subplots[lr+"axis"],Nt=kt+"ref",cr={};return Yt||(Yt=rr[0]||(typeof ar=="string"?ar:ar[0])),ar||(ar=Yt),rr=rr.concat(rr.map(function(vr){return vr+" domain"})),cr[Nt]={valType:"enumerated",values:rr.concat(ar?typeof ar=="string"?[ar]:ar:[]),dflt:Yt},w.coerce(je,We,cr,Nt)},$.getRefType=function(je){return je===void 0?je:je==="paper"?"paper":je==="pixel"?"pixel":/( domain)$/.test(je)?"domain":"range"},$.coercePosition=function(je,We,It,kt,Yt,ar){var lr,rr,Nt=$.getRefType(kt);if(Nt!=="range")lr=w.ensureNumber,rr=It(Yt,ar);else{var cr=$.getFromId(We,kt);ar=cr.fraction2r(ar),rr=It(Yt,ar),lr=cr.cleanPos}je[Yt]=lr(rr)},$.cleanPosition=function(je,We,It){var kt=It==="paper"||It==="pixel"?w.ensureNumber:$.getFromId(We,It).cleanPos;return kt(je)},$.redrawComponents=function(je,We){We=We||$.listIds(je);var It=je._fullLayout;function kt(Yt,ar,lr,rr){for(var Nt=C.getComponentMethod(Yt,ar),cr={},vr=0;vr2e-6||((It-je._forceTick0)/je._minDtick%1+1.000001)%1>2e-6)&&(je._minDtick=0))},$.saveRangeInitial=function(je,We){for(var It=$.list(je,"",!0),kt=!1,Yt=0;Ytpr*.3||cr(kt)||cr(Yt))){var dr=It.dtick/2;je+=je+drlr){var rr=Number(It.substr(1));ar.exactYears>lr&&rr%12===0?je=$.tickIncrement(je,"M6","reverse")+m*1.5:ar.exactMonths>lr?je=$.tickIncrement(je,"M1","reverse")+m*15.5:je-=M;var Nt=$.tickIncrement(je,It);if(Nt<=kt)return Nt}return je}$.prepMinorTicks=function(je,We,It){if(!We.minor.dtick){delete je.dtick;var kt=We.dtick&&E(We._tmin),Yt;if(kt){var ar=$.tickIncrement(We._tmin,We.dtick,!0);Yt=[We._tmin,ar*.99+We._tmin*.01]}else{var lr=w.simpleMap(We.range,We.r2l);Yt=[lr[0],.8*lr[0]+.2*lr[1]]}if(je.range=w.simpleMap(Yt,We.l2r),je._isMinor=!0,$.prepTicks(je,It),kt){var rr=E(We.dtick),Nt=E(je.dtick),cr=rr?We.dtick:+We.dtick.substring(1),vr=Nt?je.dtick:+je.dtick.substring(1);rr&&Nt?Ae(cr,vr)?cr===2*L&&vr===2*m&&(je.dtick=L):cr===2*L&&vr===3*m?je.dtick=L:cr===L&&!(We._input.minor||{}).nticks?je.dtick=m:Be(cr/vr,2.5)?je.dtick=cr/2:je.dtick=cr:String(We.dtick).charAt(0)==="M"?Nt?je.dtick="M1":Ae(cr,vr)?cr>=12&&vr===2&&(je.dtick="M3"):je.dtick=We.dtick:String(je.dtick).charAt(0)==="L"?String(We.dtick).charAt(0)==="L"?Ae(cr,vr)||(je.dtick=Be(cr/vr,2.5)?We.dtick/2:We.dtick):je.dtick="D1":je.dtick==="D2"&&+We.dtick>1&&(je.dtick=1)}je.range=We.range}We.minor._tick0Init===void 0&&(je.tick0=We.tick0)};function Ae(je,We){return Math.abs((je/We+.5)%1-.5)<.001}function Be(je,We){return Math.abs(je/We-1)<.001}$.prepTicks=function(je,We){var It=w.simpleMap(je.range,je.r2l,void 0,void 0,We);if(je.tickmode==="auto"||!je.dtick){var kt=je.nticks,Yt;kt||(je.type==="category"||je.type==="multicategory"?(Yt=je.tickfont?w.bigFont(je.tickfont.size||12):15,kt=je._length/Yt):(Yt=je._id.charAt(0)==="y"?40:80,kt=w.constrain(je._length/Yt,4,9)+1),je._name==="radialaxis"&&(kt*=2)),je.minor&&je.minor.tickmode!=="array"||je.tickmode==="array"&&(kt*=100),je._roughDTick=Math.abs(It[1]-It[0])/kt,$.autoTicks(je,je._roughDTick),je._minDtick>0&&je.dtick0?(ar=kt-1,lr=kt):(ar=kt,lr=kt);var rr=je[ar].value,Nt=je[lr].value,cr=Math.abs(Nt-rr),vr=It||cr,pr=0;vr>=h?cr>=h&&cr<=i?pr=cr:pr=g:It===f&&vr>=l?cr>=l&&cr<=x?pr=cr:pr=f:vr>=S?cr>=S&&cr<=y?pr=cr:pr=T:It===L&&vr>=L?pr=L:vr>=m?pr=m:It===M&&vr>=M?pr=M:It===b&&vr>=b&&(pr=b);var dr;pr>=cr&&(pr=cr,dr=!0);var Yr=Yt+pr;if(We.rangebreaks&&pr>0){for(var zr=84,Or=0,mn=0;mnL&&(pr=cr)}(pr>0||kt===0)&&(je[kt].periodX=Yt+pr/2)}}$.calcTicks=function(We,It){for(var kt=We.type,Yt=We.calendar,ar=We.ticklabelstep,lr=We.ticklabelmode==="period",rr=w.simpleMap(We.range,We.r2l,void 0,void 0,It),Nt=rr[1]=(mn?0:1);Kr--){var kn=!Kr;Kr?(We._dtickInit=We.dtick,We._tick0Init=We.tick0):(We.minor._dtickInit=We.minor.dtick,We.minor._tick0Init=We.minor.tick0);var Dn=Kr?We:w.extendFlat({},We,We.minor);if(kn?$.prepMinorTicks(Dn,We,It):$.prepTicks(Dn,It),Dn.tickmode==="array"){Kr?(zr=[],dr=He(We)):(Or=[],Yr=He(We));continue}if(Dn.tickmode==="sync"){zr=[],dr=Ge(We);continue}var xr=te(rr),br=xr[0],Br=xr[1],Nr=E(Dn.dtick),en=kt==="log"&&!(Nr||Dn.dtick.charAt(0)==="L"),gn=$.tickFirst(Dn,It);if(Kr){if(We._tmin=gn,gn=Br:Mn<=Br;Mn=$.tickIncrement(Mn,na,Nt,Yt)){if(Kr&&Rn++,Dn.rangebreaks&&!Nt){if(Mn=vr)break}if(zr.length>pr||Mn===hn)break;hn=Mn;var ha={value:Mn};Kr?(en&&Mn!==(Mn|0)&&(ha.simpleLabel=!0),ar>1&&Rn%ar&&(ha.skipLabel=!0),zr.push(ha)):(ha.minor=!0,Or.push(ha))}}if(mn){var ia=We.minor.ticks==="inside"&&We.ticks==="outside"||We.minor.ticks==="outside"&&We.ticks==="inside";if(!ia){for(var aa=zr.map(function(An){return An.value}),Sr=[],ln=0;ln-1;_n--){if(zr[_n].drop){zr.splice(_n,1);continue}zr[_n].value=Vt(zr[_n].value,We);var ii=We.c2p(zr[_n].value);(Gn?Fa>ii-la:Favr||dnvr&&(on.periodX=vr),dnkt&&prg)We/=g,kt=Yt(10),je.dtick="M"+12*gt(We,kt,De);else if(ar>T)We/=T,je.dtick="M"+gt(We,1,Fe);else if(ar>m){if(je.dtick=gt(We,m,je._hasDayOfWeekBreaks?[1,2,7,14]:Qe),!It){var lr=$.getTickFormat(je),rr=je.ticklabelmode==="period";rr&&(je._rawTick0=je.tick0),/%[uVW]/.test(lr)?je.tick0=w.dateTick0(je.calendar,2):je.tick0=w.dateTick0(je.calendar,1),rr&&(je._dowTick0=je.tick0)}}else ar>b?je.dtick=gt(We,b,Fe):ar>s?je.dtick=gt(We,s,qe):ar>_?je.dtick=gt(We,_,qe):(kt=Yt(10),je.dtick=gt(We,kt,De))}else if(je.type==="log"){je.tick0=0;var Nt=w.simpleMap(je.range,je.r2l);if(je._isMinor&&(We*=1.5),We>.7)je.dtick=Math.ceil(We);else if(Math.abs(Nt[1]-Nt[0])<1){var cr=1.5*Math.abs((Nt[1]-Nt[0])/We);We=Math.abs(Math.pow(10,Nt[1])-Math.pow(10,Nt[0]))/cr,kt=Yt(10),je.dtick="L"+gt(We,kt,De)}else je.dtick=We>.3?"D2":"D1"}else je.type==="category"||je.type==="multicategory"?(je.tick0=0,je.dtick=Math.ceil(Math.max(We,1))):Ot(je)?(je.tick0=0,kt=1,je.dtick=gt(We,kt,ht)):(je.tick0=0,kt=Yt(10),je.dtick=gt(We,kt,De));if(je.dtick===0&&(je.dtick=1),!E(je.dtick)&&typeof je.dtick!="string"){var vr=je.dtick;throw je.dtick=1,"ax.dtick error: "+String(vr)}};function yt(je){var We=je.dtick;if(je._tickexponent=0,!E(We)&&typeof We!="string"&&(We=1),(je.type==="category"||je.type==="multicategory")&&(je._tickround=null),je.type==="date"){var It=je.r2l(je.tick0),kt=je.l2r(It).replace(/(^-|i)/g,""),Yt=kt.length;if(String(We).charAt(0)==="M")Yt>10||kt.substr(5)!=="01-01"?je._tickround="d":je._tickround=+We.substr(1)%12===0?"y":"m";else if(We>=m&&Yt<=10||We>=m*15)je._tickround="d";else if(We>=s&&Yt<=16||We>=b)je._tickround="M";else if(We>=_&&Yt<=19||We>=s)je._tickround="S";else{var ar=je.l2r(It+We).replace(/^-/,"").length;je._tickround=Math.max(Yt,ar)-20,je._tickround<0&&(je._tickround=4)}}else if(E(We)||We.charAt(0)==="L"){var lr=je.range.map(je.r2d||Number);E(We)||(We=Number(We.substr(1))),je._tickround=2-Math.floor(Math.log(We)/Math.LN10+.01);var rr=Math.max(Math.abs(lr[0]),Math.abs(lr[1])),Nt=Math.floor(Math.log(rr)/Math.LN10+.01),cr=je.minexponent===void 0?3:je.minexponent;Math.abs(Nt)>cr&&(he(je.exponentformat)&&!me(Nt)?je._tickexponent=3*Math.round((Nt-1)/3):je._tickexponent=Nt)}else je._tickround=null}$.tickIncrement=function(je,We,It,kt){var Yt=It?-1:1;if(E(We))return w.increment(je,Yt*We);var ar=We.charAt(0),lr=Yt*Number(We.substr(1));if(ar==="M")return w.incrementMonth(je,lr,kt);if(ar==="L")return Math.log(Math.pow(10,je)+lr)/Math.LN10;if(ar==="D"){var rr=We==="D2"?tt:Je,Nt=je+Yt*.01,cr=w.roundUp(w.mod(Nt,1),rr,It);return Math.floor(Nt)+Math.log(v.round(Math.pow(10,cr),1))/Math.LN10}throw"unrecognized dtick "+String(We)},$.tickFirst=function(je,We){var It=je.r2l||Number,kt=w.simpleMap(je.range,It,void 0,void 0,We),Yt=kt[1]=0&&Kr<=je._length?mn:null};Yt.xbnd=[Or(Yt.x-.5),Or(Yt.x+je.dtick-.5)]}return Yt},$.hoverLabelText=function(je,We,It){It&&(je=w.extendFlat({},je,{hoverformat:It}));var kt=Array.isArray(We)?We[0]:We,Yt=Array.isArray(We)?We[1]:void 0;if(Yt!==void 0&&Yt!==kt)return $.hoverLabelText(je,kt,It)+" - "+$.hoverLabelText(je,Yt,It);var ar=je.type==="log"&&kt<=0,lr=$.tickText(je,je.c2l(ar?-kt:kt),"hover").text;return ar?kt===0?"0":A+lr:lr};function Et(je,We,It){var kt=je.tickfont||{};return{x:We,dx:0,dy:0,text:It||"",fontSize:kt.size,font:kt.family,fontColor:kt.color}}function Xe(je,We,It,kt){var Yt=je._tickround,ar=It&&je.hoverformat||$.getTickFormat(je);kt&&(E(Yt)?Yt=4:Yt={y:"m",m:"d",d:"M",M:"S",S:4}[Yt]);var lr=w.formatDate(We.x,ar,Yt,je._dateFormat,je.calendar,je._extraFormat),rr,Nt=lr.indexOf(` +`);if(Nt!==-1&&(rr=lr.substr(Nt+1),lr=lr.substr(0,Nt)),kt&&(lr==="00:00:00"||lr==="00:00"?(lr=rr,rr=""):lr.length===8&&(lr=lr.replace(/:00$/,""))),rr)if(It)Yt==="d"?lr+=", "+rr:lr=rr+(lr?", "+lr:"");else if(!je._inCalcTicks||je._prevDateHead!==rr)je._prevDateHead=rr,lr+="
"+rr;else{var cr=Jt(je),vr=je._trueSide||je.side;(!cr&&vr==="top"||cr&&vr==="bottom")&&(lr+="
")}We.text=lr}function Ue(je,We,It,kt,Yt){var ar=je.dtick,lr=We.x,rr=je.tickformat,Nt=typeof ar=="string"&&ar.charAt(0);if(Yt==="never"&&(Yt=""),kt&&Nt!=="L"&&(ar="L3",Nt="L"),rr||Nt==="L")We.text=Re(Math.pow(10,lr),je,Yt,kt);else if(E(ar)||Nt==="D"&&w.mod(lr+.01,1)<.1){var cr=Math.round(lr),vr=Math.abs(cr),pr=je.exponentformat;pr==="power"||he(pr)&&me(cr)?(cr===0?We.text=1:cr===1?We.text="10":We.text="10"+(cr>1?"":A)+vr+"",We.fontSize*=1.25):(pr==="e"||pr==="E")&&vr>2?We.text="1"+pr+(cr>0?"+":A)+vr:(We.text=Re(Math.pow(10,lr),je,"","fakehover"),ar==="D1"&&je._id.charAt(0)==="y"&&(We.dy-=We.fontSize/6))}else if(Nt==="D")We.text=String(Math.round(Math.pow(10,w.mod(lr,1)))),We.fontSize*=.75;else throw"unrecognized dtick "+String(ar);if(je.dtick==="D1"){var dr=String(We.text).charAt(0);(dr==="0"||dr==="1")&&(je._id.charAt(0)==="y"?We.dx-=We.fontSize/4:(We.dy+=We.fontSize/2,We.dx+=(je.range[1]>je.range[0]?1:-1)*We.fontSize*(lr<0?.5:.25)))}}function ze(je,We){var It=je._categories[Math.round(We.x)];It===void 0&&(It=""),We.text=String(It)}function rt(je,We,It){var kt=Math.round(We.x),Yt=je._categories[kt]||[],ar=Yt[1]===void 0?"":String(Yt[1]),lr=Yt[0]===void 0?"":String(Yt[0]);It?We.text=lr+" - "+ar:(We.text=ar,We.text2=lr)}function it(je,We,It,kt,Yt){Yt==="never"?Yt="":je.showexponent==="all"&&Math.abs(We.x/je.dtick)<1e-6&&(Yt="hide"),We.text=Re(We.x,je,Yt,kt)}function Ze(je,We,It,kt,Yt){if(je.thetaunit==="radians"&&!It){var ar=We.x/180;if(ar===0)We.text="0";else{var lr=Ie(ar);if(lr[1]>=100)We.text=Re(w.deg2rad(We.x),je,Yt,kt);else{var rr=We.x<0;lr[1]===1?lr[0]===1?We.text="π":We.text=lr[0]+"π":We.text=["",lr[0],"","⁄","",lr[1],"","π"].join(""),rr&&(We.text=A+We.text)}}}else We.text=Re(We.x,je,Yt,kt)}function Ie(je){function We(rr,Nt){return Math.abs(rr-Nt)<=1e-6}function It(rr,Nt){return We(Nt,0)?rr:It(Nt,rr%Nt)}function kt(rr){for(var Nt=1;!We(Math.round(rr*Nt)/Nt,rr);)Nt*=10;return Nt}var Yt=kt(je),ar=je*Yt,lr=Math.abs(It(ar,Yt));return[Math.round(ar/lr),Math.round(Yt/lr)]}var Te=["f","p","n","μ","m","","k","M","G","T"];function he(je){return je==="SI"||je==="B"}function me(je){return je>14||je<-15}function Re(je,We,It,kt){var Yt=je<0,ar=We._tickround,lr=It||We.exponentformat||"B",rr=We._tickexponent,Nt=$.getTickFormat(We),cr=We.separatethousands;if(kt){var vr={exponentformat:lr,minexponent:We.minexponent,dtick:We.showexponent==="none"?We.dtick:E(je)&&Math.abs(je)||1,range:We.showexponent==="none"?We.range.map(We.r2d):[0,je||1]};yt(vr),ar=(Number(vr._tickround)||0)+4,rr=vr._tickexponent,We.hoverformat&&(Nt=We.hoverformat)}if(Nt)return We._numFormat(Nt)(je).replace(/-/g,A);var pr=Math.pow(10,-ar)/2;if(lr==="none"&&(rr=0),je=Math.abs(je),je"+zr+"":lr==="B"&&rr===9?je+="B":he(lr)&&(je+=Te[rr/3+5])}return Yt?A+je:je}$.getTickFormat=function(je){var We;function It(Nt){return typeof Nt!="string"?Nt:Number(Nt.replace("M",""))*T}function kt(Nt,cr){var vr=["L","D"];if(typeof Nt==typeof cr){if(typeof Nt=="number")return Nt-cr;var pr=vr.indexOf(Nt.charAt(0)),dr=vr.indexOf(cr.charAt(0));return pr===dr?Number(Nt.replace(/(L|D)/g,""))-Number(cr.replace(/(L|D)/g,"")):pr-dr}else return typeof Nt=="number"?1:-1}function Yt(Nt,cr,vr){var pr=vr||function(zr){return zr},dr=cr[0],Yr=cr[1];return(!dr&&typeof dr!="number"||pr(dr)<=pr(Nt))&&(!Yr&&typeof Yr!="number"||pr(Yr)>=pr(Nt))}function ar(Nt,cr){var vr=cr[0]===null,pr=cr[1]===null,dr=kt(Nt,cr[0])>=0,Yr=kt(Nt,cr[1])<=0;return(vr||dr)&&(pr||Yr)}var lr,rr;if(je.tickformatstops&&je.tickformatstops.length>0)switch(je.type){case"date":case"linear":{for(We=0;We=0&&Yt.unshift(Yt.splice(vr,1).shift())}});var rr={false:{left:0,right:0}};return w.syncOrAsync(Yt.map(function(Nt){return function(){if(Nt){var cr=$.getFromId(je,Nt);It||(It={}),It.axShifts=rr,It.overlayingShiftedAx=lr;var vr=$.drawOne(je,cr,It);return cr._shiftPusher&&ir(cr,cr._fullDepth||0,rr,!0),cr._r=cr.range.slice(),cr._rl=w.simpleMap(cr._r,cr.r2l),vr}}}))},$.drawOne=function(je,We,It){It=It||{};var kt=It.axShifts||{},Yt=It.overlayingShiftedAx||[],ar,lr,rr;We.setScale();var Nt=je._fullLayout,cr=We._id,vr=cr.charAt(0),pr=$.counterLetter(cr),dr=Nt._plots[We._mainSubplot];if(!dr)return;if(We._shiftPusher=We.autoshift||Yt.indexOf(We._id)!==-1||Yt.indexOf(We.overlaying)!==-1,We._shiftPusher&We.anchor==="free"){var Yr=We.linewidth/2||0;We.ticks==="inside"&&(Yr+=We.ticklen),ir(We,Yr,kt,!0),ir(We,We.shift||0,kt,!1)}(It.skipTitle!==!0||We._shift===void 0)&&(We._shift=Cr(We,kt));var zr=dr[vr+"axislayer"],Or=We._mainLinePosition,mn=Or+=We._shift,Kr=We._mainMirrorPosition,kn=We._vals=$.calcTicks(We),Dn=[We.mirror,mn,Kr].join("_");for(ar=0;ar0?xn.bottom-On:0,Yn))));var fa=0,ca=0;if(We._shiftPusher&&(fa=Math.max(Yn,xn.height>0?Fr==="l"?On-xn.left:xn.right-On:0),We.title.text!==Nt._dfltTitle[vr]&&(ca=(We._titleStandoff||0)+(We._titleScoot||0),Fr==="l"&&(ca+=sr(We))),We._fullDepth=Math.max(fa,ca)),We.automargin){Bn={x:0,y:0,r:0,l:0,t:0,b:0};var ma=[0,1],bo=typeof We._shift=="number"?We._shift:0;if(vr==="x"){if(Fr==="b"?Bn[Fr]=We._depth:(Bn[Fr]=We._depth=Math.max(xn.width>0?On-xn.top:0,Yn),ma.reverse()),xn.width>0){var Do=xn.right-(We._offset+We._length);Do>0&&(Bn.xr=1,Bn.r=Do);var No=We._offset-xn.left;No>0&&(Bn.xl=0,Bn.l=No)}}else if(Fr==="l"?(We._depth=Math.max(xn.height>0?On-xn.left:0,Yn),Bn[Fr]=We._depth-bo):(We._depth=Math.max(xn.height>0?xn.right-On:0,Yn),Bn[Fr]=We._depth+bo,ma.reverse()),xn.height>0){var Yo=xn.bottom-(We._offset+We._length);Yo>0&&(Bn.yb=0,Bn.b=Yo);var Uo=We._offset-xn.top;Uo>0&&(Bn.yt=1,Bn.t=Uo)}Bn[pr]=We.anchor==="free"?We.position:We._anchorAxis.domain[ma[0]],We.title.text!==Nt._dfltTitle[vr]&&(Bn[Fr]+=sr(We)+(We.title.standoff||0)),We.mirror&&We.anchor!=="free"&&(ta={x:0,y:0,r:0,l:0,t:0,b:0},ta[pn]=We.linewidth,We.mirror&&We.mirror!==!0&&(ta[pn]+=Yn),We.mirror===!0||We.mirror==="ticks"?ta[pr]=We._anchorAxis.domain[ma[1]]:(We.mirror==="all"||We.mirror==="allticks")&&(ta[pr]=[We._counterDomainMin,We._counterDomainMax][ma[1]]))}Lr&&(da=C.getComponentMethod("rangeslider","autoMarginOpts")(je,We)),typeof We.automargin=="string"&&(Ne(Bn,We.automargin),Ne(ta,We.automargin)),a.autoMargin(je,hr(We),Bn),a.autoMargin(je,ct(We),ta),a.autoMargin(je,ut(We),da)}),w.syncOrAsync(cn)}};function Ne(je,We){if(je){var It=Object.keys(k).reduce(function(kt,Yt){return We.indexOf(Yt)!==-1&&k[Yt].forEach(function(ar){kt[ar]=1}),kt},{});Object.keys(je).forEach(function(kt){It[kt]||(kt.length===1?je[kt]=0:delete je[kt])})}}function st(je,We){var It=[],kt,Yt=function(ar,lr){var rr=ar.xbnd[lr];rr!==null&&It.push(w.extendFlat({},ar,{x:rr}))};if(We.length){for(kt=0;kt60?-.5*na:je.side==="top"!==vr?-na:0};else if(Nr==="y"){if(gn=!vr&&Br==="left"||vr&&Br==="right",xr=gn?1:-1,vr&&(xr*=-1),Kr=dr,kn=Yr*xr,Dn=0,!vr&&Math.abs(en)===90&&(en===-90&&Br==="left"||en===90&&Br==="right"?Dn=ee:Dn=.5),vr){var hn=E(en)?+en:0;if(hn!==0){var Mn=w.deg2rad(hn);br=Math.abs(Math.sin(Mn))*ee*xr,Dn=0}}mn.xFn=function(Rn){return Rn.dx+We-(Kr+Rn.fontSize*Dn)*xr+br*Rn.fontSize},mn.yFn=function(Rn){return Rn.dy+kn+Rn.fontSize*Z},mn.anchorFn=function(Rn,Jn){return E(Jn)&&Math.abs(Jn)===90?"middle":gn?"end":"start"},mn.heightFn=function(Rn,Jn,na){return je.side==="right"&&(Jn*=-1),Jn<-30?-na:Jn<30?-.5*na:0}}return mn};function Rt(je){return[je.text,je.x,je.axInfo,je.font,je.fontSize,je.fontColor].join("_")}$.drawTicks=function(je,We,It){It=It||{};var kt=We._id+"tick",Yt=[].concat(We.minor&&We.minor.ticks?It.vals.filter(function(lr){return lr.minor&&!lr.noTick}):[]).concat(We.ticks?It.vals.filter(function(lr){return!lr.minor&&!lr.noTick}):[]),ar=It.layer.selectAll("path."+kt).data(Yt,Rt);ar.exit().remove(),ar.enter().append("path").classed(kt,1).classed("ticks",1).classed("crisp",It.crisp!==!1).each(function(lr){return r.stroke(v.select(this),lr.minor?We.minor.tickcolor:We.tickcolor)}).style("stroke-width",function(lr){return c.crispRound(je,lr.minor?We.minor.tickwidth:We.tickwidth,1)+"px"}).attr("d",It.path).style("display",null),$t(We,[H]),ar.attr("transform",It.transFn)},$.drawGrid=function(je,We,It){if(It=It||{},We.tickmode!=="sync"){var kt=We._id+"grid",Yt=We.minor&&We.minor.showgrid,ar=Yt?It.vals.filter(function(Kr){return Kr.minor}):[],lr=We.showgrid?It.vals.filter(function(Kr){return!Kr.minor}):[],rr=It.counterAxis;if(rr&&$.shouldShowZeroLine(je,We,rr))for(var Nt=We.tickmode==="array",cr=0;cr=0;zr--){var Or=zr?dr:Yr;if(Or){var mn=Or.selectAll("path."+kt).data(zr?lr:ar,Rt);mn.exit().remove(),mn.enter().append("path").classed(kt,1).classed("crisp",It.crisp!==!1),mn.attr("transform",It.transFn).attr("d",It.path).each(function(Kr){return r.stroke(v.select(this),Kr.minor?We.minor.gridcolor:We.gridcolor||"#ddd")}).style("stroke-dasharray",function(Kr){return c.dashStyle(Kr.minor?We.minor.griddash:We.griddash,Kr.minor?We.minor.gridwidth:We.gridwidth)}).style("stroke-width",function(Kr){return(Kr.minor?pr:We._gw)+"px"}).style("display",null),typeof It.path=="function"&&mn.attr("d",It.path)}}$t(We,[G,O])}},$.drawZeroLine=function(je,We,It){It=It||It;var kt=We._id+"zl",Yt=$.shouldShowZeroLine(je,We,It.counterAxis),ar=It.layer.selectAll("path."+kt).data(Yt?[{x:0,id:We._id}]:[]);ar.exit().remove(),ar.enter().append("path").classed(kt,1).classed("zl",1).classed("crisp",It.crisp!==!1).each(function(){It.layer.selectAll("path").sort(function(lr,rr){return X(lr.id,rr.id)})}),ar.attr("transform",It.transFn).attr("d",It.path).call(r.stroke,We.zerolinecolor||r.defaultLine).style("stroke-width",c.crispRound(je,We.zerolinewidth,We._gw||1)+"px").style("display",null),$t(We,[F])},$.drawLabels=function(je,We,It){It=It||{};var kt=je._fullLayout,Yt=We._id,ar=Yt.charAt(0),lr=It.cls||Yt+"tick",rr=It.vals.filter(function(xr){return xr.text}),Nt=It.labelFns,cr=It.secondary?0:We.tickangle,vr=(We._prevTickAngles||{})[lr],pr=It.layer.selectAll("g."+lr).data(We.showticklabels?rr:[],Rt),dr=[];pr.enter().append("g").classed(lr,1).append("text").attr("text-anchor","middle").each(function(xr){var br=v.select(this),Br=je._promises.length;br.call(p.positionText,Nt.xFn(xr),Nt.yFn(xr)).call(c.font,xr.font,xr.fontSize,xr.fontColor).text(xr.text).call(p.convertToTspans,je),je._promises[Br]?dr.push(je._promises.pop().then(function(){Yr(br,cr)})):Yr(br,cr)}),$t(We,[z]),pr.exit().remove(),It.repositionOnUpdate&&pr.each(function(xr){v.select(this).select("text").call(p.positionText,Nt.xFn(xr),Nt.yFn(xr))});function Yr(xr,br){xr.each(function(Br){var Nr=v.select(this),en=Nr.select(".text-math-group"),gn=Nt.anchorFn(Br,br),hn=It.transFn.call(Nr.node(),Br)+(E(br)&&+br!=0?" rotate("+br+","+Nt.xFn(Br)+","+(Nt.yFn(Br)-Br.fontSize/2)+")":""),Mn=p.lineCount(Nr),Rn=Q*Br.fontSize,Jn=Nt.heightFn(Br,E(br)?+br:0,(Mn-1)*Rn);if(Jn&&(hn+=d(0,Jn)),en.empty()){var na=Nr.select("text");na.attr({transform:hn,"text-anchor":gn}),na.style("opacity",1),We._adjustTickLabelsOverflow&&We._adjustTickLabelsOverflow()}else{var ha=c.bBox(en.node()).width,ia=ha*{end:-.5,start:.5}[gn];en.attr("transform",hn+d(ia,0))}})}We._adjustTickLabelsOverflow=function(){var xr=We.ticklabeloverflow;if(!(!xr||xr==="allow")){var br=xr.indexOf("hide")!==-1,Br=We._id.charAt(0)==="x",Nr=0,en=Br?je._fullLayout.width:je._fullLayout.height;if(xr.indexOf("domain")!==-1){var gn=w.simpleMap(We.range,We.r2l);Nr=We.l2p(gn[0])+We._offset,en=We.l2p(gn[1])+We._offset}var hn=Math.min(Nr,en),Mn=Math.max(Nr,en),Rn=We.side,Jn=1/0,na=-1/0;pr.each(function(Sr){var ln=v.select(this),an=ln.select(".text-math-group");if(an.empty()){var yn=c.bBox(ln.node()),Hn=0;Br?(yn.right>Mn||yn.leftMn||yn.top+(We.tickangle?0:Sr.fontSize/4)We["_visibleLabelMin_"+gn._id]?Sr.style("display","none"):Mn.K==="tick"&&!hn&&Sr.style("display",null)})})})})},Yr(pr,vr+1?vr:cr);function zr(){return dr.length&&Promise.all(dr)}var Or=null;function mn(){if(Yr(pr,cr),rr.length&&ar==="x"&&!E(cr)&&(We.type!=="log"||String(We.dtick).charAt(0)!=="D")){Or=0;var xr=0,br=[],Br;if(pr.each(function(yn){xr=Math.max(xr,yn.fontSize);var Hn=We.l2p(yn.x),Ln=wr(this),_n=c.bBox(Ln.node());br.push({top:0,bottom:10,height:10,left:Hn-_n.width/2,right:Hn+_n.width/2+2,width:_n.width+2})}),(We.tickson==="boundaries"||We.showdividers)&&!It.secondary){var Nr=2;for(We.ticks&&(Nr+=We.tickwidth/2),Br=0;Br1&&It1)for(Yt=1;Yt=Yt.min&&jel*2}function o(i){return Math.max(1,(i-1)/1e3)}function n(i,g){for(var h=i.length,x=o(h),f=0,l=0,y={},T=0;Tf*2}function u(i){return C(i[0])&&C(i[1])}},71453:function(U,B,e){var v=e(92770),E=e(73972),a=e(71828),C=e(44467),w=e(85501),d=e(13838),p=e(26218),t=e(38701),r=e(96115),c=e(89426),o=e(15258),n=e(92128),u=e(21994),i=e(85555).WEEKDAY_PATTERN,g=e(85555).HOUR_PATTERN;U.exports=function(y,T,S,L,m){var M=L.letter,b=L.font||{},s=L.splomStash||{},_=S("visible",!L.visibleDflt),A=T._template||{},D=T.type||A.type||"-",F;if(D==="date"){var G=E.getComponentMethod("calendars","handleDefaults");G(y,T,"calendar",L.calendar),L.noTicklabelmode||(F=S("ticklabelmode"))}var O="";(!L.noTicklabelposition||D==="multicategory")&&(O=a.coerce(y,T,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:F==="period"?["outside","inside"]:M==="x"?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),L.noTicklabeloverflow||S("ticklabeloverflow",O.indexOf("inside")!==-1?"hide past domain":D==="category"||D==="multicategory"?"allow":"hide past div"),u(T,m);var H=!T.isValidRange(y.range);H&&L.reverseDflt&&(H="reversed");var z=S("autorange",H);z&&(D==="linear"||D==="-")&&S("rangemode"),S("range"),T.cleanRange(),o(y,T,S,L),D!=="category"&&!L.noHover&&S("hoverformat");var k=S("color"),V=k!==d.color.dflt?k:b.color,Z=s.label||m._dfltTitle[M];if(c(y,T,S,D,L),!_)return T;S("title.text",Z),a.coerceFont(S,"title.font",{family:b.family,size:a.bigFont(b.size),color:V}),p(y,T,S,D);var ee=L.hasMinor;if(ee&&(C.newContainer(T,"minor"),p(y,T,S,D,{isMinor:!0})),r(y,T,S,D,L),t(y,T,S,L),ee){var Q=L.isMinor;L.isMinor=!0,t(y,T,S,L),L.isMinor=Q}n(y,T,S,{dfltColor:k,bgColor:L.bgColor,showGrid:L.showGrid,hasMinor:ee,attributes:d}),ee&&!T.minor.ticks&&!T.minor.showgrid&&delete T.minor,(T.showline||T.ticks)&&S("mirror");var ne=D==="multicategory";if(!L.noTickson&&(D==="category"||ne)&&(T.ticks||T.showgrid)){var fe;ne&&(fe="boundaries");var $=S("tickson",fe);$==="boundaries"&&delete T.ticklabelposition}if(ne){var Y=S("showdividers");Y&&(S("dividercolor"),S("dividerwidth"))}if(D==="date")if(w(y,T,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:h}),!T.rangebreaks.length)delete T.rangebreaks;else{for(var j=0;j=2){var M="",b,s;if(m.length===2){for(b=0;b<2;b++)if(s=f(m[b]),s){M=i;break}}var _=S("pattern",M);if(_===i)for(b=0;b<2;b++)s=f(m[b]),s&&(y.bounds[b]=m[b]=s-1);if(_)for(b=0;b<2;b++)switch(s=m[b],_){case i:if(!v(s)){y.enabled=!1;return}if(s=+s,s!==Math.floor(s)||s<0||s>=7){y.enabled=!1;return}y.bounds[b]=m[b]=s;break;case g:if(!v(s)){y.enabled=!1;return}if(s=+s,s<0||s>24){y.enabled=!1;return}y.bounds[b]=m[b]=s;break}if(T.autorange===!1){var A=T.range;if(A[0]A[1]){y.enabled=!1;return}}else if(m[0]>A[0]&&m[1]p?1:-1:+(C.substr(1)||1)-+(w.substr(1)||1)},B.ref2id=function(C){return/^[xyz]/.test(C)?C.split(" ")[0]:!1};function a(C,w){if(w&&w.length){for(var d=0;d0,p;d&&(p="array");var t=a("categoryorder",p),r;t==="array"&&(r=a("categoryarray")),!d&&t==="array"&&(t=E.categoryorder="trace"),t==="trace"?E._initialCategories=[]:t==="array"?E._initialCategories=r.slice():(r=B(E,C).sort(),t==="category ascending"?E._initialCategories=r:t==="category descending"&&(E._initialCategories=r.reverse()))}}},66287:function(U,B,e){var v=e(92770),E=e(71828),a=e(50606),C=a.ONEDAY,w=a.ONEWEEK;B.dtick=function(d,p){var t=p==="log",r=p==="date",c=p==="category",o=r?C:1;if(!d)return o;if(v(d))return d=Number(d),d<=0?o:c?Math.max(1,Math.round(d)):r?Math.max(.1,d):d;if(typeof d!="string"||!(r||t))return o;var n=d.charAt(0),u=d.substr(1);return u=v(u)?Number(u):0,u<=0||!(r&&n==="M"&&u===Math.round(u)||t&&n==="L"||t&&n==="D"&&(u===1||u===2))?o:d},B.tick0=function(d,p,t,r){if(p==="date")return E.cleanDate(d,E.dateTick0(t,r%w===0?1:0));if(!(r==="D1"||r==="D2"))return v(d)?Number(d):0}},85555:function(U,B,e){var v=e(30587).counter;U.exports={idRegex:{x:v("x","( domain)?"),y:v("y","( domain)?")},attrRegex:v("[xy]axis"),xAxisMatch:v("xaxis"),yAxisMatch:v("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},99082:function(U,B,e){var v=e(71828),E=e(71739),a=e(41675).id2name,C=e(13838),w=e(42449),d=e(21994),p=e(50606).ALMOST_EQUAL,t=e(18783).FROM_BL;B.handleDefaults=function(h,x,f){var l=f.axIds,y=f.axHasImage,T=x._axisConstraintGroups=[],S=x._axisMatchGroups=[],L,m,M,b,s,_,A,D;for(L=0;LT?f.substr(T):l.substr(y))+S}function i(h,x){for(var f=x._size,l=f.h/f.w,y={},T=Object.keys(h),S=0;Sp*D&&!H)){for(T=0;T<_.length;T++)if(L=_[T],M=G[L],m=O[L],b=m.constrain,M!==F||b==="domain")if(s=M/F,b==="range")w(m,s);else{var z=m._inputDomain,k=(m.domain[1]-m.domain[0])/(z[1]-z[0]),V=(m.r2l(m.range[1])-m.r2l(m.range[0]))/(m.r2l(m._inputRange[1])-m.r2l(m._inputRange[0]));if(s/=k,s*V<1){m.domain=m._input.domain=z.slice(),w(m,s);continue}if(V<1&&(m.range=m._input.range=m._inputRange.slice(),s*=V),m.autorange){var Z=m.r2l(m.range[0]),ee=m.r2l(m.range[1]),Q=(Z+ee)/2,ne=Q,fe=Q,$=Math.abs(ee-Q),Y=Q-$*s*1.0001,j=Q+$*s*1.0001,X=E.makePadFn(f,m,0),re=E.makePadFn(f,m,1);g(m,s);var le=Math.abs(m._m),q=E.concatExtremes(x,m),te=q.min,ue=q.max,ae,de;for(de=0;deY&&aefe&&(fe=ae);var xe=(fe-ne)/(2*$);s/=xe,ne=m.l2r(ne),fe=m.l2r(fe),m.range=m._input.range=Z=0){cr._fullLayout._deactivateShape(cr);return}var vr=cr._fullLayout.clickmode;if(Y(cr),rr===2&&!Ge&&We(),Ce)vr.indexOf("select")>-1&&M(Nt,cr,Qe,Je,de.id,Ft),vr.indexOf("event")>-1&&o.click(cr,Nt,de.id);else if(rr===1&&Ge){var pr=Oe?De:He,dr=Oe==="s"||Ee==="w"?0:1,Yr=pr._name+".range["+dr+"]",zr=z(pr,dr),Or="left",mn="middle";if(pr.fixedrange)return;Oe?(mn=Oe==="n"?"top":"bottom",pr.side==="right"&&(Or="right")):Ee==="e"&&(Or="right"),cr._context.showAxisRangeEntryBoxes&&v.select(At).call(t.makeEditable,{gd:cr,immediate:!0,background:cr._fullLayout.paper_bgcolor,text:String(zr),fill:pr.tickfont?pr.tickfont.color:"#444",horizontalAlign:Or,verticalAlign:mn}).on("edit",function(Kr){var kn=pr.d2r(Kr);kn!==void 0&&d.call("_guiRelayout",cr,Yr,kn)})}}i.init(Ft);var Rt,qt,sr,kr,xt,Xt,jt,wr,hr,ct;function ut(rr,Nt,cr){var vr=At.getBoundingClientRect();Rt=Nt-vr.left,qt=cr-vr.top,ae._fullLayout._calcInverseTransform(ae);var pr=E.apply3DTransform(ae._fullLayout._invTransform)(Rt,qt);Rt=pr[0],qt=pr[1],sr={l:Rt,r:Rt,w:0,t:qt,b:qt,h:0},kr=ae._hmpixcount?ae._hmlumcount/ae._hmpixcount:C(ae._fullLayout.plot_bgcolor).getLuminance(),xt="M0,0H"+gt+"V"+yt+"H0V0",Xt=!1,jt="xy",ct=!1,wr=Q(we,kr,tt,ht,xt),hr=ne(we,tt,ht)}function wt(rr,Nt){if(ae._transitioningWithDuration)return!1;var cr=Math.max(0,Math.min(gt,Re*rr+Rt)),vr=Math.max(0,Math.min(yt,Ne*Nt+qt)),pr=Math.abs(cr-Rt),dr=Math.abs(vr-qt);sr.l=Math.min(Rt,cr),sr.r=Math.max(Rt,cr),sr.t=Math.min(qt,vr),sr.b=Math.max(qt,vr);function Yr(){jt="",sr.r=sr.l,sr.t=sr.b,hr.attr("d","M0,0Z")}if(Et.isSubplotConstrained)pr>A||dr>A?(jt="xy",pr/gt>dr/yt?(dr=pr*yt/gt,qt>vr?sr.t=qt-dr:sr.b=qt+dr):(pr=dr*gt/yt,Rt>cr?sr.l=Rt-pr:sr.r=Rt+pr),hr.attr("d",le(sr))):Yr();else if(Xe.isSubplotConstrained)if(pr>A||dr>A){jt="xy";var zr=Math.min(sr.l/gt,(yt-sr.b)/yt),Or=Math.max(sr.r/gt,(yt-sr.t)/yt);sr.l=zr*gt,sr.r=Or*gt,sr.b=(1-zr)*yt,sr.t=(1-Or)*yt,hr.attr("d",le(sr))}else Yr();else!ze||dr0){var Kr;if(Xe.isSubplotConstrained||!Ue&&ze.length===1){for(Kr=0;Kr=0?Math.min(ae,.9):1/(1/Math.max(ae,-.3)+3.222))}function ee(ae,de,xe){return ae?ae==="nsew"?xe?"":de==="pan"?"move":"crosshair":ae.toLowerCase()+"-resize":"pointer"}function Q(ae,de,xe,Se,Ae){return ae.append("path").attr("class","zoombox").style({fill:de>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",p(xe,Se)).attr("d",Ae+"Z")}function ne(ae,de,xe){return ae.append("path").attr("class","zoombox-corners").style({fill:r.background,stroke:r.defaultLine,"stroke-width":1,opacity:0}).attr("transform",p(de,xe)).attr("d","M0,0Z")}function fe(ae,de,xe,Se,Ae,Be){ae.attr("d",Se+"M"+xe.l+","+xe.t+"v"+xe.h+"h"+xe.w+"v-"+xe.h+"h-"+xe.w+"Z"),$(ae,de,Ae,Be)}function $(ae,de,xe,Se){xe||(ae.transition().style("fill",Se>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),de.transition().style("opacity",1).duration(200))}function Y(ae){v.select(ae).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function j(ae){D&&ae.data&&ae._context.showTips&&(E.notifier(E._(ae,"Double-click to zoom back out"),"long"),D=!1)}function X(ae,de){return"M"+(ae.l-.5)+","+(de-A-.5)+"h-3v"+(2*A+1)+"h3ZM"+(ae.r+.5)+","+(de-A-.5)+"h3v"+(2*A+1)+"h-3Z"}function re(ae,de){return"M"+(de-A-.5)+","+(ae.t-.5)+"v-3h"+(2*A+1)+"v3ZM"+(de-A-.5)+","+(ae.b+.5)+"v3h"+(2*A+1)+"v-3Z"}function le(ae){var de=Math.floor(Math.min(ae.b-ae.t,ae.r-ae.l,A)/2);return"M"+(ae.l-3.5)+","+(ae.t-.5+de)+"h3v"+-de+"h"+de+"v-3h-"+(de+3)+"ZM"+(ae.r+3.5)+","+(ae.t-.5+de)+"h-3v"+-de+"h"+-de+"v-3h"+(de+3)+"ZM"+(ae.r+3.5)+","+(ae.b+.5-de)+"h-3v"+de+"h"+-de+"v3h"+(de+3)+"ZM"+(ae.l-3.5)+","+(ae.b+.5-de)+"h3v"+de+"h"+de+"v3h-"+(de+3)+"Z"}function q(ae,de,xe,Se,Ae){for(var Be=!1,Oe={},Ee={},we,Ce,Ge,He,De=(Ae||{}).xaHash,Fe=(Ae||{}).yaHash,qe=0;qeL[1]-.000244140625&&(w.domain=i),E.noneOrAll(C.domain,w.domain,i),w.tickmode==="sync"&&(w.tickmode="auto")}return d("layer"),w}},89426:function(U,B,e){var v=e(59652);U.exports=function(a,C,w,d,p){p||(p={});var t=p.tickSuffixDflt,r=v(a),c=w("tickprefix");c&&w("showtickprefix",r);var o=w("ticksuffix",t);o&&w("showticksuffix",r)}},42449:function(U,B,e){var v=e(18783).FROM_BL;U.exports=function(a,C,w){w===void 0&&(w=v[a.constraintoward||"center"]);var d=[a.r2l(a.range[0]),a.r2l(a.range[1])],p=d[0]+(d[1]-d[0])*w;a.range=a._input.range=[a.l2r(p+(d[0]-p)*C),a.l2r(p+(d[1]-p)*C)],a.setScale()}},21994:function(U,B,e){var v=e(39898),E=e(84096).g0,a=e(71828),C=a.numberFormat,w=e(92770),d=a.cleanNumber,p=a.ms2DateTime,t=a.dateTime2ms,r=a.ensureNumber,c=a.isArrayOrTypedArray,o=e(50606),n=o.FP_SAFE,u=o.BADNUM,i=o.LOG_CLIP,g=o.ONEWEEK,h=o.ONEDAY,x=o.ONEHOUR,f=o.ONEMIN,l=o.ONESEC,y=e(41675),T=e(85555),S=T.HOUR_PATTERN,L=T.WEEKDAY_PATTERN;function m(b){return Math.pow(10,b)}function M(b){return b!=null}U.exports=function(s,_){_=_||{};var A=s._id||"x",D=A.charAt(0);function F(X,re){if(X>0)return Math.log(X)/Math.LN10;if(X<=0&&re&&s.range&&s.range.length===2){var le=s.range[0],q=s.range[1];return .5*(le+q-2*i*Math.abs(le-q))}else return u}function G(X,re,le,q){if((q||{}).msUTC&&w(X))return+X;var te=t(X,le||s.calendar);if(te===u)if(w(X)){X=+X;var ue=Math.floor(a.mod(X+.05,1)*10),ae=Math.round(X-ue/10);te=t(new Date(ae))+ue/10}else return u;return te}function O(X,re,le){return p(X,re,le||s.calendar)}function H(X){return s._categories[Math.round(X)]}function z(X){if(M(X)){if(s._categoriesMap===void 0&&(s._categoriesMap={}),s._categoriesMap[X]!==void 0)return s._categoriesMap[X];s._categories.push(typeof X=="number"?String(X):X);var re=s._categories.length-1;return s._categoriesMap[X]=re,re}return u}function k(X,re){for(var le=new Array(re),q=0;qs.range[1]&&(le=!le);for(var q=le?-1:1,te=q*X,ue=0,ae=0;aexe)ue=ae+1;else{ue=te<(de+xe)/2?ae:ae+1;break}}var Se=s._B[ue]||0;return isFinite(Se)?Q(X,s._m2,Se):0},$=function(X){var re=s._rangebreaks.length;if(!re)return ne(X,s._m,s._b);for(var le=0,q=0;qs._rangebreaks[q].pmax&&(le=q+1);return ne(X,s._m2,s._B[le])}}s.c2l=s.type==="log"?F:r,s.l2c=s.type==="log"?m:r,s.l2p=fe,s.p2l=$,s.c2p=s.type==="log"?function(X,re){return fe(F(X,re))}:fe,s.p2c=s.type==="log"?function(X){return m($(X))}:$,["linear","-"].indexOf(s.type)!==-1?(s.d2r=s.r2d=s.d2c=s.r2c=s.d2l=s.r2l=d,s.c2d=s.c2r=s.l2d=s.l2r=r,s.d2p=s.r2p=function(X){return s.l2p(d(X))},s.p2d=s.p2r=$,s.cleanPos=r):s.type==="log"?(s.d2r=s.d2l=function(X,re){return F(d(X),re)},s.r2d=s.r2c=function(X){return m(d(X))},s.d2c=s.r2l=d,s.c2d=s.l2r=r,s.c2r=F,s.l2d=m,s.d2p=function(X,re){return s.l2p(s.d2r(X,re))},s.p2d=function(X){return m($(X))},s.r2p=function(X){return s.l2p(d(X))},s.p2r=$,s.cleanPos=r):s.type==="date"?(s.d2r=s.r2d=a.identity,s.d2c=s.r2c=s.d2l=s.r2l=G,s.c2d=s.c2r=s.l2d=s.l2r=O,s.d2p=s.r2p=function(X,re,le){return s.l2p(G(X,0,le))},s.p2d=s.p2r=function(X,re,le){return O($(X),re,le)},s.cleanPos=function(X){return a.cleanDate(X,u,s.calendar)}):s.type==="category"?(s.d2c=s.d2l=z,s.r2d=s.c2d=s.l2d=H,s.d2r=s.d2l_noadd=Z,s.r2c=function(X){var re=ee(X);return re!==void 0?re:s.fraction2r(.5)},s.l2r=s.c2r=r,s.r2l=ee,s.d2p=function(X){return s.l2p(s.r2c(X))},s.p2d=function(X){return H($(X))},s.r2p=s.d2p,s.p2r=$,s.cleanPos=function(X){return typeof X=="string"&&X!==""?X:r(X)}):s.type==="multicategory"&&(s.r2d=s.c2d=s.l2d=H,s.d2r=s.d2l_noadd=Z,s.r2c=function(X){var re=Z(X);return re!==void 0?re:s.fraction2r(.5)},s.r2c_just_indices=V,s.l2r=s.c2r=r,s.r2l=Z,s.d2p=function(X){return s.l2p(s.r2c(X))},s.p2d=function(X){return H($(X))},s.r2p=s.d2p,s.p2r=$,s.cleanPos=function(X){return Array.isArray(X)||typeof X=="string"&&X!==""?X:r(X)},s.setupMultiCategory=function(X){var re=s._traceIndices,le,q,te=s._matchGroup;if(te&&s._categories.length===0){for(var ue in te)if(ue!==A){var ae=_[y.id2name(ue)];re=re.concat(ae._traceIndices)}}var de=[[0,{}],[0,{}]],xe=[];for(le=0;len&&(le[q]=n),le[0]===le[1]){var ae=Math.max(1,Math.abs(le[0]*1e-6));le[0]-=ae,le[1]+=ae}}},s.setScale=function(X){var re=_._size;if(s.overlaying){var le=y.getFromId({_fullLayout:_},s.overlaying);s.domain=le.domain}var q=X&&s._r?"_r":"range",te=s.calendar;s.cleanRange(q);var ue=s.r2l(s[q][0],te),ae=s.r2l(s[q][1],te),de=D==="y";if(de?(s._offset=re.t+(1-s.domain[1])*re.h,s._length=re.h*(s.domain[1]-s.domain[0]),s._m=s._length/(ue-ae),s._b=-s._m*ae):(s._offset=re.l+s.domain[0]*re.w,s._length=re.w*(s.domain[1]-s.domain[0]),s._m=s._length/(ae-ue),s._b=-s._m*ue),s._rangebreaks=[],s._lBreaks=0,s._m2=0,s._B=[],s.rangebreaks){var xe,Se;if(s._rangebreaks=s.locateBreaks(Math.min(ue,ae),Math.max(ue,ae)),s._rangebreaks.length){for(xe=0;xeae&&(Ae=!Ae),Ae&&s._rangebreaks.reverse();var Be=Ae?-1:1;for(s._m2=Be*s._length/(Math.abs(ae-ue)-s._lBreaks),s._B.push(-s._m2*(de?ae:ue)),xe=0;xete&&(te+=7,uete&&(te+=24,ue=q&&ue=q&&X=Je.min&&(DeJe.max&&(Je.max=Fe),qe=!1)}qe&&ae.push({min:De,max:Fe})}};for(le=0;le rect").call(C.setTranslate,0,0).call(C.setScale,1,1),S.plot.call(C.setTranslate,L._offset,m._offset).call(C.setScale,1,1);var M=S.plot.selectAll(".scatterlayer .trace");M.selectAll(".point").call(C.setPointGroupScale,1,1),M.selectAll(".textpoint").call(C.setTextPointsScale,1,1),M.call(C.hideOutsideRangePoints,S)}function u(S,L){var m=S.plotinfo,M=m.xaxis,b=m.yaxis,s=M._length,_=b._length,A=!!S.xr1,D=!!S.yr1,F=[];if(A){var G=a.simpleMap(S.xr0,M.r2l),O=a.simpleMap(S.xr1,M.r2l),H=G[1]-G[0],z=O[1]-O[0];F[0]=(G[0]*(1-L)+L*O[0]-G[0])/(G[1]-G[0])*s,F[2]=s*(1-L+L*z/H),M.range[0]=M.l2r(G[0]*(1-L)+L*O[0]),M.range[1]=M.l2r(G[1]*(1-L)+L*O[1])}else F[0]=0,F[2]=s;if(D){var k=a.simpleMap(S.yr0,b.r2l),V=a.simpleMap(S.yr1,b.r2l),Z=k[1]-k[0],ee=V[1]-V[0];F[1]=(k[1]*(1-L)+L*V[1]-k[1])/(k[0]-k[1])*_,F[3]=_*(1-L+L*ee/Z),b.range[0]=M.l2r(k[0]*(1-L)+L*V[0]),b.range[1]=b.l2r(k[1]*(1-L)+L*V[1])}else F[1]=0,F[3]=_;w.drawOne(p,M,{skipTitle:!0}),w.drawOne(p,b,{skipTitle:!0}),w.redrawComponents(p,[M._id,b._id]);var Q=A?s/F[2]:1,ne=D?_/F[3]:1,fe=A?F[0]:0,$=D?F[1]:0,Y=A?F[0]/F[2]*s:0,j=D?F[1]/F[3]*_:0,X=M._offset-Y,re=b._offset-j;m.clipRect.call(C.setTranslate,fe,$).call(C.setScale,1/Q,1/ne),m.plot.call(C.setTranslate,X,re).call(C.setScale,Q,ne),C.setPointGroupScale(m.zoomScalePts,1/Q,1/ne),C.setTextPointsScale(m.zoomScaleTxt,1/Q,1/ne)}var i;c&&(i=c());function g(){for(var S={},L=0;Lr.duration?(g(),l=window.cancelAnimationFrame(T)):l=window.requestAnimationFrame(T)}return x=Date.now(),l=window.requestAnimationFrame(T),Promise.resolve()}},951:function(U,B,e){var v=e(73972).traceIs,E=e(4322);U.exports=function(t,r,c,o){c("autotypenumbers",o.autotypenumbersDflt);var n=c("type",(o.splomStash||{}).type);n==="-"&&(a(r,o.data),r.type==="-"?r.type="linear":t.type=r.type)};function a(p,t){if(p.type==="-"){var r=p._id,c=r.charAt(0),o;r.indexOf("scene")!==-1&&(r=c);var n=C(t,r,c);if(n){if(n.type==="histogram"&&c==={v:"y",h:"x"}[n.orientation||"v"]){p.type="linear";return}var u=c+"calendar",i=n[u],g={noMultiCategory:!v(n,"cartesian")||v(n,"noMultiCategory")};if(n.type==="box"&&n._hasPreCompStats&&c==={h:"x",v:"y"}[n.orientation||"v"]&&(g.noMultiCategory=!0),g.autotypenumbers=p.autotypenumbers,d(n,c)){var h=w(n),x=[];for(o=0;o0&&(o["_"+r+"axes"]||{})[t])return o;if((o[r+"axis"]||r)===t){if(d(o,r))return o;if((o[r]||[]).length||o[r+"0"])return o}}}function w(p){return{v:"x",h:"y"}[p.orientation||"v"]}function d(p,t){var r=w(p),c=v(p,"box-violin"),o=v(p._fullInput||{},"candlestick");return c&&!o&&t===r&&p[r]===void 0&&p[r+"0"]===void 0}},31137:function(U,B,e){var v=e(73972),E=e(71828);B.manageCommandObserver=function(t,r,c,o){var n={},u=!0;r&&r._commandObserver&&(n=r._commandObserver),n.cache||(n.cache={}),n.lookupTable={};var i=B.hasSimpleAPICommandBindings(t,c,n.lookupTable);if(r&&r._commandObserver){if(i)return n;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,n}if(i){a(t,i,n.cache),n.check=function(){if(u){var f=a(t,i,n.cache);return f.changed&&o&&n.lookupTable[f.value]!==void 0&&(n.disable(),Promise.resolve(o({value:f.value,type:i.type,prop:i.prop,traces:i.traces,index:n.lookupTable[f.value]})).then(n.enable,n.enable)),f.changed}};for(var g=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h0?".":"")+n;E.isPlainObject(u)?p(u,r,i,o+1):r(i,n,u)}})}},27670:function(U,B,e){var v=e(1426).extendFlat;B.Y=function(E,a){E=E||{},a=a||{};var C={valType:"info_array",editType:E.editType,items:[{valType:"number",min:0,max:1,editType:E.editType},{valType:"number",min:0,max:1,editType:E.editType}],dflt:[0,1]};E.name&&E.name+"",E.trace,a.description&&""+a.description;var w={x:v({},C,{}),y:v({},C,{}),editType:E.editType};return E.noGridCell||(w.row={valType:"integer",min:0,dflt:0,editType:E.editType},w.column={valType:"integer",min:0,dflt:0,editType:E.editType}),w},B.c=function(E,a,C,w){var d=w&&w.x||[0,1],p=w&&w.y||[0,1],t=a.grid;if(t){var r=C("domain.column");r!==void 0&&(r0&&z._module.calcGeoJSON(H,D)}if(!F){var k=this.updateProjection(A,D);if(k)return;(!this.viewInitial||this.scope!==G.scope)&&this.saveViewInitial(G)}this.scope=G.scope,this.updateBaseLayers(D,G),this.updateDims(D,G),this.updateFx(D,G),n.generalUpdatePerTraceModule(this.graphDiv,this,A,G);var V=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=V.selectAll(".point"),this.dataPoints.text=V.selectAll("text"),this.dataPaths.line=V.selectAll(".js-line");var Z=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=Z.selectAll("path"),this._render()},M.updateProjection=function(A,D){var F=this.graphDiv,G=D[this.id],O=D._size,H=G.domain,z=G.projection,k=G.lonaxis,V=G.lataxis,Z=k._ax,ee=V._ax,Q=this.projection=b(G),ne=[[O.l+O.w*H.x[0],O.t+O.h*(1-H.y[1])],[O.l+O.w*H.x[1],O.t+O.h*(1-H.y[0])]],fe=G.center||{},$=z.rotation||{},Y=k.range||[],j=V.range||[];if(G.fitbounds){Z._length=ne[1][0]-ne[0][0],ee._length=ne[1][1]-ne[0][1],Z.range=i(F,Z),ee.range=i(F,ee);var X=(Z.range[0]+Z.range[1])/2,re=(ee.range[0]+ee.range[1])/2;if(G._isScoped)fe={lon:X,lat:re};else if(G._isClipped){fe={lon:X,lat:re},$={lon:X,lat:re,roll:$.roll};var le=z.type,q=y.lonaxisSpan[le]/2||180,te=y.lataxisSpan[le]/2||90;Y=[X-q,X+q],j=[re-te,re+te]}else fe={lon:X,lat:re},$={lon:X,lat:$.lat,roll:$.roll}}Q.center([fe.lon-$.lon,fe.lat-$.lat]).rotate([-$.lon,-$.lat,$.roll]).parallels(z.parallels);var ue=_(Y,j);Q.fitExtent(ne,ue);var ae=this.bounds=Q.getBounds(ue),de=this.fitScale=Q.scale(),xe=Q.translate();if(G.fitbounds){var Se=Q.getBounds(_(Z.range,ee.range)),Ae=Math.min((ae[1][0]-ae[0][0])/(Se[1][0]-Se[0][0]),(ae[1][1]-ae[0][1])/(Se[1][1]-Se[0][1]));isFinite(Ae)?Q.scale(Ae*de):p.warn("Something went wrong during"+this.id+"fitbounds computations.")}else Q.scale(z.scale*de);var Be=this.midPt=[(ae[0][0]+ae[1][0])/2,(ae[0][1]+ae[1][1])/2];if(Q.translate([xe[0]+(Be[0]-xe[0]),xe[1]+(Be[1]-xe[1])]).clipExtent(ae),G._isAlbersUsa){var Oe=Q([fe.lon,fe.lat]),Ee=Q.translate();Q.translate([Ee[0]-(Oe[0]-Ee[0]),Ee[1]-(Oe[1]-Ee[1])])}},M.updateBaseLayers=function(A,D){var F=this,G=F.topojson,O=F.layers,H=F.basePaths;function z(ne){return ne==="lonaxis"||ne==="lataxis"}function k(ne){return!!y.lineLayers[ne]}function V(ne){return!!y.fillLayers[ne]}var Z=this.hasChoropleth?y.layersForChoropleth:y.layers,ee=Z.filter(function(ne){return k(ne)||V(ne)?D["show"+ne]:z(ne)?D[ne].showgrid:!0}),Q=F.framework.selectAll(".layer").data(ee,String);Q.exit().each(function(ne){delete O[ne],delete H[ne],v.select(this).remove()}),Q.enter().append("g").attr("class",function(ne){return"layer "+ne}).each(function(ne){var fe=O[ne]=v.select(this);ne==="bg"?F.bgRect=fe.append("rect").style("pointer-events","all"):z(ne)?H[ne]=fe.append("path").style("fill","none"):ne==="backplot"?fe.append("g").classed("choroplethlayer",!0):ne==="frontplot"?fe.append("g").classed("scatterlayer",!0):k(ne)?H[ne]=fe.append("path").style("fill","none").style("stroke-miterlimit",2):V(ne)&&(H[ne]=fe.append("path").style("stroke","none"))}),Q.order(),Q.each(function(ne){var fe=H[ne],$=y.layerNameToAdjective[ne];ne==="frame"?fe.datum(y.sphereSVG):k(ne)||V(ne)?fe.datum(L(G,G.objects[ne])):z(ne)&&fe.datum(s(ne,D,A)).call(r.stroke,D[ne].gridcolor).call(c.dashLine,D[ne].griddash,D[ne].gridwidth),k(ne)?fe.call(r.stroke,D[$+"color"]).call(c.dashLine,"",D[$+"width"]):V(ne)&&fe.call(r.fill,D[$+"color"])})},M.updateDims=function(A,D){var F=this.bounds,G=(D.framewidth||0)/2,O=F[0][0]-G,H=F[0][1]-G,z=F[1][0]-O+G,k=F[1][1]-H+G;c.setRect(this.clipRect,O,H,z,k),this.bgRect.call(c.setRect,O,H,z,k).call(r.fill,D.bgcolor),this.xaxis._offset=O,this.xaxis._length=z,this.yaxis._offset=H,this.yaxis._length=k},M.updateFx=function(A,D){var F=this,G=F.graphDiv,O=F.bgRect,H=A.dragmode,z=A.clickmode;if(F.isStatic)return;function k(){var Q=F.viewInitial,ne={};for(var fe in Q)ne[F.id+"."+fe]=Q[fe];d.call("_guiRelayout",G,ne),G.emit("plotly_doubleclick",null)}function V(Q){return F.projection.invert([Q[0]+F.xaxis._offset,Q[1]+F.yaxis._offset])}var Z=function(Q,ne){if(ne.isRect){var fe=Q.range={};fe[F.id]=[V([ne.xmin,ne.ymin]),V([ne.xmax,ne.ymax])]}else{var $=Q.lassoPoints={};$[F.id]=ne.map(V)}},ee={element:F.bgRect.node(),gd:G,plotinfo:{id:F.id,xaxis:F.xaxis,yaxis:F.yaxis,fillRangeItems:Z},xaxes:[F.xaxis],yaxes:[F.yaxis],subplot:F.id,clickFn:function(Q){Q===2&&x(G)}};H==="pan"?(O.node().onmousedown=null,O.call(l(F,D)),O.on("dblclick.zoom",k),G._context._scrollZoom.geo||O.on("wheel.zoom",null)):(H==="select"||H==="lasso")&&(O.on(".zoom",null),ee.prepFn=function(Q,ne,fe){h(Q,ne,fe,ee,H)},g.init(ee)),O.on("mousemove",function(){var Q=F.projection.invert(p.getPositionFromD3Event());if(!Q)return g.unhover(G,v.event);F.xaxis.p2c=function(){return Q[0]},F.yaxis.p2c=function(){return Q[1]},o.hover(G,v.event,F.id)}),O.on("mouseout",function(){G._dragging||g.unhover(G,v.event)}),O.on("click",function(){H!=="select"&&H!=="lasso"&&(z.indexOf("select")>-1&&f(v.event,G,[F.xaxis],[F.yaxis],F.id,ee),z.indexOf("event")>-1&&o.click(G,v.event))})},M.makeFramework=function(){var A=this,D=A.graphDiv,F=D._fullLayout,G="clip"+F._uid+A.id;A.clipDef=F._clips.append("clipPath").attr("id",G),A.clipRect=A.clipDef.append("rect"),A.framework=v.select(A.container).append("g").attr("class","geo "+A.id).call(c.setClipUrl,G,D),A.project=function(O){var H=A.projection(O);return H?[H[0]-A.xaxis._offset,H[1]-A.yaxis._offset]:[null,null]},A.xaxis={_id:"x",c2p:function(O){return A.project(O)[0]}},A.yaxis={_id:"y",c2p:function(O){return A.project(O)[1]}},A.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(A.mockAxis,F)},M.saveViewInitial=function(A){var D=A.center||{},F=A.projection,G=F.rotation||{};this.viewInitial={fitbounds:A.fitbounds,"projection.scale":F.scale};var O;A._isScoped?O={"center.lon":D.lon,"center.lat":D.lat}:A._isClipped?O={"projection.rotation.lon":G.lon,"projection.rotation.lat":G.lat}:O={"center.lon":D.lon,"center.lat":D.lat,"projection.rotation.lon":G.lon},p.extendFlat(this.viewInitial,O)},M.render=function(A){this._hasMarkerAngles&&A?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},M._render=function(){var A=this.projection,D=A.getPath(),F;function G(H){var z=A(H.lonlat);return z?t(z[0],z[1]):null}function O(H){return A.isLonLatOverEdges(H.lonlat)?"none":null}for(F in this.basePaths)this.basePaths[F].attr("d",D);for(F in this.dataPaths)this.dataPaths[F].attr("d",function(H){return D(H.geojson)});for(F in this.dataPoints)this.dataPoints[F].attr("display",O).attr("transform",G)};function b(A){var D=A.projection,F=D.type,G=y.projNames[F];G="geo"+p.titleCase(G);for(var O=E[G]||w[G],H=O(),z=A._isSatellite?Math.acos(1/D.distance)*180/Math.PI:A._isClipped?y.lonaxisSpan[F]/2:null,k=["center","rotate","parallels","clipExtent"],V=function(Q){return Q?H:[]},Z=0;Z$}else return!1},H.getPath=function(){return a().projection(H)},H.getBounds=function(Q){return H.getPath().bounds(Q)},H.precision(y.precision),A._isSatellite&&H.tilt(D.tilt).distance(D.distance),z&&H.clipAngle(z-y.clipPad),H}function s(A,D,F){var G=1e-6,O=2.5,H=D[A],z=y.scopeDefaults[D.scope],k,V,Z;A==="lonaxis"?(k=z.lonaxisRange,V=z.lataxisRange,Z=function(re,le){return[re,le]}):A==="lataxis"&&(k=z.lataxisRange,V=z.lonaxisRange,Z=function(re,le){return[le,re]});var ee={type:"linear",range:[k[0],k[1]-G],tick0:H.tick0,dtick:H.dtick};u.setConvert(ee,F);var Q=u.calcTicks(ee);!D.isScoped&&A==="lonaxis"&&Q.pop();for(var ne=Q.length,fe=new Array(ne),$=0;$0&&O<0&&(O+=360);var k=(O-G)/4;return{type:"Polygon",coordinates:[[[G,H],[G,z],[G+k,z],[G+2*k,z],[G+3*k,z],[O,z],[O,H],[O-k,H],[O-2*k,H],[O-3*k,H],[G,H]]]}}},44622:function(U,B,e){var v=e(27659).AU,E=e(71828).counterRegex,a=e(69082),C="geo",w=E(C),d={};d[C]={valType:"subplotid",dflt:C,editType:"calc"};function p(c){for(var o=c._fullLayout,n=c.calcdata,u=o._subplots[C],i=0;i0&&V<0&&(V+=360);var Z=(k+V)/2,ee;if(!f){var Q=l?h.projRotate:[Z,0,0];ee=c("projection.rotation.lon",Q[0]),c("projection.rotation.lat",Q[1]),c("projection.rotation.roll",Q[2]),M=c("showcoastlines",!l&&m),M&&(c("coastlinecolor"),c("coastlinewidth")),M=c("showocean",m?void 0:!1),M&&c("oceancolor")}var ne,fe;if(f?(ne=-96.6,fe=38.7):(ne=l?Z:ee,fe=(z[0]+z[1])/2),c("center.lon",ne),c("center.lat",fe),y&&(c("projection.tilt"),c("projection.distance")),T){var $=h.projParallels||[0,60];c("projection.parallels",$)}c("projection.scale"),M=c("showland",m?void 0:!1),M&&c("landcolor"),M=c("showlakes",m?void 0:!1),M&&c("lakecolor"),M=c("showrivers",m?void 0:!1),M&&(c("rivercolor"),c("riverwidth")),M=c("showcountries",l&&g!=="usa"&&m),M&&(c("countrycolor"),c("countrywidth")),(g==="usa"||g==="north america"&&i===50)&&(c("showsubunits",m),c("subunitcolor"),c("subunitwidth")),l||(M=c("showframe",m),M&&(c("framecolor"),c("framewidth"))),c("bgcolor");var Y=c("fitbounds");Y&&(delete r.projection.scale,l?(delete r.center.lon,delete r.center.lat):S?(delete r.center.lon,delete r.center.lat,delete r.projection.rotation.lon,delete r.projection.rotation.lat,delete r.lonaxis.range,delete r.lataxis.range):(delete r.center.lon,delete r.center.lat,delete r.projection.rotation.lon))}},74455:function(U,B,e){var v=e(39898),E=e(71828),a=e(73972),C=Math.PI/180,w=180/Math.PI,d={cursor:"pointer"},p={cursor:"auto"};function t(s,_){var A=s.projection,D;return _._isScoped?D=o:_._isClipped?D=u:D=n,D(s,A)}U.exports=t;function r(s,_){return v.behavior.zoom().translate(_.translate()).scale(_.scale())}function c(s,_,A){var D=s.id,F=s.graphDiv,G=F.layout,O=G[D],H=F._fullLayout,z=H[D],k={},V={};function Z(ee,Q){k[D+"."+ee]=E.nestedProperty(O,ee).get(),a.call("_storeDirectGUIEdit",G,H._preGUI,k);var ne=E.nestedProperty(z,ee);ne.get()!==Q&&(ne.set(Q),E.nestedProperty(O,ee).set(Q),V[D+"."+ee]=Q)}A(Z),Z("projection.scale",_.scale()/s.fitScale),Z("fitbounds",!1),F.emit("plotly_relayout",V)}function o(s,_){var A=r(s,_);function D(){v.select(this).style(d)}function F(){_.scale(v.event.scale).translate(v.event.translate),s.render(!0);var H=_.invert(s.midPt);s.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/s.fitScale,"geo.center.lon":H[0],"geo.center.lat":H[1]})}function G(H){var z=_.invert(s.midPt);H("center.lon",z[0]),H("center.lat",z[1])}function O(){v.select(this).style(p),c(s,_,G)}return A.on("zoomstart",D).on("zoom",F).on("zoomend",O),A}function n(s,_){var A=r(s,_),D=2,F,G,O,H,z,k,V,Z,ee;function Q(X){return _.invert(X)}function ne(X){var re=Q(X);if(!re)return!0;var le=_(re);return Math.abs(le[0]-X[0])>D||Math.abs(le[1]-X[1])>D}function fe(){v.select(this).style(d),F=v.mouse(this),G=_.rotate(),O=_.translate(),H=G,z=Q(F)}function $(){if(k=v.mouse(this),ne(F)){A.scale(_.scale()),A.translate(_.translate());return}_.scale(v.event.scale),_.translate([O[0],v.event.translate[1]]),z?Q(k)&&(Z=Q(k),V=[H[0]+(Z[0]-z[0]),G[1],G[2]],_.rotate(V),H=V):(F=k,z=Q(F)),ee=!0,s.render(!0);var X=_.rotate(),re=_.invert(s.midPt);s.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/s.fitScale,"geo.center.lon":re[0],"geo.center.lat":re[1],"geo.projection.rotation.lon":-X[0]})}function Y(){v.select(this).style(p),ee&&c(s,_,j)}function j(X){var re=_.rotate(),le=_.invert(s.midPt);X("projection.rotation.lon",-re[0]),X("center.lon",le[0]),X("center.lat",le[1])}return A.on("zoomstart",fe).on("zoom",$).on("zoomend",Y),A}function u(s,_){_.rotate(),_.scale();var A=r(s,_),D=b(A,"zoomstart","zoom","zoomend"),F=0,G=A.on,O;A.on("zoomstart",function(){v.select(this).style(d);var Z=v.mouse(this),ee=_.rotate(),Q=ee,ne=_.translate(),fe=g(ee);O=i(_,Z),G.call(A,"zoom",function(){var $=v.mouse(this);if(_.scale(v.event.scale),!O)Z=$,O=i(_,Z);else if(i(_,$)){_.rotate(ee).translate(ne);var Y=i(_,$),j=x(O,Y),X=S(h(fe,j)),re=f(X,O,Q);(!isFinite(re[0])||!isFinite(re[1])||!isFinite(re[2]))&&(re=Q),_.rotate(re),Q=re}z(D.of(this,arguments))}),H(D.of(this,arguments))}).on("zoomend",function(){v.select(this).style(p),G.call(A,"zoom",null),k(D.of(this,arguments)),c(s,_,V)}).on("zoom.redraw",function(){s.render(!0);var Z=_.rotate();s.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":_.scale()/s.fitScale,"geo.projection.rotation.lon":-Z[0],"geo.projection.rotation.lat":-Z[1]})});function H(Z){F++||Z({type:"zoomstart"})}function z(Z){Z({type:"zoom"})}function k(Z){--F||Z({type:"zoomend"})}function V(Z){var ee=_.rotate();Z("projection.rotation.lon",-ee[0]),Z("projection.rotation.lat",-ee[1])}return v.rebind(A,D,"on")}function i(s,_){var A=s.invert(_);return A&&isFinite(A[0])&&isFinite(A[1])&&L(A)}function g(s){var _=.5*s[0]*C,A=.5*s[1]*C,D=.5*s[2]*C,F=Math.sin(_),G=Math.cos(_),O=Math.sin(A),H=Math.cos(A),z=Math.sin(D),k=Math.cos(D);return[G*H*k+F*O*z,F*H*k-G*O*z,G*O*k+F*H*z,G*H*z-F*O*k]}function h(s,_){var A=s[0],D=s[1],F=s[2],G=s[3],O=_[0],H=_[1],z=_[2],k=_[3];return[A*O-D*H-F*z-G*k,A*H+D*O+F*k-G*z,A*z-D*k+F*O+G*H,A*k+D*z-F*H+G*O]}function x(s,_){if(!(!s||!_)){var A=M(s,_),D=Math.sqrt(m(A,A)),F=.5*Math.acos(Math.max(-1,Math.min(1,m(s,_)))),G=Math.sin(F)/D;return D&&[Math.cos(F),A[2]*G,-A[1]*G,A[0]*G]}}function f(s,_,A){var D=T(_,2,s[0]);D=T(D,1,s[1]),D=T(D,0,s[2]-A[2]);var F=_[0],G=_[1],O=_[2],H=D[0],z=D[1],k=D[2],V=Math.atan2(G,F)*w,Z=Math.sqrt(F*F+G*G),ee,Q;Math.abs(z)>Z?(Q=(z>0?90:-90)-V,ee=0):(Q=Math.asin(z/Z)*w-V,ee=Math.sqrt(Z*Z-z*z));var ne=180-Q-2*V,fe=(Math.atan2(k,H)-Math.atan2(O,ee))*w,$=(Math.atan2(k,H)-Math.atan2(O,-ee))*w,Y=l(A[0],A[1],Q,fe),j=l(A[0],A[1],ne,$);return Y<=j?[Q,fe,A[2]]:[ne,$,A[2]]}function l(s,_,A,D){var F=y(A-s),G=y(D-_);return Math.sqrt(F*F+G*G)}function y(s){return(s%360+540)%360-180}function T(s,_,A){var D=A*C,F=s.slice(),G=_===0?1:0,O=_===2?1:2,H=Math.cos(D),z=Math.sin(D);return F[G]=s[G]*H-s[O]*z,F[O]=s[O]*H+s[G]*z,F}function S(s){return[Math.atan2(2*(s[0]*s[1]+s[2]*s[3]),1-2*(s[1]*s[1]+s[2]*s[2]))*w,Math.asin(Math.max(-1,Math.min(1,2*(s[0]*s[2]-s[3]*s[1]))))*w,Math.atan2(2*(s[0]*s[3]+s[1]*s[2]),1-2*(s[2]*s[2]+s[3]*s[3]))*w]}function L(s){var _=s[0]*C,A=s[1]*C,D=Math.cos(A);return[D*Math.cos(_),D*Math.sin(_),Math.sin(A)]}function m(s,_){for(var A=0,D=0,F=s.length;DMath.abs(M)?(o.boxEnd[1]=o.boxStart[1]+Math.abs(m)*F*(M>=0?1:-1),o.boxEnd[1]f[3]&&(o.boxEnd[1]=f[3],o.boxEnd[0]=o.boxStart[0]+(f[3]-o.boxStart[1])/Math.abs(F))):(o.boxEnd[0]=o.boxStart[0]+Math.abs(M)/F*(m>=0?1:-1),o.boxEnd[0]f[2]&&(o.boxEnd[0]=f[2],o.boxEnd[1]=o.boxStart[1]+(f[2]-o.boxStart[0])*Math.abs(F)))}else A&&(o.boxEnd[0]=o.boxStart[0]),D&&(o.boxEnd[1]=o.boxStart[1])}else o.boxEnabled?(m=o.boxStart[0]!==o.boxEnd[0],M=o.boxStart[1]!==o.boxEnd[1],m||M?(m&&(b(0,o.boxStart[0],o.boxEnd[0]),t.xaxis.autorange=!1),M&&(b(1,o.boxStart[1],o.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),o.boxEnabled=!1,o.boxInited=!1):o.boxInited&&(o.boxInited=!1);break;case"pan":o.boxEnabled=!1,o.boxInited=!1,g?(o.panning||(o.dragStart[0]=h,o.dragStart[1]=x),Math.abs(o.dragStart[0]-h)1;function g(h){if(!i){var x=v.validate(o[h],d[h]);if(x)return o[h]}}C(o,n,u,{type:t,attributes:d,handleDefaults:r,fullLayout:n,font:n.font,fullData:u,getDfltFromLayout:g,autotypenumbersDflt:n.autotypenumbers,paper_bgcolor:n.paper_bgcolor,calendar:n.calendar})};function r(c,o,n,u){for(var i=n("bgcolor"),g=E.combine(i,u.paper_bgcolor),h=["up","center","eye"],x=0;x.999)&&(S="turntable")}else S="turntable";n("dragmode",S),n("hovermode",u.getDfltFromLayout("hovermode"))}},65500:function(U,B,e){var v=e(77894),E=e(27670).Y,a=e(1426).extendFlat,C=e(71828).counterRegex;function w(d,p,t){return{x:{valType:"number",dflt:d,editType:"camera"},y:{valType:"number",dflt:p,editType:"camera"},z:{valType:"number",dflt:t,editType:"camera"},editType:"camera"}}U.exports={_arrayAttrRegexps:[C("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(w(0,0,1),{}),center:a(w(0,0,0),{}),eye:a(w(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:E({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:v,yaxis:v,zaxis:v,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},13133:function(U,B,e){var v=e(78614),E=["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]}var C=a.prototype;C.merge=function(d){for(var p=0;p<3;++p){var t=d[E[p]];if(!t.visible){this.enabled[p]=!1,this.drawSides[p]=!1;continue}this.enabled[p]=t.showspikes,this.colors[p]=v(t.spikecolor),this.drawSides[p]=t.spikesides,this.lineWidth[p]=t.spikethickness}};function w(d){var p=new a;return p.merge(d),p}U.exports=w},96085:function(U,B,e){U.exports=w;var v=e(89298),E=e(71828),a=["xaxis","yaxis","zaxis"];function C(d){for(var p=new Array(3),t=0;t<3;++t){for(var r=d[t],c=new Array(r.length),o=0;o/g," "));c[o]=g,n.tickmode=u}}p.ticks=c;for(var o=0;o<3;++o){.5*(d.glplot.bounds[0][o]+d.glplot.bounds[1][o]);for(var h=0;h<2;++h)p.bounds[h][o]=d.glplot.bounds[h][o]}d.contourLevels=C(c)}},63538:function(U){function B(v,E){var a=[0,0,0,0],C,w;for(C=0;C<4;++C)for(w=0;w<4;++w)a[w]+=v[4*C+w]*E[C];return a}function e(v,E){var a=B(v.projection,B(v.view,B(v.model,[E[0],E[1],E[2],1])));return a}U.exports=e},33539:function(U,B,e){var v=e(9330).gl_plot3d,E=v.createCamera,a=v.createScene,C=e(40372),w=e(38520),d=e(73972),p=e(71828),t=p.preserveDrawingBuffer(),r=e(89298),c=e(30211),o=e(78614),n=e(58617),u=e(63538),i=e(30422),g=e(13133),h=e(96085),x,f,l=!1;function y(D,F){var G=document.createElement("div"),O=D.container;this.graphDiv=D.graphDiv;var H=document.createElementNS("http://www.w3.org/2000/svg","svg");H.style.position="absolute",H.style.top=H.style.left="0px",H.style.width=H.style.height="100%",H.style["z-index"]=20,H.style["pointer-events"]="none",G.appendChild(H),this.svgContainer=H,G.id=D.id,G.style.position="absolute",G.style.top=G.style.left="0px",G.style.width=G.style.height="100%",O.appendChild(G),this.fullLayout=F,this.id=D.id||"scene",this.fullSceneLayout=F[this.id],this.plotArgs=[[],{},{}],this.axesOptions=i(F,F[this.id]),this.spikeOptions=g(F[this.id]),this.container=G,this.staticMode=!!D.staticPlot,this.pixelRatio=this.pixelRatio||D.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=d.getComponentMethod("annotations3d","convert"),this.drawAnnotations=d.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var T=y.prototype;T.prepareOptions=function(){var D=this,F={canvas:D.canvas,gl:D.gl,glOptions:{preserveDrawingBuffer:t,premultipliedAlpha:!0,antialias:!0},container:D.container,axes:D.axesOptions,spikes:D.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:D.camera,pixelRatio:D.pixelRatio};if(D.staticMode){if(!f&&(x=document.createElement("canvas"),f=C({canvas:x,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!f))throw new Error("error creating static canvas/context for image server");F.gl=f,F.canvas=x}return F};var S=!0;T.tryCreatePlot=function(){var D=this,F=D.prepareOptions(),G=!0;try{D.glplot=a(F)}catch{if(D.staticMode||!S||t)G=!1;else{p.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{t=F.glOptions.preserveDrawingBuffer=!0,D.glplot=a(F)}catch{t=F.glOptions.preserveDrawingBuffer=!1,G=!1}}}return S=!1,G},T.initializeGLCamera=function(){var D=this,F=D.fullSceneLayout.camera,G=F.projection.type==="orthographic";D.camera=E(D.container,{center:[F.center.x,F.center.y,F.center.z],eye:[F.eye.x,F.eye.y,F.eye.z],up:[F.up.x,F.up.y,F.up.z],_ortho:G,zoomMin:.01,zoomMax:100,mode:"orbit"})},T.initializeGLPlot=function(){var D=this;D.initializeGLCamera();var F=D.tryCreatePlot();if(!F)return n(D);D.traces={},D.make4thDimension();var G=D.graphDiv,O=G.layout,H=function(){var k={};return D.isCameraChanged(O)&&(k[D.id+".camera"]=D.getCamera()),D.isAspectChanged(O)&&(k[D.id+".aspectratio"]=D.glplot.getAspectratio(),O[D.id].aspectmode!=="manual"&&(D.fullSceneLayout.aspectmode=O[D.id].aspectmode=k[D.id+".aspectmode"]="manual")),k},z=function(k){if(k.fullSceneLayout.dragmode!==!1){var V=H();k.saveLayout(O),k.graphDiv.emit("plotly_relayout",V)}};return D.glplot.canvas&&(D.glplot.canvas.addEventListener("mouseup",function(){z(D)}),D.glplot.canvas.addEventListener("touchstart",function(){l=!0}),D.glplot.canvas.addEventListener("wheel",function(k){if(G._context._scrollZoom.gl3d){if(D.camera._ortho){var V=k.deltaX>k.deltaY?1.1:.9090909090909091,Z=D.glplot.getAspectratio();D.glplot.setAspectratio({x:V*Z.x,y:V*Z.y,z:V*Z.z})}z(D)}},w?{passive:!1}:!1),D.glplot.canvas.addEventListener("mousemove",function(){if(D.fullSceneLayout.dragmode!==!1&&D.camera.mouseListener.buttons!==0){var k=H();D.graphDiv.emit("plotly_relayouting",k)}}),D.staticMode||D.glplot.canvas.addEventListener("webglcontextlost",function(k){G&&G.emit&&G.emit("plotly_webglcontextlost",{event:k,layer:D.id})},!1)),D.glplot.oncontextloss=function(){D.recoverContext()},D.glplot.onrender=function(){D.render()},!0},T.render=function(){var D=this,F=D.graphDiv,G,O=D.svgContainer,H=D.container.getBoundingClientRect();F._fullLayout._calcInverseTransform(F);var z=F._fullLayout._invScaleX,k=F._fullLayout._invScaleY,V=H.width*z,Z=H.height*k;O.setAttributeNS(null,"viewBox","0 0 "+V+" "+Z),O.setAttributeNS(null,"width",V),O.setAttributeNS(null,"height",Z),h(D),D.glplot.axes.update(D.axesOptions);for(var ee=Object.keys(D.traces),Q=null,ne=D.glplot.selection,fe=0;fe")):G.type==="isosurface"||G.type==="volume"?(re.valueLabel=r.hoverLabelText(D._mockAxis,D._mockAxis.d2l(ne.traceCoordinate[3]),G.valuehoverformat),ae.push("value: "+re.valueLabel),ne.textLabel&&ae.push(ne.textLabel),ue=ae.join("
")):ue=ne.textLabel;var de={x:ne.traceCoordinate[0],y:ne.traceCoordinate[1],z:ne.traceCoordinate[2],data:j._input,fullData:j,curveNumber:j.index,pointNumber:X};c.appendArrayPointValue(de,j,X),G._module.eventData&&(de=j._module.eventData(de,ne,j,{},X));var xe={points:[de]};if(D.fullSceneLayout.hovermode){var Se=[];c.loneHover({trace:j,x:(.5+.5*Y[0]/Y[3])*V,y:(.5-.5*Y[1]/Y[3])*Z,xLabel:re.xLabel,yLabel:re.yLabel,zLabel:re.zLabel,text:ue,name:Q.name,color:c.castHoverOption(j,X,"bgcolor")||Q.color,borderColor:c.castHoverOption(j,X,"bordercolor"),fontFamily:c.castHoverOption(j,X,"font.family"),fontSize:c.castHoverOption(j,X,"font.size"),fontColor:c.castHoverOption(j,X,"font.color"),nameLength:c.castHoverOption(j,X,"namelength"),textAlign:c.castHoverOption(j,X,"align"),hovertemplate:p.castOption(j,X,"hovertemplate"),hovertemplateLabels:p.extendFlat({},de,re),eventData:[de]},{container:O,gd:F,inOut_bbox:Se}),de.bbox=Se[0]}ne.distance<5&&(ne.buttons||l)?F.emit("plotly_click",xe):F.emit("plotly_hover",xe),this.oldEventData=xe}else c.loneUnhover(O),this.oldEventData&&F.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;D.drawAnnotations(D)},T.recoverContext=function(){var D=this;D.glplot.dispose();var F=function(){if(D.glplot.gl.isContextLost()){requestAnimationFrame(F);return}if(!D.initializeGLPlot()){p.error("Catastrophic and unrecoverable WebGL error. Context lost.");return}D.plot.apply(D,D.plotArgs)};requestAnimationFrame(F)};var L=["xaxis","yaxis","zaxis"];function m(D,F,G){for(var O=D.fullSceneLayout,H=0;H<3;H++){var z=L[H],k=z.charAt(0),V=O[z],Z=F[k],ee=F[k+"calendar"],Q=F["_"+k+"length"];if(!p.isArrayOrTypedArray(Z))G[0][H]=Math.min(G[0][H],0),G[1][H]=Math.max(G[1][H],Q-1);else for(var ne,fe=0;fe<(Q||Z.length);fe++)if(p.isArrayOrTypedArray(Z[fe]))for(var $=0;$j[1][k])j[0][k]=-1,j[1][k]=1;else{var Se=j[1][k]-j[0][k];j[0][k]-=Se/32,j[1][k]+=Se/32}if(Z.autorange==="reversed"){var Ae=j[0][k];j[0][k]=j[1][k],j[1][k]=Ae}}else{var Be=Z.range;j[0][k]=Z.r2l(Be[0]),j[1][k]=Z.r2l(Be[1])}j[0][k]===j[1][k]&&(j[0][k]-=1,j[1][k]+=1),O.glplot.setBounds(k,{min:j[0][k]*$[k],max:j[1][k]*$[k]})}var Oe,Ee=Q.aspectmode;if(Ee==="cube")Oe=[1,1,1];else if(Ee==="manual"){var we=Q.aspectratio;Oe=[we.x,we.y,we.z]}else if(Ee==="auto"||Ee==="data"){var Ce=[1,1,1];for(k=0;k<3;++k){Z=Q[L[k]],ee=Z.type;var Ge=X[ee];Ce[k]=Math.pow(Ge.acc,1/Ge.count)/$[k]}Ee==="data"||Math.max.apply(null,Ce)/Math.min.apply(null,Ce)<=4?Oe=Ce:Oe=[1,1,1]}else throw new Error("scene.js aspectRatio was not one of the enumerated types");Q.aspectratio.x=ne.aspectratio.x=Oe[0],Q.aspectratio.y=ne.aspectratio.y=Oe[1],Q.aspectratio.z=ne.aspectratio.z=Oe[2],O.glplot.setAspectratio(Q.aspectratio),O.viewInitial.aspectratio||(O.viewInitial.aspectratio={x:Q.aspectratio.x,y:Q.aspectratio.y,z:Q.aspectratio.z}),O.viewInitial.aspectmode||(O.viewInitial.aspectmode=Q.aspectmode);var He=Q.domain||null,De=F._size||null;if(He&&De){var Fe=O.container.style;Fe.position="absolute",Fe.left=De.l+He.x[0]*De.w+"px",Fe.top=De.t+(1-He.y[1])*De.h+"px",Fe.width=De.w*(He.x[1]-He.x[0])+"px",Fe.height=De.h*(He.y[1]-He.y[0])+"px"}O.glplot.redraw()}},T.destroy=function(){var D=this;D.glplot&&(D.camera.mouseListener.enabled=!1,D.container.removeEventListener("wheel",D.camera.wheelListener),D.camera=null,D.glplot.dispose(),D.container.parentNode.removeChild(D.container),D.glplot=null)};function b(D){return[[D.eye.x,D.eye.y,D.eye.z],[D.center.x,D.center.y,D.center.z],[D.up.x,D.up.y,D.up.z]]}function s(D){return{up:{x:D.up[0],y:D.up[1],z:D.up[2]},center:{x:D.center[0],y:D.center[1],z:D.center[2]},eye:{x:D.eye[0],y:D.eye[1],z:D.eye[2]},projection:{type:D._ortho===!0?"orthographic":"perspective"}}}T.getCamera=function(){var D=this;return D.camera.view.recalcMatrix(D.camera.view.lastT()),s(D.camera)},T.setViewport=function(D){var F=this,G=D.camera;F.camera.lookAt.apply(this,b(G)),F.glplot.setAspectratio(D.aspectratio);var O=G.projection.type==="orthographic",H=F.camera._ortho;O!==H&&(F.glplot.redraw(),F.glplot.clearRGBA(),F.glplot.dispose(),F.initializeGLPlot())},T.isCameraChanged=function(D){var F=this,G=F.getCamera(),O=p.nestedProperty(D,F.id+".camera"),H=O.get();function z(ee,Q,ne,fe){var $=["up","center","eye"],Y=["x","y","z"];return Q[$[ne]]&&ee[$[ne]][Y[fe]]===Q[$[ne]][Y[fe]]}var k=!1;if(H===void 0)k=!0;else{for(var V=0;V<3;V++)for(var Z=0;Z<3;Z++)if(!z(G,H,V,Z)){k=!0;break}(!H.projection||G.projection&&G.projection.type!==H.projection.type)&&(k=!0)}return k},T.isAspectChanged=function(D){var F=this,G=F.glplot.getAspectratio(),O=p.nestedProperty(D,F.id+".aspectratio"),H=O.get();return H===void 0||H.x!==G.x||H.y!==G.y||H.z!==G.z},T.saveLayout=function(D){var F=this,G=F.fullLayout,O,H,z,k,V,Z,ee=F.isCameraChanged(D),Q=F.isAspectChanged(D),ne=ee||Q;if(ne){var fe={};if(ee&&(O=F.getCamera(),H=p.nestedProperty(D,F.id+".camera"),z=H.get(),fe[F.id+".camera"]=z),Q&&(k=F.glplot.getAspectratio(),V=p.nestedProperty(D,F.id+".aspectratio"),Z=V.get(),fe[F.id+".aspectratio"]=Z),d.call("_storeDirectGUIEdit",D,G._preGUI,fe),ee){H.set(O);var $=p.nestedProperty(G,F.id+".camera");$.set(O)}if(Q){V.set(k);var Y=p.nestedProperty(G,F.id+".aspectratio");Y.set(k),F.glplot.redraw()}}return ne},T.updateFx=function(D,F){var G=this,O=G.camera;if(O)if(D==="orbit")O.mode="orbit",O.keyBindingMode="rotate";else if(D==="turntable"){O.up=[0,0,1],O.mode="turntable",O.keyBindingMode="rotate";var H=G.graphDiv,z=H._fullLayout,k=G.fullSceneLayout.camera,V=k.up.x,Z=k.up.y,ee=k.up.z;if(ee/Math.sqrt(V*V+Z*Z+ee*ee)<.999){var Q=G.id+".camera.up",ne={x:0,y:0,z:1},fe={};fe[Q]=ne;var $=H.layout;d.call("_storeDirectGUIEdit",$,z._preGUI,fe),k.up=ne,p.nestedProperty($,Q).set(ne)}}else O.keyBindingMode=D;G.fullSceneLayout.hovermode=F};function _(D,F,G){for(var O=0,H=G-1;O0)for(var V=255/k,Z=0;Z<3;++Z)D[z+Z]=Math.min(V*D[z+Z],255)}}T.toImage=function(D){var F=this;D||(D="png"),F.staticMode&&F.container.appendChild(x),F.glplot.redraw();var G=F.glplot.gl,O=G.drawingBufferWidth,H=G.drawingBufferHeight;G.bindFramebuffer(G.FRAMEBUFFER,null);var z=new Uint8Array(O*H*4);G.readPixels(0,0,O,H,G.RGBA,G.UNSIGNED_BYTE,z),_(z,O,H),A(z,O,H);var k=document.createElement("canvas");k.width=O,k.height=H;var V=k.getContext("2d",{willReadFrequently:!0}),Z=V.createImageData(O,H);Z.data.set(z),V.putImageData(Z,0,0);var ee;switch(D){case"jpeg":ee=k.toDataURL("image/jpeg");break;case"webp":ee=k.toDataURL("image/webp");break;default:ee=k.toDataURL("image/png")}return F.staticMode&&F.container.removeChild(x),ee},T.setConvert=function(){for(var D=this,F=0;F<3;F++){var G=D.fullSceneLayout[L[F]];r.setConvert(G,D.fullLayout),G.setScale=p.noop}},T.make4thDimension=function(){var D=this,F=D.graphDiv,G=F._fullLayout;D._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},r.setConvert(D._mockAxis,G)},U.exports=y},90060:function(U){U.exports=function(e,v,E,a){a=a||e.length;for(var C=new Array(a),w=0;wOpenStreetMap contributors',C=['© Carto',a].join(" "),w=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),d=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),p={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:C,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:C,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:w,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:w,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:d,tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},t=v(p);U.exports={requiredVersion:E,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:p,styleValuesNonMapbox:t,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@"+E+"."].join(` +`),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join(` +`),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",t.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join(` +`),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join(` +`),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":`content: ""; cursor: pointer; position: absolute; background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;`,"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":`display:block; width: 21px; height: 21px; background-image: url('data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E')`}}},13056:function(U,B,e){var v=e(71828);U.exports=function(a,C){var w=a.split(" "),d=w[0],p=w[1],t=v.isArrayOrTypedArray(C)?v.mean(C):C,r=.5+t/100,c=1.5+t/100,o=["",""],n=[0,0];switch(d){case"top":o[0]="top",n[1]=-c;break;case"bottom":o[0]="bottom",n[1]=c;break}switch(p){case"left":o[1]="right",n[0]=-r;break;case"right":o[1]="left",n[0]=r;break}var u;return o[0]&&o[1]?u=o.join("-"):o[0]?u=o[0]:o[1]?u=o[1]:u="center",{anchor:u,offset:n}}},50101:function(U,B,e){var v=e(44517),E=e(71828),a=E.strTranslate,C=E.strScale,w=e(27659).AU,d=e(77922),p=e(39898),t=e(91424),r=e(63893),c=e(10481),o="mapbox",n=B.constants=e(77734);B.name=o,B.attr="subplot",B.idRoot=o,B.idRegex=B.attrRegex=E.counterRegex(o),B.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},B.layoutAttributes=e(23585),B.supplyLayoutDefaults=e(77882),B.plot=function(h){var x=h._fullLayout,f=h.calcdata,l=x._subplots[o];if(v.version!==n.requiredVersion)throw new Error(n.wrongVersionErrorMsg);var y=u(h,l);v.accessToken=y;for(var T=0;TG/2){var O=_.split("|").join("
");D.text(O).attr("data-unformatted",O).call(r.convertToTspans,g),F=t.bBox(D.node())}D.attr("transform",a(-3,-F.height+8)),A.insert("rect",".static-attribution").attr({x:-F.width-6,y:-F.height-3,width:F.width+6,height:F.height+3,fill:"rgba(255, 255, 255, 0.75)"});var H=1;F.width+6>G&&(H=G/(F.width+6));var z=[f.l+f.w*T.x[1],f.t+f.h*(1-T.y[0])];A.attr("transform",a(z[0],z[1])+C(H))}};function u(g,h){var x=g._fullLayout,f=g._context;if(f.mapboxAccessToken==="")return"";for(var l=[],y=[],T=!1,S=!1,L=0;L1&&E.warn(n.multipleTokensErrorMsg),l[0]):(y.length&&E.log(["Listed mapbox access token(s)",y.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}function i(g){return typeof g=="string"&&(n.styleValuesMapbox.indexOf(g)!==-1||g.indexOf("mapbox://")===0)}B.updateFx=function(g){for(var h=g._fullLayout,x=h._subplots[o],f=0;f0){for(var n=0;n0}function t(c){var o={},n={};switch(c.type){case"circle":v.extendFlat(n,{"circle-radius":c.circle.radius,"circle-color":c.color,"circle-opacity":c.opacity});break;case"line":v.extendFlat(n,{"line-width":c.line.width,"line-color":c.color,"line-opacity":c.opacity,"line-dasharray":c.line.dash});break;case"fill":v.extendFlat(n,{"fill-color":c.color,"fill-outline-color":c.fill.outlinecolor,"fill-opacity":c.opacity});break;case"symbol":var u=c.symbol,i=a(u.textposition,u.iconsize);v.extendFlat(o,{"icon-image":u.icon+"-15","icon-size":u.iconsize/10,"text-field":u.text,"text-size":u.textfont.size,"text-anchor":i.anchor,"text-offset":i.offset,"symbol-placement":u.placement}),v.extendFlat(n,{"icon-color":c.color,"text-color":u.textfont.color,"text-opacity":c.opacity});break;case"raster":v.extendFlat(n,{"raster-fade-duration":0,"raster-opacity":c.opacity});break}return{layout:o,paint:n}}function r(c){var o=c.sourcetype,n=c.source,u={type:o},i;return o==="geojson"?i="data":o==="vector"?i=typeof n=="string"?"url":"tiles":o==="raster"?(i="tiles",u.tileSize=256):o==="image"&&(i="url",u.coordinates=c.coordinates),u[i]=n,c.sourceattribution&&(u.attribution=E(c.sourceattribution)),u}U.exports=function(o,n,u){var i=new w(o,n);return i.update(u),i}},23585:function(U,B,e){var v=e(71828),E=e(7901).defaultLine,a=e(27670).Y,C=e(41940),w=e(82196).textposition,d=e(30962).overrideAll,p=e(44467).templatedArray,t=e(77734),r=C({});r.family.dflt="Open Sans Regular, Arial Unicode MS Regular";var c=U.exports=d({_arrayAttrRegexps:[v.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:t.styleValuesMapbox.concat(t.styleValuesNonMapbox),dflt:t.styleValueDflt},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},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:p("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:E},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:E}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:r,textposition:v.extendFlat({},w,{arrayOk:!1})}})},"plot","from-root");c.uirevision={valType:"any",editType:"none"}},77882:function(U,B,e){var v=e(71828),E=e(49119),a=e(85501),C=e(23585);U.exports=function(t,r,c){E(t,r,c,{type:"mapbox",attributes:C,handleDefaults:w,partition:"y",accessToken:r._mapboxAccessToken})};function w(p,t,r,c){r("accesstoken",c.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var o=r("bounds.west"),n=r("bounds.east"),u=r("bounds.south"),i=r("bounds.north");(o===void 0||n===void 0||u===void 0||i===void 0)&&delete t.bounds,a(p,t,{name:"layers",handleItemDefaults:d}),t._input=p}function d(p,t){function r(g,h){return v.coerce(p,t,C.layers,g,h)}var c=r("visible");if(c){var o=r("sourcetype"),n=o==="raster"||o==="image";r("source"),r("sourceattribution"),o==="vector"&&r("sourcelayer"),o==="image"&&r("coordinates");var u;n&&(u="raster");var i=r("type",u);n&&i!=="raster"&&(i=t.type="raster",v.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),i==="circle"&&r("circle.radius"),i==="line"&&(r("line.width"),r("line.dash")),i==="fill"&&r("fill.outlinecolor"),i==="symbol"&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),v.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}},10481:function(U,B,e){var v=e(44517),E=e(71828),a=e(41327),C=e(73972),w=e(89298),d=e(28569),p=e(30211),t=e(64505),r=t.drawMode,c=t.selectMode,o=e(47322).prepSelect,n=e(47322).clearOutline,u=e(47322).clearSelectionsCache,i=e(47322).selectOnClick,g=e(77734),h=e(67911);function x(L,m){this.id=m,this.gd=L;var M=L._fullLayout,b=L._context;this.container=M._glcontainer.node(),this.isStatic=b.staticPlot,this.uid=M._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(M),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var f=x.prototype;f.plot=function(L,m,M){var b=this,s=m[b.id];b.map&&s.accesstoken!==b.accessToken&&(b.map.remove(),b.map=null,b.styleObj=null,b.traceHash={},b.layerList=[]);var _;b.map?_=new Promise(function(A,D){b.updateMap(L,m,A,D)}):_=new Promise(function(A,D){b.createMap(L,m,A,D)}),M.push(_)},f.createMap=function(L,m,M,b){var s=this,_=m[s.id],A=s.styleObj=y(_.style);s.accessToken=_.accesstoken;var D=_.bounds,F=D?[[D.west,D.south],[D.east,D.north]]:null,G=s.map=new v.Map({container:s.div,style:A.style,center:S(_.center),zoom:_.zoom,bearing:_.bearing,pitch:_.pitch,maxBounds:F,interactive:!s.isStatic,preserveDrawingBuffer:s.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new v.AttributionControl({compact:!0}));G._canvas.style.left="0px",G._canvas.style.top="0px",s.rejectOnError(b),s.isStatic||s.initFx(L,m);var O=[];O.push(new Promise(function(H){G.once("load",H)})),O=O.concat(a.fetchTraceGeoData(L)),Promise.all(O).then(function(){s.fillBelowLookup(L,m),s.updateData(L),s.updateLayout(m),s.resolveOnRender(M)}).catch(b)},f.updateMap=function(L,m,M,b){var s=this,_=s.map,A=m[this.id];s.rejectOnError(b);var D=[],F=y(A.style);JSON.stringify(s.styleObj)!==JSON.stringify(F)&&(s.styleObj=F,_.setStyle(F.style),s.traceHash={},D.push(new Promise(function(G){_.once("styledata",G)}))),D=D.concat(a.fetchTraceGeoData(L)),Promise.all(D).then(function(){s.fillBelowLookup(L,m),s.updateData(L),s.updateLayout(m),s.resolveOnRender(M)}).catch(b)},f.fillBelowLookup=function(L,m){var M=m[this.id],b=M.layers,s,_,A=this.belowLookup={},D=!1;for(s=0;s1)for(s=0;s-1&&i(F.originalEvent,b,[M.xaxis],[M.yaxis],M.id,D),G.indexOf("event")>-1&&p.click(b,F.originalEvent)}}},f.updateFx=function(L){var m=this,M=m.map,b=m.gd;if(m.isStatic)return;function s(F){var G=m.map.unproject(F);return[G.lng,G.lat]}var _=L.dragmode,A;A=function(F,G){if(G.isRect){var O=F.range={};O[m.id]=[s([G.xmin,G.ymin]),s([G.xmax,G.ymax])]}else{var H=F.lassoPoints={};H[m.id]=G.map(s)}};var D=m.dragOptions;m.dragOptions=E.extendDeep(D||{},{dragmode:L.dragmode,element:m.div,gd:b,plotinfo:{id:m.id,domain:L[m.id].domain,xaxis:m.xaxis,yaxis:m.yaxis,fillRangeItems:A},xaxes:[m.xaxis],yaxes:[m.yaxis],subplot:m.id}),M.off("click",m.onClickInPanHandler),c(_)||r(_)?(M.dragPan.disable(),M.on("zoomstart",m.clearOutline),m.dragOptions.prepFn=function(F,G,O){o(F,G,O,m.dragOptions,_)},d.init(m.dragOptions)):(M.dragPan.enable(),M.off("zoomstart",m.clearOutline),m.div.onmousedown=null,m.div.ontouchstart=null,m.div.removeEventListener("touchstart",m.div._ontouchstart),m.onClickInPanHandler=m.onClickInPanFn(m.dragOptions),M.on("click",m.onClickInPanHandler))},f.updateFramework=function(L){var m=L[this.id].domain,M=L._size,b=this.div.style;b.width=M.w*(m.x[1]-m.x[0])+"px",b.height=M.h*(m.y[1]-m.y[0])+"px",b.left=M.l+m.x[0]*M.w+"px",b.top=M.t+(1-m.y[1])*M.h+"px",this.xaxis._offset=M.l+m.x[0]*M.w,this.xaxis._length=M.w*(m.x[1]-m.x[0]),this.yaxis._offset=M.t+(1-m.y[1])*M.h,this.yaxis._length=M.h*(m.y[1]-m.y[0])},f.updateLayers=function(L){var m=L[this.id],M=m.layers,b=this.layerList,s;if(M.length!==b.length){for(s=0;s=X.width-20?(q["text-anchor"]="start",q.x=5):(q["text-anchor"]="end",q.x=X._paper.attr("width")-7),re.attr(q);var te=re.select(".js-link-to-tool"),ue=re.select(".js-link-spacer"),ae=re.select(".js-sourcelinks");j._context.showSources&&j._context.showSources(j),j._context.showLink&&S(j,te),ue.text(te.text()&&ae.text()?" - ":"")}};function S(j,X){X.text("");var re=X.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(j._context.linkText+" "+String.fromCharCode(187));if(j._context.sendData)re.on("click",function(){l.sendDataToCloud(j)});else{var le=window.location.pathname.split("/"),q=window.location.search;re.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+le[2].split(".")[0]+"/"+le[1]+q})}}l.sendDataToCloud=function(j){var X=(window.PLOTLYENV||{}).BASE_URL||j._context.plotlyServerURL;if(X){j.emit("plotly_beforeexport");var re=v.select(j).append("div").attr("id","hiddenform").style("display","none"),le=re.append("form").attr({action:X+"/external",method:"post",target:"_blank"}),q=le.append("input").attr({type:"text",name:"data"});return q.node().value=l.graphJson(j,!1,"keepdata"),le.node().submit(),re.remove(),j.emit("plotly_afterexport"),!1}};var L=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],m=["year","month","dayMonth","dayMonthYear"];l.supplyDefaults=function(j,X){var re=X&&X.skipUpdateCalc,le=j._fullLayout||{};if(le._skipDefaults){delete le._skipDefaults;return}var q=j._fullLayout={},te=j.layout||{},ue=j._fullData||[],ae=j._fullData=[],de=j.data||[],xe=j.calcdata||[],Se=j._context||{},Ae;j._transitionData||l.createTransitionData(j),q._dfltTitle={plot:f(j,"Click to enter Plot title"),x:f(j,"Click to enter X axis title"),y:f(j,"Click to enter Y axis title"),colorbar:f(j,"Click to enter Colorscale title"),annotation:f(j,"new text")},q._traceWord=f(j,"trace");var Be=s(j,L);if(q._mapboxAccessToken=Se.mapboxAccessToken,le._initialAutoSizeIsDone){var Oe=le.width,Ee=le.height;l.supplyLayoutGlobalDefaults(te,q,Be),te.width||(q.width=Oe),te.height||(q.height=Ee),l.sanitizeMargins(q)}else{l.supplyLayoutGlobalDefaults(te,q,Be);var we=!te.width||!te.height,Ce=q.autosize,Ge=Se.autosizable,He=we&&(Ce||Ge);He?l.plotAutoSize(j,te,q):we&&l.sanitizeMargins(q),!Ce&&we&&(te.width=q.width,te.height=q.height)}q._d3locale=_(Be,q.separators),q._extraFormat=s(j,m),q._initialAutoSizeIsDone=!0,q._dataLength=de.length,q._modules=[],q._visibleModules=[],q._basePlotModules=[];var De=q._subplots=b(),Fe=q._splomAxes={x:{},y:{}},qe=q._splomSubplots={};q._splomGridDflt={},q._scatterStackOpts={},q._firstScatter={},q._alignmentOpts={},q._colorAxes={},q._requestRangeslider={},q._traceUids=M(ue,de),q._globalTransforms=(j._context||{}).globalTransforms,l.supplyDataDefaults(de,ae,te,q);var Qe=Object.keys(Fe.x),Je=Object.keys(Fe.y);if(Qe.length>1&&Je.length>1){for(w.getComponentMethod("grid","sizeDefaults")(te,q),Ae=0;Ae15&&Je.length>15&&q.shapes.length===0&&q.images.length===0,l.linkSubplots(ae,q,ue,le),l.cleanPlot(ae,q,ue,le);var Et=!!(le._has&&le._has("gl2d")),Xe=!!(q._has&&q._has("gl2d")),Ue=!!(le._has&&le._has("cartesian")),ze=!!(q._has&&q._has("cartesian")),rt=Ue||Et,it=ze||Xe;rt&&!it?le._bgLayer.remove():it&&!rt&&(q._shouldCreateBgLayer=!0),le._zoomlayer&&!j._dragging&&n({_fullLayout:le}),A(ae,q),x(q,le),w.getComponentMethod("colorscale","crossTraceDefaults")(ae,q),q._preGUI||(q._preGUI={}),q._tracePreGUI||(q._tracePreGUI={});var Ze=q._tracePreGUI,Ie={},Te;for(Te in Ze)Ie[Te]="old";for(Ae=0;Ae0){var Se=1-2*te;ue=Math.round(Se*ue),ae=Math.round(Se*ae)}}var Ae=l.layoutAttributes.width.min,Be=l.layoutAttributes.height.min;ue1,Ee=!re.height&&Math.abs(le.height-ae)>1;(Ee||Oe)&&(Oe&&(le.width=ue),Ee&&(le.height=ae)),X._initialAutoSize||(X._initialAutoSize={width:ue,height:ae}),l.sanitizeMargins(le)},l.supplyLayoutModuleDefaults=function(j,X,re,le){var q=w.componentsRegistry,te=X._basePlotModules,ue,ae,de,xe=w.subplotsRegistry.cartesian;for(ue in q)de=q[ue],de.includeBasePlot&&de.includeBasePlot(j,X);te.length||te.push(xe),X._has("cartesian")&&(w.getComponentMethod("grid","contentDefaults")(j,X),xe.finalizeSubplots(j,X));for(var Se in X._subplots)X._subplots[Se].sort(t.subplotSort);for(ae=0;ae1&&(re.l/=Ce,re.r/=Ce)}if(Be){var Ge=(re.t+re.b)/Be;Ge>1&&(re.t/=Ge,re.b/=Ge)}var He=re.xl!==void 0?re.xl:re.x,De=re.xr!==void 0?re.xr:re.x,Fe=re.yt!==void 0?re.yt:re.y,qe=re.yb!==void 0?re.yb:re.y;Oe[X]={l:{val:He,size:re.l+we},r:{val:De,size:re.r+we},b:{val:qe,size:re.b+we},t:{val:Fe,size:re.t+we}},Ee[X]=1}if(!le._replotting)return l.doAutoMargin(j)}};function V(j){if("_redrawFromAutoMarginCount"in j._fullLayout)return!1;var X=o.list(j,"",!0);for(var re in X)if(X[re].autoshift||X[re].shift)return!0;return!1}l.doAutoMargin=function(j){var X=j._fullLayout,re=X.width,le=X.height;X._size||(X._size={}),H(X);var q=X._size,te=X.margin,ue={t:0,b:0,l:0,r:0},ae=t.extendFlat({},q),de=j._fullLayout._reservedMargin;for(var xe in de)for(var Se in de[xe]){var Ae=de[xe][Se];ue[Se]=Math.max(ue[Se],Ae)}var Be=te.l,Oe=te.r,Ee=te.t,we=te.b,Ce=X._pushmargin,Ge=X._pushmarginIds,He=X.minreducedwidth,De=X.minreducedheight;if(X.margin.autoexpand!==!1){for(var Fe in Ce)Ge[Fe]||delete Ce[Fe];Ce.base={l:{val:0,size:Be},r:{val:1,size:Oe},t:{val:1,size:Ee},b:{val:0,size:we}};for(var qe in Ce){var Qe=Ce[qe].l||{},Je=Ce[qe].b||{},tt=Qe.val,ht=Qe.size,gt=Je.val,yt=Je.size,Et=re-ue.r-ue.l,Xe=le-ue.t-ue.b;for(var Ue in Ce){if(C(ht)&&Ce[Ue].r){var ze=Ce[Ue].r.val,rt=Ce[Ue].r.size;if(ze>tt){var it=(ht*ze+(rt-Et)*tt)/(ze-tt),Ze=(rt*(1-tt)+(ht-Et)*(1-ze))/(ze-tt);it+Ze>Be+Oe&&(Be=it,Oe=Ze)}}if(C(yt)&&Ce[Ue].t){var Ie=Ce[Ue].t.val,Te=Ce[Ue].t.size;if(Ie>gt){var he=(yt*Ie+(Te-Xe)*gt)/(Ie-gt),me=(Te*(1-gt)+(yt-Xe)*(1-Ie))/(Ie-gt);he+me>we+Ee&&(we=he,Ee=me)}}}}}var Re=t.constrain(re-te.l-te.r,z,He),Ne=t.constrain(le-te.t-te.b,k,De),st=Math.max(0,re-Re),ft=Math.max(0,le-Ne);if(st){var At=(Be+Oe)/st;At>1&&(Be/=At,Oe/=At)}if(ft){var Ft=(we+Ee)/ft;Ft>1&&(we/=Ft,Ee/=Ft)}if(q.l=Math.round(Be)+ue.l,q.r=Math.round(Oe)+ue.r,q.t=Math.round(Ee)+ue.t,q.b=Math.round(we)+ue.b,q.p=Math.round(te.pad),q.w=Math.round(re)-q.l-q.r,q.h=Math.round(le)-q.t-q.b,!X._replotting&&(l.didMarginChange(ae,q)||V(j))){"_redrawFromAutoMarginCount"in X?X._redrawFromAutoMarginCount++:X._redrawFromAutoMarginCount=1;var Ht=3*(1+Object.keys(Ge).length);if(X._redrawFromAutoMarginCount1)return!0}return!1},l.graphJson=function(j,X,re,le,q,te){(q&&X&&!j._fullData||q&&!X&&!j._fullLayout)&&l.supplyDefaults(j);var ue=q?j._fullData:j.data,ae=q?j._fullLayout:j.layout,de=(j._transitionData||{})._frames;function xe(Be,Oe){if(typeof Be=="function")return Oe?"_function_":null;if(t.isPlainObject(Be)){var Ee={},we;return Object.keys(Be).sort().forEach(function(Ce){if(["_","["].indexOf(Ce.charAt(0))===-1){if(typeof Be[Ce]=="function"){Oe&&(Ee[Ce]="_function");return}if(re==="keepdata"){if(Ce.substr(Ce.length-3)==="src")return}else if(re==="keepstream"){if(we=Be[Ce+"src"],typeof we=="string"&&we.indexOf(":")>0&&!t.isPlainObject(Be.stream))return}else if(re!=="keepall"&&(we=Be[Ce+"src"],typeof we=="string"&&we.indexOf(":")>0))return;Ee[Ce]=xe(Be[Ce],Oe)}}),Ee}return Array.isArray(Be)?Be.map(function(Ce){return xe(Ce,Oe)}):t.isTypedArray(Be)?t.simpleMap(Be,t.identity):t.isJSDate(Be)?t.ms2DateTimeLocal(+Be):Be}var Se={data:(ue||[]).map(function(Be){var Oe=xe(Be);return X&&delete Oe.fit,Oe})};if(!X&&(Se.layout=xe(ae),q)){var Ae=ae._size;Se.layout.computed={margin:{b:Ae.b,l:Ae.l,r:Ae.r,t:Ae.t}}}return de&&(Se.frames=xe(de)),te&&(Se.config=xe(j._context,!0)),le==="object"?Se:JSON.stringify(Se)},l.modifyFrames=function(j,X){var re,le,q,te=j._transitionData._frames,ue=j._transitionData._frameHash;for(re=0;re0&&(j._transitioningWithDuration=!0),j._transitionData._interruptCallbacks.push(function(){le=!0}),re.redraw&&j._transitionData._interruptCallbacks.push(function(){return w.call("redraw",j)}),j._transitionData._interruptCallbacks.push(function(){j.emit("plotly_transitioninterrupted",[])});var Be=0,Oe=0;function Ee(){return Be++,function(){Oe++,!le&&Oe===Be&&ae(Ae)}}re.runFn(Ee),setTimeout(Ee())})}function ae(Ae){if(j._transitionData)return te(j._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(re.redraw)return w.call("redraw",j)}).then(function(){j._transitioning=!1,j._transitioningWithDuration=!1,j.emit("plotly_transitioned",[])}).then(Ae)}function de(){if(j._transitionData)return j._transitioning=!1,q(j._transitionData._interruptCallbacks)}var xe=[l.previousPromises,de,re.prepareFn,l.rehover,l.reselect,ue],Se=t.syncOrAsync(xe,j);return(!Se||!Se.then)&&(Se=Promise.resolve()),Se.then(function(){return j})}l.doCalcdata=function(j,X){var re=o.list(j),le=j._fullData,q=j._fullLayout,te,ue,ae,de,xe=new Array(le.length),Se=(j.calcdata||[]).slice();for(j.calcdata=xe,q._numBoxes=0,q._numViolins=0,q._violinScaleGroupStats={},j._hmpixcount=0,j._hmlumcount=0,q._piecolormap={},q._sunburstcolormap={},q._treemapcolormap={},q._iciclecolormap={},q._funnelareacolormap={},ae=0;ae=0;de--)if(qe[de].enabled){te._indexToPoints=qe[de]._indexToPoints;break}ue&&ue.calc&&(Fe=ue.calc(j,te))}(!Array.isArray(Fe)||!Fe[0])&&(Fe=[{x:c,y:c}]),Fe[0].t||(Fe[0].t={}),Fe[0].trace=te,xe[He]=Fe}}for($(re,le,q),ae=0;ae0?M:1/0},S=a(y,T),L=v.mod(S+1,y.length);return[y[S],y[L]]}function g(l){return Math.abs(l)>1e-10?l:0}function h(l,y,T){y=y||0,T=T||0;for(var S=l.length,L=new Array(S),m=0;mOe?(Ee=ue,we=ue*Oe,He=(ae-we)/X.h/2,Ce=[q[0],q[1]],Ge=[te[0]+He,te[1]-He]):(Ee=ae/Oe,we=ae,He=(ue-Ee)/X.w/2,Ce=[q[0]+He,q[1]-He],Ge=[te[0],te[1]]),Y.xLength2=Ee,Y.yLength2=we,Y.xDomain2=Ce,Y.yDomain2=Ge;var De=Y.xOffset2=X.l+X.w*Ce[0],Fe=Y.yOffset2=X.t+X.h*(1-Ge[1]),qe=Y.radius=Ee/Se,Qe=Y.innerRadius=Y.getHole($)*qe,Je=Y.cx=De-qe*xe[0],tt=Y.cy=Fe+qe*xe[3],ht=Y.cxx=Je-De,gt=Y.cyy=tt-Fe,yt=re.side,Et;yt==="counterclockwise"?(Et=yt,yt="top"):yt==="clockwise"&&(Et=yt,yt="bottom"),Y.radialAxis=Y.mockAxis(fe,$,re,{_id:"x",side:yt,_trueSide:Et,domain:[Qe/X.w,qe/X.w]}),Y.angularAxis=Y.mockAxis(fe,$,le,{side:"right",domain:[0,Math.PI],autorange:!1}),Y.doAutoRange(fe,$),Y.updateAngularAxis(fe,$),Y.updateRadialAxis(fe,$),Y.updateRadialAxisTitle(fe,$),Y.xaxis=Y.mockCartesianAxis(fe,$,{_id:"x",domain:Ce}),Y.yaxis=Y.mockCartesianAxis(fe,$,{_id:"y",domain:Ge});var Xe=Y.pathSubplot();Y.clipPaths.forTraces.select("path").attr("d",Xe).attr("transform",d(ht,gt)),j.frontplot.attr("transform",d(De,Fe)).call(t.setClipUrl,Y._hasClipOnAxisFalse?null:Y.clipIds.forTraces,Y.gd),j.bg.attr("d",Xe).attr("transform",d(Je,tt)).call(p.fill,$.bgcolor)},V.mockAxis=function(fe,$,Y,j){var X=C.extendFlat({},Y,j);return n(X,$,fe),X},V.mockCartesianAxis=function(fe,$,Y){var j=this,X=j.isSmith,re=Y._id,le=C.extendFlat({type:"linear"},Y);o(le,fe);var q={x:[0,2],y:[1,3]};return le.setRange=function(){var te=j.sectorBBox,ue=q[re],ae=j.radialAxis._rl,de=(ae[1]-ae[0])/(1-j.getHole($));le.range=[te[ue[0]]*de,te[ue[1]]*de]},le.isPtWithinRange=re==="x"&&!X?function(te){return j.isPtInside(te)}:function(){return!0},le.setRange(),le.setScale(),le},V.doAutoRange=function(fe,$){var Y=this,j=Y.gd,X=Y.radialAxis,re=Y.getRadial($);u(j,X);var le=X.range;re.range=le.slice(),re._input.range=le.slice(),X._rl=[X.r2l(le[0],null,"gregorian"),X.r2l(le[1],null,"gregorian")]},V.updateRadialAxis=function(fe,$){var Y=this,j=Y.gd,X=Y.layers,re=Y.radius,le=Y.innerRadius,q=Y.cx,te=Y.cy,ue=Y.getRadial($),ae=O(Y.getSector($)[0],360),de=Y.radialAxis,xe=le90&&ae<=270&&(de.tickangle=180);var Ae=Se?function(qe){var Qe=F(Y,_([qe.x,0]));return d(Qe[0]-q,Qe[1]-te)}:function(qe){return d(de.l2p(qe.x)+le,0)},Be=Se?function(qe){return D(Y,qe.x,-1/0,1/0)}:function(qe){return Y.pathArc(de.r2p(qe.x)+le)},Oe=Z(ue);if(Y.radialTickLayout!==Oe&&(X["radial-axis"].selectAll(".xtick").remove(),Y.radialTickLayout=Oe),xe){de.setScale();var Ee=0,we=Se?(de.tickvals||[]).filter(function(qe){return qe>=0}).map(function(qe){return c.tickText(de,qe,!0,!1)}):c.calcTicks(de),Ce=Se?we:c.clipEnds(de,we),Ge=c.getTickSigns(de)[2];Se&&((de.ticks==="top"&&de.side==="bottom"||de.ticks==="bottom"&&de.side==="top")&&(Ge=-Ge),de.ticks==="top"&&de.side==="top"&&(Ee=-de.ticklen),de.ticks==="bottom"&&de.side==="bottom"&&(Ee=de.ticklen)),c.drawTicks(j,de,{vals:we,layer:X["radial-axis"],path:c.makeTickPath(de,0,Ge),transFn:Ae,crisp:!1}),c.drawGrid(j,de,{vals:Ce,layer:X["radial-grid"],path:Be,transFn:C.noop,crisp:!1}),c.drawLabels(j,de,{vals:we,layer:X["radial-axis"],transFn:Ae,labelFns:c.makeLabelFns(de,Ee)})}var He=Y.radialAxisAngle=Y.vangles?z(Q(H(ue.angle),Y.vangles)):ue.angle,De=d(q,te),Fe=De+w(-He);ne(X["radial-axis"],xe&&(ue.showticklabels||ue.ticks),{transform:Fe}),ne(X["radial-grid"],xe&&ue.showgrid,{transform:Se?"":De}),ne(X["radial-line"].select("line"),xe&&ue.showline,{x1:Se?-re:le,y1:0,x2:re,y2:0,transform:Fe}).attr("stroke-width",ue.linewidth).call(p.stroke,ue.linecolor)},V.updateRadialAxisTitle=function(fe,$,Y){if(!this.isSmith){var j=this,X=j.gd,re=j.radius,le=j.cx,q=j.cy,te=j.getRadial($),ue=j.id+"title",ae=0;if(te.title){var de=t.bBox(j.layers["radial-axis"].node()).height,xe=te.title.font.size,Se=te.side;ae=Se==="top"?xe:Se==="counterclockwise"?-(de+xe*.4):de+xe*.8}var Ae=Y!==void 0?Y:j.radialAxisAngle,Be=H(Ae),Oe=Math.cos(Be),Ee=Math.sin(Be),we=le+re/2*Oe+ae*Ee,Ce=q-re/2*Ee+ae*Oe;j.layers["radial-axis-title"]=x.draw(X,ue,{propContainer:te,propName:j.id+".radialaxis.title",placeholder:G(X,"Click to enter radial axis title"),attributes:{x:we,y:Ce,"text-anchor":"middle"},transform:{rotate:-Ae}})}},V.updateAngularAxis=function(fe,$){var Y=this,j=Y.gd,X=Y.layers,re=Y.radius,le=Y.innerRadius,q=Y.cx,te=Y.cy,ue=Y.getAngular($),ae=Y.angularAxis,de=Y.isSmith;de||(Y.fillViewInitialKey("angularaxis.rotation",ue.rotation),ae.setGeometry(),ae.setScale());var xe=de?function(Qe){var Je=F(Y,_([0,Qe.x]));return Math.atan2(Je[0]-q,Je[1]-te)-Math.PI/2}:function(Qe){return ae.t2g(Qe.x)};ae.type==="linear"&&ae.thetaunit==="radians"&&(ae.tick0=z(ae.tick0),ae.dtick=z(ae.dtick));var Se=function(Qe){return d(q+re*Math.cos(Qe),te-re*Math.sin(Qe))},Ae=de?function(Qe){var Je=F(Y,_([0,Qe.x]));return d(Je[0],Je[1])}:function(Qe){return Se(xe(Qe))},Be=de?function(Qe){var Je=F(Y,_([0,Qe.x])),tt=Math.atan2(Je[0]-q,Je[1]-te)-Math.PI/2;return d(Je[0],Je[1])+w(-z(tt))}:function(Qe){var Je=xe(Qe);return Se(Je)+w(-z(Je))},Oe=de?function(Qe){return A(Y,Qe.x,0,1/0)}:function(Qe){var Je=xe(Qe),tt=Math.cos(Je),ht=Math.sin(Je);return"M"+[q+le*tt,te-le*ht]+"L"+[q+re*tt,te-re*ht]},Ee=c.makeLabelFns(ae,0),we=Ee.labelStandoff,Ce={};Ce.xFn=function(Qe){var Je=xe(Qe);return Math.cos(Je)*we},Ce.yFn=function(Qe){var Je=xe(Qe),tt=Math.sin(Je)>0?.2:1;return-Math.sin(Je)*(we+Qe.fontSize*tt)+Math.abs(Math.cos(Je))*(Qe.fontSize*m)},Ce.anchorFn=function(Qe){var Je=xe(Qe),tt=Math.cos(Je);return Math.abs(tt)<.1?"middle":tt>0?"start":"end"},Ce.heightFn=function(Qe,Je,tt){var ht=xe(Qe);return-.5*(1+Math.sin(ht))*tt};var Ge=Z(ue);Y.angularTickLayout!==Ge&&(X["angular-axis"].selectAll("."+ae._id+"tick").remove(),Y.angularTickLayout=Ge);var He=de?[1/0].concat(ae.tickvals||[]).map(function(Qe){return c.tickText(ae,Qe,!0,!1)}):c.calcTicks(ae);de&&(He[0].text="∞",He[0].fontSize*=1.75);var De;if($.gridshape==="linear"?(De=He.map(xe),C.angleDelta(De[0],De[1])<0&&(De=De.slice().reverse())):De=null,Y.vangles=De,ae.type==="category"&&(He=He.filter(function(Qe){return C.isAngleInsideSector(xe(Qe),Y.sectorInRad)})),ae.visible){var Fe=ae.ticks==="inside"?-1:1,qe=(ae.linewidth||1)/2;c.drawTicks(j,ae,{vals:He,layer:X["angular-axis"],path:"M"+Fe*qe+",0h"+Fe*ae.ticklen,transFn:Be,crisp:!1}),c.drawGrid(j,ae,{vals:He,layer:X["angular-grid"],path:Oe,transFn:C.noop,crisp:!1}),c.drawLabels(j,ae,{vals:He,layer:X["angular-axis"],repositionOnUpdate:!0,transFn:Ae,labelFns:Ce})}ne(X["angular-line"].select("path"),ue.showline,{d:Y.pathSubplot(),transform:d(q,te)}).attr("stroke-width",ue.linewidth).call(p.stroke,ue.linecolor)},V.updateFx=function(fe,$){if(!this.gd._context.staticPlot){var Y=!this.isSmith;Y&&(this.updateAngularDrag(fe),this.updateRadialDrag(fe,$,0),this.updateRadialDrag(fe,$,1)),this.updateHoverAndMainDrag(fe)}},V.updateHoverAndMainDrag=function(fe){var $=this,Y=$.isSmith,j=$.gd,X=$.layers,re=fe._zoomlayer,le=M.MINZOOM,q=M.OFFEDGE,te=$.radius,ue=$.innerRadius,ae=$.cx,de=$.cy,xe=$.cxx,Se=$.cyy,Ae=$.sectorInRad,Be=$.vangles,Oe=$.radialAxis,Ee=b.clampTiny,we=b.findXYatLength,Ce=b.findEnclosingVertexAngles,Ge=M.cornerHalfWidth,He=M.cornerLen/2,De,Fe,qe=i.makeDragger(X,"path","maindrag",fe.dragmode===!1?"none":"crosshair");v.select(qe).attr("d",$.pathSubplot()).attr("transform",d(ae,de)),qe.onmousemove=function(Rt){h.hover(j,Rt,$.id),j._fullLayout._lasthover=qe,j._fullLayout._hoversubplot=$.id},qe.onmouseout=function(Rt){j._dragging||g.unhover(j,Rt)};var Qe={element:qe,gd:j,subplot:$.id,plotinfo:{id:$.id,xaxis:$.xaxis,yaxis:$.yaxis},xaxes:[$.xaxis],yaxes:[$.yaxis]},Je,tt,ht,gt,yt,Et,Xe,Ue,ze;function rt(Rt,qt){return Math.sqrt(Rt*Rt+qt*qt)}function it(Rt,qt){return rt(Rt-xe,qt-Se)}function Ze(Rt,qt){return Math.atan2(Se-qt,Rt-xe)}function Ie(Rt,qt){return[Rt*Math.cos(qt),Rt*Math.sin(-qt)]}function Te(Rt,qt){if(Rt===0)return $.pathSector(2*Ge);var sr=He/Rt,kr=qt-sr,xt=qt+sr,Xt=Math.max(0,Math.min(Rt,te)),jt=Xt-Ge,wr=Xt+Ge;return"M"+Ie(jt,kr)+"A"+[jt,jt]+" 0,0,0 "+Ie(jt,xt)+"L"+Ie(wr,xt)+"A"+[wr,wr]+" 0,0,1 "+Ie(wr,kr)+"Z"}function he(Rt,qt,sr){if(Rt===0)return $.pathSector(2*Ge);var kr=Ie(Rt,qt),xt=Ie(Rt,sr),Xt=Ee((kr[0]+xt[0])/2),jt=Ee((kr[1]+xt[1])/2),wr,hr;if(Xt&&jt){var ct=jt/Xt,ut=-1/ct,wt=we(Ge,ct,Xt,jt);wr=we(He,ut,wt[0][0],wt[0][1]),hr=we(He,ut,wt[1][0],wt[1][1])}else{var Mt,Lt;jt?(Mt=He,Lt=Ge):(Mt=Ge,Lt=He),wr=[[Xt-Mt,jt-Lt],[Xt+Mt,jt-Lt]],hr=[[Xt-Mt,jt+Lt],[Xt+Mt,jt+Lt]]}return"M"+wr.join("L")+"L"+hr.reverse().join("L")+"Z"}function me(){ht=null,gt=null,yt=$.pathSubplot(),Et=!1;var Rt=j._fullLayout[$.id];Xe=E(Rt.bgcolor).getLuminance(),Ue=i.makeZoombox(re,Xe,ae,de,yt),Ue.attr("fill-rule","evenodd"),ze=i.makeCorners(re,ae,de),y(j)}function Re(Rt,qt){return qt=Math.max(Math.min(qt,te),ue),Rtle?(Rt-1&&Rt===1&&l(qt,j,[$.xaxis],[$.yaxis],$.id,Qe),sr.indexOf("event")>-1&&h.click(j,qt,$.id)}Qe.prepFn=function(Rt,qt,sr){var kr=j._fullLayout.dragmode,xt=qe.getBoundingClientRect();j._fullLayout._calcInverseTransform(j);var Xt=j._fullLayout._invTransform;De=j._fullLayout._invScaleX,Fe=j._fullLayout._invScaleY;var jt=C.apply3DTransform(Xt)(qt-xt.left,sr-xt.top);if(Je=jt[0],tt=jt[1],Be){var wr=b.findPolygonOffset(te,Ae[0],Ae[1],Be);Je+=xe+wr[0],tt+=Se+wr[1]}switch(kr){case"zoom":Qe.clickFn=Gt,Y||(Be?Qe.moveFn=At:Qe.moveFn=st,Qe.doneFn=Ft,me());break;case"select":case"lasso":f(Rt,qt,sr,Qe,kr);break}},g.init(Qe)},V.updateRadialDrag=function(fe,$,Y){var j=this,X=j.gd,re=j.layers,le=j.radius,q=j.innerRadius,te=j.cx,ue=j.cy,ae=j.radialAxis,de=M.radialDragBoxSize,xe=de/2;if(!ae.visible)return;var Se=H(j.radialAxisAngle),Ae=ae._rl,Be=Ae[0],Oe=Ae[1],Ee=Ae[Y],we=.75*(Ae[1]-Ae[0])/(1-j.getHole($))/le,Ce,Ge,He;Y?(Ce=te+(le+xe)*Math.cos(Se),Ge=ue-(le+xe)*Math.sin(Se),He="radialdrag"):(Ce=te+(q-xe)*Math.cos(Se),Ge=ue-(q-xe)*Math.sin(Se),He="radialdrag-inner");var De=i.makeRectDragger(re,He,"crosshair",-xe,-xe,de,de),Fe={element:De,gd:X};fe.dragmode===!1&&(Fe.dragmode=!1),ne(v.select(De),ae.visible&&q0!=(Y?Je>Be:Je=90||X>90&&re>=450?Se=1:q<=0&&ue<=0?Se=0:Se=Math.max(q,ue),X<=180&&re>=180||X>180&&re>=540?ae=-1:le>=0&&te>=0?ae=0:ae=Math.min(le,te),X<=270&&re>=270||X>270&&re>=630?de=-1:q>=0&&ue>=0?de=0:de=Math.min(q,ue),re>=360?xe=1:le<=0&&te<=0?xe=0:xe=Math.max(le,te),[ae,de,xe,Se]}function Q(fe,$){var Y=function(X){return C.angleDist(fe,X)},j=C.findIndexOfMin($,Y);return $[j]}function ne(fe,$,Y){return $?(fe.attr("display",null),fe.attr(Y)):fe&&fe.attr("display","none"),fe}},12101:function(U,B,e){var v=e(71828),E=e(21994),a=v.deg2rad,C=v.rad2deg;U.exports=function(c,o,n){switch(E(c,n),c._id){case"x":case"radialaxis":w(c,o);break;case"angularaxis":t(c,o);break}};function w(r,c){var o=c._subplot;r.setGeometry=function(){var n=r._rl[0],u=r._rl[1],i=o.innerRadius,g=(o.radius-i)/(u-n),h=i/g,x=n>u?function(f){return f<=0}:function(f){return f>=0};r.c2g=function(f){var l=r.c2l(f)-n;return(x(l)?l:0)+h},r.g2c=function(f){return r.l2c(f+n-h)},r.g2p=function(f){return f*g},r.c2p=function(f){return r.g2p(r.c2g(f))}}}function d(r,c){return c==="degrees"?a(r):r}function p(r,c){return c==="degrees"?C(r):r}function t(r,c){var o=r.type;if(o==="linear"){var n=r.d2c,u=r.c2d;r.d2c=function(i,g){return d(n(i),g)},r.c2d=function(i,g){return u(p(i,g))}}r.makeCalcdata=function(i,g){var h=i[g],x=i._length,f,l,y=function(M){return r.d2c(M,i.thetaunit)};if(h){if(v.isTypedArray(h)&&o==="linear"){if(x===h.length)return h;if(h.subarray)return h.subarray(0,x)}for(f=new Array(x),l=0;l0?1:0}function e(w){var d=w[0],p=w[1];if(!isFinite(d)||!isFinite(p))return[1,0];var t=(d+1)*(d+1)+p*p;return[(d*d+p*p-1)/t,2*p/t]}function v(w,d){var p=d[0],t=d[1];return[p*w.radius+w.cx,-t*w.radius+w.cy]}function E(w,d){return d*w.radius}function a(w,d,p,t){var r=v(w,e([p,d])),c=r[0],o=r[1],n=v(w,e([t,d])),u=n[0],i=n[1];if(d===0)return["M"+c+","+o,"L"+u+","+i].join(" ");var g=E(w,1/Math.abs(d));return["M"+c+","+o,"A"+g+","+g+" 0 0,"+(d<0?1:0)+" "+u+","+i].join(" ")}function C(w,d,p,t){var r=E(w,1/(d+1)),c=v(w,e([d,p])),o=c[0],n=c[1],u=v(w,e([d,t])),i=u[0],g=u[1];if(B(p)!==B(t)){var h=v(w,e([d,0])),x=h[0],f=h[1];return["M"+o+","+n,"A"+r+","+r+" 0 0,"+(00){for(var d=[],p=0;p=l&&(m.min=0,M.min=0,b.min=0,i.aaxis&&delete i.aaxis.min,i.baxis&&delete i.baxis.min,i.caxis&&delete i.caxis.min)}function u(i,g,h,x){var f=c[g._name];function l(s,_){return a.coerce(i,g,f,s,_)}l("uirevision",x.uirevision),g.type="linear";var y=l("color"),T=y!==f.color.dflt?y:h.font.color,S=g._name,L=S.charAt(0).toUpperCase(),m="Component "+L,M=l("title.text",m);g._hovertitle=M===m?M:L,a.coerceFont(l,"title.font",{family:h.font.family,size:a.bigFont(h.font.size),color:T}),l("min"),t(i,g,l,"linear"),d(i,g,l,"linear"),w(i,g,l,"linear"),p(i,g,l,{outerTicks:!0});var b=l("showticklabels");b&&(a.coerceFont(l,"tickfont",{family:h.font.family,size:h.font.size,color:T}),l("tickangle"),l("tickformat")),r(i,g,l,{dfltColor:y,bgColor:h.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:f}),l("hoverformat"),l("layer")}},64380:function(U,B,e){var v=e(39898),E=e(84267),a=e(73972),C=e(71828),w=C.strTranslate,d=C._,p=e(7901),t=e(91424),r=e(21994),c=e(1426).extendFlat,o=e(74875),n=e(89298),u=e(28569),i=e(30211),g=e(64505),h=g.freeMode,x=g.rectMode,f=e(92998),l=e(47322).prepSelect,y=e(47322).selectOnClick,T=e(47322).clearOutline,S=e(47322).clearSelectionsCache,L=e(85555);function m(z,k){this.id=z.id,this.graphDiv=z.graphDiv,this.init(k),this.makeFramework(k),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}U.exports=m;var M=m.prototype;M.init=function(z){this.container=z._ternarylayer,this.defs=z._defs,this.layoutId=z._uid,this.traceHash={},this.layers={}},M.plot=function(z,k){var V=this,Z=k[V.id],ee=k._size;V._hasClipOnAxisFalse=!1;for(var Q=0;Qb*Y?(ae=Y,ue=ae*b):(ue=$,ae=ue/b),de=ne*ue/$,xe=fe*ae/Y,q=k.l+k.w*ee-ue/2,te=k.t+k.h*(1-Q)-ae/2,V.x0=q,V.y0=te,V.w=ue,V.h=ae,V.sum=j,V.xaxis={type:"linear",range:[X+2*le-j,j-X-2*re],domain:[ee-de/2,ee+de/2],_id:"x"},r(V.xaxis,V.graphDiv._fullLayout),V.xaxis.setScale(),V.xaxis.isPtWithinRange=function(Fe){return Fe.a>=V.aaxis.range[0]&&Fe.a<=V.aaxis.range[1]&&Fe.b>=V.baxis.range[1]&&Fe.b<=V.baxis.range[0]&&Fe.c>=V.caxis.range[1]&&Fe.c<=V.caxis.range[0]},V.yaxis={type:"linear",range:[X,j-re-le],domain:[Q-xe/2,Q+xe/2],_id:"y"},r(V.yaxis,V.graphDiv._fullLayout),V.yaxis.setScale(),V.yaxis.isPtWithinRange=function(){return!0};var Se=V.yaxis.domain[0],Ae=V.aaxis=c({},z.aaxis,{range:[X,j-re-le],side:"left",tickangle:(+z.aaxis.tickangle||0)-30,domain:[Se,Se+xe*b],anchor:"free",position:0,_id:"y",_length:ue});r(Ae,V.graphDiv._fullLayout),Ae.setScale();var Be=V.baxis=c({},z.baxis,{range:[j-X-le,re],side:"bottom",domain:V.xaxis.domain,anchor:"free",position:0,_id:"x",_length:ue});r(Be,V.graphDiv._fullLayout),Be.setScale();var Oe=V.caxis=c({},z.caxis,{range:[j-X-re,le],side:"right",tickangle:(+z.caxis.tickangle||0)+30,domain:[Se,Se+xe*b],anchor:"free",position:0,_id:"y",_length:ue});r(Oe,V.graphDiv._fullLayout),Oe.setScale();var Ee="M"+q+","+(te+ae)+"h"+ue+"l-"+ue/2+",-"+ae+"Z";V.clipDef.select("path").attr("d",Ee),V.layers.plotbg.select("path").attr("d",Ee);var we="M0,"+ae+"h"+ue+"l-"+ue/2+",-"+ae+"Z";V.clipDefRelative.select("path").attr("d",we);var Ce=w(q,te);V.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",Ce),V.clipDefRelative.select("path").attr("transform",null);var Ge=w(q-Be._offset,te+ae);V.layers.baxis.attr("transform",Ge),V.layers.bgrid.attr("transform",Ge);var He=w(q+ue/2,te)+"rotate(30)"+w(0,-Ae._offset);V.layers.aaxis.attr("transform",He),V.layers.agrid.attr("transform",He);var De=w(q+ue/2,te)+"rotate(-30)"+w(0,-Oe._offset);V.layers.caxis.attr("transform",De),V.layers.cgrid.attr("transform",De),V.drawAxes(!0),V.layers.aline.select("path").attr("d",Ae.showline?"M"+q+","+(te+ae)+"l"+ue/2+",-"+ae:"M0,0").call(p.stroke,Ae.linecolor||"#000").style("stroke-width",(Ae.linewidth||0)+"px"),V.layers.bline.select("path").attr("d",Be.showline?"M"+q+","+(te+ae)+"h"+ue:"M0,0").call(p.stroke,Be.linecolor||"#000").style("stroke-width",(Be.linewidth||0)+"px"),V.layers.cline.select("path").attr("d",Oe.showline?"M"+(q+ue/2)+","+te+"l"+ue/2+","+ae:"M0,0").call(p.stroke,Oe.linecolor||"#000").style("stroke-width",(Oe.linewidth||0)+"px"),V.graphDiv._context.staticPlot||V.initInteractions(),t.setClipUrl(V.layers.frontplot,V._hasClipOnAxisFalse?null:V.clipId,V.graphDiv)},M.drawAxes=function(z){var k=this,V=k.graphDiv,Z=k.id.substr(7)+"title",ee=k.layers,Q=k.aaxis,ne=k.baxis,fe=k.caxis;if(k.drawAx(Q),k.drawAx(ne),k.drawAx(fe),z){var $=Math.max(Q.showticklabels?Q.tickfont.size/2:0,(fe.showticklabels?fe.tickfont.size*.75:0)+(fe.ticks==="outside"?fe.ticklen*.87:0)),Y=(ne.showticklabels?ne.tickfont.size:0)+(ne.ticks==="outside"?ne.ticklen:0)+3;ee["a-title"]=f.draw(V,"a"+Z,{propContainer:Q,propName:k.id+".aaxis.title",placeholder:d(V,"Click to enter Component A title"),attributes:{x:k.x0+k.w/2,y:k.y0-Q.title.font.size/3-$,"text-anchor":"middle"}}),ee["b-title"]=f.draw(V,"b"+Z,{propContainer:ne,propName:k.id+".baxis.title",placeholder:d(V,"Click to enter Component B title"),attributes:{x:k.x0-Y,y:k.y0+k.h+ne.title.font.size*.83+Y,"text-anchor":"middle"}}),ee["c-title"]=f.draw(V,"c"+Z,{propContainer:fe,propName:k.id+".caxis.title",placeholder:d(V,"Click to enter Component C title"),attributes:{x:k.x0+k.w+Y,y:k.y0+k.h+fe.title.font.size*.83+Y,"text-anchor":"middle"}})}},M.drawAx=function(z){var k=this,V=k.graphDiv,Z=z._name,ee=Z.charAt(0),Q=z._id,ne=k.layers[Z],fe=30,$=ee+"tickLayout",Y=s(z);k[$]!==Y&&(ne.selectAll("."+Q+"tick").remove(),k[$]=Y),z.setScale();var j=n.calcTicks(z),X=n.clipEnds(z,j),re=n.makeTransTickFn(z),le=n.getTickSigns(z)[2],q=C.deg2rad(fe),te=le*(z.linewidth||1)/2,ue=le*z.ticklen,ae=k.w,de=k.h,xe=ee==="b"?"M0,"+te+"l"+Math.sin(q)*ue+","+Math.cos(q)*ue:"M"+te+",0l"+Math.cos(q)*ue+","+-Math.sin(q)*ue,Se={a:"M0,0l"+de+",-"+ae/2,b:"M0,0l-"+ae/2+",-"+de,c:"M0,0l-"+de+","+ae/2}[ee];n.drawTicks(V,z,{vals:z.ticks==="inside"?X:j,layer:ne,path:xe,transFn:re,crisp:!1}),n.drawGrid(V,z,{vals:X,layer:k.layers[ee+"grid"],path:Se,transFn:re,crisp:!1}),n.drawLabels(V,z,{vals:j,layer:ne,transFn:re,labelFns:n.makeLabelFns(z,0,fe)})};function s(z){return z.ticks+String(z.ticklen)+String(z.showticklabels)}var _=L.MINZOOM/2+.87,A="m-0.87,.5h"+_+"v3h-"+(_+5.2)+"l"+(_/2+2.6)+",-"+(_*.87+4.5)+"l2.6,1.5l-"+_/2+","+_*.87+"Z",D="m0.87,.5h-"+_+"v3h"+(_+5.2)+"l-"+(_/2+2.6)+",-"+(_*.87+4.5)+"l-2.6,1.5l"+_/2+","+_*.87+"Z",F="m0,1l"+_/2+","+_*.87+"l2.6,-1.5l-"+(_/2+2.6)+",-"+(_*.87+4.5)+"l-"+(_/2+2.6)+","+(_*.87+4.5)+"l2.6,1.5l"+_/2+",-"+_*.87+"Z",G="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",O=!0;M.clearOutline=function(){S(this.dragOptions),T(this.dragOptions.gd)},M.initInteractions=function(){var z=this,k=z.layers.plotbg.select("path").node(),V=z.graphDiv,Z=V._fullLayout._zoomlayer,ee,Q;this.dragOptions={element:k,gd:V,plotinfo:{id:z.id,domain:V._fullLayout[z.id].domain,xaxis:z.xaxis,yaxis:z.yaxis},subplot:z.id,prepFn:function(Ge,He,De){z.dragOptions.xaxes=[z.xaxis],z.dragOptions.yaxes=[z.yaxis],ee=V._fullLayout._invScaleX,Q=V._fullLayout._invScaleY;var Fe=z.dragOptions.dragmode=V._fullLayout.dragmode;h(Fe)?z.dragOptions.minDrag=1:z.dragOptions.minDrag=void 0,Fe==="zoom"?(z.dragOptions.moveFn=Be,z.dragOptions.clickFn=ae,z.dragOptions.doneFn=Oe,de(Ge,He,De)):Fe==="pan"?(z.dragOptions.moveFn=we,z.dragOptions.clickFn=ae,z.dragOptions.doneFn=Ce,Ee(),z.clearOutline(V)):(x(Fe)||h(Fe))&&l(Ge,He,De,z.dragOptions,Fe)}};var ne,fe,$,Y,j,X,re,le,q,te;function ue(Ge){var He={};return He[z.id+".aaxis.min"]=Ge.a,He[z.id+".baxis.min"]=Ge.b,He[z.id+".caxis.min"]=Ge.c,He}function ae(Ge,He){var De=V._fullLayout.clickmode;H(V),Ge===2&&(V.emit("plotly_doubleclick",null),a.call("_guiRelayout",V,ue({a:0,b:0,c:0}))),De.indexOf("select")>-1&&Ge===1&&y(He,V,[z.xaxis],[z.yaxis],z.id,z.dragOptions),De.indexOf("event")>-1&&i.click(V,He,z.id)}function de(Ge,He,De){var Fe=k.getBoundingClientRect();ne=He-Fe.left,fe=De-Fe.top,V._fullLayout._calcInverseTransform(V);var qe=V._fullLayout._invTransform,Qe=C.apply3DTransform(qe)(ne,fe);ne=Qe[0],fe=Qe[1],$={a:z.aaxis.range[0],b:z.baxis.range[1],c:z.caxis.range[1]},j=$,Y=z.aaxis.range[1]-$.a,X=E(z.graphDiv._fullLayout[z.id].bgcolor).getLuminance(),re="M0,"+z.h+"L"+z.w/2+", 0L"+z.w+","+z.h+"Z",le=!1,q=Z.append("path").attr("class","zoombox").attr("transform",w(z.x0,z.y0)).style({fill:X>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",re),te=Z.append("path").attr("class","zoombox-corners").attr("transform",w(z.x0,z.y0)).style({fill:p.background,stroke:p.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),z.clearOutline(V)}function xe(Ge,He){return 1-He/z.h}function Se(Ge,He){return 1-(Ge+(z.h-He)/Math.sqrt(3))/z.w}function Ae(Ge,He){return(Ge-(z.h-He)/Math.sqrt(3))/z.w}function Be(Ge,He){var De=ne+Ge*ee,Fe=fe+He*Q,qe=Math.max(0,Math.min(1,xe(ne,fe),xe(De,Fe))),Qe=Math.max(0,Math.min(1,Se(ne,fe),Se(De,Fe))),Je=Math.max(0,Math.min(1,Ae(ne,fe),Ae(De,Fe))),tt=(qe/2+Je)*z.w,ht=(1-qe/2-Qe)*z.w,gt=(tt+ht)/2,yt=ht-tt,Et=(1-qe)*z.h,Xe=Et-yt/b;yt.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),te.transition().style("opacity",1).duration(200),le=!0),V.emit("plotly_relayouting",ue(j))}function Oe(){H(V),j!==$&&(a.call("_guiRelayout",V,ue(j)),O&&V.data&&V._context.showTips&&(C.notifier(d(V,"Double-click to zoom back out"),"long"),O=!1))}function Ee(){$={a:z.aaxis.range[0],b:z.baxis.range[1],c:z.caxis.range[1]},j=$}function we(Ge,He){var De=Ge/z.xaxis._m,Fe=He/z.yaxis._m;j={a:$.a-Fe,b:$.b+(De+Fe)/2,c:$.c-(De-Fe)/2};var qe=[j.a,j.b,j.c].sort(C.sorterAsc),Qe={a:qe.indexOf(j.a),b:qe.indexOf(j.b),c:qe.indexOf(j.c)};qe[0]<0&&(qe[1]+qe[0]/2<0?(qe[2]+=qe[0]+qe[1],qe[0]=qe[1]=0):(qe[2]+=qe[0]/2,qe[1]+=qe[0]/2,qe[0]=0),j={a:qe[Qe.a],b:qe[Qe.b],c:qe[Qe.c]},He=($.a-j.a)*z.yaxis._m,Ge=($.c-j.c-$.b+j.b)*z.xaxis._m);var Je=w(z.x0+Ge,z.y0+He);z.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",Je);var tt=w(-Ge,-He);z.clipDefRelative.select("path").attr("transform",tt),z.aaxis.range=[j.a,z.sum-j.b-j.c],z.baxis.range=[z.sum-j.a-j.c,j.b],z.caxis.range=[z.sum-j.a-j.b,j.c],z.drawAxes(!1),z._hasClipOnAxisFalse&&z.plotContainer.select(".scatterlayer").selectAll(".trace").call(t.hideOutsideRangePoints,z),V.emit("plotly_relayouting",ue(j))}function Ce(){a.call("_guiRelayout",V,ue(j))}k.onmousemove=function(Ge){i.hover(V,Ge,z.id),V._fullLayout._lasthover=k,V._fullLayout._hoversubplot=z.id},k.onmouseout=function(Ge){V._dragging||u.unhover(V,Ge)},u.init(this.dragOptions)};function H(z){v.select(z).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}},73972:function(U,B,e){var v=e(47769),E=e(64213),a=e(75138),C=e(41965),w=e(24401).addStyleRule,d=e(1426),p=e(9012),t=e(10820),r=d.extendFlat,c=d.extendDeepAll;B.modules={},B.allCategories={},B.allTypes=[],B.subplotsRegistry={},B.transformsRegistry={},B.componentsRegistry={},B.layoutArrayContainers=[],B.layoutArrayRegexes=[],B.traceLayoutAttributes={},B.localeRegistry={},B.apiMethodRegistry={},B.collectableSubplotTypes=null,B.register=function(S){if(B.collectableSubplotTypes=null,S)S&&!Array.isArray(S)&&(S=[S]);else throw new Error("No argument passed to Plotly.register.");for(var L=0;L-1}U.exports=function(t,r){var c,o=t.data,n=t.layout,u=C([],o),i=C({},n,w(r.tileClass)),g=t._context||{};if(r.width&&(i.width=r.width),r.height&&(i.height=r.height),r.tileClass==="thumbnail"||r.tileClass==="themes__thumb"){i.annotations=[];var h=Object.keys(i);for(c=0;c")!==-1?"":n.html(i).text()});return n.remove(),u}function c(o){return o.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")}U.exports=function(n,u,i){var g=n._fullLayout,h=g._paper,x=g._toppaper,f=g.width,l=g.height,y;h.insert("rect",":first-child").call(a.setRect,0,0,f,l).call(C.fill,g.paper_bgcolor);var T=g._basePlotModules||[];for(y=0;yH+G||!v(O))}for(var k=0;kt;if(!r)return w}return d!==void 0?d:C.dflt},B.coerceColor=function(C,w,d){return E(w).isValid()?w:d!==void 0?d:C.dflt},B.coerceEnumerated=function(C,w,d){return C.coerceNumber&&(w=+w),C.values.indexOf(w)!==-1?w:d!==void 0?d:C.dflt},B.getValue=function(C,w){var d;return Array.isArray(C)?w0?xe+=Se:m<0&&(xe-=Se)}return xe}function fe(de){var xe=m,Se=de.b,Ae=ne(de);return v.inbox(Se-xe,Ae-xe,T+(Ae-xe)/(Ae-Se)-1)}function $(de){var xe=m,Se=de.b,Ae=ne(de);return v.inbox(Se-xe,Ae-xe,S+(Ae-xe)/(Ae-Se)-1)}var Y=o[M+"a"],j=o[b+"a"];A=Math.abs(Y.r2c(Y.range[1])-Y.r2c(Y.range[0]));function X(de){return(s(de)+_(de))/2}var re=v.getDistanceFunction(i,s,_,X);if(v.getClosest(h,re,o),o.index!==!1&&h[o.index].p!==p){F||(k=function(de){return Math.min(G(de),de.p-f.bargroupwidth/2)},V=function(de){return Math.max(O(de),de.p+f.bargroupwidth/2)});var le=o.index,q=h[le],te=x.base?q.b+q.s:q.s;o[b+"0"]=o[b+"1"]=j.c2p(q[b],!0),o[b+"LabelVal"]=te;var ue=f.extents[f.extents.round(q.p)];o[M+"0"]=Y.c2p(l?k(q):ue[0],!0),o[M+"1"]=Y.c2p(l?V(q):ue[1],!0);var ae=q.orig_p!==void 0;return o[M+"LabelVal"]=ae?q.orig_p:q.p,o.labelLabel=d(Y,o[M+"LabelVal"],x[M+"hoverformat"]),o.valueLabel=d(j,o[b+"LabelVal"],x[b+"hoverformat"]),o.baseLabel=d(j,q.b,x[b+"hoverformat"]),o.spikeDistance=($(q)+Q(q))/2,o[M+"Spike"]=Y.c2p(q.p,!0),C(q,x,o),o.hovertemplate=x.hovertemplate,o}}function c(o,n){var u=n.mcc||o.marker.color,i=n.mlcc||o.marker.line.color,g=w(o,n);if(a.opacity(u))return u;if(a.opacity(i)&&g)return i}U.exports={hoverPoints:t,hoverOnBars:r,getTraceColor:c}},60822:function(U,B,e){U.exports={attributes:e(1486),layoutAttributes:e(43641),supplyDefaults:e(90769).supplyDefaults,crossTraceDefaults:e(90769).crossTraceDefaults,supplyLayoutDefaults:e(13957),calc:e(92290),crossTraceCalc:e(11661).crossTraceCalc,colorbar:e(4898),arraysToCalcdata:e(75341),plot:e(17295).plot,style:e(16688).style,styleOnSelect:e(16688).styleOnSelect,hoverPoints:e(95423).hoverPoints,eventData:e(58065),selectPoints:e(81974),moduleType:"trace",name:"bar",basePlotModule:e(93612),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},43641:function(U){U.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"}}},13957:function(U,B,e){var v=e(73972),E=e(89298),a=e(71828),C=e(43641);U.exports=function(w,d,p){function t(f,l){return a.coerce(w,d,C,f,l)}for(var r=!1,c=!1,o=!1,n={},u=t("barmode"),i=0;i0}function b(k,V,Z,ee,Q,ne){var fe=V.xaxis,$=V.yaxis,Y=k._fullLayout,j=k._context.staticPlot;Q||(Q={mode:Y.barmode,norm:Y.barmode,gap:Y.bargap,groupgap:Y.bargroupgap},o("bar",Y));var X=a.makeTraceGroups(ee,Z,"trace bars").each(function(re){var le=v.select(this),q=re[0].trace,te=q.type==="waterfall",ue=q.type==="funnel",ae=q.type==="bar",de=ae||ue,xe=0;te&&q.connector.visible&&q.connector.mode==="between"&&(xe=q.connector.line.width/2);var Se=q.orientation==="h",Ae=M(Q),Be=a.ensureSingle(le,"g","points"),Oe=T(q),Ee=Be.selectAll("g.point").data(a.identity,Oe);Ee.enter().append("g").classed("point",!0),Ee.exit().remove(),Ee.each(function(Ce,Ge){var He=v.select(this),De=L(Ce,fe,$,Se),Fe=De[0][0],qe=De[0][1],Qe=De[1][0],Je=De[1][1],tt=(Se?qe-Fe:Je-Qe)===0;tt&&de&&u.getLineWidth(q,Ce)&&(tt=!1),tt||(tt=!E(Fe)||!E(qe)||!E(Qe)||!E(Je)),Ce.isBlank=tt,tt&&(Se?qe=Fe:Je=Qe),xe&&!tt&&(Se?(Fe-=S(Fe,qe)*xe,qe+=S(Fe,qe)*xe):(Qe-=S(Qe,Je)*xe,Je+=S(Qe,Je)*xe));var ht,gt;if(q.type==="waterfall"){if(!tt){var yt=q[Ce.dir].marker;ht=yt.line.width,gt=yt.color}}else ht=u.getLineWidth(q,Ce),gt=Ce.mc||q.marker.color;function Et(Ze){var Ie=v.round(ht/2%1,2);return Q.gap===0&&Q.groupgap===0?v.round(Math.round(Ze)-Ie,2):Ze}function Xe(Ze,Ie,Te){return Te&&Ze===Ie?Ze:Math.abs(Ze-Ie)>=2?Et(Ze):Ze>Ie?Math.ceil(Ze):Math.floor(Ze)}if(!k._context.staticPlot){var Ue=w.opacity(gt),ze=Ue<1||ht>.01?Et:Xe;Fe=ze(Fe,qe,Se),qe=ze(qe,Fe,Se),Qe=ze(Qe,Je,!Se),Je=ze(Je,Qe,!Se)}var rt=m(a.ensureSingle(He,"path"),Y,Q,ne);if(rt.style("vector-effect",j?"none":"non-scaling-stroke").attr("d",isNaN((qe-Fe)*(Je-Qe))||tt&&k._context.staticPlot?"M0,0Z":"M"+Fe+","+Qe+"V"+Je+"H"+qe+"V"+Qe+"Z").call(d.setClipUrl,V.layerClipId,k),!Y.uniformtext.mode&&Ae){var it=d.makePointStyleFns(q);d.singlePointStyle(Ce,rt,q,it,k)}s(k,V,He,re,Ge,Fe,qe,Qe,Je,Q,ne),V.layerClipId&&d.hideOutsideRangePoint(Ce,He.select("text"),fe,$,q.xcalendar,q.ycalendar)});var we=q.cliponaxis===!1;d.setClipUrl(le,we?null:V.layerClipId,k)});p.getComponentMethod("errorbars","plot")(k,X,V,Q)}function s(k,V,Z,ee,Q,ne,fe,$,Y,j,X){var re=V.xaxis,le=V.yaxis,q=k._fullLayout,te;function ue(Ze,Ie,Te){var he=a.ensureSingle(Ze,"text").text(Ie).attr({class:"bartext bartext-"+te,"text-anchor":"middle","data-notex":1}).call(d.font,Te).call(C.convertToTspans,k);return he}var ae=ee[0].trace,de=ae.orientation==="h",xe=G(q,ee,Q,re,le);te=O(ae,Q);var Se=j.mode==="stack"||j.mode==="relative",Ae=ee[Q],Be=!Se||Ae._outmost;if(!xe||te==="none"||(Ae.isBlank||ne===fe||$===Y)&&(te==="auto"||te==="inside")){Z.select("text").remove();return}var Oe=q.font,Ee=n.getBarColor(ee[Q],ae),we=n.getInsideTextFont(ae,Q,Oe,Ee),Ce=n.getOutsideTextFont(ae,Q,Oe),Ge=Z.datum();de?re.type==="log"&&Ge.s0<=0&&(re.range[0]0&&Je>0,gt=Qe<=He&&Je<=De,yt=Qe<=De&&Je<=He,Et=de?He>=Qe*(De/Je):De>=Je*(He/Qe);ht&&(gt||yt||Et)?te="inside":(te="outside",Fe.remove(),Fe=null)}else te="inside";if(!Fe){tt=a.ensureUniformFontSize(k,te==="outside"?Ce:we),Fe=ue(Z,xe,tt);var Xe=Fe.attr("transform");if(Fe.attr("transform",""),qe=d.bBox(Fe.node()),Qe=qe.width,Je=qe.height,Fe.attr("transform",Xe),Qe<=0||Je<=0){Fe.remove();return}}var Ue=ae.textangle,ze,rt;te==="outside"?(rt=ae.constraintext==="both"||ae.constraintext==="outside",ze=F(ne,fe,$,Y,qe,{isHorizontal:de,constrained:rt,angle:Ue})):(rt=ae.constraintext==="both"||ae.constraintext==="inside",ze=D(ne,fe,$,Y,qe,{isHorizontal:de,constrained:rt,angle:Ue,anchor:ae.insidetextanchor})),ze.fontSize=tt.size,c(ae.type==="histogram"?"bar":ae.type,ze,q),Ae.transform=ze;var it=m(Fe,q,j,X);a.setTransormAndDisplay(it,ze)}function _(k){return k==="auto"?0:k}function A(k,V){var Z=Math.PI/180*V,ee=Math.abs(Math.sin(Z)),Q=Math.abs(Math.cos(Z));return{x:k.width*Q+k.height*ee,y:k.width*ee+k.height*Q}}function D(k,V,Z,ee,Q,ne){var fe=!!ne.isHorizontal,$=!!ne.constrained,Y=ne.angle||0,j=ne.anchor||"end",X=j==="end",re=j==="start",le=ne.leftToRight||0,q=(le+1)/2,te=1-q,ue=Q.width,ae=Q.height,de=Math.abs(V-k),xe=Math.abs(ee-Z),Se=de>2*l&&xe>2*l?l:0;de-=2*Se,xe-=2*Se;var Ae=_(Y);Y==="auto"&&!(ue<=de&&ae<=xe)&&(ue>de||ae>xe)&&(!(ue>xe||ae>de)||ue2*l?l:0:q=re>2*l?l:0;var te=1;$&&(te=fe?Math.min(1,le/X):Math.min(1,re/j));var ue=_(Y),ae=A(Q,ue),de=(fe?ae.x:ae.y)/2,xe=(Q.left+Q.right)/2,Se=(Q.top+Q.bottom)/2,Ae=(k+V)/2,Be=(Z+ee)/2,Oe=0,Ee=0,we=fe?S(V,k):S(Z,ee);return fe?(Ae=V-we*q,Oe=we*de):(Be=ee+we*q,Ee=-we*de),{textX:xe,textY:Se,targetX:Ae,targetY:Be,anchorX:Oe,anchorY:Ee,scale:te,rotate:ue}}function G(k,V,Z,ee,Q){var ne=V[0].trace,fe=ne.texttemplate,$;return fe?$=H(k,V,Z,ee,Q):ne.textinfo?$=z(V,Z,ee,Q):$=u.getValue(ne.text,Z),u.coerceString(h,$)}function O(k,V){var Z=u.getValue(k.textposition,V);return u.coerceEnumerated(x,Z)}function H(k,V,Z,ee,Q){var ne=V[0].trace,fe=a.castOption(ne,Z,"texttemplate");if(!fe)return"";var $=ne.type==="histogram",Y=ne.type==="waterfall",j=ne.type==="funnel",X=ne.orientation==="h",re,le,q,te;X?(re="y",le=Q,q="x",te=ee):(re="x",le=ee,q="y",te=Q);function ue(Oe){return t(le,le.c2l(Oe),!0).text}function ae(Oe){return t(te,te.c2l(Oe),!0).text}var de=V[Z],xe={};xe.label=de.p,xe.labelLabel=xe[re+"Label"]=ue(de.p);var Se=a.castOption(ne,de.i,"text");(Se===0||Se)&&(xe.text=Se),xe.value=de.s,xe.valueLabel=xe[q+"Label"]=ae(de.s);var Ae={};f(Ae,ne,de.i),($||Ae.x===void 0)&&(Ae.x=X?xe.value:xe.label),($||Ae.y===void 0)&&(Ae.y=X?xe.label:xe.value),($||Ae.xLabel===void 0)&&(Ae.xLabel=X?xe.valueLabel:xe.labelLabel),($||Ae.yLabel===void 0)&&(Ae.yLabel=X?xe.labelLabel:xe.valueLabel),Y&&(xe.delta=+de.rawS||de.s,xe.deltaLabel=ae(xe.delta),xe.final=de.v,xe.finalLabel=ae(xe.final),xe.initial=xe.final-xe.delta,xe.initialLabel=ae(xe.initial)),j&&(xe.value=de.s,xe.valueLabel=ae(xe.value),xe.percentInitial=de.begR,xe.percentInitialLabel=a.formatPercent(de.begR),xe.percentPrevious=de.difR,xe.percentPreviousLabel=a.formatPercent(de.difR),xe.percentTotal=de.sumR,xe.percenTotalLabel=a.formatPercent(de.sumR));var Be=a.castOption(ne,de.i,"customdata");return Be&&(xe.customdata=Be),a.texttemplateString(fe,xe,k._d3locale,Ae,xe,ne._meta||{})}function z(k,V,Z,ee){var Q=k[0].trace,ne=Q.orientation==="h",fe=Q.type==="waterfall",$=Q.type==="funnel";function Y(Be){var Oe=ne?ee:Z;return t(Oe,Be,!0).text}function j(Be){var Oe=ne?Z:ee;return t(Oe,+Be,!0).text}var X=Q.textinfo,re=k[V],le=X.split("+"),q=[],te,ue=function(Be){return le.indexOf(Be)!==-1};if(ue("label")&&q.push(Y(k[V].p)),ue("text")&&(te=a.castOption(Q,re.i,"text"),(te===0||te)&&q.push(te)),fe){var ae=+re.rawS||re.s,de=re.v,xe=de-ae;ue("initial")&&q.push(j(xe)),ue("delta")&&q.push(j(ae)),ue("final")&&q.push(j(de))}if($){ue("value")&&q.push(j(re.s));var Se=0;ue("percent initial")&&Se++,ue("percent previous")&&Se++,ue("percent total")&&Se++;var Ae=Se>1;ue("percent initial")&&(te=a.formatPercent(re.begR),Ae&&(te+=" of initial"),q.push(te)),ue("percent previous")&&(te=a.formatPercent(re.difR),Ae&&(te+=" of previous"),q.push(te)),ue("percent total")&&(te=a.formatPercent(re.sumR),Ae&&(te+=" of total"),q.push(te))}return q.join("
")}U.exports={plot:b,toMoveInsideBar:D}},81974:function(U){U.exports=function(v,E){var a=v.cd,C=v.xaxis,w=v.yaxis,d=a[0].trace,p=d.type==="funnel",t=d.orientation==="h",r=[],c;if(E===!1)for(c=0;c1||s.bargap===0&&s.bargroupgap===0&&!_[0].trace.marker.line.width)&&v.select(this).attr("shape-rendering","crispEdges")}),M.selectAll("g.points").each(function(_){var A=v.select(this),D=_[0].trace;u(A,D,m)}),w.getComponentMethod("errorbars","style")(M)}function u(m,M,b){a.pointStyle(m.selectAll("path"),M,b),i(m,M,b)}function i(m,M,b){m.selectAll("text").each(function(s){var _=v.select(this),A=C.ensureUniformFontSize(b,f(_,s,M,b));a.font(_,A)})}function g(m,M,b){var s=M[0].trace;s.selectedpoints?h(b,s,m):(u(b,s,m),w.getComponentMethod("errorbars","style")(b))}function h(m,M,b){a.selectedPointStyle(m.selectAll("path"),M),x(m.selectAll("text"),M,b)}function x(m,M,b){m.each(function(s){var _=v.select(this),A;if(s.selected){A=C.ensureUniformFontSize(b,f(_,s,M,b));var D=M.selected.textfont&&M.selected.textfont.color;D&&(A.color=D),a.font(_,A)}else a.selectedTextStyle(_,M)})}function f(m,M,b,s){var _=s._fullLayout.font,A=b.textfont;if(m.classed("bartext-inside")){var D=L(M,b);A=y(b,M.i,_,D)}else m.classed("bartext-outside")&&(A=T(b,M.i,_));return A}function l(m,M,b){return S(t,m.textfont,M,b)}function y(m,M,b,s){var _=l(m,M,b),A=m._input.textfont===void 0||m._input.textfont.color===void 0||Array.isArray(m.textfont.color)&&m.textfont.color[M]===void 0;return A&&(_={color:E.contrast(s),family:_.family,size:_.size}),S(r,m.insidetextfont,M,_)}function T(m,M,b){var s=l(m,M,b);return S(c,m.outsidetextfont,M,s)}function S(m,M,b,s){M=M||{};var _=o.getValue(M.family,b),A=o.getValue(M.size,b),D=o.getValue(M.color,b);return{family:o.coerceString(m.family,_,s.family),size:o.coerceNumber(m.size,A,s.size),color:o.coerceColor(m.color,D,s.color)}}function L(m,M){return M.type==="waterfall"?M[m.dir].marker.color:m.mcc||m.mc||M.marker.color}U.exports={style:n,styleTextPoints:i,styleOnSelect:g,getInsideTextFont:y,getOutsideTextFont:T,getBarColor:L,resizeText:d}},98340:function(U,B,e){var v=e(7901),E=e(52075).hasColorscale,a=e(1586),C=e(71828).coercePattern;U.exports=function(d,p,t,r,c){var o=t("marker.color",r),n=E(d,"marker");n&&a(d,p,c,t,{prefix:"marker.",cLetter:"c"}),t("marker.line.color",v.defaultLine),E(d,"marker.line")&&a(d,p,c,t,{prefix:"marker.line.",cLetter:"c"}),t("marker.line.width"),t("marker.opacity"),C(t,"marker.pattern",o,n),t("selected.marker.color"),t("unselected.marker.color")}},72597:function(U,B,e){var v=e(39898),E=e(71828);function a(p,t,r){var c=p._fullLayout,o=c["_"+r+"Text_minsize"];if(o){var n=c.uniformtext.mode==="hide",u;switch(r){case"funnelarea":case"pie":case"sunburst":u="g.slice";break;case"treemap":case"icicle":u="g.slice, g.pathbar";break;default:u="g.points > g.point"}t.selectAll(u).each(function(i){var g=i.transform;if(g){g.scale=n&&g.hide?0:o/g.fontSize;var h=v.select(this).select("text");E.setTransormAndDisplay(h,g)}})}}function C(p,t,r){if(r.uniformtext.mode){var c=d(p),o=r.uniformtext.minsize,n=t.scale*t.fontSize;t.hide=ni.range[1]&&(T+=Math.PI);var S=function(b){return x(y,T,[b.rp0,b.rp1],[b.thetag0,b.thetag1],h)?f+Math.min(1,Math.abs(b.thetag1-b.thetag0)/l)-1+(b.rp1-y)/(b.rp1-b.rp0)-1:1/0};if(v.getClosest(o,S,t),t.index!==!1){var L=t.index,m=o[L];t.x0=t.x1=m.ct[0],t.y0=t.y1=m.ct[1];var M=E.extendFlat({},m,{r:m.s,theta:m.p});return C(m,n,t),w(M,n,u,t),t.hovertemplate=n.hovertemplate,t.color=a(n,m),t.xLabelVal=t.yLabelVal=void 0,m.s<0&&(t.idealAlign="left"),[t]}}},23381:function(U,B,e){U.exports={moduleType:"trace",name:"barpolar",basePlotModule:e(23580),categories:["polar","bar","showLegend"],attributes:e(55023),layoutAttributes:e(40151),supplyDefaults:e(6135),supplyLayoutDefaults:e(19860),calc:e(74692).calc,crossTraceCalc:e(74692).crossTraceCalc,plot:e(60173),colorbar:e(4898),formatLabels:e(98608),style:e(16688).style,styleOnSelect:e(16688).styleOnSelect,hoverPoints:e(27379),selectPoints:e(81974),meta:{}}},40151:function(U){U.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},19860:function(U,B,e){var v=e(71828),E=e(40151);U.exports=function(a,C,w){var d={},p;function t(o,n){return v.coerce(a[p]||{},C[p],E,o,n)}for(var r=0;r0?(i=n,g=u):(i=u,g=n);var h=w.findEnclosingVertexAngles(i,p.vangles)[0],x=w.findEnclosingVertexAngles(g,p.vangles)[1],f=[h,(i+g)/2,x];return w.pathPolygonAnnulus(c,o,i,g,f,t,r)}:function(c,o,n,u){return a.pathAnnulus(c,o,n,u,t,r)}}},53522:function(U,B,e){var v=e(82196),E=e(1486),a=e(22399),C=e(12663).axisHoverFormat,w=e(5386).fF,d=e(1426).extendFlat,p=v.marker,t=p.line;U.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"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:v.xperiod,yperiod:v.yperiod,xperiod0:v.xperiod0,yperiod0:v.yperiod0,xperiodalignment:v.xperiodalignment,yperiodalignment:v.yperiodalignment,xhoverformat:C("x"),yhoverformat:C("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:d({},p.symbol,{arrayOk:!1,editType:"plot"}),opacity:d({},p.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:d({},p.angle,{arrayOk:!1,editType:"calc"}),size:d({},p.size,{arrayOk:!1,editType:"calc"}),color:d({},p.color,{arrayOk:!1,editType:"style"}),line:{color:d({},t.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:d({},t.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:v.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:E.offsetgroup,alignmentgroup:E.alignmentgroup,selected:{marker:v.selected.marker,editType:"style"},unselected:{marker:v.unselected.marker,editType:"style"},text:d({},v.text,{}),hovertext:d({},v.hovertext,{}),hovertemplate:w({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},48518:function(U,B,e){var v=e(92770),E=e(89298),a=e(42973),C=e(71828),w=e(50606).BADNUM,d=C._;U.exports=function(T,S){var L=T._fullLayout,m=E.getFromId(T,S.xaxis||"x"),M=E.getFromId(T,S.yaxis||"y"),b=[],s=S.type==="violin"?"_numViolins":"_numBoxes",_,A,D,F,G,O,H;S.orientation==="h"?(D=m,F="x",G=M,O="y",H=!!S.yperiodalignment):(D=M,F="y",G=m,O="x",H=!!S.xperiodalignment);var z=p(S,O,G,L[s]),k=z[0],V=z[1],Z=C.distinctVals(k,G),ee=Z.vals,Q=Z.minDiff/2,ne,fe,$,Y,j,X,re=(S.boxpoints||S.points)==="all"?C.identity:function(Xe){return Xe.vne.uf};if(S._hasPreCompStats){var le=S[F],q=function(Xe){return D.d2c((S[Xe]||[])[_])},te=1/0,ue=-1/0;for(_=0;_=ne.q1&&ne.q3>=ne.med){var de=q("lowerfence");ne.lf=de!==w&&de<=ne.q1?de:g(ne,$,Y);var xe=q("upperfence");ne.uf=xe!==w&&xe>=ne.q3?xe:h(ne,$,Y);var Se=q("mean");ne.mean=Se!==w?Se:Y?C.mean($,Y):(ne.q1+ne.q3)/2;var Ae=q("sd");ne.sd=Se!==w&&Ae>=0?Ae:Y?C.stdev($,Y,ne.mean):ne.q3-ne.q1,ne.lo=x(ne),ne.uo=f(ne);var Be=q("notchspan");Be=Be!==w&&Be>0?Be:l(ne,Y),ne.ln=ne.med-Be,ne.un=ne.med+Be;var Oe=ne.lf,Ee=ne.uf;S.boxpoints&&$.length&&(Oe=Math.min(Oe,$[0]),Ee=Math.max(Ee,$[Y-1])),S.notched&&(Oe=Math.min(Oe,ne.ln),Ee=Math.max(Ee,ne.un)),ne.min=Oe,ne.max=Ee}else{C.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+ne.q1,"median = "+ne.med,"q3 = "+ne.q3].join(` +`));var we;ne.med!==w?we=ne.med:ne.q1!==w?ne.q3!==w?we=(ne.q1+ne.q3)/2:we=ne.q1:ne.q3!==w?we=ne.q3:we=0,ne.med=we,ne.q1=ne.q3=we,ne.lf=ne.uf=we,ne.mean=ne.sd=we,ne.ln=ne.un=we,ne.min=ne.max=we}te=Math.min(te,ne.min),ue=Math.max(ue,ne.max),ne.pts2=fe.filter(re),b.push(ne)}}S._extremes[D._id]=E.findExtremes(D,[te,ue],{padded:!0})}else{var Ce=D.makeCalcdata(S,F),Ge=t(ee,Q),He=ee.length,De=r(He);for(_=0;_=0&&Fe0){if(ne={},ne.pos=ne[O]=ee[_],fe=ne.pts=De[_].sort(u),$=ne[F]=fe.map(i),Y=$.length,ne.min=$[0],ne.max=$[Y-1],ne.mean=C.mean($,Y),ne.sd=C.stdev($,Y,ne.mean),ne.med=C.interp($,.5),Y%2&&(tt||ht)){var gt,yt;tt?(gt=$.slice(0,Y/2),yt=$.slice(Y/2+1)):ht&&(gt=$.slice(0,Y/2+1),yt=$.slice(Y/2)),ne.q1=C.interp(gt,.5),ne.q3=C.interp(yt,.5)}else ne.q1=C.interp($,.25),ne.q3=C.interp($,.75);ne.lf=g(ne,$,Y),ne.uf=h(ne,$,Y),ne.lo=x(ne),ne.uo=f(ne);var Et=l(ne,Y);ne.ln=ne.med-Et,ne.un=ne.med+Et,qe=Math.min(qe,ne.ln),Qe=Math.max(Qe,ne.un),ne.pts2=fe.filter(re),b.push(ne)}S._extremes[D._id]=E.findExtremes(D,S.notched?Ce.concat([qe,Qe]):Ce,{padded:!0})}return n(b,S),b.length>0?(b[0].t={num:L[s],dPos:Q,posLetter:O,valLetter:F,labels:{med:d(T,"median:"),min:d(T,"min:"),q1:d(T,"q1:"),q3:d(T,"q3:"),max:d(T,"max:"),mean:S.boxmean==="sd"?d(T,"mean ± σ:"):d(T,"mean:"),lf:d(T,"lower fence:"),uf:d(T,"upper fence:")}},L[s]++,b):[{t:{empty:!0}}]};function p(y,T,S,L){var m=T in y,M=T+"0"in y,b="d"+T in y;if(m||M&&b){var s=S.makeCalcdata(y,T),_=a(y,S,T,s).vals;return[_,s]}var A;M?A=y[T+"0"]:"name"in y&&(S.type==="category"||v(y.name)&&["linear","log"].indexOf(S.type)!==-1||C.isDateTime(y.name)&&S.type==="date")?A=y.name:A=L;for(var D=S.type==="multicategory"?S.r2c_just_indices(A):S.d2c(A,0,y[T+"calendar"]),F=y._length,G=new Array(F),O=0;O1,M=1-n[p+"gap"],b=1-n[p+"groupgap"];for(g=0;g0;if(D==="positive"?(ne=F*(A?1:.5),Y=$,fe=Y=O):D==="negative"?(ne=Y=O,fe=F*(A?1:.5),j=$):(ne=fe=F,Y=j=$),ue){var ae=s.pointpos,de=s.jitter,xe=s.marker.size/2,Se=0;ae+de>=0&&(Se=$*(ae+de),Se>ne?(te=!0,le=xe,X=Se):Se>Y&&(le=xe,X=ne)),Se<=ne&&(X=ne);var Ae=0;ae-de<=0&&(Ae=-$*(ae-de),Ae>fe?(te=!0,q=xe,re=Ae):Ae>j&&(q=xe,re=fe)),Ae<=fe&&(re=fe)}else X=ne,re=fe;var Be=new Array(x.length);for(h=0;h0?(D="v",M>0?F=Math.min(s,b):F=Math.min(b)):M>0?(D="h",F=Math.min(s)):F=0;if(!F){u.visible=!1;return}u._length=F;var k=i("orientation",D);u._hasPreCompStats?k==="v"&&M===0?(i("x0",0),i("dx",1)):k==="h"&&m===0&&(i("y0",0),i("dy",1)):k==="v"&&M===0?i("x0"):k==="h"&&m===0&&i("y0");var V=E.getComponentMethod("calendars","handleTraceDefaults");V(n,u,["x","y"],g)}function c(n,u,i,g){var h=g.prefix,x=v.coerce2(n,u,p,"marker.outliercolor"),f=i("marker.line.outliercolor"),l="outliers";u._hasPreCompStats?l="all":(x||f)&&(l="suspectedoutliers");var y=i(h+"points",l);y?(i("jitter",y==="all"?.3:0),i("pointpos",y==="all"?-1.5:0),i("marker.symbol"),i("marker.opacity"),i("marker.size"),i("marker.angle"),i("marker.color",u.line.color),i("marker.line.color"),i("marker.line.width"),y==="suspectedoutliers"&&(i("marker.line.outliercolor",u.marker.color),i("marker.line.outlierwidth")),i("selected.marker.color"),i("unselected.marker.color"),i("selected.marker.size"),i("unselected.marker.size"),i("text"),i("hovertext")):delete u.marker;var T=i("hoveron");(T==="all"||T.indexOf("points")!==-1)&&i("hovertemplate"),v.coerceSelectionMarkerOpacity(u,i)}function o(n,u){var i,g;function h(l){return v.coerce(g._input,g,p,l)}for(var x=0;xS.lo&&(k.so=!0)}return m});T.enter().append("path").classed("point",!0),T.exit().remove(),T.call(a.translatePoints,i,g)}function r(c,o,n,u){var i=o.val,g=o.pos,h=!!g.rangebreaks,x=u.bPos,f=u.bPosPxOffset||0,l=n.boxmean||(n.meanline||{}).visible,y,T;Array.isArray(u.bdPos)?(y=u.bdPos[0],T=u.bdPos[1]):(y=u.bdPos,T=u.bdPos);var S=c.selectAll("path.mean").data(n.type==="box"&&n.boxmean||n.type==="violin"&&n.box.visible&&n.meanline.visible?E.identity:[]);S.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),S.exit().remove(),S.each(function(L){var m=g.c2l(L.pos+x,!0),M=g.l2p(m-y)+f,b=g.l2p(m+T)+f,s=h?(M+b)/2:g.l2p(m)+f,_=i.c2p(L.mean,!0),A=i.c2p(L.mean-L.sd,!0),D=i.c2p(L.mean+L.sd,!0);n.orientation==="h"?v.select(this).attr("d","M"+_+","+M+"V"+b+(l==="sd"?"m0,0L"+A+","+s+"L"+_+","+M+"L"+D+","+s+"Z":"")):v.select(this).attr("d","M"+M+","+_+"H"+b+(l==="sd"?"m0,0L"+s+","+A+"L"+M+","+_+"L"+s+","+D+"Z":""))})}U.exports={plot:d,plotBoxAndWhiskers:p,plotPoints:t,plotBoxMean:r}},24626:function(U){U.exports=function(e,v){var E=e.cd,a=e.xaxis,C=e.yaxis,w=[],d,p;if(v===!1)for(d=0;d=10)return null;for(var w=1/0,d=-1/0,p=a.length,t=0;t0?Math.floor:Math.ceil,H=F>0?Math.ceil:Math.floor,z=F>0?Math.min:Math.max,k=F>0?Math.max:Math.min,V=O(A+G),Z=H(D-G);n=_(A);var ee=[[n]];for(d=V;d*F=0;C--)w[c-C]=e[o][C],d[c-C]=v[o][C];for(p.push({x:w,y:d,bicubic:t}),C=o,w=[],d=[];C>=0;C--)w[o-C]=e[C][0],d[o-C]=v[C][0];return p.push({x:w,y:d,bicubic:r}),p}},20347:function(U,B,e){var v=e(89298),E=e(1426).extendFlat;U.exports=function(C,w,d){var p,t,r,c,o,n,u,i,g,h,x,f,l,y,T=C["_"+w],S=C[w+"axis"],L=S._gridlines=[],m=S._minorgridlines=[],M=S._boundarylines=[],b=C["_"+d],s=C[d+"axis"];S.tickmode==="array"&&(S.tickvals=T.slice());var _=C._xctrl,A=C._yctrl,D=_[0].length,F=_.length,G=C._a.length,O=C._b.length;v.prepTicks(S),S.tickmode==="array"&&delete S.tickvals;var H=S.smoothing?3:1;function z(V){var Z,ee,Q,ne,fe,$,Y,j,X,re,le,q,te=[],ue=[],ae={};if(w==="b")for(ee=C.b2j(V),Q=Math.floor(Math.max(0,Math.min(O-2,ee))),ne=ee-Q,ae.length=O,ae.crossLength=G,ae.xy=function(de){return C.evalxy([],de,ee)},ae.dxy=function(de,xe){return C.dxydi([],de,Q,xe,ne)},Z=0;Z0&&(X=C.dxydi([],Z-1,Q,0,ne),te.push(fe[0]+X[0]/3),ue.push(fe[1]+X[1]/3),re=C.dxydi([],Z-1,Q,1,ne),te.push(j[0]-re[0]/3),ue.push(j[1]-re[1]/3)),te.push(j[0]),ue.push(j[1]),fe=j;else for(Z=C.a2i(V),$=Math.floor(Math.max(0,Math.min(G-2,Z))),Y=Z-$,ae.length=G,ae.crossLength=O,ae.xy=function(de){return C.evalxy([],Z,de)},ae.dxy=function(de,xe){return C.dxydj([],$,de,Y,xe)},ee=0;ee0&&(le=C.dxydj([],$,ee-1,Y,0),te.push(fe[0]+le[0]/3),ue.push(fe[1]+le[1]/3),q=C.dxydj([],$,ee-1,Y,1),te.push(j[0]-q[0]/3),ue.push(j[1]-q[1]/3)),te.push(j[0]),ue.push(j[1]),fe=j;return ae.axisLetter=w,ae.axis=S,ae.crossAxis=s,ae.value=V,ae.constvar=d,ae.index=i,ae.x=te,ae.y=ue,ae.smoothing=s.smoothing,ae}function k(V){var Z,ee,Q,ne,fe,$=[],Y=[],j={};if(j.length=T.length,j.crossLength=b.length,w==="b")for(Q=Math.max(0,Math.min(O-2,V)),fe=Math.min(1,Math.max(0,V-Q)),j.xy=function(X){return C.evalxy([],X,V)},j.dxy=function(X,re){return C.dxydi([],X,Q,re,fe)},Z=0;ZT.length-1)&&L.push(E(k(t),{color:S.gridcolor,width:S.gridwidth,dash:S.griddash}));for(i=n;iT.length-1)&&!(x<0||x>T.length-1))for(f=T[r],l=T[x],p=0;pT[T.length-1])&&m.push(E(z(h),{color:S.minorgridcolor,width:S.minorgridwidth,dash:S.minorgriddash})));S.startline&&M.push(E(k(0),{color:S.startlinecolor,width:S.startlinewidth})),S.endline&&M.push(E(k(T.length-1),{color:S.endlinecolor,width:S.endlinewidth}))}else{for(c=5e-15,o=[Math.floor((T[T.length-1]-S.tick0)/S.dtick*(1+c)),Math.ceil((T[0]-S.tick0)/S.dtick/(1+c))].sort(function(V,Z){return V-Z}),n=o[0],u=o[1],i=n;i<=u;i++)g=S.tick0+S.dtick*i,L.push(E(z(g),{color:S.gridcolor,width:S.gridwidth,dash:S.griddash}));for(i=n-1;iT[T.length-1])&&m.push(E(z(h),{color:S.minorgridcolor,width:S.minorgridwidth,dash:S.minorgriddash}));S.startline&&M.push(E(z(T[0]),{color:S.startlinecolor,width:S.startlinewidth})),S.endline&&M.push(E(z(T[T.length-1]),{color:S.endlinecolor,width:S.endlinewidth}))}}},83311:function(U,B,e){var v=e(89298),E=e(1426).extendFlat;U.exports=function(C,w){var d,p,t,r,c,o=w._labels=[],n=w._gridlines;for(d=0;dC.length&&(a=a.slice(0,C.length)):a=[],d=0;d90&&(u-=180,t=-t),{angle:u,flip:t,p:e.c2p(a,v,E),offsetMultplier:r}}},89740:function(U,B,e){var v=e(39898),E=e(91424),a=e(27669),C=e(67961),w=e(11651),d=e(63893),p=e(71828),t=p.strRotate,r=p.strTranslate,c=e(18783);U.exports=function(l,y,T,S){var L=l._context.staticPlot,m=y.xaxis,M=y.yaxis,b=l._fullLayout,s=b._clips;p.makeTraceGroups(S,T,"trace").each(function(_){var A=v.select(this),D=_[0],F=D.trace,G=F.aaxis,O=F.baxis,H=p.ensureSingle(A,"g","minorlayer"),z=p.ensureSingle(A,"g","majorlayer"),k=p.ensureSingle(A,"g","boundarylayer"),V=p.ensureSingle(A,"g","labellayer");A.style("opacity",F.opacity),n(m,M,z,G,"a",G._gridlines,!0),n(m,M,z,O,"b",O._gridlines,!0),n(m,M,H,G,"a",G._minorgridlines,!0),n(m,M,H,O,"b",O._minorgridlines,!0),n(m,M,k,G,"a-boundary",G._boundarylines,L),n(m,M,k,O,"b-boundary",O._boundarylines,L);var Z=u(l,m,M,F,D,V,G._labels,"a-label"),ee=u(l,m,M,F,D,V,O._labels,"b-label");i(l,V,F,D,m,M,Z,ee),o(F,D,s,m,M)})};function o(f,l,y,T,S){var L,m,M,b,s=y.select("#"+f._clipPathId);s.size()||(s=y.append("clipPath").classed("carpetclip",!0));var _=p.ensureSingle(s,"path","carpetboundary"),A=l.clipsegments,D=[];for(b=0;b0?"start":"end","data-notex":1}).call(E.font,A.font).text(A.text).call(d.convertToTspans,f),z=E.bBox(this);H.attr("transform",r(F.p[0],F.p[1])+t(F.angle)+r(A.axis.labelpadding*O,z.height*.3)),s=Math.max(s,z.width+A.axis.labelpadding)}),b.exit().remove(),_.maxExtent=s,_}function i(f,l,y,T,S,L,m,M){var b,s,_,A,D=p.aggNums(Math.min,null,y.a),F=p.aggNums(Math.max,null,y.a),G=p.aggNums(Math.min,null,y.b),O=p.aggNums(Math.max,null,y.b);b=.5*(D+F),s=G,_=y.ab2xy(b,s,!0),A=y.dxyda_rough(b,s),m.angle===void 0&&p.extendFlat(m,w(y,S,L,_,y.dxydb_rough(b,s))),x(f,l,y,T,_,A,y.aaxis,S,L,m,"a-title"),b=D,s=.5*(G+O),_=y.ab2xy(b,s,!0),A=y.dxydb_rough(b,s),M.angle===void 0&&p.extendFlat(M,w(y,S,L,_,y.dxyda_rough(b,s))),x(f,l,y,T,_,A,y.baxis,S,L,M,"b-title")}var g=c.LINE_SPACING,h=(1-c.MID_SHIFT)/g+1;function x(f,l,y,T,S,L,m,M,b,s,_){var A=[];m.title.text&&A.push(m.title.text);var D=l.selectAll("text."+_).data(A),F=s.maxExtent;D.enter().append("text").classed(_,!0),D.each(function(){var G=w(y,M,b,S,L);["start","both"].indexOf(m.showticklabels)===-1&&(F=0);var O=m.title.font.size;F+=O+m.title.offset;var H=s.angle+(s.flip<0?180:0),z=(H-G.angle+450)%360,k=z>90&&z<270,V=v.select(this);V.text(m.title.text).call(d.convertToTspans,f),k&&(F=(-d.lineCount(V)+h)*g*O-F),V.attr("transform",r(G.p[0],G.p[1])+t(G.angle)+r(0,F)).attr("text-anchor","middle").call(E.font,m.title.font)}),D.exit().remove()}},11435:function(U,B,e){var v=e(35509),E=e(65888).findBin,a=e(45664),C=e(20349),w=e(54495),d=e(73057);U.exports=function(t){var r=t._a,c=t._b,o=r.length,n=c.length,u=t.aaxis,i=t.baxis,g=r[0],h=r[o-1],x=c[0],f=c[n-1],l=r[r.length-1]-r[0],y=c[c.length-1]-c[0],T=l*v.RELATIVE_CULL_TOLERANCE,S=y*v.RELATIVE_CULL_TOLERANCE;g-=T,h+=T,x-=S,f+=S,t.isVisible=function(L,m){return L>g&&Lx&&mh||mf},t.setScale=function(){var L=t._x,m=t._y,M=a(t._xctrl,t._yctrl,L,m,u.smoothing,i.smoothing);t._xctrl=M[0],t._yctrl=M[1],t.evalxy=C([t._xctrl,t._yctrl],o,n,u.smoothing,i.smoothing),t.dxydi=w([t._xctrl,t._yctrl],u.smoothing,i.smoothing),t.dxydj=d([t._xctrl,t._yctrl],u.smoothing,i.smoothing)},t.i2a=function(L){var m=Math.max(0,Math.floor(L[0]),o-2),M=L[0]-m;return(1-M)*r[m]+M*r[m+1]},t.j2b=function(L){var m=Math.max(0,Math.floor(L[1]),o-2),M=L[1]-m;return(1-M)*c[m]+M*c[m+1]},t.ij2ab=function(L){return[t.i2a(L[0]),t.j2b(L[1])]},t.a2i=function(L){var m=Math.max(0,Math.min(E(L,r),o-2)),M=r[m],b=r[m+1];return Math.max(0,Math.min(o-1,m+(L-M)/(b-M)))},t.b2j=function(L){var m=Math.max(0,Math.min(E(L,c),n-2)),M=c[m],b=c[m+1];return Math.max(0,Math.min(n-1,m+(L-M)/(b-M)))},t.ab2ij=function(L){return[t.a2i(L[0]),t.b2j(L[1])]},t.i2c=function(L,m){return t.evalxy([],L,m)},t.ab2xy=function(L,m,M){if(!M&&(Lr[o-1]|mc[n-1]))return[!1,!1];var b=t.a2i(L),s=t.b2j(m),_=t.evalxy([],b,s);if(M){var A=0,D=0,F=[],G,O,H,z;Lr[o-1]?(G=o-2,O=1,A=(L-r[o-1])/(r[o-1]-r[o-2])):(G=Math.max(0,Math.min(o-2,Math.floor(b))),O=b-G),mc[n-1]?(H=n-2,z=1,D=(m-c[n-1])/(c[n-1]-c[n-2])):(H=Math.max(0,Math.min(n-2,Math.floor(s))),z=s-H),A&&(t.dxydi(F,G,H,O,z),_[0]+=F[0]*A,_[1]+=F[1]*A),D&&(t.dxydj(F,G,H,O,z),_[0]+=F[0]*D,_[1]+=F[1]*D)}return _},t.c2p=function(L,m,M){return[m.c2p(L[0]),M.c2p(L[1])]},t.p2x=function(L,m,M){return[m.p2c(L[0]),M.p2c(L[1])]},t.dadi=function(L){var m=Math.max(0,Math.min(r.length-2,L));return r[m+1]-r[m]},t.dbdj=function(L){var m=Math.max(0,Math.min(c.length-2,L));return c[m+1]-c[m]},t.dxyda=function(L,m,M,b){var s=t.dxydi(null,L,m,M,b),_=t.dadi(L,M);return[s[0]/_,s[1]/_]},t.dxydb=function(L,m,M,b){var s=t.dxydj(null,L,m,M,b),_=t.dbdj(m,b);return[s[0]/_,s[1]/_]},t.dxyda_rough=function(L,m,M){var b=l*(M||.1),s=t.ab2xy(L+b,m,!0),_=t.ab2xy(L-b,m,!0);return[(s[0]-_[0])*.5/b,(s[1]-_[1])*.5/b]},t.dxydb_rough=function(L,m,M){var b=y*(M||.1),s=t.ab2xy(L,m+b,!0),_=t.ab2xy(L,m-b,!0);return[(s[0]-_[0])*.5/b,(s[1]-_[1])*.5/b]},t.dpdx=function(L){return L._m},t.dpdy=function(L){return L._m}}},72505:function(U,B,e){var v=e(71828);U.exports=function(a,C,w){var d,p,t,r=[],c=[],o=a[0].length,n=a.length;function u(ee,Q){var ne=0,fe,$=0;return ee>0&&(fe=a[Q][ee-1])!==void 0&&($++,ne+=fe),ee0&&(fe=a[Q-1][ee])!==void 0&&($++,ne+=fe),Q0&&p0&&db);return v.log("Smoother converged to",s,"after",A,"iterations"),a}},19237:function(U,B,e){var v=e(71828).isArray1D;U.exports=function(a,C,w){var d=w("x"),p=d&&d.length,t=w("y"),r=t&&t.length;if(!p&&!r)return!1;if(C._cheater=!d,(!p||v(d))&&(!r||v(t))){var c=p?d.length:1/0;r&&(c=Math.min(c,t.length)),C.a&&C.a.length&&(c=Math.min(c,C.a.length)),C.b&&C.b.length&&(c=Math.min(c,C.b.length)),C._length=c}else C._length=null;return!0}},69568:function(U,B,e){var v=e(5386).fF,E=e(19316),a=e(50693),C=e(9012),w=e(22399).defaultLine,d=e(1426).extendFlat,p=E.marker.line;U.exports=d({locations:{valType:"data_array",editType:"calc"},locationmode:E.locationmode,z:{valType:"data_array",editType:"calc"},geojson:d({},E.geojson,{}),featureidkey:E.featureidkey,text:d({},E.text,{}),hovertext:d({},E.hovertext,{}),marker:{line:{color:d({},p.color,{dflt:w}),width:d({},p.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:E.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:E.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:d({},C.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:v(),showlegend:d({},C.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},38675:function(U,B,e){var v=e(92770),E=e(50606).BADNUM,a=e(78803),C=e(75225),w=e(66279);function d(p){return p&&typeof p=="string"}U.exports=function(t,r){var c=r._length,o=new Array(c),n;r.geojson?n=function(x){return d(x)||v(x)}:n=d;for(var u=0;u")}}},51319:function(U,B,e){U.exports={attributes:e(69568),supplyDefaults:e(61869),colorbar:e(61243),calc:e(38675),calcGeoJSON:e(99841).calcGeoJSON,plot:e(99841).plot,style:e(99636).style,styleOnSelect:e(99636).styleOnSelect,hoverPoints:e(42300),eventData:e(92069),selectPoints:e(81253),moduleType:"trace",name:"choropleth",basePlotModule:e(44622),categories:["geo","noOpacity","showLegend"],meta:{}}},99841:function(U,B,e){var v=e(39898),E=e(71828),a=e(41327),C=e(90973).getTopojsonFeatures,w=e(71739).findExtremes,d=e(99636).style;function p(r,c,o){var n=c.layers.backplot.select(".choroplethlayer");E.makeTraceGroups(n,o,"trace choropleth").each(function(u){var i=v.select(this),g=i.selectAll("path.choroplethlocation").data(E.identity);g.enter().append("path").classed("choroplethlocation",!0),g.exit().remove(),d(r,u)})}function t(r,c){for(var o=r[0].trace,n=c[o.geo],u=n._subplot,i=o.locationmode,g=o._length,h=i==="geojson-id"?a.extractTraceFeature(r):C(o,u.topojson),x=[],f=[],l=0;l=0;C--){var w=a[C].id;if(typeof w=="string"&&w.indexOf("water")===0){for(var d=C+1;d=0;t--)d.removeLayer(p[t][1])},w.dispose=function(){var d=this.subplot.map;this._removeLayers(),d.removeSource(this.sourceId)},U.exports=function(p,t){var r=t[0].trace,c=new C(p,r.uid),o=c.sourceId,n=v(t),u=c.below=p.belowLookup["trace-"+r.uid];return p.map.addSource(o,{type:"geojson",data:n.geojson}),c._addLayers(n,u),t[0].trace._glTrace=c,c}},12674:function(U,B,e){var v=e(50693),E=e(12663).axisHoverFormat,a=e(5386).fF,C=e(2418),w=e(9012),d=e(1426).extendFlat,p={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:E("u",1),vhoverformat:E("v",1),whoverformat:E("w",1),xhoverformat:E("x"),yhoverformat:E("y"),zhoverformat:E("z"),showlegend:d({},w.showlegend,{dflt:!1})};d(p,v("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));var t=["opacity","lightposition","lighting"];t.forEach(function(r){p[r]=C[r]}),p.hoverinfo=d({},w.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),p.transforms=void 0,U.exports=p},31371:function(U,B,e){var v=e(78803);U.exports=function(a,C){for(var w=C.u,d=C.v,p=C.w,t=Math.min(C.x.length,C.y.length,C.z.length,w.length,d.length,p.length),r=-1/0,c=1/0,o=0;ow.level||w.starts.length&&C===w.level)}break;case"constraint":if(v.prefixBoundary=!1,v.edgepaths.length)return;var d=v.x.length,p=v.y.length,t=-1/0,r=1/0;for(a=0;a":c>t&&(v.prefixBoundary=!0);break;case"<":(ct||v.starts.length&&n===r)&&(v.prefixBoundary=!0);break;case"][":o=Math.min(c[0],c[1]),n=Math.max(c[0],c[1]),ot&&(v.prefixBoundary=!0);break}break}}},90654:function(U,B,e){var v=e(21081),E=e(86068),a=e(53572);function C(w,d,p){var t=d.contours,r=d.line,c=t.size||1,o=t.coloring,n=E(d,{isColorbar:!0});if(o==="heatmap"){var u=v.extractOpts(d);p._fillgradient=u.reversescale?v.flipScale(u.colorscale):u.colorscale,p._zrange=[u.min,u.max]}else o==="fill"&&(p._fillcolor=n);p._line={color:o==="lines"?n:r.color,width:t.showlines!==!1?r.width:0,dash:r.dash},p._levels={start:t.start,end:a(t),size:c}}U.exports={min:"zmin",max:"zmax",calc:C}},36914:function(U){U.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}}},83179:function(U,B,e){var v=e(92770),E=e(14523),a=e(7901),C=a.addOpacity,w=a.opacity,d=e(74808),p=d.CONSTRAINT_REDUCTION,t=d.COMPARISON_OPS2;U.exports=function(o,n,u,i,g,h){var x=n.contours,f,l,y,T=u("contours.operation");if(x._operation=p[T],r(u,x),T==="="?f=x.showlines=!0:(f=u("contours.showlines"),y=u("fillcolor",C((o.line||{}).color||g,.5))),f){var S=y&&w(y)?C(n.fillcolor,1):g;l=u("line.color",S),u("line.width",2),u("line.dash")}u("line.smoothing"),E(u,i,l,h)};function r(c,o){var n;t.indexOf(o.operation)===-1?(c("contours.value",[0,1]),Array.isArray(o.value)?o.value.length>2?o.value=o.value.slice(2):o.length===0?o.value=[0,1]:o.length<2?(n=parseFloat(o.value[0]),o.value=[n,n+1]):o.value=[parseFloat(o.value[0]),parseFloat(o.value[1])]:v(o.value)&&(n=parseFloat(o.value),o.value=[n,n+1])):(c("contours.value",0),v(o.value)||(Array.isArray(o.value)?o.value=parseFloat(o.value[0]):o.value=0))}},64237:function(U,B,e){var v=e(74808),E=e(92770);U.exports={"[]":C("[]"),"][":C("]["),">":w(">"),"<":w("<"),"=":w("=")};function a(d,p){var t=Array.isArray(p),r;function c(o){return E(o)?+o:null}return v.COMPARISON_OPS2.indexOf(d)!==-1?r=c(t?p[0]:p):v.INTERVAL_OPS.indexOf(d)!==-1?r=t?[c(p[0]),c(p[1])]:[c(p),c(p)]:v.SET_OPS.indexOf(d)!==-1&&(r=t?p.map(c):[c(p)]),r}function C(d){return function(p){p=a(d,p);var t=Math.min(p[0],p[1]),r=Math.max(p[0],p[1]);return{start:t,end:r,size:r-t}}}function w(d){return function(p){return p=a(d,p),{start:p,end:1/0,size:1/0}}}},67217:function(U){U.exports=function(e,v,E,a){var C=a("contours.start"),w=a("contours.end"),d=C===!1||w===!1,p=E("contours.size"),t;d?t=v.autocontour=!0:t=E("autocontour",!1),(t||!p)&&E("ncontours")}},84857:function(U,B,e){var v=e(71828);U.exports=function(a,C){var w,d,p,t=function(o){return o.reverse()},r=function(o){return o};switch(C){case"=":case"<":return a;case">":for(a.length!==1&&v.warn("Contour data invalid for the specified inequality operation."),d=a[0],w=0;w1e3){v.warn("Too many contours, clipping at 1000",w);break}return c}},53572:function(U){U.exports=function(e){return e.end+e.size/1e6}},81696:function(U,B,e){var v=e(71828),E=e(36914);U.exports=function(r,c,o){var n,u,i,g,h;for(c=c||.01,o=o||.01,i=0;i20?(i=E.CHOOSESADDLE[i][(g[0]||g[1])<0?0:1],t.crossings[u]=E.SADDLEREMAINDER[i]):delete t.crossings[u],g=E.NEWDELTA[i],!g){v.log("Found bad marching index:",i,r,t.level);break}h.push(p(t,r,g)),r[0]+=g[0],r[1]+=g[1],u=r.join(","),a(h[h.length-1],h[h.length-2],o,n)&&h.pop();var S=g[0]&&(r[0]<0||r[0]>f-2)||g[1]&&(r[1]<0||r[1]>x-2),L=r[0]===l[0]&&r[1]===l[1]&&g[0]===y[0]&&g[1]===y[1];if(L||c&&S)break;i=t.crossings[u]}T===1e4&&v.log("Infinite loop in contour?");var m=a(h[0],h[h.length-1],o,n),M=0,b=.2*t.smoothing,s=[],_=0,A,D,F,G,O,H,z,k,V,Z,ee;for(T=1;T=_;T--)if(A=s[T],A=_&&A+s[D]k&&V--,t.edgepaths[V]=ee.concat(h,Z));break}$||(t.edgepaths[k]=h.concat(Z))}for(k=0;k20&&r?t===208||t===1114?o=c[0]===0?1:-1:n=c[1]===0?1:-1:E.BOTTOMSTART.indexOf(t)!==-1?n=1:E.LEFTSTART.indexOf(t)!==-1?o=1:E.TOPSTART.indexOf(t)!==-1?n=-1:o=-1,[o,n]}function p(t,r,c){var o=r[0]+Math.max(c[0],0),n=r[1]+Math.max(c[1],0),u=t.z[n][o],i=t.xaxis,g=t.yaxis;if(c[1]){var h=(t.level-u)/(t.z[n][o+1]-u),x=(h!==1?(1-h)*i.c2l(t.x[o]):0)+(h!==0?h*i.c2l(t.x[o+1]):0);return[i.c2p(i.l2c(x),!0),g.c2p(t.y[n],!0),o+h,n]}else{var f=(t.level-u)/(t.z[n+1][o]-u),l=(f!==1?(1-f)*g.c2l(t.y[n]):0)+(f!==0?f*g.c2l(t.y[n+1]):0);return[i.c2p(t.x[o],!0),g.c2p(g.l2c(l),!0),o,n+f]}}},52421:function(U,B,e){var v=e(7901),E=e(46248);U.exports=function(C,w,d,p,t){t||(t={}),t.isContour=!0;var r=E(C,w,d,p,t);return r&&r.forEach(function(c){var o=c.trace;o.contours.type==="constraint"&&(o.fillcolor&&v.opacity(o.fillcolor)?c.color=v.addOpacity(o.fillcolor,1):o.contours.showlines&&v.opacity(o.line.color)&&(c.color=v.addOpacity(o.line.color,1)))}),r}},99442:function(U,B,e){U.exports={attributes:e(70600),supplyDefaults:e(13031),calc:e(27529),plot:e(29854).plot,style:e(84426),colorbar:e(90654),hoverPoints:e(52421),moduleType:"trace",name:"contour",basePlotModule:e(93612),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},14523:function(U,B,e){var v=e(71828);U.exports=function(a,C,w,d){d||(d={});var p=a("contours.showlabels");if(p){var t=C.font;v.coerceFont(a,"contours.labelfont",{family:t.family,size:t.size,color:w}),a("contours.labelformat")}d.hasHover!==!1&&a("zhoverformat")}},86068:function(U,B,e){var v=e(39898),E=e(21081),a=e(53572);U.exports=function(w){var d=w.contours,p=d.start,t=a(d),r=d.size||1,c=Math.floor((t-p)/r)+1,o=d.coloring==="lines"?0:1,n=E.extractOpts(w);isFinite(r)||(r=1,c=1);var u=n.reversescale?E.flipScale(n.colorscale):n.colorscale,i=u.length,g=new Array(i),h=new Array(i),x,f;if(d.coloring==="heatmap"){var l=n.min,y=n.max;for(f=0;fa?0:1)+(C[0][1]>a?0:2)+(C[1][1]>a?0:4)+(C[1][0]>a?0:8);if(w===5||w===10){var d=(C[0][0]+C[0][1]+C[1][0]+C[1][1])/4;return a>d?w===5?713:1114:w===5?104:208}return w===15?0:w}},29854:function(U,B,e){var v=e(39898),E=e(71828),a=e(91424),C=e(21081),w=e(63893),d=e(89298),p=e(21994),t=e(50347),r=e(87678),c=e(81696),o=e(87558),n=e(84857),u=e(20083),i=e(36914),g=i.LABELOPTIMIZER;B.plot=function(m,M,b,s){var _=M.xaxis,A=M.yaxis;E.makeTraceGroups(s,b,"contour").each(function(D){var F=v.select(this),G=D[0],O=G.trace,H=G.x,z=G.y,k=O.contours,V=o(k,M,G),Z=E.ensureSingle(F,"g","heatmapcoloring"),ee=[];k.coloring==="heatmap"&&(ee=[D]),t(m,M,ee,Z),r(V),c(V);var Q=_.c2p(H[0],!0),ne=_.c2p(H[H.length-1],!0),fe=A.c2p(z[0],!0),$=A.c2p(z[z.length-1],!0),Y=[[Q,$],[ne,$],[ne,fe],[Q,fe]],j=V;k.type==="constraint"&&(j=n(V,k._operation)),h(F,Y,k),x(F,j,Y,k),l(F,V,m,G,k),T(F,M,m,G,Y)})};function h(L,m,M){var b=E.ensureSingle(L,"g","contourbg"),s=b.selectAll("path").data(M.coloring==="fill"?[0]:[]);s.enter().append("path"),s.exit().remove(),s.attr("d","M"+m.join("L")+"Z").style("stroke","none")}function x(L,m,M,b){var s=b.coloring==="fill"||b.type==="constraint"&&b._operation!=="=",_="M"+M.join("L")+"Z";s&&u(m,b);var A=E.ensureSingle(L,"g","contourfill"),D=A.selectAll("path").data(s?m:[]);D.enter().append("path"),D.exit().remove(),D.each(function(F){var G=(F.prefixBoundary?_:"")+f(F,M);G?v.select(this).attr("d",G).style("stroke","none"):v.select(this).remove()})}function f(L,m){var M="",b=0,s=L.edgepaths.map(function(Q,ne){return ne}),_=!0,A,D,F,G,O,H;function z(Q){return Math.abs(Q[1]-m[0][1])<.01}function k(Q){return Math.abs(Q[1]-m[2][1])<.01}function V(Q){return Math.abs(Q[0]-m[0][0])<.01}function Z(Q){return Math.abs(Q[0]-m[2][0])<.01}for(;s.length;){for(H=a.smoothopen(L.edgepaths[b],L.smoothing),M+=_?H:H.replace(/^M/,"L"),s.splice(s.indexOf(b),1),A=L.edgepaths[b][L.edgepaths[b].length-1],G=-1,F=0;F<4;F++){if(!A){E.log("Missing end?",b,L);break}for(z(A)&&!Z(A)?D=m[1]:V(A)?D=m[0]:k(A)?D=m[3]:Z(A)&&(D=m[2]),O=0;O=0&&(D=ee,G=O):Math.abs(A[1]-D[1])<.01?Math.abs(A[1]-ee[1])<.01&&(ee[0]-A[0])*(D[0]-ee[0])>=0&&(D=ee,G=O):E.log("endpt to newendpt is not vert. or horz.",A,D,ee)}if(A=D,G>=0)break;M+="L"+D}if(G===L.edgepaths.length){E.log("unclosed perimeter path");break}b=G,_=s.indexOf(b)===-1,_&&(b=s[0],M+="Z")}for(b=0;bg.MAXCOST*2)break;z&&(D/=2),A=G-D/2,F=A+D*1.5}if(H<=g.MAXCOST)return O};function y(L,m,M,b){var s=m.width/2,_=m.height/2,A=L.x,D=L.y,F=L.theta,G=Math.cos(F)*s,O=Math.sin(F)*s,H=(A>b.center?b.right-A:A-b.left)/(G+Math.abs(Math.sin(F)*_)),z=(D>b.middle?b.bottom-D:D-b.top)/(Math.abs(O)+Math.cos(F)*_);if(H<1||z<1)return 1/0;var k=g.EDGECOST*(1/(H-1)+1/(z-1));k+=g.ANGLECOST*F*F;for(var V=A-G,Z=D-O,ee=A+G,Q=D+O,ne=0;nep.end&&(p.start=p.end=(p.start+p.end)/2),w._input.contours||(w._input.contours={}),E.extendFlat(w._input.contours,{start:p.start,end:p.end,size:p.size}),w._input.autocontour=!0}else if(p.type!=="constraint"){var o=p.start,n=p.end,u=w._input.contours;if(o>n&&(p.start=u.start=n,n=p.end=u.end=o,o=p.start),!(p.size>0)){var i;o===n?i=1:i=a(o,n,w.ncontours).dtick,u.size=p.size=i}}};function a(C,w,d){var p={type:"linear",range:[C,w]};return v.autoTicks(p,(w-C)/(d||15)),p}},84426:function(U,B,e){var v=e(39898),E=e(91424),a=e(70035),C=e(86068);U.exports=function(d){var p=v.select(d).selectAll("g.contour");p.style("opacity",function(t){return t[0].trace.opacity}),p.each(function(t){var r=v.select(this),c=t[0].trace,o=c.contours,n=c.line,u=o.size||1,i=o.start,g=o.type==="constraint",h=!g&&o.coloring==="lines",x=!g&&o.coloring==="fill",f=h||x?C(c):null;r.selectAll("g.contourlevel").each(function(T){v.select(this).selectAll("path").call(E.lineGroupStyle,n.width,h?f(T.level):n.color,n.dash)});var l=o.labelfont;if(r.selectAll("g.contourlabels text").each(function(T){E.font(v.select(this),{family:l.family,size:l.size,color:l.color||(h?f(T.level):n.color)})}),g)r.selectAll("g.contourfill path").style("fill",c.fillcolor);else if(x){var y;r.selectAll("g.contourfill path").style("fill",function(T){return y===void 0&&(y=T.level),f(T.level+.5*u)}),y===void 0&&(y=i),r.selectAll("g.contourbg path").style("fill",f(y-.5*u))}}),a(d)}},8724:function(U,B,e){var v=e(1586),E=e(14523);U.exports=function(C,w,d,p,t){var r=d("contours.coloring"),c,o="";r==="fill"&&(c=d("contours.showlines")),c!==!1&&(r!=="lines"&&(o=d("line.color","#000")),d("line.width",.5),d("line.dash")),r!=="none"&&(C.showlegend!==!0&&(w.showlegend=!1),w._dfltShowLegend=!1,v(C,w,p,d,{prefix:"",cLetter:"z"})),d("line.smoothing"),E(d,p,o,t)}},88085:function(U,B,e){var v=e(21606),E=e(70600),a=e(50693),C=e(1426).extendFlat,w=E.contours;U.exports=C({carpet:{valType:"string",editType:"calc"},z:v.z,a:v.x,a0:v.x0,da:v.dx,b:v.y,b0:v.y0,db:v.dy,text:v.text,hovertext:v.hovertext,transpose:v.transpose,atype:v.xtype,btype:v.ytype,fillcolor:E.fillcolor,autocontour:E.autocontour,ncontours:E.ncontours,contours:{type:w.type,start:w.start,end:w.end,size:w.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:w.showlines,showlabels:w.showlabels,labelfont:w.labelfont,labelformat:w.labelformat,operation:w.operation,value:w.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:E.line.color,width:E.line.width,dash:E.line.dash,smoothing:E.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},59885:function(U,B,e){var v=e(78803),E=e(71828),a=e(68296),C=e(4742),w=e(824),d=e(43907),p=e(70769),t=e(75005),r=e(22882),c=e(18670);U.exports=function(u,i){var g=i._carpetTrace=r(u,i);if(!(!g||!g.visible||g.visible==="legendonly")){if(!i.a||!i.b){var h=u.data[g.index],x=u.data[i.index];x.a||(x.a=h.a),x.b||(x.b=h.b),t(x,i,i._defaultColor,u._fullLayout)}var f=o(u,i);return c(i,i._z),f}};function o(n,u){var i=u._carpetTrace,g=i.aaxis,h=i.baxis,x,f,l,y,T,S,L;g._minDtick=0,h._minDtick=0,E.isArray1D(u.z)&&a(u,g,h,"a","b",["z"]),x=u._a=u._a||u.a,y=u._b=u._b||u.b,x=x?g.makeCalcdata(u,"_a"):[],y=y?h.makeCalcdata(u,"_b"):[],f=u.a0||0,l=u.da||1,T=u.b0||0,S=u.db||1,L=u._z=C(u._z||u.z,u.transpose),u._emptypoints=d(L),w(L,u._emptypoints);var m=E.maxRowLength(L),M=u.xtype==="scaled"?"":x,b=p(u,M,f,l,m,g),s=u.ytype==="scaled"?"":y,_=p(u,s,T,S,L.length,h),A={a:b,b:_,z:L};return u.contours.type==="levels"&&u.contours.coloring!=="none"&&v(n,u,{vals:L,containerStr:"",cLetter:"z"}),[A]}},75005:function(U,B,e){var v=e(71828),E=e(67684),a=e(88085),C=e(83179),w=e(67217),d=e(8724);U.exports=function(t,r,c,o){function n(h,x){return v.coerce(t,r,a,h,x)}function u(h){return v.coerce2(t,r,a,h)}if(n("carpet"),t.a&&t.b){var i=E(t,r,n,o,"a","b");if(!i){r.visible=!1;return}n("text");var g=n("contours.type")==="constraint";g?C(t,r,n,o,c,{hasHover:!1}):(w(t,r,n,u),d(t,r,n,o,{hasHover:!1}))}else r._defaultColor=c,r._length=null}},93740:function(U,B,e){U.exports={attributes:e(88085),supplyDefaults:e(75005),colorbar:e(90654),calc:e(59885),plot:e(51048),style:e(84426),moduleType:"trace",name:"contourcarpet",basePlotModule:e(93612),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},51048:function(U,B,e){var v=e(39898),E=e(27669),a=e(67961),C=e(91424),w=e(71828),d=e(87678),p=e(81696),t=e(29854),r=e(36914),c=e(84857),o=e(87558),n=e(20083),u=e(22882),i=e(4536);U.exports=function(M,b,s,_){var A=b.xaxis,D=b.yaxis;w.makeTraceGroups(_,s,"contour").each(function(F){var G=v.select(this),O=F[0],H=O.trace,z=H._carpetTrace=u(M,H),k=M.calcdata[z.index][0];if(!z.visible||z.visible==="legendonly")return;var V=O.a,Z=O.b,ee=H.contours,Q=o(ee,b,O),ne=ee.type==="constraint",fe=ee._operation,$=ne?fe==="="?"lines":"fill":ee.coloring;function Y(Se){var Ae=z.ab2xy(Se[0],Se[1],!0);return[A.c2p(Ae[0]),D.c2p(Ae[1])]}var j=[[V[0],Z[Z.length-1]],[V[V.length-1],Z[Z.length-1]],[V[V.length-1],Z[0]],[V[0],Z[0]]];d(Q);var X=(V[V.length-1]-V[0])*1e-8,re=(Z[Z.length-1]-Z[0])*1e-8;p(Q,X,re);var le=Q;ee.type==="constraint"&&(le=c(Q,fe)),g(Q,Y);var q,te,ue,ae,de=[];for(ae=k.clipsegments.length-1;ae>=0;ae--)q=k.clipsegments[ae],te=E([],q.x,A.c2p),ue=E([],q.y,D.c2p),te.reverse(),ue.reverse(),de.push(a(te,ue,q.bicubic));var xe="M"+de.join("L")+"Z";T(G,k.clipsegments,A,D,ne,$),S(H,G,A,D,le,j,Y,z,k,$,xe),h(G,Q,M,O,ee,b,z),C.setClipUrl(G,z._clipPathId,M)})};function g(m,M){var b,s,_,A,D,F,G,O,H;for(b=0;bQ&&(s.max=Q),s.len=s.max-s.min}function f(m,M,b){var s=m.getPointAtLength(M),_=m.getPointAtLength(b),A=_.x-s.x,D=_.y-s.y,F=Math.sqrt(A*A+D*D);return[A/F,D/F]}function l(m){var M=Math.sqrt(m[0]*m[0]+m[1]*m[1]);return[m[0]/M,m[1]/M]}function y(m,M){var b=Math.abs(m[0]*M[0]+m[1]*M[1]),s=Math.sqrt(1-b*b);return s/b}function T(m,M,b,s,_,A){var D,F,G,O,H=w.ensureSingle(m,"g","contourbg"),z=H.selectAll("path").data(A==="fill"&&!_?[0]:[]);z.enter().append("path"),z.exit().remove();var k=[];for(O=0;O=0&&(V=te,ee=Q):Math.abs(k[1]-V[1])<$?Math.abs(k[1]-te[1])<$&&(te[0]-k[0])*(V[0]-te[0])>=0&&(V=te,ee=Q):w.log("endpt to newendpt is not vert. or horz.",k,V,te)}if(ee>=0)break;O+=le(k,V),k=V}if(ee===M.edgepaths.length){w.log("unclosed perimeter path");break}G=ee,z=H.indexOf(G)===-1,z&&(G=H[0],O+=le(k,V)+"Z",k=null)}for(G=0;G0?+h[i]:0),u.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:T})}}var L=C.extractOpts(r),m=L.reversescale?C.flipScale(L.colorscale):L.colorscale,M=m[0][1],b=a.opacity(M)<1?M:a.addOpacity(M,0),s=["interpolate",["linear"],["heatmap-density"],0,b];for(i=1;i=0;p--)w.removeLayer(d[p][1])},C.dispose=function(){var w=this.subplot.map;this._removeLayers(),w.removeSource(this.sourceId)},U.exports=function(d,p){var t=p[0].trace,r=new a(d,t.uid),c=r.sourceId,o=v(p),n=r.below=d.belowLookup["trace-"+t.uid];return d.map.addSource(c,{type:"geojson",data:o.geojson}),r._addLayers(o,n),r}},49789:function(U,B,e){var v=e(71828);U.exports=function(a,C){for(var w=0;w"),o.color=C(u,h),[o]}};function C(w,d){var p=w.marker,t=d.mc||p.color,r=d.mlc||p.line.color,c=d.mlw||p.line.width;if(v(t))return t;if(v(r)&&c)return r}},51759:function(U,B,e){U.exports={attributes:e(1285),layoutAttributes:e(10440),supplyDefaults:e(26199).supplyDefaults,crossTraceDefaults:e(26199).crossTraceDefaults,supplyLayoutDefaults:e(93138),calc:e(9532),crossTraceCalc:e(8984),plot:e(80461),style:e(68266).style,hoverPoints:e(63341),eventData:e(34598),selectPoints:e(81974),moduleType:"trace",name:"funnel",basePlotModule:e(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},10440:function(U){U.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},93138:function(U,B,e){var v=e(71828),E=e(10440);U.exports=function(a,C,w){var d=!1;function p(c,o){return v.coerce(a,C,E,c,o)}for(var t=0;t path").each(function(h){if(!h.isBlank){var x=g.marker;v.select(this).call(a.fill,h.mc||x.color).call(a.stroke,h.mlc||x.line.color).call(E.dashLine,x.line.dash,h.mlw||x.line.width).style("opacity",g.selectedpoints&&!h.selected?C:1)}}),p(i,g,r),i.selectAll(".regions").each(function(){v.select(this).selectAll("path").style("stroke-width",0).call(a.fill,g.connector.fillcolor)}),i.selectAll(".lines").each(function(){var h=g.connector.line;E.lineGroupStyle(v.select(this).selectAll("path"),h.width,h.color,h.dash)})})}U.exports={style:t}},86807:function(U,B,e){var v=e(34e3),E=e(9012),a=e(27670).Y,C=e(5386).fF,w=e(5386).si,d=e(1426).extendFlat;U.exports={labels:v.labels,label0:v.label0,dlabel:v.dlabel,values:v.values,marker:{colors:v.marker.colors,line:{color:d({},v.marker.line.color,{dflt:null}),width:d({},v.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:v.text,hovertext:v.hovertext,scalegroup:d({},v.scalegroup,{}),textinfo:d({},v.textinfo,{flags:["label","text","value","percent"]}),texttemplate:w({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:d({},E.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:C({},{keys:["label","color","value","text","percent"]}),textposition:d({},v.textposition,{values:["inside","none"],dflt:"inside"}),textfont:v.textfont,insidetextfont:v.insidetextfont,title:{text:v.title.text,font:v.title.font,position:d({},v.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},6452:function(U,B,e){var v=e(74875);B.name="funnelarea",B.plot=function(E,a,C,w){v.plotBasePlot(B.name,E,a,C,w)},B.clean=function(E,a,C,w){v.cleanBasePlot(B.name,E,a,C,w)}},89574:function(U,B,e){var v=e(32354);function E(C,w){return v.calc(C,w)}function a(C){v.crossTraceCalc(C,{type:"funnelarea"})}U.exports={calc:E,crossTraceCalc:a}},86282:function(U,B,e){var v=e(71828),E=e(86807),a=e(27670).c,C=e(90769).handleText,w=e(37434).handleLabelsAndValues;U.exports=function(p,t,r,c){function o(S,L){return v.coerce(p,t,E,S,L)}var n=o("labels"),u=o("values"),i=w(n,u),g=i.len;if(t._hasLabels=i.hasLabels,t._hasValues=i.hasValues,!t._hasLabels&&t._hasValues&&(o("label0"),o("dlabel")),!g){t.visible=!1;return}t._length=g;var h=o("marker.line.width");h&&o("marker.line.color",c.paper_bgcolor),o("marker.colors"),o("scalegroup");var x=o("text"),f=o("texttemplate"),l;if(f||(l=o("textinfo",Array.isArray(x)?"text+percent":"percent")),o("hovertext"),o("hovertemplate"),f||l&&l!=="none"){var y=o("textposition");C(p,t,c,o,y,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(t,c,o);var T=o("title.text");T&&(o("title.position"),v.coerceFont(o,"title.font",c.font)),o("aspectratio"),o("baseratio")}},10421:function(U,B,e){U.exports={moduleType:"trace",name:"funnelarea",basePlotModule:e(6452),categories:["pie-like","funnelarea","showLegend"],attributes:e(86807),layoutAttributes:e(80097),supplyDefaults:e(86282),supplyLayoutDefaults:e(57402),calc:e(89574).calc,crossTraceCalc:e(89574).crossTraceCalc,plot:e(79187),style:e(71858),styleOne:e(63463),meta:{}}},80097:function(U,B,e){var v=e(92774).hiddenlabels;U.exports={hiddenlabels:v,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57402:function(U,B,e){var v=e(71828),E=e(80097);U.exports=function(C,w){function d(p,t){return v.coerce(C,w,E,p,t)}d("hiddenlabels"),d("funnelareacolorway",w.colorway),d("extendfunnelareacolors")}},79187:function(U,B,e){var v=e(39898),E=e(91424),a=e(71828),C=a.strScale,w=a.strTranslate,d=e(63893),p=e(17295),t=p.toMoveInsideBar,r=e(72597),c=r.recordMinTextSize,o=r.clearMinTextSize,n=e(53581),u=e(14575),i=u.attachFxHandlers,g=u.determineInsideTextFont,h=u.layoutAreas,x=u.prerenderTitles,f=u.positionTitleOutside,l=u.formatSliceLabel;U.exports=function(m,M){var b=m._context.staticPlot,s=m._fullLayout;o("funnelarea",s),x(M,m),h(M,s._size),a.makeTraceGroups(s._funnelarealayer,M,"trace").each(function(_){var A=v.select(this),D=_[0],F=D.trace;S(_),A.each(function(){var G=v.select(this).selectAll("g.slice").data(_);G.enter().append("g").classed("slice",!0),G.exit().remove(),G.each(function(H,z){if(H.hidden){v.select(this).selectAll("path,g").remove();return}H.pointNumber=H.i,H.curveNumber=F.index;var k=D.cx,V=D.cy,Z=v.select(this),ee=Z.selectAll("path.surface").data([H]);ee.enter().append("path").classed("surface",!0).style({"pointer-events":b?"none":"all"}),Z.call(i,m,_);var Q="M"+(k+H.TR[0])+","+(V+H.TR[1])+y(H.TR,H.BR)+y(H.BR,H.BL)+y(H.BL,H.TL)+"Z";ee.attr("d",Q),l(m,H,D);var ne=n.castOption(F.textposition,H.pts),fe=Z.selectAll("g.slicetext").data(H.text&&ne!=="none"?[0]:[]);fe.enter().append("g").classed("slicetext",!0),fe.exit().remove(),fe.each(function(){var $=a.ensureSingle(v.select(this),"text","",function(ue){ue.attr("data-notex",1)}),Y=a.ensureUniformFontSize(m,g(F,H,s.font));$.text(H.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(E.font,Y).call(d.convertToTspans,m);var j=E.bBox($.node()),X,re,le,q=Math.min(H.BL[1],H.BR[1])+V,te=Math.max(H.TL[1],H.TR[1])+V;re=Math.max(H.TL[0],H.BL[0])+k,le=Math.min(H.TR[0],H.BR[0])+k,X=t(re,le,q,te,j,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"}),X.fontSize=Y.size,c(F.type,X,s),_[z].transform=X,a.setTransormAndDisplay($,X)})});var O=v.select(this).selectAll("g.titletext").data(F.title.text?[0]:[]);O.enter().append("g").classed("titletext",!0),O.exit().remove(),O.each(function(){var H=a.ensureSingle(v.select(this),"text","",function(V){V.attr("data-notex",1)}),z=F.title.text;F._meta&&(z=a.templateString(z,F._meta)),H.text(z).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(E.font,F.title.font).call(d.convertToTspans,m);var k=f(D,s._size);H.attr("transform",w(k.x,k.y)+C(Math.min(1,k.scale))+w(k.tx,k.ty))})})})};function y(L,m){var M=m[0]-L[0],b=m[1]-L[1];return"l"+M+","+b}function T(L,m){return[.5*(L[0]+m[0]),.5*(L[1]+m[1])]}function S(L){if(!L.length)return;var m=L[0],M=m.trace,b=M.aspectratio,s=M.baseratio;s>.999&&(s=.999);var _=Math.pow(s,2),A=m.vTotal,D=A*_/(1-_),F=A,G=D/A;function O(){var ae=Math.sqrt(G);return{x:ae,y:-ae}}function H(){var ae=O();return[ae.x,ae.y]}var z,k=[];k.push(H());var V,Z;for(V=L.length-1;V>-1;V--)if(Z=L[V],!Z.hidden){var ee=Z.v/F;G+=ee,k.push(H())}var Q=1/0,ne=-1/0;for(V=0;V-1;V--)if(Z=L[V],!Z.hidden){q+=1;var te=k[q][0],ue=k[q][1];Z.TL=[-te,ue],Z.TR=[te,ue],Z.BL=re,Z.BR=le,Z.pxmid=T(Z.TR,Z.BR),re=Z.TL,le=Z.TR}}},71858:function(U,B,e){var v=e(39898),E=e(63463),a=e(72597).resizeText;U.exports=function(w){var d=w._fullLayout._funnelarealayer.selectAll(".trace");a(w,d,"funnelarea"),d.each(function(p){var t=p[0],r=t.trace,c=v.select(this);c.style({opacity:r.opacity}),c.selectAll("path.surface").each(function(o){v.select(this).call(E,o,r)})})}},21606:function(U,B,e){var v=e(82196),E=e(9012),a=e(41940),C=e(12663).axisHoverFormat,w=e(5386).fF,d=e(5386).si,p=e(50693),t=e(1426).extendFlat;U.exports=t({z:{valType:"data_array",editType:"calc"},x:t({},v.x,{impliedEdits:{xtype:"array"}}),x0:t({},v.x0,{impliedEdits:{xtype:"scaled"}}),dx:t({},v.dx,{impliedEdits:{xtype:"scaled"}}),y:t({},v.y,{impliedEdits:{ytype:"array"}}),y0:t({},v.y0,{impliedEdits:{ytype:"scaled"}}),dy:t({},v.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:t({},v.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:t({},v.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:t({},v.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:t({},v.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:t({},v.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:t({},v.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{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"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:C("x"),yhoverformat:C("y"),zhoverformat:C("z",1),hovertemplate:w(),texttemplate:d({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:t({},E.showlegend,{dflt:!1})},{transforms:void 0},p("",{cLetter:"z",autoColorDflt:!1}))},90757:function(U,B,e){var v=e(73972),E=e(71828),a=e(89298),C=e(42973),w=e(17562),d=e(78803),p=e(68296),t=e(4742),r=e(824),c=e(43907),o=e(70769),n=e(50606).BADNUM;U.exports=function(h,x){var f=a.getFromId(h,x.xaxis||"x"),l=a.getFromId(h,x.yaxis||"y"),y=v.traceIs(x,"contour"),T=v.traceIs(x,"histogram"),S=v.traceIs(x,"gl2d"),L=y?"best":x.zsmooth,m,M,b,s,_,A,D,F,G,O,H;if(f._minDtick=0,l._minDtick=0,T)H=w(h,x),s=H.orig_x,m=H.x,M=H.x0,b=H.dx,F=H.orig_y,_=H.y,A=H.y0,D=H.dy,G=H.z;else{var z=x.z;E.isArray1D(z)?(p(x,f,l,"x","y",["z"]),m=x._x,_=x._y,z=x._z):(s=x.x?f.makeCalcdata(x,"x"):[],F=x.y?l.makeCalcdata(x,"y"):[],m=C(x,f,"x",s).vals,_=C(x,l,"y",F).vals,x._x=m,x._y=_),M=x.x0,b=x.dx,A=x.y0,D=x.dy,G=t(z,x,f,l)}(f.rangebreaks||l.rangebreaks)&&(G=i(m,_,G),T||(m=u(m),_=u(_),x._x=m,x._y=_)),!T&&(y||x.connectgaps)&&(x._emptypoints=c(G),r(G,x._emptypoints));function k(j){L=x._input.zsmooth=x.zsmooth=!1,E.warn('cannot use zsmooth: "fast": '+j)}function V(j){if(j.length>1){var X=(j[j.length-1]-j[0])/(j.length-1),re=Math.abs(X/100);for(O=0;Ore)return!1}return!0}x._islinear=!1,f.type==="log"||l.type==="log"?L==="fast"&&k("log axis found"):V(m)?V(_)?x._islinear=!0:L==="fast"&&k("y scale is not linear"):L==="fast"&&k("x scale is not linear");var Z=E.maxRowLength(G),ee=x.xtype==="scaled"?"":m,Q=o(x,ee,M,b,Z,f),ne=x.ytype==="scaled"?"":_,fe=o(x,ne,A,D,G.length,l);S||(x._extremes[f._id]=a.findExtremes(f,Q),x._extremes[l._id]=a.findExtremes(l,fe));var $={x:Q,y:fe,z:G,text:x._text||x.text,hovertext:x._hovertext||x.hovertext};if(x.xperiodalignment&&s&&($.orig_x=s),x.yperiodalignment&&F&&($.orig_y=F),ee&&ee.length===Q.length-1&&($.xCenter=ee),ne&&ne.length===fe.length-1&&($.yCenter=ne),T&&($.xRanges=H.xRanges,$.yRanges=H.yRanges,$.pts=H.pts),y||d(h,x,{vals:G,cLetter:"z"}),y&&x.contours&&x.contours.coloring==="heatmap"){var Y={type:x.type==="contour"?"heatmap":"histogram2d",xcalendar:x.xcalendar,ycalendar:x.ycalendar};$.xfill=o(Y,ee,M,b,Z,f),$.yfill=o(Y,ne,A,D,G.length,l)}return[$]};function u(g){for(var h=[],x=g.length,f=0;f=0;g--)i=d[g],n=i[0],u=i[1],h=((w[[n-1,u]]||r)[2]+(w[[n+1,u]]||r)[2]+(w[[n,u-1]]||r)[2]+(w[[n,u+1]]||r)[2])/20,h&&(x[i]=[n,u,h],d.splice(g,1),f=!0);if(!f)throw"findEmpties iterated with no new neighbors";for(i in x)w[i]=x[i],C.push(x[i])}return C.sort(function(l,y){return y[2]-l[2]})}},46248:function(U,B,e){var v=e(30211),E=e(71828),a=e(89298),C=e(21081).extractOpts;U.exports=function(d,p,t,r,c){c||(c={});var o=c.isContour,n=d.cd[0],u=n.trace,i=d.xa,g=d.ya,h=n.x,x=n.y,f=n.z,l=n.xCenter,y=n.yCenter,T=n.zmask,S=u.zhoverformat,L=h,m=x,M,b,s,_;if(d.index!==!1){try{s=Math.round(d.index[1]),_=Math.round(d.index[0])}catch{E.error("Error hovering on heatmap, pointNumber must be [row,col], found:",d.index);return}if(s<0||s>=f[0].length||_<0||_>f.length)return}else{if(v.inbox(p-h[0],p-h[h.length-1],0)>0||v.inbox(t-x[0],t-x[x.length-1],0)>0)return;if(o){var A;for(L=[2*h[0]-h[1]],A=1;AE;c++)r=w(p,t,C(r));return r>E&&v.log("interp2d didn't converge quickly",r),p};function w(d,p,t){var r=0,c,o,n,u,i,g,h,x,f,l,y,T,S;for(u=0;uT&&(r=Math.max(r,Math.abs(d[o][n]-y)/(S-T))))}return r}},58623:function(U,B,e){var v=e(71828);U.exports=function(a,C){a("texttemplate");var w=v.extendFlat({},C.font,{color:"auto",size:"auto"});v.coerceFont(a,"textfont",w)}},70769:function(U,B,e){var v=e(73972),E=e(71828).isArrayOrTypedArray;U.exports=function(C,w,d,p,t,r){var c=[],o=v.traceIs(C,"contour"),n=v.traceIs(C,"histogram"),u=v.traceIs(C,"gl2d"),i,g,h,x=E(w)&&w.length>1;if(x&&!n&&r.type!=="category"){var f=w.length;if(f<=t){if(o||u)c=w.slice(0,t);else if(t===1)c=[w[0]-.5,w[0]+.5];else{for(c=[1.5*w[0]-.5*w[1]],h=1;h0;)re=s.c2p(k[ue]),ue--;for(re0;)te=_.c2p(V[ue]),ue--;te=s._length||re<=0||q>=_._length||te<=0;if(Oe){var Ee=D.selectAll("image").data([]);Ee.exit().remove(),l(D);return}var we,Ce;xe==="fast"?(we=$,Ce=fe):(we=Ae,Ce=Be);var Ge=document.createElement("canvas");Ge.width=we,Ge.height=Ce;var He=Ge.getContext("2d"),De=o(G,{noNumericCheck:!0,returnArray:!0}),Fe,qe;xe==="fast"?(Fe=Y?function(en){return $-1-en}:d.identity,qe=j?function(en){return fe-1-en}:d.identity):(Fe=function(en){return d.constrain(Math.round(s.c2p(k[en])-X),0,Ae)},qe=function(en){return d.constrain(Math.round(_.c2p(V[en])-q),0,Be)});var Qe=qe(0),Je=[Qe,Qe],tt=Y?0:1,ht=j?0:1,gt=0,yt=0,Et=0,Xe=0,Ue,ze,rt,it,Ze;function Ie(en,gn){if(en!==void 0){var hn=De(en);return hn[0]=Math.round(hn[0]),hn[1]=Math.round(hn[1]),hn[2]=Math.round(hn[2]),gt+=gn,yt+=hn[0]*gn,Et+=hn[1]*gn,Xe+=hn[2]*gn,hn}return[0,0,0,0]}function Te(en,gn,hn,Mn){var Rn=en[hn.bin0];if(Rn===void 0)return Ie(void 0,1);var Jn=en[hn.bin1],na=gn[hn.bin0],ha=gn[hn.bin1],ia=Jn-Rn||0,aa=na-Rn||0,Sr;return Jn===void 0?ha===void 0?Sr=0:na===void 0?Sr=2*(ha-Rn):Sr=(2*ha-na-Rn)*2/3:ha===void 0?na===void 0?Sr=0:Sr=(2*Rn-Jn-na)*2/3:na===void 0?Sr=(2*ha-Jn-Rn)*2/3:Sr=ha+Rn-Jn-na,Ie(Rn+hn.frac*ia+Mn.frac*(aa+hn.frac*Sr))}if(xe!=="default"){var he=0,me;try{me=new Uint8Array(we*Ce*4)}catch{me=new Array(we*Ce*4)}if(xe==="smooth"){var Re=Z||k,Ne=ee||V,st=new Array(Re.length),ft=new Array(Ne.length),At=new Array(Ae),Ft=Z?T:y,Ht=ee?T:y,Gt,Rt,qt;for(ue=0;ueCr||Cr>_._length))for(ae=Vt;aeWe||We>s._length)){var It=t({x:je,y:ir},G,L._fullLayout);It.x=je,It.y=ir;var kt=F.z[ue][ae];kt===void 0?(It.z="",It.zLabel=""):(It.z=kt,It.zLabel=w.tickText(wt,kt,"hover").text);var Yt=F.text&&F.text[ue]&&F.text[ue][ae];(Yt===void 0||Yt===!1)&&(Yt=""),It.text=Yt;var ar=d.texttemplateString(ct,It,L._fullLayout._d3locale,It,G._meta||{});if(ar){var lr=ar.split("
"),rr=lr.length,Nt=0;for(de=0;de0&&(t=!0);for(var n=0;nd){var p=d-C[E];return C[E]=d,p}}else return C[E]=d,d;return 0},max:function(E,a,C,w){var d=w[a];if(v(d))if(d=Number(d),v(C[E])){if(C[E]M&&MC){var _=b===E?1:6,A=b===E?"M12":"M1";return function(D,F){var G=x.c2d(D,E,f),O=G.indexOf("-",_);O>0&&(G=G.substr(0,O));var H=x.d2c(G,0,f);if(Hp?u>C?u>E*1.1?E:u>a*1.1?a:C:u>w?w:u>d?d:p:Math.pow(10,Math.floor(Math.log(u)/Math.LN10))}function o(u,i,g,h,x,f){if(h&&u>C){var l=n(i,x,f),y=n(g,x,f),T=u===E?0:1;return l[T]!==y[T]}return Math.floor(g/u)-Math.floor(i/u)>.1}function n(u,i,g){var h=i.c2d(u,E,g).split("-");return h[0]===""&&(h.unshift(),h[0]="-"+h[0]),h}},72138:function(U,B,e){var v=e(92770),E=e(71828),a=e(73972),C=e(89298),w=e(75341),d=e(59575),p=e(36362),t=e(42174),r=e(40965);function c(g,h){var x=[],f=[],l=h.orientation==="h",y=C.getFromId(g,l?h.yaxis:h.xaxis),T=l?"y":"x",S={x:"y",y:"x"}[T],L=h[T+"calendar"],m=h.cumulative,M,b=o(g,h,y,T),s=b[0],_=b[1],A=typeof s.size=="string",D=[],F=A?D:s,G=[],O=[],H=[],z=0,k=h.histnorm,V=h.histfunc,Z=k.indexOf("density")!==-1,ee,Q,ne;m.enabled&&Z&&(k=k.replace(/ ?density$/,""),Z=!1);var fe=V==="max"||V==="min",$=fe?null:0,Y=d.count,j=p[k],X=!1,re=function(He){return y.r2c(He,0,L)},le;for(E.isArrayOrTypedArray(h[S])&&V!=="count"&&(le=h[S],X=V==="avg",Y=d[V]),M=re(s.start),Q=re(s.end)+(M-C.tickIncrement(M,s.size,!1,L))/1e6;M=0&&ne=we;M--)if(f[M]){Ce=M;break}for(M=we;M<=Ce;M++)if(v(x[M])&&v(f[M])){var Ge={p:x[M],s:f[M],b:0};m.enabled||(Ge.pts=H[M],ae?Ge.ph0=Ge.ph1=H[M].length?_[H[M][0]]:x[M]:(h._computePh=!0,Ge.ph0=Be(D[M]),Ge.ph1=Be(D[M+1],!0))),Ee.push(Ge)}return Ee.length===1&&(Ee[0].width1=C.tickIncrement(Ee[0].p,s.size,!1,L)-Ee[0].p),w(Ee,h),E.isArrayOrTypedArray(h.selectedpoints)&&E.tagSelected(Ee,h,Se),Ee}function o(g,h,x,f,l){var y=f+"bins",T=g._fullLayout,S=h["_"+f+"bingroup"],L=T._histogramBinOpts[S],m=T.barmode==="overlay",M,b,s,_,A,D,F,G=function(Ae){return x.r2c(Ae,0,_)},O=function(Ae){return x.c2r(Ae,0,_)},H=x.type==="date"?function(Ae){return Ae||Ae===0?E.cleanDate(Ae,null,_):null}:function(Ae){return v(Ae)?Number(Ae):null};function z(Ae,Be,Oe){Be[Ae+"Found"]?(Be[Ae]=H(Be[Ae]),Be[Ae]===null&&(Be[Ae]=Oe[Ae])):(D[Ae]=Be[Ae]=Oe[Ae],E.nestedProperty(b[0],y+"."+Ae).set(Oe[Ae]))}if(h["_"+f+"autoBinFinished"])delete h["_"+f+"autoBinFinished"];else{b=L.traces;var k=[],V=!0,Z=!1,ee=!1;for(M=0;Mx.r2l(le)&&(te=C.tickIncrement(te,L.size,!0,_)),Y.start=x.l2r(te),re||E.nestedProperty(h,y+".start").set(Y.start)}var ue=L.end,ae=x.r2l($.end),de=ae!==void 0;if((L.endFound||de)&&ae!==x.r2l(ue)){var xe=de?ae:E.aggNums(Math.max,null,A);Y.end=x.l2r(xe),de||E.nestedProperty(h,y+".start").set(Y.end)}var Se="autobin"+f;return h._input[Se]===!1&&(h._input[y]=E.extendFlat({},h[y]||{}),delete h._input[Se],delete h[Se]),[Y,A]}function n(g,h,x,f,l){var y=g._fullLayout,T=u(g,h),S=!1,L=1/0,m=[h],M,b,s;for(M=0;M=0;f--)S(f);else if(h==="increasing"){for(f=1;f=0;f--)g[f]+=g[f+1];x==="exclude"&&(g.push(0),g.shift())}}U.exports={calc:c,calcAllAutoBins:o}},72406:function(U){U.exports={eventDataKeys:["binNumber"]}},82222:function(U,B,e){var v=e(71828),E=e(41675),a=e(73972).traceIs,C=e(26125),w=v.nestedProperty,d=e(99082).getAxisGroup,p=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],t=["x","y"];U.exports=function(c,o){var n=o._histogramBinOpts={},u=[],i={},g=[],h,x,f,l,y,T,S;function L(ee,Q){return v.coerce(h._input,h,h._module.attributes,ee,Q)}function m(ee){return ee.orientation==="v"?"x":"y"}function M(ee,Q){var ne=E.getFromTrace({_fullLayout:o},ee,Q);return ne.type}function b(ee,Q,ne){var fe=ee.uid+"__"+ne;Q||(Q=fe);var $=M(ee,ne),Y=ee[ne+"calendar"]||"",j=n[Q],X=!0;j&&($===j.axType&&Y===j.calendar?(X=!1,j.traces.push(ee),j.dirs.push(ne)):(Q=fe,$!==j.axType&&v.warn(["Attempted to group the bins of trace",ee.index,"set on a","type:"+$,"axis","with bins on","type:"+j.axType,"axis."].join(" ")),Y!==j.calendar&&v.warn(["Attempted to group the bins of trace",ee.index,"set with a",Y,"calendar","with bins",j.calendar?"on a "+j.calendar+" calendar":"w/o a set calendar"].join(" ")))),X&&(n[Q]={traces:[ee],dirs:[ne],axType:$,calendar:ee[ne+"calendar"]||""}),ee["_"+ne+"bingroup"]=Q}for(y=0;yG&&_.splice(G,_.length-G),F.length>G&&F.splice(G,F.length-G);var O=[],H=[],z=[],k=typeof s.size=="string",V=typeof D.size=="string",Z=[],ee=[],Q=k?Z:s,ne=V?ee:D,fe=0,$=[],Y=[],j=u.histnorm,X=u.histfunc,re=j.indexOf("density")!==-1,le=X==="max"||X==="min",q=le?null:0,te=a.count,ue=C[j],ae=!1,de=[],xe=[],Se="z"in u?u.z:"marker"in u&&Array.isArray(u.marker.color)?u.marker.color:"";Se&&X!=="count"&&(ae=X==="avg",te=a[X]);var Ae=s.size,Be=f(s.start),Oe=f(s.end)+(Be-E.tickIncrement(Be,Ae,!1,h))/1e6;for(S=Be;S=0&&m=0&&M-1,flipY:H.tiling.flip.indexOf("y")>-1,orientation:H.tiling.orientation,pad:{inner:H.tiling.pad},maxDepth:H._maxDepth}),ee=Z.descendants(),Q=1/0,ne=-1/0;ee.forEach(function(X){var re=X.depth;re>=H._maxDepth?(X.x0=X.x1=(X.x0+X.x1)/2,X.y0=X.y1=(X.y0+X.y1)/2):(Q=Math.min(Q,re),ne=Math.max(ne,re))}),h=h.data(ee,t.getPtId),H._maxVisibleLayers=isFinite(ne)?ne-Q+1:0,h.enter().append("g").classed("slice",!0),b(h,o,D,[f,l],S),h.order();var fe=null;if(M&&A){var $=t.getPtId(A);h.each(function(X){fe===null&&t.getPtId(X)===$&&(fe={x0:X.x0,x1:X.x1,y0:X.y0,y1:X.y1})})}var Y=function(){return fe||{x0:0,x1:f,y0:0,y1:l}},j=h;return M&&(j=j.transition().each("end",function(){var X=v.select(this);t.setSliceCursor(X,u,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),j.each(function(X){X._x0=y(X.x0),X._x1=y(X.x1),X._y0=T(X.y0),X._y1=T(X.y1),X._hoverX=y(X.x1-H.tiling.pad),X._hoverY=T(V?X.y1-H.tiling.pad/2:X.y0+H.tiling.pad/2);var re=v.select(this),le=E.ensureSingle(re,"path","surface",function(ae){ae.style("pointer-events",F?"none":"all")});M?le.transition().attrTween("d",function(ae){var de=s(ae,o,Y(),[f,l],{orientation:H.tiling.orientation,flipX:H.tiling.flip.indexOf("x")>-1,flipY:H.tiling.flip.indexOf("y")>-1});return function(xe){return S(de(xe))}}):le.attr("d",S),re.call(r,g,u,i,{styleOne:d,eventDataKeys:p.eventDataKeys,transitionTime:p.CLICK_TRANSITION_TIME,transitionEasing:p.CLICK_TRANSITION_EASING}).call(t.setSliceCursor,u,{isTransitioning:u._transitioning}),le.call(d,X,H,{hovered:!1}),X.x0===X.x1||X.y0===X.y1?X._text="":X._text=c(X,g,H,i,G)||"";var q=E.ensureSingle(re,"g","slicetext"),te=E.ensureSingle(q,"text","",function(ae){ae.attr("data-notex",1)}),ue=E.ensureUniformFontSize(u,t.determineTextFont(H,X,G.font));te.text(X._text||" ").classed("slicetext",!0).attr("text-anchor",k?"end":z?"start":"middle").call(a.font,ue).call(C.convertToTspans,u),X.textBB=a.bBox(te.node()),X.transform=L(X,{fontSize:ue.size}),X.transform.fontSize=ue.size,M?te.transition().attrTween("transform",function(ae){var de=_(ae,o,Y(),[f,l]);return function(xe){return m(de(xe))}}):te.attr("transform",m(X))}),fe}},69816:function(U,B,e){U.exports={moduleType:"trace",name:"icicle",basePlotModule:e(96346),categories:[],animatable:!0,attributes:e(46291),layoutAttributes:e(92894),supplyDefaults:e(56524),supplyLayoutDefaults:e(21070),calc:e(46584).y,crossTraceCalc:e(46584).T,plot:e(85596),style:e(82454).style,colorbar:e(4898),meta:{}}},92894:function(U){U.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},21070:function(U,B,e){var v=e(71828),E=e(92894);U.exports=function(C,w){function d(p,t){return v.coerce(C,w,E,p,t)}d("iciclecolorway",w.colorway),d("extendiciclecolors")}},21538:function(U,B,e){var v=e(674),E=e(14102);U.exports=function(C,w,d){var p=d.flipX,t=d.flipY,r=d.orientation==="h",c=d.maxDepth,o=w[0],n=w[1];c&&(o=(C.height+1)*w[0]/Math.min(C.height+1,c),n=(C.height+1)*w[1]/Math.min(C.height+1,c));var u=v.partition().padding(d.pad.inner).size(r?[w[1],o]:[w[0],n])(C);return(r||p||t)&&E(u,w,{swapXY:r,flipX:p,flipY:t}),u}},85596:function(U,B,e){var v=e(80694),E=e(90666);U.exports=function(C,w,d,p){return v(C,w,d,p,{type:"icicle",drawDescendants:E})}},82454:function(U,B,e){var v=e(39898),E=e(7901),a=e(71828),C=e(72597).resizeText;function w(p){var t=p._fullLayout._iciclelayer.selectAll(".trace");C(p,t,"icicle"),t.each(function(r){var c=v.select(this),o=r[0],n=o.trace;c.style("opacity",n.opacity),c.selectAll("path.surface").each(function(u){v.select(this).call(d,u,n)})})}function d(p,t,r){var c=t.data.data,o=!t.children,n=c.i,u=a.castOption(r,n,"marker.line.color")||E.defaultLine,i=a.castOption(r,n,"marker.line.width")||0;p.style("stroke-width",i).call(E.fill,c.color).call(E.stroke,u).style("opacity",o?r.leaf.opacity:null)}U.exports={style:w,styleOne:d}},17230:function(U,B,e){for(var v=e(9012),E=e(5386).fF,a=e(1426).extendFlat,C=e(51877).colormodel,w=["rgb","rgba","rgba256","hsl","hsla"],d=[],p=[],t=0;t0||v.inbox(p-t.y0,p-(t.y0+t.h*r.dy),0)>0)){var n=Math.floor((d-t.x0)/r.dx),u=Math.floor(Math.abs(p-t.y0)/r.dy),i;if(r._hasZ?i=t.z[u][n]:r._hasSource&&(i=r._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(n,u,1,1).data),!!i){var g=t.hi||r.hoverinfo,h;if(g){var x=g.split("+");x.indexOf("all")!==-1&&(x=["color"]),x.indexOf("color")!==-1&&(h=!0)}var f=a.colormodel[r.colormodel],l=f.colormodel||r.colormodel,y=l.length,T=r._scaler(i),S=f.suffix,L=[];(r.hovertemplate||h)&&(L.push("["+[T[0]+S[0],T[1]+S[1],T[2]+S[2]].join(", ")),y===4&&L.push(", "+T[3]+S[3]),L.push("]"),L=L.join(""),w.extraText=l.toUpperCase()+": "+L);var m;Array.isArray(r.hovertext)&&Array.isArray(r.hovertext[u])?m=r.hovertext[u][n]:Array.isArray(r.text)&&Array.isArray(r.text[u])&&(m=r.text[u][n]);var M=o.c2p(t.y0+(u+.5)*r.dy),b=t.x0+(n+.5)*r.dx,s=t.y0+(u+.5)*r.dy,_="["+i.slice(0,r.colormodel.length).join(", ")+"]";return[E.extendFlat(w,{index:[u,n],x0:c.c2p(t.x0+n*r.dx),x1:c.c2p(t.x0+(n+1)*r.dx),y0:M,y1:M,color:T,xVal:b,xLabelVal:b,yVal:s,yLabelVal:s,zLabelVal:_,text:m,hovertemplateLabels:{zLabel:_,colorLabel:L,"color[0]Label":T[0]+S[0],"color[1]Label":T[1]+S[1],"color[2]Label":T[2]+S[2],"color[3]Label":T[3]+S[3]}})]}}}},94507:function(U,B,e){U.exports={attributes:e(17230),supplyDefaults:e(13245),calc:e(71113),plot:e(60775),style:e(12826),hoverPoints:e(28749),eventData:e(30835),moduleType:"trace",name:"image",basePlotModule:e(93612),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},60775:function(U,B,e){var v=e(39898),E=e(71828),a=E.strTranslate,C=e(77922),w=e(51877),d=e(3883),p=e(32396).STYLE;U.exports=function(r,c,o,n){var u=c.xaxis,i=c.yaxis,g=!r._context._exportedPlot&&d();E.makeTraceGroups(n,o,"im").each(function(h){var x=v.select(this),f=h[0],l=f.trace,y=(l.zsmooth==="fast"||l.zsmooth===!1&&g)&&!l._hasZ&&l._hasSource&&u.type==="linear"&&i.type==="linear";l._realImage=y;var T=f.z,S=f.x0,L=f.y0,m=f.w,M=f.h,b=l.dx,s=l.dy,_,A,D,F,G,O;for(O=0;_===void 0&&O0;)A=u.c2p(S+O*b),O--;for(O=0;F===void 0&&O0;)G=i.c2p(L+O*s),O--;if(A<_&&(D=A,A=_,_=D),G$[0];if(Y||j){var X=_+z/2,re=F+k/2;ne+="transform:"+a(X+"px",re+"px")+"scale("+(Y?-1:1)+","+(j?-1:1)+")"+a(-X+"px",-re+"px")+";"}}Q.attr("style",ne);var le=new Promise(function(q){if(l._hasZ)q();else if(l._hasSource)if(l._canvas&&l._canvas.el.width===m&&l._canvas.el.height===M&&l._canvas.source===l.source)q();else{var te=document.createElement("canvas");te.width=m,te.height=M;var ue=te.getContext("2d",{willReadFrequently:!0});l._image=l._image||new Image;var ae=l._image;ae.onload=function(){ue.drawImage(ae,0,0),l._canvas={el:te,source:l.source},q()},ae.setAttribute("src",l.source)}}).then(function(){var q,te;if(l._hasZ)te=ee(function(de,xe){return T[xe][de]}),q=te.toDataURL("image/png");else if(l._hasSource)if(y)q=l.source;else{var ue=l._canvas.el.getContext("2d",{willReadFrequently:!0}),ae=ue.getImageData(0,0,m,M).data;te=ee(function(de,xe){var Se=4*(xe*m+de);return[ae[Se],ae[Se+1],ae[Se+2],ae[Se+3]]}),q=te.toDataURL("image/png")}Q.attr({"xlink:href":q,height:k,width:z,x:_,y:F})});r._promises.push(le)})}},12826:function(U,B,e){var v=e(39898);U.exports=function(a){v.select(a).selectAll(".im image").style("opacity",function(C){return C[0].trace.opacity})}},54846:function(U,B,e){var v=e(1426).extendFlat,E=e(1426).extendDeep,a=e(30962).overrideAll,C=e(41940),w=e(22399),d=e(27670).Y,p=e(13838),t=e(44467).templatedArray,r=e(22372),c=e(12663).descriptionOnlyNumbers,o=C({editType:"plot",colorEditType:"plot"}),n={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:w.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},u={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},i=t("step",E({},n,{range:u}));U.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:d({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:v({},o,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:c("value")},font:v({},o,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:c("value")},increasing:{symbol:{valType:"string",dflt:r.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:r.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:r.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:r.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:v({},o,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:E({},n,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:w.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:a({range:u,visible:v({},p.visible,{dflt:!0}),tickmode:p.minor.tickmode,nticks:p.nticks,tick0:p.tick0,dtick:p.dtick,tickvals:p.tickvals,ticktext:p.ticktext,ticks:v({},p.ticks,{dflt:"outside"}),ticklen:p.ticklen,tickwidth:p.tickwidth,tickcolor:p.tickcolor,ticklabelstep:p.ticklabelstep,showticklabels:p.showticklabels,labelalias:p.labelalias,tickfont:C({}),tickangle:p.tickangle,tickformat:p.tickformat,tickformatstops:p.tickformatstops,tickprefix:p.tickprefix,showtickprefix:p.showtickprefix,ticksuffix:p.ticksuffix,showticksuffix:p.showticksuffix,separatethousands:p.separatethousands,exponentformat:p.exponentformat,minexponent:p.minexponent,showexponent:p.showexponent,editType:"plot"},"plot"),steps:i,threshold:{line:{color:v({},n.line.color,{}),width:v({},n.line.width,{dflt:1}),editType:"plot"},thickness:v({},n.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},15970:function(U,B,e){var v=e(74875);B.name="indicator",B.plot=function(E,a,C,w){v.plotBasePlot(B.name,E,a,C,w)},B.clean=function(E,a,C,w){v.cleanBasePlot(B.name,E,a,C,w)}},24667:function(U){function B(e,v){var E=[],a=v.value;typeof v._lastValue!="number"&&(v._lastValue=v.value);var C=v._lastValue,w=C;return v._hasDelta&&typeof v.delta.reference=="number"&&(w=v.delta.reference),E[0]={y:a,lastY:C,delta:a-w,relativeDelta:(a-w)/w},E}U.exports={calc:B}},84577:function(U){U.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},94425:function(U,B,e){var v=e(71828),E=e(54846),a=e(27670).c,C=e(44467),w=e(85501),d=e(84577),p=e(26218),t=e(38701),r=e(96115),c=e(89426);function o(u,i,g,h){function x(G,O){return v.coerce(u,i,E,G,O)}a(i,h,x),x("mode"),i._hasNumber=i.mode.indexOf("number")!==-1,i._hasDelta=i.mode.indexOf("delta")!==-1,i._hasGauge=i.mode.indexOf("gauge")!==-1;var f=x("value");i._range=[0,typeof f=="number"?1.5*f:1];var l=new Array(2),y;i._hasNumber&&(x("number.valueformat"),x("number.font.color",h.font.color),x("number.font.family",h.font.family),x("number.font.size"),i.number.font.size===void 0&&(i.number.font.size=d.defaultNumberFontSize,l[0]=!0),x("number.prefix"),x("number.suffix"),y=i.number.font.size);var T;i._hasDelta&&(x("delta.font.color",h.font.color),x("delta.font.family",h.font.family),x("delta.font.size"),i.delta.font.size===void 0&&(i.delta.font.size=(i._hasNumber?.5:1)*(y||d.defaultNumberFontSize),l[1]=!0),x("delta.reference",i.value),x("delta.relative"),x("delta.valueformat",i.delta.relative?"2%":""),x("delta.increasing.symbol"),x("delta.increasing.color"),x("delta.decreasing.symbol"),x("delta.decreasing.color"),x("delta.position"),x("delta.prefix"),x("delta.suffix"),T=i.delta.font.size),i._scaleNumbers=(!i._hasNumber||l[0])&&(!i._hasDelta||l[1])||!1,x("title.font.color",h.font.color),x("title.font.family",h.font.family),x("title.font.size",.25*(y||T||d.defaultNumberFontSize)),x("title.text");var S,L,m,M;function b(G,O){return v.coerce(S,L,E.gauge,G,O)}function s(G,O){return v.coerce(m,M,E.gauge.axis,G,O)}if(i._hasGauge){S=u.gauge,S||(S={}),L=C.newContainer(i,"gauge"),b("shape");var _=i._isBullet=i.gauge.shape==="bullet";_||x("title.align","center");var A=i._isAngular=i.gauge.shape==="angular";A||x("align","center"),b("bgcolor",h.paper_bgcolor),b("borderwidth"),b("bordercolor"),b("bar.color"),b("bar.line.color"),b("bar.line.width");var D=d.valueThickness*(i.gauge.shape==="bullet"?.5:1);b("bar.thickness",D),w(S,L,{name:"steps",handleItemDefaults:n}),b("threshold.value"),b("threshold.thickness"),b("threshold.line.width"),b("threshold.line.color"),m={},S&&(m=S.axis||{}),M=C.newContainer(L,"axis"),s("visible"),i._range=s("range",i._range);var F={outerTicks:!0};p(m,M,s,"linear"),c(m,M,s,"linear",F),r(m,M,s,"linear",F),t(m,M,s,F)}else x("title.align","center"),x("align","center"),i._isAngular=i._isBullet=!1;i._length=null}function n(u,i){function g(h,x){return v.coerce(u,i,E.gauge.steps,h,x)}g("color"),g("line.color"),g("line.width"),g("range"),g("thickness")}U.exports={supplyDefaults:o}},15154:function(U,B,e){U.exports={moduleType:"trace",name:"indicator",basePlotModule:e(15970),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:e(54846),supplyDefaults:e(94425).supplyDefaults,calc:e(24667).calc,plot:e(75634),meta:{}}},75634:function(U,B,e){var v=e(39898),E=e(81684).sX,a=e(81684).k4,C=e(71828),w=C.strScale,d=C.strTranslate,p=C.rad2deg,t=e(18783).MID_SHIFT,r=e(91424),c=e(84577),o=e(63893),n=e(89298),u=e(71453),i=e(52830),g=e(13838),h=e(7901),x={left:"start",center:"middle",right:"end"},f={left:0,center:.5,right:1},l=/[yzafpnµmkMGTPEZY]/;function y(F){return F&&F.duration>0}U.exports=function(G,O,H,z){var k=G._fullLayout,V;y(H)&&z&&(V=z()),C.makeTraceGroups(k._indicatorlayer,O,"trace").each(function(Z){var ee=Z[0],Q=ee.trace,ne=v.select(this),fe=Q._hasGauge,$=Q._isAngular,Y=Q._isBullet,j=Q.domain,X={w:k._size.w*(j.x[1]-j.x[0]),h:k._size.h*(j.y[1]-j.y[0]),l:k._size.l+k._size.w*j.x[0],r:k._size.r+k._size.w*(1-j.x[1]),t:k._size.t+k._size.h*(1-j.y[1]),b:k._size.b+k._size.h*j.y[0]},re=X.l+X.w/2,le=X.t+X.h/2,q=Math.min(X.w/2,X.h),te=c.innerRadius*q,ue,ae,de,xe=Q.align||"center";if(ae=le,!fe)ue=X.l+f[xe]*X.w,de=function(De){return s(De,X.w,X.h)};else if($&&(ue=re,ae=le+q/2,de=function(De){return _(De,.9*te)}),Y){var Se=c.bulletPadding,Ae=1-c.bulletNumberDomainSize+Se;ue=X.l+(Ae+(1-Ae)*f[xe])*X.w,de=function(De){return s(De,(c.bulletNumberDomainSize-Se)*X.w,X.h)}}L(G,ne,Z,{numbersX:ue,numbersY:ae,numbersScaler:de,transitionOpts:H,onComplete:V});var Be,Oe;fe&&(Be={range:Q.gauge.axis.range,color:Q.gauge.bgcolor,line:{color:Q.gauge.bordercolor,width:0},thickness:1},Oe={range:Q.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:Q.gauge.bordercolor,width:Q.gauge.borderwidth},thickness:1});var Ee=ne.selectAll("g.angular").data($?Z:[]);Ee.exit().remove();var we=ne.selectAll("g.angularaxis").data($?Z:[]);we.exit().remove(),$&&S(G,ne,Z,{radius:q,innerRadius:te,gauge:Ee,layer:we,size:X,gaugeBg:Be,gaugeOutline:Oe,transitionOpts:H,onComplete:V});var Ce=ne.selectAll("g.bullet").data(Y?Z:[]);Ce.exit().remove();var Ge=ne.selectAll("g.bulletaxis").data(Y?Z:[]);Ge.exit().remove(),Y&&T(G,ne,Z,{gauge:Ce,layer:Ge,size:X,gaugeBg:Be,gaugeOutline:Oe,transitionOpts:H,onComplete:V});var He=ne.selectAll("text.title").data(Z);He.exit().remove(),He.enter().append("text").classed("title",!0),He.attr("text-anchor",function(){return Y?x.right:x[Q.title.align]}).text(Q.title.text).call(r.font,Q.title.font).call(o.convertToTspans,G),He.attr("transform",function(){var De=X.l+X.w*f[Q.title.align],Fe,qe=c.titlePadding,Qe=r.bBox(He.node());if(fe){if($)if(Q.gauge.axis.visible){var Je=r.bBox(we.node());Fe=Je.top-qe-Qe.bottom}else Fe=X.t+X.h/2-q/2-Qe.bottom-qe;Y&&(Fe=ae-(Qe.top+Qe.bottom)/2,De=X.l-c.bulletPadding*X.w)}else Fe=Q._numbersTop-qe-Qe.bottom;return d(De,Fe)})})};function T(F,G,O,H){var z=O[0].trace,k=H.gauge,V=H.layer,Z=H.gaugeBg,ee=H.gaugeOutline,Q=H.size,ne=z.domain,fe=H.transitionOpts,$=H.onComplete,Y,j,X,re,le;k.enter().append("g").classed("bullet",!0),k.attr("transform",d(Q.l,Q.t)),V.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),V.selectAll("g.xbulletaxistick,path,text").remove();var q=Q.h,te=z.gauge.bar.thickness*q,ue=ne.x[0],ae=ne.x[0]+(ne.x[1]-ne.x[0])*(z._hasNumber||z._hasDelta?1-c.bulletNumberDomainSize:1);Y=b(F,z.gauge.axis),Y._id="xbulletaxis",Y.domain=[ue,ae],Y.setScale(),j=n.calcTicks(Y),X=n.makeTransTickFn(Y),re=n.getTickSigns(Y)[2],le=Q.t+Q.h,Y.visible&&(n.drawTicks(F,Y,{vals:Y.ticks==="inside"?n.clipEnds(Y,j):j,layer:V,path:n.makeTickPath(Y,le,re),transFn:X}),n.drawLabels(F,Y,{vals:j,layer:V,transFn:X,labelFns:n.makeLabelFns(Y,le)}));function de(we){we.attr("width",function(Ce){return Math.max(0,Y.c2p(Ce.range[1])-Y.c2p(Ce.range[0]))}).attr("x",function(Ce){return Y.c2p(Ce.range[0])}).attr("y",function(Ce){return .5*(1-Ce.thickness)*q}).attr("height",function(Ce){return Ce.thickness*q})}var xe=[Z].concat(z.gauge.steps),Se=k.selectAll("g.bg-bullet").data(xe);Se.enter().append("g").classed("bg-bullet",!0).append("rect"),Se.select("rect").call(de).call(m),Se.exit().remove();var Ae=k.selectAll("g.value-bullet").data([z.gauge.bar]);Ae.enter().append("g").classed("value-bullet",!0).append("rect"),Ae.select("rect").attr("height",te).attr("y",(q-te)/2).call(m),y(fe)?Ae.select("rect").transition().duration(fe.duration).ease(fe.easing).each("end",function(){$&&$()}).each("interrupt",function(){$&&$()}).attr("width",Math.max(0,Y.c2p(Math.min(z.gauge.axis.range[1],O[0].y)))):Ae.select("rect").attr("width",typeof O[0].y=="number"?Math.max(0,Y.c2p(Math.min(z.gauge.axis.range[1],O[0].y))):0),Ae.exit().remove();var Be=O.filter(function(){return z.gauge.threshold.value||z.gauge.threshold.value===0}),Oe=k.selectAll("g.threshold-bullet").data(Be);Oe.enter().append("g").classed("threshold-bullet",!0).append("line"),Oe.select("line").attr("x1",Y.c2p(z.gauge.threshold.value)).attr("x2",Y.c2p(z.gauge.threshold.value)).attr("y1",(1-z.gauge.threshold.thickness)/2*q).attr("y2",(1-(1-z.gauge.threshold.thickness)/2)*q).call(h.stroke,z.gauge.threshold.line.color).style("stroke-width",z.gauge.threshold.line.width),Oe.exit().remove();var Ee=k.selectAll("g.gauge-outline").data([ee]);Ee.enter().append("g").classed("gauge-outline",!0).append("rect"),Ee.select("rect").call(de).call(m),Ee.exit().remove()}function S(F,G,O,H){var z=O[0].trace,k=H.size,V=H.radius,Z=H.innerRadius,ee=H.gaugeBg,Q=H.gaugeOutline,ne=[k.l+k.w/2,k.t+k.h/2+V/2],fe=H.gauge,$=H.layer,Y=H.transitionOpts,j=H.onComplete,X=Math.PI/2;function re(tt){var ht=z.gauge.axis.range[0],gt=z.gauge.axis.range[1],yt=(tt-ht)/(gt-ht)*Math.PI-X;return yt<-X?-X:yt>X?X:yt}function le(tt){return v.svg.arc().innerRadius((Z+V)/2-tt/2*(V-Z)).outerRadius((Z+V)/2+tt/2*(V-Z)).startAngle(-X)}function q(tt){tt.attr("d",function(ht){return le(ht.thickness).startAngle(re(ht.range[0])).endAngle(re(ht.range[1]))()})}var te,ue,ae,de;fe.enter().append("g").classed("angular",!0),fe.attr("transform",d(ne[0],ne[1])),$.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),$.selectAll("g.xangularaxistick,path,text").remove(),te=b(F,z.gauge.axis),te.type="linear",te.range=z.gauge.axis.range,te._id="xangularaxis",te.ticklabeloverflow="allow",te.setScale();var xe=function(tt){return(te.range[0]-tt.x)/(te.range[1]-te.range[0])*Math.PI+Math.PI},Se={},Ae=n.makeLabelFns(te,0),Be=Ae.labelStandoff;Se.xFn=function(tt){var ht=xe(tt);return Math.cos(ht)*Be},Se.yFn=function(tt){var ht=xe(tt),gt=Math.sin(ht)>0?.2:1;return-Math.sin(ht)*(Be+tt.fontSize*gt)+Math.abs(Math.cos(ht))*(tt.fontSize*t)},Se.anchorFn=function(tt){var ht=xe(tt),gt=Math.cos(ht);return Math.abs(gt)<.1?"middle":gt>0?"start":"end"},Se.heightFn=function(tt,ht,gt){var yt=xe(tt);return-.5*(1+Math.sin(yt))*gt};var Oe=function(tt){return d(ne[0]+V*Math.cos(tt),ne[1]-V*Math.sin(tt))};ae=function(tt){return Oe(xe(tt))};var Ee=function(tt){var ht=xe(tt);return Oe(ht)+"rotate("+-p(ht)+")"};if(ue=n.calcTicks(te),de=n.getTickSigns(te)[2],te.visible){de=te.ticks==="inside"?-1:1;var we=(te.linewidth||1)/2;n.drawTicks(F,te,{vals:ue,layer:$,path:"M"+de*we+",0h"+de*te.ticklen,transFn:Ee}),n.drawLabels(F,te,{vals:ue,layer:$,transFn:ae,labelFns:Se})}var Ce=[ee].concat(z.gauge.steps),Ge=fe.selectAll("g.bg-arc").data(Ce);Ge.enter().append("g").classed("bg-arc",!0).append("path"),Ge.select("path").call(q).call(m),Ge.exit().remove();var He=le(z.gauge.bar.thickness),De=fe.selectAll("g.value-arc").data([z.gauge.bar]);De.enter().append("g").classed("value-arc",!0).append("path");var Fe=De.select("path");y(Y)?(Fe.transition().duration(Y.duration).ease(Y.easing).each("end",function(){j&&j()}).each("interrupt",function(){j&&j()}).attrTween("d",M(He,re(O[0].lastY),re(O[0].y))),z._lastValue=O[0].y):Fe.attr("d",typeof O[0].y=="number"?He.endAngle(re(O[0].y)):"M0,0Z"),Fe.call(m),De.exit().remove(),Ce=[];var qe=z.gauge.threshold.value;(qe||qe===0)&&Ce.push({range:[qe,qe],color:z.gauge.threshold.color,line:{color:z.gauge.threshold.line.color,width:z.gauge.threshold.line.width},thickness:z.gauge.threshold.thickness});var Qe=fe.selectAll("g.threshold-arc").data(Ce);Qe.enter().append("g").classed("threshold-arc",!0).append("path"),Qe.select("path").call(q).call(m),Qe.exit().remove();var Je=fe.selectAll("g.gauge-outline").data([Q]);Je.enter().append("g").classed("gauge-outline",!0).append("path"),Je.select("path").call(q).call(m),Je.exit().remove()}function L(F,G,O,H){var z=O[0].trace,k=H.numbersX,V=H.numbersY,Z=z.align||"center",ee=x[Z],Q=H.transitionOpts,ne=H.onComplete,fe=C.ensureSingle(G,"g","numbers"),$,Y,j,X=[];z._hasNumber&&X.push("number"),z._hasDelta&&(X.push("delta"),z.delta.position==="left"&&X.reverse());var re=fe.selectAll("text").data(X);re.enter().append("text"),re.attr("text-anchor",function(){return ee}).attr("class",function(Oe){return Oe}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),re.exit().remove();function le(Oe,Ee,we,Ce){if(Oe.match("s")&&we>=0!=Ce>=0&&!Ee(we).slice(-1).match(l)&&!Ee(Ce).slice(-1).match(l)){var Ge=Oe.slice().replace("s","f").replace(/\d+/,function(De){return parseInt(De)-1}),He=b(F,{tickformat:Ge});return function(De){return Math.abs(De)<1?n.tickText(He,De).text:Ee(De)}}else return Ee}function q(){var Oe=b(F,{tickformat:z.number.valueformat},z._range);Oe.setScale(),n.prepTicks(Oe);var Ee=function(De){return n.tickText(Oe,De).text},we=z.number.suffix,Ce=z.number.prefix,Ge=fe.select("text.number");function He(){var De=typeof O[0].y=="number"?Ce+Ee(O[0].y)+we:"-";Ge.text(De).call(r.font,z.number.font).call(o.convertToTspans,F)}return y(Q)?Ge.transition().duration(Q.duration).ease(Q.easing).each("end",function(){He(),ne&&ne()}).each("interrupt",function(){He(),ne&&ne()}).attrTween("text",function(){var De=v.select(this),Fe=a(O[0].lastY,O[0].y);z._lastValue=O[0].y;var qe=le(z.number.valueformat,Ee,O[0].lastY,O[0].y);return function(Qe){De.text(Ce+qe(Fe(Qe))+we)}}):He(),$=A(Ce+Ee(O[0].y)+we,z.number.font,ee,F),Ge}function te(){var Oe=b(F,{tickformat:z.delta.valueformat},z._range);Oe.setScale(),n.prepTicks(Oe);var Ee=function(Qe){return n.tickText(Oe,Qe).text},we=z.delta.suffix,Ce=z.delta.prefix,Ge=function(Qe){var Je=z.delta.relative?Qe.relativeDelta:Qe.delta;return Je},He=function(Qe,Je){return Qe===0||typeof Qe!="number"||isNaN(Qe)?"-":(Qe>0?z.delta.increasing.symbol:z.delta.decreasing.symbol)+Ce+Je(Qe)+we},De=function(Qe){return Qe.delta>=0?z.delta.increasing.color:z.delta.decreasing.color};z._deltaLastValue===void 0&&(z._deltaLastValue=Ge(O[0]));var Fe=fe.select("text.delta");Fe.call(r.font,z.delta.font).call(h.fill,De({delta:z._deltaLastValue}));function qe(){Fe.text(He(Ge(O[0]),Ee)).call(h.fill,De(O[0])).call(o.convertToTspans,F)}return y(Q)?Fe.transition().duration(Q.duration).ease(Q.easing).tween("text",function(){var Qe=v.select(this),Je=Ge(O[0]),tt=z._deltaLastValue,ht=le(z.delta.valueformat,Ee,tt,Je),gt=a(tt,Je);return z._deltaLastValue=Je,function(yt){Qe.text(He(gt(yt),ht)),Qe.call(h.fill,De({delta:gt(yt)}))}}).each("end",function(){qe(),ne&&ne()}).each("interrupt",function(){qe(),ne&&ne()}):qe(),Y=A(He(Ge(O[0]),Ee),z.delta.font,ee,F),Fe}var ue=z.mode+z.align,ae;if(z._hasDelta&&(ae=te(),ue+=z.delta.position+z.delta.font.size+z.delta.font.family+z.delta.valueformat,ue+=z.delta.increasing.symbol+z.delta.decreasing.symbol,j=Y),z._hasNumber&&(q(),ue+=z.number.font.size+z.number.font.family+z.number.valueformat+z.number.suffix+z.number.prefix,j=$),z._hasDelta&&z._hasNumber){var de=[($.left+$.right)/2,($.top+$.bottom)/2],xe=[(Y.left+Y.right)/2,(Y.top+Y.bottom)/2],Se,Ae,Be=.75*z.delta.font.size;z.delta.position==="left"&&(Se=D(z,"deltaPos",0,-1*($.width*f[z.align]+Y.width*(1-f[z.align])+Be),ue,Math.min),Ae=de[1]-xe[1],j={width:$.width+Y.width+Be,height:Math.max($.height,Y.height),left:Y.left+Se,right:$.right,top:Math.min($.top,Y.top+Ae),bottom:Math.max($.bottom,Y.bottom+Ae)}),z.delta.position==="right"&&(Se=D(z,"deltaPos",0,$.width*(1-f[z.align])+Y.width*f[z.align]+Be,ue,Math.max),Ae=de[1]-xe[1],j={width:$.width+Y.width+Be,height:Math.max($.height,Y.height),left:$.left,right:Y.right+Se,top:Math.min($.top,Y.top+Ae),bottom:Math.max($.bottom,Y.bottom+Ae)}),z.delta.position==="bottom"&&(Se=null,Ae=Y.height,j={width:Math.max($.width,Y.width),height:$.height+Y.height,left:Math.min($.left,Y.left),right:Math.max($.right,Y.right),top:$.bottom-$.height,bottom:$.bottom+Y.height}),z.delta.position==="top"&&(Se=null,Ae=$.top,j={width:Math.max($.width,Y.width),height:$.height+Y.height,left:Math.min($.left,Y.left),right:Math.max($.right,Y.right),top:$.bottom-$.height-Y.height,bottom:$.bottom}),ae.attr({dx:Se,dy:Ae})}(z._hasNumber||z._hasDelta)&&fe.attr("transform",function(){var Oe=H.numbersScaler(j);ue+=Oe[2];var Ee=D(z,"numbersScale",1,Oe[0],ue,Math.min),we;z._scaleNumbers||(Ee=1),z._isAngular?we=V-Ee*j.bottom:we=V-Ee*(j.top+j.bottom)/2,z._numbersTop=Ee*j.top+we;var Ce=j[Z];Z==="center"&&(Ce=(j.left+j.right)/2);var Ge=k-Ee*Ce;return Ge=D(z,"numbersTranslate",0,Ge,ue,Math.max),d(Ge,we)+w(Ee)})}function m(F){F.each(function(G){h.stroke(v.select(this),G.line.color)}).each(function(G){h.fill(v.select(this),G.color)}).style("stroke-width",function(G){return G.line.width})}function M(F,G,O){return function(){var H=E(G,O);return function(z){return F.endAngle(H(z))()}}}function b(F,G,O){var H=F._fullLayout,z=C.extendFlat({type:"linear",ticks:"outside",range:O,showline:!0},G),k={type:"linear",_id:"x"+G._id},V={letter:"x",font:H.font,noHover:!0,noTickson:!0};function Z(ee,Q){return C.coerce(z,k,g,ee,Q)}return u(z,k,Z,V,H),i(z,k,Z,V),k}function s(F,G,O){var H=Math.min(G/F.width,O/F.height);return[H,F,G+"x"+O]}function _(F,G){var O=Math.sqrt(F.width/2*(F.width/2)+F.height*F.height),H=G/O;return[H,F,G]}function A(F,G,O,H){var z=document.createElementNS("http://www.w3.org/2000/svg","text"),k=v.select(z);return k.text(F).attr("x",0).attr("y",0).attr("text-anchor",O).attr("data-unformatted",F).call(o.convertToTspans,H).call(r.font,G),r.bBox(k.node())}function D(F,G,O,H,z,k){var V="_cache"+G;F[V]&&F[V].key===z||(F[V]={key:z,value:O});var Z=C.aggNums(k,null,[F[V].value,H],2);return F[V].value=Z,Z}},16249:function(U,B,e){var v=e(50693),E=e(12663).axisHoverFormat,a=e(5386).fF,C=e(2418),w=e(9012),d=e(1426).extendFlat,p=e(30962).overrideAll;function t(o){return{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}}function r(o){return{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}}var c=U.exports=p(d({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:t(),y:t(),z:t()},caps:{x:r(),y:r(),z:r()},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:E("x"),yhoverformat:E("y"),zhoverformat:E("z"),valuehoverformat:E("value",1),showlegend:d({},w.showlegend,{dflt:!1})},v("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:C.opacity,lightposition:C.lightposition,lighting:C.lighting,flatshading:C.flatshading,contour:C.contour,hoverinfo:d({},w.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},56959:function(U,B,e){var v=e(78803),E=e(88489).processGrid,a=e(88489).filter;U.exports=function(w,d){d._len=Math.min(d.x.length,d.y.length,d.z.length,d.value.length),d._x=a(d.x,d._len),d._y=a(d.y,d._len),d._z=a(d.z,d._len),d._value=a(d.value,d._len);var p=E(d);d._gridFill=p.fill,d._Xs=p.Xs,d._Ys=p.Ys,d._Zs=p.Zs,d._len=p.len;for(var t=1/0,r=-1/0,c=0;c0;i--){var g=Math.min(u[i],u[i-1]),h=Math.max(u[i],u[i-1]);if(h>g&&g-1}function q(rt,it){return rt===null?it:rt}function te(rt,it,Ze){ee();var Ie=[it],Te=[Ze];if(j>=1)Ie=[it],Te=[Ze];else if(j>0){var he=re(it,Ze);Ie=he.xyzv,Te=he.abc}for(var me=0;me-1?Ze[Ne]:Z(st,ft,At);Ht>-1?Re[Ne]=Ht:Re[Ne]=ne(st,ft,At,q(rt,Ft))}fe(Re[0],Re[1],Re[2])}}function ue(rt,it,Ze){var Ie=function(Te,he,me){te(rt,[it[Te],it[he],it[me]],[Ze[Te],Ze[he],Ze[me]])};Ie(0,1,2),Ie(2,3,0)}function ae(rt,it,Ze){var Ie=function(Te,he,me){te(rt,[it[Te],it[he],it[me]],[Ze[Te],Ze[he],Ze[me]])};Ie(0,1,2),Ie(3,0,1),Ie(2,3,0),Ie(1,2,3)}function de(rt,it,Ze,Ie){var Te=rt[3];TeIe&&(Te=Ie);for(var he=(rt[3]-Te)/(rt[3]-it[3]+1e-9),me=[],Re=0;Re<4;Re++)me[Re]=(1-he)*rt[Re]+he*it[Re];return me}function xe(rt,it,Ze){return rt>=it&&rt<=Ze}function Se(rt){var it=.001*(O-G);return rt>=G-it&&rt<=O+it}function Ae(rt){for(var it=[],Ze=0;Ze<4;Ze++){var Ie=rt[Ze];it.push([n._x[Ie],n._y[Ie],n._z[Ie],n._value[Ie]])}return it}var Be=3;function Oe(rt,it,Ze,Ie,Te,he){he||(he=1),Ze=[-1,-1,-1];var me=!1,Re=[xe(it[0][3],Ie,Te),xe(it[1][3],Ie,Te),xe(it[2][3],Ie,Te)];if(!Re[0]&&!Re[1]&&!Re[2])return!1;var Ne=function(ft,At,Ft){return Se(At[0][3])&&Se(At[1][3])&&Se(At[2][3])?(te(ft,At,Ft),!0):heRe?[D,he]:[he,F];ht(it,Ne[0],Ne[1])}}var st=[[Math.min(G,F),Math.max(G,F)],[Math.min(D,O),Math.max(D,O)]];["x","y","z"].forEach(function(ft){for(var At=[],Ft=0;Ft0&&(kr.push(jt.id),ft==="x"?xt.push([jt.distRatio,0,0]):ft==="y"?xt.push([0,jt.distRatio,0]):xt.push([0,0,jt.distRatio]))}else ft==="x"?sr=Xe(1,M-1):ft==="y"?sr=Xe(1,b-1):sr=Xe(1,s-1);kr.length>0&&(ft==="x"?At[Ht]=gt(rt,kr,Gt,Rt,xt,At[Ht]):ft==="y"?At[Ht]=yt(rt,kr,Gt,Rt,xt,At[Ht]):At[Ht]=Et(rt,kr,Gt,Rt,xt,At[Ht]),Ht++),sr.length>0&&(ft==="x"?At[Ht]=Fe(rt,sr,Gt,Rt,At[Ht]):ft==="y"?At[Ht]=qe(rt,sr,Gt,Rt,At[Ht]):At[Ht]=Qe(rt,sr,Gt,Rt,At[Ht]),Ht++)}var wr=n.caps[ft];wr.show&&wr.fill&&(X(wr.fill),ft==="x"?At[Ht]=Fe(rt,[0,M-1],Gt,Rt,At[Ht]):ft==="y"?At[Ht]=qe(rt,[0,b-1],Gt,Rt,At[Ht]):At[Ht]=Qe(rt,[0,s-1],Gt,Rt,At[Ht]),Ht++)}}),l===0&&Q(),n._meshX=H,n._meshY=z,n._meshZ=k,n._meshIntensity=V,n._Xs=S,n._Ys=L,n._Zs=m}return ze(),n}function o(n,u){var i=n.glplot.gl,g=v({gl:i}),h=new p(n,g,u.uid);return g._trace=h,h.update(u),n.glplot.add(g),h}U.exports={findNearestOnAxis:d,generateIsoMeshes:c,createIsosurfaceTrace:o}},82738:function(U,B,e){var v=e(71828),E=e(73972),a=e(16249),C=e(1586);function w(p,t,r,c){function o(n,u){return v.coerce(p,t,a,n,u)}d(p,t,r,c,o)}function d(p,t,r,c,o){var n=o("isomin"),u=o("isomax");u!=null&&n!==void 0&&n!==null&&n>u&&(t.isomin=null,t.isomax=null);var i=o("x"),g=o("y"),h=o("z"),x=o("value");if(!i||!i.length||!g||!g.length||!h||!h.length||!x||!x.length){t.visible=!1;return}var f=E.getComponentMethod("calendars","handleTraceDefaults");f(p,t,["x","y","z"],c),o("valuehoverformat"),["x","y","z"].forEach(function(S){o(S+"hoverformat");var L="caps."+S,m=o(L+".show");m&&o(L+".fill");var M="slices."+S,b=o(M+".show");b&&(o(M+".fill"),o(M+".locations"))});var l=o("spaceframe.show");l&&o("spaceframe.fill");var y=o("surface.show");y&&(o("surface.count"),o("surface.fill"),o("surface.pattern"));var T=o("contour.show");T&&(o("contour.color"),o("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(S){o(S)}),C(p,t,c,o,{prefix:"",cLetter:"c"}),t._length=null}U.exports={supplyDefaults:w,supplyIsoDefaults:d}},64943:function(U,B,e){U.exports={attributes:e(16249),supplyDefaults:e(82738).supplyDefaults,calc:e(56959),colorbar:{min:"cmin",max:"cmax"},plot:e(22674).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:e(58547),categories:["gl3d","showLegend"],meta:{}}},2418:function(U,B,e){var v=e(50693),E=e(12663).axisHoverFormat,a=e(5386).fF,C=e(54532),w=e(9012),d=e(1426).extendFlat;U.exports=d({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"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:E("x"),yhoverformat:E("y"),zhoverformat:E("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},v("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:C.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:d({},C.contours.x.show,{}),color:C.contours.x.color,width:C.contours.x.width,editType:"calc"},lightposition:{x:d({},C.lightposition.x,{dflt:1e5}),y:d({},C.lightposition.y,{dflt:1e5}),z:d({},C.lightposition.z,{dflt:0}),editType:"calc"},lighting:d({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"},C.lighting),hoverinfo:d({},w.hoverinfo,{editType:"calc"}),showlegend:d({},w.showlegend,{dflt:!1})})},82932:function(U,B,e){var v=e(78803);U.exports=function(a,C){C.intensity&&v(a,C,{vals:C.intensity,containerStr:"",cLetter:"c"})}},91134:function(U,B,e){var v=e(9330).gl_mesh3d,E=e(9330).delaunay_triangulate,a=e(9330).alpha_shape,C=e(9330).convex_hull,w=e(81697).parseColorScale,d=e(78614),p=e(21081).extractOpts,t=e(90060);function r(x,f,l){this.scene=x,this.uid=l,this.mesh=f,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var c=r.prototype;c.handlePick=function(x){if(x.object===this.mesh){var f=x.index=x.data.index;x.data._cellCenter?x.traceCoordinate=x.data.dataCoordinate:x.traceCoordinate=[this.data.x[f],this.data.y[f],this.data.z[f]];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&l[f]!==void 0?x.textLabel=l[f]:l&&(x.textLabel=l),!0}};function o(x){for(var f=[],l=x.length,y=0;y=f-.5)return!1;return!0}c.update=function(x){var f=this.scene,l=f.fullSceneLayout;this.data=x;var y=x.x.length,T=t(n(l.xaxis,x.x,f.dataScale[0],x.xcalendar),n(l.yaxis,x.y,f.dataScale[1],x.ycalendar),n(l.zaxis,x.z,f.dataScale[2],x.zcalendar)),S;if(x.i&&x.j&&x.k){if(x.i.length!==x.j.length||x.j.length!==x.k.length||!g(x.i,y)||!g(x.j,y)||!g(x.k,y))return;S=t(u(x.i),u(x.j),u(x.k))}else x.alphahull===0?S=C(T):x.alphahull>0?S=a(x.alphahull,T):S=i(x.delaunayaxis,T);var L={positions:T,cells:S,lightPosition:[x.lightposition.x,x.lightposition.y,x.lightposition.z],ambient:x.lighting.ambient,diffuse:x.lighting.diffuse,specular:x.lighting.specular,roughness:x.lighting.roughness,fresnel:x.lighting.fresnel,vertexNormalsEpsilon:x.lighting.vertexnormalsepsilon,faceNormalsEpsilon:x.lighting.facenormalsepsilon,opacity:x.opacity,contourEnable:x.contour.show,contourColor:d(x.contour.color).slice(0,3),contourWidth:x.contour.width,useFacetNormals:x.flatshading};if(x.intensity){var m=p(x);this.color="#fff";var M=x.intensitymode;L[M+"Intensity"]=x.intensity,L[M+"IntensityBounds"]=[m.min,m.max],L.colormap=w(x)}else x.vertexcolor?(this.color=x.vertexcolor[0],L.vertexColors=o(x.vertexcolor)):x.facecolor?(this.color=x.facecolor[0],L.cellColors=o(x.facecolor)):(this.color=x.color,L.meshColor=d(x.color));this.mesh.update(L)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function h(x,f){var l=x.glplot.gl,y=v({gl:l}),T=new r(x,y,f.uid);return y._trace=T,T.update(f),x.glplot.add(y),T}U.exports=h},58669:function(U,B,e){var v=e(73972),E=e(71828),a=e(1586),C=e(2418);U.exports=function(d,p,t,r){function c(g,h){return E.coerce(d,p,C,g,h)}function o(g){var h=g.map(function(x){var f=c(x);return f&&E.isArrayOrTypedArray(f)?f:null});return h.every(function(x){return x&&x.length===h[0].length})&&h}var n=o(["x","y","z"]);if(!n){p.visible=!1;return}if(o(["i","j","k"]),p.i&&(!p.j||!p.k)||p.j&&(!p.k||!p.i)||p.k&&(!p.i||!p.j)){p.visible=!1;return}var u=v.getComponentMethod("calendars","handleTraceDefaults");u(d,p,["x","y","z"],r),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(g){c(g)});var i=c("contour.show");i&&(c("contour.color"),c("contour.width")),"intensity"in d?(c("intensity"),c("intensitymode"),a(d,p,r,c,{prefix:"",cLetter:"c"})):(p.showscale=!1,"facecolor"in d?c("facecolor"):"vertexcolor"in d?c("vertexcolor"):c("color",t)),c("text"),c("hovertext"),c("hovertemplate"),c("xhoverformat"),c("yhoverformat"),c("zhoverformat"),p._length=null}},21164:function(U,B,e){U.exports={attributes:e(2418),supplyDefaults:e(58669),calc:e(82932),colorbar:{min:"cmin",max:"cmax"},plot:e(91134),moduleType:"trace",name:"mesh3d",basePlotModule:e(58547),categories:["gl3d","showLegend"],meta:{}}},2522:function(U,B,e){var v=e(71828).extendFlat,E=e(82196),a=e(12663).axisHoverFormat,C=e(79952).P,w=e(77914),d=e(22372),p=d.INCREASING.COLOR,t=d.DECREASING.COLOR,r=E.line;function c(o){return{line:{color:v({},r.color,{dflt:o}),width:r.width,dash:C,editType:"style"},editType:"style"}}U.exports={xperiod:E.xperiod,xperiod0:E.xperiod0,xperiodalignment:E.xperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),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:v({},r.width,{}),dash:v({},C,{}),editType:"style"},increasing:c(p),decreasing:c(t),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:v({},w.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},3485:function(U,B,e){var v=e(71828),E=v._,a=e(89298),C=e(42973),w=e(50606).BADNUM;function d(c,o){var n=a.getFromId(c,o.xaxis),u=a.getFromId(c,o.yaxis),i=r(c,n,o),g=o._minDiff;o._minDiff=null;var h=o._origX;o._origX=null;var x=o._xcalc;o._xcalc=null;var f=t(c,o,h,x,u,p);return o._extremes[n._id]=a.findExtremes(n,x,{vpad:g/2}),f.length?(v.extendFlat(f[0].t,{wHover:g/2,tickLen:i}),f):[{t:{empty:!0}}]}function p(c,o,n,u){return{o:c,h:o,l:n,c:u}}function t(c,o,n,u,i,g){for(var h=i.makeCalcdata(o,"open"),x=i.makeCalcdata(o,"high"),f=i.makeCalcdata(o,"low"),l=i.makeCalcdata(o,"close"),y=Array.isArray(o.text),T=Array.isArray(o.hovertext),S=!0,L=null,m=!!o.xperiodalignment,M=[],b=0;bL):S=F>_,L=F;var G=g(_,A,D,F);G.pos=s,G.yc=(_+F)/2,G.i=b,G.dir=S?"increasing":"decreasing",G.x=G.pos,G.y=[D,A],m&&(G.orig_p=n[b]),y&&(G.tx=o.text[b]),T&&(G.htx=o.hovertext[b]),M.push(G)}else M.push({pos:s,empty:!0})}return o._extremes[i._id]=a.findExtremes(i,v.concat(f,x),{padded:!0}),M.length&&(M[0].t={labels:{open:E(c,"open:")+" ",high:E(c,"high:")+" ",low:E(c,"low:")+" ",close:E(c,"close:")+" "}}),M}function r(c,o,n){var u=n._minDiff;if(!u){var i=c._fullData,g=[];u=1/0;var h;for(h=0;h"+l.labels[F]+v.hoverLabelText(x,G,f.yhoverformat)):(H=E.extendFlat({},T),H.y0=H.y1=O,H.yLabelVal=G,H.yLabel=l.labels[F]+v.hoverLabelText(x,G,f.yhoverformat),H.name="",y.push(H),A[G]=H)}return y}function o(n,u,i,g){var h=n.cd,x=n.ya,f=h[0].trace,l=h[0].t,y=r(n,u,i,g);if(!y)return[];var T=y.index,S=h[T],L=y.index=S.i,m=S.dir;function M(G){return l.labels[G]+v.hoverLabelText(x,f[G][L],f.yhoverformat)}var b=S.hi||f.hoverinfo,s=b.split("+"),_=b==="all",A=_||s.indexOf("y")!==-1,D=_||s.indexOf("text")!==-1,F=A?[M("open"),M("high"),M("low"),M("close")+" "+p[m]]:[];return D&&w(S,f,F),y.extraText=F.join("
"),y.y0=y.y1=x.c2p(S.yc,!0),[y]}U.exports={hoverPoints:t,hoverSplit:c,hoverOnPoints:o}},54186:function(U,B,e){U.exports={moduleType:"trace",name:"ohlc",basePlotModule:e(93612),categories:["cartesian","svg","showLegend"],meta:{},attributes:e(2522),supplyDefaults:e(16169),calc:e(3485).calc,plot:e(72314),style:e(53101),hoverPoints:e(66449).hoverPoints,selectPoints:e(67324)}},14555:function(U,B,e){var v=e(73972),E=e(71828);U.exports=function(C,w,d,p){var t=d("x"),r=d("open"),c=d("high"),o=d("low"),n=d("close");d("hoverlabel.split");var u=v.getComponentMethod("calendars","handleTraceDefaults");if(u(C,w,["x"],p),!!(r&&c&&o&&n)){var i=Math.min(r.length,c.length,o.length,n.length);return t&&(i=Math.min(i,E.minRowLength(t))),w._length=i,i}}},72314:function(U,B,e){var v=e(39898),E=e(71828);U.exports=function(C,w,d,p){var t=w.yaxis,r=w.xaxis,c=!!r.rangebreaks;E.makeTraceGroups(p,d,"trace ohlc").each(function(o){var n=v.select(this),u=o[0],i=u.t,g=u.trace;if(g.visible!==!0||i.empty){n.remove();return}var h=i.tickLen,x=n.selectAll("path").data(E.identity);x.enter().append("path"),x.exit().remove(),x.attr("d",function(f){if(f.empty)return"M0,0Z";var l=r.c2p(f.pos-h,!0),y=r.c2p(f.pos+h,!0),T=c?(l+y)/2:r.c2p(f.pos,!0),S=t.c2p(f.o,!0),L=t.c2p(f.h,!0),m=t.c2p(f.l,!0),M=t.c2p(f.c,!0);return"M"+l+","+S+"H"+T+"M"+T+","+L+"V"+m+"M"+y+","+M+"H"+T})})}},67324:function(U){U.exports=function(e,v){var E=e.cd,a=e.xaxis,C=e.yaxis,w=[],d,p=E[0].t.bPos||0;if(v===!1)for(d=0;d=f.length||l[f[y]]!==void 0)return!1;l[f[y]]=!0}return!0}},14647:function(U,B,e){var v=e(71828),E=e(52075).hasColorscale,a=e(1586),C=e(27670).c,w=e(85501),d=e(99506),p=e(94397);function t(c,o,n,u,i){i("line.shape"),i("line.hovertemplate");var g=i("line.color",u.colorway[0]);if(E(c,"line")&&v.isArrayOrTypedArray(g)){if(g.length)return i("line.colorscale"),a(c,o,u,i,{prefix:"line.",cLetter:"c"}),g.length;o.line.color=n}return 1/0}function r(c,o){function n(l,y){return v.coerce(c,o,d.dimensions,l,y)}var u=n("values"),i=n("visible");if(u&&u.length||(i=o.visible=!1),i){n("label"),n("displayindex",o._index);var g=c.categoryarray,h=Array.isArray(g)&&g.length>0,x;h&&(x="array");var f=n("categoryorder",x);f==="array"?(n("categoryarray"),n("ticktext")):(delete c.categoryarray,delete c.ticktext),!h&&f==="array"&&(o.categoryorder="trace")}}U.exports=function(o,n,u,i){function g(y,T){return v.coerce(o,n,d,y,T)}var h=w(o,n,{name:"dimensions",handleItemDefaults:r}),x=t(o,n,u,i,g);C(n,i,g),(!Array.isArray(h)||!h.length)&&(n.visible=!1),p(n,h,"values",x),g("hoveron"),g("hovertemplate"),g("arrangement"),g("bundlecolors"),g("sortpaths"),g("counts");var f={family:i.font.family,size:Math.round(i.font.size),color:i.font.color};v.coerceFont(g,"labelfont",f);var l={family:i.font.family,size:Math.round(i.font.size/1.2),color:i.font.color};v.coerceFont(g,"tickfont",l)}},94873:function(U,B,e){U.exports={attributes:e(99506),supplyDefaults:e(14647),calc:e(28699),plot:e(45784),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:e(27677),categories:["noOpacity"],meta:{}}},45460:function(U,B,e){var v=e(39898),E=e(81684).k4,a=e(72391),C=e(30211),w=e(71828),d=w.strTranslate,p=e(91424),t=e(84267),r=e(63893);function c(X,re,le,q){var te=re._context.staticPlot,ue=X.map(ne.bind(0,re,le)),ae=q.selectAll("g.parcatslayer").data([null]);ae.enter().append("g").attr("class","parcatslayer").style("pointer-events",te?"none":"all");var de=ae.selectAll("g.trace.parcats").data(ue,o),xe=de.enter().append("g").attr("class","trace parcats");de.attr("transform",function(Fe){return d(Fe.x,Fe.y)}),xe.append("g").attr("class","paths");var Se=de.select("g.paths"),Ae=Se.selectAll("path.path").data(function(Fe){return Fe.paths},o);Ae.attr("fill",function(Fe){return Fe.model.color});var Be=Ae.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(Fe){return Fe.model.color}).attr("fill-opacity",0);l(Be),Ae.attr("d",function(Fe){return Fe.svgD}),Be.empty()||Ae.sort(u),Ae.exit().remove(),Ae.on("mouseover",i).on("mouseout",g).on("click",f),xe.append("g").attr("class","dimensions");var Oe=de.select("g.dimensions"),Ee=Oe.selectAll("g.dimension").data(function(Fe){return Fe.dimensions},o);Ee.enter().append("g").attr("class","dimension"),Ee.attr("transform",function(Fe){return d(Fe.x,0)}),Ee.exit().remove();var we=Ee.selectAll("g.category").data(function(Fe){return Fe.categories},o),Ce=we.enter().append("g").attr("class","category");we.attr("transform",function(Fe){return d(0,Fe.y)}),Ce.append("rect").attr("class","catrect").attr("pointer-events","none"),we.select("rect.catrect").attr("fill","none").attr("width",function(Fe){return Fe.width}).attr("height",function(Fe){return Fe.height}),S(Ce);var Ge=we.selectAll("rect.bandrect").data(function(Fe){return Fe.bands},o);Ge.each(function(){w.raiseToTop(this)}),Ge.attr("fill",function(Fe){return Fe.color});var He=Ge.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(Fe){return Fe.color}).attr("fill-opacity",0);Ge.attr("fill",function(Fe){return Fe.color}).attr("width",function(Fe){return Fe.width}).attr("height",function(Fe){return Fe.height}).attr("y",function(Fe){return Fe.y}).attr("cursor",function(Fe){return Fe.parcatsViewModel.arrangement==="fixed"?"default":Fe.parcatsViewModel.arrangement==="perpendicular"?"ns-resize":"move"}),m(He),Ge.exit().remove(),Ce.append("text").attr("class","catlabel").attr("pointer-events","none");var De=re._fullLayout.paper_bgcolor;we.select("text.catlabel").attr("text-anchor",function(Fe){return n(Fe)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",r.makeTextShadow(De)).style("fill","rgb(0, 0, 0)").attr("x",function(Fe){return n(Fe)?Fe.width+5:-5}).attr("y",function(Fe){return Fe.height/2}).text(function(Fe){return Fe.model.categoryLabel}).each(function(Fe){p.font(v.select(this),Fe.parcatsViewModel.categorylabelfont),r.convertToTspans(v.select(this),re)}),Ce.append("text").attr("class","dimlabel"),we.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(Fe){return Fe.parcatsViewModel.arrangement==="fixed"?"default":"ew-resize"}).attr("x",function(Fe){return Fe.width/2}).attr("y",-5).text(function(Fe,qe){return qe===0?Fe.parcatsViewModel.model.dimensions[Fe.model.dimensionInd].dimensionLabel:null}).each(function(Fe){p.font(v.select(this),Fe.parcatsViewModel.labelfont)}),we.selectAll("rect.bandrect").on("mouseover",O).on("mouseout",H),we.exit().remove(),Ee.call(v.behavior.drag().origin(function(Fe){return{x:Fe.x,y:0}}).on("dragstart",z).on("drag",k).on("dragend",V)),de.each(function(Fe){Fe.traceSelection=v.select(this),Fe.pathSelection=v.select(this).selectAll("g.paths").selectAll("path.path"),Fe.dimensionSelection=v.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),de.exit().remove()}U.exports=function(X,re,le,q){c(le,X,q,re)};function o(X){return X.key}function n(X){var re=X.parcatsViewModel.dimensions.length,le=X.parcatsViewModel.dimensions[re-1].model.dimensionInd;return X.model.dimensionInd===le}function u(X,re){return X.model.rawColor>re.model.rawColor?1:X.model.rawColor"),Je=v.mouse(te)[0];C.loneHover({trace:ue,x:we-de.left+xe.left,y:Ce-de.top+xe.top,text:Qe,color:X.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:Ge,idealAlign:Je1&&Se.displayInd===xe.dimensions.length-1?(Oe=ae.left,Ee="left"):(Oe=ae.left+ae.width,Ee="right");var we=de.model.count,Ce=de.model.categoryLabel,Ge=we/de.parcatsViewModel.model.count,He={countLabel:we,categoryLabel:Ce,probabilityLabel:Ge.toFixed(3)},De=[];de.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&De.push(["Count:",He.countLabel].join(" ")),de.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&De.push(["P("+He.categoryLabel+"):",He.probabilityLabel].join(" "));var Fe=De.join("
");return{trace:Ae,x:q*(Oe-re.left),y:te*(Be-re.top),text:Fe,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:Ee,hovertemplate:Ae.hovertemplate,hovertemplateLabels:He,eventData:[{data:Ae._input,fullData:Ae,count:we,category:Ce,probability:Ge}]}}function F(X,re,le){var q=[];return v.select(le.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){var te=this;q.push(D(X,re,te))}),q}function G(X,re,le){X._fullLayout._calcInverseTransform(X);var q=X._fullLayout._invScaleX,te=X._fullLayout._invScaleY,ue=le.getBoundingClientRect(),ae=v.select(le).datum(),de=ae.categoryViewModel,xe=de.parcatsViewModel,Se=xe.model.dimensions[de.model.dimensionInd],Ae=xe.trace,Be=ue.y+ue.height/2,Oe,Ee;xe.dimensions.length>1&&Se.displayInd===xe.dimensions.length-1?(Oe=ue.left,Ee="left"):(Oe=ue.left+ue.width,Ee="right");var we=de.model.categoryLabel,Ce=ae.parcatsViewModel.model.count,Ge=0;ae.categoryViewModel.bands.forEach(function(yt){yt.color===ae.color&&(Ge+=yt.count)});var He=de.model.count,De=0;xe.pathSelection.each(function(yt){yt.model.color===ae.color&&(De+=yt.model.count)});var Fe=Ge/Ce,qe=Ge/De,Qe=Ge/He,Je={countLabel:Ce,categoryLabel:we,probabilityLabel:Fe.toFixed(3)},tt=[];de.parcatsViewModel.hoverinfoItems.indexOf("count")!==-1&&tt.push(["Count:",Je.countLabel].join(" ")),de.parcatsViewModel.hoverinfoItems.indexOf("probability")!==-1&&(tt.push("P(color ∩ "+we+"): "+Je.probabilityLabel),tt.push("P("+we+" | color): "+qe.toFixed(3)),tt.push("P(color | "+we+"): "+Qe.toFixed(3)));var ht=tt.join("
"),gt=t.mostReadable(ae.color,["black","white"]);return{trace:Ae,x:q*(Oe-re.left),y:te*(Be-re.top),text:ht,color:ae.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:gt,fontSize:10,idealAlign:Ee,hovertemplate:Ae.hovertemplate,hovertemplateLabels:Je,eventData:[{data:Ae._input,fullData:Ae,category:we,count:Ce,probability:Fe,categorycount:He,colorcount:De,bandcolorcount:Ge}]}}function O(X){if(!X.parcatsViewModel.dragDimension&&X.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1){var re=v.mouse(this)[1];if(re<-1)return;var le=X.parcatsViewModel.graphDiv,q=le._fullLayout,te=q._paperdiv.node().getBoundingClientRect(),ue=X.parcatsViewModel.hoveron,ae=this;if(ue==="color"?(s(ae),A(ae,"plotly_hover",v.event)):(b(ae),_(ae,"plotly_hover",v.event)),X.parcatsViewModel.hoverinfoItems.indexOf("none")===-1){var de;ue==="category"?de=D(le,te,ae):ue==="color"?de=G(le,te,ae):ue==="dimension"&&(de=F(le,te,ae)),de&&C.loneHover(de,{container:q._hoverlayer.node(),outerContainer:q._paper.node(),gd:le})}}}function H(X){var re=X.parcatsViewModel;if(!re.dragDimension&&(l(re.pathSelection),S(re.dimensionSelection.selectAll("g.category")),m(re.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),C.loneUnhover(re.graphDiv._fullLayout._hoverlayer.node()),re.pathSelection.sort(u),re.hoverinfoItems.indexOf("skip")===-1)){var le=X.parcatsViewModel.hoveron,q=this;le==="color"?A(q,"plotly_unhover",v.event):_(q,"plotly_unhover",v.event)}}function z(X){X.parcatsViewModel.arrangement!=="fixed"&&(X.dragDimensionDisplayInd=X.model.displayInd,X.initialDragDimensionDisplayInds=X.parcatsViewModel.model.dimensions.map(function(re){return re.displayInd}),X.dragHasMoved=!1,X.dragCategoryDisplayInd=null,v.select(this).selectAll("g.category").select("rect.catrect").each(function(re){var le=v.mouse(this)[0],q=v.mouse(this)[1];-2<=le&&le<=re.width+2&&-2<=q&&q<=re.height+2&&(X.dragCategoryDisplayInd=re.model.displayInd,X.initialDragCategoryDisplayInds=X.model.categories.map(function(te){return te.displayInd}),re.model.dragY=re.y,w.raiseToTop(this.parentNode),v.select(this.parentNode).selectAll("rect.bandrect").each(function(te){te.yAe.y+Ae.height/2&&(ue.model.displayInd=Ae.model.displayInd,Ae.model.displayInd=de),X.dragCategoryDisplayInd=ue.model.displayInd}if(X.dragCategoryDisplayInd===null||X.parcatsViewModel.arrangement==="freeform"){te.model.dragX=v.event.x;var Be=X.parcatsViewModel.dimensions[le],Oe=X.parcatsViewModel.dimensions[q];Be!==void 0&&te.model.dragXOe.x&&(te.model.displayInd=Oe.model.displayInd,Oe.model.displayInd=X.dragDimensionDisplayInd),X.dragDimensionDisplayInd=te.model.displayInd}Y(X.parcatsViewModel),$(X.parcatsViewModel),Q(X.parcatsViewModel),ee(X.parcatsViewModel)}}function V(X){if(X.parcatsViewModel.arrangement!=="fixed"&&X.dragDimensionDisplayInd!==null){v.select(this).selectAll("text").attr("font-weight","normal");var re={},le=Z(X.parcatsViewModel),q=X.parcatsViewModel.model.dimensions.map(function(Oe){return Oe.displayInd}),te=X.initialDragDimensionDisplayInds.some(function(Oe,Ee){return Oe!==q[Ee]});te&&q.forEach(function(Oe,Ee){var we=X.parcatsViewModel.model.dimensions[Ee].containerInd;re["dimensions["+we+"].displayindex"]=Oe});var ue=!1;if(X.dragCategoryDisplayInd!==null){var ae=X.model.categories.map(function(Oe){return Oe.displayInd});if(ue=X.initialDragCategoryDisplayInds.some(function(Oe,Ee){return Oe!==ae[Ee]}),ue){var de=X.model.categories.slice().sort(function(Oe,Ee){return Oe.displayInd-Ee.displayInd}),xe=de.map(function(Oe){return Oe.categoryValue}),Se=de.map(function(Oe){return Oe.categoryLabel});re["dimensions["+X.model.containerInd+"].categoryarray"]=[xe],re["dimensions["+X.model.containerInd+"].ticktext"]=[Se],re["dimensions["+X.model.containerInd+"].categoryorder"]="array"}}if(X.parcatsViewModel.hoverinfoItems.indexOf("skip")===-1&&!X.dragHasMoved&&X.potentialClickBand&&(X.parcatsViewModel.hoveron==="color"?A(X.potentialClickBand,"plotly_click",v.event.sourceEvent):_(X.potentialClickBand,"plotly_click",v.event.sourceEvent)),X.model.dragX=null,X.dragCategoryDisplayInd!==null){var Ae=X.parcatsViewModel.dimensions[X.dragDimensionDisplayInd].categories[X.dragCategoryDisplayInd];Ae.model.dragY=null,X.dragCategoryDisplayInd=null}X.dragDimensionDisplayInd=null,X.parcatsViewModel.dragDimension=null,X.dragHasMoved=null,X.potentialClickBand=null,Y(X.parcatsViewModel),$(X.parcatsViewModel);var Be=v.transition().duration(300).ease("cubic-in-out");Be.each(function(){Q(X.parcatsViewModel,!0),ee(X.parcatsViewModel,!0)}).each("end",function(){(te||ue)&&a.restyle(X.parcatsViewModel.graphDiv,re,[le])})}}function Z(X){for(var re,le=X.graphDiv._fullData,q=0;q=0;xe--)Se+="C"+ae[xe]+","+(re[xe+1]+q)+" "+ue[xe]+","+(re[xe]+q)+" "+(X[xe]+le[xe])+","+(re[xe]+q),Se+="l-"+le[xe]+",0 ";return Se+="Z",Se}function $(X){var re=X.dimensions,le=X.model,q=re.map(function(Ue){return Ue.categories.map(function(ze){return ze.y})}),te=X.model.dimensions.map(function(Ue){return Ue.categories.map(function(ze){return ze.displayInd})}),ue=X.model.dimensions.map(function(Ue){return Ue.displayInd}),ae=X.dimensions.map(function(Ue){return Ue.model.dimensionInd}),de=re.map(function(Ue){return Ue.x}),xe=re.map(function(Ue){return Ue.width}),Se=[];for(var Ae in le.paths)le.paths.hasOwnProperty(Ae)&&Se.push(le.paths[Ae]);function Be(Ue){var ze=Ue.categoryInds.map(function(it,Ze){return te[Ze][it]}),rt=ae.map(function(it){return ze[it]});return rt}Se.sort(function(Ue,ze){var rt=Be(Ue),it=Be(ze);return X.sortpaths==="backward"&&(rt.reverse(),it.reverse()),rt.push(Ue.valueInds[0]),it.push(ze.valueInds[0]),X.bundlecolors&&(rt.unshift(Ue.rawColor),it.unshift(ze.rawColor)),rtit?1:0});for(var Oe=new Array(Se.length),Ee=re[0].model.count,we=re[0].categories.map(function(Ue){return Ue.height}).reduce(function(Ue,ze){return Ue+ze}),Ce=0;Ce0?He=we*(Ge.count/Ee):He=0;for(var De=new Array(q.length),Fe=0;Fe1?ae=(X.width-2*le-q)/(te-1):ae=0,de=le,xe=de+ae*ue;var Se=[],Ae=X.model.maxCats,Be=re.categories.length,Oe=8,Ee=re.count,we=X.height-Oe*(Ae-1),Ce,Ge,He,De,Fe,qe=(Ae-Be)*Oe/2,Qe=re.categories.map(function(Je){return{displayInd:Je.displayInd,categoryInd:Je.categoryInd}});for(Qe.sort(function(Je,tt){return Je.displayInd-tt.displayInd}),Fe=0;Fe0?Ce=Ge.count/Ee*we:Ce=0,He={key:Ge.valueInds[0],model:Ge,width:q,height:Ce,y:Ge.dragY!==null?Ge.dragY:qe,bands:[],parcatsViewModel:X},qe=qe+Ce+Oe,Se.push(He);return{key:re.dimensionInd,x:re.dragX!==null?re.dragX:xe,y:0,width:q,model:re,categories:Se,parcatsViewModel:X,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}},45784:function(U,B,e){var v=e(45460);U.exports=function(a,C,w,d){var p=a._fullLayout,t=p._paper,r=p._size;v(a,t,C,{width:r.w,height:r.h,margin:{t:r.t,r:r.r,b:r.b,l:r.l}},w,d)}},73362:function(U,B,e){var v=e(50693),E=e(13838),a=e(41940),C=e(27670).Y,w=e(1426).extendFlat,d=e(44467).templatedArray;U.exports={domain:C({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:d("dimension",{label:{valType:"string",editType:"plot"},tickvals:w({},E.tickvals,{editType:"plot"}),ticktext:w({},E.ticktext,{editType:"plot"}),tickformat:w({},E.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:w({editType:"calc"},v("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},57920:function(U,B,e){var v=e(25706),E=e(39898),a=e(28984).keyFun,C=e(28984).repeat,w=e(71828).sorterAsc,d=e(71828).strTranslate,p=v.bar.snapRatio;function t(V,Z){return V*(1-p)+Z*p}var r=v.bar.snapClose;function c(V,Z){return V*(1-r)+Z*r}function o(V,Z,ee,Q){if(n(ee,Q))return ee;var ne=V?-1:1,fe=0,$=Z.length-1;if(ne<0){var Y=fe;fe=$,$=Y}for(var j=Z[fe],X=j,re=fe;ne*re=Z[ee][0]&&V<=Z[ee][1])return!0;return!1}function u(V){V.attr("x",-v.bar.captureWidth/2).attr("width",v.bar.captureWidth)}function i(V){V.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function g(V){if(!V.brush.filterSpecified)return"0,"+V.height;for(var Z=h(V.brush.filter.getConsolidated(),V.height),ee=[0],Q,ne,fe,$=Z.length?Z[0][0]:null,Y=0;YV[1]+ee||Z=.9*V[1]+.1*V[0]?"n":Z<=.9*V[0]+.1*V[1]?"s":"ns"}function f(){E.select(document.body).style("cursor",null)}function l(V){V.attr("stroke-dasharray",g)}function y(V,Z){var ee=E.select(V).selectAll(".highlight, .highlight-shadow"),Q=Z?ee.transition().duration(v.bar.snapDuration).each("end",Z):ee;l(Q)}function T(V,Z){var ee=V.brush,Q=ee.filterSpecified,ne=NaN,fe={},$;if(Q){var Y=V.height,j=ee.filter.getConsolidated(),X=h(j,Y),re=NaN,le=NaN,q=NaN;for($=0;$<=X.length;$++){var te=X[$];if(te&&te[0]<=Z&&Z<=te[1]){re=$;break}else if(le=$?$-1:NaN,te&&te[0]>Z){q=$;break}}if(ne=re,isNaN(ne)&&(isNaN(le)||isNaN(q)?ne=isNaN(le)?q:le:ne=Z-X[le][1]=Se[0]&&xe<=Se[1]){fe.clickableOrdinalRange=Se;break}}}return fe}function S(V,Z){E.event.sourceEvent.stopPropagation();var ee=Z.height-E.mouse(V)[1]-2*v.verticalPadding,Q=Z.unitToPaddedPx.invert(ee),ne=Z.brush,fe=T(Z,ee),$=fe.interval,Y=ne.svgBrush;if(Y.wasDragged=!1,Y.grabbingBar=fe.region==="ns",Y.grabbingBar){var j=$.map(Z.unitToPaddedPx);Y.grabPoint=ee-j[0]-v.verticalPadding,Y.barLength=j[1]-j[0]}Y.clickableOrdinalRange=fe.clickableOrdinalRange,Y.stayingIntervals=Z.multiselect&&ne.filterSpecified?ne.filter.getConsolidated():[],$&&(Y.stayingIntervals=Y.stayingIntervals.filter(function(X){return X[0]!==$[0]&&X[1]!==$[1]})),Y.startExtent=fe.region?$[fe.region==="s"?1:0]:Q,Z.parent.inBrushDrag=!0,Y.brushStartCallback()}function L(V,Z){E.event.sourceEvent.stopPropagation();var ee=Z.height-E.mouse(V)[1]-2*v.verticalPadding,Q=Z.brush.svgBrush;Q.wasDragged=!0,Q._dragging=!0,Q.grabbingBar?Q.newExtent=[ee-Q.grabPoint,ee+Q.barLength-Q.grabPoint].map(Z.unitToPaddedPx.invert):Q.newExtent=[Q.startExtent,Z.unitToPaddedPx.invert(ee)].sort(w),Z.brush.filterSpecified=!0,Q.extent=Q.stayingIntervals.concat([Q.newExtent]),Q.brushCallback(Z),y(V.parentNode)}function m(V,Z){var ee=Z.brush,Q=ee.filter,ne=ee.svgBrush;ne._dragging||(M(V,Z),L(V,Z),Z.brush.svgBrush.wasDragged=!1),ne._dragging=!1;var fe=E.event;fe.sourceEvent.stopPropagation();var $=ne.grabbingBar;if(ne.grabbingBar=!1,ne.grabLocation=void 0,Z.parent.inBrushDrag=!1,f(),!ne.wasDragged){ne.wasDragged=void 0,ne.clickableOrdinalRange?ee.filterSpecified&&Z.multiselect?ne.extent.push(ne.clickableOrdinalRange):(ne.extent=[ne.clickableOrdinalRange],ee.filterSpecified=!0):$?(ne.extent=ne.stayingIntervals,ne.extent.length===0&&F(ee)):F(ee),ne.brushCallback(Z),y(V.parentNode),ne.brushEndCallback(ee.filterSpecified?Q.getConsolidated():[]);return}var Y=function(){Q.set(Q.getConsolidated())};if(Z.ordinal){var j=Z.unitTickvals;j[j.length-1]ne.newExtent[0];ne.extent=ne.stayingIntervals.concat(X?[ne.newExtent]:[]),ne.extent.length||F(ee),ne.brushCallback(Z),X?y(V.parentNode,Y):(Y(),y(V.parentNode))}else Y();ne.brushEndCallback(ee.filterSpecified?Q.getConsolidated():[])}function M(V,Z){var ee=Z.height-E.mouse(V)[1]-2*v.verticalPadding,Q=T(Z,ee),ne="crosshair";Q.clickableOrdinalRange?ne="pointer":Q.region&&(ne=Q.region+"-resize"),E.select(document.body).style("cursor",ne)}function b(V){V.on("mousemove",function(Z){E.event.preventDefault(),Z.parent.inBrushDrag||M(this,Z)}).on("mouseleave",function(Z){Z.parent.inBrushDrag||f()}).call(E.behavior.drag().on("dragstart",function(Z){S(this,Z)}).on("drag",function(Z){L(this,Z)}).on("dragend",function(Z){m(this,Z)}))}function s(V,Z){return V[0]-Z[0]}function _(V,Z,ee){var Q=ee._context.staticPlot,ne=V.selectAll(".background").data(C);ne.enter().append("rect").classed("background",!0).call(u).call(i).style("pointer-events",Q?"none":"auto").attr("transform",d(0,v.verticalPadding)),ne.call(b).attr("height",function(Y){return Y.height-v.verticalPadding});var fe=V.selectAll(".highlight-shadow").data(C);fe.enter().append("line").classed("highlight-shadow",!0).attr("x",-v.bar.width/2).attr("stroke-width",v.bar.width+v.bar.strokeWidth).attr("stroke",Z).attr("opacity",v.bar.strokeOpacity).attr("stroke-linecap","butt"),fe.attr("y1",function(Y){return Y.height}).call(l);var $=V.selectAll(".highlight").data(C);$.enter().append("line").classed("highlight",!0).attr("x",-v.bar.width/2).attr("stroke-width",v.bar.width-v.bar.strokeWidth).attr("stroke",v.bar.fillColor).attr("opacity",v.bar.fillOpacity).attr("stroke-linecap","butt"),$.attr("y1",function(Y){return Y.height}).call(l)}function A(V,Z,ee){var Q=V.selectAll("."+v.cn.axisBrush).data(C,a);Q.enter().append("g").classed(v.cn.axisBrush,!0),_(Q,Z,ee)}function D(V){return V.svgBrush.extent.map(function(Z){return Z.slice()})}function F(V){V.filterSpecified=!1,V.svgBrush.extent=[[-1/0,1/0]]}function G(V){return function(ee){var Q=ee.brush,ne=D(Q),fe=ne.slice();Q.filter.set(fe),V()}}function O(V){for(var Z=V.slice(),ee=[],Q,ne=Z.shift();ne;){for(Q=ne.slice();(ne=Z.shift())&&ne[0]<=Q[1];)Q[1]=Math.max(Q[1],ne[1]);ee.push(Q)}return ee.length===1&&ee[0][0]>ee[0][1]&&(ee=[]),ee}function H(){var V=[],Z,ee;return{set:function(Q){V=Q.map(function(ne){return ne.slice().sort(w)}).sort(s),V.length===1&&V[0][0]===-1/0&&V[0][1]===1/0&&(V=[[0,-1]]),Z=O(V),ee=V.reduce(function(ne,fe){return[Math.min(ne[0],fe[0]),Math.max(ne[1],fe[1])]},[1/0,-1/0])},get:function(){return V.slice()},getConsolidated:function(){return Z},getBounds:function(){return ee}}}function z(V,Z,ee,Q,ne,fe){var $=H();return $.set(ee),{filter:$,filterSpecified:Z,svgBrush:{extent:[],brushStartCallback:Q,brushCallback:G(ne),brushEndCallback:fe}}}function k(V,Z){if(Array.isArray(V[0])?(V=V.map(function(Q){return Q.sort(w)}),Z.multiselect?V=O(V.sort(s)):V=[V[0]]):V=[V.sort(w)],Z.tickvals){var ee=Z.tickvals.slice().sort(w);if(V=V.map(function(Q){var ne=[o(0,ee,Q[0],[]),o(1,ee,Q[1],[])];if(ne[1]>ne[0])return ne}).filter(function(Q){return Q}),!V.length)return}return V.length>1?V:V[0]}U.exports={makeBrush:z,ensureAxisBrush:A,cleanRanges:k}},71791:function(U,B,e){U.exports={attributes:e(73362),supplyDefaults:e(3633),calc:e(24639),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:e(49351),categories:["gl","regl","noOpacity","noHover"],meta:{}}},49351:function(U,B,e){var v=e(39898),E=e(27659).a0,a=e(21341),C=e(77922);B.name="parcoords",B.plot=function(w){var d=E(w.calcdata,"parcoords")[0];d.length&&a(w,d)},B.clean=function(w,d,p,t){var r=t._has&&t._has("parcoords"),c=d._has&&d._has("parcoords");r&&!c&&(t._paperdiv.selectAll(".parcoords").remove(),t._glimages.selectAll("*").remove())},B.toSVG=function(w){var d=w._fullLayout._glimages,p=v.select(w).selectAll(".svg-container"),t=p.filter(function(c,o){return o===p.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus");function r(){var c=this,o=c.toDataURL("image/png"),n=d.append("svg:image");n.attr({xmlns:C.svg,"xlink:href":o,preserveAspectRatio:"none",x:0,y:0,width:c.style.width,height:c.style.height})}t.each(r),window.setTimeout(function(){v.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},24639:function(U,B,e){var v=e(71828).isArrayOrTypedArray,E=e(21081),a=e(28984).wrap;U.exports=function(d,p){var t,r;return E.hasColorscale(p,"line")&&v(p.line.color)?(t=p.line.color,r=E.extractOpts(p.line).colorscale,E.calc(d,p,{vals:t,containerStr:"line",cLetter:"c"})):(t=C(p._length),r=[[0,p.line.color],[1,p.line.color]]),a({lineColor:t,cscale:r})};function C(w){for(var d=new Array(w),p=0;pr&&(v.log("parcoords traces support up to "+r+" dimensions at the moment"),l.splice(r));var y=w(i,g,{name:"dimensions",layout:x,handleItemDefaults:n}),T=o(i,g,h,x,f);C(g,x,f),(!Array.isArray(y)||!y.length)&&(g.visible=!1),c(g,y,"values",T);var S={family:x.font.family,size:Math.round(x.font.size/1.2),color:x.font.color};v.coerceFont(f,"labelfont",S),v.coerceFont(f,"tickfont",S),v.coerceFont(f,"rangefont",S),f("labelangle"),f("labelside"),f("unselected.line.color"),f("unselected.line.opacity")}},1602:function(U,B,e){var v=e(71828).isTypedArray;B.convertTypedArray=function(E){return v(E)?Array.prototype.slice.call(E):E},B.isOrdinal=function(E){return!!E.tickvals},B.isVisible=function(E){return E.visible||!("visible"in E)}},67618:function(U,B,e){var v=e(71791);v.plot=e(21341),U.exports=v},83398:function(U,B,e){var v=e(56068),E=v([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor; + +attribute vec4 p01_04, p05_08, p09_12, p13_16, + p17_20, p21_24, p25_28, p29_32, + p33_36, p37_40, p41_44, p45_48, + p49_52, p53_56, p57_60, colors; + +uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D, + loA, hiA, loB, hiB, loC, hiC, loD, hiD; + +uniform vec2 resolution, viewBoxPos, viewBoxSize; +uniform float maskHeight; +uniform float drwLayer; // 0: context, 1: focus, 2: pick +uniform vec4 contextColor; +uniform sampler2D maskTexture, palette; + +bool isPick = (drwLayer > 1.5); +bool isContext = (drwLayer < 0.5); + +const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0); +const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0); + +float val(mat4 p, mat4 v) { + return dot(matrixCompMult(p, v) * UNITS, UNITS); +} + +float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) { + float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D); + float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D); + return y1 * (1.0 - ratio) + y2 * ratio; +} + +int iMod(int a, int b) { + return a - b * (a / b); +} + +bool fOutside(float p, float lo, float hi) { + return (lo < hi) && (lo > p || p > hi); +} + +bool vOutside(vec4 p, vec4 lo, vec4 hi) { + return ( + fOutside(p[0], lo[0], hi[0]) || + fOutside(p[1], lo[1], hi[1]) || + fOutside(p[2], lo[2], hi[2]) || + fOutside(p[3], lo[3], hi[3]) + ); +} + +bool mOutside(mat4 p, mat4 lo, mat4 hi) { + return ( + vOutside(p[0], lo[0], hi[0]) || + vOutside(p[1], lo[1], hi[1]) || + vOutside(p[2], lo[2], hi[2]) || + vOutside(p[3], lo[3], hi[3]) + ); +} + +bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) { + return mOutside(A, loA, hiA) || + mOutside(B, loB, hiB) || + mOutside(C, loC, hiC) || + mOutside(D, loD, hiD); +} + +bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) { + mat4 pnts[4]; + pnts[0] = A; + pnts[1] = B; + pnts[2] = C; + pnts[3] = D; + + for(int i = 0; i < 4; ++i) { + for(int j = 0; j < 4; ++j) { + for(int k = 0; k < 4; ++k) { + if(0 == iMod( + int(255.0 * texture2D(maskTexture, + vec2( + (float(i * 2 + j / 2) + 0.5) / 8.0, + (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight + ))[3] + ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))), + 2 + )) return true; + } + } + } + return false; +} + +vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) { + float x = 0.5 * sign(v) + 0.5; + float y = axisY(x, A, B, C, D); + float z = 1.0 - abs(v); + + z += isContext ? 0.0 : 2.0 * float( + outsideBoundingBox(A, B, C, D) || + outsideRasterMask(A, B, C, D) + ); + + return vec4( + 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0, + z, + 1.0 + ); +} + +void main() { + mat4 A = mat4(p01_04, p05_08, p09_12, p13_16); + mat4 B = mat4(p17_20, p21_24, p25_28, p29_32); + mat4 C = mat4(p33_36, p37_40, p41_44, p45_48); + mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS); + + float v = colors[3]; + + gl_Position = position(isContext, v, A, B, C, D); + + fragColor = + isContext ? vec4(contextColor) : + isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5)); +} +`]),a=v([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`]),C=e(25706).maxDimensionCount,w=e(71828),d=1e-6,p=2048,t=new Uint8Array(4),r=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function o(M){M.read({x:0,y:0,width:1,height:1,data:t})}function n(M,b,s,_,A){var D=M._gl;D.enable(D.SCISSOR_TEST),D.scissor(b,s,_,A),M.clear({color:[0,0,0,0],depth:1})}function u(M,b,s,_,A,D){var F=D.key;function G(O){var H=Math.min(_,A-O*_);O===0&&(window.cancelAnimationFrame(s.currentRafs[F]),delete s.currentRafs[F],n(M,D.scissorX,D.scissorY,D.scissorWidth,D.viewBoxSize[1])),!s.clearOnly&&(D.count=2*H,D.offset=2*O*_,b(D),O*_+H>>8*b)%256/255}function x(M,b,s){for(var _=new Array(M*(C+4)),A=0,D=0;DBe&&(Be=q[de].dim1.canvasX,Se=de);ae===0&&n(A,0,0,H.canvasWidth,H.canvasHeight);var Oe=Y(s);for(de=0;deue._length&&(we=we.slice(0,ue._length));var Ce=ue.tickvals,Ge;function He(Je,tt){return{val:Je,text:Ge[tt]}}function De(Je,tt){return Je.val-tt.val}if(Array.isArray(Ce)&&Ce.length){Ge=ue.ticktext,!Array.isArray(Ge)||!Ge.length?Ge=Ce.map(a(ue.tickformat)):Ge.length>Ce.length?Ge=Ge.slice(0,Ce.length):Ce.length>Ge.length&&(Ce=Ce.slice(0,Ge.length));for(var Fe=1;Fe=tt||Et>=ht)return;var Xe=Qe.lineLayer.readPixel(yt,ht-1-Et),Ue=Xe[3]!==0,ze=Ue?Xe[2]+256*(Xe[1]+256*Xe[0]):null,rt={x:yt,y:Et,clientX:Je.clientX,clientY:Je.clientY,dataIndex:Qe.model.key,curveNumber:ze};ze!==de&&(Ue?$.hover(rt):$.unhover&&$.unhover(rt),de=ze)}}),ae.style("opacity",function(Qe){return Qe.pick?0:1}),X.style("background","rgba(255, 255, 255, 0)");var Se=X.selectAll("."+h.cn.parcoords).data(ue,n);Se.exit().remove(),Se.enter().append("g").classed(h.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),Se.attr("transform",function(Qe){return p(Qe.model.translateX,Qe.model.translateY)});var Ae=Se.selectAll("."+h.cn.parcoordsControlView).data(u,n);Ae.enter().append("g").classed(h.cn.parcoordsControlView,!0),Ae.attr("transform",function(Qe){return p(Qe.model.pad.l,Qe.model.pad.t)});var Be=Ae.selectAll("."+h.cn.yAxis).data(function(Qe){return Qe.dimensions},n);Be.enter().append("g").classed(h.cn.yAxis,!0),Ae.each(function(Qe){z(Be,Qe,le)}),ae.each(function(Qe){if(Qe.viewModel){!Qe.lineLayer||$?Qe.lineLayer=f(this,Qe):Qe.lineLayer.update(Qe),(Qe.key||Qe.key===0)&&(Qe.viewModel[Qe.key]=Qe.lineLayer);var Je=!Qe.context||$;Qe.lineLayer.render(Qe.viewModel.panels,Je)}}),Be.attr("transform",function(Qe){return p(Qe.xScale(Qe.xIndex),0)}),Be.call(v.behavior.drag().origin(function(Qe){return Qe}).on("drag",function(Qe){var Je=Qe.parent;te.linePickActive(!1),Qe.x=Math.max(-h.overdrag,Math.min(Qe.model.width+h.overdrag,v.event.x)),Qe.canvasX=Qe.x*Qe.model.canvasPixelRatio,Be.sort(function(tt,ht){return tt.x-ht.x}).each(function(tt,ht){tt.xIndex=ht,tt.x=Qe===tt?tt.x:tt.xScale(tt.xIndex),tt.canvasX=tt.x*tt.model.canvasPixelRatio}),z(Be,Je,le),Be.filter(function(tt){return Math.abs(Qe.xIndex-tt.xIndex)!==0}).attr("transform",function(tt){return p(tt.xScale(tt.xIndex),0)}),v.select(this).attr("transform",p(Qe.x,0)),Be.each(function(tt,ht,gt){gt===Qe.parent.key&&(Je.dimensions[ht]=tt)}),Je.contextLayer&&Je.contextLayer.render(Je.panels,!1,!A(Je)),Je.focusLayer.render&&Je.focusLayer.render(Je.panels)}).on("dragend",function(Qe){var Je=Qe.parent;Qe.x=Qe.xScale(Qe.xIndex),Qe.canvasX=Qe.x*Qe.model.canvasPixelRatio,z(Be,Je,le),v.select(this).attr("transform",function(tt){return p(tt.x,0)}),Je.contextLayer&&Je.contextLayer.render(Je.panels,!1,!A(Je)),Je.focusLayer&&Je.focusLayer.render(Je.panels),Je.pickLayer&&Je.pickLayer.render(Je.panels,!0),te.linePickActive(!0),$&&$.axesMoved&&$.axesMoved(Je.key,Je.dimensions.map(function(tt){return tt.crossfilterDimensionIndex}))})),Be.exit().remove();var Oe=Be.selectAll("."+h.cn.axisOverlays).data(u,n);Oe.enter().append("g").classed(h.cn.axisOverlays,!0),Oe.selectAll("."+h.cn.axis).remove();var Ee=Oe.selectAll("."+h.cn.axis).data(u,n);Ee.enter().append("g").classed(h.cn.axis,!0),Ee.each(function(Qe){var Je=Qe.model.height/Qe.model.tickDistance,tt=Qe.domainScale,ht=tt.domain();v.select(this).call(v.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(Je,Qe.tickFormat).tickValues(Qe.ordinal?ht:null).tickFormat(function(gt){return g.isOrdinal(Qe)?gt:V(Qe.model.dimensions[Qe.visibleIndex],gt)}).scale(tt)),r.font(Ee.selectAll("text"),Qe.model.tickFont)}),Ee.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),Ee.selectAll("text").style("text-shadow",t.makeTextShadow(q)).style("cursor","default");var we=Oe.selectAll("."+h.cn.axisHeading).data(u,n);we.enter().append("g").classed(h.cn.axisHeading,!0);var Ce=we.selectAll("."+h.cn.axisTitle).data(u,n);Ce.enter().append("text").classed(h.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",Y?"none":"auto"),Ce.text(function(Qe){return Qe.label}).each(function(Qe){var Je=v.select(this);r.font(Je,Qe.model.labelFont),t.convertToTspans(Je,Q)}).attr("transform",function(Qe){var Je=H(Qe.model.labelAngle,Qe.model.labelSide),tt=h.axisTitleOffset;return(Je.dir>0?"":p(0,2*tt+Qe.model.height))+d(Je.degrees)+p(-tt*Je.dx,-tt*Je.dy)}).attr("text-anchor",function(Qe){var Je=H(Qe.model.labelAngle,Qe.model.labelSide),tt=Math.abs(Je.dx),ht=Math.abs(Je.dy);return 2*tt>ht?Je.dir*Je.dx<0?"start":"end":"middle"});var Ge=Oe.selectAll("."+h.cn.axisExtent).data(u,n);Ge.enter().append("g").classed(h.cn.axisExtent,!0);var He=Ge.selectAll("."+h.cn.axisExtentTop).data(u,n);He.enter().append("g").classed(h.cn.axisExtentTop,!0),He.attr("transform",p(0,-h.axisExtentOffset));var De=He.selectAll("."+h.cn.axisExtentTopText).data(u,n);De.enter().append("text").classed(h.cn.axisExtentTopText,!0).call(G),De.text(function(Qe){return Z(Qe,!0)}).each(function(Qe){r.font(v.select(this),Qe.model.rangeFont)});var Fe=Ge.selectAll("."+h.cn.axisExtentBottom).data(u,n);Fe.enter().append("g").classed(h.cn.axisExtentBottom,!0),Fe.attr("transform",function(Qe){return p(0,Qe.model.height+h.axisExtentOffset)});var qe=Fe.selectAll("."+h.cn.axisExtentBottomText).data(u,n);qe.enter().append("text").classed(h.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(G),qe.text(function(Qe){return Z(Qe,!1)}).each(function(Qe){r.font(v.select(this),Qe.model.rangeFont)}),x.ensureAxisBrush(Oe,q,Q)}},21341:function(U,B,e){var v=e(17171),E=e(79749),a=e(1602).isVisible,C={};function w(t,r,c){var o=r.indexOf(c),n=t.indexOf(o);return n===-1&&(n+=r.length),n}function d(t,r){return function(o,n){return w(t,r,o)-w(t,r,n)}}var p=U.exports=function(r,c){var o=r._fullLayout,n=E(r,[],C);if(n){var u={},i={},g={},h={},x=o._size;c.forEach(function(S,L){var m=S[0].trace;g[L]=m.index;var M=h[L]=m._fullInput.index;u[L]=r.data[M].dimensions,i[L]=r.data[M].dimensions.slice()});var f=function(S,L,m){var M=i[S][L],b=m.map(function(G){return G.slice()}),s="dimensions["+L+"].constraintrange",_=o._tracePreGUI[r._fullData[g[S]]._fullInput.uid];if(_[s]===void 0){var A=M.constraintrange;_[s]=A||null}var D=r._fullData[g[S]].dimensions[L];b.length?(b.length===1&&(b=b[0]),M.constraintrange=b,D.constraintrange=b.slice(),b=[b]):(delete M.constraintrange,delete D.constraintrange,b=null);var F={};F[s]=b,r.emit("plotly_restyle",[F,[h[S]]])},l=function(S){r.emit("plotly_hover",S)},y=function(S){r.emit("plotly_unhover",S)},T=function(S,L){var m=d(L,i[S].filter(a));u[S].sort(m),i[S].filter(function(M){return!a(M)}).sort(function(M){return i[S].indexOf(M)}).forEach(function(M){u[S].splice(u[S].indexOf(M),1),u[S].splice(i[S].indexOf(M),0,M)}),r.emit("plotly_restyle",[{dimensions:[u[S]]},[h[S]]])};v(r,c,{width:x.w,height:x.h,margin:{t:x.t,r:x.r,b:x.b,l:x.l}},{filterChanged:f,hover:l,unhover:y,axesMoved:T})}};p.reglPrecompiled=C},34e3:function(U,B,e){var v=e(9012),E=e(27670).Y,a=e(41940),C=e(22399),w=e(5386).fF,d=e(5386).si,p=e(1426).extendFlat,t=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});U.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:C.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:"plot"},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:p({},v.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:w({},{keys:["label","color","value","percent","text"]}),texttemplate:d({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:p({},t,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:p({},t,{}),outsidetextfont:p({},t,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:p({},t,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:E({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:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:p({},t,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(U,B,e){var v=e(74875);B.name="pie",B.plot=function(E,a,C,w){v.plotBasePlot(B.name,E,a,C,w)},B.clean=function(E,a,C,w){v.cleanBasePlot(B.name,E,a,C,w)}},32354:function(U,B,e){var v=e(92770),E=e(84267),a=e(7901),C={};function w(r,c){var o=[],n=r._fullLayout,u=n.hiddenlabels||[],i=c.labels,g=c.marker.colors||[],h=c.values,x=c._length,f=c._hasValues&&x,l,y;if(c.dlabel)for(i=new Array(x),l=0;l=0});var A=c.type==="funnelarea"?m:c.sort;return A&&o.sort(function(D,F){return F.v-D.v}),o[0]&&(o[0].vTotal=L),o}function d(r){return function(o,n){return!o||(o=E(o),!o.isValid())?!1:(o=a.addOpacity(o,o.getAlpha()),r[n]||(r[n]=o),o)}}function p(r,c){var o=(c||{}).type;o||(o="pie");var n=r._fullLayout,u=r.calcdata,i=n[o+"colorway"],g=n["_"+o+"colormap"];n["extend"+o+"colors"]&&(i=t(i,C));for(var h=0,x=0;x0){u=!0;break}}u||(n=0)}return{hasLabels:c,hasValues:o,len:n}}function p(t,r,c,o){function n(s,_){return E.coerce(t,r,a,s,_)}var u=n("labels"),i=n("values"),g=d(u,i),h=g.len;if(r._hasLabels=g.hasLabels,r._hasValues=g.hasValues,!r._hasLabels&&r._hasValues&&(n("label0"),n("dlabel")),!h){r.visible=!1;return}r._length=h;var x=n("marker.line.width");x&&n("marker.line.color"),n("marker.colors"),n("scalegroup");var f=n("text"),l=n("texttemplate"),y;if(l||(y=n("textinfo",Array.isArray(f)?"text+percent":"percent")),n("hovertext"),n("hovertemplate"),l||y&&y!=="none"){var T=n("textposition");w(t,r,o,n,T,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var S=Array.isArray(T)||T==="auto",L=S||T==="outside";L&&n("automargin"),(T==="inside"||T==="auto"||Array.isArray(T))&&n("insidetextorientation")}C(r,o,n);var m=n("hole"),M=n("title.text");if(M){var b=n("title.position",m?"middle center":"top center");!m&&b==="middle center"&&(r.title.position="top center"),E.coerceFont(n,"title.font",o.font)}n("sort"),n("direction"),n("rotation"),n("pull")}U.exports={handleLabelsAndValues:d,supplyDefaults:p}},20007:function(U,B,e){var v=e(23469).appendArrayMultiPointValues;U.exports=function(a,C){var w={curveNumber:C.index,pointNumbers:a.pts,data:C._input,fullData:C,label:a.label,color:a.color,value:a.v,percent:a.percent,text:a.text,bbox:a.bbox,v:a.v};return a.pts.length===1&&(w.pointNumber=w.i=a.pts[0]),v(w,C,a.pts),C.type==="funnelarea"&&(delete w.v,delete w.i),w}},53581:function(U,B,e){var v=e(71828);function E(a){return a.indexOf("e")!==-1?a.replace(/[.]?0+e/,"e"):a.indexOf(".")!==-1?a.replace(/[.]?0+$/,""):a}B.formatPiePercent=function(C,w){var d=E((C*100).toPrecision(3));return v.numSeparate(d,w)+"%"},B.formatPieValue=function(C,w){var d=E(C.toPrecision(10));return v.numSeparate(d,w)},B.getFirstFilled=function(C,w){if(Array.isArray(C))for(var d=0;d0&&(qe+=ht*De.pxmid[0],Qe+=ht*De.pxmid[1])}De.cxFinal=qe,De.cyFinal=Qe;function gt(it,Ze,Ie,Te){var he=Te*(Ze[0]-it[0]),me=Te*(Ze[1]-it[1]);return"a"+Te*ae.r+","+Te*ae.r+" 0 "+De.largeArc+(Ie?" 1 ":" 0 ")+he+","+me}var yt=de.hole;if(De.v===ae.vTotal){var Et="M"+(qe+De.px0[0])+","+(Qe+De.px0[1])+gt(De.px0,De.pxmid,!0,1)+gt(De.pxmid,De.px0,!0,1)+"Z";yt?tt.attr("d","M"+(qe+yt*De.px0[0])+","+(Qe+yt*De.px0[1])+gt(De.px0,De.pxmid,!1,yt)+gt(De.pxmid,De.px0,!1,yt)+"Z"+Et):tt.attr("d",Et)}else{var Xe=gt(De.px0,De.px1,!0,1);if(yt){var Ue=1-yt;tt.attr("d","M"+(qe+yt*De.px1[0])+","+(Qe+yt*De.px1[1])+gt(De.px1,De.px0,!1,yt)+"l"+Ue*De.px0[0]+","+Ue*De.px0[1]+Xe+"Z")}else tt.attr("d","M"+qe+","+Qe+"l"+De.px0[0]+","+De.px0[1]+Xe+"Z")}fe(Y,De,ae);var ze=i.castOption(de.textposition,De.pts),rt=Je.selectAll("g.slicetext").data(De.text&&ze!=="none"?[0]:[]);rt.enter().append("g").classed("slicetext",!0),rt.exit().remove(),rt.each(function(){var it=d.ensureSingle(v.select(this),"text","",function(st){st.attr("data-notex",1)}),Ze=d.ensureUniformFontSize(Y,ze==="outside"?y(de,De,re.font):T(de,De,re.font));it.text(De.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(w.font,Ze).call(r.convertToTspans,Y);var Ie=w.bBox(it.node()),Te;if(ze==="outside")Te=F(Ie,De);else if(Te=L(Ie,De,ae),ze==="auto"&&Te.scale<1){var he=d.ensureUniformFontSize(Y,de.outsidetextfont);it.call(w.font,he),Ie=w.bBox(it.node()),Te=F(Ie,De)}var me=Te.textPosAngle,Re=me===void 0?De.pxmid:ne(ae.r,me);if(Te.targetX=qe+Re[0]*Te.rCenter+(Te.x||0),Te.targetY=Qe+Re[1]*Te.rCenter+(Te.y||0),$(Te,Ie),Te.outside){var Ne=Te.targetY;De.yLabelMin=Ne-Ie.height/2,De.yLabelMid=Ne,De.yLabelMax=Ne+Ie.height/2,De.labelExtraX=0,De.labelExtraY=0,Ae=!0}Te.fontSize=Ze.size,o(de.type,Te,re),te[Fe].transform=Te,d.setTransormAndDisplay(it,Te)})});var Be=v.select(this).selectAll("g.titletext").data(de.title.text?[0]:[]);if(Be.enter().append("g").classed("titletext",!0),Be.exit().remove(),Be.each(function(){var De=d.ensureSingle(v.select(this),"text","",function(Qe){Qe.attr("data-notex",1)}),Fe=de.title.text;de._meta&&(Fe=d.templateString(Fe,de._meta)),De.text(Fe).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(w.font,de.title.font).call(r.convertToTspans,Y);var qe;de.title.position==="middle center"?qe=G(ae):qe=O(ae,le),De.attr("transform",t(qe.x,qe.y)+p(Math.min(1,qe.scale))+t(qe.tx,qe.ty))}),Ae&&V(Se,de),f(xe,de),Ae&&de.automargin){var Oe=w.bBox(ue.node()),Ee=de.domain,we=le.w*(Ee.x[1]-Ee.x[0]),Ce=le.h*(Ee.y[1]-Ee.y[0]),Ge=(.5*we-ae.r)/le.w,He=(.5*Ce-ae.r)/le.h;E.autoMargin(Y,"pie."+de.uid+".automargin",{xl:Ee.x[0]-Ge,xr:Ee.x[1]+Ge,yb:Ee.y[0]-He,yt:Ee.y[1]+He,l:Math.max(ae.cx-ae.r-Oe.left,0),r:Math.max(Oe.right-(ae.cx+ae.r),0),b:Math.max(Oe.bottom-(ae.cy+ae.r),0),t:Math.max(ae.cy-ae.r-Oe.top,0),pad:5})}})});setTimeout(function(){q.selectAll("tspan").each(function(){var te=v.select(this);te.attr("dy")&&te.attr("dy",te.attr("dy"))})},0)}function f(Y,j){Y.each(function(X){var re=v.select(this);if(!X.labelExtraX&&!X.labelExtraY){re.select("path.textline").remove();return}var le=re.select("g.slicetext text");X.transform.targetX+=X.labelExtraX,X.transform.targetY+=X.labelExtraY,d.setTransormAndDisplay(le,X.transform);var q=X.cxFinal+X.pxmid[0],te=X.cyFinal+X.pxmid[1],ue="M"+q+","+te,ae=(X.yLabelMax-X.yLabelMin)*(X.pxmid[0]<0?-1:1)/4;if(X.labelExtraX){var de=X.labelExtraX*X.pxmid[1]/X.pxmid[0],xe=X.yLabelMid+X.labelExtraY-(X.cyFinal+X.pxmid[1]);Math.abs(de)>Math.abs(xe)?ue+="l"+xe*X.pxmid[0]/X.pxmid[1]+","+xe+"H"+(q+X.labelExtraX+ae):ue+="l"+X.labelExtraX+","+de+"v"+(xe-de)+"h"+ae}else ue+="V"+(X.yLabelMid+X.labelExtraY)+"h"+ae;d.ensureSingle(re,"path","textline").call(C.stroke,j.outsidetextfont.color).attr({"stroke-width":Math.min(2,j.outsidetextfont.size/8),d:ue,fill:"none"})})}function l(Y,j,X){var re=X[0],le=re.cx,q=re.cy,te=re.trace,ue=te.type==="funnelarea";"_hasHoverLabel"in te||(te._hasHoverLabel=!1),"_hasHoverEvent"in te||(te._hasHoverEvent=!1),Y.on("mouseover",function(ae){var de=j._fullLayout,xe=j._fullData[te.index];if(!(j._dragging||de.hovermode===!1)){var Se=xe.hoverinfo;if(Array.isArray(Se)&&(Se=a.castHoverinfo({hoverinfo:[i.castOption(Se,ae.pts)],_module:te._module},de,0)),Se==="all"&&(Se="label+text+value+percent+name"),xe.hovertemplate||Se!=="none"&&Se!=="skip"&&Se){var Ae=ae.rInscribed||0,Be=le+ae.pxmid[0]*(1-Ae),Oe=q+ae.pxmid[1]*(1-Ae),Ee=de.separators,we=[];if(Se&&Se.indexOf("label")!==-1&&we.push(ae.label),ae.text=i.castOption(xe.hovertext||xe.text,ae.pts),Se&&Se.indexOf("text")!==-1){var Ce=ae.text;d.isValidTextValue(Ce)&&we.push(Ce)}ae.value=ae.v,ae.valueLabel=i.formatPieValue(ae.v,Ee),Se&&Se.indexOf("value")!==-1&&we.push(ae.valueLabel),ae.percent=ae.v/re.vTotal,ae.percentLabel=i.formatPiePercent(ae.percent,Ee),Se&&Se.indexOf("percent")!==-1&&we.push(ae.percentLabel);var Ge=xe.hoverlabel,He=Ge.font,De=[];a.loneHover({trace:te,x0:Be-Ae*re.r,x1:Be+Ae*re.r,y:Oe,_x0:ue?le+ae.TL[0]:Be-Ae*re.r,_x1:ue?le+ae.TR[0]:Be+Ae*re.r,_y0:ue?q+ae.TL[1]:Oe-Ae*re.r,_y1:ue?q+ae.BL[1]:Oe+Ae*re.r,text:we.join("
"),name:xe.hovertemplate||Se.indexOf("name")!==-1?xe.name:void 0,idealAlign:ae.pxmid[0]<0?"left":"right",color:i.castOption(Ge.bgcolor,ae.pts)||ae.color,borderColor:i.castOption(Ge.bordercolor,ae.pts),fontFamily:i.castOption(He.family,ae.pts),fontSize:i.castOption(He.size,ae.pts),fontColor:i.castOption(He.color,ae.pts),nameLength:i.castOption(Ge.namelength,ae.pts),textAlign:i.castOption(Ge.align,ae.pts),hovertemplate:i.castOption(xe.hovertemplate,ae.pts),hovertemplateLabels:ae,eventData:[g(ae,xe)]},{container:de._hoverlayer.node(),outerContainer:de._paper.node(),gd:j,inOut_bbox:De}),ae.bbox=De[0],te._hasHoverLabel=!0}te._hasHoverEvent=!0,j.emit("plotly_hover",{points:[g(ae,xe)],event:v.event})}}),Y.on("mouseout",function(ae){var de=j._fullLayout,xe=j._fullData[te.index],Se=v.select(this).datum();te._hasHoverEvent&&(ae.originalEvent=v.event,j.emit("plotly_unhover",{points:[g(Se,xe)],event:v.event}),te._hasHoverEvent=!1),te._hasHoverLabel&&(a.loneUnhover(de._hoverlayer.node()),te._hasHoverLabel=!1)}),Y.on("click",function(ae){var de=j._fullLayout,xe=j._fullData[te.index];j._dragging||de.hovermode===!1||(j._hoverdata=[g(ae,xe)],a.click(j,v.event))})}function y(Y,j,X){var re=i.castOption(Y.outsidetextfont.color,j.pts)||i.castOption(Y.textfont.color,j.pts)||X.color,le=i.castOption(Y.outsidetextfont.family,j.pts)||i.castOption(Y.textfont.family,j.pts)||X.family,q=i.castOption(Y.outsidetextfont.size,j.pts)||i.castOption(Y.textfont.size,j.pts)||X.size;return{color:re,family:le,size:q}}function T(Y,j,X){var re=i.castOption(Y.insidetextfont.color,j.pts);!re&&Y._input.textfont&&(re=i.castOption(Y._input.textfont.color,j.pts));var le=i.castOption(Y.insidetextfont.family,j.pts)||i.castOption(Y.textfont.family,j.pts)||X.family,q=i.castOption(Y.insidetextfont.size,j.pts)||i.castOption(Y.textfont.size,j.pts)||X.size;return{color:re||C.contrast(j.color),family:le,size:q}}function S(Y,j){for(var X,re,le=0;le=-4;Ge-=2)Ce(Math.PI*Ge,"tan");for(Ge=4;Ge>=-4;Ge-=2)Ce(Math.PI*(Ge+1),"tan")}if(Se||Be){for(Ge=4;Ge>=-4;Ge-=2)Ce(Math.PI*(Ge+1.5),"rad");for(Ge=4;Ge>=-4;Ge-=2)Ce(Math.PI*(Ge+.5),"rad")}}if(ue||Oe||Se){var He=Math.sqrt(Y.width*Y.width+Y.height*Y.height);if(we={scale:le*re*2/He,rCenter:1-le,rotate:0},we.textPosAngle=(j.startangle+j.stopangle)/2,we.scale>=1)return we;Ee.push(we)}(Oe||Be)&&(we=M(Y,re,te,ae,de),we.textPosAngle=(j.startangle+j.stopangle)/2,Ee.push(we)),(Oe||Ae)&&(we=b(Y,re,te,ae,de),we.textPosAngle=(j.startangle+j.stopangle)/2,Ee.push(we));for(var De=0,Fe=0,qe=0;qe=1)break}return Ee[De]}function m(Y,j){var X=Y.startangle,re=Y.stopangle;return X>j&&j>re||X0?1:-1)/2,y:q/(1+X*X/(re*re)),outside:!0}}function G(Y){var j=Math.sqrt(Y.titleBox.width*Y.titleBox.width+Y.titleBox.height*Y.titleBox.height);return{x:Y.cx,y:Y.cy,scale:Y.trace.hole*Y.r*2/j,tx:0,ty:-Y.titleBox.height/2+Y.trace.title.font.size}}function O(Y,j){var X=1,re=1,le,q=Y.trace,te={x:Y.cx,y:Y.cy},ue={tx:0,ty:0};ue.ty+=q.title.font.size,le=k(q),q.title.position.indexOf("top")!==-1?(te.y-=(1+le)*Y.r,ue.ty-=Y.titleBox.height):q.title.position.indexOf("bottom")!==-1&&(te.y+=(1+le)*Y.r);var ae=H(Y.r,Y.trace.aspectratio),de=j.w*(q.domain.x[1]-q.domain.x[0])/2;return q.title.position.indexOf("left")!==-1?(de=de+ae,te.x-=(1+le)*ae,ue.tx+=Y.titleBox.width/2):q.title.position.indexOf("center")!==-1?de*=2:q.title.position.indexOf("right")!==-1&&(de=de+ae,te.x+=(1+le)*ae,ue.tx-=Y.titleBox.width/2),X=de/Y.titleBox.width,re=z(Y,j)/Y.titleBox.height,{x:te.x,y:te.y,scale:Math.min(X,re),tx:ue.tx,ty:ue.ty}}function H(Y,j){return Y/(j===void 0?1:j)}function z(Y,j){var X=Y.trace,re=j.h*(X.domain.y[1]-X.domain.y[0]);return Math.min(Y.titleBox.height,re/2)}function k(Y){var j=Y.pull;if(!j)return 0;var X;if(Array.isArray(j))for(j=0,X=0;Xj&&(j=Y.pull[X]);return j}function V(Y,j){var X,re,le,q,te,ue,ae,de,xe,Se,Ae,Be,Oe;function Ee(He,De){return He.pxmid[1]-De.pxmid[1]}function we(He,De){return De.pxmid[1]-He.pxmid[1]}function Ce(He,De){De||(De={});var Fe=De.labelExtraY+(re?De.yLabelMax:De.yLabelMin),qe=re?He.yLabelMin:He.yLabelMax,Qe=re?He.yLabelMax:He.yLabelMin,Je=He.cyFinal+te(He.px0[1],He.px1[1]),tt=Fe-qe,ht,gt,yt,Et,Xe,Ue;if(tt*ae>0&&(He.labelExtraY=tt),!!Array.isArray(j.pull))for(gt=0;gt=(i.castOption(j.pull,yt.pts)||0))&&((He.pxmid[1]-yt.pxmid[1])*ae>0?(Et=yt.cyFinal+te(yt.px0[1],yt.px1[1]),tt=Et-qe-He.labelExtraY,tt*ae>0&&(He.labelExtraY+=tt)):(Qe+He.labelExtraY-Je)*ae>0&&(ht=3*ue*Math.abs(gt-Se.indexOf(He)),Xe=yt.cxFinal+q(yt.px0[0],yt.px1[0]),Ue=Xe+ht-(He.cxFinal+He.pxmid[0])-He.labelExtraX,Ue*ue>0&&(He.labelExtraX+=Ue)))}for(re=0;re<2;re++)for(le=re?Ee:we,te=re?Math.max:Math.min,ae=re?1:-1,X=0;X<2;X++){for(q=X?Math.max:Math.min,ue=X?1:-1,de=Y[re][X],de.sort(le),xe=Y[1-re][X],Se=xe.concat(de),Be=[],Ae=0;Ae1?(de=X.r,xe=de/le.aspectratio):(xe=X.r,de=xe*le.aspectratio),de*=(1+le.baseratio)/2,ae=de*xe}te=Math.min(te,ae/X.vTotal)}for(re=0;rej.vTotal/2?1:0,de.halfangle=Math.PI*Math.min(de.v/j.vTotal,.5),de.ring=1-re.hole,de.rInscribed=D(de,j))}function ne(Y,j){return[Y*Math.sin(j),-Y*Math.cos(j)]}function fe(Y,j,X){var re=Y._fullLayout,le=X.trace,q=le.texttemplate,te=le.textinfo;if(!q&&te&&te!=="none"){var ue=te.split("+"),ae=function(De){return ue.indexOf(De)!==-1},de=ae("label"),xe=ae("text"),Se=ae("value"),Ae=ae("percent"),Be=re.separators,Oe;if(Oe=de?[j.label]:[],xe){var Ee=i.getFirstFilled(le.text,j.pts);h(Ee)&&Oe.push(Ee)}Se&&Oe.push(i.formatPieValue(j.v,Be)),Ae&&Oe.push(i.formatPiePercent(j.v/X.vTotal,Be)),j.text=Oe.join("
")}function we(De){return{label:De.label,value:De.v,valueLabel:i.formatPieValue(De.v,re.separators),percent:De.v/X.vTotal,percentLabel:i.formatPiePercent(De.v/X.vTotal,re.separators),color:De.color,text:De.text,customdata:d.castOption(le,De.i,"customdata")}}if(q){var Ce=d.castOption(le,j.i,"texttemplate");if(!Ce)j.text="";else{var Ge=we(j),He=i.getFirstFilled(le.text,j.pts);(h(He)||He==="")&&(Ge.text=He),j.text=d.texttemplateString(Ce,Ge,Y._fullLayout._d3locale,Ge,le._meta||{})}}}function $(Y,j){var X=Y.rotate*Math.PI/180,re=Math.cos(X),le=Math.sin(X),q=(j.left+j.right)/2,te=(j.top+j.bottom)/2;Y.textX=q*re-te*le,Y.textY=q*le+te*re,Y.noCenter=!0}U.exports={plot:x,formatSliceLabel:fe,transformInsideText:L,determineInsideTextFont:T,positionTitleOutside:O,prerenderTitles:S,layoutAreas:Z,attachFxHandlers:l,computeTransform:$}},68357:function(U,B,e){var v=e(39898),E=e(63463),a=e(72597).resizeText;U.exports=function(w){var d=w._fullLayout._pielayer.selectAll(".trace");a(w,d,"pie"),d.each(function(p){var t=p[0],r=t.trace,c=v.select(this);c.style({opacity:r.opacity}),c.selectAll("path.surface").each(function(o){v.select(this).call(E,o,r)})})}},63463:function(U,B,e){var v=e(7901),E=e(53581).castOption;U.exports=function(C,w,d){var p=d.marker.line,t=E(p.color,w.pts)||v.defaultLine,r=E(p.width,w.pts)||0;C.style("stroke-width",r).call(v.fill,w.color).call(v.stroke,t)}},10959:function(U,B,e){var v=e(82196);U.exports={x:v.x,y:v.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:v.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"},transforms:void 0}},42743:function(U,B,e){var v=e(9330).gl_pointcloud2d,E=e(78614),a=e(71739).findExtremes,C=e(34603);function w(t,r){this.scene=t,this.uid=r,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=v(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var d=w.prototype;d.handlePick=function(t){var r=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[r*2],this.pickXYData[r*2+1]]:[this.pickXData[r],this.pickYData[r]],textLabel:Array.isArray(this.textLabels)?this.textLabels[r]:this.textLabels,color:this.color,name:this.name,pointIndex:r,hoverinfo:this.hoverinfo}},d.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=C(t,{})},d.updateFast=function(t){var r=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,o=this.pickXYData=t.xy,n=t.xbounds&&t.ybounds,u=t.indices,i,g,h,x=this.bounds,f,l,y;if(o){if(h=o,i=o.length>>>1,n)x[0]=t.xbounds[0],x[2]=t.xbounds[1],x[1]=t.ybounds[0],x[3]=t.ybounds[1];else for(y=0;yx[2]&&(x[2]=f),lx[3]&&(x[3]=l);if(u)g=u;else for(g=new Int32Array(i),y=0;yx[2]&&(x[2]=f),lx[3]&&(x[3]=l);this.idToIndex=g,this.pointcloudOptions.idToIndex=g,this.pointcloudOptions.positions=h;var T=E(t.marker.color),S=E(t.marker.border.color),L=t.opacity*t.marker.opacity;T[3]*=L,this.pointcloudOptions.color=T;var m=t.marker.blend;if(m===null){var M=100;m=r.lengthS&&(S=o.source[f]),o.target[f]>S&&(S=o.target[f]);var L=S+1;r.node._count=L;var m,M=r.node.groups,b={};for(f=0;f0&&w(G,L)&&w(O,L)&&!(b.hasOwnProperty(G)&&b.hasOwnProperty(O)&&b[G]===b[O])){b.hasOwnProperty(O)&&(O=b[O]),b.hasOwnProperty(G)&&(G=b[G]),G=+G,O=+O,g[G]=g[O]=!0;var H="";o.label&&o.label[f]&&(H=o.label[f]);var z=null;H&&h.hasOwnProperty(H)&&(z=h[H]),n.push({pointNumber:f,label:H,color:u?o.color[f]:o.color,customdata:i?o.customdata[f]:o.customdata,concentrationscale:z,source:G,target:O,value:+F}),D.source.push(G),D.target.push(O)}}var k=L+M.length,V=C(c.color),Z=C(c.customdata),ee=[];for(f=0;fL-1,childrenNodes:[],pointNumber:f,label:Q,color:V?c.color[f]:c.color,customdata:Z?c.customdata[f]:c.customdata})}var ne=!1;return t(k,D.source,D.target)&&(ne=!0),{circular:ne,links:n,nodes:ee,groups:M,groupLookup:b}}function t(r,c,o){for(var n=E.init2dArray(r,0),u=0;u1})}U.exports=function(c,o){var n=p(o);return a({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}},85247:function(U){U.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(U,B,e){var v=e(71828),E=e(39953),a=e(7901),C=e(84267),w=e(27670).c,d=e(38048),p=e(44467),t=e(85501);U.exports=function(o,n,u,i){function g(s,_){return v.coerce(o,n,E,s,_)}var h=v.extendDeep(i.hoverlabel,o.hoverlabel),x=o.node,f=p.newContainer(n,"node");function l(s,_){return v.coerce(x,f,E.node,s,_)}l("label"),l("groups"),l("x"),l("y"),l("pad"),l("thickness"),l("line.color"),l("line.width"),l("hoverinfo",o.hoverinfo),d(x,f,l,h),l("hovertemplate");var y=i.colorway,T=function(s){return y[s%y.length]};l("color",f.label.map(function(s,_){return a.addOpacity(T(_),.8)})),l("customdata");var S=o.link||{},L=p.newContainer(n,"link");function m(s,_){return v.coerce(S,L,E.link,s,_)}m("label"),m("arrowlen"),m("source"),m("target"),m("value"),m("line.color"),m("line.width"),m("hoverinfo",o.hoverinfo),d(S,L,m,h),m("hovertemplate");var M=C(i.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";m("color",v.repeat(M,L.value.length)),m("customdata"),t(S,L,{name:"colorscales",handleItemDefaults:r}),w(n,i,g),g("orientation"),g("valueformat"),g("valuesuffix");var b;f.x.length&&f.y.length&&(b="freeform"),g("arrangement",b),v.coerceFont(g,"textfont",v.extendFlat({},i.font)),n._length=null};function r(c,o){function n(u,i){return v.coerce(c,o,E.link.colorscales,u,i)}n("label"),n("cmin"),n("cmax"),n("colorscale")}},29396:function(U,B,e){U.exports={attributes:e(39953),supplyDefaults:e(26857),calc:e(92930),plot:e(60436),moduleType:"trace",name:"sankey",basePlotModule:e(75536),selectPoints:e(84564),categories:["noOpacity"],meta:{}}},60436:function(U,B,e){var v=e(39898),E=e(71828),a=E.numberFormat,C=e(3393),w=e(30211),d=e(7901),p=e(85247).cn,t=E._;function r(y){return y!==""}function c(y,T){return y.filter(function(S){return S.key===T.traceId})}function o(y,T){v.select(y).select("path").style("fill-opacity",T),v.select(y).select("rect").style("fill-opacity",T)}function n(y){v.select(y).select("text.name").style("fill","black")}function u(y){return function(T){return y.node.sourceLinks.indexOf(T.link)!==-1||y.node.targetLinks.indexOf(T.link)!==-1}}function i(y){return function(T){return T.node.sourceLinks.indexOf(y.link)!==-1||T.node.targetLinks.indexOf(y.link)!==-1}}function g(y,T,S){T&&S&&c(S,T).selectAll("."+p.sankeyLink).filter(u(T)).call(x.bind(0,T,S,!1))}function h(y,T,S){T&&S&&c(S,T).selectAll("."+p.sankeyLink).filter(u(T)).call(f.bind(0,T,S,!1))}function x(y,T,S,L){var m=L.datum().link.label;L.style("fill-opacity",function(M){if(!M.link.concentrationscale)return .4}),m&&c(T,y).selectAll("."+p.sankeyLink).filter(function(M){return M.link.label===m}).style("fill-opacity",function(M){if(!M.link.concentrationscale)return .4}),S&&c(T,y).selectAll("."+p.sankeyNode).filter(i(y)).call(g)}function f(y,T,S,L){var m=L.datum().link.label;L.style("fill-opacity",function(M){return M.tinyColorAlpha}),m&&c(T,y).selectAll("."+p.sankeyLink).filter(function(M){return M.link.label===m}).style("fill-opacity",function(M){return M.tinyColorAlpha}),S&&c(T,y).selectAll(p.sankeyNode).filter(i(y)).call(h)}function l(y,T){var S=y.hoverlabel||{},L=E.nestedProperty(S,T).get();return Array.isArray(L)?!1:L}U.exports=function(T,S){for(var L=T._fullLayout,m=L._paper,M=L._size,b=0;b"),color:l($,"bgcolor")||d.addOpacity(le.color,1),borderColor:l($,"bordercolor"),fontFamily:l($,"font.family"),fontSize:l($,"font.size"),fontColor:l($,"font.color"),nameLength:l($,"namelength"),textAlign:l($,"align"),idealAlign:v.event.x"),color:l($,"bgcolor")||fe.tinyColorHue,borderColor:l($,"bordercolor"),fontFamily:l($,"font.family"),fontSize:l($,"font.size"),fontColor:l($,"font.color"),nameLength:l($,"namelength"),textAlign:l($,"align"),idealAlign:"left",hovertemplate:$.hovertemplate,hovertemplateLabels:te,eventData:[fe.node]},{container:L._hoverlayer.node(),outerContainer:L._paper.node(),gd:T});o(de,.85),n(de)}}},Q=function(ne,fe,$){T._fullLayout.hovermode!==!1&&(v.select(ne).call(h,fe,$),fe.node.trace.node.hoverinfo!=="skip"&&(fe.node.fullData=fe.node.trace,T.emit("plotly_unhover",{event:v.event,points:[fe.node]})),w.loneUnhover(L._hoverlayer.node()))};C(T,m,S,{width:M.w,height:M.h,margin:{t:M.t,r:M.r,b:M.b,l:M.l}},{linkEvents:{hover:A,follow:z,unhover:k,select:_},nodeEvents:{hover:Z,follow:ee,unhover:Q,select:V}})}},3393:function(U,B,e){var v=e(49887),E=e(81684).k4,a=e(39898),C=e(30838),w=e(86781),d=e(85247),p=e(84267),t=e(7901),r=e(91424),c=e(71828),o=c.strTranslate,n=c.strRotate,u=e(28984),i=u.keyFun,g=u.repeat,h=u.unwrap,x=e(63893),f=e(73972),l=e(18783),y=l.CAP_SHIFT,T=l.LINE_SPACING,S=3;function L(j,X,re){var le=h(X),q=le.trace,te=q.domain,ue=q.orientation==="h",ae=q.node.pad,de=q.node.thickness,xe=j.width*(te.x[1]-te.x[0]),Se=j.height*(te.y[1]-te.y[0]),Ae=le._nodes,Be=le._links,Oe=le.circular,Ee;Oe?Ee=w.sankeyCircular().circularLinkGap(0):Ee=C.sankey(),Ee.iterations(d.sankeyIterations).size(ue?[xe,Se]:[Se,xe]).nodeWidth(de).nodePadding(ae).nodeId(function(Xe){return Xe.pointNumber}).nodes(Ae).links(Be);var we=Ee();Ee.nodePadding()=it||(rt=it-ze.y0,rt>1e-6&&(ze.y0+=rt,ze.y1+=rt)),it=ze.y1+ae})}function ht(Xe){var Ue=Xe.map(function(he,me){return{x0:he.x0,index:me}}).sort(function(he,me){return he.x0-me.x0}),ze=[],rt=-1,it,Ze=-1/0,Ie;for(Ce=0;CeZe+de&&(rt+=1,it=Te.x0),Ze=Te.x0,ze[rt]||(ze[rt]=[]),ze[rt].push(Te),Ie=it-Te.x0,Te.x0+=Ie,Te.x1+=Ie}return ze}if(q.node.x.length&&q.node.y.length){for(Ce=0;Ce0?"L"+q.targetX+" "+q.targetY:"")+"Z":re="M "+(q.targetX-X)+" "+(q.targetY-le)+" L"+(q.rightInnerExtent-X)+" "+(q.targetY-le)+"A"+(q.rightLargeArcRadius+le)+" "+(q.rightSmallArcRadius+le)+" 0 0 0 "+(q.rightFullExtent-le-X)+" "+(q.targetY+q.rightSmallArcRadius)+"L"+(q.rightFullExtent-le-X)+" "+q.verticalRightInnerExtent+"A"+(q.rightLargeArcRadius+le)+" "+(q.rightLargeArcRadius+le)+" 0 0 0 "+(q.rightInnerExtent-X)+" "+(q.verticalFullExtent+le)+"L"+q.leftInnerExtent+" "+(q.verticalFullExtent+le)+"A"+(q.leftLargeArcRadius+le)+" "+(q.leftLargeArcRadius+le)+" 0 0 0 "+(q.leftFullExtent+le)+" "+q.verticalLeftInnerExtent+"L"+(q.leftFullExtent+le)+" "+(q.sourceY+q.leftSmallArcRadius)+"A"+(q.leftLargeArcRadius+le)+" "+(q.leftSmallArcRadius+le)+" 0 0 0 "+q.leftInnerExtent+" "+(q.sourceY-le)+"L"+q.sourceX+" "+(q.sourceY-le)+"L"+q.sourceX+" "+(q.sourceY+le)+"L"+q.leftInnerExtent+" "+(q.sourceY+le)+"A"+(q.leftLargeArcRadius-le)+" "+(q.leftSmallArcRadius-le)+" 0 0 1 "+(q.leftFullExtent-le)+" "+(q.sourceY+q.leftSmallArcRadius)+"L"+(q.leftFullExtent-le)+" "+q.verticalLeftInnerExtent+"A"+(q.leftLargeArcRadius-le)+" "+(q.leftLargeArcRadius-le)+" 0 0 1 "+q.leftInnerExtent+" "+(q.verticalFullExtent-le)+"L"+(q.rightInnerExtent-X)+" "+(q.verticalFullExtent-le)+"A"+(q.rightLargeArcRadius-le)+" "+(q.rightLargeArcRadius-le)+" 0 0 1 "+(q.rightFullExtent+le-X)+" "+q.verticalRightInnerExtent+"L"+(q.rightFullExtent+le-X)+" "+(q.targetY+q.rightSmallArcRadius)+"A"+(q.rightLargeArcRadius-le)+" "+(q.rightSmallArcRadius-le)+" 0 0 1 "+(q.rightInnerExtent-X)+" "+(q.targetY+le)+"L"+(q.targetX-X)+" "+(q.targetY+le)+(X>0?"L"+q.targetX+" "+q.targetY:"")+"Z",re}function b(){var j=.5;function X(re){var le=re.linkArrowLength;if(re.link.circular)return M(re.link,le);var q=Math.abs((re.link.target.x0-re.link.source.x1)/2);le>q&&(le=q);var te=re.link.source.x1,ue=re.link.target.x0-le,ae=E(te,ue),de=ae(j),xe=ae(1-j),Se=re.link.y0-re.link.width/2,Ae=re.link.y0+re.link.width/2,Be=re.link.y1-re.link.width/2,Oe=re.link.y1+re.link.width/2,Ee="M"+te+","+Se,we="C"+de+","+Se+" "+xe+","+Be+" "+ue+","+Be,Ce="C"+xe+","+Oe+" "+de+","+Ae+" "+te+","+Ae,Ge=le>0?"L"+(ue+le)+","+(Be+re.link.width/2):"";return Ge+="L"+ue+","+Oe,Ee+we+Ge+Ce+"Z"}return X}function s(j,X){var re=p(X.color),le=d.nodePadAcross,q=j.nodePad/2;X.dx=X.x1-X.x0,X.dy=X.y1-X.y0;var te=X.dx,ue=Math.max(.5,X.dy),ae="node_"+X.pointNumber;return X.group&&(ae=c.randstr()),X.trace=j.trace,X.curveNumber=j.trace.index,{index:X.pointNumber,key:ae,partOfGroup:X.partOfGroup||!1,group:X.group,traceId:j.key,trace:j.trace,node:X,nodePad:j.nodePad,nodeLineColor:j.nodeLineColor,nodeLineWidth:j.nodeLineWidth,textFont:j.textFont,size:j.horizontal?j.height:j.width,visibleWidth:Math.ceil(te),visibleHeight:ue,zoneX:-le,zoneY:-q,zoneWidth:te+2*le,zoneHeight:ue+2*q,labelY:j.horizontal?X.dy/2+1:X.dx/2+1,left:X.originalLayer===1,sizeAcross:j.width,forceLayouts:j.forceLayouts,horizontal:j.horizontal,darkBackground:re.getBrightness()<=128,tinyColorHue:t.tinyRGB(re),tinyColorAlpha:re.getAlpha(),valueFormat:j.valueFormat,valueSuffix:j.valueSuffix,sankey:j.sankey,graph:j.graph,arrangement:j.arrangement,uniqueNodeLabelPathId:[j.guid,j.key,ae].join("_"),interactionState:j.interactionState,figure:j}}function _(j){j.attr("transform",function(X){return o(X.node.x0.toFixed(3),X.node.y0.toFixed(3))})}function A(j){j.call(_)}function D(j,X){j.call(A),X.attr("d",b())}function F(j){j.attr("width",function(X){return X.node.x1-X.node.x0}).attr("height",function(X){return X.visibleHeight})}function G(j){return j.link.width>1||j.linkLineWidth>0}function O(j){var X=o(j.translateX,j.translateY);return X+(j.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function H(j,X,re){j.on(".basic",null).on("mouseover.basic",function(le){!le.interactionState.dragInProgress&&!le.partOfGroup&&(re.hover(this,le,X),le.interactionState.hovered=[this,le])}).on("mousemove.basic",function(le){!le.interactionState.dragInProgress&&!le.partOfGroup&&(re.follow(this,le),le.interactionState.hovered=[this,le])}).on("mouseout.basic",function(le){!le.interactionState.dragInProgress&&!le.partOfGroup&&(re.unhover(this,le,X),le.interactionState.hovered=!1)}).on("click.basic",function(le){le.interactionState.hovered&&(re.unhover(this,le,X),le.interactionState.hovered=!1),!le.interactionState.dragInProgress&&!le.partOfGroup&&re.select(this,le,X)})}function z(j,X,re,le){var q=a.behavior.drag().origin(function(te){return{x:te.node.x0+te.visibleWidth/2,y:te.node.y0+te.visibleHeight/2}}).on("dragstart",function(te){if(te.arrangement!=="fixed"&&(c.ensureSingle(le._fullLayout._infolayer,"g","dragcover",function(ae){le._fullLayout._dragCover=ae}),c.raiseToTop(this),te.interactionState.dragInProgress=te.node,ne(te.node),te.interactionState.hovered&&(re.nodeEvents.unhover.apply(0,te.interactionState.hovered),te.interactionState.hovered=!1),te.arrangement==="snap")){var ue=te.traceId+"|"+te.key;te.forceLayouts[ue]?te.forceLayouts[ue].alpha(1):k(j,ue,te),V(j,X,te,ue,le)}}).on("drag",function(te){if(te.arrangement!=="fixed"){var ue=a.event.x,ae=a.event.y;te.arrangement==="snap"?(te.node.x0=ue-te.visibleWidth/2,te.node.x1=ue+te.visibleWidth/2,te.node.y0=ae-te.visibleHeight/2,te.node.y1=ae+te.visibleHeight/2):(te.arrangement==="freeform"&&(te.node.x0=ue-te.visibleWidth/2,te.node.x1=ue+te.visibleWidth/2),ae=Math.max(0,Math.min(te.size-te.visibleHeight/2,ae)),te.node.y0=ae-te.visibleHeight/2,te.node.y1=ae+te.visibleHeight/2),ne(te.node),te.arrangement!=="snap"&&(te.sankey.update(te.graph),D(j.filter(fe(te)),X))}}).on("dragend",function(te){if(te.arrangement!=="fixed"){te.interactionState.dragInProgress=!1;for(var ue=0;ue0)window.requestAnimationFrame(te);else{var de=re.node.originalX;re.node.x0=de-re.visibleWidth/2,re.node.x1=de+re.visibleWidth/2,ee(re,q)}})}function Z(j,X,re,le){return function(){for(var te=0,ue=0;ue0&&le.forceLayouts[X].alpha(0)}}function ee(j,X){for(var re=[],le=[],q=0;qO&&_[z].gap;)z--;for(V=_[z].s,H=_.length-1;H>z;H--)_[H].s=V;for(;OF[h]&&h=0;u--){var i=w[u];if(i.type==="scatter"&&i.xaxis===o.xaxis&&i.yaxis===o.yaxis){i.opacity=void 0;break}}}}}},17438:function(U,B,e){var v=e(71828),E=e(73972),a=e(82196),C=e(47581),w=e(34098),d=e(67513),p=e(73927),t=e(565),r=e(49508),c=e(11058),o=e(94039),n=e(82410),u=e(28908),i=e(71828).coercePattern;U.exports=function(h,x,f,l){function y(_,A){return v.coerce(h,x,a,_,A)}var T=d(h,x,l,y);if(T||(x.visible=!1),!!x.visible){p(h,x,l,y),y("xhoverformat"),y("yhoverformat");var S=t(h,x,l,y);l.scattermode==="group"&&x.orientation===void 0&&y("orientation","v");var L=!S&&T=Math.min(xe,Se)&&h<=Math.max(xe,Se)?0:1/0}var Ae=Math.max(3,de.mrc||0),Be=1-1/Ae,Oe=Math.abs(i.c2p(de.x)-h);return Oe=Math.min(xe,Se)&&x<=Math.max(xe,Se)?0:1/0}var Ae=Math.max(3,de.mrc||0),Be=1-1/Ae,Oe=Math.abs(g.c2p(de.y)-x);return Oeue!=te>=ue&&(re=j[$-1][0],le=j[$][0],te-q&&(X=re+(le-re)*(ue-q)/(te-q),Z=Math.min(Z,X),ee=Math.max(ee,X)));Z=Math.max(Z,0),ee=Math.min(ee,i._length);var ae=w.defaultLine;return w.opacity(u.fillcolor)?ae=u.fillcolor:w.opacity((u.line||{}).color)&&(ae=u.line.color),v.extendFlat(t,{distance:t.maxHoverDistance,x0:Z,x1:ee,y0:ue,y1:ue,color:ae,hovertemplate:!1}),delete t.index,u.text&&!Array.isArray(u.text)?t.text=String(u.text):t.text=u.name,[t]}}}},67368:function(U,B,e){var v=e(34098);U.exports={hasLines:v.hasLines,hasMarkers:v.hasMarkers,hasText:v.hasText,isBubble:v.isBubble,attributes:e(82196),layoutAttributes:e(21479),supplyDefaults:e(17438),crossTraceDefaults:e(34936),supplyLayoutDefaults:e(79334),calc:e(47761).calc,crossTraceCalc:e(72626),arraysToCalcdata:e(75225),plot:e(32663),colorbar:e(4898),formatLabels:e(8225),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(33720),selectPoints:e(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:e(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(U){U.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(U,B,e){var v=e(71828),E=e(21479);U.exports=function(a,C){function w(p,t){return v.coerce(a,C,E,p,t)}var d=C.barmode==="group";C.scattermode==="group"&&w("scattergap",d?C.bargap:.2)}},11058:function(U,B,e){var v=e(71828).isArrayOrTypedArray,E=e(52075).hasColorscale,a=e(1586);U.exports=function(w,d,p,t,r,c){c||(c={});var o=(w.marker||{}).color;if(r("line.color",p),E(w,"line"))a(w,d,t,r,{prefix:"line.",cLetter:"c"});else{var n=(v(o)?!1:o)||p;r("line.color",n)}r("line.width"),c.noDash||r("line.dash"),c.backoff&&r("line.backoff")}},34621:function(U,B,e){var v=e(91424),E=e(50606),a=E.BADNUM,C=E.LOG_CLIP,w=C+.5,d=C-.5,p=e(71828),t=p.segmentsIntersect,r=p.constrain,c=e(47581);U.exports=function(n,u){var i=u.trace||{},g=u.xaxis,h=u.yaxis,x=g.type==="log",f=h.type==="log",l=g._length,y=h._length,T=u.backoff,S=i.marker,L=u.connectGaps,m=u.baseTolerance,M=u.shape,b=M==="linear",s=i.fill&&i.fill!=="none",_=[],A=c.minTolerance,D=n.length,F=new Array(D),G=0,O,H,z,k,V,Z,ee,Q,ne,fe,$,Y,j,X,re,le;function q(At){var Ft=n[At];if(!Ft)return!1;var Ht=u.linearized?g.l2p(Ft.x):g.c2p(Ft.x),Gt=u.linearized?h.l2p(Ft.y):h.c2p(Ft.y);if(Ht===a){if(x&&(Ht=g.c2p(Ft.x,!0)),Ht===a)return!1;f&&Gt===a&&(Ht*=Math.abs(g._m*y*(g._m>0?w:d)/(h._m*l*(h._m>0?w:d)))),Ht*=1e3}if(Gt===a){if(f&&(Gt=h.c2p(Ft.y,!0)),Gt===a)return!1;Gt*=1e3}return[Ht,Gt]}function te(At,Ft,Ht,Gt){var Rt=Ht-At,qt=Gt-Ft,sr=.5-At,kr=.5-Ft,xt=Rt*Rt+qt*qt,Xt=Rt*sr+qt*kr;if(Xt>0&&Xt1||Math.abs(sr.y-Ht[0][1])>1)&&(sr=[sr.x,sr.y],Gt&&xe(sr,At)Be||At[1]Ee)return[r(At[0],Ae,Be),r(At[1],Oe,Ee)]}function tt(At,Ft){if(At[0]===Ft[0]&&(At[0]===Ae||At[0]===Be)||At[1]===Ft[1]&&(At[1]===Oe||At[1]===Ee))return!0}function ht(At,Ft){var Ht=[],Gt=Je(At),Rt=Je(Ft);return Gt&&Rt&&tt(Gt,Rt)||(Gt&&Ht.push(Gt),Rt&&Ht.push(Rt)),Ht}function gt(At,Ft,Ht){return function(Gt,Rt){var qt=Je(Gt),sr=Je(Rt),kr=[];if(qt&&sr&&tt(qt,sr))return kr;qt&&kr.push(qt),sr&&kr.push(sr);var xt=2*p.constrain((Gt[At]+Rt[At])/2,Ft,Ht)-((qt||Gt)[At]+(sr||Rt)[At]);if(xt){var Xt;qt&&sr?Xt=xt>0==qt[At]>sr[At]?qt:sr:Xt=qt||sr,Xt[At]+=xt}return kr}}var yt;M==="linear"||M==="spline"?yt=Qe:M==="hv"||M==="vh"?yt=ht:M==="hvh"?yt=gt(0,Ae,Be):M==="vhv"&&(yt=gt(1,Oe,Ee));function Et(At,Ft){var Ht=Ft[0]-At[0],Gt=(Ft[1]-At[1])/Ht,Rt=(At[1]*Ft[0]-Ft[1]*At[0])/Ht;return Rt>0?[Gt>0?Ae:Be,Ee]:[Gt>0?Be:Ae,Oe]}function Xe(At){var Ft=At[0],Ht=At[1],Gt=Ft===F[G-1][0],Rt=Ht===F[G-1][1];if(!(Gt&&Rt))if(G>1){var qt=Ft===F[G-2][0],sr=Ht===F[G-2][1];Gt&&(Ft===Ae||Ft===Be)&&qt?sr?G--:F[G-1]=At:Rt&&(Ht===Oe||Ht===Ee)&&sr?qt?G--:F[G-1]=At:F[G++]=At}else F[G++]=At}function Ue(At){F[G-1][0]!==At[0]&&F[G-1][1]!==At[1]&&Xe([He,De]),Xe(At),Fe=null,He=De=0}var ze=p.isArrayOrTypedArray(S);function rt(At){if(At&&T&&(At.i=O,At.d=n,At.trace=i,At.marker=ze?S[At.i]:S,At.backoff=T),ue=At[0]/l,ae=At[1]/y,Ce=At[0]Be?Be:0,Ge=At[1]Ee?Ee:0,Ce||Ge){if(!G)F[G++]=[Ce||At[0],Ge||At[1]];else if(Fe){var Ft=yt(Fe,At);Ft.length>1&&(Ue(Ft[0]),F[G++]=Ft[1])}else qe=yt(F[G-1],At)[0],F[G++]=qe;var Ht=F[G-1];Ce&&Ge&&(Ht[0]!==Ce||Ht[1]!==Ge)?(Fe&&(He!==Ce&&De!==Ge?Xe(He&&De?Et(Fe,At):[He||Ce,De||Ge]):He&&De&&Xe([He,De])),Xe([Ce,Ge])):He-Ce&&De-Ge&&Xe([Ce||He,Ge||De]),Fe=At,He=Ce,De=Ge}else Fe&&Ue(yt(Fe,At)[0]),F[G++]=At}for(O=0;Ode(Z,it))break;z=Z,j=ne[0]*Q[0]+ne[1]*Q[1],j>$?($=j,k=Z,ee=!1):j=n.length||!Z)break;rt(Z),H=Z}}Fe&&Xe([He||Fe[0],De||Fe[1]]),_.push(F.slice(0,G))}var Ze=M.slice(M.length-1);if(T&&Ze!=="h"&&Ze!=="v"){for(var Ie=!1,Te=-1,he=[],me=0;me<_.length;me++)for(var Re=0;Re<_[me].length-1;Re++){var Ne=_[me][Re],st=_[me][Re+1],ft=v.applyBackoff(st,Ne);(ft[0]!==st[0]||ft[1]!==st[1])&&(Ie=!0),he[Te+1]||(Te++,he[Te]=[Ne,[ft[0],ft[1]]])}return Ie?he:_}return _}},94039:function(U){U.exports=function(e,v,E){var a=E("line.shape");a==="spline"&&E("line.smoothing")}},68687:function(U){var B={tonextx:1,tonexty:1,tonext:1};U.exports=function(v,E,a){var C,w,d,p,t,r={},c=!1,o=-1,n=0,u=-1;for(w=0;w=0?t=u:(t=u=n,n++),t0?Math.max(c,p):0}}},4898:function(U){U.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(U,B,e){var v=e(7901),E=e(52075).hasColorscale,a=e(1586),C=e(34098);U.exports=function(d,p,t,r,c,o){var n=C.isBubble(d),u=(d.line||{}).color,i;if(o=o||{},u&&(t=u),c("marker.symbol"),c("marker.opacity",n?.7:1),c("marker.size"),o.noAngle||(c("marker.angle"),o.noAngleRef||c("marker.angleref"),o.noStandOff||c("marker.standoff")),c("marker.color",t),E(d,"marker")&&a(d,p,r,c,{prefix:"marker.",cLetter:"c"}),o.noSelect||(c("selected.marker.color"),c("unselected.marker.color"),c("selected.marker.size"),c("unselected.marker.size")),o.noLine||(u&&!Array.isArray(u)&&p.marker.color!==u?i=u:n?i=v.background:i=v.defaultLine,c("marker.line.color",i),E(d,"marker.line")&&a(d,p,r,c,{prefix:"marker.line.",cLetter:"c"}),c("marker.line.width",n?1:0)),n&&(c("marker.sizeref"),c("marker.sizemin"),c("marker.sizemode")),o.gradient){var g=c("marker.gradient.type");g!=="none"&&c("marker.gradient.color")}}},73927:function(U,B,e){var v=e(71828).dateTick0,E=e(50606),a=E.ONEWEEK;function C(w,d){return w%a===0?v(d,1):v(d,0)}U.exports=function(d,p,t,r,c){if(c||(c={x:!0,y:!0}),c.x){var o=r("xperiod");o&&(r("xperiod0",C(o,p.xcalendar)),r("xperiodalignment"))}if(c.y){var n=r("yperiod");n&&(r("yperiod0",C(n,p.ycalendar)),r("yperiodalignment"))}}},32663:function(U,B,e){var v=e(39898),E=e(73972),a=e(71828),C=a.ensureSingle,w=a.identity,d=e(91424),p=e(34098),t=e(34621),r=e(68687),c=e(61082).tester;U.exports=function(g,h,x,f,l,y){var T,S,L=!l,m=!!l&&l.duration>0,M=r(g,h,x);if(T=f.selectAll("g.trace").data(M,function(s){return s[0].trace.uid}),T.enter().append("g").attr("class",function(s){return"trace scatter trace"+s[0].trace.uid}).style("stroke-miterlimit",2),T.order(),o(g,T,h),m){y&&(S=y());var b=v.transition().duration(l.duration).ease(l.easing).each("end",function(){S&&S()}).each("interrupt",function(){S&&S()});b.each(function(){f.selectAll("g.trace").each(function(s,_){n(g,_,h,s,M,this,l)})})}else T.each(function(s,_){n(g,_,h,s,M,this,l)});L&&T.exit().remove(),f.selectAll("path:not([d])").remove()};function o(i,g,h){g.each(function(x){var f=C(v.select(this),"g","fills");d.setClipUrl(f,h.layerClipId,i);var l=x[0].trace,y=[];l._ownfill&&y.push("_ownFill"),l._nexttrace&&y.push("_nextFill");var T=f.selectAll("g").data(y,w);T.enter().append("g"),T.exit().each(function(S){l[S]=null}).remove(),T.order().each(function(S){l[S]=C(v.select(this),"path","js-fill")})})}function n(i,g,h,x,f,l,y){var T=i._context.staticPlot,S;u(i,g,h,x,f);var L=!!y&&y.duration>0;function m(De){return L?De.transition():De}var M=h.xaxis,b=h.yaxis,s=x[0].trace,_=s.line,A=v.select(l),D=C(A,"g","errorbars"),F=C(A,"g","lines"),G=C(A,"g","points"),O=C(A,"g","text");if(E.getComponentMethod("errorbars","plot")(i,D,h,y),s.visible!==!0)return;m(A).style("opacity",s.opacity);var H,z,k=s.fill.charAt(s.fill.length-1);k!=="x"&&k!=="y"&&(k=""),x[0][h.isRangePlot?"nodeRangePlot3":"node3"]=A;var V="",Z=[],ee=s._prevtrace;ee&&(V=ee._prevRevpath||"",z=ee._nextFill,Z=ee._polygons);var Q,ne,fe="",$="",Y,j,X,re,le,q,te,ue=[],ae=a.noop;if(H=s._ownFill,p.hasLines(s)||s.fill!=="none"){for(z&&z.datum(x),["hv","vh","hvh","vhv"].indexOf(_.shape)!==-1?(Y=d.steps(_.shape),j=d.steps(_.shape.split("").reverse().join(""))):_.shape==="spline"?Y=j=function(De){var Fe=De[De.length-1];return De.length>1&&De[0][0]===Fe[0]&&De[0][1]===Fe[1]?d.smoothclosed(De.slice(1),_.smoothing):d.smoothopen(De,_.smoothing)}:Y=j=function(De){return"M"+De.join("L")},X=function(De){return j(De.reverse())},ue=t(x,{xaxis:M,yaxis:b,trace:s,connectGaps:s.connectgaps,baseTolerance:Math.max(_.width||1,3)/4,shape:_.shape,backoff:_.backoff,simplify:_.simplify,fill:s.fill}),te=s._polygons=new Array(ue.length),S=0;S=T[0]&&A.x<=T[1]&&A.y>=S[0]&&A.y<=S[1]}),b=Math.ceil(M.length/m),s=0;f.forEach(function(A,D){var F=A[0].trace;p.hasMarkers(F)&&F.marker.maxdisplayed>0&&D0){var h=t.c2l(i);t._lowerLogErrorBound||(t._lowerLogErrorBound=h),t._lowerErrorBound=Math.min(t._lowerLogErrorBound,h)}}else c[o]=[-n[0]*p,n[1]*p]}return c}function a(w){for(var d=0;d-1?-1:A.indexOf("right")>-1?1:0}function y(A){return A==null?0:A.indexOf("top")>-1?-1:A.indexOf("bottom")>-1?1:0}function T(A){var D=0,F=0,G=[D,F];if(Array.isArray(A))for(var O=0;O=0){var Z=x(k.position,k.delaunayColor,k.delaunayAxis);Z.opacity=A.opacity,this.delaunayMesh?this.delaunayMesh.update(Z):(Z.gl=D,this.delaunayMesh=C(Z),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)},h.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())};function _(A,D){var F=new g(A,D.uid);return F.update(D),F}U.exports=_},21428:function(U,B,e){var v=e(73972),E=e(71828),a=e(34098),C=e(49508),w=e(11058),d=e(82410),p=e(44542);U.exports=function(c,o,n,u){function i(S,L){return E.coerce(c,o,p,S,L)}var g=t(c,o,i,u);if(!g){o.visible=!1;return}i("text"),i("hovertext"),i("hovertemplate"),i("xhoverformat"),i("yhoverformat"),i("zhoverformat"),i("mode"),a.hasLines(o)&&(i("connectgaps"),w(c,o,n,u,i)),a.hasMarkers(o)&&C(c,o,n,u,i,{noSelect:!0,noAngle:!0}),a.hasText(o)&&(i("texttemplate"),d(c,o,u,i,{noSelect:!0}));var h=(o.line||{}).color,x=(o.marker||{}).color;i("surfaceaxis")>=0&&i("surfacecolor",h||x);for(var f=["x","y","z"],l=0;l<3;++l){var y="projection."+f[l];i(y+".show")&&(i(y+".opacity"),i(y+".scale"))}var T=v.getComponentMethod("errorbars","supplyDefaults");T(c,o,h||x||n,{axis:"z"}),T(c,o,h||x||n,{axis:"y",inherit:"z"}),T(c,o,h||x||n,{axis:"x",inherit:"z"})};function t(r,c,o,n){var u=0,i=o("x"),g=o("y"),h=o("z"),x=v.getComponentMethod("calendars","handleTraceDefaults");return x(r,c,["x","y","z"],n),i&&g&&h&&(u=Math.min(i.length,g.length,h.length),c._length=c._xlength=c._ylength=c._zlength=u),u}},13551:function(U,B,e){U.exports={plot:e(58925),attributes:e(44542),markerSymbols:e(87381),supplyDefaults:e(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:e(36563),moduleType:"trace",name:"scatter3d",basePlotModule:e(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(U,B,e){var v=e(82196),E=e(9012),a=e(5386).fF,C=e(5386).si,w=e(50693),d=e(1426).extendFlat,p=v.marker,t=v.line,r=p.line;U.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:d({},v.mode,{dflt:"markers"}),text:d({},v.text,{}),texttemplate:C({editType:"plot"},{keys:["a","b","text"]}),hovertext:d({},v.hovertext,{}),line:{color:t.color,width:t.width,dash:t.dash,backoff:t.backoff,shape:d({},t.shape,{values:["linear","spline"]}),smoothing:t.smoothing,editType:"calc"},connectgaps:v.connectgaps,fill:d({},v.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:v.fillcolor,marker:d({symbol:p.symbol,opacity:p.opacity,maxdisplayed:p.maxdisplayed,angle:p.angle,angleref:p.angleref,standoff:p.standoff,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,line:d({width:r.width,editType:"calc"},w("marker.line")),gradient:p.gradient,editType:"calc"},w("marker")),textfont:v.textfont,textposition:v.textposition,selected:v.selected,unselected:v.unselected,hoverinfo:d({},E.hoverinfo,{flags:["a","b","text","name"]}),hoveron:v.hoveron,hovertemplate:a()}},34618:function(U,B,e){var v=e(92770),E=e(36922),a=e(75225),C=e(66279),w=e(47761).calcMarkerSize,d=e(22882);U.exports=function(t,r){var c=r._carpetTrace=d(t,r);if(!(!c||!c.visible||c.visible==="legendonly")){var o;r.xaxis=c.xaxis,r.yaxis=c.yaxis;var n=r._length,u=new Array(n),i,g,h=!1;for(o=0;o0?m=S.labelprefix.replace(/ = $/,""):m=S._hovertitle,f.push(m+": "+L.toFixed(3)+S.labelsuffix)}if(!g.hovertemplate){var y=i.hi||g.hoverinfo,T=y.split("+");T.indexOf("all")!==-1&&(T=["a","b","text"]),T.indexOf("a")!==-1&&l(h.aaxis,i.a),T.indexOf("b")!==-1&&l(h.baxis,i.b),f.push("y: "+r.yLabel),T.indexOf("text")!==-1&&E(i,g,f),r.extraText=f.join("
")}return t}},46858:function(U,B,e){U.exports={attributes:e(97001),supplyDefaults:e(98965),colorbar:e(4898),formatLabels:e(48953),calc:e(34618),plot:e(1913),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(22931),selectPoints:e(98002),eventData:e(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:e(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(U,B,e){var v=e(32663),E=e(89298),a=e(91424);U.exports=function(w,d,p,t){var r,c,o,n=p[0][0].carpet,u=E.getFromId(w,n.xaxis||"x"),i=E.getFromId(w,n.yaxis||"y"),g={xaxis:u,yaxis:i,plot:d.plot};for(r=0;r")}},17988:function(U,B,e){U.exports={attributes:e(19316),supplyDefaults:e(10659),colorbar:e(4898),formatLabels:e(82719),calc:e(84622),calcGeoJSON:e(89171).calcGeoJSON,plot:e(89171).plot,style:e(33095),styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(14977),eventData:e(84084),selectPoints:e(20548),moduleType:"trace",name:"scattergeo",basePlotModule:e(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(U,B,e){var v=e(39898),E=e(71828),a=e(90973).getTopojsonFeatures,C=e(18214),w=e(41327),d=e(71739).findExtremes,p=e(50606).BADNUM,t=e(47761).calcMarkerSize,r=e(34098),c=e(33095);function o(u,i,g){var h=i.layers.frontplot.select(".scatterlayer"),x=E.makeTraceGroups(h,g,"trace scattergeo");function f(l,y){l.lonlat[0]===p&&v.select(y).remove()}x.selectAll("*").remove(),x.each(function(l){var y=v.select(this),T=l[0].trace;if(r.hasLines(T)||T.fill!=="none"){var S=C.calcTraceToLineCoords(l),L=T.fill!=="none"?C.makePolygon(S):C.makeLine(S);y.selectAll("path.js-line").data([{geojson:L,trace:T}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}r.hasMarkers(T)&&y.selectAll("path.point").data(E.identity).enter().append("path").classed("point",!0).each(function(m){f(m,this)}),r.hasText(T)&&y.selectAll("g").data(E.identity).enter().append("g").append("text").each(function(m){f(m,this)}),c(u,l)})}function n(u,i){var g=u[0].trace,h=i[g.geo],x=h._subplot,f=g._length,l,y;if(Array.isArray(g.locations)){var T=g.locationmode,S=T==="geojson-id"?w.extractTraceFeature(u):a(g,x.topojson);for(l=0;l=i,b=m*2,s={},_,A=T.makeCalcdata(l,"x"),D=S.makeCalcdata(l,"y"),F=w(l,T,"x",A),G=w(l,S,"y",D),O=F.vals,H=G.vals;l._x=O,l._y=H,l.xperiodalignment&&(l._origX=A,l._xStarts=F.starts,l._xEnds=F.ends),l.yperiodalignment&&(l._origY=D,l._yStarts=G.starts,l._yEnds=G.ends);var z=new Array(b),k=new Array(m);for(_=0;_1&&E.extendFlat(L.line,o.linePositions(x,l,y)),L.errorX||L.errorY){var m=o.errorBarPositions(x,l,y,T,S);L.errorX&&E.extendFlat(L.errorX,m.x),L.errorY&&E.extendFlat(L.errorY,m.y)}return L.text&&(E.extendFlat(L.text,{positions:y},o.textPosition(x,l,L.text,L.marker)),E.extendFlat(L.textSel,{positions:y},o.textPosition(x,l,L.text,L.markerSel)),E.extendFlat(L.textUnsel,{positions:y},o.textPosition(x,l,L.text,L.markerUnsel))),L}},78232:function(U){var B=20;U.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:B,SYMBOL_STROKE:B/20,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]}}},19635:function(U,B,e){var v=e(92770),E=e(82019),a=e(25075),C=e(73972),w=e(71828),d=e(91424),p=e(41675),t=e(81697).formatColor,r=e(34098),c=e(39984),o=e(68645),n=e(78232),u=e(37822).DESELECTDIM,i={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},g=e(23469).appendArrayPointValue;function h(F,G){var O,H={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},z=F._context.plotGlPixelRatio;if(G.visible!==!0)return H;if(r.hasText(G)&&(H.text=x(F,G),H.textSel=y(F,G,G.selected),H.textUnsel=y(F,G,G.unselected)),r.hasMarkers(G)&&(H.marker=f(F,G),H.markerSel=l(F,G,G.selected),H.markerUnsel=l(F,G,G.unselected),!G.unselected&&w.isArrayOrTypedArray(G.marker.opacity))){var k=G.marker.opacity;for(H.markerUnsel.opacity=new Array(k.length),O=0;On.TOO_MANY_POINTS||r.hasMarkers(G)?"rect":"round";if(Q&&G.connectgaps){var fe=k[0],$=k[1];for(V=0;V1?ee[V]:ee[0]:ee,Y=Array.isArray(Q)?Q.length>1?Q[V]:Q[0]:Q,j=i[$],X=i[Y],re=ne?ne/.8+1:0,le=-X*re-X*.5;k.offset[V]=[j*re/fe,le/fe]}}return k}U.exports={style:h,markerStyle:f,markerSelection:l,linePositions:_,errorBarPositions:A,textPosition:D}},47148:function(U,B,e){var v=e(71828),E=e(73972),a=e(68645),C=e(42341),w=e(47581),d=e(34098),p=e(67513),t=e(73927),r=e(49508),c=e(11058),o=e(28908),n=e(82410);U.exports=function(i,g,h,x){function f(b,s){return v.coerce(i,g,C,b,s)}var l=i.marker?a.isOpenSymbol(i.marker.symbol):!1,y=d.isBubble(i),T=p(i,g,x,f);if(!T){g.visible=!1;return}t(i,g,x,f),f("xhoverformat"),f("yhoverformat");var S=T100},B.isDotSymbol=function(E){return typeof E=="string"?v.DOT_RE.test(E):E>200}},20794:function(U,B,e){var v=e(73972),E=e(71828),a=e(34603);function C(d,p,t,r){var c=d.cd,o=c[0].t,n=c[0].trace,u=d.xa,i=d.ya,g=o.x,h=o.y,x=u.c2p(p),f=i.c2p(t),l=d.distance,y;if(o.tree){var T=u.p2c(x-l),S=u.p2c(x+l),L=i.p2c(f-l),m=i.p2c(f+l);r==="x"?y=o.tree.range(Math.min(T,S),Math.min(i._rl[0],i._rl[1]),Math.max(T,S),Math.max(i._rl[0],i._rl[1])):y=o.tree.range(Math.min(T,S),Math.min(L,m),Math.max(T,S),Math.max(L,m))}else y=o.ids;var M,b,s,_,A,D,F,G,O,H=l;if(r==="x"){var z=!!n.xperiodalignment,k=!!n.yperiodalignment;for(A=0;A=Math.min(V,Z)&&x<=Math.max(V,Z)?0:1/0}if(D=Math.min(ee,Q)&&f<=Math.max(ee,Q)?0:1/0}O=Math.sqrt(D*D+F*F),b=y[A]}}}else for(A=y.length-1;A>-1;A--)M=y[A],s=g[M],_=h[M],D=u.c2p(s)-x,F=i.c2p(_)-f,G=Math.sqrt(D*D+F*F),Gl.glText.length){var s=M-l.glText.length;for(S=0;Sue&&(isNaN(te[ae])||isNaN(te[ae+1]));)ae-=2;q.positions=te.slice(ue,ae+2)}return q}),l.line2d.update(l.lineOptions)),l.error2d){var D=(l.errorXOptions||[]).concat(l.errorYOptions||[]);l.error2d.update(D)}l.scatter2d&&l.scatter2d.update(l.markerOptions),l.fillOrder=w.repeat(null,M),l.fill2d&&(l.fillOptions=l.fillOptions.map(function(q,te){var ue=x[te];if(!(!q||!ue||!ue[0]||!ue[0].trace)){var ae=ue[0],de=ae.trace,xe=ae.t,Se=l.lineOptions[te],Ae,Be,Oe=[];de._ownfill&&Oe.push(te),de._nexttrace&&Oe.push(te+1),Oe.length&&(l.fillOrder[te]=Oe);var Ee=[],we=Se&&Se.positions||xe.positions,Ce,Ge;if(de.fill==="tozeroy"){for(Ce=0;CeCe&&isNaN(we[Ge+1]);)Ge-=2;we[Ce+1]!==0&&(Ee=[we[Ce],0]),Ee=Ee.concat(we.slice(Ce,Ge+2)),we[Ge+1]!==0&&(Ee=Ee.concat([we[Ge],0]))}else if(de.fill==="tozerox"){for(Ce=0;CeCe&&isNaN(we[Ge]);)Ge-=2;we[Ce]!==0&&(Ee=[0,we[Ce+1]]),Ee=Ee.concat(we.slice(Ce,Ge+2)),we[Ge]!==0&&(Ee=Ee.concat([0,we[Ge+1]]))}else if(de.fill==="toself"||de.fill==="tonext"){for(Ee=[],Ae=0,q.splitNull=!0,Be=0;Be-1;for(S=0;S=0?Math.floor((c+180)/360):Math.ceil((c-180)/360),S=T*360,L=c-S;function m(O){var H=O.lonlat;if(H[0]===w||l&&x.indexOf(O.i+1)===-1)return 1/0;var z=E.modHalf(H[0],360),k=H[1],V=h.project([z,k]),Z=V.x-i.c2p([L,k]),ee=V.y-g.c2p([z,o]),Q=Math.max(3,O.mrc||0);return Math.max(Math.sqrt(Z*Z+ee*ee)-Q,1-3/Q)}if(v.getClosest(n,m,r),r.index!==!1){var M=n[r.index],b=M.lonlat,s=[E.modHalf(b[0],360)+S,b[1]],_=i.c2p(s),A=g.c2p(s),D=M.mrc||1;r.x0=_-D,r.x1=_+D,r.y0=A-D,r.y1=A+D;var F={};F[u.subplot]={_subplot:h};var G=u._module.formatLabels(M,u,F);return r.lonLabel=G.lonLabel,r.latLabel=G.latLabel,r.color=a(u,M),r.extraText=t(u,M,n[0].t.labels),r.hovertemplate=u.hovertemplate,[r]}}function t(r,c,o){if(r.hovertemplate)return;var n=c.hi||r.hoverinfo,u=n.split("+"),i=u.indexOf("all")!==-1,g=u.indexOf("lon")!==-1,h=u.indexOf("lat")!==-1,x=c.lonlat,f=[];function l(y){return y+"°"}return i||g&&h?f.push("("+l(x[1])+", "+l(x[0])+")"):g?f.push(o.lon+l(x[0])):h&&f.push(o.lat+l(x[1])),(i||u.indexOf("text")!==-1)&&C(c,r,f),f.join("
")}U.exports={hoverPoints:p,getExtraText:t}},20467:function(U,B,e){U.exports={attributes:e(99181),supplyDefaults:e(76645),colorbar:e(4898),formatLabels:e(15636),calc:e(84622),plot:e(86951),hoverPoints:e(28178).hoverPoints,eventData:e(53353),selectPoints:e(86387),styleOnSelect:function(v,E){if(E){var a=E[0].trace;a._glTrace.update(E)}},moduleType:"trace",name:"scattermapbox",basePlotModule:e(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(U,B,e){var v=e(71828),E=e(15790),a=e(77734).traceLayerPrefix,C={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function w(p,t,r,c){this.type="scattermapbox",this.subplot=p,this.uid=t,this.clusterEnabled=r,this.isHidden=c,this.sourceIds={fill:"source-"+t+"-fill",line:"source-"+t+"-line",circle:"source-"+t+"-circle",symbol:"source-"+t+"-symbol",cluster:"source-"+t+"-circle",clusterCount:"source-"+t+"-circle"},this.layerIds={fill:a+t+"-fill",line:a+t+"-line",circle:a+t+"-circle",symbol:a+t+"-symbol",cluster:a+t+"-cluster",clusterCount:a+t+"-cluster-count"},this.below=null}var d=w.prototype;d.addSource=function(p,t,r){var c={type:"geojson",data:t.geojson};r&&r.enabled&&v.extendFlat(c,{cluster:!0,clusterMaxZoom:r.maxzoom});var o=this.subplot.map.getSource(this.sourceIds[p]);o?o.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[p],c)},d.setSourceData=function(p,t){this.subplot.map.getSource(this.sourceIds[p]).setData(t.geojson)},d.addLayer=function(p,t,r){var c={type:t.type,id:this.layerIds[p],source:this.sourceIds[p],layout:t.layout,paint:t.paint};t.filter&&(c.filter=t.filter);for(var o=this.layerIds[p],n,u=this.subplot.getMapLayers(),i=0;i=0;_--){var A=s[_];o.removeLayer(h.layerIds[A])}b||o.removeSource(h.sourceIds.circle)}function l(b){for(var s=C.nonCluster,_=0;_=0;_--){var A=s[_];o.removeLayer(h.layerIds[A]),b||o.removeSource(h.sourceIds[A])}}function T(b){g?f(b):y(b)}function S(b){i?x(b):l(b)}function L(){for(var b=i?C.cluster:C.nonCluster,s=0;s=0;c--){var o=r[c];t.removeLayer(this.layerIds[o]),t.removeSource(this.sourceIds[o])}},U.exports=function(t,r){var c=r[0].trace,o=c.cluster&&c.cluster.enabled,n=c.visible!==!0,u=new w(t,c.uid,o,n),i=E(t.gd,r),g=u.below=t.belowLookup["trace-"+c.uid],h,x,f;if(o)for(u.addSource("circle",i.circle,c.cluster),h=0;h")}}U.exports={hoverPoints:E,makeHoverPointText:a}},91271:function(U,B,e){U.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:e(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:e(81245),supplyDefaults:e(22184).supplyDefaults,colorbar:e(4898),formatLabels:e(98608),calc:e(26442),plot:e(45162),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(59150).hoverPoints,selectPoints:e(98002),meta:{}}},45162:function(U,B,e){var v=e(32663),E=e(50606).BADNUM;U.exports=function(C,w,d){for(var p=w.layers.frontplot.select("g.scatterlayer"),t=w.xaxis,r=w.yaxis,c={xaxis:t,yaxis:r,plot:w.framework,layerClipId:w._hasClipOnAxisFalse?w.clipIds.forTraces:null},o=w.radialAxis,n=w.angularAxis,u=0;u=p&&(L.marker.cluster=l.tree),L.marker&&(L.markerSel.positions=L.markerUnsel.positions=L.marker.positions=s),L.line&&s.length>1&&d.extendFlat(L.line,w.linePositions(c,f,s)),L.text&&(d.extendFlat(L.text,{positions:s},w.textPosition(c,f,L.text,L.marker)),d.extendFlat(L.textSel,{positions:s},w.textPosition(c,f,L.text,L.markerSel)),d.extendFlat(L.textUnsel,{positions:s},w.textPosition(c,f,L.text,L.markerUnsel))),L.fill&&!g.fill2d&&(g.fill2d=!0),L.marker&&!g.scatter2d&&(g.scatter2d=!0),L.line&&!g.line2d&&(g.line2d=!0),L.text&&!g.glText&&(g.glText=!0),g.lineOptions.push(L.line),g.fillOptions.push(L.fill),g.markerOptions.push(L.marker),g.markerSelectedOptions.push(L.markerSel),g.markerUnselectedOptions.push(L.markerUnsel),g.textOptions.push(L.text),g.textSelectedOptions.push(L.textSel),g.textUnselectedOptions.push(L.textUnsel),g.selectBatch.push([]),g.unselectBatch.push([]),l.x=_,l.y=A,l.rawx=_,l.rawy=A,l.r=T,l.theta=S,l.positions=s,l._scene=g,l.index=g.count,g.count++}}),a(c,o,n)}},U.exports.reglPrecompiled=t},48300:function(U,B,e){var v=e(5386).fF,E=e(5386).si,a=e(1426).extendFlat,C=e(82196),w=e(9012),d=C.line;U.exports={mode:C.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:C.text,texttemplate:E({editType:"plot"},{keys:["real","imag","text"]}),hovertext:C.hovertext,line:{color:d.color,width:d.width,dash:d.dash,backoff:d.backoff,shape:a({},d.shape,{values:["linear","spline"]}),smoothing:d.smoothing,editType:"calc"},connectgaps:C.connectgaps,marker:C.marker,cliponaxis:a({},C.cliponaxis,{dflt:!1}),textposition:C.textposition,textfont:C.textfont,fill:a({},C.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:C.fillcolor,hoverinfo:a({},w.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:C.hoveron,hovertemplate:v(),selected:C.selected,unselected:C.unselected}},30621:function(U,B,e){var v=e(92770),E=e(50606).BADNUM,a=e(36922),C=e(75225),w=e(66279),d=e(47761).calcMarkerSize;U.exports=function(t,r){for(var c=t._fullLayout,o=r.subplot,n=c[o].realaxis,u=c[o].imaginaryaxis,i=n.makeCalcdata(r,"real"),g=u.makeCalcdata(r,"imag"),h=r._length,x=new Array(h),f=0;f")}}U.exports={hoverPoints:E,makeHoverPointText:a}},85956:function(U,B,e){U.exports={moduleType:"trace",name:"scattersmith",basePlotModule:e(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:e(48300),supplyDefaults:e(65269),colorbar:e(4898),formatLabels:e(62047),calc:e(30621),plot:e(12480),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(11350).hoverPoints,selectPoints:e(98002),meta:{}}},12480:function(U,B,e){var v=e(32663),E=e(50606).BADNUM,a=e(23893),C=a.smith;U.exports=function(d,p,t){for(var r=p.layers.frontplot.select("g.scatterlayer"),c=p.xaxis,o=p.yaxis,n={xaxis:c,yaxis:o,plot:p.framework,layerClipId:p._hasClipOnAxisFalse?p.clipIds.forTraces:null},u=0;u"),t.hovertemplate=i.hovertemplate,p}},52979:function(U,B,e){U.exports={attributes:e(50413),supplyDefaults:e(46008),colorbar:e(4898),formatLabels:e(93645),calc:e(54337),plot:e(7507),style:e(16296).style,styleOnSelect:e(16296).styleOnSelect,hoverPoints:e(47250),selectPoints:e(98002),eventData:e(4524),moduleType:"trace",name:"scatterternary",basePlotModule:e(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(U,B,e){var v=e(32663);U.exports=function(a,C,w){var d=C.plotContainer;d.select(".scatterlayer").selectAll("*").remove();for(var p=C.xaxis,t=C.yaxis,r={xaxis:p,yaxis:t,plot:d,layerClipId:C._hasClipOnAxisFalse?C.clipIdRelative:null},c=C.layers.frontplot.select("g.scatterlayer"),o=0;oc,_;for(s?_=h.sizeAvg||Math.max(h.size,3):_=a(u,g),T=0;Ty&&h||l-1,O=C(h)||!!c.selectedpoints||G,H=!0;if(O){var z=c._length;if(c.selectedpoints){n.selectBatch=c.selectedpoints;var k=c.selectedpoints,V={};for(l=0;l1&&(b=t[o-1],_=r[o-1],D=c[o-1]),n=0;nb?"-":"+")+"x"),T=T.replace("y",(s>_?"-":"+")+"y"),T=T.replace("z",(A>D?"-":"+")+"z");var H=function(){o=0,F=[],G=[],O=[]};(!o||o2?h=i.slice(1,g-1):g===2?h=[(i[0]+i[1])/2]:h=i,h}function o(i){var g=i.length;return g===1?[.5,.5]:[i[1]-i[0],i[g-1]-i[g-2]]}function n(i,g){var h=i.fullSceneLayout,x=i.dataScale,f=g._len,l={};function y(fe,$){var Y=h[$],j=x[p[$]];return a.simpleMap(fe,function(X){return Y.d2l(X)*j})}if(l.vectors=d(y(g._u,"xaxis"),y(g._v,"yaxis"),y(g._w,"zaxis"),f),!f)return{positions:[],cells:[]};var T=y(g._Xs,"xaxis"),S=y(g._Ys,"yaxis"),L=y(g._Zs,"zaxis");l.meshgrid=[T,S,L],l.gridFill=g._gridFill;var m=g._slen;if(m)l.startingPositions=d(y(g._startsX,"xaxis"),y(g._startsY,"yaxis"),y(g._startsZ,"zaxis"));else{for(var M=S[0],b=c(T),s=c(L),_=new Array(b.length*s.length),A=0,D=0;D=0},_,A,D;x?(_=Math.min(h.length,l.length),A=function(X){return b(h[X])&&s(X)},D=function(X){return String(h[X])}):(_=Math.min(f.length,l.length),A=function(X){return b(f[X])&&s(X)},D=function(X){return String(f[X])}),T&&(_=Math.min(_,y.length));for(var F=0;F<_;F++)if(A(F)){var G=D(F),O=b(l[F])?String(l[F]):"",H={i:F,id:G,pid:O,label:b(f[F])?String(f[F]):""};T&&(H.v=+y[F]),S.push(H),M(O,G)}if(L[""]){if(L[""].length>1){for(var V=a.randstr(),Z=0;Z"),name:H||$("name")?s.name:void 0,color:O("hoverlabel.bgcolor")||_.color,borderColor:O("hoverlabel.bordercolor"),fontFamily:O("hoverlabel.font.family"),fontSize:O("hoverlabel.font.size"),fontColor:O("hoverlabel.font.color"),nameLength:O("hoverlabel.namelength"),textAlign:O("hoverlabel.align"),hovertemplate:H,hovertemplateLabels:Q,eventData:V};y&&(re.x0=Z-M.rInscribed*M.rpx1,re.x1=Z+M.rInscribed*M.rpx1,re.idealAlign=M.pxmid[0]<0?"left":"right"),T&&(re.x=Z,re.idealAlign=Z<0?"left":"right");var le=[];C.loneHover(re,{container:b._hoverlayer.node(),outerContainer:b._paper.node(),gd:i,inOut_bbox:le}),V[0].bbox=le[0],f._hasHoverLabel=!0}if(T){var q=n.select("path.surface");h.styleOne(q,M,s,{hovered:!0})}f._hasHoverEvent=!0,i.emit("plotly_hover",{points:V||[c(M,s,h.eventDataKeys)],event:v.event})}},L=function(M){var b=i._fullLayout,s=i._fullData[f.index],_=v.select(this).datum();if(f._hasHoverEvent&&(M.originalEvent=v.event,i.emit("plotly_unhover",{points:[c(_,s,h.eventDataKeys)],event:v.event}),f._hasHoverEvent=!1),f._hasHoverLabel&&(C.loneUnhover(b._hoverlayer.node()),f._hasHoverLabel=!1),T){var A=n.select("path.surface");h.styleOne(A,_,s,{hovered:!1})}},m=function(M){var b=i._fullLayout,s=i._fullData[f.index],_=y&&(p.isHierarchyRoot(M)||p.isLeaf(M)),A=p.getPtId(M),D=p.isEntry(M)?p.findEntryWithChild(l,A):p.findEntryWithLevel(l,A),F=p.getPtId(D),G={points:[c(M,s,h.eventDataKeys)],event:v.event};_||(G.nextLevel=F);var O=d.triggerHandler(i,"plotly_"+f.type+"click",G);if(O!==!1&&b.hovermode&&(i._hoverdata=[c(M,s,h.eventDataKeys)],C.click(i,v.event)),!_&&O!==!1&&!i._dragging&&!i._transitioning){E.call("_storeDirectGUIEdit",s,b._tracePreGUI[s.uid],{level:s.level});var H={data:[{level:F}],traces:[f.index]},z={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};C.loneUnhover(b._hoverlayer.node()),E.call("animate",i,H,z)}};n.on("mouseover",S),n.on("mouseout",L),n.on("click",m)};function c(o,n,u){for(var i=o.data.data,g={curveNumber:n.index,pointNumber:i.i,data:n._input,fullData:n},h=0;h0)},B.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},B.isHeader=function(t,r){return!(B.isLeaf(t)||t.depth===r._maxDepth-1)};function p(t){return t.data.data.pid}B.getParent=function(t,r){return B.findEntryWithLevel(t,p(r))},B.listPath=function(t,r){var c=t.parent;if(!c)return[];var o=r?[c.data[r]]:[c];return B.listPath(c,r).concat(o)},B.getPath=function(t){return B.listPath(t,"label").join("/")+"/"},B.formatValue=C.formatPieValue,B.formatPercent=function(t,r){var c=v.formatPercent(t,0);return c==="0%"&&(c=C.formatPiePercent(t,r)),c}},87619:function(U,B,e){U.exports={moduleType:"trace",name:"sunburst",basePlotModule:e(66888),categories:[],animatable:!0,attributes:e(57564),layoutAttributes:e(2654),supplyDefaults:e(17094),supplyLayoutDefaults:e(57034),calc:e(52147).calc,crossTraceCalc:e(52147).crossTraceCalc,plot:e(24714).plot,style:e(29969).style,colorbar:e(4898),meta:{}}},2654:function(U){U.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(U,B,e){var v=e(71828),E=e(2654);U.exports=function(C,w){function d(p,t){return v.coerce(C,w,E,p,t)}d("sunburstcolorway",w.colorway),d("extendsunburstcolors")}},24714:function(U,B,e){var v=e(39898),E=e(674),a=e(81684).sX,C=e(91424),w=e(71828),d=e(63893),p=e(72597),t=p.recordMinTextSize,r=p.clearMinTextSize,c=e(14575),o=e(53581).getRotationAngle,n=c.computeTransform,u=c.transformInsideText,i=e(29969).styleOne,g=e(16688).resizeText,h=e(83523),x=e(7055),f=e(2791);B.plot=function(m,M,b,s){var _=m._fullLayout,A=_._sunburstlayer,D,F,G=!b,O=!_.uniformtext.mode&&f.hasTransition(b);if(r("sunburst",_),D=A.selectAll("g.trace.sunburst").data(M,function(z){return z[0].trace.uid}),D.enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),D.order(),O){s&&(F=s());var H=v.transition().duration(b.duration).ease(b.easing).each("end",function(){F&&F()}).each("interrupt",function(){F&&F()});H.each(function(){A.selectAll("g.trace").each(function(z){l(m,z,this,b)})})}else D.each(function(z){l(m,z,this,b)}),_.uniformtext.mode&&g(m,_._sunburstlayer.selectAll(".trace"),"sunburst");G&&D.exit().remove()};function l(m,M,b,s){var _=m._context.staticPlot,A=m._fullLayout,D=!A.uniformtext.mode&&f.hasTransition(s),F=v.select(b),G=F.selectAll("g.slice"),O=M[0],H=O.trace,z=O.hierarchy,k=f.findEntryWithLevel(z,H.level),V=f.getMaxDepth(H),Z=A._size,ee=H.domain,Q=Z.w*(ee.x[1]-ee.x[0]),ne=Z.h*(ee.y[1]-ee.y[0]),fe=.5*Math.min(Q,ne),$=O.cx=Z.l+Z.w*(ee.x[1]+ee.x[0])/2,Y=O.cy=Z.t+Z.h*(1-ee.y[0])-ne/2;if(!k)return G.remove();var j=null,X={};D&&G.each(function(Fe){X[f.getPtId(Fe)]={rpx0:Fe.rpx0,rpx1:Fe.rpx1,x0:Fe.x0,x1:Fe.x1,transform:Fe.transform},!j&&f.isEntry(Fe)&&(j=Fe)});var re=y(k).descendants(),le=k.height+1,q=0,te=V;O.hasMultipleRoots&&f.isHierarchyRoot(k)&&(re=re.slice(1),le-=1,q=1,te+=1),re=re.filter(function(Fe){return Fe.y1<=te});var ue=o(H.rotation);ue&&re.forEach(function(Fe){Fe.x0+=ue,Fe.x1+=ue});var ae=Math.min(le,V),de=function(Fe){return(Fe-q)/ae*fe},xe=function(Fe,qe){return[Fe*Math.cos(qe),-Fe*Math.sin(qe)]},Se=function(Fe){return w.pathAnnulus(Fe.rpx0,Fe.rpx1,Fe.x0,Fe.x1,$,Y)},Ae=function(Fe){return $+S(Fe)[0]*(Fe.transform.rCenter||0)+(Fe.transform.x||0)},Be=function(Fe){return Y+S(Fe)[1]*(Fe.transform.rCenter||0)+(Fe.transform.y||0)};G=G.data(re,f.getPtId),G.enter().append("g").classed("slice",!0),D?G.exit().transition().each(function(){var Fe=v.select(this),qe=Fe.select("path.surface");qe.transition().attrTween("d",function(Je){var tt=Ce(Je);return function(ht){return Se(tt(ht))}});var Qe=Fe.select("g.slicetext");Qe.attr("opacity",0)}).remove():G.exit().remove(),G.order();var Oe=null;if(D&&j){var Ee=f.getPtId(j);G.each(function(Fe){Oe===null&&f.getPtId(Fe)===Ee&&(Oe=Fe.x1)})}var we=G;D&&(we=we.transition().each("end",function(){var Fe=v.select(this);f.setSliceCursor(Fe,m,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),we.each(function(Fe){var qe=v.select(this),Qe=w.ensureSingle(qe,"path","surface",function(Et){Et.style("pointer-events",_?"none":"all")});Fe.rpx0=de(Fe.y0),Fe.rpx1=de(Fe.y1),Fe.xmid=(Fe.x0+Fe.x1)/2,Fe.pxmid=xe(Fe.rpx1,Fe.xmid),Fe.midangle=-(Fe.xmid-Math.PI/2),Fe.startangle=-(Fe.x0-Math.PI/2),Fe.stopangle=-(Fe.x1-Math.PI/2),Fe.halfangle=.5*Math.min(w.angleDelta(Fe.x0,Fe.x1)||Math.PI,Math.PI),Fe.ring=1-Fe.rpx0/Fe.rpx1,Fe.rInscribed=T(Fe),D?Qe.transition().attrTween("d",function(Et){var Xe=Ge(Et);return function(Ue){return Se(Xe(Ue))}}):Qe.attr("d",Se),qe.call(h,k,m,M,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(f.setSliceCursor,m,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:m._transitioning}),Qe.call(i,Fe,H);var Je=w.ensureSingle(qe,"g","slicetext"),tt=w.ensureSingle(Je,"text","",function(Et){Et.attr("data-notex",1)}),ht=w.ensureUniformFontSize(m,f.determineTextFont(H,Fe,A.font));tt.text(B.formatSliceLabel(Fe,k,H,M,A)).classed("slicetext",!0).attr("text-anchor","middle").call(C.font,ht).call(d.convertToTspans,m);var gt=C.bBox(tt.node());Fe.transform=u(gt,Fe,O),Fe.transform.targetX=Ae(Fe),Fe.transform.targetY=Be(Fe);var yt=function(Et,Xe){var Ue=Et.transform;return n(Ue,Xe),Ue.fontSize=ht.size,t(H.type,Ue,A),w.getTextTransform(Ue)};D?tt.transition().attrTween("transform",function(Et){var Xe=He(Et);return function(Ue){return yt(Xe(Ue),gt)}}):tt.attr("transform",yt(Fe,gt))});function Ce(Fe){var qe=f.getPtId(Fe),Qe=X[qe],Je=X[f.getPtId(k)],tt;if(Je){var ht=(Fe.x1>Je.x1?2*Math.PI:0)+ue;tt=Fe.rpx1Oe?2*Math.PI:0)+ue;Qe={x0:tt,x1:tt}}else Qe={rpx0:fe,rpx1:fe},w.extendFlat(Qe,De(Fe));else Qe={rpx0:0,rpx1:0};else Qe={x0:ue,x1:ue};return a(Qe,Je)}function He(Fe){var qe=X[f.getPtId(Fe)],Qe,Je=Fe.transform;if(qe)Qe=qe;else if(Qe={rpx1:Fe.rpx1,transform:{textPosAngle:Je.textPosAngle,scale:0,rotate:Je.rotate,rCenter:Je.rCenter,x:Je.x,y:Je.y}},j)if(Fe.parent)if(Oe){var tt=Fe.x1>Oe?2*Math.PI:0;Qe.x0=Qe.x1=tt}else w.extendFlat(Qe,De(Fe));else Qe.x0=Qe.x1=ue;else Qe.x0=Qe.x1=ue;var ht=a(Qe.transform.textPosAngle,Fe.transform.textPosAngle),gt=a(Qe.rpx1,Fe.rpx1),yt=a(Qe.x0,Fe.x0),Et=a(Qe.x1,Fe.x1),Xe=a(Qe.transform.scale,Je.scale),Ue=a(Qe.transform.rotate,Je.rotate),ze=Je.rCenter===0?3:Qe.transform.rCenter===0?1/3:1,rt=a(Qe.transform.rCenter,Je.rCenter),it=function(Ze){return rt(Math.pow(Ze,ze))};return function(Ze){var Ie=gt(Ze),Te=yt(Ze),he=Et(Ze),me=it(Ze),Re=xe(Ie,(Te+he)/2),Ne=ht(Ze),st={pxmid:Re,rpx1:Ie,transform:{textPosAngle:Ne,rCenter:me,x:Je.x,y:Je.y}};return t(H.type,Je,A),{transform:{targetX:Ae(st),targetY:Be(st),scale:Xe(Ze),rotate:Ue(Ze),rCenter:me}}}}function De(Fe){var qe=Fe.parent,Qe=X[f.getPtId(qe)],Je={};if(Qe){var tt=qe.children,ht=tt.indexOf(Fe),gt=tt.length,yt=a(Qe.x0,Qe.x1);Je.x0=yt(ht/gt),Je.x1=yt(ht/gt)}else Je.x0=Je.x1=0;return Je}}function y(m){return E.partition().size([2*Math.PI,m.height+1])(m)}B.formatSliceLabel=function(m,M,b,s,_){var A=b.texttemplate,D=b.textinfo;if(!A&&(!D||D==="none"))return"";var F=_.separators,G=s[0],O=m.data.data,H=G.hierarchy,z=f.isHierarchyRoot(m),k=f.getParent(H,m),V=f.getValue(m);if(!A){var Z=D.split("+"),ee=function(q){return Z.indexOf(q)!==-1},Q=[],ne;if(ee("label")&&O.label&&Q.push(O.label),O.hasOwnProperty("v")&&ee("value")&&Q.push(f.formatValue(O.v,F)),!z){ee("current path")&&Q.push(f.getPath(m.data));var fe=0;ee("percent parent")&&fe++,ee("percent entry")&&fe++,ee("percent root")&&fe++;var $=fe>1;if(fe){var Y,j=function(q){ne=f.formatPercent(Y,F),$&&(ne+=" of "+q),Q.push(ne)};ee("percent parent")&&!z&&(Y=V/f.getValue(k),j("parent")),ee("percent entry")&&(Y=V/f.getValue(M),j("entry")),ee("percent root")&&(Y=V/f.getValue(H),j("root"))}}return ee("text")&&(ne=w.castOption(b,O.i,"text"),w.isValidTextValue(ne)&&Q.push(ne)),Q.join("
")}var X=w.castOption(b,O.i,"texttemplate");if(!X)return"";var re={};O.label&&(re.label=O.label),O.hasOwnProperty("v")&&(re.value=O.v,re.valueLabel=f.formatValue(O.v,F)),re.currentPath=f.getPath(m.data),z||(re.percentParent=V/f.getValue(k),re.percentParentLabel=f.formatPercent(re.percentParent,F),re.parent=f.getPtLabel(k)),re.percentEntry=V/f.getValue(M),re.percentEntryLabel=f.formatPercent(re.percentEntry,F),re.entry=f.getPtLabel(M),re.percentRoot=V/f.getValue(H),re.percentRootLabel=f.formatPercent(re.percentRoot,F),re.root=f.getPtLabel(H),O.hasOwnProperty("color")&&(re.color=O.color);var le=w.castOption(b,O.i,"text");return(w.isValidTextValue(le)||le==="")&&(re.text=le),re.customdata=w.castOption(b,O.i,"customdata"),w.texttemplateString(X,re,_._d3locale,re,b._meta||{})};function T(m){return m.rpx0===0&&w.isFullCircle([m.x0,m.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(m.halfangle)),m.ring/2))}function S(m){return L(m.rpx1,m.transform.textPosAngle)}function L(m,M){return[m*Math.sin(M),-m*Math.cos(M)]}},29969:function(U,B,e){var v=e(39898),E=e(7901),a=e(71828),C=e(72597).resizeText;function w(p){var t=p._fullLayout._sunburstlayer.selectAll(".trace");C(p,t,"sunburst"),t.each(function(r){var c=v.select(this),o=r[0],n=o.trace;c.style("opacity",n.opacity),c.selectAll("path.surface").each(function(u){v.select(this).call(d,u,n)})})}function d(p,t,r){var c=t.data.data,o=!t.children,n=c.i,u=a.castOption(r,n,"marker.line.color")||E.defaultLine,i=a.castOption(r,n,"marker.line.width")||0;p.style("stroke-width",i).call(E.fill,c.color).call(E.stroke,u).style("opacity",o?r.leaf.opacity:null)}U.exports={style:w,styleOne:d}},54532:function(U,B,e){var v=e(7901),E=e(50693),a=e(12663).axisHoverFormat,C=e(5386).fF,w=e(9012),d=e(1426).extendFlat,p=e(30962).overrideAll;function t(o){return{valType:"boolean",dflt:!1}}function r(o){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:t(),y:t(),z:t()},color:{valType:"color",dflt:v.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:v.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var c=U.exports=p(d({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:C(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},E("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:r(),y:r(),z:r()},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:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:d({},E.zauto,{}),zmin:d({},E.zmin,{}),zmax:d({},E.zmax,{})},hoverinfo:d({},w.hoverinfo),showlegend:d({},w.showlegend,{dflt:!1})}),"calc","nested");c.x.editType=c.y.editType=c.z.editType="calc+clearAxisTypes",c.transforms=void 0},18396:function(U,B,e){var v=e(78803);U.exports=function(a,C){C.surfacecolor?v(a,C,{vals:C.surfacecolor,containerStr:"",cLetter:"c"}):v(a,C,{vals:C.z,containerStr:"",cLetter:"c"})}},43768:function(U,B,e){var v=e(9330).gl_surface3d,E=e(9330).ndarray,a=e(9330).ndarray_linear_interpolate.d2,C=e(824),w=e(43907),d=e(71828).isArrayOrTypedArray,p=e(81697).parseColorScale,t=e(78614),r=e(21081).extractOpts;function c(s,_,A){this.scene=s,this.uid=A,this.surface=_,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var o=c.prototype;o.getXat=function(s,_,A,D){var F=d(this.data.x)?d(this.data.x[0])?this.data.x[_][s]:this.data.x[s]:s;return A===void 0?F:D.d2l(F,0,A)},o.getYat=function(s,_,A,D){var F=d(this.data.y)?d(this.data.y[0])?this.data.y[_][s]:this.data.y[_]:_;return A===void 0?F:D.d2l(F,0,A)},o.getZat=function(s,_,A,D){var F=this.data.z[_][s];return F===null&&this.data.connectgaps&&this.data._interpolatedZ&&(F=this.data._interpolatedZ[_][s]),A===void 0?F:D.d2l(F,0,A)},o.handlePick=function(s){if(s.object===this.surface){var _=(s.data.index[0]-1)/this.dataScaleX-1,A=(s.data.index[1]-1)/this.dataScaleY-1,D=Math.max(Math.min(Math.round(_),this.data.z[0].length-1),0),F=Math.max(Math.min(Math.round(A),this.data._ylength-1),0);s.index=[D,F],s.traceCoordinate=[this.getXat(D,F),this.getYat(D,F),this.getZat(D,F)],s.dataCoordinate=[this.getXat(D,F,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(D,F,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(D,F,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var G=0;G<3;G++){var O=s.dataCoordinate[G];O!=null&&(s.dataCoordinate[G]*=this.scene.dataScale[G])}var H=this.data.hovertext||this.data.text;return Array.isArray(H)&&H[F]&&H[F][D]!==void 0?s.textLabel=H[F][D]:H?s.textLabel=H:s.textLabel="",s.data.dataCoordinate=s.dataCoordinate.slice(),this.surface.highlight(s.data),this.scene.glplot.spikes.position=s.dataCoordinate,!0}};function n(s){var _=s[0].rgb,A=s[s.length-1].rgb;return _[0]===A[0]&&_[1]===A[1]&&_[2]===A[2]&&_[3]===A[3]}var u=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function i(s,_){if(s<_)return 0;for(var A=0;Math.floor(s%_)===0;)s/=_,A++;return A}function g(s){for(var _=[],A=0;A0){A=u[D];break}return A}function x(s,_){if(!(s<1||_<1)){for(var A=g(s),D=g(_),F=1,G=0;GT;)D--,D/=h(D),D++,D1?F:1};function S(s,_,A){var D=A[8]+A[2]*_[0]+A[5]*_[1];return s[0]=(A[6]+A[0]*_[0]+A[3]*_[1])/D,s[1]=(A[7]+A[1]*_[0]+A[4]*_[1])/D,s}function L(s,_,A){return m(s,_,S,A),s}function m(s,_,A,D){for(var F=[0,0],G=s.shape[0],O=s.shape[1],H=0;H0&&this.contourStart[D]!==null&&this.contourEnd[D]!==null&&this.contourEnd[D]>this.contourStart[D]))for(_[D]=!0,F=this.contourStart[D];Fee&&(this.minValues[k]=ee),this.maxValues[k]",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"}}},51018:function(U,B,e){var v=e(49850),E=e(1426).extendFlat,a=e(92770);U.exports=function(u,i){var g=d(i.cells.values),h=function(V){return V.slice(i.header.values.length,V.length)},x=d(i.header.values);x.length&&!x[0].length&&(x[0]=[""],x=d(x));var f=x.concat(h(g).map(function(){return p((x[0]||[""]).length)})),l=i.domain,y=Math.floor(u._fullLayout._size.w*(l.x[1]-l.x[0])),T=Math.floor(u._fullLayout._size.h*(l.y[1]-l.y[0])),S=i.header.values.length?f[0].map(function(){return i.header.height}):[v.emptyHeaderHeight],L=g.length?g[0].map(function(){return i.cells.height}):[],m=S.reduce(w,0),M=T-m,b=M+v.uplift,s=c(L,b),_=c(S,m),A=r(_,[]),D=r(s,A),F={},G=i._fullInput.columnorder.concat(h(g.map(function(V,Z){return Z}))),O=f.map(function(V,Z){var ee=Array.isArray(i.columnwidth)?i.columnwidth[Math.min(Z,i.columnwidth.length-1)]:i.columnwidth;return a(ee)?Number(ee):1}),H=O.reduce(w,0);O=O.map(function(V){return V/H*y});var z=Math.max(C(i.header.line.width),C(i.cells.line.width)),k={key:i.uid+u._context.staticPlot,translateX:l.x[0]*u._fullLayout._size.w,translateY:u._fullLayout._size.h*(1-l.y[1]),size:u._fullLayout._size,width:y,maxLineWidth:z,height:T,columnOrder:G,groupHeight:T,rowBlocks:D,headerRowBlocks:A,scrollY:0,cells:E({},i.cells,{values:g}),headerCells:E({},i.header,{values:f}),gdColumns:f.map(function(V){return V[0]}),gdColumnsOriginalOrder:f.map(function(V){return V[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:f.map(function(V,Z){var ee=F[V];F[V]=(ee||0)+1;var Q=V+"__"+F[V];return{key:Q,label:V,specIndex:Z,xIndex:G[Z],xScale:t,x:void 0,calcdata:void 0,columnWidth:O[Z]}})};return k.columns.forEach(function(V){V.calcdata=k,V.x=t(V)}),k};function C(n){if(Array.isArray(n)){for(var u=0,i=0;i=u||T===n.length-1)&&(i[h]=f,f.key=y++,f.firstRowIndex=l,f.lastRowIndex=T,f=o(),h+=x,l=T+1,x=0);return i}function o(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}},56269:function(U,B,e){var v=e(1426).extendFlat;B.splitToPanels=function(a){var C=[0,0],w=v({},a,{key:"header",type:"header",page:0,prevPages:C,currentRepaint:[null,null],dragHandle:!0,values:a.calcdata.headerCells.values[a.specIndex],rowBlocks:a.calcdata.headerRowBlocks,calcdata:v({},a.calcdata,{cells:a.calcdata.headerCells})}),d=v({},a,{key:"cells1",type:"cells",page:0,prevPages:C,currentRepaint:[null,null],dragHandle:!1,values:a.calcdata.cells.values[a.specIndex],rowBlocks:a.calcdata.rowBlocks}),p=v({},a,{key:"cells2",type:"cells",page:1,prevPages:C,currentRepaint:[null,null],dragHandle:!1,values:a.calcdata.cells.values[a.specIndex],rowBlocks:a.calcdata.rowBlocks});return[d,p,w]},B.splitToCells=function(a){var C=E(a);return(a.values||[]).slice(C[0],C[1]).map(function(w,d){var p=typeof w=="string"&&w.match(/[<$&> ]/)?"_keybuster_"+Math.random():"";return{keyWithinBlock:d+p,key:C[0]+d,column:a,calcdata:a.calcdata,page:a.page,rowBlocks:a.rowBlocks,value:w}})};function E(a){var C=a.rowBlocks[a.page],w=C?C.rows[0].rowIndex:0,d=C?w+C.rows.length:0;return[w,d]}},39754:function(U,B,e){var v=e(71828),E=e(44464),a=e(27670).c;function C(w,d){for(var p=w.columnorder||[],t=w.header.values.length,r=p.slice(0,t),c=r.slice().sort(function(u,i){return u-i}),o=r.map(function(u){return c.indexOf(u)}),n=o.length;n/i),we=!Oe||Ee;xe.mayHaveMarkup=Oe&&Be.match(/[<&>]/);var Ce=A(Be);xe.latex=Ce;var Ge=Ce?"":G(xe.calcdata.cells.prefix,Se,Ae)||"",He=Ce?"":G(xe.calcdata.cells.suffix,Se,Ae)||"",De=Ce?null:G(xe.calcdata.cells.format,Se,Ae)||null,Fe=Ge+(De?C(De)(xe.value):xe.value)+He,qe;xe.wrappingNeeded=!xe.wrapped&&!we&&!Ce&&(qe=D(Fe)),xe.cellHeightMayIncrease=Ee||Ce||xe.mayHaveMarkup||(qe===void 0?D(Fe):qe),xe.needsConvertToTspans=xe.mayHaveMarkup||xe.wrappingNeeded||xe.latex;var Qe;if(xe.wrappingNeeded){var Je=v.wrapSplitCharacter===" "?Fe.replace(/xe&&de.push(Se),xe+=Oe}return de}function Z(te,ue,ae){var de=x(ue)[0];if(de!==void 0){var xe=de.rowBlocks,Se=de.calcdata,Ae=j(xe,xe.length),Be=de.calcdata.groupHeight-k(de),Oe=Se.scrollY=Math.max(0,Math.min(Ae-Be,Se.scrollY)),Ee=V(xe,Oe,Be);Ee.length===1&&(Ee[0]===xe.length-1?Ee.unshift(Ee[0]-1):Ee.push(Ee[0]+1)),Ee[0]%2&&Ee.reverse(),ue.each(function(we,Ce){we.page=Ee[Ce],we.scrollY=Oe}),ue.attr("transform",function(we){var Ce=j(we.rowBlocks,we.page)-we.scrollY;return r(0,Ce)}),te&&(Q(te,ae,ue,Ee,de.prevPages,de,0),Q(te,ae,ue,Ee,de.prevPages,de,1),f(ae,te))}}function ee(te,ue,ae,de){return function(Se){var Ae=Se.calcdata?Se.calcdata:Se,Be=ue.filter(function(Ce){return Ae.key===Ce.key}),Oe=ae||Ae.scrollbarState.dragMultiplier,Ee=Ae.scrollY;Ae.scrollY=de===void 0?Ae.scrollY+Oe*E.event.dy:de;var we=Be.selectAll("."+v.cn.yColumn).selectAll("."+v.cn.columnBlock).filter(H);return Z(te,we,Be),Ae.scrollY===Ee}}function Q(te,ue,ae,de,xe,Se,Ae){var Be=de[Ae]!==xe[Ae];Be&&(clearTimeout(Se.currentRepaint[Ae]),Se.currentRepaint[Ae]=setTimeout(function(){var Oe=ae.filter(function(Ee,we){return we===Ae&&de[we]!==xe[we]});l(te,ue,Oe,ae),xe[Ae]=de[Ae]}))}function ne(te,ue,ae,de){return function(){var Se=E.select(ue.parentNode);Se.each(function(Ae){var Be=Ae.fragments;Se.selectAll("tspan.line").each(function(Fe,qe){Be[qe].width=this.getComputedTextLength()});var Oe=Be[Be.length-1].width,Ee=Be.slice(0,-1),we=[],Ce,Ge,He=0,De=Ae.column.columnWidth-2*v.cellPad;for(Ae.value="";Ee.length;)Ce=Ee.shift(),Ge=Ce.width+Oe,He+Ge>De&&(Ae.value+=we.join(v.wrapSpacer)+v.lineBreaker,we=[],He=0),we.push(Ce.text),He+=Ge;He&&(Ae.value+=we.join(v.wrapSpacer)),Ae.wrapped=!0}),Se.selectAll("tspan.line").remove(),_(Se.select("."+v.cn.cellText),ae,te,de),E.select(ue.parentNode.parentNode).call(Y)}}function fe(te,ue,ae,de,xe){return function(){if(!xe.settledY){var Ae=E.select(ue.parentNode),Be=le(xe),Oe=xe.key-Be.firstRowIndex,Ee=Be.rows[Oe].rowHeight,we=xe.cellHeightMayIncrease?ue.parentNode.getBoundingClientRect().height+2*v.cellPad:Ee,Ce=Math.max(we,Ee),Ge=Ce-Be.rows[Oe].rowHeight;Ge&&(Be.rows[Oe].rowHeight=Ce,te.selectAll("."+v.cn.columnCell).call(Y),Z(null,te.filter(H),0),f(ae,de,!0)),Ae.attr("transform",function(){var He=this,De=He.parentNode,Fe=De.getBoundingClientRect(),qe=E.select(He.parentNode).select("."+v.cn.cellRect).node().getBoundingClientRect(),Qe=He.transform.baseVal.consolidate(),Je=qe.top-Fe.top+(Qe?Qe.matrix.f:v.cellPad);return r($(xe,E.select(He.parentNode).select("."+v.cn.cellTextHolder).node().getBoundingClientRect().width),Je)}),xe.settledY=!0}}}function $(te,ue){switch(te.align){case"left":return v.cellPad;case"right":return te.column.columnWidth-(ue||0)-v.cellPad;case"center":return(te.column.columnWidth-(ue||0))/2;default:return v.cellPad}}function Y(te){te.attr("transform",function(ue){var ae=ue.rowBlocks[0].auxiliaryBlocks.reduce(function(Ae,Be){return Ae+X(Be,1/0)},0),de=le(ue),xe=X(de,ue.key),Se=xe+ae;return r(0,Se)}).selectAll("."+v.cn.cellRect).attr("height",function(ue){return q(le(ue),ue.key).rowHeight})}function j(te,ue){for(var ae=0,de=ue-1;de>=0;de--)ae+=re(te[de]);return ae}function X(te,ue){for(var ae=0,de=0;de","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:t({},w.textfont,{}),editType:"calc"},text:w.text,textinfo:d.textinfo,texttemplate:E({editType:"plot"},{keys:p.eventDataKeys.concat(["label","value"])}),hovertext:w.hovertext,hoverinfo:d.hoverinfo,hovertemplate:v({},{keys:p.eventDataKeys}),textfont:w.textfont,insidetextfont:w.insidetextfont,outsidetextfont:t({},w.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:w.sort,root:d.root,domain:C({name:"treemap",trace:!0,editType:"calc"})}},78018:function(U,B,e){var v=e(74875);B.name="treemap",B.plot=function(E,a,C,w){v.plotBasePlot(B.name,E,a,C,w)},B.clean=function(E,a,C,w){v.cleanBasePlot(B.name,E,a,C,w)}},65039:function(U,B,e){var v=e(52147);B.y=function(E,a){return v.calc(E,a)},B.T=function(E){return v._runCrossTraceCalc("treemap",E)}},43473:function(U){U.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(U,B,e){var v=e(71828),E=e(45802),a=e(7901),C=e(27670).c,w=e(90769).handleText,d=e(97313).TEXTPAD,p=e(21081),t=p.hasColorscale,r=p.handleDefaults;U.exports=function(o,n,u,i){function g(_,A){return v.coerce(o,n,E,_,A)}var h=g("labels"),x=g("parents");if(!h||!h.length||!x||!x.length){n.visible=!1;return}var f=g("values");f&&f.length?g("branchvalues"):g("count"),g("level"),g("maxdepth");var l=g("tiling.packing");l==="squarify"&&g("tiling.squarifyratio"),g("tiling.flip"),g("tiling.pad");var y=g("text");g("texttemplate"),n.texttemplate||g("textinfo",Array.isArray(y)?"text+label":"label"),g("hovertext"),g("hovertemplate");var T=g("pathbar.visible"),S="auto";w(o,n,i,g,S,{hasPathbar:T,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),g("textposition");var L=n.textposition.indexOf("bottom")!==-1,m=g("marker.line.width");m&&g("marker.line.color",i.paper_bgcolor);var M=g("marker.colors"),b=n._hasColorscale=t(o,"marker","colors")||(o.marker||{}).coloraxis;b?r(o,n,i,g,{prefix:"marker.",cLetter:"c"}):g("marker.depthfade",!(M||[]).length);var s=n.textfont.size*2;g("marker.pad.t",L?s/4:s),g("marker.pad.l",s/4),g("marker.pad.r",s/4),g("marker.pad.b",L?s:s/4),g("marker.cornerradius"),n._hovered={marker:{line:{width:2,color:a.contrast(i.paper_bgcolor)}}},T&&(g("pathbar.thickness",n.pathbar.textfont.size+2*d),g("pathbar.side"),g("pathbar.edgeshape")),g("sort"),g("root.color"),C(n,i,g),n._length=null}},80694:function(U,B,e){var v=e(39898),E=e(2791),a=e(72597),C=a.clearMinTextSize,w=e(16688).resizeText,d=e(46650);U.exports=function(t,r,c,o,n){var u=n.type,i=n.drawDescendants,g=t._fullLayout,h=g["_"+u+"layer"],x,f,l=!c;if(C(u,g),x=h.selectAll("g.trace."+u).data(r,function(T){return T[0].trace.uid}),x.enter().append("g").classed("trace",!0).classed(u,!0),x.order(),!g.uniformtext.mode&&E.hasTransition(c)){o&&(f=o());var y=v.transition().duration(c.duration).ease(c.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()});y.each(function(){h.selectAll("g.trace").each(function(T){d(t,T,this,c,i)})})}else x.each(function(T){d(t,T,this,c,i)}),g.uniformtext.mode&&w(t,h.selectAll(".trace"),u);l&&x.exit().remove()}},66209:function(U,B,e){var v=e(39898),E=e(71828),a=e(91424),C=e(63893),w=e(37210),d=e(96362).styleOne,p=e(43473),t=e(2791),r=e(83523),c=!0;U.exports=function(n,u,i,g,h){var x=h.barDifY,f=h.width,l=h.height,y=h.viewX,T=h.viewY,S=h.pathSlice,L=h.toMoveInsideSlice,m=h.strTransform,M=h.hasTransition,b=h.handleSlicesExit,s=h.makeUpdateSliceInterpolator,_=h.makeUpdateTextInterpolator,A={},D=n._context.staticPlot,F=n._fullLayout,G=u[0],O=G.trace,H=G.hierarchy,z=f/O._entryDepth,k=t.listPath(i.data,"id"),V=w(H.copy(),[f,l],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();V=V.filter(function(ee){var Q=k.indexOf(ee.data.id);return Q===-1?!1:(ee.x0=z*Q,ee.x1=z*(Q+1),ee.y0=x,ee.y1=x+l,ee.onPathbar=!0,!0)}),V.reverse(),g=g.data(V,t.getPtId),g.enter().append("g").classed("pathbar",!0),b(g,c,A,[f,l],S),g.order();var Z=g;M&&(Z=Z.transition().each("end",function(){var ee=v.select(this);t.setSliceCursor(ee,n,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),Z.each(function(ee){ee._x0=y(ee.x0),ee._x1=y(ee.x1),ee._y0=T(ee.y0),ee._y1=T(ee.y1),ee._hoverX=y(ee.x1-Math.min(f,l)/2),ee._hoverY=T(ee.y1-l/2);var Q=v.select(this),ne=E.ensureSingle(Q,"path","surface",function(j){j.style("pointer-events",D?"none":"all")});M?ne.transition().attrTween("d",function(j){var X=s(j,c,A,[f,l]);return function(re){return S(X(re))}}):ne.attr("d",S),Q.call(r,i,n,u,{styleOne:d,eventDataKeys:p.eventDataKeys,transitionTime:p.CLICK_TRANSITION_TIME,transitionEasing:p.CLICK_TRANSITION_EASING}).call(t.setSliceCursor,n,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:n._transitioning}),ne.call(d,ee,O,{hovered:!1}),ee._text=(t.getPtLabel(ee)||"").split("
").join(" ")||"";var fe=E.ensureSingle(Q,"g","slicetext"),$=E.ensureSingle(fe,"text","",function(j){j.attr("data-notex",1)}),Y=E.ensureUniformFontSize(n,t.determineTextFont(O,ee,F.font,{onPathbar:!0}));$.text(ee._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,Y).call(C.convertToTspans,n),ee.textBB=a.bBox($.node()),ee.transform=L(ee,{fontSize:Y.size,onPathbar:!0}),ee.transform.fontSize=Y.size,M?$.transition().attrTween("transform",function(j){var X=_(j,c,A,[f,l]);return function(re){return m(X(re))}}):$.attr("transform",m(ee))})}},52583:function(U,B,e){var v=e(39898),E=e(71828),a=e(91424),C=e(63893),w=e(37210),d=e(96362).styleOne,p=e(43473),t=e(2791),r=e(83523),c=e(24714).formatSliceLabel,o=!1;U.exports=function(u,i,g,h,x){var f=x.width,l=x.height,y=x.viewX,T=x.viewY,S=x.pathSlice,L=x.toMoveInsideSlice,m=x.strTransform,M=x.hasTransition,b=x.handleSlicesExit,s=x.makeUpdateSliceInterpolator,_=x.makeUpdateTextInterpolator,A=x.prevEntry,D={},F=u._context.staticPlot,G=u._fullLayout,O=i[0],H=O.trace,z=H.textposition.indexOf("left")!==-1,k=H.textposition.indexOf("right")!==-1,V=H.textposition.indexOf("bottom")!==-1,Z=!V&&!H.marker.pad.t||V&&!H.marker.pad.b,ee=w(g,[f,l],{packing:H.tiling.packing,squarifyratio:H.tiling.squarifyratio,flipX:H.tiling.flip.indexOf("x")>-1,flipY:H.tiling.flip.indexOf("y")>-1,pad:{inner:H.tiling.pad,top:H.marker.pad.t,left:H.marker.pad.l,right:H.marker.pad.r,bottom:H.marker.pad.b}}),Q=ee.descendants(),ne=1/0,fe=-1/0;Q.forEach(function(re){var le=re.depth;le>=H._maxDepth?(re.x0=re.x1=(re.x0+re.x1)/2,re.y0=re.y1=(re.y0+re.y1)/2):(ne=Math.min(ne,le),fe=Math.max(fe,le))}),h=h.data(Q,t.getPtId),H._maxVisibleLayers=isFinite(fe)?fe-ne+1:0,h.enter().append("g").classed("slice",!0),b(h,o,D,[f,l],S),h.order();var $=null;if(M&&A){var Y=t.getPtId(A);h.each(function(re){$===null&&t.getPtId(re)===Y&&($={x0:re.x0,x1:re.x1,y0:re.y0,y1:re.y1})})}var j=function(){return $||{x0:0,x1:f,y0:0,y1:l}},X=h;return M&&(X=X.transition().each("end",function(){var re=v.select(this);t.setSliceCursor(re,u,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),X.each(function(re){var le=t.isHeader(re,H);re._x0=y(re.x0),re._x1=y(re.x1),re._y0=T(re.y0),re._y1=T(re.y1),re._hoverX=y(re.x1-H.marker.pad.r),re._hoverY=T(V?re.y1-H.marker.pad.b/2:re.y0+H.marker.pad.t/2);var q=v.select(this),te=E.ensureSingle(q,"path","surface",function(xe){xe.style("pointer-events",F?"none":"all")});M?te.transition().attrTween("d",function(xe){var Se=s(xe,o,j(),[f,l]);return function(Ae){return S(Se(Ae))}}):te.attr("d",S),q.call(r,g,u,i,{styleOne:d,eventDataKeys:p.eventDataKeys,transitionTime:p.CLICK_TRANSITION_TIME,transitionEasing:p.CLICK_TRANSITION_EASING}).call(t.setSliceCursor,u,{isTransitioning:u._transitioning}),te.call(d,re,H,{hovered:!1}),re.x0===re.x1||re.y0===re.y1?re._text="":le?re._text=Z?"":t.getPtLabel(re)||"":re._text=c(re,g,H,i,G)||"";var ue=E.ensureSingle(q,"g","slicetext"),ae=E.ensureSingle(ue,"text","",function(xe){xe.attr("data-notex",1)}),de=E.ensureUniformFontSize(u,t.determineTextFont(H,re,G.font));ae.text(re._text||" ").classed("slicetext",!0).attr("text-anchor",k?"end":z||le?"start":"middle").call(a.font,de).call(C.convertToTspans,u),re.textBB=a.bBox(ae.node()),re.transform=L(re,{fontSize:de.size,isHeader:le}),re.transform.fontSize=de.size,M?ae.transition().attrTween("transform",function(xe){var Se=_(xe,o,j(),[f,l]);return function(Ae){return m(Se(Ae))}}):ae.attr("transform",m(re))}),$}},14102:function(U){U.exports=function B(e,v,E){var a;E.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a),E.flipX&&(a=e.x0,e.x0=v[0]-e.x1,e.x1=v[0]-a),E.flipY&&(a=e.y0,e.y0=v[1]-e.y1,e.y1=v[1]-a);var C=e.children;if(C)for(var w=0;w-1?k+ee:-(Z+ee):0,ne={x0:V,x1:V,y0:Q,y1:Q+Z},fe=function(ze,rt,it){var Ze=T.tiling.pad,Ie=function(Re){return Re-Ze<=rt.x0},Te=function(Re){return Re+Ze>=rt.x1},he=function(Re){return Re-Ze<=rt.y0},me=function(Re){return Re+Ze>=rt.y1};return ze.x0===rt.x0&&ze.x1===rt.x1&&ze.y0===rt.y0&&ze.y1===rt.y1?{x0:ze.x0,x1:ze.x1,y0:ze.y0,y1:ze.y1}:{x0:Ie(ze.x0-Ze)?0:Te(ze.x0-Ze)?it[0]:ze.x0,x1:Ie(ze.x1+Ze)?0:Te(ze.x1+Ze)?it[0]:ze.x1,y0:he(ze.y0-Ze)?0:me(ze.y0-Ze)?it[1]:ze.y0,y1:he(ze.y1+Ze)?0:me(ze.y1+Ze)?it[1]:ze.y1}},$=null,Y={},j={},X=null,re=function(ze,rt){return rt?Y[n(ze)]:j[n(ze)]},le=function(ze,rt,it,Ze){if(rt)return Y[n(m)]||ne;var Ie=j[T.level]||it;return G(ze)?fe(ze,Ie,Ze):{}};y.hasMultipleRoots&&A&&F++,T._maxDepth=F,T._backgroundColor=l.paper_bgcolor,T._entryDepth=M.data.depth,T._atRootLevel=A;var q=-z/2+O.l+O.w*(H.x[1]+H.x[0])/2,te=-k/2+O.t+O.h*(1-(H.y[1]+H.y[0])/2),ue=function(ze){return q+ze},ae=function(ze){return te+ze},de=ae(0),xe=ue(0),Se=function(ze){return xe+ze},Ae=function(ze){return de+ze};function Be(ze,rt){return ze+","+rt}var Oe=Se(0),Ee=function(ze){ze.x=Math.max(Oe,ze.x)},we=T.pathbar.edgeshape,Ce=function(ze){var rt=Se(Math.max(Math.min(ze.x0,ze.x0),0)),it=Se(Math.min(Math.max(ze.x1,ze.x1),V)),Ze=Ae(ze.y0),Ie=Ae(ze.y1),Te=Z/2,he={},me={};he.x=rt,me.x=it,he.y=me.y=(Ze+Ie)/2;var Re={x:rt,y:Ze},Ne={x:it,y:Ze},st={x:it,y:Ie},ft={x:rt,y:Ie};return we===">"?(Re.x-=Te,Ne.x-=Te,st.x-=Te,ft.x-=Te):we==="/"?(st.x-=Te,ft.x-=Te,he.x-=Te/2,me.x-=Te/2):we==="\\"?(Re.x-=Te,Ne.x-=Te,he.x-=Te/2,me.x-=Te/2):we==="<"&&(he.x-=Te,me.x-=Te),Ee(Re),Ee(ft),Ee(he),Ee(Ne),Ee(st),Ee(me),"M"+Be(Re.x,Re.y)+"L"+Be(Ne.x,Ne.y)+"L"+Be(me.x,me.y)+"L"+Be(st.x,st.y)+"L"+Be(ft.x,ft.y)+"L"+Be(he.x,he.y)+"Z"},Ge=T[L?"tiling":"marker"].pad,He=function(ze){return T.textposition.indexOf(ze)!==-1},De=He("top"),Fe=He("left"),qe=He("right"),Qe=He("bottom"),Je=function(ze){var rt=ue(ze.x0),it=ue(ze.x1),Ze=ae(ze.y0),Ie=ae(ze.y1),Te=it-rt,he=Ie-Ze;if(!Te||!he)return"";var me=T.marker.cornerradius||0,Re=Math.min(me,Te/2,he/2);Re&&ze.data&&ze.data.data&&ze.data.data.label&&(De&&(Re=Math.min(Re,Ge.t)),Fe&&(Re=Math.min(Re,Ge.l)),qe&&(Re=Math.min(Re,Ge.r)),Qe&&(Re=Math.min(Re,Ge.b)));var Ne=function(st,ft){return Re?"a"+Be(Re,Re)+" 0 0 1 "+Be(st,ft):""};return"M"+Be(rt,Ze+Re)+Ne(Re,-Re)+"L"+Be(it-Re,Ze)+Ne(Re,Re)+"L"+Be(it,Ie-Re)+Ne(-Re,Re)+"L"+Be(rt+Re,Ie)+Ne(-Re,-Re)+"Z"},tt=function(ze,rt){var it=ze.x0,Ze=ze.x1,Ie=ze.y0,Te=ze.y1,he=ze.textBB,me=De||rt.isHeader&&!Qe,Re=me?"start":Qe?"end":"middle",Ne=He("right"),st=He("left")||rt.onPathbar,ft=st?-1:Ne?1:0;if(rt.isHeader){if(it+=(L?Ge:Ge.l)-w,Ze-=(L?Ge:Ge.r)-w,it>=Ze){var At=(it+Ze)/2;it=At,Ze=At}var Ft;Qe?(Ft=Te-(L?Ge:Ge.b),Ie0)for(var m=0;m0){var S=p.xa,L=p.ya,m,M,b,s,_;i.orientation==="h"?(_=t,m="y",b=L,M="x",s=S):(_=r,m="x",b=S,M="y",s=L);var A=u[p.index];if(_>=A.span[0]&&_<=A.span[1]){var D=E.extendFlat({},p),F=s.c2p(_,!0),G=w.getKdeValue(A,i,_),O=w.getPositionOnKdePath(A,i,F),H=b._offset,z=b._length;D[m+"0"]=O[0],D[m+"1"]=O[1],D[M+"0"]=D[M+"1"]=F,D[M+"Label"]=M+": "+a.hoverLabelText(s,_,i[M+"hoverformat"])+", "+u[0].t.labels.kde+" "+G.toFixed(3);for(var k=0,V=0;V")),u.color=d(g,T),[u]};function d(p,t){var r=p[t.dir].marker,c=r.color,o=r.line.color,n=r.line.width;if(E(c))return c;if(E(o)&&n)return o}},19990:function(U,B,e){U.exports={attributes:e(43037),layoutAttributes:e(13494),supplyDefaults:e(83266).supplyDefaults,crossTraceDefaults:e(83266).crossTraceDefaults,supplyLayoutDefaults:e(5176),calc:e(52752),crossTraceCalc:e(70766),plot:e(30436),style:e(55750).style,hoverPoints:e(61326),eventData:e(58593),selectPoints:e(81974),moduleType:"trace",name:"waterfall",basePlotModule:e(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(U){U.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},5176:function(U,B,e){var v=e(71828),E=e(13494);U.exports=function(a,C,w){var d=!1;function p(c,o){return v.coerce(a,C,E,c,o)}for(var t=0;t0&&(l?_+="M"+b[0]+","+s[1]+"V"+s[0]:_+="M"+b[1]+","+s[0]+"H"+b[0]),y!=="between"&&(L.isSum||m path").each(function(h){if(!h.isBlank){var x=g[h.dir].marker;v.select(this).call(a.fill,x.color).call(a.stroke,x.line.color).call(E.dashLine,x.line.dash,x.line.width).style("opacity",g.selectedpoints&&!h.selected?C:1)}}),p(i,g,r),i.selectAll(".lines").each(function(){var h=g.connector.line;E.lineGroupStyle(v.select(this).selectAll("path"),h.width,h.color,h.dash)})})}U.exports={style:t}},82887:function(U,B,e){var v=e(89298),E=e(71828),a=e(86281),C=e(79344).p,w=e(50606).BADNUM;B.moduleType="transform",B.name="aggregate";var d=B.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","change","range"],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"},p=d.aggregations;B.supplyDefaults=function(u,i){var g={},h;function x(A,D){return E.coerce(u,g,d,A,D)}var f=x("enabled");if(!f)return g;var l=a.findArrayAttributes(i),y={};for(h=0;hT&&(T=M,S=m)}}return T?x(S):w};case"rms":return function(f,l){for(var y=0,T=0,S=0;S":return function(y){return f(y)>l};case">=":return function(y){return f(y)>=l};case"[]":return function(y){var T=f(y);return T>=l[0]&&T<=l[1]};case"()":return function(y){var T=f(y);return T>l[0]&&T=l[0]&&Tl[0]&&T<=l[1]};case"][":return function(y){var T=f(y);return T<=l[0]||T>=l[1]};case")(":return function(y){var T=f(y);return Tl[1]};case"](":return function(y){var T=f(y);return T<=l[0]||T>l[1]};case")[":return function(y){var T=f(y);return T=l[1]};case"{}":return function(y){return l.indexOf(f(y))!==-1};case"}{":return function(y){return l.indexOf(f(y))===-1}}}},43102:function(U,B,e){var v=e(71828),E=e(86281),a=e(74875),C=e(79344).p;B.moduleType="transform",B.name="groupby",B.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"},B.supplyDefaults=function(d,p,t){var r,c={};function o(x,f){return v.coerce(d,c,B.attributes,x,f)}var n=o("enabled");if(!n)return c;o("groups"),o("nameformat",t._dataLength>1?"%{group} (%{trace})":"%{group}");var u=d.styles,i=c.styles=[];if(u)for(r=0;r +* @license MIT +*/function r(Te,he){if(!(Te instanceof he))throw new TypeError("Cannot call a class as a function")}function c(Te,he){for(var me=0;me"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function f(Te){return f=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(me){return me.__proto__||Object.getPrototypeOf(me)},f(Te)}function l(Te){"@babel/helpers - typeof";return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(he){return typeof he}:function(he){return he&&typeof Symbol=="function"&&he.constructor===Symbol&&he!==Symbol.prototype?"symbol":typeof he},l(Te)}var y=t(3910),T=t(3187),S=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;p.lW=b,p.h2=50;var L=2147483647;b.TYPED_ARRAY_SUPPORT=m(),!b.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&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.");function m(){try{var Te=new Uint8Array(1),he={foo:function(){return 42}};return Object.setPrototypeOf(he,Uint8Array.prototype),Object.setPrototypeOf(Te,he),Te.foo()===42}catch{return!1}}Object.defineProperty(b.prototype,"parent",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.buffer}}),Object.defineProperty(b.prototype,"offset",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.byteOffset}});function M(Te){if(Te>L)throw new RangeError('The value "'+Te+'" is invalid for option "size"');var he=new Uint8Array(Te);return Object.setPrototypeOf(he,b.prototype),he}function b(Te,he,me){if(typeof Te=="number"){if(typeof he=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return D(Te)}return s(Te,he,me)}b.poolSize=8192;function s(Te,he,me){if(typeof Te=="string")return F(Te,he);if(ArrayBuffer.isView(Te))return O(Te);if(Te==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(Te));if(ze(Te,ArrayBuffer)||Te&&ze(Te.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ze(Te,SharedArrayBuffer)||Te&&ze(Te.buffer,SharedArrayBuffer)))return H(Te,he,me);if(typeof Te=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var Re=Te.valueOf&&Te.valueOf();if(Re!=null&&Re!==Te)return b.from(Re,he,me);var Ne=z(Te);if(Ne)return Ne;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Te[Symbol.toPrimitive]=="function")return b.from(Te[Symbol.toPrimitive]("string"),he,me);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(Te))}b.from=function(Te,he,me){return s(Te,he,me)},Object.setPrototypeOf(b.prototype,Uint8Array.prototype),Object.setPrototypeOf(b,Uint8Array);function _(Te){if(typeof Te!="number")throw new TypeError('"size" argument must be of type number');if(Te<0)throw new RangeError('The value "'+Te+'" is invalid for option "size"')}function A(Te,he,me){return _(Te),Te<=0?M(Te):he!==void 0?typeof me=="string"?M(Te).fill(he,me):M(Te).fill(he):M(Te)}b.alloc=function(Te,he,me){return A(Te,he,me)};function D(Te){return _(Te),M(Te<0?0:k(Te)|0)}b.allocUnsafe=function(Te){return D(Te)},b.allocUnsafeSlow=function(Te){return D(Te)};function F(Te,he){if((typeof he!="string"||he==="")&&(he="utf8"),!b.isEncoding(he))throw new TypeError("Unknown encoding: "+he);var me=V(Te,he)|0,Re=M(me),Ne=Re.write(Te,he);return Ne!==me&&(Re=Re.slice(0,Ne)),Re}function G(Te){for(var he=Te.length<0?0:k(Te.length)|0,me=M(he),Re=0;Re=L)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+L.toString(16)+" bytes");return Te|0}b.isBuffer=function(he){return he!=null&&he._isBuffer===!0&&he!==b.prototype},b.compare=function(he,me){if(ze(he,Uint8Array)&&(he=b.from(he,he.offset,he.byteLength)),ze(me,Uint8Array)&&(me=b.from(me,me.offset,me.byteLength)),!b.isBuffer(he)||!b.isBuffer(me))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(he===me)return 0;for(var Re=he.length,Ne=me.length,st=0,ft=Math.min(Re,Ne);stNe.length?(b.isBuffer(ft)||(ft=b.from(ft)),ft.copy(Ne,st)):Uint8Array.prototype.set.call(Ne,ft,st);else if(b.isBuffer(ft))ft.copy(Ne,st);else throw new TypeError('"list" argument must be an Array of Buffers');st+=ft.length}return Ne};function V(Te,he){if(b.isBuffer(Te))return Te.length;if(ArrayBuffer.isView(Te)||ze(Te,ArrayBuffer))return Te.byteLength;if(typeof Te!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(Te));var me=Te.length,Re=arguments.length>2&&arguments[2]===!0;if(!Re&&me===0)return 0;for(var Ne=!1;;)switch(he){case"ascii":case"latin1":case"binary":return me;case"utf8":case"utf-8":return gt(Te).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return me*2;case"hex":return me>>>1;case"base64":return Xe(Te).length;default:if(Ne)return Re?-1:gt(Te).length;he=(""+he).toLowerCase(),Ne=!0}}b.byteLength=V;function Z(Te,he,me){var Re=!1;if((he===void 0||he<0)&&(he=0),he>this.length||((me===void 0||me>this.length)&&(me=this.length),me<=0)||(me>>>=0,he>>>=0,me<=he))return"";for(Te||(Te="utf8");;)switch(Te){case"hex":return de(this,he,me);case"utf8":case"utf-8":return le(this,he,me);case"ascii":return ue(this,he,me);case"latin1":case"binary":return ae(this,he,me);case"base64":return re(this,he,me);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xe(this,he,me);default:if(Re)throw new TypeError("Unknown encoding: "+Te);Te=(Te+"").toLowerCase(),Re=!0}}b.prototype._isBuffer=!0;function ee(Te,he,me){var Re=Te[he];Te[he]=Te[me],Te[me]=Re}b.prototype.swap16=function(){var he=this.length;if(he%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var me=0;meme&&(he+=" ... "),""},S&&(b.prototype[S]=b.prototype.inspect),b.prototype.compare=function(he,me,Re,Ne,st){if(ze(he,Uint8Array)&&(he=b.from(he,he.offset,he.byteLength)),!b.isBuffer(he))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(he));if(me===void 0&&(me=0),Re===void 0&&(Re=he?he.length:0),Ne===void 0&&(Ne=0),st===void 0&&(st=this.length),me<0||Re>he.length||Ne<0||st>this.length)throw new RangeError("out of range index");if(Ne>=st&&me>=Re)return 0;if(Ne>=st)return-1;if(me>=Re)return 1;if(me>>>=0,Re>>>=0,Ne>>>=0,st>>>=0,this===he)return 0;for(var ft=st-Ne,At=Re-me,Ft=Math.min(ft,At),Ht=this.slice(Ne,st),Gt=he.slice(me,Re),Rt=0;Rt2147483647?me=2147483647:me<-2147483648&&(me=-2147483648),me=+me,rt(me)&&(me=Ne?0:Te.length-1),me<0&&(me=Te.length+me),me>=Te.length){if(Ne)return-1;me=Te.length-1}else if(me<0)if(Ne)me=0;else return-1;if(typeof he=="string"&&(he=b.from(he,Re)),b.isBuffer(he))return he.length===0?-1:ne(Te,he,me,Re,Ne);if(typeof he=="number")return he=he&255,typeof Uint8Array.prototype.indexOf=="function"?Ne?Uint8Array.prototype.indexOf.call(Te,he,me):Uint8Array.prototype.lastIndexOf.call(Te,he,me):ne(Te,[he],me,Re,Ne);throw new TypeError("val must be string, number or Buffer")}function ne(Te,he,me,Re,Ne){var st=1,ft=Te.length,At=he.length;if(Re!==void 0&&(Re=String(Re).toLowerCase(),Re==="ucs2"||Re==="ucs-2"||Re==="utf16le"||Re==="utf-16le")){if(Te.length<2||he.length<2)return-1;st=2,ft/=2,At/=2,me/=2}function Ft(sr,kr){return st===1?sr[kr]:sr.readUInt16BE(kr*st)}var Ht;if(Ne){var Gt=-1;for(Ht=me;Htft&&(me=ft-At),Ht=me;Ht>=0;Ht--){for(var Rt=!0,qt=0;qtNe&&(Re=Ne)):Re=Ne;var st=he.length;Re>st/2&&(Re=st/2);var ft;for(ft=0;ft>>0,isFinite(Re)?(Re=Re>>>0,Ne===void 0&&(Ne="utf8")):(Ne=Re,Re=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var st=this.length-me;if((Re===void 0||Re>st)&&(Re=st),he.length>0&&(Re<0||me<0)||me>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ne||(Ne="utf8");for(var ft=!1;;)switch(Ne){case"hex":return fe(this,he,me,Re);case"utf8":case"utf-8":return $(this,he,me,Re);case"ascii":case"latin1":case"binary":return Y(this,he,me,Re);case"base64":return j(this,he,me,Re);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X(this,he,me,Re);default:if(ft)throw new TypeError("Unknown encoding: "+Ne);Ne=(""+Ne).toLowerCase(),ft=!0}},b.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function re(Te,he,me){return he===0&&me===Te.length?y.fromByteArray(Te):y.fromByteArray(Te.slice(he,me))}function le(Te,he,me){me=Math.min(Te.length,me);for(var Re=[],Ne=he;Ne239?4:st>223?3:st>191?2:1;if(Ne+At<=me){var Ft=void 0,Ht=void 0,Gt=void 0,Rt=void 0;switch(At){case 1:st<128&&(ft=st);break;case 2:Ft=Te[Ne+1],(Ft&192)===128&&(Rt=(st&31)<<6|Ft&63,Rt>127&&(ft=Rt));break;case 3:Ft=Te[Ne+1],Ht=Te[Ne+2],(Ft&192)===128&&(Ht&192)===128&&(Rt=(st&15)<<12|(Ft&63)<<6|Ht&63,Rt>2047&&(Rt<55296||Rt>57343)&&(ft=Rt));break;case 4:Ft=Te[Ne+1],Ht=Te[Ne+2],Gt=Te[Ne+3],(Ft&192)===128&&(Ht&192)===128&&(Gt&192)===128&&(Rt=(st&15)<<18|(Ft&63)<<12|(Ht&63)<<6|Gt&63,Rt>65535&&Rt<1114112&&(ft=Rt))}}ft===null?(ft=65533,At=1):ft>65535&&(ft-=65536,Re.push(ft>>>10&1023|55296),ft=56320|ft&1023),Re.push(ft),Ne+=At}return te(Re)}var q=4096;function te(Te){var he=Te.length;if(he<=q)return String.fromCharCode.apply(String,Te);for(var me="",Re=0;ReRe)&&(me=Re);for(var Ne="",st=he;stRe&&(he=Re),me<0?(me+=Re,me<0&&(me=0)):me>Re&&(me=Re),meme)throw new RangeError("Trying to access beyond buffer length")}b.prototype.readUintLE=b.prototype.readUIntLE=function(he,me,Re){he=he>>>0,me=me>>>0,Re||Se(he,me,this.length);for(var Ne=this[he],st=1,ft=0;++ft>>0,me=me>>>0,Re||Se(he,me,this.length);for(var Ne=this[he+--me],st=1;me>0&&(st*=256);)Ne+=this[he+--me]*st;return Ne},b.prototype.readUint8=b.prototype.readUInt8=function(he,me){return he=he>>>0,me||Se(he,1,this.length),this[he]},b.prototype.readUint16LE=b.prototype.readUInt16LE=function(he,me){return he=he>>>0,me||Se(he,2,this.length),this[he]|this[he+1]<<8},b.prototype.readUint16BE=b.prototype.readUInt16BE=function(he,me){return he=he>>>0,me||Se(he,2,this.length),this[he]<<8|this[he+1]},b.prototype.readUint32LE=b.prototype.readUInt32LE=function(he,me){return he=he>>>0,me||Se(he,4,this.length),(this[he]|this[he+1]<<8|this[he+2]<<16)+this[he+3]*16777216},b.prototype.readUint32BE=b.prototype.readUInt32BE=function(he,me){return he=he>>>0,me||Se(he,4,this.length),this[he]*16777216+(this[he+1]<<16|this[he+2]<<8|this[he+3])},b.prototype.readBigUInt64LE=Ze(function(he){he=he>>>0,Qe(he,"offset");var me=this[he],Re=this[he+7];(me===void 0||Re===void 0)&&Je(he,this.length-8);var Ne=me+this[++he]*Math.pow(2,8)+this[++he]*Math.pow(2,16)+this[++he]*Math.pow(2,24),st=this[++he]+this[++he]*Math.pow(2,8)+this[++he]*Math.pow(2,16)+Re*Math.pow(2,24);return BigInt(Ne)+(BigInt(st)<>>0,Qe(he,"offset");var me=this[he],Re=this[he+7];(me===void 0||Re===void 0)&&Je(he,this.length-8);var Ne=me*Math.pow(2,24)+this[++he]*Math.pow(2,16)+this[++he]*Math.pow(2,8)+this[++he],st=this[++he]*Math.pow(2,24)+this[++he]*Math.pow(2,16)+this[++he]*Math.pow(2,8)+Re;return(BigInt(Ne)<>>0,me=me>>>0,Re||Se(he,me,this.length);for(var Ne=this[he],st=1,ft=0;++ft=st&&(Ne-=Math.pow(2,8*me)),Ne},b.prototype.readIntBE=function(he,me,Re){he=he>>>0,me=me>>>0,Re||Se(he,me,this.length);for(var Ne=me,st=1,ft=this[he+--Ne];Ne>0&&(st*=256);)ft+=this[he+--Ne]*st;return st*=128,ft>=st&&(ft-=Math.pow(2,8*me)),ft},b.prototype.readInt8=function(he,me){return he=he>>>0,me||Se(he,1,this.length),this[he]&128?(255-this[he]+1)*-1:this[he]},b.prototype.readInt16LE=function(he,me){he=he>>>0,me||Se(he,2,this.length);var Re=this[he]|this[he+1]<<8;return Re&32768?Re|4294901760:Re},b.prototype.readInt16BE=function(he,me){he=he>>>0,me||Se(he,2,this.length);var Re=this[he+1]|this[he]<<8;return Re&32768?Re|4294901760:Re},b.prototype.readInt32LE=function(he,me){return he=he>>>0,me||Se(he,4,this.length),this[he]|this[he+1]<<8|this[he+2]<<16|this[he+3]<<24},b.prototype.readInt32BE=function(he,me){return he=he>>>0,me||Se(he,4,this.length),this[he]<<24|this[he+1]<<16|this[he+2]<<8|this[he+3]},b.prototype.readBigInt64LE=Ze(function(he){he=he>>>0,Qe(he,"offset");var me=this[he],Re=this[he+7];(me===void 0||Re===void 0)&&Je(he,this.length-8);var Ne=this[he+4]+this[he+5]*Math.pow(2,8)+this[he+6]*Math.pow(2,16)+(Re<<24);return(BigInt(Ne)<>>0,Qe(he,"offset");var me=this[he],Re=this[he+7];(me===void 0||Re===void 0)&&Je(he,this.length-8);var Ne=(me<<24)+this[++he]*Math.pow(2,16)+this[++he]*Math.pow(2,8)+this[++he];return(BigInt(Ne)<>>0,me||Se(he,4,this.length),T.read(this,he,!0,23,4)},b.prototype.readFloatBE=function(he,me){return he=he>>>0,me||Se(he,4,this.length),T.read(this,he,!1,23,4)},b.prototype.readDoubleLE=function(he,me){return he=he>>>0,me||Se(he,8,this.length),T.read(this,he,!0,52,8)},b.prototype.readDoubleBE=function(he,me){return he=he>>>0,me||Se(he,8,this.length),T.read(this,he,!1,52,8)};function Ae(Te,he,me,Re,Ne,st){if(!b.isBuffer(Te))throw new TypeError('"buffer" argument must be a Buffer instance');if(he>Ne||heTe.length)throw new RangeError("Index out of range")}b.prototype.writeUintLE=b.prototype.writeUIntLE=function(he,me,Re,Ne){if(he=+he,me=me>>>0,Re=Re>>>0,!Ne){var st=Math.pow(2,8*Re)-1;Ae(this,he,me,Re,st,0)}var ft=1,At=0;for(this[me]=he&255;++At>>0,Re=Re>>>0,!Ne){var st=Math.pow(2,8*Re)-1;Ae(this,he,me,Re,st,0)}var ft=Re-1,At=1;for(this[me+ft]=he&255;--ft>=0&&(At*=256);)this[me+ft]=he/At&255;return me+Re},b.prototype.writeUint8=b.prototype.writeUInt8=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,1,255,0),this[me]=he&255,me+1},b.prototype.writeUint16LE=b.prototype.writeUInt16LE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,2,65535,0),this[me]=he&255,this[me+1]=he>>>8,me+2},b.prototype.writeUint16BE=b.prototype.writeUInt16BE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,2,65535,0),this[me]=he>>>8,this[me+1]=he&255,me+2},b.prototype.writeUint32LE=b.prototype.writeUInt32LE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,4,4294967295,0),this[me+3]=he>>>24,this[me+2]=he>>>16,this[me+1]=he>>>8,this[me]=he&255,me+4},b.prototype.writeUint32BE=b.prototype.writeUInt32BE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,4,4294967295,0),this[me]=he>>>24,this[me+1]=he>>>16,this[me+2]=he>>>8,this[me+3]=he&255,me+4};function Be(Te,he,me,Re,Ne){qe(he,Re,Ne,Te,me,7);var st=Number(he&BigInt(4294967295));Te[me++]=st,st=st>>8,Te[me++]=st,st=st>>8,Te[me++]=st,st=st>>8,Te[me++]=st;var ft=Number(he>>BigInt(32)&BigInt(4294967295));return Te[me++]=ft,ft=ft>>8,Te[me++]=ft,ft=ft>>8,Te[me++]=ft,ft=ft>>8,Te[me++]=ft,me}function Oe(Te,he,me,Re,Ne){qe(he,Re,Ne,Te,me,7);var st=Number(he&BigInt(4294967295));Te[me+7]=st,st=st>>8,Te[me+6]=st,st=st>>8,Te[me+5]=st,st=st>>8,Te[me+4]=st;var ft=Number(he>>BigInt(32)&BigInt(4294967295));return Te[me+3]=ft,ft=ft>>8,Te[me+2]=ft,ft=ft>>8,Te[me+1]=ft,ft=ft>>8,Te[me]=ft,me+8}b.prototype.writeBigUInt64LE=Ze(function(he){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Be(this,he,me,BigInt(0),BigInt("0xffffffffffffffff"))}),b.prototype.writeBigUInt64BE=Ze(function(he){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Oe(this,he,me,BigInt(0),BigInt("0xffffffffffffffff"))}),b.prototype.writeIntLE=function(he,me,Re,Ne){if(he=+he,me=me>>>0,!Ne){var st=Math.pow(2,8*Re-1);Ae(this,he,me,Re,st-1,-st)}var ft=0,At=1,Ft=0;for(this[me]=he&255;++ft>0)-Ft&255;return me+Re},b.prototype.writeIntBE=function(he,me,Re,Ne){if(he=+he,me=me>>>0,!Ne){var st=Math.pow(2,8*Re-1);Ae(this,he,me,Re,st-1,-st)}var ft=Re-1,At=1,Ft=0;for(this[me+ft]=he&255;--ft>=0&&(At*=256);)he<0&&Ft===0&&this[me+ft+1]!==0&&(Ft=1),this[me+ft]=(he/At>>0)-Ft&255;return me+Re},b.prototype.writeInt8=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,1,127,-128),he<0&&(he=255+he+1),this[me]=he&255,me+1},b.prototype.writeInt16LE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,2,32767,-32768),this[me]=he&255,this[me+1]=he>>>8,me+2},b.prototype.writeInt16BE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,2,32767,-32768),this[me]=he>>>8,this[me+1]=he&255,me+2},b.prototype.writeInt32LE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,4,2147483647,-2147483648),this[me]=he&255,this[me+1]=he>>>8,this[me+2]=he>>>16,this[me+3]=he>>>24,me+4},b.prototype.writeInt32BE=function(he,me,Re){return he=+he,me=me>>>0,Re||Ae(this,he,me,4,2147483647,-2147483648),he<0&&(he=4294967295+he+1),this[me]=he>>>24,this[me+1]=he>>>16,this[me+2]=he>>>8,this[me+3]=he&255,me+4},b.prototype.writeBigInt64LE=Ze(function(he){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Be(this,he,me,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),b.prototype.writeBigInt64BE=Ze(function(he){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Oe(this,he,me,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ee(Te,he,me,Re,Ne,st){if(me+Re>Te.length)throw new RangeError("Index out of range");if(me<0)throw new RangeError("Index out of range")}function we(Te,he,me,Re,Ne){return he=+he,me=me>>>0,Ne||Ee(Te,he,me,4),T.write(Te,he,me,Re,23,4),me+4}b.prototype.writeFloatLE=function(he,me,Re){return we(this,he,me,!0,Re)},b.prototype.writeFloatBE=function(he,me,Re){return we(this,he,me,!1,Re)};function Ce(Te,he,me,Re,Ne){return he=+he,me=me>>>0,Ne||Ee(Te,he,me,8),T.write(Te,he,me,Re,52,8),me+8}b.prototype.writeDoubleLE=function(he,me,Re){return Ce(this,he,me,!0,Re)},b.prototype.writeDoubleBE=function(he,me,Re){return Ce(this,he,me,!1,Re)},b.prototype.copy=function(he,me,Re,Ne){if(!b.isBuffer(he))throw new TypeError("argument should be a Buffer");if(Re||(Re=0),!Ne&&Ne!==0&&(Ne=this.length),me>=he.length&&(me=he.length),me||(me=0),Ne>0&&Ne=this.length)throw new RangeError("Index out of range");if(Ne<0)throw new RangeError("sourceEnd out of bounds");Ne>this.length&&(Ne=this.length),he.length-me>>0,Re=Re===void 0?this.length:Re>>>0,he||(he=0);var ft;if(typeof he=="number")for(ft=me;ftMath.pow(2,32)?Ne=De(String(me)):typeof me=="bigint"&&(Ne=String(me),(me>Math.pow(BigInt(2),BigInt(32))||me<-Math.pow(BigInt(2),BigInt(32)))&&(Ne=De(Ne)),Ne+="n"),Re+=" It must be ".concat(he,". Received ").concat(Ne),Re},RangeError);function De(Te){for(var he="",me=Te.length,Re=Te[0]==="-"?1:0;me>=Re+4;me-=3)he="_".concat(Te.slice(me-3,me)).concat(he);return"".concat(Te.slice(0,me)).concat(he)}function Fe(Te,he,me){Qe(he,"offset"),(Te[he]===void 0||Te[he+me]===void 0)&&Je(he,Te.length-(me+1))}function qe(Te,he,me,Re,Ne,st){if(Te>me||Te3?he===0||he===BigInt(0)?At=">= 0".concat(ft," and < 2").concat(ft," ** ").concat((st+1)*8).concat(ft):At=">= -(2".concat(ft," ** ").concat((st+1)*8-1).concat(ft,") and < 2 ** ")+"".concat((st+1)*8-1).concat(ft):At=">= ".concat(he).concat(ft," and <= ").concat(me).concat(ft),new Ge.ERR_OUT_OF_RANGE("value",At,Te)}Fe(Re,Ne,st)}function Qe(Te,he){if(typeof Te!="number")throw new Ge.ERR_INVALID_ARG_TYPE(he,"number",Te)}function Je(Te,he,me){throw Math.floor(Te)!==Te?(Qe(Te,me),new Ge.ERR_OUT_OF_RANGE(me||"offset","an integer",Te)):he<0?new Ge.ERR_BUFFER_OUT_OF_BOUNDS:new Ge.ERR_OUT_OF_RANGE(me||"offset",">= ".concat(me?1:0," and <= ").concat(he),Te)}var tt=/[^+/0-9A-Za-z-_]/g;function ht(Te){if(Te=Te.split("=")[0],Te=Te.trim().replace(tt,""),Te.length<2)return"";for(;Te.length%4!==0;)Te=Te+"=";return Te}function gt(Te,he){he=he||1/0;for(var me,Re=Te.length,Ne=null,st=[],ft=0;ft55295&&me<57344){if(!Ne){if(me>56319){(he-=3)>-1&&st.push(239,191,189);continue}else if(ft+1===Re){(he-=3)>-1&&st.push(239,191,189);continue}Ne=me;continue}if(me<56320){(he-=3)>-1&&st.push(239,191,189),Ne=me;continue}me=(Ne-55296<<10|me-56320)+65536}else Ne&&(he-=3)>-1&&st.push(239,191,189);if(Ne=null,me<128){if((he-=1)<0)break;st.push(me)}else if(me<2048){if((he-=2)<0)break;st.push(me>>6|192,me&63|128)}else if(me<65536){if((he-=3)<0)break;st.push(me>>12|224,me>>6&63|128,me&63|128)}else if(me<1114112){if((he-=4)<0)break;st.push(me>>18|240,me>>12&63|128,me>>6&63|128,me&63|128)}else throw new Error("Invalid code point")}return st}function yt(Te){for(var he=[],me=0;me>8,Ne=me%256,st.push(Ne),st.push(Re);return st}function Xe(Te){return y.toByteArray(ht(Te))}function Ue(Te,he,me,Re){var Ne;for(Ne=0;Ne=he.length||Ne>=Te.length);++Ne)he[Ne+me]=Te[Ne];return Ne}function ze(Te,he){return Te instanceof he||Te!=null&&Te.constructor!=null&&Te.constructor.name!=null&&Te.constructor.name===he.name}function rt(Te){return Te!==Te}var it=function(){for(var Te="0123456789abcdef",he=new Array(256),me=0;me<16;++me)for(var Re=me*16,Ne=0;Ne<16;++Ne)he[Re+Ne]=Te[me]+Te[Ne];return he}();function Ze(Te){return typeof BigInt>"u"?Ie:Te}function Ie(){throw new Error("BigInt not supported")}},2321:function(d){d.exports=c,d.exports.isMobile=c,d.exports.default=c;var p=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,t=/CrOS/,r=/android|ipad|playbook|silk/i;function c(o){o||(o={});var n=o.ua;if(!n&&typeof navigator<"u"&&(n=navigator.userAgent),n&&n.headers&&typeof n.headers["user-agent"]=="string"&&(n=n.headers["user-agent"]),typeof n!="string")return!1;var u=p.test(n)&&!t.test(n)||!!o.tablet&&r.test(n);return!u&&o.tablet&&o.featureDetect&&navigator&&navigator.maxTouchPoints>1&&n.indexOf("Macintosh")!==-1&&n.indexOf("Safari")!==-1&&(u=!0),u}},3910:function(d,p){p.byteLength=g,p.toByteArray=x,p.fromByteArray=y;for(var t=[],r=[],c=typeof Uint8Array<"u"?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,u=o.length;n0)throw new Error("Invalid string. Length must be a multiple of 4");var L=T.indexOf("=");L===-1&&(L=S);var m=L===S?0:4-L%4;return[L,m]}function g(T){var S=i(T),L=S[0],m=S[1];return(L+m)*3/4-m}function h(T,S,L){return(S+L)*3/4-L}function x(T){var S,L=i(T),m=L[0],M=L[1],b=new c(h(T,m,M)),s=0,_=M>0?m-4:m,A;for(A=0;A<_;A+=4)S=r[T.charCodeAt(A)]<<18|r[T.charCodeAt(A+1)]<<12|r[T.charCodeAt(A+2)]<<6|r[T.charCodeAt(A+3)],b[s++]=S>>16&255,b[s++]=S>>8&255,b[s++]=S&255;return M===2&&(S=r[T.charCodeAt(A)]<<2|r[T.charCodeAt(A+1)]>>4,b[s++]=S&255),M===1&&(S=r[T.charCodeAt(A)]<<10|r[T.charCodeAt(A+1)]<<4|r[T.charCodeAt(A+2)]>>2,b[s++]=S>>8&255,b[s++]=S&255),b}function f(T){return t[T>>18&63]+t[T>>12&63]+t[T>>6&63]+t[T&63]}function l(T,S,L){for(var m,M=[],b=S;b_?_:s+b));return m===1?(S=T[L-1],M.push(t[S>>2]+t[S<<4&63]+"==")):m===2&&(S=(T[L-2]<<8)+T[L-1],M.push(t[S>>10]+t[S>>4&63]+t[S<<2&63]+"=")),M.join("")}},3187:function(d,p){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */p.read=function(t,r,c,o,n){var u,i,g=n*8-o-1,h=(1<>1,f=-7,l=c?n-1:0,y=c?-1:1,T=t[r+l];for(l+=y,u=T&(1<<-f)-1,T>>=-f,f+=g;f>0;u=u*256+t[r+l],l+=y,f-=8);for(i=u&(1<<-f)-1,u>>=-f,f+=o;f>0;i=i*256+t[r+l],l+=y,f-=8);if(u===0)u=1-x;else{if(u===h)return i?NaN:(T?-1:1)*(1/0);i=i+Math.pow(2,o),u=u-x}return(T?-1:1)*i*Math.pow(2,u-o)},p.write=function(t,r,c,o,n,u){var i,g,h,x=u*8-n-1,f=(1<>1,y=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,T=o?0:u-1,S=o?1:-1,L=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(g=isNaN(r)?1:0,i=f):(i=Math.floor(Math.log(r)/Math.LN2),r*(h=Math.pow(2,-i))<1&&(i--,h*=2),i+l>=1?r+=y/h:r+=y*Math.pow(2,1-l),r*h>=2&&(i++,h/=2),i+l>=f?(g=0,i=f):i+l>=1?(g=(r*h-1)*Math.pow(2,n),i=i+l):(g=r*Math.pow(2,l-1)*Math.pow(2,n),i=0));n>=8;t[c+T]=g&255,T+=S,g/=256,n-=8);for(i=i<0;t[c+T]=i&255,T+=S,i/=256,x-=8);t[c+T-S]|=L*128}},1152:function(d,p,t){d.exports=i;var r=t(3440),c=t(7774),o=t(9298);function n(g,h){this._controllerNames=Object.keys(g),this._controllerList=this._controllerNames.map(function(x){return g[x]}),this._mode=h,this._active=g[h],this._active||(this._mode="turntable",this._active=g.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 u=n.prototype;u.flush=function(g){for(var h=this._controllerList,x=0;x"u"?t(5346):WeakMap,c=t(5827),o=t(2944),n=new r;function u(i){var g=n.get(i),h=g&&(g._triangleBuffer.handle||g._triangleBuffer.buffer);if(!h||!i.isBuffer(h)){var x=c(i,new Float32Array([-1,-1,-1,4,4,-1]));g=o(i,[{buffer:x,type:i.FLOAT,size:2}]),g._triangleBuffer=x,n.set(i,g)}g.bind(),i.drawArrays(i.TRIANGLES,0,3),g.unbind()}d.exports=u},8008:function(d,p,t){var r=t(4930);d.exports=c;function c(o,n,u){n=typeof n=="number"?n:1,u=u||": ";var i=o.split(/\r?\n/),g=String(i.length+n-1).length;return i.map(function(h,x){var f=x+n,l=String(f).length,y=r(f,g-l);return y+u+h}).join(` +`)}},2153:function(d,p,t){d.exports=o;var r=t(417);function c(n,u){for(var i=new Array(u+1),g=0;g0?l=l.ushln(f):f<0&&(y=y.ushln(-f)),u(l,y)}},234:function(d,p,t){var r=t(3218);d.exports=c;function c(o){return Array.isArray(o)&&o.length===2&&r(o[0])&&r(o[1])}},4275:function(d,p,t){var r=t(1928);d.exports=c;function c(o){return o.cmp(new r(0))}},9958:function(d,p,t){var r=t(4275);d.exports=c;function c(o){var n=o.length,u=o.words,i=0;if(n===1)i=u[0];else if(n===2)i=u[0]+u[1]*67108864;else for(var g=0;g20?52:i+32}},3218:function(d,p,t){t(1928),d.exports=r;function r(c){return c&&typeof c=="object"&&!!c.words}},5514:function(d,p,t){var r=t(1928),c=t(8362);d.exports=o;function o(n){var u=c.exponent(n);return u<52?new r(n):new r(n*Math.pow(2,52-u)).ushln(u-52)}},8524:function(d,p,t){var r=t(5514),c=t(4275);d.exports=o;function o(n,u){var i=c(n),g=c(u);if(i===0)return[r(0),r(1)];if(g===0)return[r(0),r(0)];g<0&&(n=n.neg(),u=u.neg());var h=n.gcd(u);return h.cmpn(1)?[n.div(h),u.div(h)]:[n,u]}},2813:function(d,p,t){var r=t(1928);d.exports=c;function c(o){return new r(o)}},3962:function(d,p,t){var r=t(8524);d.exports=c;function c(o,n){return r(o[0].mul(n[0]),o[1].mul(n[1]))}},4951:function(d,p,t){var r=t(4275);d.exports=c;function c(o){return r(o[0])*r(o[1])}},4354:function(d,p,t){var r=t(8524);d.exports=c;function c(o,n){return r(o[0].mul(n[1]).sub(o[1].mul(n[0])),o[1].mul(n[1]))}},7999:function(d,p,t){var r=t(9958),c=t(1112);d.exports=o;function o(n){var u=n[0],i=n[1];if(u.cmpn(0)===0)return 0;var g=u.abs().divmod(i.abs()),h=g.div,x=r(h),f=g.mod,l=u.negative!==i.negative?-1:1;if(f.cmpn(0)===0)return l*x;if(x){var y=c(x)+4,T=r(f.ushln(y).divRound(i));return l*(x+T*Math.pow(2,-y))}else{var S=i.bitLength()-f.bitLength()+53,T=r(f.ushln(S).divRound(i));return S<1023?l*T*Math.pow(2,-S):(T*=Math.pow(2,-1023),l*T*Math.pow(2,1023-S))}}},5070:function(d){function p(u,i,g,h,x){for(var f=x+1;h<=x;){var l=h+x>>>1,y=u[l],T=g!==void 0?g(y,i):y-i;T>=0?(f=l,x=l-1):h=l+1}return f}function t(u,i,g,h,x){for(var f=x+1;h<=x;){var l=h+x>>>1,y=u[l],T=g!==void 0?g(y,i):y-i;T>0?(f=l,x=l-1):h=l+1}return f}function r(u,i,g,h,x){for(var f=h-1;h<=x;){var l=h+x>>>1,y=u[l],T=g!==void 0?g(y,i):y-i;T<0?(f=l,h=l+1):x=l-1}return f}function c(u,i,g,h,x){for(var f=h-1;h<=x;){var l=h+x>>>1,y=u[l],T=g!==void 0?g(y,i):y-i;T<=0?(f=l,h=l+1):x=l-1}return f}function o(u,i,g,h,x){for(;h<=x;){var f=h+x>>>1,l=u[f],y=g!==void 0?g(l,i):l-i;if(y===0)return f;y<=0?h=f+1:x=f-1}return-1}function n(u,i,g,h,x,f){return typeof g=="function"?f(u,i,g,h===void 0?0:h|0,x===void 0?u.length-1:x|0):f(u,i,void 0,g===void 0?0:g|0,h===void 0?u.length-1:h|0)}d.exports={ge:function(u,i,g,h,x){return n(u,i,g,h,x,p)},gt:function(u,i,g,h,x){return n(u,i,g,h,x,t)},lt:function(u,i,g,h,x){return n(u,i,g,h,x,r)},le:function(u,i,g,h,x){return n(u,i,g,h,x,c)},eq:function(u,i,g,h,x){return n(u,i,g,h,x,o)}}},2288:function(d,p){"use restrict";var t=32;p.INT_BITS=t,p.INT_MAX=2147483647,p.INT_MIN=-1<0)-(o<0)},p.abs=function(o){var n=o>>t-1;return(o^n)-n},p.min=function(o,n){return n^(o^n)&-(o65535)<<4,o>>>=n,u=(o>255)<<3,o>>>=u,n|=u,u=(o>15)<<2,o>>>=u,n|=u,u=(o>3)<<1,o>>>=u,n|=u,n|o>>1},p.log10=function(o){return o>=1e9?9:o>=1e8?8:o>=1e7?7:o>=1e6?6:o>=1e5?5:o>=1e4?4:o>=1e3?3:o>=100?2:o>=10?1:0},p.popCount=function(o){return o=o-(o>>>1&1431655765),o=(o&858993459)+(o>>>2&858993459),(o+(o>>>4)&252645135)*16843009>>>24};function r(o){var n=32;return o&=-o,o&&n--,o&65535&&(n-=16),o&16711935&&(n-=8),o&252645135&&(n-=4),o&858993459&&(n-=2),o&1431655765&&(n-=1),n}p.countTrailingZeros=r,p.nextPow2=function(o){return o+=o===0,--o,o|=o>>>1,o|=o>>>2,o|=o>>>4,o|=o>>>8,o|=o>>>16,o+1},p.prevPow2=function(o){return o|=o>>>1,o|=o>>>2,o|=o>>>4,o|=o>>>8,o|=o>>>16,o-(o>>>1)},p.parity=function(o){return o^=o>>>16,o^=o>>>8,o^=o>>>4,o&=15,27030>>>o&1};var c=new Array(256);(function(o){for(var n=0;n<256;++n){var u=n,i=n,g=7;for(u>>>=1;u;u>>>=1)i<<=1,i|=u&1,--g;o[n]=i<>>8&255]<<16|c[o>>>16&255]<<8|c[o>>>24&255]},p.interleave2=function(o,n){return o&=65535,o=(o|o<<8)&16711935,o=(o|o<<4)&252645135,o=(o|o<<2)&858993459,o=(o|o<<1)&1431655765,n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,o|n<<1},p.deinterleave2=function(o,n){return o=o>>>n&1431655765,o=(o|o>>>1)&858993459,o=(o|o>>>2)&252645135,o=(o|o>>>4)&16711935,o=(o|o>>>16)&65535,o<<16>>16},p.interleave3=function(o,n,u){return o&=1023,o=(o|o<<16)&4278190335,o=(o|o<<8)&251719695,o=(o|o<<4)&3272356035,o=(o|o<<2)&1227133513,n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,o|=n<<1,u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,o|u<<2},p.deinterleave3=function(o,n){return o=o>>>n&1227133513,o=(o|o>>>2)&3272356035,o=(o|o>>>4)&251719695,o=(o|o>>>8)&4278190335,o=(o|o>>>16)&1023,o<<22>>22},p.nextCombination=function(o){var n=o|o-1;return n+1|(~n&-~n)-1>>>r(o)+1}},1928:function(d,p,t){d=t.nmd(d),function(r,c){function o(z,k){if(!z)throw new Error(k||"Assertion failed")}function n(z,k){z.super_=k;var V=function(){};V.prototype=k.prototype,z.prototype=new V,z.prototype.constructor=z}function u(z,k,V){if(u.isBN(z))return z;this.negative=0,this.words=null,this.length=0,this.red=null,z!==null&&((k==="le"||k==="be")&&(V=k,k=10),this._init(z||0,k||10,V||"be"))}typeof r=="object"?r.exports=u:c.BN=u,u.BN=u,u.wordSize=26;var i;try{typeof window<"u"&&typeof window.Buffer<"u"?i=window.Buffer:i=t(6601).Buffer}catch{}u.isBN=function(k){return k instanceof u?!0:k!==null&&typeof k=="object"&&k.constructor.wordSize===u.wordSize&&Array.isArray(k.words)},u.max=function(k,V){return k.cmp(V)>0?k:V},u.min=function(k,V){return k.cmp(V)<0?k:V},u.prototype._init=function(k,V,Z){if(typeof k=="number")return this._initNumber(k,V,Z);if(typeof k=="object")return this._initArray(k,V,Z);V==="hex"&&(V=16),o(V===(V|0)&&V>=2&&V<=36),k=k.toString().replace(/\s+/g,"");var ee=0;k[0]==="-"&&(ee++,this.negative=1),ee=0;ee-=3)ne=k[ee]|k[ee-1]<<8|k[ee-2]<<16,this.words[Q]|=ne<>>26-fe&67108863,fe+=24,fe>=26&&(fe-=26,Q++);else if(Z==="le")for(ee=0,Q=0;ee>>26-fe&67108863,fe+=24,fe>=26&&(fe-=26,Q++);return this.strip()};function g(z,k){var V=z.charCodeAt(k);return V>=65&&V<=70?V-55:V>=97&&V<=102?V-87:V-48&15}function h(z,k,V){var Z=g(z,V);return V-1>=k&&(Z|=g(z,V-1)<<4),Z}u.prototype._parseHex=function(k,V,Z){this.length=Math.ceil((k.length-V)/6),this.words=new Array(this.length);for(var ee=0;ee=V;ee-=2)fe=h(k,V,ee)<=18?(Q-=18,ne+=1,this.words[ne]|=fe>>>26):Q+=8;else{var $=k.length-V;for(ee=$%2===0?V+1:V;ee=18?(Q-=18,ne+=1,this.words[ne]|=fe>>>26):Q+=8}this.strip()};function x(z,k,V,Z){for(var ee=0,Q=Math.min(z.length,V),ne=k;ne=49?ee+=fe-49+10:fe>=17?ee+=fe-17+10:ee+=fe}return ee}u.prototype._parseBase=function(k,V,Z){this.words=[0],this.length=1;for(var ee=0,Q=1;Q<=67108863;Q*=V)ee++;ee--,Q=Q/V|0;for(var ne=k.length-Z,fe=ne%ee,$=Math.min(ne,ne-fe)+Z,Y=0,j=Z;j<$;j+=ee)Y=x(k,j,j+ee,V),this.imuln(Q),this.words[0]+Y<67108864?this.words[0]+=Y:this._iaddn(Y);if(fe!==0){var X=1;for(Y=x(k,j,k.length,V),j=0;j1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},u.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},u.prototype.inspect=function(){return(this.red?""};var f=["","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"],l=[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],y=[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];u.prototype.toString=function(k,V){k=k||10,V=V|0||1;var Z;if(k===16||k==="hex"){Z="";for(var ee=0,Q=0,ne=0;ne>>24-ee&16777215,Q!==0||ne!==this.length-1?Z=f[6-$.length]+$+Z:Z=$+Z,ee+=2,ee>=26&&(ee-=26,ne--)}for(Q!==0&&(Z=Q.toString(16)+Z);Z.length%V!==0;)Z="0"+Z;return this.negative!==0&&(Z="-"+Z),Z}if(k===(k|0)&&k>=2&&k<=36){var Y=l[k],j=y[k];Z="";var X=this.clone();for(X.negative=0;!X.isZero();){var re=X.modn(j).toString(k);X=X.idivn(j),X.isZero()?Z=re+Z:Z=f[Y-re.length]+re+Z}for(this.isZero()&&(Z="0"+Z);Z.length%V!==0;)Z="0"+Z;return this.negative!==0&&(Z="-"+Z),Z}o(!1,"Base should be between 2 and 36")},u.prototype.toNumber=function(){var k=this.words[0];return this.length===2?k+=this.words[1]*67108864:this.length===3&&this.words[2]===1?k+=4503599627370496+this.words[1]*67108864:this.length>2&&o(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-k:k},u.prototype.toJSON=function(){return this.toString(16)},u.prototype.toBuffer=function(k,V){return o(typeof i<"u"),this.toArrayLike(i,k,V)},u.prototype.toArray=function(k,V){return this.toArrayLike(Array,k,V)},u.prototype.toArrayLike=function(k,V,Z){var ee=this.byteLength(),Q=Z||Math.max(1,ee);o(ee<=Q,"byte array longer than desired length"),o(Q>0,"Requested array length <= 0"),this.strip();var ne=V==="le",fe=new k(Q),$,Y,j=this.clone();if(ne){for(Y=0;!j.isZero();Y++)$=j.andln(255),j.iushrn(8),fe[Y]=$;for(;Y=4096&&(Z+=13,V>>>=13),V>=64&&(Z+=7,V>>>=7),V>=8&&(Z+=4,V>>>=4),V>=2&&(Z+=2,V>>>=2),Z+V},u.prototype._zeroBits=function(k){if(k===0)return 26;var V=k,Z=0;return V&8191||(Z+=13,V>>>=13),V&127||(Z+=7,V>>>=7),V&15||(Z+=4,V>>>=4),V&3||(Z+=2,V>>>=2),V&1||Z++,Z},u.prototype.bitLength=function(){var k=this.words[this.length-1],V=this._countBits(k);return(this.length-1)*26+V};function T(z){for(var k=new Array(z.bitLength()),V=0;V>>ee}return k}u.prototype.zeroBits=function(){if(this.isZero())return 0;for(var k=0,V=0;Vk.length?this.clone().ior(k):k.clone().ior(this)},u.prototype.uor=function(k){return this.length>k.length?this.clone().iuor(k):k.clone().iuor(this)},u.prototype.iuand=function(k){var V;this.length>k.length?V=k:V=this;for(var Z=0;Zk.length?this.clone().iand(k):k.clone().iand(this)},u.prototype.uand=function(k){return this.length>k.length?this.clone().iuand(k):k.clone().iuand(this)},u.prototype.iuxor=function(k){var V,Z;this.length>k.length?(V=this,Z=k):(V=k,Z=this);for(var ee=0;eek.length?this.clone().ixor(k):k.clone().ixor(this)},u.prototype.uxor=function(k){return this.length>k.length?this.clone().iuxor(k):k.clone().iuxor(this)},u.prototype.inotn=function(k){o(typeof k=="number"&&k>=0);var V=Math.ceil(k/26)|0,Z=k%26;this._expand(V),Z>0&&V--;for(var ee=0;ee0&&(this.words[ee]=~this.words[ee]&67108863>>26-Z),this.strip()},u.prototype.notn=function(k){return this.clone().inotn(k)},u.prototype.setn=function(k,V){o(typeof k=="number"&&k>=0);var Z=k/26|0,ee=k%26;return this._expand(Z+1),V?this.words[Z]=this.words[Z]|1<k.length?(Z=this,ee=k):(Z=k,ee=this);for(var Q=0,ne=0;ne>>26;for(;Q!==0&&ne>>26;if(this.length=Z.length,Q!==0)this.words[this.length]=Q,this.length++;else if(Z!==this)for(;nek.length?this.clone().iadd(k):k.clone().iadd(this)},u.prototype.isub=function(k){if(k.negative!==0){k.negative=0;var V=this.iadd(k);return k.negative=1,V._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(k),this.negative=1,this._normSign();var Z=this.cmp(k);if(Z===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ee,Q;Z>0?(ee=this,Q=k):(ee=k,Q=this);for(var ne=0,fe=0;fe>26,this.words[fe]=V&67108863;for(;ne!==0&&fe>26,this.words[fe]=V&67108863;if(ne===0&&fe>>26,X=$&67108863,re=Math.min(Y,k.length-1),le=Math.max(0,Y-z.length+1);le<=re;le++){var q=Y-le|0;ee=z.words[q]|0,Q=k.words[le]|0,ne=ee*Q+X,j+=ne/67108864|0,X=ne&67108863}V.words[Y]=X|0,$=j|0}return $!==0?V.words[Y]=$|0:V.length--,V.strip()}var L=function(k,V,Z){var ee=k.words,Q=V.words,ne=Z.words,fe=0,$,Y,j,X=ee[0]|0,re=X&8191,le=X>>>13,q=ee[1]|0,te=q&8191,ue=q>>>13,ae=ee[2]|0,de=ae&8191,xe=ae>>>13,Se=ee[3]|0,Ae=Se&8191,Be=Se>>>13,Oe=ee[4]|0,Ee=Oe&8191,we=Oe>>>13,Ce=ee[5]|0,Ge=Ce&8191,He=Ce>>>13,De=ee[6]|0,Fe=De&8191,qe=De>>>13,Qe=ee[7]|0,Je=Qe&8191,tt=Qe>>>13,ht=ee[8]|0,gt=ht&8191,yt=ht>>>13,Et=ee[9]|0,Xe=Et&8191,Ue=Et>>>13,ze=Q[0]|0,rt=ze&8191,it=ze>>>13,Ze=Q[1]|0,Ie=Ze&8191,Te=Ze>>>13,he=Q[2]|0,me=he&8191,Re=he>>>13,Ne=Q[3]|0,st=Ne&8191,ft=Ne>>>13,At=Q[4]|0,Ft=At&8191,Ht=At>>>13,Gt=Q[5]|0,Rt=Gt&8191,qt=Gt>>>13,sr=Q[6]|0,kr=sr&8191,xt=sr>>>13,Xt=Q[7]|0,jt=Xt&8191,wr=Xt>>>13,hr=Q[8]|0,ct=hr&8191,ut=hr>>>13,wt=Q[9]|0,Mt=wt&8191,Lt=wt>>>13;Z.negative=k.negative^V.negative,Z.length=19,$=Math.imul(re,rt),Y=Math.imul(re,it),Y=Y+Math.imul(le,rt)|0,j=Math.imul(le,it);var St=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(St>>>26)|0,St&=67108863,$=Math.imul(te,rt),Y=Math.imul(te,it),Y=Y+Math.imul(ue,rt)|0,j=Math.imul(ue,it),$=$+Math.imul(re,Ie)|0,Y=Y+Math.imul(re,Te)|0,Y=Y+Math.imul(le,Ie)|0,j=j+Math.imul(le,Te)|0;var Ot=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,$=Math.imul(de,rt),Y=Math.imul(de,it),Y=Y+Math.imul(xe,rt)|0,j=Math.imul(xe,it),$=$+Math.imul(te,Ie)|0,Y=Y+Math.imul(te,Te)|0,Y=Y+Math.imul(ue,Ie)|0,j=j+Math.imul(ue,Te)|0,$=$+Math.imul(re,me)|0,Y=Y+Math.imul(re,Re)|0,Y=Y+Math.imul(le,me)|0,j=j+Math.imul(le,Re)|0;var Vt=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,$=Math.imul(Ae,rt),Y=Math.imul(Ae,it),Y=Y+Math.imul(Be,rt)|0,j=Math.imul(Be,it),$=$+Math.imul(de,Ie)|0,Y=Y+Math.imul(de,Te)|0,Y=Y+Math.imul(xe,Ie)|0,j=j+Math.imul(xe,Te)|0,$=$+Math.imul(te,me)|0,Y=Y+Math.imul(te,Re)|0,Y=Y+Math.imul(ue,me)|0,j=j+Math.imul(ue,Re)|0,$=$+Math.imul(re,st)|0,Y=Y+Math.imul(re,ft)|0,Y=Y+Math.imul(le,st)|0,j=j+Math.imul(le,ft)|0;var Jt=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Jt>>>26)|0,Jt&=67108863,$=Math.imul(Ee,rt),Y=Math.imul(Ee,it),Y=Y+Math.imul(we,rt)|0,j=Math.imul(we,it),$=$+Math.imul(Ae,Ie)|0,Y=Y+Math.imul(Ae,Te)|0,Y=Y+Math.imul(Be,Ie)|0,j=j+Math.imul(Be,Te)|0,$=$+Math.imul(de,me)|0,Y=Y+Math.imul(de,Re)|0,Y=Y+Math.imul(xe,me)|0,j=j+Math.imul(xe,Re)|0,$=$+Math.imul(te,st)|0,Y=Y+Math.imul(te,ft)|0,Y=Y+Math.imul(ue,st)|0,j=j+Math.imul(ue,ft)|0,$=$+Math.imul(re,Ft)|0,Y=Y+Math.imul(re,Ht)|0,Y=Y+Math.imul(le,Ft)|0,j=j+Math.imul(le,Ht)|0;var $t=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+($t>>>26)|0,$t&=67108863,$=Math.imul(Ge,rt),Y=Math.imul(Ge,it),Y=Y+Math.imul(He,rt)|0,j=Math.imul(He,it),$=$+Math.imul(Ee,Ie)|0,Y=Y+Math.imul(Ee,Te)|0,Y=Y+Math.imul(we,Ie)|0,j=j+Math.imul(we,Te)|0,$=$+Math.imul(Ae,me)|0,Y=Y+Math.imul(Ae,Re)|0,Y=Y+Math.imul(Be,me)|0,j=j+Math.imul(Be,Re)|0,$=$+Math.imul(de,st)|0,Y=Y+Math.imul(de,ft)|0,Y=Y+Math.imul(xe,st)|0,j=j+Math.imul(xe,ft)|0,$=$+Math.imul(te,Ft)|0,Y=Y+Math.imul(te,Ht)|0,Y=Y+Math.imul(ue,Ft)|0,j=j+Math.imul(ue,Ht)|0,$=$+Math.imul(re,Rt)|0,Y=Y+Math.imul(re,qt)|0,Y=Y+Math.imul(le,Rt)|0,j=j+Math.imul(le,qt)|0;var ir=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(ir>>>26)|0,ir&=67108863,$=Math.imul(Fe,rt),Y=Math.imul(Fe,it),Y=Y+Math.imul(qe,rt)|0,j=Math.imul(qe,it),$=$+Math.imul(Ge,Ie)|0,Y=Y+Math.imul(Ge,Te)|0,Y=Y+Math.imul(He,Ie)|0,j=j+Math.imul(He,Te)|0,$=$+Math.imul(Ee,me)|0,Y=Y+Math.imul(Ee,Re)|0,Y=Y+Math.imul(we,me)|0,j=j+Math.imul(we,Re)|0,$=$+Math.imul(Ae,st)|0,Y=Y+Math.imul(Ae,ft)|0,Y=Y+Math.imul(Be,st)|0,j=j+Math.imul(Be,ft)|0,$=$+Math.imul(de,Ft)|0,Y=Y+Math.imul(de,Ht)|0,Y=Y+Math.imul(xe,Ft)|0,j=j+Math.imul(xe,Ht)|0,$=$+Math.imul(te,Rt)|0,Y=Y+Math.imul(te,qt)|0,Y=Y+Math.imul(ue,Rt)|0,j=j+Math.imul(ue,qt)|0,$=$+Math.imul(re,kr)|0,Y=Y+Math.imul(re,xt)|0,Y=Y+Math.imul(le,kr)|0,j=j+Math.imul(le,xt)|0;var Cr=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,$=Math.imul(Je,rt),Y=Math.imul(Je,it),Y=Y+Math.imul(tt,rt)|0,j=Math.imul(tt,it),$=$+Math.imul(Fe,Ie)|0,Y=Y+Math.imul(Fe,Te)|0,Y=Y+Math.imul(qe,Ie)|0,j=j+Math.imul(qe,Te)|0,$=$+Math.imul(Ge,me)|0,Y=Y+Math.imul(Ge,Re)|0,Y=Y+Math.imul(He,me)|0,j=j+Math.imul(He,Re)|0,$=$+Math.imul(Ee,st)|0,Y=Y+Math.imul(Ee,ft)|0,Y=Y+Math.imul(we,st)|0,j=j+Math.imul(we,ft)|0,$=$+Math.imul(Ae,Ft)|0,Y=Y+Math.imul(Ae,Ht)|0,Y=Y+Math.imul(Be,Ft)|0,j=j+Math.imul(Be,Ht)|0,$=$+Math.imul(de,Rt)|0,Y=Y+Math.imul(de,qt)|0,Y=Y+Math.imul(xe,Rt)|0,j=j+Math.imul(xe,qt)|0,$=$+Math.imul(te,kr)|0,Y=Y+Math.imul(te,xt)|0,Y=Y+Math.imul(ue,kr)|0,j=j+Math.imul(ue,xt)|0,$=$+Math.imul(re,jt)|0,Y=Y+Math.imul(re,wr)|0,Y=Y+Math.imul(le,jt)|0,j=j+Math.imul(le,wr)|0;var je=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(je>>>26)|0,je&=67108863,$=Math.imul(gt,rt),Y=Math.imul(gt,it),Y=Y+Math.imul(yt,rt)|0,j=Math.imul(yt,it),$=$+Math.imul(Je,Ie)|0,Y=Y+Math.imul(Je,Te)|0,Y=Y+Math.imul(tt,Ie)|0,j=j+Math.imul(tt,Te)|0,$=$+Math.imul(Fe,me)|0,Y=Y+Math.imul(Fe,Re)|0,Y=Y+Math.imul(qe,me)|0,j=j+Math.imul(qe,Re)|0,$=$+Math.imul(Ge,st)|0,Y=Y+Math.imul(Ge,ft)|0,Y=Y+Math.imul(He,st)|0,j=j+Math.imul(He,ft)|0,$=$+Math.imul(Ee,Ft)|0,Y=Y+Math.imul(Ee,Ht)|0,Y=Y+Math.imul(we,Ft)|0,j=j+Math.imul(we,Ht)|0,$=$+Math.imul(Ae,Rt)|0,Y=Y+Math.imul(Ae,qt)|0,Y=Y+Math.imul(Be,Rt)|0,j=j+Math.imul(Be,qt)|0,$=$+Math.imul(de,kr)|0,Y=Y+Math.imul(de,xt)|0,Y=Y+Math.imul(xe,kr)|0,j=j+Math.imul(xe,xt)|0,$=$+Math.imul(te,jt)|0,Y=Y+Math.imul(te,wr)|0,Y=Y+Math.imul(ue,jt)|0,j=j+Math.imul(ue,wr)|0,$=$+Math.imul(re,ct)|0,Y=Y+Math.imul(re,ut)|0,Y=Y+Math.imul(le,ct)|0,j=j+Math.imul(le,ut)|0;var We=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(We>>>26)|0,We&=67108863,$=Math.imul(Xe,rt),Y=Math.imul(Xe,it),Y=Y+Math.imul(Ue,rt)|0,j=Math.imul(Ue,it),$=$+Math.imul(gt,Ie)|0,Y=Y+Math.imul(gt,Te)|0,Y=Y+Math.imul(yt,Ie)|0,j=j+Math.imul(yt,Te)|0,$=$+Math.imul(Je,me)|0,Y=Y+Math.imul(Je,Re)|0,Y=Y+Math.imul(tt,me)|0,j=j+Math.imul(tt,Re)|0,$=$+Math.imul(Fe,st)|0,Y=Y+Math.imul(Fe,ft)|0,Y=Y+Math.imul(qe,st)|0,j=j+Math.imul(qe,ft)|0,$=$+Math.imul(Ge,Ft)|0,Y=Y+Math.imul(Ge,Ht)|0,Y=Y+Math.imul(He,Ft)|0,j=j+Math.imul(He,Ht)|0,$=$+Math.imul(Ee,Rt)|0,Y=Y+Math.imul(Ee,qt)|0,Y=Y+Math.imul(we,Rt)|0,j=j+Math.imul(we,qt)|0,$=$+Math.imul(Ae,kr)|0,Y=Y+Math.imul(Ae,xt)|0,Y=Y+Math.imul(Be,kr)|0,j=j+Math.imul(Be,xt)|0,$=$+Math.imul(de,jt)|0,Y=Y+Math.imul(de,wr)|0,Y=Y+Math.imul(xe,jt)|0,j=j+Math.imul(xe,wr)|0,$=$+Math.imul(te,ct)|0,Y=Y+Math.imul(te,ut)|0,Y=Y+Math.imul(ue,ct)|0,j=j+Math.imul(ue,ut)|0,$=$+Math.imul(re,Mt)|0,Y=Y+Math.imul(re,Lt)|0,Y=Y+Math.imul(le,Mt)|0,j=j+Math.imul(le,Lt)|0;var It=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(It>>>26)|0,It&=67108863,$=Math.imul(Xe,Ie),Y=Math.imul(Xe,Te),Y=Y+Math.imul(Ue,Ie)|0,j=Math.imul(Ue,Te),$=$+Math.imul(gt,me)|0,Y=Y+Math.imul(gt,Re)|0,Y=Y+Math.imul(yt,me)|0,j=j+Math.imul(yt,Re)|0,$=$+Math.imul(Je,st)|0,Y=Y+Math.imul(Je,ft)|0,Y=Y+Math.imul(tt,st)|0,j=j+Math.imul(tt,ft)|0,$=$+Math.imul(Fe,Ft)|0,Y=Y+Math.imul(Fe,Ht)|0,Y=Y+Math.imul(qe,Ft)|0,j=j+Math.imul(qe,Ht)|0,$=$+Math.imul(Ge,Rt)|0,Y=Y+Math.imul(Ge,qt)|0,Y=Y+Math.imul(He,Rt)|0,j=j+Math.imul(He,qt)|0,$=$+Math.imul(Ee,kr)|0,Y=Y+Math.imul(Ee,xt)|0,Y=Y+Math.imul(we,kr)|0,j=j+Math.imul(we,xt)|0,$=$+Math.imul(Ae,jt)|0,Y=Y+Math.imul(Ae,wr)|0,Y=Y+Math.imul(Be,jt)|0,j=j+Math.imul(Be,wr)|0,$=$+Math.imul(de,ct)|0,Y=Y+Math.imul(de,ut)|0,Y=Y+Math.imul(xe,ct)|0,j=j+Math.imul(xe,ut)|0,$=$+Math.imul(te,Mt)|0,Y=Y+Math.imul(te,Lt)|0,Y=Y+Math.imul(ue,Mt)|0,j=j+Math.imul(ue,Lt)|0;var kt=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(kt>>>26)|0,kt&=67108863,$=Math.imul(Xe,me),Y=Math.imul(Xe,Re),Y=Y+Math.imul(Ue,me)|0,j=Math.imul(Ue,Re),$=$+Math.imul(gt,st)|0,Y=Y+Math.imul(gt,ft)|0,Y=Y+Math.imul(yt,st)|0,j=j+Math.imul(yt,ft)|0,$=$+Math.imul(Je,Ft)|0,Y=Y+Math.imul(Je,Ht)|0,Y=Y+Math.imul(tt,Ft)|0,j=j+Math.imul(tt,Ht)|0,$=$+Math.imul(Fe,Rt)|0,Y=Y+Math.imul(Fe,qt)|0,Y=Y+Math.imul(qe,Rt)|0,j=j+Math.imul(qe,qt)|0,$=$+Math.imul(Ge,kr)|0,Y=Y+Math.imul(Ge,xt)|0,Y=Y+Math.imul(He,kr)|0,j=j+Math.imul(He,xt)|0,$=$+Math.imul(Ee,jt)|0,Y=Y+Math.imul(Ee,wr)|0,Y=Y+Math.imul(we,jt)|0,j=j+Math.imul(we,wr)|0,$=$+Math.imul(Ae,ct)|0,Y=Y+Math.imul(Ae,ut)|0,Y=Y+Math.imul(Be,ct)|0,j=j+Math.imul(Be,ut)|0,$=$+Math.imul(de,Mt)|0,Y=Y+Math.imul(de,Lt)|0,Y=Y+Math.imul(xe,Mt)|0,j=j+Math.imul(xe,Lt)|0;var Yt=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Yt>>>26)|0,Yt&=67108863,$=Math.imul(Xe,st),Y=Math.imul(Xe,ft),Y=Y+Math.imul(Ue,st)|0,j=Math.imul(Ue,ft),$=$+Math.imul(gt,Ft)|0,Y=Y+Math.imul(gt,Ht)|0,Y=Y+Math.imul(yt,Ft)|0,j=j+Math.imul(yt,Ht)|0,$=$+Math.imul(Je,Rt)|0,Y=Y+Math.imul(Je,qt)|0,Y=Y+Math.imul(tt,Rt)|0,j=j+Math.imul(tt,qt)|0,$=$+Math.imul(Fe,kr)|0,Y=Y+Math.imul(Fe,xt)|0,Y=Y+Math.imul(qe,kr)|0,j=j+Math.imul(qe,xt)|0,$=$+Math.imul(Ge,jt)|0,Y=Y+Math.imul(Ge,wr)|0,Y=Y+Math.imul(He,jt)|0,j=j+Math.imul(He,wr)|0,$=$+Math.imul(Ee,ct)|0,Y=Y+Math.imul(Ee,ut)|0,Y=Y+Math.imul(we,ct)|0,j=j+Math.imul(we,ut)|0,$=$+Math.imul(Ae,Mt)|0,Y=Y+Math.imul(Ae,Lt)|0,Y=Y+Math.imul(Be,Mt)|0,j=j+Math.imul(Be,Lt)|0;var ar=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(ar>>>26)|0,ar&=67108863,$=Math.imul(Xe,Ft),Y=Math.imul(Xe,Ht),Y=Y+Math.imul(Ue,Ft)|0,j=Math.imul(Ue,Ht),$=$+Math.imul(gt,Rt)|0,Y=Y+Math.imul(gt,qt)|0,Y=Y+Math.imul(yt,Rt)|0,j=j+Math.imul(yt,qt)|0,$=$+Math.imul(Je,kr)|0,Y=Y+Math.imul(Je,xt)|0,Y=Y+Math.imul(tt,kr)|0,j=j+Math.imul(tt,xt)|0,$=$+Math.imul(Fe,jt)|0,Y=Y+Math.imul(Fe,wr)|0,Y=Y+Math.imul(qe,jt)|0,j=j+Math.imul(qe,wr)|0,$=$+Math.imul(Ge,ct)|0,Y=Y+Math.imul(Ge,ut)|0,Y=Y+Math.imul(He,ct)|0,j=j+Math.imul(He,ut)|0,$=$+Math.imul(Ee,Mt)|0,Y=Y+Math.imul(Ee,Lt)|0,Y=Y+Math.imul(we,Mt)|0,j=j+Math.imul(we,Lt)|0;var lr=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(lr>>>26)|0,lr&=67108863,$=Math.imul(Xe,Rt),Y=Math.imul(Xe,qt),Y=Y+Math.imul(Ue,Rt)|0,j=Math.imul(Ue,qt),$=$+Math.imul(gt,kr)|0,Y=Y+Math.imul(gt,xt)|0,Y=Y+Math.imul(yt,kr)|0,j=j+Math.imul(yt,xt)|0,$=$+Math.imul(Je,jt)|0,Y=Y+Math.imul(Je,wr)|0,Y=Y+Math.imul(tt,jt)|0,j=j+Math.imul(tt,wr)|0,$=$+Math.imul(Fe,ct)|0,Y=Y+Math.imul(Fe,ut)|0,Y=Y+Math.imul(qe,ct)|0,j=j+Math.imul(qe,ut)|0,$=$+Math.imul(Ge,Mt)|0,Y=Y+Math.imul(Ge,Lt)|0,Y=Y+Math.imul(He,Mt)|0,j=j+Math.imul(He,Lt)|0;var rr=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(rr>>>26)|0,rr&=67108863,$=Math.imul(Xe,kr),Y=Math.imul(Xe,xt),Y=Y+Math.imul(Ue,kr)|0,j=Math.imul(Ue,xt),$=$+Math.imul(gt,jt)|0,Y=Y+Math.imul(gt,wr)|0,Y=Y+Math.imul(yt,jt)|0,j=j+Math.imul(yt,wr)|0,$=$+Math.imul(Je,ct)|0,Y=Y+Math.imul(Je,ut)|0,Y=Y+Math.imul(tt,ct)|0,j=j+Math.imul(tt,ut)|0,$=$+Math.imul(Fe,Mt)|0,Y=Y+Math.imul(Fe,Lt)|0,Y=Y+Math.imul(qe,Mt)|0,j=j+Math.imul(qe,Lt)|0;var Nt=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,$=Math.imul(Xe,jt),Y=Math.imul(Xe,wr),Y=Y+Math.imul(Ue,jt)|0,j=Math.imul(Ue,wr),$=$+Math.imul(gt,ct)|0,Y=Y+Math.imul(gt,ut)|0,Y=Y+Math.imul(yt,ct)|0,j=j+Math.imul(yt,ut)|0,$=$+Math.imul(Je,Mt)|0,Y=Y+Math.imul(Je,Lt)|0,Y=Y+Math.imul(tt,Mt)|0,j=j+Math.imul(tt,Lt)|0;var cr=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(cr>>>26)|0,cr&=67108863,$=Math.imul(Xe,ct),Y=Math.imul(Xe,ut),Y=Y+Math.imul(Ue,ct)|0,j=Math.imul(Ue,ut),$=$+Math.imul(gt,Mt)|0,Y=Y+Math.imul(gt,Lt)|0,Y=Y+Math.imul(yt,Mt)|0,j=j+Math.imul(yt,Lt)|0;var vr=(fe+$|0)+((Y&8191)<<13)|0;fe=(j+(Y>>>13)|0)+(vr>>>26)|0,vr&=67108863,$=Math.imul(Xe,Mt),Y=Math.imul(Xe,Lt),Y=Y+Math.imul(Ue,Mt)|0,j=Math.imul(Ue,Lt);var pr=(fe+$|0)+((Y&8191)<<13)|0;return fe=(j+(Y>>>13)|0)+(pr>>>26)|0,pr&=67108863,ne[0]=St,ne[1]=Ot,ne[2]=Vt,ne[3]=Jt,ne[4]=$t,ne[5]=ir,ne[6]=Cr,ne[7]=je,ne[8]=We,ne[9]=It,ne[10]=kt,ne[11]=Yt,ne[12]=ar,ne[13]=lr,ne[14]=rr,ne[15]=Nt,ne[16]=cr,ne[17]=vr,ne[18]=pr,fe!==0&&(ne[19]=fe,Z.length++),Z};Math.imul||(L=S);function m(z,k,V){V.negative=k.negative^z.negative,V.length=z.length+k.length;for(var Z=0,ee=0,Q=0;Q>>26)|0,ee+=ne>>>26,ne&=67108863}V.words[Q]=fe,Z=ne,ne=ee}return Z!==0?V.words[Q]=Z:V.length--,V.strip()}function M(z,k,V){var Z=new b;return Z.mulp(z,k,V)}u.prototype.mulTo=function(k,V){var Z,ee=this.length+k.length;return this.length===10&&k.length===10?Z=L(this,k,V):ee<63?Z=S(this,k,V):ee<1024?Z=m(this,k,V):Z=M(this,k,V),Z};function b(z,k){this.x=z,this.y=k}b.prototype.makeRBT=function(k){for(var V=new Array(k),Z=u.prototype._countBits(k)-1,ee=0;ee>=1;return ee},b.prototype.permute=function(k,V,Z,ee,Q,ne){for(var fe=0;fe>>1)Q++;return 1<>>13,Z[2*ne+1]=Q&8191,Q=Q>>>13;for(ne=2*V;ne>=26,V+=ee/67108864|0,V+=Q>>>26,this.words[Z]=Q&67108863}return V!==0&&(this.words[Z]=V,this.length++),this},u.prototype.muln=function(k){return this.clone().imuln(k)},u.prototype.sqr=function(){return this.mul(this)},u.prototype.isqr=function(){return this.imul(this.clone())},u.prototype.pow=function(k){var V=T(k);if(V.length===0)return new u(1);for(var Z=this,ee=0;ee=0);var V=k%26,Z=(k-V)/26,ee=67108863>>>26-V<<26-V,Q;if(V!==0){var ne=0;for(Q=0;Q>>26-V}ne&&(this.words[Q]=ne,this.length++)}if(Z!==0){for(Q=this.length-1;Q>=0;Q--)this.words[Q+Z]=this.words[Q];for(Q=0;Q=0);var ee;V?ee=(V-V%26)/26:ee=0;var Q=k%26,ne=Math.min((k-Q)/26,this.length),fe=67108863^67108863>>>Q<ne)for(this.length-=ne,Y=0;Y=0&&(j!==0||Y>=ee);Y--){var X=this.words[Y]|0;this.words[Y]=j<<26-Q|X>>>Q,j=X&fe}return $&&j!==0&&($.words[$.length++]=j),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},u.prototype.ishrn=function(k,V,Z){return o(this.negative===0),this.iushrn(k,V,Z)},u.prototype.shln=function(k){return this.clone().ishln(k)},u.prototype.ushln=function(k){return this.clone().iushln(k)},u.prototype.shrn=function(k){return this.clone().ishrn(k)},u.prototype.ushrn=function(k){return this.clone().iushrn(k)},u.prototype.testn=function(k){o(typeof k=="number"&&k>=0);var V=k%26,Z=(k-V)/26,ee=1<=0);var V=k%26,Z=(k-V)/26;if(o(this.negative===0,"imaskn works only with positive numbers"),this.length<=Z)return this;if(V!==0&&Z++,this.length=Math.min(Z,this.length),V!==0){var ee=67108863^67108863>>>V<=67108864;V++)this.words[V]-=67108864,V===this.length-1?this.words[V+1]=1:this.words[V+1]++;return this.length=Math.max(this.length,V+1),this},u.prototype.isubn=function(k){if(o(typeof k=="number"),o(k<67108864),k<0)return this.iaddn(-k);if(this.negative!==0)return this.negative=0,this.iaddn(k),this.negative=1,this;if(this.words[0]-=k,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var V=0;V>26)-($/67108864|0),this.words[Q+Z]=ne&67108863}for(;Q>26,this.words[Q+Z]=ne&67108863;if(fe===0)return this.strip();for(o(fe===-1),fe=0,Q=0;Q>26,this.words[Q]=ne&67108863;return this.negative=1,this.strip()},u.prototype._wordDiv=function(k,V){var Z=this.length-k.length,ee=this.clone(),Q=k,ne=Q.words[Q.length-1]|0,fe=this._countBits(ne);Z=26-fe,Z!==0&&(Q=Q.ushln(Z),ee.iushln(Z),ne=Q.words[Q.length-1]|0);var $=ee.length-Q.length,Y;if(V!=="mod"){Y=new u(null),Y.length=$+1,Y.words=new Array(Y.length);for(var j=0;j=0;re--){var le=(ee.words[Q.length+re]|0)*67108864+(ee.words[Q.length+re-1]|0);for(le=Math.min(le/ne|0,67108863),ee._ishlnsubmul(Q,le,re);ee.negative!==0;)le--,ee.negative=0,ee._ishlnsubmul(Q,1,re),ee.isZero()||(ee.negative^=1);Y&&(Y.words[re]=le)}return Y&&Y.strip(),ee.strip(),V!=="div"&&Z!==0&&ee.iushrn(Z),{div:Y||null,mod:ee}},u.prototype.divmod=function(k,V,Z){if(o(!k.isZero()),this.isZero())return{div:new u(0),mod:new u(0)};var ee,Q,ne;return this.negative!==0&&k.negative===0?(ne=this.neg().divmod(k,V),V!=="mod"&&(ee=ne.div.neg()),V!=="div"&&(Q=ne.mod.neg(),Z&&Q.negative!==0&&Q.iadd(k)),{div:ee,mod:Q}):this.negative===0&&k.negative!==0?(ne=this.divmod(k.neg(),V),V!=="mod"&&(ee=ne.div.neg()),{div:ee,mod:ne.mod}):this.negative&k.negative?(ne=this.neg().divmod(k.neg(),V),V!=="div"&&(Q=ne.mod.neg(),Z&&Q.negative!==0&&Q.isub(k)),{div:ne.div,mod:Q}):k.length>this.length||this.cmp(k)<0?{div:new u(0),mod:this}:k.length===1?V==="div"?{div:this.divn(k.words[0]),mod:null}:V==="mod"?{div:null,mod:new u(this.modn(k.words[0]))}:{div:this.divn(k.words[0]),mod:new u(this.modn(k.words[0]))}:this._wordDiv(k,V)},u.prototype.div=function(k){return this.divmod(k,"div",!1).div},u.prototype.mod=function(k){return this.divmod(k,"mod",!1).mod},u.prototype.umod=function(k){return this.divmod(k,"mod",!0).mod},u.prototype.divRound=function(k){var V=this.divmod(k);if(V.mod.isZero())return V.div;var Z=V.div.negative!==0?V.mod.isub(k):V.mod,ee=k.ushrn(1),Q=k.andln(1),ne=Z.cmp(ee);return ne<0||Q===1&&ne===0?V.div:V.div.negative!==0?V.div.isubn(1):V.div.iaddn(1)},u.prototype.modn=function(k){o(k<=67108863);for(var V=(1<<26)%k,Z=0,ee=this.length-1;ee>=0;ee--)Z=(V*Z+(this.words[ee]|0))%k;return Z},u.prototype.idivn=function(k){o(k<=67108863);for(var V=0,Z=this.length-1;Z>=0;Z--){var ee=(this.words[Z]|0)+V*67108864;this.words[Z]=ee/k|0,V=ee%k}return this.strip()},u.prototype.divn=function(k){return this.clone().idivn(k)},u.prototype.egcd=function(k){o(k.negative===0),o(!k.isZero());var V=this,Z=k.clone();V.negative!==0?V=V.umod(k):V=V.clone();for(var ee=new u(1),Q=new u(0),ne=new u(0),fe=new u(1),$=0;V.isEven()&&Z.isEven();)V.iushrn(1),Z.iushrn(1),++$;for(var Y=Z.clone(),j=V.clone();!V.isZero();){for(var X=0,re=1;!(V.words[0]&re)&&X<26;++X,re<<=1);if(X>0)for(V.iushrn(X);X-- >0;)(ee.isOdd()||Q.isOdd())&&(ee.iadd(Y),Q.isub(j)),ee.iushrn(1),Q.iushrn(1);for(var le=0,q=1;!(Z.words[0]&q)&&le<26;++le,q<<=1);if(le>0)for(Z.iushrn(le);le-- >0;)(ne.isOdd()||fe.isOdd())&&(ne.iadd(Y),fe.isub(j)),ne.iushrn(1),fe.iushrn(1);V.cmp(Z)>=0?(V.isub(Z),ee.isub(ne),Q.isub(fe)):(Z.isub(V),ne.isub(ee),fe.isub(Q))}return{a:ne,b:fe,gcd:Z.iushln($)}},u.prototype._invmp=function(k){o(k.negative===0),o(!k.isZero());var V=this,Z=k.clone();V.negative!==0?V=V.umod(k):V=V.clone();for(var ee=new u(1),Q=new u(0),ne=Z.clone();V.cmpn(1)>0&&Z.cmpn(1)>0;){for(var fe=0,$=1;!(V.words[0]&$)&&fe<26;++fe,$<<=1);if(fe>0)for(V.iushrn(fe);fe-- >0;)ee.isOdd()&&ee.iadd(ne),ee.iushrn(1);for(var Y=0,j=1;!(Z.words[0]&j)&&Y<26;++Y,j<<=1);if(Y>0)for(Z.iushrn(Y);Y-- >0;)Q.isOdd()&&Q.iadd(ne),Q.iushrn(1);V.cmp(Z)>=0?(V.isub(Z),ee.isub(Q)):(Z.isub(V),Q.isub(ee))}var X;return V.cmpn(1)===0?X=ee:X=Q,X.cmpn(0)<0&&X.iadd(k),X},u.prototype.gcd=function(k){if(this.isZero())return k.abs();if(k.isZero())return this.abs();var V=this.clone(),Z=k.clone();V.negative=0,Z.negative=0;for(var ee=0;V.isEven()&&Z.isEven();ee++)V.iushrn(1),Z.iushrn(1);do{for(;V.isEven();)V.iushrn(1);for(;Z.isEven();)Z.iushrn(1);var Q=V.cmp(Z);if(Q<0){var ne=V;V=Z,Z=ne}else if(Q===0||Z.cmpn(1)===0)break;V.isub(Z)}while(!0);return Z.iushln(ee)},u.prototype.invm=function(k){return this.egcd(k).a.umod(k)},u.prototype.isEven=function(){return(this.words[0]&1)===0},u.prototype.isOdd=function(){return(this.words[0]&1)===1},u.prototype.andln=function(k){return this.words[0]&k},u.prototype.bincn=function(k){o(typeof k=="number");var V=k%26,Z=(k-V)/26,ee=1<>>26,fe&=67108863,this.words[ne]=fe}return Q!==0&&(this.words[ne]=Q,this.length++),this},u.prototype.isZero=function(){return this.length===1&&this.words[0]===0},u.prototype.cmpn=function(k){var V=k<0;if(this.negative!==0&&!V)return-1;if(this.negative===0&&V)return 1;this.strip();var Z;if(this.length>1)Z=1;else{V&&(k=-k),o(k<=67108863,"Number is too big");var ee=this.words[0]|0;Z=ee===k?0:eek.length)return 1;if(this.length=0;Z--){var ee=this.words[Z]|0,Q=k.words[Z]|0;if(ee!==Q){eeQ&&(V=1);break}}return V},u.prototype.gtn=function(k){return this.cmpn(k)===1},u.prototype.gt=function(k){return this.cmp(k)===1},u.prototype.gten=function(k){return this.cmpn(k)>=0},u.prototype.gte=function(k){return this.cmp(k)>=0},u.prototype.ltn=function(k){return this.cmpn(k)===-1},u.prototype.lt=function(k){return this.cmp(k)===-1},u.prototype.lten=function(k){return this.cmpn(k)<=0},u.prototype.lte=function(k){return this.cmp(k)<=0},u.prototype.eqn=function(k){return this.cmpn(k)===0},u.prototype.eq=function(k){return this.cmp(k)===0},u.red=function(k){return new O(k)},u.prototype.toRed=function(k){return o(!this.red,"Already a number in reduction context"),o(this.negative===0,"red works only with positives"),k.convertTo(this)._forceRed(k)},u.prototype.fromRed=function(){return o(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},u.prototype._forceRed=function(k){return this.red=k,this},u.prototype.forceRed=function(k){return o(!this.red,"Already a number in reduction context"),this._forceRed(k)},u.prototype.redAdd=function(k){return o(this.red,"redAdd works only with red numbers"),this.red.add(this,k)},u.prototype.redIAdd=function(k){return o(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,k)},u.prototype.redSub=function(k){return o(this.red,"redSub works only with red numbers"),this.red.sub(this,k)},u.prototype.redISub=function(k){return o(this.red,"redISub works only with red numbers"),this.red.isub(this,k)},u.prototype.redShl=function(k){return o(this.red,"redShl works only with red numbers"),this.red.shl(this,k)},u.prototype.redMul=function(k){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.mul(this,k)},u.prototype.redIMul=function(k){return o(this.red,"redMul works only with red numbers"),this.red._verify2(this,k),this.red.imul(this,k)},u.prototype.redSqr=function(){return o(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},u.prototype.redISqr=function(){return o(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},u.prototype.redSqrt=function(){return o(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},u.prototype.redInvm=function(){return o(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},u.prototype.redNeg=function(){return o(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},u.prototype.redPow=function(k){return o(this.red&&!k.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,k)};var s={k256:null,p224:null,p192:null,p25519:null};function _(z,k){this.name=z,this.p=new u(k,16),this.n=this.p.bitLength(),this.k=new u(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}_.prototype._tmp=function(){var k=new u(null);return k.words=new Array(Math.ceil(this.n/13)),k},_.prototype.ireduce=function(k){var V=k,Z;do this.split(V,this.tmp),V=this.imulK(V),V=V.iadd(this.tmp),Z=V.bitLength();while(Z>this.n);var ee=Z0?V.isub(this.p):V.strip!==void 0?V.strip():V._strip(),V},_.prototype.split=function(k,V){k.iushrn(this.n,0,V)},_.prototype.imulK=function(k){return k.imul(this.k)};function A(){_.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(A,_),A.prototype.split=function(k,V){for(var Z=4194303,ee=Math.min(k.length,9),Q=0;Q>>22,ne=fe}ne>>>=22,k.words[Q-10]=ne,ne===0&&k.length>10?k.length-=10:k.length-=9},A.prototype.imulK=function(k){k.words[k.length]=0,k.words[k.length+1]=0,k.length+=2;for(var V=0,Z=0;Z>>=26,k.words[Z]=Q,V=ee}return V!==0&&(k.words[k.length++]=V),k},u._prime=function(k){if(s[k])return s[k];var V;if(k==="k256")V=new A;else if(k==="p224")V=new D;else if(k==="p192")V=new F;else if(k==="p25519")V=new G;else throw new Error("Unknown prime "+k);return s[k]=V,V};function O(z){if(typeof z=="string"){var k=u._prime(z);this.m=k.p,this.prime=k}else o(z.gtn(1),"modulus must be greater than 1"),this.m=z,this.prime=null}O.prototype._verify1=function(k){o(k.negative===0,"red works only with positives"),o(k.red,"red works only with red numbers")},O.prototype._verify2=function(k,V){o((k.negative|V.negative)===0,"red works only with positives"),o(k.red&&k.red===V.red,"red works only with red numbers")},O.prototype.imod=function(k){return this.prime?this.prime.ireduce(k)._forceRed(this):k.umod(this.m)._forceRed(this)},O.prototype.neg=function(k){return k.isZero()?k.clone():this.m.sub(k)._forceRed(this)},O.prototype.add=function(k,V){this._verify2(k,V);var Z=k.add(V);return Z.cmp(this.m)>=0&&Z.isub(this.m),Z._forceRed(this)},O.prototype.iadd=function(k,V){this._verify2(k,V);var Z=k.iadd(V);return Z.cmp(this.m)>=0&&Z.isub(this.m),Z},O.prototype.sub=function(k,V){this._verify2(k,V);var Z=k.sub(V);return Z.cmpn(0)<0&&Z.iadd(this.m),Z._forceRed(this)},O.prototype.isub=function(k,V){this._verify2(k,V);var Z=k.isub(V);return Z.cmpn(0)<0&&Z.iadd(this.m),Z},O.prototype.shl=function(k,V){return this._verify1(k),this.imod(k.ushln(V))},O.prototype.imul=function(k,V){return this._verify2(k,V),this.imod(k.imul(V))},O.prototype.mul=function(k,V){return this._verify2(k,V),this.imod(k.mul(V))},O.prototype.isqr=function(k){return this.imul(k,k.clone())},O.prototype.sqr=function(k){return this.mul(k,k)},O.prototype.sqrt=function(k){if(k.isZero())return k.clone();var V=this.m.andln(3);if(o(V%2===1),V===3){var Z=this.m.add(new u(1)).iushrn(2);return this.pow(k,Z)}for(var ee=this.m.subn(1),Q=0;!ee.isZero()&&ee.andln(1)===0;)Q++,ee.iushrn(1);o(!ee.isZero());var ne=new u(1).toRed(this),fe=ne.redNeg(),$=this.m.subn(1).iushrn(1),Y=this.m.bitLength();for(Y=new u(2*Y*Y).toRed(this);this.pow(Y,$).cmp(fe)!==0;)Y.redIAdd(fe);for(var j=this.pow(Y,ee),X=this.pow(k,ee.addn(1).iushrn(1)),re=this.pow(k,ee),le=Q;re.cmp(ne)!==0;){for(var q=re,te=0;q.cmp(ne)!==0;te++)q=q.redSqr();o(te=0;Q--){for(var j=V.words[Q],X=Y-1;X>=0;X--){var re=j>>X&1;if(ne!==ee[0]&&(ne=this.sqr(ne)),re===0&&fe===0){$=0;continue}fe<<=1,fe|=re,$++,!($!==Z&&(Q!==0||X!==0))&&(ne=this.mul(ne,ee[fe]),$=0,fe=0)}Y=26}return ne},O.prototype.convertTo=function(k){var V=k.umod(this.m);return V===k?V.clone():V},O.prototype.convertFrom=function(k){var V=k.clone();return V.red=null,V},u.mont=function(k){return new H(k)};function H(z){O.call(this,z),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new u(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)}n(H,O),H.prototype.convertTo=function(k){return this.imod(k.ushln(this.shift))},H.prototype.convertFrom=function(k){var V=this.imod(k.mul(this.rinv));return V.red=null,V},H.prototype.imul=function(k,V){if(k.isZero()||V.isZero())return k.words[0]=0,k.length=1,k;var Z=k.imul(V),ee=Z.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Q=Z.isub(ee).iushrn(this.shift),ne=Q;return Q.cmp(this.m)>=0?ne=Q.isub(this.m):Q.cmpn(0)<0&&(ne=Q.iadd(this.m)),ne._forceRed(this)},H.prototype.mul=function(k,V){if(k.isZero()||V.isZero())return new u(0)._forceRed(this);var Z=k.mul(V),ee=Z.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),Q=Z.isub(ee).iushrn(this.shift),ne=Q;return Q.cmp(this.m)>=0?ne=Q.isub(this.m):Q.cmpn(0)<0&&(ne=Q.iadd(this.m)),ne._forceRed(this)},H.prototype.invm=function(k){var V=this.imod(k._invmp(this.m).mul(this.r2));return V._forceRed(this)}}(d,this)},2692:function(d){d.exports=p;function p(t){var r,c,o,n=t.length,u=0;for(r=0;r>>1;if(!(b<=0)){var s,_=r.mallocDouble(2*b*m),A=r.mallocInt32(m);if(m=u(y,b,_,A),m>0){if(b===1&&L)c.init(m),s=c.sweepComplete(b,S,0,m,_,A,0,m,_,A);else{var D=r.mallocDouble(2*b*M),F=r.mallocInt32(M);M=u(T,b,D,F),M>0&&(c.init(m+M),b===1?s=c.sweepBipartite(b,S,0,m,_,A,0,M,D,F):s=o(b,S,L,m,_,A,M,D,F),r.free(D),r.free(F))}r.free(_),r.free(A)}return s}}}var g;function h(y,T){g.push([y,T])}function x(y){return g=[],i(y,y,h,!0),g}function f(y,T){return g=[],i(y,T,h,!1),g}function l(y,T,S){switch(arguments.length){case 1:return x(y);case 2:return typeof T=="function"?i(y,y,T,!0):f(y,T);case 3:return i(y,T,S,!1);default:throw new Error("box-intersect: Invalid arguments")}}},7333:function(d,p){function t(){function o(i,g,h,x,f,l,y,T,S,L,m){for(var M=2*i,b=x,s=M*x;bS-T?o(i,g,h,x,f,l,y,T,S,L,m):n(i,g,h,x,f,l,y,T,S,L,m)}return u}function r(){function o(h,x,f,l,y,T,S,L,m,M,b){for(var s=2*h,_=l,A=s*l;_M-m?l?o(h,x,f,y,T,S,L,m,M,b,s):n(h,x,f,y,T,S,L,m,M,b,s):l?u(h,x,f,y,T,S,L,m,M,b,s):i(h,x,f,y,T,S,L,m,M,b,s)}return g}function c(o){return o?t():r()}p.partial=c(!1),p.full=c(!0)},2337:function(d,p,t){d.exports=z;var r=t(5306),c=t(2288),o=t(7333),n=o.partial,u=o.full,i=t(1390),g=t(2464),h=t(122),x=128,f=1<<22,l=1<<22,y=h("!(lo>=p0)&&!(p1>=hi)"),T=h("lo===p0"),S=h("lo0;){j-=1;var le=j*b,q=A[le],te=A[le+1],ue=A[le+2],ae=A[le+3],de=A[le+4],xe=A[le+5],Se=j*s,Ae=D[Se],Be=D[Se+1],Oe=xe&1,Ee=!!(xe&16),we=Q,Ce=ne,Ge=$,He=Y;if(Oe&&(we=$,Ce=Y,Ge=Q,He=ne),!(xe&2&&(ue=S(k,q,te,ue,we,Ce,Be),te>=ue))&&!(xe&4&&(te=L(k,q,te,ue,we,Ce,Ae),te>=ue))){var De=ue-te,Fe=de-ae;if(Ee){if(k*De*(De+Fe)h&&f[M+g]>L;--m,M-=y){for(var b=M,s=M+y,_=0;_>>1,L=2*i,m=S,M=f[L*S+g];y=D?(m=A,M=D):_>=G?(m=s,M=_):(m=F,M=G):D>=G?(m=A,M=D):G>=_?(m=s,M=_):(m=F,M=G);for(var z=L*(T-1),k=L*m,O=0;O=p0)&&!(p1>=hi)":g};function t(h){return p[h]}function r(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+s];if(D===S)if(b===A)b+=1,M+=L;else{for(var F=0;L>F;++F){var G=y[m+F];y[m+F]=y[M],y[M++]=G}var O=T[A];T[A]=T[b],T[b++]=O}}return b}function c(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+s];if(DF;++F){var G=y[m+F];y[m+F]=y[M],y[M++]=G}var O=T[A];T[A]=T[b],T[b++]=O}}return b}function o(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+_];if(D<=S)if(b===A)b+=1,M+=L;else{for(var F=0;L>F;++F){var G=y[m+F];y[m+F]=y[M],y[M++]=G}var O=T[A];T[A]=T[b],T[b++]=O}}return b}function n(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+_];if(D<=S)if(b===A)b+=1,M+=L;else{for(var F=0;L>F;++F){var G=y[m+F];y[m+F]=y[M],y[M++]=G}var O=T[A];T[A]=T[b],T[b++]=O}}return b}function u(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+s],F=y[m+_];if(D<=S&&S<=F)if(b===A)b+=1,M+=L;else{for(var G=0;L>G;++G){var O=y[m+G];y[m+G]=y[M],y[M++]=O}var H=T[A];T[A]=T[b],T[b++]=H}}return b}function i(h,x,f,l,y,T,S){for(var L=2*h,m=L*f,M=m,b=f,s=x,_=h+x,A=f;l>A;++A,m+=L){var D=y[m+s],F=y[m+_];if(DG;++G){var O=y[m+G];y[m+G]=y[M],y[M++]=O}var H=T[A];T[A]=T[b],T[b++]=H}}return b}function g(h,x,f,l,y,T,S,L){for(var m=2*h,M=m*f,b=M,s=f,_=x,A=h+x,D=f;l>D;++D,M+=m){var F=y[M+_],G=y[M+A];if(!(F>=S)&&!(L>=G))if(s===D)s+=1,b+=m;else{for(var O=0;m>O;++O){var H=y[M+O];y[M+O]=y[b],y[b++]=H}var z=T[D];T[D]=T[s],T[s++]=z}}return s}},309:function(d){d.exports=t;var p=32;function t(x,f){f<=4*p?r(0,f-1,x):h(0,f-1,x)}function r(x,f,l){for(var y=2*(x+1),T=x+1;T<=f;++T){for(var S=l[y++],L=l[y++],m=T,M=y-2;m-- >x;){var b=l[M-2],s=l[M-1];if(bl[f+1]:!0}function g(x,f,l,y){x*=2;var T=y[x];return T>1,m=L-y,M=L+y,b=T,s=m,_=L,A=M,D=S,F=x+1,G=f-1,O=0;i(b,s,l)&&(O=b,b=s,s=O),i(A,D,l)&&(O=A,A=D,D=O),i(b,_,l)&&(O=b,b=_,_=O),i(s,_,l)&&(O=s,s=_,_=O),i(b,A,l)&&(O=b,b=A,A=O),i(_,A,l)&&(O=_,_=A,A=O),i(s,D,l)&&(O=s,s=D,D=O),i(s,_,l)&&(O=s,s=_,_=O),i(A,D,l)&&(O=A,A=D,D=O);for(var H=l[2*s],z=l[2*s+1],k=l[2*A],V=l[2*A+1],Z=2*b,ee=2*_,Q=2*D,ne=2*T,fe=2*L,$=2*S,Y=0;Y<2;++Y){var j=l[Z+Y],X=l[ee+Y],re=l[Q+Y];l[ne+Y]=j,l[fe+Y]=X,l[$+Y]=re}o(m,x,l),o(M,f,l);for(var le=F;le<=G;++le)if(g(le,H,z,l))le!==F&&c(le,F,l),++F;else if(!g(le,k,V,l))for(;;)if(g(G,k,V,l)){g(G,H,z,l)?(n(le,F,G,l),++F,--G):(c(le,G,l),--G);break}else{if(--G>>1;o(y,X);for(var re=0,le=0,fe=0;fe=n)q=q-n|0,S(h,x,le--,q);else if(q>=0)S(i,g,re--,q);else if(q<=-n){q=-q-n|0;for(var te=0;te>>1;o(y,X);for(var re=0,le=0,q=0,fe=0;fe>1===y[2*fe+3]>>1&&(ue=2,fe+=1),te<0){for(var ae=-(te>>1)-1,de=0;de>1)-1;ue===0?S(i,g,re--,ae):ue===1?S(h,x,le--,ae):ue===2&&S(f,l,q--,ae)}}}function b(_,A,D,F,G,O,H,z,k,V,Z,ee){var Q=0,ne=2*_,fe=A,$=A+_,Y=1,j=1;F?j=n:Y=n;for(var X=G;X>>1;o(y,te);for(var ue=0,X=0;X=n?(de=!F,re-=n):(de=!!F,re-=1),de)L(i,g,ue++,re);else{var xe=ee[re],Se=ne*re,Ae=Z[Se+A+1],Be=Z[Se+A+1+_];e:for(var Oe=0;Oe>>1;o(y,re);for(var le=0,$=0;$=n)i[le++]=Y-n;else{Y-=1;var te=Z[Y],ue=Q*Y,ae=V[ue+A+1],de=V[ue+A+1+_];e:for(var xe=0;xe=0;--xe)if(i[xe]===Y){for(var Oe=xe+1;Oe0;){for(var y=i.pop(),x=i.pop(),T=-1,S=-1,f=h[x],m=1;m=0||(u.flip(x,y),c(n,u,i,T,x,S),c(n,u,i,x,S,T),c(n,u,i,S,y,T),c(n,u,i,y,T,S))}}},7098:function(d,p,t){var r=t(5070);d.exports=g;function c(h,x,f,l,y,T,S){this.cells=h,this.neighbor=x,this.flags=l,this.constraint=f,this.active=y,this.next=T,this.boundary=S}var o=c.prototype;function n(h,x){return h[0]-x[0]||h[1]-x[1]||h[2]-x[2]}o.locate=function(){var h=[0,0,0];return function(x,f,l){var y=x,T=f,S=l;return f0||S.length>0;){for(;T.length>0;){var s=T.pop();if(L[s]!==-y){L[s]=y,m[s];for(var _=0;_<3;++_){var A=b[3*s+_];A>=0&&L[A]===0&&(M[3*s+_]?S.push(A):(T.push(A),L[A]=y))}}}var D=S;S=T,T=D,S.length=0,y=-y}var F=i(m,L,x);return f?F.concat(l.boundary):F}},9971:function(d,p,t){var r=t(5070),c=t(417)[3],o=0,n=1,u=2;d.exports=S;function i(L,m,M,b,s){this.a=L,this.b=m,this.idx=M,this.lowerIds=b,this.upperIds=s}function g(L,m,M,b){this.a=L,this.b=m,this.type=M,this.idx=b}function h(L,m){var M=L.a[0]-m.a[0]||L.a[1]-m.a[1]||L.type-m.type;return M||L.type!==o&&(M=c(L.a,L.b,m.b),M)?M:L.idx-m.idx}function x(L,m){return c(L.a,L.b,m)}function f(L,m,M,b,s){for(var _=r.lt(m,b,x),A=r.gt(m,b,x),D=_;D1&&c(M[G[H-2]],M[G[H-1]],b)>0;)L.push([G[H-1],G[H-2],s]),H-=1;G.length=H,G.push(s);for(var O=F.upperIds,H=O.length;H>1&&c(M[O[H-2]],M[O[H-1]],b)<0;)L.push([O[H-2],O[H-1],s]),H-=1;O.length=H,O.push(s)}}function l(L,m){var M;return L.a[0]F[0]&&s.push(new g(F,D,u,_),new g(D,F,n,_))}s.sort(h);for(var G=s[0].a[0]-(1+Math.abs(s[0].a[0]))*Math.pow(2,-52),O=[new i([G,1],[G,0],-1,[],[])],H=[],_=0,z=s.length;_=0}}(),o.removeTriangle=function(i,g,h){var x=this.stars;n(x[i],g,h),n(x[g],h,i),n(x[h],i,g)},o.addTriangle=function(i,g,h){var x=this.stars;x[i].push(g,h),x[g].push(h,i),x[h].push(i,g)},o.opposite=function(i,g){for(var h=this.stars[g],x=1,f=h.length;x=0;--k){var j=H[k];V=j[0];var X=G[V],re=X[0],le=X[1],q=F[re],te=F[le];if((q[0]-te[0]||q[1]-te[1])<0){var ue=re;re=le,le=ue}X[0]=re;var ae=X[1]=j[1],de;for(z&&(de=X[2]);k>0&&H[k-1][0]===V;){var j=H[--k],xe=j[1];z?G.push([ae,xe,de]):G.push([ae,xe]),ae=xe}z?G.push([ae,le,de]):G.push([ae,le])}return Z}function m(F,G,O){for(var H=G.length,z=new r(H),k=[],V=0;VG[2]?1:0)}function s(F,G,O){if(F.length!==0){if(G)for(var H=0;H0||V.length>0}function D(F,G,O){var H;if(O){H=G;for(var z=new Array(G.length),k=0;kL+1)throw new Error(T+" map requires nshades to be at least size "+y.length);Array.isArray(g.alpha)?g.alpha.length!==2?m=[1,1]:m=g.alpha.slice():typeof g.alpha=="number"?m=[g.alpha,g.alpha]:m=[1,1],h=y.map(function(D){return Math.round(D.index*L)}),m[0]=Math.min(Math.max(m[0],0),1),m[1]=Math.min(Math.max(m[1],0),1);var b=y.map(function(D,F){var G=y[F].index,O=y[F].rgb.slice();return O.length===4&&O[3]>=0&&O[3]<=1||(O[3]=m[0]+(m[1]-m[0])*G),O}),s=[];for(M=0;M=0}function g(h,x,f,l){var y=r(x,f,l);if(y===0){var T=c(r(h,x,f)),S=c(r(h,x,l));if(T===S){if(T===0){var L=i(h,x,f),m=i(h,x,l);return L===m?0:L?1:-1}return 0}else{if(S===0)return T>0||i(h,x,l)?-1:1;if(T===0)return S>0||i(h,x,f)?1:-1}return c(S-T)}var M=r(h,x,f);if(M>0)return y>0&&r(h,x,l)>0?1:-1;if(M<0)return y>0||r(h,x,l)>0?1:-1;var b=r(h,x,l);return b>0||i(h,x,f)?1:-1}},7538:function(d){d.exports=function(t){return t<0?-1:t>0?1:0}},9209:function(d){d.exports=r;var p=Math.min;function t(c,o){return c-o}function r(c,o){var n=c.length,u=c.length-o.length;if(u)return u;switch(n){case 0:return 0;case 1:return c[0]-o[0];case 2:return c[0]+c[1]-o[0]-o[1]||p(c[0],c[1])-p(o[0],o[1]);case 3:var i=c[0]+c[1],g=o[0]+o[1];if(u=i+c[2]-(g+o[2]),u)return u;var h=p(c[0],c[1]),x=p(o[0],o[1]);return p(h,c[2])-p(x,o[2])||p(h+c[2],i)-p(x+o[2],g);case 4:var f=c[0],l=c[1],y=c[2],T=c[3],S=o[0],L=o[1],m=o[2],M=o[3];return f+l+y+T-(S+L+m+M)||p(f,l,y,T)-p(S,L,m,M,S)||p(f+l,f+y,f+T,l+y,l+T,y+T)-p(S+L,S+m,S+M,L+m,L+M,m+M)||p(f+l+y,f+l+T,f+y+T,l+y+T)-p(S+L+m,S+L+M,S+m+M,L+m+M);default:for(var b=c.slice().sort(t),s=o.slice().sort(t),_=0;_t[c][0]&&(c=o);return rc?[[c],[r]]:[[r]]}},8722:function(d,p,t){d.exports=c;var r=t(3266);function c(o){var n=r(o),u=n.length;if(u<=2)return[];for(var i=new Array(u),g=n[u-1],h=0;h=g[S]&&(T+=1);l[y]=T}}return i}function u(i,g){try{return r(i,!0)}catch{var h=c(i);if(h.length<=g)return[];var x=o(i,h),f=r(x,!0);return n(f,h)}}},9680:function(d){function p(r,c,o,n,u,i){var g=6*u*u-6*u,h=3*u*u-4*u+1,x=-6*u*u+6*u,f=3*u*u-2*u;if(r.length){i||(i=new Array(r.length));for(var l=r.length-1;l>=0;--l)i[l]=g*r[l]+h*c[l]+x*o[l]+f*n[l];return i}return g*r+h*c+x*o[l]+f*n}function t(r,c,o,n,u,i){var g=u-1,h=u*u,x=g*g,f=(1+2*u)*x,l=u*x,y=h*(3-2*u),T=h*g;if(r.length){i||(i=new Array(r.length));for(var S=r.length-1;S>=0;--S)i[S]=f*r[S]+l*c[S]+y*o[S]+T*n[S];return i}return f*r+l*c+y*o+T*n}d.exports=t,d.exports.derivative=p},4419:function(d,p,t){var r=t(2183),c=t(1215);d.exports=i;function o(g,h){this.point=g,this.index=h}function n(g,h){for(var x=g.point,f=h.point,l=x.length,y=0;y=2)return!1;O[z]=k}return!0}):G=G.filter(function(O){for(var H=0;H<=f;++H){var z=_[O[H]];if(z<0)return!1;O[H]=z}return!0}),f&1)for(var T=0;T>>31},d.exports.exponent=function(y){var T=d.exports.hi(y);return(T<<1>>>21)-1023},d.exports.fraction=function(y){var T=d.exports.lo(y),S=d.exports.hi(y),L=S&(1<<20)-1;return S&2146435072&&(L+=1048576),[T,L]},d.exports.denormalized=function(y){var T=d.exports.hi(y);return!(T&2146435072)}},3094:function(d){function p(c,o,n){var u=c[n]|0;if(u<=0)return[];var i=new Array(u),g;if(n===c.length-1)for(g=0;g"u"&&(o=0),typeof c){case"number":if(c>0)return t(c|0,o);break;case"object":if(typeof c.length=="number")return p(c,o,0);break}return[]}d.exports=r},8348:function(d,p,t){d.exports=c;var r=t(1215);function c(o,n){var u=o.length;if(typeof n!="number"){n=0;for(var i=0;i=f-1)for(var M=T.length-1,s=h-x[f-1],b=0;b=f-1){var m=T.length-1;h-x[f-1];for(var M=0;M=0;--f)if(h[--x])return!1;return!0},u.jump=function(h){var x=this.lastT(),f=this.dimension;if(!(h0;--b)l.push(o(L[b-1],m[b-1],arguments[b])),y.push(0)}},u.push=function(h){var x=this.lastT(),f=this.dimension;if(!(h1e-6?1/S:0;this._time.push(h);for(var s=f;s>0;--s){var _=o(m[s-1],M[s-1],arguments[s]);l.push(_),y.push((_-l[T++])*b)}}},u.set=function(h){var x=this.dimension;if(!(h0;--L)f.push(o(T[L-1],S[L-1],arguments[L])),l.push(0)}},u.move=function(h){var x=this.lastT(),f=this.dimension;if(!(h<=x||arguments.length!==f+1)){var l=this._state,y=this._velocity,T=l.length-this.dimension,S=this.bounds,L=S[0],m=S[1],M=h-x,b=M>1e-6?1/M:0;this._time.push(h);for(var s=f;s>0;--s){var _=arguments[s];l.push(o(L[s-1],m[s-1],l[T++]+_)),y.push(_*b)}}},u.idle=function(h){var x=this.lastT();if(!(h=0;--b)l.push(o(L[b],m[b],l[T]+M*y[T])),y.push(0),T+=1}};function i(h){for(var x=new Array(h),f=0;f=0;--F){var s=_[F];A[F]<=0?_[F]=new r(s._color,s.key,s.value,_[F+1],s.right,s._count+1):_[F]=new r(s._color,s.key,s.value,s.left,_[F+1],s._count+1)}for(var F=_.length-1;F>1;--F){var G=_[F-1],s=_[F];if(G._color===t||s._color===t)break;var O=_[F-2];if(O.left===G)if(G.left===s){var H=O.right;if(H&&H._color===p)G._color=t,O.right=o(t,H),O._color=p,F-=1;else{if(O._color=p,O.left=G.right,G._color=t,G.right=O,_[F-2]=G,_[F-1]=s,n(O),n(G),F>=3){var z=_[F-3];z.left===O?z.left=G:z.right=G}break}}else{var H=O.right;if(H&&H._color===p)G._color=t,O.right=o(t,H),O._color=p,F-=1;else{if(G.right=s.left,O._color=p,O.left=s.right,s._color=t,s.left=G,s.right=O,_[F-2]=s,_[F-1]=G,n(O),n(G),n(s),F>=3){var z=_[F-3];z.left===O?z.left=s:z.right=s}break}}else if(G.right===s){var H=O.left;if(H&&H._color===p)G._color=t,O.left=o(t,H),O._color=p,F-=1;else{if(O._color=p,O.right=G.left,G._color=t,G.left=O,_[F-2]=G,_[F-1]=s,n(O),n(G),F>=3){var z=_[F-3];z.right===O?z.right=G:z.left=G}break}}else{var H=O.left;if(H&&H._color===p)G._color=t,O.left=o(t,H),O._color=p,F-=1;else{if(G.left=s.right,O._color=p,O.right=s.left,s._color=t,s.right=G,s.left=O,_[F-2]=s,_[F-1]=G,n(O),n(G),n(s),F>=3){var z=_[F-3];z.right===O?z.right=s:z.left=s}break}}}return _[0]._color=t,new u(b,_[0])};function g(m,M){if(M.left){var b=g(m,M.left);if(b)return b}var b=m(M.key,M.value);if(b)return b;if(M.right)return g(m,M.right)}function h(m,M,b,s){var _=M(m,s.key);if(_<=0){if(s.left){var A=h(m,M,b,s.left);if(A)return A}var A=b(s.key,s.value);if(A)return A}if(s.right)return h(m,M,b,s.right)}function x(m,M,b,s,_){var A=b(m,_.key),D=b(M,_.key),F;if(A<=0&&(_.left&&(F=x(m,M,b,s,_.left),F)||D>0&&(F=s(_.key,_.value),F)))return F;if(D>0&&_.right)return x(m,M,b,s,_.right)}i.forEach=function(M,b,s){if(this.root)switch(arguments.length){case 1:return g(M,this.root);case 2:return h(b,this._compare,M,this.root);case 3:return this._compare(b,s)>=0?void 0:x(b,s,this._compare,M,this.root)}},Object.defineProperty(i,"begin",{get:function(){for(var m=[],M=this.root;M;)m.push(M),M=M.left;return new f(this,m)}}),Object.defineProperty(i,"end",{get:function(){for(var m=[],M=this.root;M;)m.push(M),M=M.right;return new f(this,m)}}),i.at=function(m){if(m<0)return new f(this,[]);for(var M=this.root,b=[];;){if(b.push(M),M.left){if(m=M.right._count)break;M=M.right}else break}return new f(this,[])},i.ge=function(m){for(var M=this._compare,b=this.root,s=[],_=0;b;){var A=M(m,b.key);s.push(b),A<=0&&(_=s.length),A<=0?b=b.left:b=b.right}return s.length=_,new f(this,s)},i.gt=function(m){for(var M=this._compare,b=this.root,s=[],_=0;b;){var A=M(m,b.key);s.push(b),A<0&&(_=s.length),A<0?b=b.left:b=b.right}return s.length=_,new f(this,s)},i.lt=function(m){for(var M=this._compare,b=this.root,s=[],_=0;b;){var A=M(m,b.key);s.push(b),A>0&&(_=s.length),A<=0?b=b.left:b=b.right}return s.length=_,new f(this,s)},i.le=function(m){for(var M=this._compare,b=this.root,s=[],_=0;b;){var A=M(m,b.key);s.push(b),A>=0&&(_=s.length),A<0?b=b.left:b=b.right}return s.length=_,new f(this,s)},i.find=function(m){for(var M=this._compare,b=this.root,s=[];b;){var _=M(m,b.key);if(s.push(b),_===0)return new f(this,s);_<=0?b=b.left:b=b.right}return new f(this,[])},i.remove=function(m){var M=this.find(m);return M?M.remove():this},i.get=function(m){for(var M=this._compare,b=this.root;b;){var s=M(m,b.key);if(s===0)return b.value;s<=0?b=b.left:b=b.right}};function f(m,M){this.tree=m,this._stack=M}var l=f.prototype;Object.defineProperty(l,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(l,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),l.clone=function(){return new f(this.tree,this._stack.slice())};function y(m,M){m.key=M.key,m.value=M.value,m.left=M.left,m.right=M.right,m._color=M._color,m._count=M._count}function T(m){for(var M,b,s,_,A=m.length-1;A>=0;--A){if(M=m[A],A===0){M._color=t;return}if(b=m[A-1],b.left===M){if(s=b.right,s.right&&s.right._color===p){if(s=b.right=c(s),_=s.right=c(s.right),b.right=s.left,s.left=b,s.right=_,s._color=b._color,M._color=t,b._color=t,_._color=t,n(b),n(s),A>1){var D=m[A-2];D.left===b?D.left=s:D.right=s}m[A-1]=s;return}else if(s.left&&s.left._color===p){if(s=b.right=c(s),_=s.left=c(s.left),b.right=_.left,s.left=_.right,_.left=b,_.right=s,_._color=b._color,b._color=t,s._color=t,M._color=t,n(b),n(s),n(_),A>1){var D=m[A-2];D.left===b?D.left=_:D.right=_}m[A-1]=_;return}if(s._color===t)if(b._color===p){b._color=t,b.right=o(p,s);return}else{b.right=o(p,s);continue}else{if(s=c(s),b.right=s.left,s.left=b,s._color=b._color,b._color=p,n(b),n(s),A>1){var D=m[A-2];D.left===b?D.left=s:D.right=s}m[A-1]=s,m[A]=b,A+11){var D=m[A-2];D.right===b?D.right=s:D.left=s}m[A-1]=s;return}else if(s.right&&s.right._color===p){if(s=b.left=c(s),_=s.right=c(s.right),b.left=_.right,s.right=_.left,_.right=b,_.left=s,_._color=b._color,b._color=t,s._color=t,M._color=t,n(b),n(s),n(_),A>1){var D=m[A-2];D.right===b?D.right=_:D.left=_}m[A-1]=_;return}if(s._color===t)if(b._color===p){b._color=t,b.left=o(p,s);return}else{b.left=o(p,s);continue}else{if(s=c(s),b.left=s.right,s.right=b,s._color=b._color,b._color=p,n(b),n(s),A>1){var D=m[A-2];D.right===b?D.right=s:D.left=s}m[A-1]=s,m[A]=b,A+1=0;--s){var b=m[s];b.left===m[s+1]?M[s]=new r(b._color,b.key,b.value,M[s+1],b.right,b._count):M[s]=new r(b._color,b.key,b.value,b.left,M[s+1],b._count)}if(b=M[M.length-1],b.left&&b.right){var _=M.length;for(b=b.left;b.right;)M.push(b),b=b.right;var A=M[_-1];M.push(new r(b._color,A.key,A.value,b.left,b.right,b._count)),M[_-1].key=b.key,M[_-1].value=b.value;for(var s=M.length-2;s>=_;--s)b=M[s],M[s]=new r(b._color,b.key,b.value,b.left,M[s+1],b._count);M[_-1].left=M[_]}if(b=M[M.length-1],b._color===p){var D=M[M.length-2];D.left===b?D.left=null:D.right===b&&(D.right=null),M.pop();for(var s=0;s0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(l,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(l,"index",{get:function(){var m=0,M=this._stack;if(M.length===0){var b=this.tree.root;return b?b._count:0}else M[M.length-1].left&&(m=M[M.length-1].left._count);for(var s=M.length-2;s>=0;--s)M[s+1]===M[s].right&&(++m,M[s].left&&(m+=M[s].left._count));return m},enumerable:!0}),l.next=function(){var m=this._stack;if(m.length!==0){var M=m[m.length-1];if(M.right)for(M=M.right;M;)m.push(M),M=M.left;else for(m.pop();m.length>0&&m[m.length-1].right===M;)M=m[m.length-1],m.pop()}},Object.defineProperty(l,"hasNext",{get:function(){var m=this._stack;if(m.length===0)return!1;if(m[m.length-1].right)return!0;for(var M=m.length-1;M>0;--M)if(m[M-1].left===m[M])return!0;return!1}}),l.update=function(m){var M=this._stack;if(M.length===0)throw new Error("Can't update empty node!");var b=new Array(M.length),s=M[M.length-1];b[b.length-1]=new r(s._color,s.key,m,s.left,s.right,s._count);for(var _=M.length-2;_>=0;--_)s=M[_],s.left===M[_+1]?b[_]=new r(s._color,s.key,s.value,b[_+1],s.right,s._count):b[_]=new r(s._color,s.key,s.value,s.left,b[_+1],s._count);return new u(this.tree._compare,b[0])},l.prev=function(){var m=this._stack;if(m.length!==0){var M=m[m.length-1];if(M.left)for(M=M.left;M;)m.push(M),M=M.right;else for(m.pop();m.length>0&&m[m.length-1].left===M;)M=m[m.length-1],m.pop()}},Object.defineProperty(l,"hasPrev",{get:function(){var m=this._stack;if(m.length===0)return!1;if(m[m.length-1].left)return!0;for(var M=m.length-1;M>0;--M)if(m[M-1].right===m[M])return!0;return!1}});function S(m,M){return mM?1:0}function L(m){return new u(m||S,null)}},7453:function(d,p,t){d.exports=s;var r=t(9557),c=t(1681),o=t(1011),n=t(2864),u=t(8468),i=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function g(_,A){return _[0]=A[0],_[1]=A[1],_[2]=A[2],_}function h(_){this.gl=_,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.tickAlign=["auto","auto","auto"],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.labelAlign=["auto","auto","auto"],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=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=o(_)}var x=h.prototype;x.update=function(_){_=_||{};function A(ne,fe,$){if($ in _){var Y=_[$],j=this[$],X;(ne?Array.isArray(Y)&&Array.isArray(Y[0]):Array.isArray(Y))?this[$]=X=[fe(Y[0]),fe(Y[1]),fe(Y[2])]:this[$]=X=[fe(Y),fe(Y),fe(Y)];for(var re=0;re<3;++re)if(X[re]!==j[re])return!0}return!1}var D=A.bind(this,!1,Number),F=A.bind(this,!1,Boolean),G=A.bind(this,!1,String),O=A.bind(this,!0,function(ne){if(Array.isArray(ne)){if(ne.length===3)return[+ne[0],+ne[1],+ne[2],1];if(ne.length===4)return[+ne[0],+ne[1],+ne[2],+ne[3]]}return[0,0,0,1]}),H,z=!1,k=!1;if("bounds"in _)for(var V=_.bounds,Z=0;Z<2;++Z)for(var ee=0;ee<3;++ee)V[Z][ee]!==this.bounds[Z][ee]&&(k=!0),this.bounds[Z][ee]=V[Z][ee];if("ticks"in _){H=_.ticks,z=!0,this.autoTicks=!1;for(var Z=0;Z<3;++Z)this.tickSpacing[Z]=0}else D("tickSpacing")&&(this.autoTicks=!0,k=!0);if(this._firstInit&&("ticks"in _||"tickSpacing"in _||(this.autoTicks=!0),k=!0,z=!0,this._firstInit=!1),k&&this.autoTicks&&(H=u.create(this.bounds,this.tickSpacing),z=!0),z){for(var Z=0;Z<3;++Z)H[Z].sort(function(fe,$){return fe.x-$.x});u.equal(H,this.ticks)?z=!1:this.ticks=H}F("tickEnable"),G("tickFont")&&(z=!0),D("tickSize"),D("tickAngle"),D("tickPad"),O("tickColor");var Q=G("labels");G("labelFont")&&(Q=!0),F("labelEnable"),D("labelSize"),D("labelPad"),O("labelColor"),F("lineEnable"),F("lineMirror"),D("lineWidth"),O("lineColor"),F("lineTickEnable"),F("lineTickMirror"),D("lineTickLength"),D("lineTickWidth"),O("lineTickColor"),F("gridEnable"),D("gridWidth"),O("gridColor"),F("zeroEnable"),O("zeroLineColor"),D("zeroLineWidth"),F("backgroundEnable"),O("backgroundColor"),this._text?this._text&&(Q||z)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=r(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&z&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=c(this.gl,this.bounds,this.ticks))};function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var l=[new f,new f,new f];function y(_,A,D,F,G){for(var O=_.primalOffset,H=_.primalMinor,z=_.mirrorOffset,k=_.mirrorMinor,V=F[A],Z=0;Z<3;++Z)if(A!==Z){var ee=O,Q=z,ne=H,fe=k;V&1<0?(ne[Z]=-1,fe[Z]=0):(ne[Z]=0,fe[Z]=1)}}var T=[0,0,0],S={model:i,view:i,projection:i,_ortho:!1};x.isOpaque=function(){return!0},x.isTransparent=function(){return!1},x.drawTransparent=function(_){};var L=0,m=[0,0,0],M=[0,0,0],b=[0,0,0];x.draw=function(_){_=_||S;for(var j=this.gl,A=_.model||i,D=_.view||i,F=_.projection||i,G=this.bounds,O=_._ortho||!1,H=n(A,D,F,G,O),z=H.cubeEdges,k=H.axis,V=D[12],Z=D[13],ee=D[14],Q=D[15],ne=O?2:1,fe=ne*this.pixelRatio*(F[3]*V+F[7]*Z+F[11]*ee+F[15]*Q)/j.drawingBufferHeight,$=0;$<3;++$)this.lastCubeProps.cubeEdges[$]=z[$],this.lastCubeProps.axis[$]=k[$];for(var Y=l,$=0;$<3;++$)y(l[$],$,this.bounds,z,k);for(var j=this.gl,X=T,$=0;$<3;++$)this.backgroundEnable[$]?X[$]=k[$]:X[$]=0;this._background.draw(A,D,F,G,X,this.backgroundColor),this._lines.bind(A,D,F,this);for(var $=0;$<3;++$){var re=[0,0,0];k[$]>0?re[$]=G[1][$]:re[$]=G[0][$];for(var le=0;le<2;++le){var q=($+1+le)%3,te=($+1+(le^1))%3;this.gridEnable[q]&&this._lines.drawGrid(q,te,this.bounds,re,this.gridColor[q],this.gridWidth[q]*this.pixelRatio)}for(var le=0;le<2;++le){var q=($+1+le)%3,te=($+1+(le^1))%3;this.zeroEnable[te]&&Math.min(G[0][te],G[1][te])<=0&&Math.max(G[0][te],G[1][te])>=0&&this._lines.drawZero(q,te,this.bounds,re,this.zeroLineColor[te],this.zeroLineWidth[te]*this.pixelRatio)}}for(var $=0;$<3;++$){this.lineEnable[$]&&this._lines.drawAxisLine($,this.bounds,Y[$].primalOffset,this.lineColor[$],this.lineWidth[$]*this.pixelRatio),this.lineMirror[$]&&this._lines.drawAxisLine($,this.bounds,Y[$].mirrorOffset,this.lineColor[$],this.lineWidth[$]*this.pixelRatio);for(var ue=g(m,Y[$].primalMinor),ae=g(M,Y[$].mirrorMinor),de=this.lineTickLength,le=0;le<3;++le){var xe=fe/A[5*le];ue[le]*=de[le]*xe,ae[le]*=de[le]*xe}this.lineTickEnable[$]&&this._lines.drawAxisTicks($,Y[$].primalOffset,ue,this.lineTickColor[$],this.lineTickWidth[$]*this.pixelRatio),this.lineTickMirror[$]&&this._lines.drawAxisTicks($,Y[$].mirrorOffset,ae,this.lineTickColor[$],this.lineTickWidth[$]*this.pixelRatio)}this._lines.unbind(),this._text.bind(A,D,F,this.pixelRatio);var Se,Ae=.5,Be,Oe;function Ee(Fe){Oe=[0,0,0],Oe[Fe]=1}function we(Fe,qe,Qe){var Je=(Fe+1)%3,tt=(Fe+2)%3,ht=qe[Je],gt=qe[tt],yt=Qe[Je],Et=Qe[tt];if(ht>0&&Et>0){Ee(Je);return}else if(ht>0&&Et<0){Ee(Je);return}else if(ht<0&&Et>0){Ee(Je);return}else if(ht<0&&Et<0){Ee(Je);return}else if(gt>0&&yt>0){Ee(tt);return}else if(gt>0&&yt<0){Ee(tt);return}else if(gt<0&&yt>0){Ee(tt);return}else if(gt<0&&yt<0){Ee(tt);return}}for(var $=0;$<3;++$){for(var Ce=Y[$].primalMinor,Ge=Y[$].mirrorMinor,He=g(b,Y[$].primalOffset),le=0;le<3;++le)this.lineTickEnable[$]&&(He[le]+=fe*Ce[le]*Math.max(this.lineTickLength[le],0)/A[5*le]);var De=[0,0,0];if(De[$]=1,this.tickEnable[$]){this.tickAngle[$]===-3600?(this.tickAngle[$]=0,this.tickAlign[$]="auto"):this.tickAlign[$]=-1,Be=1,Se=[this.tickAlign[$],Ae,Be],Se[0]==="auto"?Se[0]=L:Se[0]=parseInt(""+Se[0]),Oe=[0,0,0],we($,Ce,Ge);for(var le=0;le<3;++le)He[le]+=fe*Ce[le]*this.tickPad[le]/A[5*le];this._text.drawTicks($,this.tickSize[$],this.tickAngle[$],He,this.tickColor[$],De,Oe,Se)}if(this.labelEnable[$]){Be=0,Oe=[0,0,0],this.labels[$].length>4&&(Ee($),Be=1),Se=[this.labelAlign[$],Ae,Be],Se[0]==="auto"?Se[0]=L:Se[0]=parseInt(""+Se[0]);for(var le=0;le<3;++le)He[le]+=fe*Ce[le]*this.labelPad[le]/A[5*le];He[$]+=.5*(G[0][$]+G[1][$]),this._text.drawLabel($,this.labelSize[$],this.labelAngle[$],He,this.labelColor[$],[0,0,0],Oe,Se)}}this._text.unbind()},x.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function s(_,A){var D=new h(_);return D.update(A),D}},1011:function(d,p,t){d.exports=i;var r=t(5827),c=t(2944),o=t(1943).bg;function n(g,h,x,f){this.gl=g,this.buffer=h,this.vao=x,this.shader=f}var u=n.prototype;u.draw=function(g,h,x,f,l,y){for(var T=!1,S=0;S<3;++S)T=T||l[S];if(T){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:g,view:h,projection:x,bounds:f,enable:l,colors:y},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},u.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function i(g){for(var h=[],x=[],f=0,l=0;l<3;++l)for(var y=(l+1)%3,T=(l+2)%3,S=[0,0,0],L=[0,0,0],m=-1;m<=1;m+=2){x.push(f,f+2,f+1,f+1,f+2,f+3),S[l]=m,L[l]=m;for(var M=-1;M<=1;M+=2){S[y]=M;for(var b=-1;b<=1;b+=2)S[T]=b,h.push(S[0],S[1],S[2],L[0],L[1],L[2]),f+=1}var s=y;y=T,T=s}var _=r(g,new Float32Array(h)),A=r(g,new Uint16Array(x),g.ELEMENT_ARRAY_BUFFER),D=c(g,[{buffer:_,type:g.FLOAT,size:3,offset:0,stride:24},{buffer:_,type:g.FLOAT,size:3,offset:12,stride:24}],A),F=o(g);return F.attributes.position.location=0,F.attributes.normal.location=1,new n(g,_,D,F)}},2864:function(d,p,t){d.exports=m;var r=t(2288),c=t(104),o=t(4670),n=t(417),u=new Array(16),i=new Array(8),g=new Array(8),h=new Array(3),x=[0,0,0];(function(){for(var M=0;M<8;++M)i[M]=[1,1,1,1],g[M]=[1,1,1]})();function f(M,b,s){for(var _=0;_<4;++_){M[_]=s[12+_];for(var A=0;A<3;++A)M[_]+=b[A]*s[4*A+_]}}var l=[[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 y(M){for(var b=0;bQ&&(H|=1<Q){H|=1<g[F][1])&&(le=F);for(var q=-1,F=0;F<3;++F){var te=le^1<g[ue][0]&&(ue=te)}}var ae=T;ae[0]=ae[1]=ae[2]=0,ae[r.log2(q^le)]=le&q,ae[r.log2(le^ue)]=le&ue;var de=ue^7;de===H||de===re?(de=q^7,ae[r.log2(ue^de)]=de&ue):ae[r.log2(q^de)]=de&q;for(var xe=S,Se=H,V=0;V<3;++V)Se&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ? + b - PI : + b; +} + +float look_horizontal_or_vertical(float a, float ratio) { + // ratio controls the ratio between being horizontal to (vertical + horizontal) + // if ratio is set to 0.5 then it is 50%, 50%. + // when using a higher ratio e.g. 0.75 the result would + // likely be more horizontal than vertical. + + float b = positive_angle(a); + + return + (b < ( ratio) * HALF_PI) ? 0.0 : + (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI : + (b < (2.0 + ratio) * HALF_PI) ? 0.0 : + (b < (4.0 - ratio) * HALF_PI) ? HALF_PI : + 0.0; +} + +float roundTo(float a, float b) { + return float(b * floor((a + 0.5 * b) / b)); +} + +float look_round_n_directions(float a, int n) { + float b = positive_angle(a); + float div = TWO_PI / float(n); + float c = roundTo(b, div); + return look_upwards(c); +} + +float applyAlignOption(float rawAngle, float delta) { + return + (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions + (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical + (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis + (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards + (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal + rawAngle; // otherwise return back raw input angle +} + +bool isAxisTitle = (axis.x == 0.0) && + (axis.y == 0.0) && + (axis.z == 0.0); + +void main() { + //Compute world offset + float axisDistance = position.z; + vec3 dataPosition = axisDistance * axis + offset; + + float beta = angle; // i.e. user defined attributes for each tick + + float axisAngle; + float clipAngle; + float flip; + + if (enableAlign) { + axisAngle = (isAxisTitle) ? HALF_PI : + computeViewAngle(dataPosition, dataPosition + axis); + clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir); + + axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0; + clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0; + + flip = (dot(vec2(cos(axisAngle), sin(axisAngle)), + vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0; + + beta += applyAlignOption(clipAngle, flip * PI); + } + + //Compute plane offset + vec2 planeCoord = position.xy * pixelScale; + + mat2 planeXform = scale * mat2( + cos(beta), sin(beta), + -sin(beta), cos(beta) + ); + + vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution; + + //Compute clip position + vec3 clipPosition = project(dataPosition); + + //Apply text offset in clip coordinates + clipPosition += vec3(viewOffset, 0.0); + + //Done + gl_Position = vec4(clipPosition, 1.0); +}`]),i=r([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 color; +void main() { + gl_FragColor = color; +}`]);p.f=function(x){return c(x,u,i,null,[{name:"position",type:"vec3"}])};var g=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec3 normal; + +uniform mat4 model, view, projection; +uniform vec3 enable; +uniform vec3 bounds[2]; + +varying vec3 colorChannel; + +void main() { + + vec3 signAxis = sign(bounds[1] - bounds[0]); + + vec3 realNormal = signAxis * normal; + + if(dot(realNormal, enable) > 0.0) { + vec3 minRange = min(bounds[0], bounds[1]); + vec3 maxRange = max(bounds[0], bounds[1]); + vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0)); + gl_Position = projection * view * model * vec4(nPosition, 1.0); + } else { + gl_Position = vec4(0,0,0,0); + } + + colorChannel = abs(realNormal); +}`]),h=r([`precision highp float; +#define GLSLIFY 1 + +uniform vec4 colors[3]; + +varying vec3 colorChannel; + +void main() { + gl_FragColor = colorChannel.x * colors[0] + + colorChannel.y * colors[1] + + colorChannel.z * colors[2]; +}`]);p.bg=function(x){return c(x,g,h,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(d,p,t){d.exports=y;var r=t(5827),c=t(2944),o=t(875),n=t(1943).f,u=window||v.global||{},i=u.__TEXT_CACHE||{};u.__TEXT_CACHE={};var g=3;function h(T,S,L,m){this.gl=T,this.shader=S,this.buffer=L,this.vao=m,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=h.prototype,f=[0,0];x.bind=function(T,S,L,m){this.vao.bind(),this.shader.bind();var M=this.shader.uniforms;M.model=T,M.view=S,M.projection=L,M.pixelScale=m,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},x.unbind=function(){this.vao.unbind()},x.update=function(T,S,L,m,M){var b=[];function s(k,V,Z,ee,Q,ne){var fe=i[Z];fe||(fe=i[Z]={});var $=fe[V];$||($=fe[V]=l(V,{triangles:!0,font:Z,textAlign:"center",textBaseline:"middle",lineSpacing:Q,styletags:ne}));for(var Y=(ee||12)/12,j=$.positions,X=$.cells,re=0,le=X.length;re=0;--te){var ue=j[q[te]];b.push(Y*ue[0],-Y*ue[1],k)}}for(var _=[0,0,0],A=[0,0,0],D=[0,0,0],F=[0,0,0],G=1.25,O={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},H=0;H<3;++H){D[H]=b.length/g|0,s(.5*(T[0][H]+T[1][H]),S[H],L[H],12,G,O),F[H]=(b.length/g|0)-D[H],_[H]=b.length/g|0;for(var z=0;z=0&&(g=u.length-i-1);var h=Math.pow(10,g),x=Math.round(o*n*h),f=x+"";if(f.indexOf("e")>=0)return f;var l=x/h,y=x%h;x<0?(l=-Math.ceil(l)|0,y=-y|0):(l=Math.floor(l)|0,y=y|0);var T=""+l;if(x<0&&(T="-"+T),g){for(var S=""+y;S.length=o[0][i];--h)g.push({x:h*n[i],text:t(n[i],h)});u.push(g)}return u}function c(o,n){for(var u=0;u<3;++u){if(o[u].length!==n[u].length)return!1;for(var i=0;iT)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return l.bufferSubData(y,m,L),T}function h(l,y){for(var T=r.malloc(l.length,y),S=l.length,L=0;L=0;--S){if(y[S]!==T)return!1;T*=l[S]}return!0}i.update=function(l,y){if(typeof y!="number"&&(y=-1),this.bind(),typeof l=="object"&&typeof l.shape<"u"){var T=l.dtype;if(n.indexOf(T)<0&&(T="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var S=gl.getExtension("OES_element_index_uint");S&&T!=="uint16"?T="uint32":T="uint16"}if(T===l.dtype&&x(l.shape,l.stride))l.offset===0&&l.data.length===l.shape[0]?this.length=g(this.gl,this.type,this.length,this.usage,l.data,y):this.length=g(this.gl,this.type,this.length,this.usage,l.data.subarray(l.offset,l.shape[0]),y);else{var L=r.malloc(l.size,T),m=o(L,l.shape);c.assign(m,l),y<0?this.length=g(this.gl,this.type,this.length,this.usage,L,y):this.length=g(this.gl,this.type,this.length,this.usage,L.subarray(0,l.size),y),r.free(L)}}else if(Array.isArray(l)){var M;this.type===this.gl.ELEMENT_ARRAY_BUFFER?M=h(l,"uint16"):M=h(l,"float32"),y<0?this.length=g(this.gl,this.type,this.length,this.usage,M,y):this.length=g(this.gl,this.type,this.length,this.usage,M.subarray(0,l.length),y),r.free(M)}else if(typeof l=="object"&&typeof l.length=="number")this.length=g(this.gl,this.type,this.length,this.usage,l,y);else if(typeof l=="number"||l===void 0){if(y>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");l=l|0,l<=0&&(l=1),this.gl.bufferData(this.type,l|0,this.usage),this.length=l}else throw new Error("gl-buffer: Invalid data type")};function f(l,y,T,S){if(T=T||l.ARRAY_BUFFER,S=S||l.DYNAMIC_DRAW,T!==l.ARRAY_BUFFER&&T!==l.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(S!==l.DYNAMIC_DRAW&&S!==l.STATIC_DRAW&&S!==l.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 L=l.createBuffer(),m=new u(l,T,L,0,S);return m.update(y),m}d.exports=f},1140:function(d,p,t){var r=t(2858);d.exports=function(o,n){var u=o.positions,i=o.vectors,g={positions:[],vertexIntensity:[],vertexIntensityBounds:o.vertexIntensityBounds,vectors:[],cells:[],coneOffset:o.coneOffset,colormap:o.colormap};if(o.positions.length===0)return n&&(n[0]=[0,0,0],n[1]=[0,0,0]),g;for(var h=0,x=1/0,f=-1/0,l=1/0,y=-1/0,T=1/0,S=-1/0,L=null,m=null,M=[],b=1/0,s=!1,_=0;_h&&(h=r.length(D)),_){var F=2*r.distance(L,A)/(r.length(m)+r.length(D));F?(b=Math.min(b,F),s=!1):s=!0}s||(L=A,m=D),M.push(D)}var G=[x,l,T],O=[f,y,S];n&&(n[0]=G,n[1]=O),h===0&&(h=1);var H=1/h;isFinite(b)||(b=1),g.vectorScale=b;var z=o.coneSize||.5;o.absoluteConeSize&&(z=o.absoluteConeSize*H),g.coneScale=z;for(var _=0,k=0;_=1},l.isTransparent=function(){return this.opacity<1},l.pickSlots=1,l.setPickBase=function(M){this.pickId=M};function y(M){for(var b=h({colormap:M,nshades:256,format:"rgba"}),s=new Uint8Array(256*4),_=0;_<256;++_){for(var A=b[_],D=0;D<3;++D)s[4*_+D]=A[D];s[4*_+3]=A[3]*255}return g(s,[256,256,4],[4,0,1])}function T(M){for(var b=M.length,s=new Array(b),_=0;_0){var V=this.triShader;V.bind(),V.uniforms=G,this.triangleVAO.bind(),b.drawArrays(b.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},l.drawPick=function(M){M=M||{};for(var b=this.gl,s=M.model||x,_=M.view||x,A=M.projection||x,D=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],F=0;F<3;++F)D[0][F]=Math.max(D[0][F],this.clipBounds[0][F]),D[1][F]=Math.min(D[1][F],this.clipBounds[1][F]);this._model=[].slice.call(s),this._view=[].slice.call(_),this._projection=[].slice.call(A),this._resolution=[b.drawingBufferWidth,b.drawingBufferHeight];var G={model:s,view:_,projection:A,clipBounds:D,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},O=this.pickShader;O.bind(),O.uniforms=G,this.triangleCount>0&&(this.triangleVAO.bind(),b.drawArrays(b.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},l.pick=function(M){if(!M||M.id!==this.pickId)return null;var b=M.value[0]+256*M.value[1]+65536*M.value[2],s=this.cells[b],_=this.positions[s[1]].slice(0,3),A={position:_,dataCoordinate:_,index:Math.floor(s[1]/48)};return this.traceType==="cone"?A.index=Math.floor(s[1]/48):this.traceType==="streamtube"&&(A.intensity=this.intensity[s[1]],A.velocity=this.vectors[s[1]].slice(0,3),A.divergence=this.vectors[s[1]][3],A.index=b),A},l.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function S(M,b){var s=r(M,b.meshShader.vertex,b.meshShader.fragment,null,b.meshShader.attributes);return s.attributes.position.location=0,s.attributes.color.location=2,s.attributes.uv.location=3,s.attributes.vector.location=4,s}function L(M,b){var s=r(M,b.pickShader.vertex,b.pickShader.fragment,null,b.pickShader.attributes);return s.attributes.position.location=0,s.attributes.id.location=1,s.attributes.vector.location=4,s}function m(M,b,s){var _=s.shaders;arguments.length===1&&(b=M,M=b.gl);var A=S(M,_),D=L(M,_),F=n(M,g(new Uint8Array([255,255,255,255]),[1,1,4]));F.generateMipmap(),F.minFilter=M.LINEAR_MIPMAP_LINEAR,F.magFilter=M.LINEAR;var G=c(M),O=c(M),H=c(M),z=c(M),k=c(M),V=o(M,[{buffer:G,type:M.FLOAT,size:4},{buffer:k,type:M.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:H,type:M.FLOAT,size:4},{buffer:z,type:M.FLOAT,size:2},{buffer:O,type:M.FLOAT,size:4}]),Z=new f(M,F,A,D,G,O,k,H,z,V,s.traceType||"cone");return Z.update(b),Z}d.exports=m},7234:function(d,p,t){var r=t(6832),c=r([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec3 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, coneScale, coneOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * conePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(conePosition, 1.0); + vec4 t_position = view * conePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = conePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),o=r([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),n=r([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the cone vertex and normal at the given index. +// +// The returned vertex is for a cone with its top at origin and height of 1.0, +// pointing in the direction of the vector attribute. +// +// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices. +// These vertices are used to make up the triangles of the cone by the following: +// segment + 0 top vertex +// segment + 1 perimeter vertex a+1 +// segment + 2 perimeter vertex a +// segment + 3 center base vertex +// segment + 4 perimeter vertex a +// segment + 5 perimeter vertex a+1 +// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment. +// To go from index to segment, floor(index / 6) +// To go from segment to angle, 2*pi * (segment/segmentCount) +// To go from index to segment index, index - (segment*6) +// +vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) { + + const float segmentCount = 8.0; + + float index = rawIndex - floor(rawIndex / + (segmentCount * 6.0)) * + (segmentCount * 6.0); + + float segment = floor(0.001 + index/6.0); + float segmentIndex = index - (segment*6.0); + + normal = -normalize(d); + + if (segmentIndex > 2.99 && segmentIndex < 3.01) { + return mix(vec3(0.0), -d, coneOffset); + } + + float nextAngle = ( + (segmentIndex > 0.99 && segmentIndex < 1.01) || + (segmentIndex > 4.99 && segmentIndex < 5.01) + ) ? 1.0 : 0.0; + float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount); + + vec3 v1 = mix(d, vec3(0.0), coneOffset); + vec3 v2 = v1 - d; + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d)*0.25; + vec3 y = v * sin(angle) * length(d)*0.25; + vec3 v3 = v2 + x + y; + if (segmentIndex < 3.0) { + vec3 tx = u * sin(angle); + vec3 ty = v * -cos(angle); + vec3 tangent = tx + ty; + normal = normalize(cross(v3 - v1, tangent)); + } + + if (segmentIndex == 0.0) { + return mix(d, vec3(0.0), coneOffset); + } + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float vectorScale, coneScale, coneOffset; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal); + vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + gl_Position = projection * view * conePosition; + f_id = id; + f_position = position.xyz; +} +`]),u=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);p.meshShader={vertex:c,fragment:o,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},p.pickShader={vertex:n,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(d){d.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",34e3:"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"}},6603:function(d,p,t){var r=t(1950);d.exports=function(o){return r[o]}},3110:function(d,p,t){d.exports=f;var r=t(5827),c=t(2944),o=t(7667),n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(l,y,T,S){this.gl=l,this.shader=S,this.buffer=y,this.vao=T,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,this.hasAlpha=!1}var i=u.prototype;i.isOpaque=function(){return!this.hasAlpha},i.isTransparent=function(){return this.hasAlpha},i.drawTransparent=i.draw=function(l){var y=this.gl,T=this.shader.uniforms;this.shader.bind();var S=T.view=l.view||n,L=T.projection=l.projection||n;T.model=l.model||n,T.clipBounds=this.clipBounds,T.opacity=this.opacity;var m=S[12],M=S[13],b=S[14],s=S[15],_=l._ortho||!1,A=_?2:1,D=A*this.pixelRatio*(L[3]*m+L[7]*M+L[11]*b+L[15]*s)/y.drawingBufferHeight;this.vao.bind();for(var F=0;F<3;++F)y.lineWidth(this.lineWidth[F]*this.pixelRatio),T.capSize=this.capSize[F]*D,this.lineCount[F]&&y.drawArrays(y.LINES,this.lineOffset[F],this.lineCount[F]);this.vao.unbind()};function g(l,y){for(var T=0;T<3;++T)l[0][T]=Math.min(l[0][T],y[T]),l[1][T]=Math.max(l[1][T],y[T])}var h=function(){for(var l=new Array(3),y=0;y<3;++y){for(var T=[],S=1;S<=2;++S)for(var L=-1;L<=1;L+=2){var m=(S+y)%3,M=[0,0,0];M[m]=L,T.push(M)}l[y]=T}return l}();function x(l,y,T,S){for(var L=h[S],m=0;m0){var G=_.slice();G[b]+=D[1][b],L.push(_[0],_[1],_[2],F[0],F[1],F[2],F[3],0,0,0,G[0],G[1],G[2],F[0],F[1],F[2],F[3],0,0,0),g(this.bounds,G),M+=2+x(L,G,F,b)}}}this.lineCount[b]=M-this.lineOffset[b]}this.buffer.update(L)}},i.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function f(l){var y=l.gl,T=r(y),S=c(y,[{buffer:T,type:y.FLOAT,size:3,offset:0,stride:40},{buffer:T,type:y.FLOAT,size:4,offset:12,stride:40},{buffer:T,type:y.FLOAT,size:3,offset:28,stride:40}]),L=o(y);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var m=new u(y,T,S,L);return m.update(l),m}},7667:function(d,p,t){var r=t(6832),c=t(5158),o=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, offset; +attribute vec4 color; +uniform mat4 model, view, projection; +uniform float capSize; +varying vec4 fragColor; +varying vec3 fragPosition; + +void main() { + vec4 worldPosition = model * vec4(position, 1.0); + worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0); + gl_Position = projection * view * worldPosition; + fragColor = color; + fragPosition = position; +}`]),n=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float opacity; +varying vec3 fragPosition; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], fragPosition) || + fragColor.a * opacity == 0. + ) discard; + + gl_FragColor = opacity * fragColor; +}`]);d.exports=function(u){return c(u,o,n,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(d,p,t){var r=t(8931);d.exports=M;var c=null,o,n,u,i;function g(b){var s=b.getParameter(b.FRAMEBUFFER_BINDING),_=b.getParameter(b.RENDERBUFFER_BINDING),A=b.getParameter(b.TEXTURE_BINDING_2D);return[s,_,A]}function h(b,s){b.bindFramebuffer(b.FRAMEBUFFER,s[0]),b.bindRenderbuffer(b.RENDERBUFFER,s[1]),b.bindTexture(b.TEXTURE_2D,s[2])}function x(b,s){var _=b.getParameter(s.MAX_COLOR_ATTACHMENTS_WEBGL);c=new Array(_+1);for(var A=0;A<=_;++A){for(var D=new Array(_),F=0;F1&&O.drawBuffersWEBGL(c[G]);var Z=_.getExtension("WEBGL_depth_texture");Z?H?b.depth=l(_,D,F,Z.UNSIGNED_INT_24_8_WEBGL,_.DEPTH_STENCIL,_.DEPTH_STENCIL_ATTACHMENT):z&&(b.depth=l(_,D,F,_.UNSIGNED_SHORT,_.DEPTH_COMPONENT,_.DEPTH_ATTACHMENT)):z&&H?b._depth_rb=y(_,D,F,_.DEPTH_STENCIL,_.DEPTH_STENCIL_ATTACHMENT):z?b._depth_rb=y(_,D,F,_.DEPTH_COMPONENT16,_.DEPTH_ATTACHMENT):H&&(b._depth_rb=y(_,D,F,_.STENCIL_INDEX,_.STENCIL_ATTACHMENT));var ee=_.checkFramebufferStatus(_.FRAMEBUFFER);if(ee!==_.FRAMEBUFFER_COMPLETE){b._destroyed=!0,_.bindFramebuffer(_.FRAMEBUFFER,null),_.deleteFramebuffer(b.handle),b.handle=null,b.depth&&(b.depth.dispose(),b.depth=null),b._depth_rb&&(_.deleteRenderbuffer(b._depth_rb),b._depth_rb=null);for(var V=0;VD||_<0||_>D)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");b._shape[0]=s,b._shape[1]=_;for(var F=g(A),G=0;GF||_<0||_>F)throw new Error("gl-fbo: Parameters are too large for FBO");A=A||{};var G=1;if("color"in A){if(G=Math.max(A.color|0,0),G<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(G>1)if(D){if(G>b.getParameter(D.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+G+" draw buffers")}else throw new Error("gl-fbo: Multiple draw buffer extension not supported")}var O=b.UNSIGNED_BYTE,H=b.getExtension("OES_texture_float");if(A.float&&G>0){if(!H)throw new Error("gl-fbo: Context does not support floating point textures");O=b.FLOAT}else A.preferFloat&&G>0&&H&&(O=b.FLOAT);var z=!0;"depth"in A&&(z=!!A.depth);var k=!1;return"stencil"in A&&(k=!!A.stencil),new S(b,s,_,O,G,z,k,D)}},3530:function(d,p,t){var r=t(8974).sprintf,c=t(6603),o=t(9365),n=t(8008);d.exports=u;function u(i,g,h){var x=o(g)||"of unknown name (see npm glsl-shader-name)",f="unknown type";h!==void 0&&(f=h===c.FRAGMENT_SHADER?"fragment":"vertex");for(var l=r(`Error compiling %s shader %s: +`,f,x),y=r("%s%s",l,i),T=i.split(` +`),S={},L=0;L>G*8&255;this.pickOffset=T,L.bind();var O=L.uniforms;O.viewTransform=l,O.pickOffset=y,O.shape=this.shape;var H=L.attributes;return this.positionBuffer.bind(),H.position.pointer(),this.weightBuffer.bind(),H.weight.pointer(b.UNSIGNED_BYTE,!1),this.idBuffer.bind(),H.pickId.pointer(b.UNSIGNED_BYTE,!1),b.drawArrays(b.TRIANGLES,0,M),T+this.shape[0]*this.shape[1]}}}(),h.pick=function(l,y,T){var S=this.pickOffset,L=this.shape[0]*this.shape[1];if(T=S+L)return null;var m=T-S,M=this.xData,b=this.yData;return{object:this,pointId:m,dataCoord:[M[m%this.shape[0]],b[m/this.shape[0]|0]]}},h.update=function(l){l=l||{};var y=l.shape||[0,0],T=l.x||c(y[0]),S=l.y||c(y[1]),L=l.z||new Float32Array(y[0]*y[1]),m=l.zsmooth!==!1;this.xData=T,this.yData=S;var M=l.colorLevels||[0],b=l.colorValues||[0,0,0,1],s=M.length,_=this.bounds,A,D,F,G;m?(A=_[0]=T[0],D=_[1]=S[0],F=_[2]=T[T.length-1],G=_[3]=S[S.length-1]):(A=_[0]=T[0]+(T[1]-T[0])/2,D=_[1]=S[0]+(S[1]-S[0])/2,F=_[2]=T[T.length-1]+(T[T.length-1]-T[T.length-2])/2,G=_[3]=S[S.length-1]+(S[S.length-1]-S[S.length-2])/2);var O=1/(F-A),H=1/(G-D),z=y[0],k=y[1];this.shape=[z,k];var V=(m?(z-1)*(k-1):z*k)*(x.length>>>1);this.numVertices=V;for(var Z=o.mallocUint8(V*4),ee=o.mallocFloat32(V*2),Q=o.mallocUint8(V*2),ne=o.mallocUint32(V),fe=0,$=m?z-1:z,Y=m?k-1:k,j=0;j max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D dashTexture; +uniform float dashScale; +uniform float opacity; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if ( + outOfRange(clipBounds[0], clipBounds[1], worldPosition) || + fragColor.a * opacity == 0. + ) discard; + + float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r; + if(dashWeight < 0.5) { + discard; + } + gl_FragColor = fragColor * opacity; +} +`]),u=r([`precision highp float; +#define GLSLIFY 1 + +#define FLOAT_MAX 1.70141184e38 +#define FLOAT_MIN 1.17549435e-38 + +// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl +vec4 packFloat(float v) { + float av = abs(v); + + //Handle special cases + if(av < FLOAT_MIN) { + return vec4(0.0, 0.0, 0.0, 0.0); + } else if(v > FLOAT_MAX) { + return vec4(127.0, 128.0, 0.0, 0.0) / 255.0; + } else if(v < -FLOAT_MAX) { + return vec4(255.0, 128.0, 0.0, 0.0) / 255.0; + } + + vec4 c = vec4(0,0,0,0); + + //Compute exponent and mantissa + float e = floor(log2(av)); + float m = av * pow(2.0, -e) - 1.0; + + //Unpack mantissa + c[1] = floor(128.0 * m); + m -= c[1] / 128.0; + c[2] = floor(32768.0 * m); + m -= c[2] / 32768.0; + c[3] = floor(8388608.0 * m); + + //Unpack exponent + float ebias = e + 127.0; + c[0] = floor(ebias / 2.0); + ebias -= c[0] * 2.0; + c[1] += floor(ebias) * 128.0; + + //Unpack sign bit + c[0] += 128.0 * step(0.0, -v); + + //Scale back to range + return c / 255.0; +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform float pickId; +uniform vec3 clipBounds[2]; + +varying vec3 worldPosition; +varying float pixelArcLength; +varying vec4 fragColor; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard; + + gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz); +}`]),i=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];p.createShader=function(g){return c(g,o,n,null,i)},p.createPickShader=function(g){return c(g,o,u,null,i)}},6086:function(d,p,t){d.exports=b;var r=t(5827),c=t(2944),o=t(8931),n=new Uint8Array(4),u=new Float32Array(n.buffer);function i(s,_,A,D){return n[0]=D,n[1]=A,n[2]=_,n[3]=s,u[0]}var g=t(5070),h=t(5050),x=t(248),f=x.createShader,l=x.createPickShader,y=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(s,_){for(var A=0,D=0;D<3;++D){var F=s[D]-_[D];A+=F*F}return Math.sqrt(A)}function S(s){for(var _=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],A=0;A<3;++A)_[0][A]=Math.max(s[0][A],_[0][A]),_[1][A]=Math.min(s[1][A],_[1][A]);return _}function L(s,_,A,D){this.arcLength=s,this.position=_,this.index=A,this.dataCoordinate=D}function m(s,_,A,D,F,G){this.gl=s,this.shader=_,this.pickShader=A,this.buffer=D,this.vao=F,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=G,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var M=m.prototype;M.isTransparent=function(){return this.hasAlpha},M.isOpaque=function(){return!this.hasAlpha},M.pickSlots=1,M.setPickBase=function(s){this.pickId=s},M.drawTransparent=M.draw=function(s){if(this.vertexCount){var _=this.gl,A=this.shader,D=this.vao;A.bind(),A.uniforms={model:s.model||y,view:s.view||y,projection:s.projection||y,clipBounds:S(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[_.drawingBufferWidth,_.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(_.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},M.drawPick=function(s){if(this.vertexCount){var _=this.gl,A=this.pickShader,D=this.vao;A.bind(),A.uniforms={model:s.model||y,view:s.view||y,projection:s.projection||y,pickId:this.pickId,clipBounds:S(this.clipBounds),screenShape:[_.drawingBufferWidth,_.drawingBufferHeight],pixelRatio:this.pixelRatio},D.bind(),D.draw(_.TRIANGLE_STRIP,this.vertexCount),D.unbind()}},M.update=function(s){var _,A;this.dirty=!0;var D=!!s.connectGaps;"dashScale"in s&&(this.dashScale=s.dashScale),this.hasAlpha=!1,"opacity"in s&&(this.opacity=+s.opacity,this.opacity<1&&(this.hasAlpha=!0));var F=[],G=[],O=[],H=0,z=0,k=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],V=s.position||s.positions;if(V){var Z=s.color||s.colors||[0,0,0,1],ee=s.lineWidth||1,Q=!1;e:for(_=1;_0){for(var $=0;$<24;++$)F.push(F[F.length-12]);z+=2,Q=!0}continue e}k[0][A]=Math.min(k[0][A],ne[A],fe[A]),k[1][A]=Math.max(k[1][A],ne[A],fe[A])}var Y,j;Array.isArray(Z[0])?(Y=Z.length>_-1?Z[_-1]:Z.length>0?Z[Z.length-1]:[0,0,0,1],j=Z.length>_?Z[_]:Z.length>0?Z[Z.length-1]:[0,0,0,1]):Y=j=Z,Y.length===3&&(Y=[Y[0],Y[1],Y[2],1]),j.length===3&&(j=[j[0],j[1],j[2],1]),!this.hasAlpha&&Y[3]<1&&(this.hasAlpha=!0);var X;Array.isArray(ee)?X=ee.length>_-1?ee[_-1]:ee.length>0?ee[ee.length-1]:[0,0,0,1]:X=ee;var re=H;if(H+=T(ne,fe),Q){for(A=0;A<2;++A)F.push(ne[0],ne[1],ne[2],fe[0],fe[1],fe[2],re,X,Y[0],Y[1],Y[2],Y[3]);z+=2,Q=!1}F.push(ne[0],ne[1],ne[2],fe[0],fe[1],fe[2],re,X,Y[0],Y[1],Y[2],Y[3],ne[0],ne[1],ne[2],fe[0],fe[1],fe[2],re,-X,Y[0],Y[1],Y[2],Y[3],fe[0],fe[1],fe[2],ne[0],ne[1],ne[2],H,-X,j[0],j[1],j[2],j[3],fe[0],fe[1],fe[2],ne[0],ne[1],ne[2],H,X,j[0],j[1],j[2],j[3]),z+=4}}if(this.buffer.update(F),G.push(H),O.push(V[V.length-1].slice()),this.bounds=k,this.vertexCount=z,this.points=O,this.arcLength=G,"dashes"in s){var le=s.dashes,q=le.slice();for(q.unshift(0),_=1;_1.0001)return null;A+=_[L]}return Math.abs(A-1)>.001?null:[m,i(h,_),_]}},2056:function(d,p,t){var r=t(6832),c=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position, normal; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model + , view + , projection + , inverseModel; +uniform vec3 eyePosition + , lightPosition; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +vec4 project(vec3 p) { + return projection * view * model * vec4(p, 1.0); +} + +void main() { + gl_Position = project(position); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * vec4(position , 1.0); + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + f_color = color; + f_data = position; + f_uv = uv; +} +`]),o=r([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness + , fresnel + , kambient + , kdiffuse + , kspecular; +uniform sampler2D texture; + +varying vec3 f_normal + , f_lightDirection + , f_eyeDirection + , f_data; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (f_color.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], f_data) + ) discard; + + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d + + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * f_color.a; +} +`]),n=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; + +uniform mat4 model, view, projection; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); + f_color = color; + f_data = position; + f_uv = uv; +}`]),u=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec3 f_data; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard; + + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),i=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 uv; +attribute float pointSize; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0); + } else { + gl_Position = projection * view * model * vec4(position, 1.0); + } + gl_PointSize = pointSize; + f_color = color; + f_uv = uv; +}`]),g=r([`precision highp float; +#define GLSLIFY 1 + +uniform sampler2D texture; +uniform float opacity; + +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5); + if(dot(pointR, pointR) > 0.25) { + discard; + } + gl_FragColor = f_color * texture2D(texture, f_uv) * opacity; +}`]),h=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; +attribute vec4 id; + +uniform mat4 model, view, projection; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); + f_id = id; + f_position = position; +}`]),x=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]),f=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute float pointSize; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0.0, 0.0, 0.0, 0.0); + } else { + gl_Position = projection * view * model * vec4(position, 1.0); + gl_PointSize = pointSize; + } + f_id = id; + f_position = position; +}`]),l=r([`precision highp float; +#define GLSLIFY 1 + +attribute vec3 position; + +uniform mat4 model, view, projection; + +void main() { + gl_Position = projection * view * model * vec4(position, 1.0); +}`]),y=r([`precision highp float; +#define GLSLIFY 1 + +uniform vec3 contourColor; + +void main() { + gl_FragColor = vec4(contourColor, 1.0); +} +`]);p.meshShader={vertex:c,fragment:o,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},p.wireShader={vertex:n,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},p.pointShader={vertex:i,fragment:g,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},p.pickShader={vertex:h,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},p.pointPickShader={vertex:f,fragment:x,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},p.contourShader={vertex:l,fragment:y,attributes:[{name:"position",type:"vec3"}]}},8116:function(d,p,t){var r=1e-6,c=1e-6,o=t(5158),n=t(5827),u=t(2944),i=t(8931),g=t(115),h=t(104),x=t(7437),f=t(5050),l=t(9156),y=t(7212),T=t(5306),S=t(2056),L=t(4340),m=S.meshShader,M=S.wireShader,b=S.pointShader,s=S.pickShader,_=S.pointPickShader,A=S.contourShader,D=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function F($,Y,j,X,re,le,q,te,ue,ae,de,xe,Se,Ae,Be,Oe,Ee,we,Ce,Ge,He,De,Fe,qe,Qe,Je,tt){this.gl=$,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=Y,this.dirty=!0,this.triShader=j,this.lineShader=X,this.pointShader=re,this.pickShader=le,this.pointPickShader=q,this.contourShader=te,this.trianglePositions=ue,this.triangleColors=de,this.triangleNormals=Se,this.triangleUVs=xe,this.triangleIds=ae,this.triangleVAO=Ae,this.triangleCount=0,this.lineWidth=1,this.edgePositions=Be,this.edgeColors=Ee,this.edgeUVs=we,this.edgeIds=Oe,this.edgeVAO=Ce,this.edgeCount=0,this.pointPositions=Ge,this.pointColors=De,this.pointUVs=Fe,this.pointSizes=qe,this.pointIds=He,this.pointVAO=Qe,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Je,this.contourVAO=tt,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!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.hasAlpha=!1,this.opacityscale=!1,this._model=D,this._view=D,this._projection=D,this._resolution=[1,1]}var G=F.prototype;G.isOpaque=function(){return!this.hasAlpha},G.isTransparent=function(){return this.hasAlpha},G.pickSlots=1,G.setPickBase=function($){this.pickId=$};function O($,Y){if(!Y||!Y.length)return 1;for(var j=0;j$&&j>0){var X=(Y[j][0]-$)/(Y[j][0]-Y[j-1][0]);return Y[j][1]*(1-X)+X*Y[j-1][1]}}return 1}function H($,Y){for(var j=l({colormap:$,nshades:256,format:"rgba"}),X=new Uint8Array(256*4),re=0;re<256;++re){for(var le=j[re],q=0;q<3;++q)X[4*re+q]=le[q];Y?X[4*re+3]=255*O(re/255,Y):X[4*re+3]=255*le[3]}return f(X,[256,256,4],[4,0,1])}function z($){for(var Y=$.length,j=new Array(Y),X=0;X0){var Se=this.triShader;Se.bind(),Se.uniforms=te,this.triangleVAO.bind(),Y.drawArrays(Y.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var Se=this.lineShader;Se.bind(),Se.uniforms=te,this.edgeVAO.bind(),Y.lineWidth(this.lineWidth*this.pixelRatio),Y.drawArrays(Y.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var Se=this.pointShader;Se.bind(),Se.uniforms=te,this.pointVAO.bind(),Y.drawArrays(Y.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var Se=this.contourShader;Se.bind(),Se.uniforms=te,this.contourVAO.bind(),Y.drawArrays(Y.LINES,0,this.contourCount),this.contourVAO.unbind()}},G.drawPick=function($){$=$||{};for(var Y=this.gl,j=$.model||D,X=$.view||D,re=$.projection||D,le=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)le[0][q]=Math.max(le[0][q],this.clipBounds[0][q]),le[1][q]=Math.min(le[1][q],this.clipBounds[1][q]);this._model=[].slice.call(j),this._view=[].slice.call(X),this._projection=[].slice.call(re),this._resolution=[Y.drawingBufferWidth,Y.drawingBufferHeight];var te={model:j,view:X,projection:re,clipBounds:le,pickId:this.pickId/255},ue=this.pickShader;if(ue.bind(),ue.uniforms=te,this.triangleCount>0&&(this.triangleVAO.bind(),Y.drawArrays(Y.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),Y.lineWidth(this.lineWidth*this.pixelRatio),Y.drawArrays(Y.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var ue=this.pointPickShader;ue.bind(),ue.uniforms=te,this.pointVAO.bind(),Y.drawArrays(Y.POINTS,0,this.pointCount),this.pointVAO.unbind()}},G.pick=function($){if(!$||$.id!==this.pickId)return null;for(var Y=$.value[0]+256*$.value[1]+65536*$.value[2],j=this.cells[Y],X=this.positions,re=new Array(j.length),le=0;lem[Q]&&(S.uniforms.dataAxis=x,S.uniforms.screenOffset=f,S.uniforms.color=G[y],S.uniforms.angle=O[y],M.drawArrays(M.TRIANGLES,m[Q],m[ne]-m[Q]))),H[y]&&ee&&(f[y^1]-=fe*A*z[y],S.uniforms.dataAxis=l,S.uniforms.screenOffset=f,S.uniforms.color=k[y],S.uniforms.angle=V[y],M.drawArrays(M.TRIANGLES,Z,ee)),f[y^1]=fe*b[2+(y^1)]-1,D[y+2]&&(f[y^1]+=fe*A*F[y+2],Qm[Q]&&(S.uniforms.dataAxis=x,S.uniforms.screenOffset=f,S.uniforms.color=G[y+2],S.uniforms.angle=O[y+2],M.drawArrays(M.TRIANGLES,m[Q],m[ne]-m[Q]))),H[y+2]&&ee&&(f[y^1]+=fe*A*z[y+2],S.uniforms.dataAxis=l,S.uniforms.screenOffset=f,S.uniforms.color=k[y+2],S.uniforms.angle=V[y+2],M.drawArrays(M.TRIANGLES,Z,ee))}}(),g.drawTitle=function(){var x=[0,0],f=[0,0];return function(){var l=this.plot,y=this.shader,T=l.gl,S=l.screenBox,L=l.titleCenter,m=l.titleAngle,M=l.titleColor,b=l.pixelRatio;if(this.titleCount){for(var s=0;s<2;++s)f[s]=2*(L[s]*b-S[s])/(S[2+s]-S[s])-1;y.bind(),y.uniforms.dataAxis=x,y.uniforms.screenOffset=f,y.uniforms.angle=m,y.uniforms.color=M,T.drawArrays(T.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=function(){var x=[0,0],f=[0,0],l=[0,0];return function(){var y=this.plot,T=this.shader,S=y._tickBounds,L=y.dataBox,m=y.screenBox,M=y.viewBox;T.bind();for(var b=0;b<2;++b){var s=S[b],_=S[b+2],A=_-s,D=.5*(L[b+2]+L[b]),F=L[b+2]-L[b],G=M[b],O=M[b+2],H=O-G,z=m[b],k=m[b+2],V=k-z;f[b]=2*A/F*H/V,x[b]=2*(s-D)/F*H/V}l[1]=2*y.pixelRatio/(m[3]-m[1]),l[0]=l[1]*(m[3]-m[1])/(m[2]-m[0]),T.uniforms.dataScale=f,T.uniforms.dataShift=x,T.uniforms.textScale=l,this.vbo.bind(),T.attributes.textCoordinate.pointer()}}(),g.update=function(x){var f=[],l=x.ticks,y=x.bounds,T,S,L,m,M;for(M=0;M<2;++M){var b=[Math.floor(f.length/3)],s=[-1/0],_=l[M];for(T=0;T<_.length;++T){var A=_[T],D=A.x,F=A.text,G=A.font||"sans-serif";m=A.fontSize||12;for(var O=1/(y[M+2]-y[M]),H=y[M],z=F.split(` +`),k=0;k=0))){var H=y[O]-S[O]*(y[O+2]-y[O])/(S[O+2]-S[O]);O===0?M.drawLine(H,y[1],H,y[3],G[O],F[O]):M.drawLine(y[0],H,y[2],H,G[O],F[O])}}for(var O=0;O=0;--l)this.objects[l].dispose();this.objects.length=0;for(var l=this.overlays.length-1;l>=0;--l)this.overlays[l].dispose();this.overlays.length=0,this.gl=null},g.addObject=function(l){this.objects.indexOf(l)<0&&(this.objects.push(l),this.setDirty())},g.removeObject=function(l){for(var y=this.objects,T=0;TMath.abs(s))l.rotate(D,0,0,-b*_*Math.PI*m.rotateSpeed/window.innerWidth);else if(!m._ortho){var F=-m.zoomSpeed*A*s/window.innerHeight*(D-l.lastT())/20;l.pan(D,0,0,T*(Math.exp(F)-1))}}},!0)},m.enableMouseListeners(),m}},8245:function(d,p,t){var r=t(6832),c=t(5158),o=r([`precision mediump float; +#define GLSLIFY 1 +attribute vec2 position; +varying vec2 uv; +void main() { + uv = position; + gl_Position = vec4(position, 0, 1); +}`]),n=r([`precision mediump float; +#define GLSLIFY 1 + +uniform sampler2D accumBuffer; +varying vec2 uv; + +void main() { + vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0)); + gl_FragColor = min(vec4(1,1,1,1), accum); +}`]);d.exports=function(u){return c(u,o,n,null,[{name:"position",type:"vec2"}])}},1059:function(d,p,t){var r=t(4296),c=t(7453),o=t(2771),n=t(6496),u=t(2611),i=t(4234),g=t(8126),h=t(6145),x=t(1120),f=t(5268),l=t(8245),y=t(2321)({tablet:!0,featureDetect:!0});d.exports={createScene:M,createCamera:r};function T(){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}function S(s,_){var A=null;try{A=s.getContext("webgl",_),A||(A=s.getContext("experimental-webgl",_))}catch{return null}return A}function L(s){var _=Math.round(Math.log(Math.abs(s))/Math.log(10));if(_<0){var A=Math.round(Math.pow(10,-_));return Math.ceil(s*A)/A}else if(_>0){var A=Math.round(Math.pow(10,_));return Math.ceil(s/A)*A}return Math.ceil(s)}function m(s){return typeof s=="boolean"?s:!0}function M(s){s=s||{},s.camera=s.camera||{};var _=s.canvas;if(!_)if(_=document.createElement("canvas"),s.container){var A=s.container;A.appendChild(_)}else document.body.appendChild(_);var D=s.gl;if(D||(s.glOptions&&(y=!!s.glOptions.preserveDrawingBuffer),D=S(_,s.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:y})),!D)throw new Error("webgl not supported");var F=s.bounds||[[-10,-10,-10],[10,10,10]],G=new T,O=i(D,D.drawingBufferWidth,D.drawingBufferHeight,{preferFloat:!y}),H=l(D),z=s.cameraObject&&s.cameraObject._ortho===!0||s.camera.projection&&s.camera.projection.type==="orthographic"||!1,k={eye:s.camera.eye||[2,0,0],center:s.camera.center||[0,0,0],up:s.camera.up||[0,1,0],zoomMin:s.camera.zoomMax||.1,zoomMax:s.camera.zoomMin||100,mode:s.camera.mode||"turntable",_ortho:z},V=s.axes||{},Z=c(D,V);Z.enable=!V.disable;var ee=s.spikes||{},Q=n(D,ee),ne=[],fe=[],$=[],Y=[],j=!0,q=!0,X=new Array(16),re=new Array(16),le={view:null,projection:X,model:re,_ortho:!1},q=!0,te=[D.drawingBufferWidth,D.drawingBufferHeight],ue=s.cameraObject||r(_,k),ae={gl:D,contextLost:!1,pixelRatio:s.pixelRatio||1,canvas:_,selection:G,camera:ue,axes:Z,axesPixels:null,spikes:Q,bounds:F,objects:ne,shape:te,aspect:s.aspectRatio||[1,1,1],pickRadius:s.pickRadius||10,zNear:s.zNear||.01,zFar:s.zFar||1e3,fovy:s.fovy||Math.PI/4,clearColor:s.clearColor||[0,0,0,0],autoResize:m(s.autoResize),autoBounds:m(s.autoBounds),autoScale:!!s.autoScale,autoCenter:m(s.autoCenter),clipToBounds:m(s.clipToBounds),snapToData:!!s.snapToData,onselect:s.onselect||null,onrender:s.onrender||null,onclick:s.onclick||null,cameraParams:le,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Ge){this.aspect[0]=Ge.x,this.aspect[1]=Ge.y,this.aspect[2]=Ge.z,q=!0},setBounds:function(Ge,He){this.bounds[0][Ge]=He.min,this.bounds[1][Ge]=He.max},setClearColor:function(Ge){this.clearColor=Ge},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},de=[D.drawingBufferWidth/ae.pixelRatio|0,D.drawingBufferHeight/ae.pixelRatio|0];function xe(){if(!ae._stopped&&ae.autoResize){var Ge=_.parentNode,He=1,De=1;Ge&&Ge!==document.body?(He=Ge.clientWidth,De=Ge.clientHeight):(He=window.innerWidth,De=window.innerHeight);var Fe=Math.ceil(He*ae.pixelRatio)|0,qe=Math.ceil(De*ae.pixelRatio)|0;if(Fe!==_.width||qe!==_.height){_.width=Fe,_.height=qe;var Qe=_.style;Qe.position=Qe.position||"absolute",Qe.left="0px",Qe.top="0px",Qe.width=He+"px",Qe.height=De+"px",j=!0}}}ae.autoResize&&xe(),window.addEventListener("resize",xe);function Se(){for(var Ge=ne.length,He=Y.length,De=0;De0&&$[He-1]===0;)$.pop(),Y.pop().dispose()}ae.update=function(Ge){ae._stopped||(j=!0,q=!0)},ae.add=function(Ge){ae._stopped||(Ge.axes=Z,ne.push(Ge),fe.push(-1),j=!0,q=!0,Se())},ae.remove=function(Ge){if(!ae._stopped){var He=ne.indexOf(Ge);He<0||(ne.splice(He,1),fe.pop(),j=!0,q=!0,Se())}},ae.dispose=function(){if(!ae._stopped&&(ae._stopped=!0,window.removeEventListener("resize",xe),_.removeEventListener("webglcontextlost",Ae),ae.mouseListener.enabled=!1,!ae.contextLost)){Z.dispose(),Q.dispose();for(var Ge=0;GeG.distance)continue;for(var gt=0;gt 1.0) { + discard; + } + baseColor = mix(borderColor, color, step(radius, centerFraction)); + gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a); + } +} +`]),p.pickVertex=r([`precision mediump float; +#define GLSLIFY 1 + +attribute vec2 position; +attribute vec4 pickId; + +uniform mat3 matrix; +uniform float pointSize; +uniform vec4 pickOffset; + +varying vec4 fragId; + +void main() { + vec3 hgPosition = matrix * vec3(position, 1); + gl_Position = vec4(hgPosition.xy, 0, hgPosition.z); + gl_PointSize = pointSize; + + vec4 id = pickId + pickOffset; + id.y += floor(id.x / 256.0); + id.x -= floor(id.x / 256.0) * 256.0; + + id.z += floor(id.y / 256.0); + id.y -= floor(id.y / 256.0) * 256.0; + + id.w += floor(id.z / 256.0); + id.z -= floor(id.z / 256.0) * 256.0; + + fragId = id; +} +`]),p.pickFragment=r([`precision mediump float; +#define GLSLIFY 1 + +varying vec4 fragId; + +void main() { + float radius = length(2.0 * gl_PointCoord.xy - 1.0); + if(radius > 1.0) { + discard; + } + gl_FragColor = fragId / 255.0; +} +`])},8271:function(d,p,t){var r=t(5158),c=t(5827),o=t(5306),n=t(8023);d.exports=h;function u(x,f,l,y,T){this.plot=x,this.offsetBuffer=f,this.pickBuffer=l,this.shader=y,this.pickShader=T,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}var i=u.prototype;i.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},i.update=function(x){var f;x=x||{};function l(b,s){return b in x?x[b]:s}this.sizeMin=l("sizeMin",.5),this.sizeMax=l("sizeMax",20),this.color=l("color",[1,0,0,1]).slice(),this.areaRatio=l("areaRatio",1),this.borderColor=l("borderColor",[0,0,0,1]).slice(),this.blend=l("blend",!1);var y=x.positions.length>>>1,T=x.positions instanceof Float32Array,S=x.idToIndex instanceof Int32Array&&x.idToIndex.length>=y,L=x.positions,m=T?L:o.mallocFloat32(L.length),M=S?x.idToIndex:o.mallocInt32(y);if(T||m.set(L),!S)for(m.set(L),f=0;f>>1,T;for(T=0;T=f[0]&&S<=f[2]&&L>=f[1]&&L<=f[3]&&l++}return l}i.unifiedDraw=function(){var x=[1,0,0,0,1,0,0,0,1],f=[0,0,0,0];return function(l){var y=l!==void 0,T=y?this.pickShader:this.shader,S=this.plot.gl,L=this.plot.dataBox;if(this.pointCount===0)return l;var m=L[2]-L[0],M=L[3]-L[1],b=g(this.points,L),s=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(b,.33333)));x[0]=2/m,x[4]=2/M,x[6]=-2*L[0]/m-1,x[7]=-2*L[1]/M-1,this.offsetBuffer.bind(),T.bind(),T.attributes.position.pointer(),T.uniforms.matrix=x,T.uniforms.color=this.color,T.uniforms.borderColor=this.borderColor,T.uniforms.pointCloud=s<5,T.uniforms.pointSize=s,T.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),y&&(f[0]=l&255,f[1]=l>>8&255,f[2]=l>>16&255,f[3]=l>>24&255,this.pickBuffer.bind(),T.attributes.pickId.pointer(S.UNSIGNED_BYTE),T.uniforms.pickOffset=f,this.pickOffset=l);var _=S.getParameter(S.BLEND),A=S.getParameter(S.DITHER);return _&&!this.blend&&S.disable(S.BLEND),A&&S.disable(S.DITHER),S.drawArrays(S.POINTS,0,this.pointCount),_&&!this.blend&&S.enable(S.BLEND),A&&S.enable(S.DITHER),l+this.pointCount}}(),i.draw=i.unifiedDraw,i.drawPick=i.unifiedDraw,i.pick=function(x,f,l){var y=this.pickOffset,T=this.pointCount;if(l=y+T)return null;var S=l-y,L=this.points;return{object:this,pointId:S,dataCoord:[L[2*S],L[2*S+1]]}};function h(x,f){var l=x.gl,y=c(l),T=c(l),S=r(l,n.pointVertex,n.pointFragment),L=r(l,n.pickVertex,n.pickFragment),m=new u(x,y,T,S,L);return m.update(f),x.addObject(m),m}},6093:function(d){d.exports=p;function p(t,r,c,o){var n=r[0],u=r[1],i=r[2],g=r[3],h=c[0],x=c[1],f=c[2],l=c[3],y,T,S,L,m;return T=n*h+u*x+i*f+g*l,T<0&&(T=-T,h=-h,x=-x,f=-f,l=-l),1-T>1e-6?(y=Math.acos(T),S=Math.sin(y),L=Math.sin((1-o)*y)/S,m=Math.sin(o*y)/S):(L=1-o,m=o),t[0]=L*n+m*h,t[1]=L*u+m*x,t[2]=L*i+m*f,t[3]=L*g+m*l,t}},8240:function(d){d.exports=function(p){return!p&&p!==0?"":p.toString()}},4123:function(d,p,t){var r=t(875);d.exports=o;var c={};function o(n,u,i){var g=c[u];if(g||(g=c[u]={}),n in g)return g[n];var h={textAlign:"center",textBaseline:"middle",lineHeight:1,font:u,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};h.triangles=!0;var x=r(n,h);h.triangles=!1;var f=r(n,h),l,y;if(i&&i!==1){for(l=0;l max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform vec4 highlightId; +uniform float highlightScale; +uniform mat4 model, view, projection; +uniform vec3 clipBounds[2]; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = 1.0; + if(distance(highlightId, id) < 0.0001) { + scale = highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1); + vec4 viewPosition = view * worldPosition; + viewPosition = viewPosition / viewPosition.w; + vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0)); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),n=c([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float highlightScale, pixelRatio; +uniform vec4 highlightId; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float scale = pixelRatio; + if(distance(highlightId.bgr, id.bgr) < 0.001) { + scale *= highlightScale; + } + + vec4 worldPosition = model * vec4(position, 1.0); + vec4 viewPosition = view * worldPosition; + vec4 clipPosition = projection * viewPosition; + clipPosition /= clipPosition.w; + + gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0); + interpColor = color; + pickId = id; + dataCoordinate = position; + } +}`]),u=c([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +attribute vec3 position; +attribute vec4 color; +attribute vec2 glyph; +attribute vec4 id; + +uniform float highlightScale; +uniform vec4 highlightId; +uniform vec3 axes[2]; +uniform mat4 model, view, projection; +uniform vec2 screenSize; +uniform vec3 clipBounds[2]; +uniform float scale, pixelRatio; + +varying vec4 interpColor; +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], position)) { + + gl_Position = vec4(0,0,0,0); + } else { + float lscale = pixelRatio * scale; + if(distance(highlightId, id) < 0.0001) { + lscale *= highlightScale; + } + + vec4 clipCenter = projection * view * model * vec4(position, 1); + vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y; + vec4 clipPosition = projection * view * model * vec4(dataPosition, 1); + + gl_Position = clipPosition; + interpColor = color; + pickId = id; + dataCoordinate = dataPosition; + } +} +`]),i=c([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float opacity; + +varying vec4 interpColor; +varying vec3 dataCoordinate; + +void main() { + if ( + outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) || + interpColor.a * opacity == 0. + ) discard; + gl_FragColor = interpColor * opacity; +} +`]),g=c([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 fragClipBounds[2]; +uniform float pickGroup; + +varying vec4 pickId; +varying vec3 dataCoordinate; + +void main() { + if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard; + + gl_FragColor = vec4(pickGroup, pickId.bgr); +}`]),h=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],x={vertex:o,fragment:i,attributes:h},f={vertex:n,fragment:i,attributes:h},l={vertex:u,fragment:i,attributes:h},y={vertex:o,fragment:g,attributes:h},T={vertex:n,fragment:g,attributes:h},S={vertex:u,fragment:g,attributes:h};function L(m,M){var b=r(m,M),s=b.attributes;return s.position.location=0,s.color.location=1,s.glyph.location=2,s.id.location=3,b}p.createPerspective=function(m){return L(m,x)},p.createOrtho=function(m){return L(m,f)},p.createProject=function(m){return L(m,l)},p.createPickPerspective=function(m){return L(m,y)},p.createPickOrtho=function(m){return L(m,T)},p.createPickProject=function(m){return L(m,S)}},2182:function(d,p,t){var r=t(3596),c=t(5827),o=t(2944),n=t(5306),u=t(104),i=t(9282),g=t(4123),h=t(8240),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];d.exports=fe;function f($,Y){var j=$[0],X=$[1],re=$[2],le=$[3];return $[0]=Y[0]*j+Y[4]*X+Y[8]*re+Y[12]*le,$[1]=Y[1]*j+Y[5]*X+Y[9]*re+Y[13]*le,$[2]=Y[2]*j+Y[6]*X+Y[10]*re+Y[14]*le,$[3]=Y[3]*j+Y[7]*X+Y[11]*re+Y[15]*le,$}function l($,Y,j,X){return f(X,X),f(X,X),f(X,X)}function y($,Y){this.index=$,this.dataCoordinate=this.position=Y}function T($){return $===!0||$>1?1:$}function S($,Y,j,X,re,le,q,te,ue,ae,de,xe){this.gl=$,this.pixelRatio=1,this.shader=Y,this.orthoShader=j,this.projectShader=X,this.pointBuffer=re,this.colorBuffer=le,this.glyphBuffer=q,this.idBuffer=te,this.vao=ue,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=ae,this.pickOrthoShader=de,this.pickProjectShader=xe,this.points=[],this._selectResult=new y(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}var L=S.prototype;L.pickSlots=1,L.setPickBase=function($){this.pickId=$},L.isTransparent=function(){if(this.hasAlpha)return!0;for(var $=0;$<3;++$)if(this.axesProject[$]&&this.projectHasAlpha)return!0;return!1},L.isOpaque=function(){if(!this.hasAlpha)return!0;for(var $=0;$<3;++$)if(this.axesProject[$]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],M=[0,0,0],b=[0,0,0],s=[0,0,0,1],_=[0,0,0,1],A=x.slice(),D=[0,0,0],F=[[0,0,0],[0,0,0]];function G($){return $[0]=$[1]=$[2]=0,$}function O($,Y){return $[0]=Y[0],$[1]=Y[1],$[2]=Y[2],$[3]=1,$}function H($,Y,j,X){return $[0]=Y[0],$[1]=Y[1],$[2]=Y[2],$[j]=X,$}function z($){for(var Y=F,j=0;j<2;++j)for(var X=0;X<3;++X)Y[j][X]=Math.max(Math.min($[j][X],1e8),-1e8);return Y}function k($,Y,j,X){var re=Y.axesProject,le=Y.gl,q=$.uniforms,te=j.model||x,ue=j.view||x,ae=j.projection||x,de=Y.axesBounds,xe=z(Y.clipBounds),Se;Y.axes&&Y.axes.lastCubeProps?Se=Y.axes.lastCubeProps.axis:Se=[1,1,1],m[0]=2/le.drawingBufferWidth,m[1]=2/le.drawingBufferHeight,$.bind(),q.view=ue,q.projection=ae,q.screenSize=m,q.highlightId=Y.highlightId,q.highlightScale=Y.highlightScale,q.clipBounds=xe,q.pickGroup=Y.pickId/255,q.pixelRatio=X;for(var Ae=0;Ae<3;++Ae)if(re[Ae]){q.scale=Y.projectScale[Ae],q.opacity=Y.projectOpacity[Ae];for(var Be=A,Oe=0;Oe<16;++Oe)Be[Oe]=0;for(var Oe=0;Oe<4;++Oe)Be[5*Oe]=1;Be[5*Ae]=0,Se[Ae]<0?Be[12+Ae]=de[0][Ae]:Be[12+Ae]=de[1][Ae],u(Be,te,Be),q.model=Be;var Ee=(Ae+1)%3,we=(Ae+2)%3,Ce=G(M),Ge=G(b);Ce[Ee]=1,Ge[we]=1;var He=l(ae,ue,te,O(s,Ce)),De=l(ae,ue,te,O(_,Ge));if(Math.abs(He[1])>Math.abs(De[1])){var Fe=He;He=De,De=Fe,Fe=Ce,Ce=Ge,Ge=Fe;var qe=Ee;Ee=we,we=qe}He[0]<0&&(Ce[Ee]=-1),De[1]>0&&(Ge[we]=-1);for(var Qe=0,Je=0,Oe=0;Oe<4;++Oe)Qe+=Math.pow(te[4*Ee+Oe],2),Je+=Math.pow(te[4*we+Oe],2);Ce[Ee]/=Math.sqrt(Qe),Ge[we]/=Math.sqrt(Je),q.axes[0]=Ce,q.axes[1]=Ge,q.fragClipBounds[0]=H(D,xe[0],Ae,-1e8),q.fragClipBounds[1]=H(D,xe[1],Ae,1e8),Y.vao.bind(),Y.vao.draw(le.TRIANGLES,Y.vertexCount),Y.lineWidth>0&&(le.lineWidth(Y.lineWidth*X),Y.vao.draw(le.LINES,Y.lineVertexCount,Y.vertexCount)),Y.vao.unbind()}}var V=[-1e8,-1e8,-1e8],Z=[1e8,1e8,1e8],ee=[V,Z];function Q($,Y,j,X,re,le,q){var te=j.gl;if((le===j.projectHasAlpha||q)&&k(Y,j,X,re),le===j.hasAlpha||q){$.bind();var ue=$.uniforms;ue.model=X.model||x,ue.view=X.view||x,ue.projection=X.projection||x,m[0]=2/te.drawingBufferWidth,m[1]=2/te.drawingBufferHeight,ue.screenSize=m,ue.highlightId=j.highlightId,ue.highlightScale=j.highlightScale,ue.fragClipBounds=ee,ue.clipBounds=j.axes.bounds,ue.opacity=j.opacity,ue.pickGroup=j.pickId/255,ue.pixelRatio=re,j.vao.bind(),j.vao.draw(te.TRIANGLES,j.vertexCount),j.lineWidth>0&&(te.lineWidth(j.lineWidth*re),j.vao.draw(te.LINES,j.lineVertexCount,j.vertexCount)),j.vao.unbind()}}L.draw=function($){var Y=this.useOrtho?this.orthoShader:this.shader;Q(Y,this.projectShader,this,$,this.pixelRatio,!1,!1)},L.drawTransparent=function($){var Y=this.useOrtho?this.orthoShader:this.shader;Q(Y,this.projectShader,this,$,this.pixelRatio,!0,!1)},L.drawPick=function($){var Y=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;Q(Y,this.pickProjectShader,this,$,1,!0,!0)},L.pick=function($){if(!$||$.id!==this.pickId)return null;var Y=$.value[2]+($.value[1]<<8)+($.value[0]<<16);if(Y>=this.pointCount||Y<0)return null;var j=this.points[Y],X=this._selectResult;X.index=Y;for(var re=0;re<3;++re)X.position[re]=X.dataCoordinate[re]=j[re];return X},L.highlight=function($){if(!$)this.highlightId=[1,1,1,1];else{var Y=$.index,j=Y&255,X=Y>>8&255,re=Y>>16&255;this.highlightId=[j/255,X/255,re/255,0]}};function ne($,Y,j,X){var re;Array.isArray($)?Y<$.length?re=$[Y]:re=void 0:re=$,re=h(re);var le=!0;r(re)&&(re="▼",le=!1);var q=g(re,j,X);return{mesh:q[0],lines:q[1],bounds:q[2],visible:le}}L.update=function($){if($=$||{},"perspective"in $&&(this.useOrtho=!$.perspective),"orthographic"in $&&(this.useOrtho=!!$.orthographic),"lineWidth"in $&&(this.lineWidth=$.lineWidth),"project"in $)if(Array.isArray($.project))this.axesProject=$.project;else{var Y=!!$.project;this.axesProject=[Y,Y,Y]}if("projectScale"in $)if(Array.isArray($.projectScale))this.projectScale=$.projectScale.slice();else{var j=+$.projectScale;this.projectScale=[j,j,j]}if(this.projectHasAlpha=!1,"projectOpacity"in $){if(Array.isArray($.projectOpacity))this.projectOpacity=$.projectOpacity.slice();else{var j=+$.projectOpacity;this.projectOpacity=[j,j,j]}for(var X=0;X<3;++X)this.projectOpacity[X]=T(this.projectOpacity[X]),this.projectOpacity[X]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in $&&(this.opacity=T($.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var re=$.position,le=$.font||"normal",q=$.alignment||[0,0],te,ue;if(q.length===2)te=q[0],ue=q[1];else{te=[],ue=[];for(var X=0;X0){var Xe=0,Ue=we,ze=[0,0,0,1],rt=[0,0,0,1],it=Array.isArray(Se)&&Array.isArray(Se[0]),Ze=Array.isArray(Oe)&&Array.isArray(Oe[0]);e:for(var X=0;X0?1-Je[0][0]:st<0?1+Je[1][0]:1,ft*=ft>0?1-Je[0][1]:ft<0?1+Je[1][1]:1;for(var At=[st,ft],qt=qe.cells||[],sr=qe.positions||[],De=0;De0){var G=x*M;T.drawBox(b-G,s-G,_+G,s+G,y),T.drawBox(b-G,A-G,_+G,A+G,y),T.drawBox(b-G,s-G,b+G,A+G,y),T.drawBox(_-G,s-G,_+G,A+G,y)}}}},u.update=function(g){g=g||{},this.innerFill=!!g.innerFill,this.outerFill=!!g.outerFill,this.innerColor=(g.innerColor||[0,0,0,.5]).slice(),this.outerColor=(g.outerColor||[0,0,0,.5]).slice(),this.borderColor=(g.borderColor||[0,0,0,1]).slice(),this.borderWidth=g.borderWidth||0,this.selectBox=(g.selectBox||this.selectBox).slice()},u.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)};function i(g,h){var x=g.gl,f=c(x,[0,0,0,1,1,0,1,1]),l=r(x,o.boxVertex,o.boxFragment),y=new n(g,f,l);return y.update(h),g.addOverlay(y),y}},2611:function(d,p,t){d.exports=x;var r=t(4234),c=t(5306),o=t(5050),n=t(2288).nextPow2,u=function(f,l,y){for(var T=1e8,S=-1,L=-1,m=f.shape[0],M=f.shape[1],b=0;bthis.buffer.length){c.free(this.buffer);for(var T=this.buffer=c.mallocUint8(n(y*l*4)),S=0;ST)for(l=T;ly)for(l=y;l=0){for(var z=H.type.charAt(H.type.length-1)|0,k=new Array(z),V=0;V=0;)Z+=1;G[O]=Z}var ee=new Array(T.length);function Q(){m.program=n.program(M,m._vref,m._fref,F,G);for(var ne=0;ne=0){var s=M.charCodeAt(M.length-1)-48;if(s<2||s>4)throw new r("","Invalid data type for attribute "+m+": "+M);u(h,x,b[0],l,s,y,m)}else if(M.indexOf("mat")>=0){var s=M.charCodeAt(M.length-1)-48;if(s<2||s>4)throw new r("","Invalid data type for attribute "+m+": "+M);i(h,x,b,l,s,y,m)}else throw new r("","Unknown data type for attribute "+m+": "+M);break}}return y}},9016:function(d,p,t){var r=t(3984),c=t(9068);d.exports=u;function o(i){return function(){return i}}function n(i,g){for(var h=new Array(i),x=0;x4)throw new c("","Invalid data type");switch(Z.charAt(0)){case"b":case"i":i["uniform"+ee+"iv"](x[G],O);break;case"v":i["uniform"+ee+"fv"](x[G],O);break;default:throw new c("","Unrecognized data type for vector "+name+": "+Z)}}else if(Z.indexOf("mat")===0&&Z.length===4){if(ee=Z.charCodeAt(Z.length-1)-48,ee<2||ee>4)throw new c("","Invalid uniform dimension type for matrix "+name+": "+Z);i["uniformMatrix"+ee+"fv"](x[G],!1,O);break}else throw new c("","Unknown uniform data type for "+name+": "+Z)}}}}}function y(M,b){if(typeof b!="object")return[[M,b]];var s=[];for(var _ in b){var A=b[_],D=M;parseInt(_)+""===_?D+="["+_+"]":D+="."+_,typeof A=="object"?s.push.apply(s,y(D,A)):s.push([D,A])}return s}function T(M){switch(M){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":return 0;case"float":return 0;default:var b=M.indexOf("vec");if(0<=b&&b<=1&&M.length===4+b){var s=M.charCodeAt(M.length-1)-48;if(s<2||s>4)throw new c("","Invalid data type");return M.charAt(0)==="b"?n(s,!1):n(s,0)}else if(M.indexOf("mat")===0&&M.length===4){var s=M.charCodeAt(M.length-1)-48;if(s<2||s>4)throw new c("","Invalid uniform dimension type for matrix "+name+": "+M);return n(s*s,0)}else throw new c("","Unknown uniform data type for "+name+": "+M)}}function S(M,b,s){if(typeof s=="object"){var _=L(s);Object.defineProperty(M,b,{get:o(_),set:l(s),enumerable:!0,configurable:!1})}else x[s]?Object.defineProperty(M,b,{get:f(s),set:l(s),enumerable:!0,configurable:!1}):M[b]=T(h[s].type)}function L(M){var b;if(Array.isArray(M)){b=new Array(M.length);for(var s=0;s1){h[0]in i||(i[h[0]]=[]),i=i[h[0]];for(var x=1;x1)for(var y=0;y"u"?t(4037):WeakMap,n=new o,u=0;function i(S,L,m,M,b,s,_){this.id=S,this.src=L,this.type=m,this.shader=M,this.count=s,this.programs=[],this.cache=_}i.prototype.dispose=function(){if(--this.count===0){for(var S=this.cache,L=S.gl,m=this.programs,M=0,b=m.length;M 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 color, position; +attribute vec2 uv; + +uniform float vectorScale, tubeScale; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 eyePosition, lightPosition; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + // Scale the vector magnitude to stay constant with + // model & view changes. + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * tubePosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + f_lightDirection = lightPosition - cameraCoordinate.xyz; + f_eyeDirection = eyePosition - cameraCoordinate.xyz; + f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz); + + // vec4 m_position = model * vec4(tubePosition, 1.0); + vec4 t_position = view * tubePosition; + gl_Position = projection * t_position; + + f_color = color; + f_data = tubePosition.xyz; + f_position = position.xyz; + f_uv = uv; +} +`]),o=r([`#extension GL_OES_standard_derivatives : enable + +precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float cookTorranceSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness, + float fresnel) { + + float VdotN = max(dot(viewDirection, surfaceNormal), 0.0); + float LdotN = max(dot(lightDirection, surfaceNormal), 0.0); + + //Half angle vector + vec3 H = normalize(lightDirection + viewDirection); + + //Geometric term + float NdotH = max(dot(surfaceNormal, H), 0.0); + float VdotH = max(dot(viewDirection, H), 0.000001); + float LdotH = max(dot(lightDirection, H), 0.000001); + float G1 = (2.0 * NdotH * VdotN) / VdotH; + float G2 = (2.0 * NdotH * LdotN) / LdotH; + float G = min(1.0, min(G1, G2)); + + //Distribution term + float D = beckmannDistribution(NdotH, roughness); + + //Fresnel term + float F = pow(1.0 - VdotN, fresnel); + + //Multiply terms and done + return G * F * D / max(3.14159265 * VdotN, 0.000001); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform sampler2D texture; + +varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position; +varying vec4 f_color; +varying vec2 f_uv; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + vec3 N = normalize(f_normal); + vec3 L = normalize(f_lightDirection); + vec3 V = normalize(f_eyeDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel))); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + vec4 surfaceColor = f_color * texture2D(texture, f_uv); + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = litColor * opacity; +} +`]),n=r([`precision highp float; + +precision highp float; +#define GLSLIFY 1 + +vec3 getOrthogonalVector(vec3 v) { + // Return up-vector for only-z vector. + // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0). + // From the above if-statement we have ||a|| > 0 U ||b|| > 0. + // Assign z = 0, x = -b, y = a: + // a*-b + b*a + c*0 = -ba + ba + 0 = 0 + if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) { + return normalize(vec3(-v.y, v.x, 0.0)); + } else { + return normalize(vec3(0.0, v.z, -v.y)); + } +} + +// Calculate the tube vertex and normal at the given index. +// +// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d. +// +// Each tube segment is made up of a ring of vertices. +// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array. +// The indexes of tube segments run from 0 to 8. +// +vec3 getTubePosition(vec3 d, float index, out vec3 normal) { + float segmentCount = 8.0; + + float angle = 2.0 * 3.14159 * (index / segmentCount); + + vec3 u = getOrthogonalVector(d); + vec3 v = normalize(cross(u, d)); + + vec3 x = u * cos(angle) * length(d); + vec3 y = v * sin(angle) * length(d); + vec3 v3 = x + y; + + normal = normalize(v3); + + return v3; +} + +attribute vec4 vector; +attribute vec4 position; +attribute vec4 id; + +uniform mat4 model, view, projection; +uniform float tubeScale; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + vec3 normal; + vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal); + vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0); + + gl_Position = projection * view * tubePosition; + f_id = id; + f_position = position.xyz; +} +`]),u=r([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying vec3 f_position; +varying vec4 f_id; + +void main() { + if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard; + + gl_FragColor = vec4(pickId, f_id.xyz); +}`]);p.meshShader={vertex:c,fragment:o,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},p.pickShader={vertex:n,fragment:u,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(d,p,t){var r=t(2858),c=t(4020),o=["xyz","xzy","yxz","yzx","zxy","zyx"],n=function(T,S,L,m){for(var M=T.points,b=T.velocities,s=T.divergences,_=[],A=[],D=[],F=[],G=[],O=[],H=0,z=0,k=c.create(),V=c.create(),Z=8,ee=0;ee0)for(var $=0;$S)return m-1}return m},g=function(T,S,L){return TL?L:T},h=function(T,S,L){var m=S.vectors,M=S.meshgrid,b=T[0],s=T[1],_=T[2],A=M[0].length,D=M[1].length,F=M[2].length,G=i(M[0],b),O=i(M[1],s),H=i(M[2],_),z=G+1,k=O+1,V=H+1;if(G=g(G,0,A-1),z=g(z,0,A-1),O=g(O,0,D-1),k=g(k,0,D-1),H=g(H,0,F-1),V=g(V,0,F-1),G<0||O<0||H<0||z>A-1||k>D-1||V>F-1)return r.create();var Z=M[0][G],ee=M[0][z],Q=M[1][O],ne=M[1][k],fe=M[2][H],$=M[2][V],Y=(b-Z)/(ee-Z),j=(s-Q)/(ne-Q),X=(_-fe)/($-fe);isFinite(Y)||(Y=.5),isFinite(j)||(j=.5),isFinite(X)||(X=.5);var re,le,q,te,ue,ae;switch(L.reversedX&&(G=A-1-G,z=A-1-z),L.reversedY&&(O=D-1-O,k=D-1-k),L.reversedZ&&(H=F-1-H,V=F-1-V),L.filled){case 5:ue=H,ae=V,q=O*F,te=k*F,re=G*F*D,le=z*F*D;break;case 4:ue=H,ae=V,re=G*F,le=z*F,q=O*F*A,te=k*F*A;break;case 3:q=O,te=k,ue=H*D,ae=V*D,re=G*D*F,le=z*D*F;break;case 2:q=O,te=k,re=G*D,le=z*D,ue=H*D*A,ae=V*D*A;break;case 1:re=G,le=z,ue=H*A,ae=V*A,q=O*A*F,te=k*A*F;break;default:re=G,le=z,q=O*A,te=k*A,ue=H*A*D,ae=V*A*D;break}var de=m[re+q+ue],xe=m[re+q+ae],Se=m[re+te+ue],Ae=m[re+te+ae],Be=m[le+q+ue],Oe=m[le+q+ae],Ee=m[le+te+ue],we=m[le+te+ae],Ce=r.create(),Ge=r.create(),He=r.create(),De=r.create();r.lerp(Ce,de,Be,Y),r.lerp(Ge,xe,Oe,Y),r.lerp(He,Se,Ee,Y),r.lerp(De,Ae,we,Y);var Fe=r.create(),qe=r.create();r.lerp(Fe,Ce,He,j),r.lerp(qe,Ge,De,j);var Qe=r.create();return r.lerp(Qe,Fe,qe,X),Qe},x=function(T){var S=1/0;T.sort(function(b,s){return b-s});for(var L=T.length,m=1;mz||wek||CeV)},ee=r.distance(S[0],S[1]),Q=10*ee/m,ne=Q*Q,fe=1,$=0,Y=L.length;Y>1&&(fe=f(L));for(var j=0;j$&&($=de),ue.push(de),F.push({points:re,velocities:le,divergences:ue});for(var xe=0;xene&&r.scale(Se,Se,Q/Math.sqrt(Ae)),r.add(Se,Se,X),q=A(Se),r.squaredDistance(te,Se)-ne>-1e-4*ne){re.push(Se),te=Se,le.push(q);var ae=D(Se,q),de=r.length(ae);isFinite(de)&&de>$&&($=de),ue.push(de)}X=Se}}var Be=u(F,T.colormap,$,fe);return b?Be.tubeScale=b:($===0&&($=1),Be.tubeScale=M*.5*fe/$),Be};var l=t(9578),y=t(1140).createMesh;d.exports.createTubeMesh=function(T,S){return y(T,S,{shaders:l,traceType:"streamtube"})}},9054:function(d,p,t){var r=t(5158),c=t(6832),o=c([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute vec3 f; +attribute vec3 normal; + +uniform vec3 objectOffset; +uniform mat4 model, view, projection, inverseModel; +uniform vec3 lightPosition, eyePosition; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 localCoordinate = vec3(uv.zw, f.x); + worldCoordinate = objectOffset + localCoordinate; + vec4 worldPosition = model * vec4(worldCoordinate, 1.0); + vec4 clipPosition = projection * view * worldPosition; + gl_Position = clipPosition; + kill = f.y; + value = f.z; + planeCoordinate = uv.xy; + + vColor = texture2D(colormap, vec2(value, value)); + + //Lighting geometry parameters + vec4 cameraCoordinate = view * worldPosition; + cameraCoordinate.xyz /= cameraCoordinate.w; + lightDirection = lightPosition - cameraCoordinate.xyz; + eyeDirection = eyePosition - cameraCoordinate.xyz; + surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz); +} +`]),n=c([`precision highp float; +#define GLSLIFY 1 + +float beckmannDistribution(float x, float roughness) { + float NdotH = max(x, 0.0001); + float cos2Alpha = NdotH * NdotH; + float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha; + float roughness2 = roughness * roughness; + float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha; + return exp(tan2Alpha / roughness2) / denom; +} + +float beckmannSpecular( + vec3 lightDirection, + vec3 viewDirection, + vec3 surfaceNormal, + float roughness) { + return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness); +} + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec3 lowerBound, upperBound; +uniform float contourTint; +uniform vec4 contourColor; +uniform sampler2D colormap; +uniform vec3 clipBounds[2]; +uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity; +uniform float vertexColor; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + if ( + kill > 0.0 || + vColor.a == 0.0 || + outOfRange(clipBounds[0], clipBounds[1], worldCoordinate) + ) discard; + + vec3 N = normalize(surfaceNormal); + vec3 V = normalize(eyeDirection); + vec3 L = normalize(lightDirection); + + if(gl_FrontFacing) { + N = -N; + } + + float specular = max(beckmannSpecular(L, V, N, roughness), 0.); + float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0); + + //decide how to interpolate color — in vertex or in fragment + vec4 surfaceColor = + step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + + step(.5, vertexColor) * vColor; + + vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0); + + gl_FragColor = mix(litColor, contourColor, contourTint) * opacity; +} +`]),u=c([`precision highp float; +#define GLSLIFY 1 + +attribute vec4 uv; +attribute float f; + +uniform vec3 objectOffset; +uniform mat3 permutation; +uniform mat4 model, view, projection; +uniform float height, zOffset; +uniform sampler2D colormap; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 lightDirection, eyeDirection, surfaceNormal; +varying vec4 vColor; + +void main() { + vec3 dataCoordinate = permutation * vec3(uv.xy, height); + worldCoordinate = objectOffset + dataCoordinate; + vec4 worldPosition = model * vec4(worldCoordinate, 1.0); + + vec4 clipPosition = projection * view * worldPosition; + clipPosition.z += zOffset; + + gl_Position = clipPosition; + value = f + objectOffset.z; + kill = -1.0; + planeCoordinate = uv.zw; + + vColor = texture2D(colormap, vec2(value, value)); + + //Don't do lighting for contours + surfaceNormal = vec3(1,0,0); + eyeDirection = vec3(0,1,0); + lightDirection = vec3(0,0,1); +} +`]),i=c([`precision highp float; +#define GLSLIFY 1 + +bool outOfRange(float a, float b, float p) { + return ((p > max(a, b)) || + (p < min(a, b))); +} + +bool outOfRange(vec2 a, vec2 b, vec2 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y)); +} + +bool outOfRange(vec3 a, vec3 b, vec3 p) { + return (outOfRange(a.x, b.x, p.x) || + outOfRange(a.y, b.y, p.y) || + outOfRange(a.z, b.z, p.z)); +} + +bool outOfRange(vec4 a, vec4 b, vec4 p) { + return outOfRange(a.xyz, b.xyz, p.xyz); +} + +uniform vec2 shape; +uniform vec3 clipBounds[2]; +uniform float pickId; + +varying float value, kill; +varying vec3 worldCoordinate; +varying vec2 planeCoordinate; +varying vec3 surfaceNormal; + +vec2 splitFloat(float v) { + float vh = 255.0 * v; + float upper = floor(vh); + float lower = fract(vh); + return vec2(upper / 255.0, floor(lower * 16.0) / 16.0); +} + +void main() { + if ((kill > 0.0) || + (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard; + + vec2 ux = splitFloat(planeCoordinate.x / shape.x); + vec2 uy = splitFloat(planeCoordinate.y / shape.y); + gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0)); +} +`]);p.createShader=function(g){var h=r(g,o,n,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return h.attributes.uv.location=0,h.attributes.f.location=1,h.attributes.normal.location=2,h},p.createPickShader=function(g){var h=r(g,o,i,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return h.attributes.uv.location=0,h.attributes.f.location=1,h.attributes.normal.location=2,h},p.createContourShader=function(g){var h=r(g,u,n,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return h.attributes.uv.location=0,h.attributes.f.location=1,h},p.createPickContourShader=function(g){var h=r(g,u,i,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return h.attributes.uv.location=0,h.attributes.f.location=1,h}},3754:function(d,p,t){d.exports=le;var r=t(2288),c=t(5827),o=t(2944),n=t(8931),u=t(5306),i=t(9156),g=t(7498),h=t(7382),x=t(5050),f=t(4162),l=t(104),y=t(7437),T=t(5070),S=t(9144),L=t(9054),m=L.createShader,M=L.createContourShader,b=L.createPickShader,s=L.createPickContourShader,_=4*(4+3+3),A=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],D=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],F=[[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 q=0;q<3;++q){var te=F[q],ue=(q+1)%3,ae=(q+2)%3;te[ue+0]=1,te[ae+3]=1,te[q+6]=1}})();function G(q,te,ue,ae,de){this.position=q,this.index=te,this.uv=ue,this.level=ae,this.dataCoordinate=de}var O=256;function H(q,te,ue,ae,de,xe,Se,Ae,Be,Oe,Ee,we,Ce,Ge,He){this.gl=q,this.shape=te,this.bounds=ue,this.objectOffset=He,this.intensityBounds=[],this._shader=ae,this._pickShader=de,this._coordinateBuffer=xe,this._vao=Se,this._colorMap=Ae,this._contourShader=Be,this._contourPickShader=Oe,this._contourBuffer=Ee,this._contourVAO=we,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new G([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ce,this._dynamicVAO=Ge,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=[x(u.mallocFloat(1024),[0,0]),x(u.mallocFloat(1024),[0,0]),x(u.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.pixelRatio=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 z=H.prototype;z.genColormap=function(q,te){var ue=!1,ae=h([i({colormap:q,nshades:O,format:"rgba"}).map(function(de,xe){var Se=te?k(xe/255,te):de[3];return Se<1&&(ue=!0),[de[0],de[1],de[2],255*Se]})]);return g.divseq(ae,255),this.hasAlphaScale=ue,ae},z.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},z.isOpaque=function(){return!this.isTransparent()},z.pickSlots=1,z.setPickBase=function(q){this.pickId=q};function k(q,te){if(!te||!te.length)return 1;for(var ue=0;ueq&&ue>0){var ae=(te[ue][0]-q)/(te[ue][0]-te[ue-1][0]);return te[ue][1]*(1-ae)+ae*te[ue-1][1]}}return 1}var V=[0,0,0],Z={showSurface:!1,showContour:!1,projections:[A.slice(),A.slice(),A.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function ee(q,te){var ue,ae,de,xe=te.axes&&te.axes.lastCubeProps.axis||V,Se=te.showSurface,Ae=te.showContour;for(ue=0;ue<3;++ue)for(Se=Se||te.surfaceProject[ue],ae=0;ae<3;++ae)Ae=Ae||te.contourProject[ue][ae];for(ue=0;ue<3;++ue){var Be=Z.projections[ue];for(ae=0;ae<16;++ae)Be[ae]=0;for(ae=0;ae<4;++ae)Be[5*ae]=1;Be[5*ue]=0,Be[12+ue]=te.axesBounds[+(xe[ue]>0)][ue],l(Be,q.model,Be);var Oe=Z.clipBounds[ue];for(de=0;de<2;++de)for(ae=0;ae<3;++ae)Oe[de][ae]=q.clipBounds[de][ae];Oe[0][ue]=-1e8,Oe[1][ue]=1e8}return Z.showSurface=Se,Z.showContour=Ae,Z}var Q={model:A,view:A,projection:A,inverseModel:A.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,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},ne=A.slice(),fe=[1,0,0,0,1,0,0,0,1];function $(q,te){q=q||{};var ue=this.gl;ue.disable(ue.CULL_FACE),this._colorMap.bind(0);var ae=Q;ae.model=q.model||A,ae.view=q.view||A,ae.projection=q.projection||A,ae.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ae.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ae.objectOffset=this.objectOffset,ae.contourColor=this.contourColor[0],ae.inverseModel=y(ae.inverseModel,ae.model);for(var de=0;de<2;++de)for(var xe=ae.clipBounds[de],Se=0;Se<3;++Se)xe[Se]=Math.min(Math.max(this.clipBounds[de][Se],-1e8),1e8);ae.kambient=this.ambientLight,ae.kdiffuse=this.diffuseLight,ae.kspecular=this.specularLight,ae.roughness=this.roughness,ae.fresnel=this.fresnel,ae.opacity=this.opacity,ae.height=0,ae.permutation=fe,ae.vertexColor=this.vertexColor;var Ae=ne;for(l(Ae,ae.view,ae.model),l(Ae,ae.projection,Ae),y(Ae,Ae),de=0;de<3;++de)ae.eyePosition[de]=Ae[12+de]/Ae[15];var Be=Ae[15];for(de=0;de<3;++de)Be+=this.lightPosition[de]*Ae[4*de+3];for(de=0;de<3;++de){var Oe=Ae[12+de];for(Se=0;Se<3;++Se)Oe+=Ae[4*Se+de]*this.lightPosition[Se];ae.lightPosition[de]=Oe/Be}var Ee=ee(ae,this);if(Ee.showSurface){for(this._shader.bind(),this._shader.uniforms=ae,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(ue.TRIANGLES,this._vertexCount),de=0;de<3;++de)!this.surfaceProject[de]||!this.vertexCount||(this._shader.uniforms.model=Ee.projections[de],this._shader.uniforms.clipBounds=Ee.clipBounds[de],this._vao.draw(ue.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Ee.showContour){var we=this._contourShader;ae.kambient=1,ae.kdiffuse=0,ae.kspecular=0,ae.opacity=1,we.bind(),we.uniforms=ae;var Ce=this._contourVAO;for(Ce.bind(),de=0;de<3;++de)for(we.uniforms.permutation=F[de],ue.lineWidth(this.contourWidth[de]*this.pixelRatio),Se=0;Se>4)/16)/255,de=Math.floor(ae),xe=ae-de,Se=te[1]*(q.value[1]+(q.value[2]&15)/16)/255,Ae=Math.floor(Se),Be=Se-Ae;de+=1,Ae+=1;var Oe=ue.position;Oe[0]=Oe[1]=Oe[2]=0;for(var Ee=0;Ee<2;++Ee)for(var we=Ee?xe:1-xe,Ce=0;Ce<2;++Ce)for(var Ge=Ce?Be:1-Be,He=de+Ee,De=Ae+Ce,Fe=we*Ge,qe=0;qe<3;++qe)Oe[qe]+=this._field[qe].get(He,De)*Fe;for(var Qe=this._pickResult.level,Je=0;Je<3;++Je)if(Qe[Je]=T.le(this.contourLevels[Je],Oe[Je]),Qe[Je]<0)this.contourLevels[Je].length>0&&(Qe[Je]=0);else if(Qe[Je]Math.abs(ht-Oe[Je])&&(Qe[Je]+=1)}for(ue.index[0]=xe<.5?de:de+1,ue.index[1]=Be<.5?Ae:Ae+1,ue.uv[0]=ae/te[0],ue.uv[1]=Se/te[1],qe=0;qe<3;++qe)ue.dataCoordinate[qe]=this._field[qe].get(ue.index[0],ue.index[1]);return ue},z.padField=function(q,te){var ue=te.shape.slice(),ae=q.shape.slice();g.assign(q.lo(1,1).hi(ue[0],ue[1]),te),g.assign(q.lo(1).hi(ue[0],1),te.hi(ue[0],1)),g.assign(q.lo(1,ae[1]-1).hi(ue[0],1),te.lo(0,ue[1]-1).hi(ue[0],1)),g.assign(q.lo(0,1).hi(1,ue[1]),te.hi(1)),g.assign(q.lo(ae[0]-1,1).hi(1,ue[1]),te.lo(ue[0]-1)),q.set(0,0,te.get(0,0)),q.set(0,ae[1]-1,te.get(0,ue[1]-1)),q.set(ae[0]-1,0,te.get(ue[0]-1,0)),q.set(ae[0]-1,ae[1]-1,te.get(ue[0]-1,ue[1]-1))};function j(q,te){return Array.isArray(q)?[te(q[0]),te(q[1]),te(q[2])]:[te(q),te(q),te(q)]}function X(q){return Array.isArray(q)?q.length===3?[q[0],q[1],q[2],1]:[q[0],q[1],q[2],q[3]]:[0,0,0,1]}function re(q){if(Array.isArray(q)){if(Array.isArray(q))return[X(q[0]),X(q[1]),X(q[2])];var te=X(q);return[te.slice(),te.slice(),te.slice()]}}z.update=function(q){q=q||{},this.objectOffset=q.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in q&&(this.contourWidth=j(q.contourWidth,Number)),"showContour"in q&&(this.showContour=j(q.showContour,Boolean)),"showSurface"in q&&(this.showSurface=!!q.showSurface),"contourTint"in q&&(this.contourTint=j(q.contourTint,Boolean)),"contourColor"in q&&(this.contourColor=re(q.contourColor)),"contourProject"in q&&(this.contourProject=j(q.contourProject,function(kt){return j(kt,Boolean)})),"surfaceProject"in q&&(this.surfaceProject=q.surfaceProject),"dynamicColor"in q&&(this.dynamicColor=re(q.dynamicColor)),"dynamicTint"in q&&(this.dynamicTint=j(q.dynamicTint,Number)),"dynamicWidth"in q&&(this.dynamicWidth=j(q.dynamicWidth,Number)),"opacity"in q&&(this.opacity=q.opacity),"opacityscale"in q&&(this.opacityscale=q.opacityscale),"colorBounds"in q&&(this.colorBounds=q.colorBounds),"vertexColor"in q&&(this.vertexColor=q.vertexColor?1:0),"colormap"in q&&this._colorMap.setPixels(this.genColormap(q.colormap,this.opacityscale));var te=q.field||q.coords&&q.coords[2]||null,ue=!1;if(te||(this._field[2].shape[0]||this._field[2].shape[2]?te=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):te=this._field[2].hi(0,0)),"field"in q||"coords"in q){var ae=(te.shape[0]+2)*(te.shape[1]+2);ae>this._field[2].data.length&&(u.freeFloat(this._field[2].data),this._field[2].data=u.mallocFloat(r.nextPow2(ae))),this._field[2]=x(this._field[2].data,[te.shape[0]+2,te.shape[1]+2]),this.padField(this._field[2],te),this.shape=te.shape.slice();for(var de=this.shape,xe=0;xe<2;++xe)this._field[2].size>this._field[xe].data.length&&(u.freeFloat(this._field[xe].data),this._field[xe].data=u.mallocFloat(this._field[2].size)),this._field[xe]=x(this._field[xe].data,[de[0]+2,de[1]+2]);if(q.coords){var Se=q.coords;if(!Array.isArray(Se)||Se.length!==3)throw new Error("gl-surface: invalid coordinates for x/y");for(xe=0;xe<2;++xe){var Ae=Se[xe];for(Ce=0;Ce<2;++Ce)if(Ae.shape[Ce]!==de[Ce])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[xe],Ae)}}else if(q.ticks){var Be=q.ticks;if(!Array.isArray(Be)||Be.length!==2)throw new Error("gl-surface: invalid ticks");for(xe=0;xe<2;++xe){var Oe=Be[xe];if((Array.isArray(Oe)||Oe.length)&&(Oe=x(Oe)),Oe.shape[0]!==de[xe])throw new Error("gl-surface: invalid tick length");var Ee=x(Oe.data,de);Ee.stride[xe]=Oe.stride[0],Ee.stride[xe^1]=0,this.padField(this._field[xe],Ee)}}else{for(xe=0;xe<2;++xe){var we=[0,0];we[xe]=1,this._field[xe]=x(this._field[xe].data,[de[0]+2,de[1]+2],we,0)}this._field[0].set(0,0,0);for(var Ce=0;Ce0){for(var We=0;We<5;++We)qt.pop();he-=1}continue e}}}Xt.push(he)}this._contourOffsets[sr]=xt,this._contourCounts[sr]=Xt}var It=u.mallocFloat(qt.length);for(xe=0;xeG||D<0||D>G)throw new Error("gl-texture2d: Invalid texture size");return _._shape=[A,D],_.bind(),F.texImage2D(F.TEXTURE_2D,0,_.format,A,D,0,_.format,_.type,null),_._mipLevels=[0],_}function l(_,A,D,F,G,O){this.gl=_,this.handle=A,this.format=G,this.type=O,this._shape=[D,F],this._mipLevels=[0],this._magFilter=_.NEAREST,this._minFilter=_.NEAREST,this._wrapS=_.CLAMP_TO_EDGE,this._wrapT=_.CLAMP_TO_EDGE,this._anisoSamples=1;var H=this,z=[this._wrapS,this._wrapT];Object.defineProperties(z,[{get:function(){return H._wrapS},set:function(V){return H.wrapS=V}},{get:function(){return H._wrapT},set:function(V){return H.wrapT=V}}]),this._wrapVector=z;var k=[this._shape[0],this._shape[1]];Object.defineProperties(k,[{get:function(){return H._shape[0]},set:function(V){return H.width=V}},{get:function(){return H._shape[1]},set:function(V){return H.height=V}}]),this._shapeVector=k}var y=l.prototype;Object.defineProperties(y,{minFilter:{get:function(){return this._minFilter},set:function(_){this.bind();var A=this.gl;if(this.type===A.FLOAT&&n.indexOf(_)>=0&&(A.getExtension("OES_texture_float_linear")||(_=A.NEAREST)),u.indexOf(_)<0)throw new Error("gl-texture2d: Unknown filter mode "+_);return A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,_),this._minFilter=_}},magFilter:{get:function(){return this._magFilter},set:function(_){this.bind();var A=this.gl;if(this.type===A.FLOAT&&n.indexOf(_)>=0&&(A.getExtension("OES_texture_float_linear")||(_=A.NEAREST)),u.indexOf(_)<0)throw new Error("gl-texture2d: Unknown filter mode "+_);return A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,_),this._magFilter=_}},mipSamples:{get:function(){return this._anisoSamples},set:function(_){var A=this._anisoSamples;if(this._anisoSamples=Math.max(_,1)|0,A!==this._anisoSamples){var D=this.gl.getExtension("EXT_texture_filter_anisotropic");D&&this.gl.texParameterf(this.gl.TEXTURE_2D,D.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(_){if(this.bind(),i.indexOf(_)<0)throw new Error("gl-texture2d: Unknown wrap mode "+_);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,_),this._wrapS=_}},wrapT:{get:function(){return this._wrapT},set:function(_){if(this.bind(),i.indexOf(_)<0)throw new Error("gl-texture2d: Unknown wrap mode "+_);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,_),this._wrapT=_}},wrap:{get:function(){return this._wrapVector},set:function(_){if(Array.isArray(_)||(_=[_,_]),_.length!==2)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var A=0;A<2;++A)if(i.indexOf(_[A])<0)throw new Error("gl-texture2d: Unknown wrap mode "+_);this._wrapS=_[0],this._wrapT=_[1];var D=this.gl;return this.bind(),D.texParameteri(D.TEXTURE_2D,D.TEXTURE_WRAP_S,this._wrapS),D.texParameteri(D.TEXTURE_2D,D.TEXTURE_WRAP_T,this._wrapT),_}},shape:{get:function(){return this._shapeVector},set:function(_){if(!Array.isArray(_))_=[_|0,_|0];else if(_.length!==2)throw new Error("gl-texture2d: Invalid texture shape");return f(this,_[0]|0,_[1]|0),[_[0]|0,_[1]|0]}},width:{get:function(){return this._shape[0]},set:function(_){return _=_|0,f(this,_,this._shape[1]),_}},height:{get:function(){return this._shape[1]},set:function(_){return _=_|0,f(this,this._shape[0],_),_}}}),y.bind=function(_){var A=this.gl;return _!==void 0&&A.activeTexture(A.TEXTURE0+(_|0)),A.bindTexture(A.TEXTURE_2D,this.handle),_!==void 0?_|0:A.getParameter(A.ACTIVE_TEXTURE)-A.TEXTURE0},y.dispose=function(){this.gl.deleteTexture(this.handle)},y.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var _=Math.min(this._shape[0],this._shape[1]),A=0;_>0;++A,_>>>=1)this._mipLevels.indexOf(A)<0&&this._mipLevels.push(A)},y.setPixels=function(_,A,D,F){var G=this.gl;this.bind(),Array.isArray(A)?(F=D,D=A[1]|0,A=A[0]|0):(A=A||0,D=D||0),F=F||0;var O=h(_)?_:_.raw;if(O){var H=this._mipLevels.indexOf(F)<0;H?(G.texImage2D(G.TEXTURE_2D,0,this.format,this.format,this.type,O),this._mipLevels.push(F)):G.texSubImage2D(G.TEXTURE_2D,F,A,D,this.format,this.type,O)}else if(_.shape&&_.stride&&_.data){if(_.shape.length<2||A+_.shape[1]>this._shape[1]>>>F||D+_.shape[0]>this._shape[0]>>>F||A<0||D<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");S(G,A,D,F,this.format,this.type,this._mipLevels,_)}else throw new Error("gl-texture2d: Unsupported data type")};function T(_,A){return _.length===3?A[2]===1&&A[1]===_[0]*_[2]&&A[0]===_[2]:A[0]===1&&A[1]===_[0]}function S(_,A,D,F,G,O,H,z){var k=z.dtype,V=z.shape.slice();if(V.length<2||V.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var Z=0,ee=0,Q=T(V,z.stride.slice());if(k==="float32"?Z=_.FLOAT:k==="float64"?(Z=_.FLOAT,Q=!1,k="float32"):k==="uint8"?Z=_.UNSIGNED_BYTE:(Z=_.UNSIGNED_BYTE,Q=!1,k="uint8"),V.length===2)ee=_.LUMINANCE,V=[V[0],V[1],1],z=r(z.data,V,[z.stride[0],z.stride[1],1],z.offset);else if(V.length===3){if(V[2]===1)ee=_.ALPHA;else if(V[2]===2)ee=_.LUMINANCE_ALPHA;else if(V[2]===3)ee=_.RGB;else if(V[2]===4)ee=_.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");V[2]}else throw new Error("gl-texture2d: Invalid shape for texture");if((ee===_.LUMINANCE||ee===_.ALPHA)&&(G===_.LUMINANCE||G===_.ALPHA)&&(ee=G),ee!==G)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var ne=z.size,fe=H.indexOf(F)<0;if(fe&&H.push(F),Z===O&&Q)z.offset===0&&z.data.length===ne?fe?_.texImage2D(_.TEXTURE_2D,F,G,V[0],V[1],0,G,O,z.data):_.texSubImage2D(_.TEXTURE_2D,F,A,D,V[0],V[1],G,O,z.data):fe?_.texImage2D(_.TEXTURE_2D,F,G,V[0],V[1],0,G,O,z.data.subarray(z.offset,z.offset+ne)):_.texSubImage2D(_.TEXTURE_2D,F,A,D,V[0],V[1],G,O,z.data.subarray(z.offset,z.offset+ne));else{var $;O===_.FLOAT?$=o.mallocFloat32(ne):$=o.mallocUint8(ne);var Y=r($,V,[V[2],V[2]*V[0],1]);Z===_.FLOAT&&O===_.UNSIGNED_BYTE?x(Y,z):c.assign(Y,z),fe?_.texImage2D(_.TEXTURE_2D,F,G,V[0],V[1],0,G,O,$.subarray(0,ne)):_.texSubImage2D(_.TEXTURE_2D,F,A,D,V[0],V[1],G,O,$.subarray(0,ne)),O===_.FLOAT?o.freeFloat32($):o.freeUint8($)}}function L(_){var A=_.createTexture();return _.bindTexture(_.TEXTURE_2D,A),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MIN_FILTER,_.NEAREST),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_MAG_FILTER,_.NEAREST),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_S,_.CLAMP_TO_EDGE),_.texParameteri(_.TEXTURE_2D,_.TEXTURE_WRAP_T,_.CLAMP_TO_EDGE),A}function m(_,A,D,F,G){var O=_.getParameter(_.MAX_TEXTURE_SIZE);if(A<0||A>O||D<0||D>O)throw new Error("gl-texture2d: Invalid texture shape");if(G===_.FLOAT&&!_.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var H=L(_);return _.texImage2D(_.TEXTURE_2D,0,F,A,D,0,F,G,null),new l(_,H,A,D,F,G)}function M(_,A,D,F,G,O){var H=L(_);return _.texImage2D(_.TEXTURE_2D,0,G,G,O,A),new l(_,H,D,F,G,O)}function b(_,A){var D=A.dtype,F=A.shape.slice(),G=_.getParameter(_.MAX_TEXTURE_SIZE);if(F[0]<0||F[0]>G||F[1]<0||F[1]>G)throw new Error("gl-texture2d: Invalid texture size");var O=T(F,A.stride.slice()),H=0;D==="float32"?H=_.FLOAT:D==="float64"?(H=_.FLOAT,O=!1,D="float32"):D==="uint8"?H=_.UNSIGNED_BYTE:(H=_.UNSIGNED_BYTE,O=!1,D="uint8");var z=0;if(F.length===2)z=_.LUMINANCE,F=[F[0],F[1],1],A=r(A.data,F,[A.stride[0],A.stride[1],1],A.offset);else if(F.length===3)if(F[2]===1)z=_.ALPHA;else if(F[2]===2)z=_.LUMINANCE_ALPHA;else if(F[2]===3)z=_.RGB;else if(F[2]===4)z=_.RGBA;else throw new Error("gl-texture2d: Invalid shape for pixel coords");else throw new Error("gl-texture2d: Invalid shape for texture");H===_.FLOAT&&!_.getExtension("OES_texture_float")&&(H=_.UNSIGNED_BYTE,O=!1);var k,V,Z=A.size;if(O)A.offset===0&&A.data.length===Z?k=A.data:k=A.data.subarray(A.offset,A.offset+Z);else{var ee=[F[2],F[2]*F[0],1];V=o.malloc(Z,D);var Q=r(V,F,ee,0);(D==="float32"||D==="float64")&&H===_.UNSIGNED_BYTE?x(Q,A):c.assign(Q,A),k=V.subarray(0,Z)}var ne=L(_);return _.texImage2D(_.TEXTURE_2D,0,z,F[0],F[1],0,z,H,k),O||o.free(V),new l(_,ne,F[0],F[1],z,H)}function s(_){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(n||g(_),typeof arguments[1]=="number")return m(_,arguments[1],arguments[2],arguments[3]||_.RGBA,arguments[4]||_.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(_,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||_.RGBA,arguments[3]||_.UNSIGNED_BYTE);if(typeof arguments[1]=="object"){var A=arguments[1],D=h(A)?A:A.raw;if(D)return M(_,D,A.width|0,A.height|0,arguments[2]||_.RGBA,arguments[3]||_.UNSIGNED_BYTE);if(A.shape&&A.data&&A.stride)return b(_,A)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")}},3056:function(d){function p(t,r,c){r?r.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var o=t.getParameter(t.MAX_VERTEX_ATTRIBS)|0;if(c){if(c.length>o)throw new Error("gl-vao: Too many vertex attributes");for(var n=0;n1?0:Math.acos(x)}},8827:function(d){d.exports=p;function p(t,r){return t[0]=Math.ceil(r[0]),t[1]=Math.ceil(r[1]),t[2]=Math.ceil(r[2]),t}},7622:function(d){d.exports=p;function p(t){var r=new Float32Array(3);return r[0]=t[0],r[1]=t[1],r[2]=t[2],r}},8782:function(d){d.exports=p;function p(t,r){return t[0]=r[0],t[1]=r[1],t[2]=r[2],t}},8501:function(d){d.exports=p;function p(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},903:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2],i=c[0],g=c[1],h=c[2];return t[0]=n*h-u*g,t[1]=u*i-o*h,t[2]=o*g-n*i,t}},5981:function(d,p,t){d.exports=t(8288)},8288:function(d){d.exports=p;function p(t,r){var c=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2];return Math.sqrt(c*c+o*o+n*n)}},8629:function(d,p,t){d.exports=t(7979)},7979:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]/c[0],t[1]=r[1]/c[1],t[2]=r[2]/c[2],t}},9305:function(d){d.exports=p;function p(t,r){return t[0]*r[0]+t[1]*r[1]+t[2]*r[2]}},154:function(d){d.exports=1e-6},4932:function(d,p,t){d.exports=c;var r=t(154);function c(o,n){var u=o[0],i=o[1],g=o[2],h=n[0],x=n[1],f=n[2];return Math.abs(u-h)<=r*Math.max(1,Math.abs(u),Math.abs(h))&&Math.abs(i-x)<=r*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(g-f)<=r*Math.max(1,Math.abs(g),Math.abs(f))}},5777:function(d){d.exports=p;function p(t,r){return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}},3306:function(d){d.exports=p;function p(t,r){return t[0]=Math.floor(r[0]),t[1]=Math.floor(r[1]),t[2]=Math.floor(r[2]),t}},7447:function(d,p,t){d.exports=c;var r=t(8501)();function c(o,n,u,i,g,h){var x,f;for(n||(n=3),u||(u=0),i?f=Math.min(i*n+u,o.length):f=o.length,x=u;x0&&(u=1/Math.sqrt(u),t[0]=r[0]*u,t[1]=r[1]*u,t[2]=r[2]*u),t}},6660:function(d){d.exports=p;function p(t,r){r=r||1;var c=Math.random()*2*Math.PI,o=Math.random()*2-1,n=Math.sqrt(1-o*o)*r;return t[0]=Math.cos(c)*n,t[1]=Math.sin(c)*n,t[2]=o*r,t}},392:function(d){d.exports=p;function p(t,r,c,o){var n=c[1],u=c[2],i=r[1]-n,g=r[2]-u,h=Math.sin(o),x=Math.cos(o);return t[0]=r[0],t[1]=n+i*x-g*h,t[2]=u+i*h+g*x,t}},3222:function(d){d.exports=p;function p(t,r,c,o){var n=c[0],u=c[2],i=r[0]-n,g=r[2]-u,h=Math.sin(o),x=Math.cos(o);return t[0]=n+g*h+i*x,t[1]=r[1],t[2]=u+g*x-i*h,t}},3388:function(d){d.exports=p;function p(t,r,c,o){var n=c[0],u=c[1],i=r[0]-n,g=r[1]-u,h=Math.sin(o),x=Math.cos(o);return t[0]=n+i*x-g*h,t[1]=u+i*h+g*x,t[2]=r[2],t}},1624:function(d){d.exports=p;function p(t,r){return t[0]=Math.round(r[0]),t[1]=Math.round(r[1]),t[2]=Math.round(r[2]),t}},5685:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]*c,t[1]=r[1]*c,t[2]=r[2]*c,t}},6722:function(d){d.exports=p;function p(t,r,c,o){return t[0]=r[0]+c[0]*o,t[1]=r[1]+c[1]*o,t[2]=r[2]+c[2]*o,t}},831:function(d){d.exports=p;function p(t,r,c,o){return t[0]=r,t[1]=c,t[2]=o,t}},5294:function(d,p,t){d.exports=t(6403)},3303:function(d,p,t){d.exports=t(4337)},6403:function(d){d.exports=p;function p(t,r){var c=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2];return c*c+o*o+n*n}},4337:function(d){d.exports=p;function p(t){var r=t[0],c=t[1],o=t[2];return r*r+c*c+o*o}},8921:function(d,p,t){d.exports=t(911)},911:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]-c[0],t[1]=r[1]-c[1],t[2]=r[2]-c[2],t}},9908:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2];return t[0]=o*c[0]+n*c[3]+u*c[6],t[1]=o*c[1]+n*c[4]+u*c[7],t[2]=o*c[2]+n*c[5]+u*c[8],t}},3255:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2],i=c[3]*o+c[7]*n+c[11]*u+c[15];return i=i||1,t[0]=(c[0]*o+c[4]*n+c[8]*u+c[12])/i,t[1]=(c[1]*o+c[5]*n+c[9]*u+c[13])/i,t[2]=(c[2]*o+c[6]*n+c[10]*u+c[14])/i,t}},6568:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2],i=c[0],g=c[1],h=c[2],x=c[3],f=x*o+g*u-h*n,l=x*n+h*o-i*u,y=x*u+i*n-g*o,T=-i*o-g*n-h*u;return t[0]=f*x+T*-i+l*-h-y*-g,t[1]=l*x+T*-g+y*-i-f*-h,t[2]=y*x+T*-h+f*-g-l*-i,t}},3433:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]+c[0],t[1]=r[1]+c[1],t[2]=r[2]+c[2],t[3]=r[3]+c[3],t}},1413:function(d){d.exports=p;function p(t){var r=new Float32Array(4);return r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=t[3],r}},3470:function(d){d.exports=p;function p(t,r){return t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=r[3],t}},5313:function(d){d.exports=p;function p(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},5446:function(d){d.exports=p;function p(t,r){var c=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2],u=r[3]-t[3];return Math.sqrt(c*c+o*o+n*n+u*u)}},205:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]/c[0],t[1]=r[1]/c[1],t[2]=r[2]/c[2],t[3]=r[3]/c[3],t}},4242:function(d){d.exports=p;function p(t,r){return t[0]*r[0]+t[1]*r[1]+t[2]*r[2]+t[3]*r[3]}},5680:function(d){d.exports=p;function p(t,r,c,o){var n=new Float32Array(4);return n[0]=t,n[1]=r,n[2]=c,n[3]=o,n}},4020:function(d,p,t){d.exports={create:t(5313),clone:t(1413),fromValues:t(5680),copy:t(3470),set:t(6453),add:t(3433),subtract:t(2705),multiply:t(746),divide:t(205),min:t(2170),max:t(3030),scale:t(5510),scaleAndAdd:t(4224),distance:t(5446),squaredDistance:t(1542),length:t(8177),squaredLength:t(9037),negate:t(6459),inverse:t(8057),normalize:t(381),dot:t(4242),lerp:t(8746),random:t(3770),transformMat4:t(6342),transformQuat:t(5022)}},8057:function(d){d.exports=p;function p(t,r){return t[0]=1/r[0],t[1]=1/r[1],t[2]=1/r[2],t[3]=1/r[3],t}},8177:function(d){d.exports=p;function p(t){var r=t[0],c=t[1],o=t[2],n=t[3];return Math.sqrt(r*r+c*c+o*o+n*n)}},8746:function(d){d.exports=p;function p(t,r,c,o){var n=r[0],u=r[1],i=r[2],g=r[3];return t[0]=n+o*(c[0]-n),t[1]=u+o*(c[1]-u),t[2]=i+o*(c[2]-i),t[3]=g+o*(c[3]-g),t}},3030:function(d){d.exports=p;function p(t,r,c){return t[0]=Math.max(r[0],c[0]),t[1]=Math.max(r[1],c[1]),t[2]=Math.max(r[2],c[2]),t[3]=Math.max(r[3],c[3]),t}},2170:function(d){d.exports=p;function p(t,r,c){return t[0]=Math.min(r[0],c[0]),t[1]=Math.min(r[1],c[1]),t[2]=Math.min(r[2],c[2]),t[3]=Math.min(r[3],c[3]),t}},746:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]*c[0],t[1]=r[1]*c[1],t[2]=r[2]*c[2],t[3]=r[3]*c[3],t}},6459:function(d){d.exports=p;function p(t,r){return t[0]=-r[0],t[1]=-r[1],t[2]=-r[2],t[3]=-r[3],t}},381:function(d){d.exports=p;function p(t,r){var c=r[0],o=r[1],n=r[2],u=r[3],i=c*c+o*o+n*n+u*u;return i>0&&(i=1/Math.sqrt(i),t[0]=c*i,t[1]=o*i,t[2]=n*i,t[3]=u*i),t}},3770:function(d,p,t){var r=t(381),c=t(5510);d.exports=o;function o(n,u){return u=u||1,n[0]=Math.random(),n[1]=Math.random(),n[2]=Math.random(),n[3]=Math.random(),r(n,n),c(n,n,u),n}},5510:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]*c,t[1]=r[1]*c,t[2]=r[2]*c,t[3]=r[3]*c,t}},4224:function(d){d.exports=p;function p(t,r,c,o){return t[0]=r[0]+c[0]*o,t[1]=r[1]+c[1]*o,t[2]=r[2]+c[2]*o,t[3]=r[3]+c[3]*o,t}},6453:function(d){d.exports=p;function p(t,r,c,o,n){return t[0]=r,t[1]=c,t[2]=o,t[3]=n,t}},1542:function(d){d.exports=p;function p(t,r){var c=r[0]-t[0],o=r[1]-t[1],n=r[2]-t[2],u=r[3]-t[3];return c*c+o*o+n*n+u*u}},9037:function(d){d.exports=p;function p(t){var r=t[0],c=t[1],o=t[2],n=t[3];return r*r+c*c+o*o+n*n}},2705:function(d){d.exports=p;function p(t,r,c){return t[0]=r[0]-c[0],t[1]=r[1]-c[1],t[2]=r[2]-c[2],t[3]=r[3]-c[3],t}},6342:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2],i=r[3];return t[0]=c[0]*o+c[4]*n+c[8]*u+c[12]*i,t[1]=c[1]*o+c[5]*n+c[9]*u+c[13]*i,t[2]=c[2]*o+c[6]*n+c[10]*u+c[14]*i,t[3]=c[3]*o+c[7]*n+c[11]*u+c[15]*i,t}},5022:function(d){d.exports=p;function p(t,r,c){var o=r[0],n=r[1],u=r[2],i=c[0],g=c[1],h=c[2],x=c[3],f=x*o+g*u-h*n,l=x*n+h*o-i*u,y=x*u+i*n-g*o,T=-i*o-g*n-h*u;return t[0]=f*x+T*-i+l*-h-y*-g,t[1]=l*x+T*-g+y*-i-f*-h,t[2]=y*x+T*-h+f*-g-l*-i,t[3]=r[3],t}},9365:function(d,p,t){var r=t(8096),c=t(7896);d.exports=o;function o(n){for(var u=Array.isArray(n)?n:r(n),i=0;i0)continue;qe=He.slice(0,1).join("")}return q(qe),Q+=qe.length,k=k.slice(qe.length),k.length}while(1)}function Ee(){return/[^a-fA-F0-9]/.test(H)?(q(k.join("")),O=i,F):(k.push(H),z=H,F+1)}function we(){return H==="."||/[eE]/.test(H)?(k.push(H),O=T,z=H,F+1):H==="x"&&k.length===1&&k[0]==="0"?(O=s,k.push(H),z=H,F+1):/[^\d]/.test(H)?(q(k.join("")),O=i,F):(k.push(H),z=H,F+1)}function Ce(){return H==="f"&&(k.push(H),z=H,F+=1),/[eE]/.test(H)||(H==="-"||H==="+")&&/[eE]/.test(z)?(k.push(H),z=H,F+1):/[^\d]/.test(H)?(q(k.join("")),O=i,F):(k.push(H),z=H,F+1)}function Ge(){if(/[^\d\w_]/.test(H)){var He=k.join("");return le[He]?O=m:re[He]?O=L:O=S,q(k.join("")),O=i,F}return k.push(H),z=H,F+1}}},3585:function(d,p,t){var r=t(9525);r=r.slice().filter(function(c){return!/^(gl\_|texture)/.test(c)}),d.exports=r.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"])},9525:function(d){d.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"]},9458:function(d,p,t){var r=t(399);d.exports=r.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","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"])},399:function(d){d.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","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"]},9746:function(d){d.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(d,p,t){var r=t(3193);d.exports=c;function c(o,n){var u=r(n),i=[];return i=i.concat(u(o)),i=i.concat(u(null)),i}},6832:function(d){d.exports=function(p){typeof p=="string"&&(p=[p]);for(var t=[].slice.call(arguments,1),r=[],c=0;c0;){y=b.pop();for(var s=y.adjacent,_=0;_<=S;++_){var A=s[_];if(!(!A.boundary||A.lastVisited<=-L)){for(var D=A.vertices,F=0;F<=S;++F){var G=D[F];G<0?m[F]=T:m[F]=M[G]}var O=this.orient();if(O>0)return A;A.lastVisited=-L,O===0&&b.push(A)}}}return null},f.walk=function(y,T){var S=this.vertices.length-1,L=this.dimension,m=this.vertices,M=this.tuple,b=T?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[b];e:for(;!s.boundary;){for(var _=s.vertices,A=s.adjacent,D=0;D<=L;++D)M[D]=m[_[D]];s.lastVisited=S;for(var D=0;D<=L;++D){var F=A[D];if(!(F.lastVisited>=S)){var G=M[D];M[D]=y;var O=this.orient();if(M[D]=G,O<0){s=F;continue e}else F.boundary?F.lastVisited=-S:F.lastVisited=S}}return}return s},f.addPeaks=function(y,T){var S=this.vertices.length-1,L=this.dimension,m=this.vertices,M=this.tuple,b=this.interior,s=this.simplices,_=[T];T.lastVisited=S,T.vertices[T.vertices.indexOf(-1)]=S,T.boundary=!1,b.push(T);for(var A=[];_.length>0;){var T=_.pop(),D=T.vertices,F=T.adjacent,G=D.indexOf(S);if(!(G<0)){for(var O=0;O<=L;++O)if(O!==G){var H=F[O];if(!(!H.boundary||H.lastVisited>=S)){var z=H.vertices;if(H.lastVisited!==-S){for(var k=0,V=0;V<=L;++V)z[V]<0?(k=V,M[V]=y):M[V]=m[z[V]];var Z=this.orient();if(Z>0){z[k]=S,H.boundary=!1,b.push(H),_.push(H),H.lastVisited=S;continue}else H.lastVisited=-S}var ee=H.adjacent,Q=D.slice(),ne=F.slice(),fe=new o(Q,ne,!0);s.push(fe);var $=ee.indexOf(T);if(!($<0)){ee[$]=fe,ne[G]=H,Q[O]=-1,ne[O]=T,F[O]=fe,fe.flip();for(var V=0;V<=L;++V){var Y=Q[V];if(!(Y<0||Y===S)){for(var j=new Array(L-1),X=0,re=0;re<=L;++re){var le=Q[re];le<0||re===V||(j[X++]=le)}A.push(new n(j,fe,V))}}}}}}}A.sort(u);for(var O=0;O+1=0?b[_++]=s[D]:A=D&1;if(A===(y&1)){var F=b[0];b[0]=b[1],b[1]=F}T.push(b)}}return T};function l(y,T){var S=y.length;if(S===0)throw new Error("Must have at least d+1 points");var L=y[0].length;if(S<=L)throw new Error("Must input at least d+1 points");var m=y.slice(0,L+1),M=r.apply(void 0,m);if(M===0)throw new Error("Input not in general position");for(var b=new Array(L+1),s=0;s<=L;++s)b[s]=s;M<0&&(b[0]=1,b[1]=0);for(var _=new o(b,new Array(L+1),!1),A=_.adjacent,D=new Array(L+2),s=0;s<=L;++s){for(var F=b.slice(),G=0;G<=L;++G)G===s&&(F[G]=-1);var O=F[0];F[0]=F[1],F[1]=O;var H=new o(F,new Array(L+1),!0);A[s]=H,D[s]=H}D[L+1]=_;for(var s=0;s<=L;++s)for(var F=A[s].vertices,z=A[s].adjacent,G=0;G<=L;++G){var k=F[G];if(k<0){z[G]=_;continue}for(var V=0;V<=L;++V)A[V].vertices.indexOf(k)<0&&(z[G]=A[V])}for(var Z=new x(L,m,D),ee=!!T,s=L+1;s3*(D+1)?x(this,A):this.left.insert(A):this.left=M([A]);else if(A[0]>this.mid)this.right?4*(this.right.count+1)>3*(D+1)?x(this,A):this.right.insert(A):this.right=M([A]);else{var F=r.ge(this.leftPoints,A,L),G=r.ge(this.rightPoints,A,m);this.leftPoints.splice(F,0,A),this.rightPoints.splice(G,0,A)}},i.remove=function(A){var D=this.count-this.leftPoints;if(A[1]3*(D-1))return f(this,A);var G=this.left.remove(A);return G===n?(this.left=null,this.count-=1,o):(G===o&&(this.count-=1),G)}else if(A[0]>this.mid){if(!this.right)return c;var O=this.left?this.left.count:0;if(4*O>3*(D-1))return f(this,A);var G=this.right.remove(A);return G===n?(this.right=null,this.count-=1,o):(G===o&&(this.count-=1),G)}else{if(this.count===1)return this.leftPoints[0]===A?n:c;if(this.leftPoints.length===1&&this.leftPoints[0]===A){if(this.left&&this.right){for(var H=this,z=this.left;z.right;)H=z,z=z.right;if(H===this)z.right=this.right;else{var k=this.left,G=this.right;H.count-=z.count,H.right=z.left,z.left=k,z.right=G}g(this,z),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?g(this,this.left):g(this,this.right);return o}for(var k=r.ge(this.leftPoints,A,L);k=0&&A[G][1]>=D;--G){var O=F(A[G]);if(O)return O}}function T(A,D){for(var F=0;Fthis.mid){if(this.right){var F=this.right.queryPoint(A,D);if(F)return F}return y(this.rightPoints,A,D)}else return T(this.leftPoints,D)},i.queryInterval=function(A,D,F){if(Athis.mid&&this.right){var G=this.right.queryInterval(A,D,F);if(G)return G}return Dthis.mid?y(this.rightPoints,A,F):T(this.leftPoints,F)};function S(A,D){return A-D}function L(A,D){var F=A[0]-D[0];return F||A[1]-D[1]}function m(A,D){var F=A[1]-D[1];return F||A[0]-D[0]}function M(A){if(A.length===0)return null;for(var D=[],F=0;F>1],O=[],H=[],z=[],F=0;F +* @license MIT +*/d.exports=function(r){return r!=null&&(p(r)||t(r)||!!r._isBuffer)};function p(r){return!!r.constructor&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)}function t(r){return typeof r.readFloatLE=="function"&&typeof r.slice=="function"&&p(r.slice(0,0))}},3596:function(d){d.exports=function(p){for(var t=p.length,r,c=0;c13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}},3578:function(d){function p(t,r,c){return t*(1-c)+r*c}d.exports=p},7191:function(d,p,t){var r=t(4690),c=t(9823),o=t(7332),n=t(7787),u=t(7437),i=t(2142),g={length:t(4693),normalize:t(899),dot:t(9305),cross:t(903)},h=c(),x=c(),f=[0,0,0,0],l=[[0,0,0],[0,0,0],[0,0,0]],y=[0,0,0];d.exports=function(M,b,s,_,A,D){if(b||(b=[0,0,0]),s||(s=[0,0,0]),_||(_=[0,0,0]),A||(A=[0,0,0,1]),D||(D=[0,0,0,1]),!r(h,M)||(o(x,h),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(n(x)<1e-8)))return!1;var F=h[3],G=h[7],O=h[11],H=h[12],z=h[13],k=h[14],V=h[15];if(F!==0||G!==0||O!==0){f[0]=F,f[1]=G,f[2]=O,f[3]=V;var Z=u(x,x);if(!Z)return!1;i(x,x),T(A,f,x)}else A[0]=A[1]=A[2]=0,A[3]=1;if(b[0]=H,b[1]=z,b[2]=k,S(l,h),s[0]=g.length(l[0]),g.normalize(l[0],l[0]),_[0]=g.dot(l[0],l[1]),L(l[1],l[1],l[0],1,-_[0]),s[1]=g.length(l[1]),g.normalize(l[1],l[1]),_[0]/=s[1],_[1]=g.dot(l[0],l[2]),L(l[2],l[2],l[0],1,-_[1]),_[2]=g.dot(l[1],l[2]),L(l[2],l[2],l[1],1,-_[2]),s[2]=g.length(l[2]),g.normalize(l[2],l[2]),_[1]/=s[2],_[2]/=s[2],g.cross(y,l[1],l[2]),g.dot(l[0],y)<0)for(var ee=0;ee<3;ee++)s[ee]*=-1,l[ee][0]*=-1,l[ee][1]*=-1,l[ee][2]*=-1;return D[0]=.5*Math.sqrt(Math.max(1+l[0][0]-l[1][1]-l[2][2],0)),D[1]=.5*Math.sqrt(Math.max(1-l[0][0]+l[1][1]-l[2][2],0)),D[2]=.5*Math.sqrt(Math.max(1-l[0][0]-l[1][1]+l[2][2],0)),D[3]=.5*Math.sqrt(Math.max(1+l[0][0]+l[1][1]+l[2][2],0)),l[2][1]>l[1][2]&&(D[0]=-D[0]),l[0][2]>l[2][0]&&(D[1]=-D[1]),l[1][0]>l[0][1]&&(D[2]=-D[2]),!0};function T(m,M,b){var s=M[0],_=M[1],A=M[2],D=M[3];return m[0]=b[0]*s+b[4]*_+b[8]*A+b[12]*D,m[1]=b[1]*s+b[5]*_+b[9]*A+b[13]*D,m[2]=b[2]*s+b[6]*_+b[10]*A+b[14]*D,m[3]=b[3]*s+b[7]*_+b[11]*A+b[15]*D,m}function S(m,M){m[0][0]=M[0],m[0][1]=M[1],m[0][2]=M[2],m[1][0]=M[4],m[1][1]=M[5],m[1][2]=M[6],m[2][0]=M[8],m[2][1]=M[9],m[2][2]=M[10]}function L(m,M,b,s,_){m[0]=M[0]*s+b[0]*_,m[1]=M[1]*s+b[1]*_,m[2]=M[2]*s+b[2]*_}},4690:function(d){d.exports=function(t,r){var c=r[15];if(c===0)return!1;for(var o=1/c,n=0;n<16;n++)t[n]=r[n]*o;return!0}},7649:function(d,p,t){var r=t(1868),c=t(1102),o=t(7191),n=t(7787),u=t(1116),i=f(),g=f(),h=f();d.exports=x;function x(T,S,L,m){if(n(S)===0||n(L)===0)return!1;var M=o(S,i.translate,i.scale,i.skew,i.perspective,i.quaternion),b=o(L,g.translate,g.scale,g.skew,g.perspective,g.quaternion);return!M||!b?!1:(r(h.translate,i.translate,g.translate,m),r(h.skew,i.skew,g.skew,m),r(h.scale,i.scale,g.scale,m),r(h.perspective,i.perspective,g.perspective,m),u(h.quaternion,i.quaternion,g.quaternion,m),c(T,h.translate,h.scale,h.skew,h.perspective,h.quaternion),!0)}function f(){return{translate:l(),scale:l(1),skew:l(),perspective:y(),quaternion:y()}}function l(T){return[T||0,T||0,T||0]}function y(){return[0,0,0,1]}},1102:function(d,p,t){var r={identity:t(9947),translate:t(998),multiply:t(104),create:t(9823),scale:t(3668),fromRotationTranslation:t(7280)};r.create();var c=r.create();d.exports=function(n,u,i,g,h,x){return r.identity(n),r.fromRotationTranslation(n,x,u),n[3]=h[0],n[7]=h[1],n[11]=h[2],n[15]=h[3],r.identity(c),g[2]!==0&&(c[9]=g[2],r.multiply(n,n,c)),g[1]!==0&&(c[9]=0,c[8]=g[1],r.multiply(n,n,c)),g[0]!==0&&(c[8]=0,c[4]=g[0],r.multiply(n,n,c)),r.scale(n,n,i),n}},9298:function(d,p,t){var r=t(5070),c=t(7649),o=t(7437),n=t(6109),u=t(7115),i=t(5240),g=t(3012),h=t(998);t(3668);var x=t(899),f=[0,0,0];d.exports=S;function l(L){this._components=L.slice(),this._time=[0],this.prevMatrix=L.slice(),this.nextMatrix=L.slice(),this.computedMatrix=L.slice(),this.computedInverse=L.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]}var y=l.prototype;y.recalcMatrix=function(L){var m=this._time,M=r.le(m,L),b=this.computedMatrix;if(!(M<0)){var s=this._components;if(M===m.length-1)for(var _=16*M,A=0;A<16;++A)b[A]=s[_++];else{for(var D=m[M+1]-m[M],_=16*M,F=this.prevMatrix,G=!0,A=0;A<16;++A)F[A]=s[_++];for(var O=this.nextMatrix,A=0;A<16;++A)O[A]=s[_++],G=G&&F[A]===O[A];if(D<1e-6||G)for(var A=0;A<16;++A)b[A]=F[A];else c(b,F,O,(L-m[M])/D)}var H=this.computedUp;H[0]=b[1],H[1]=b[5],H[2]=b[9],x(H,H);var z=this.computedInverse;o(z,b);var k=this.computedEye,V=z[15];k[0]=z[12]/V,k[1]=z[13]/V,k[2]=z[14]/V;for(var Z=this.computedCenter,ee=Math.exp(this.computedRadius[0]),A=0;A<3;++A)Z[A]=k[A]-b[2+4*A]*ee}},y.idle=function(L){if(!(L1&&r(o[g[l-2]],o[g[l-1]],f)<=0;)l-=1,g.pop();for(g.push(x),l=h.length;l>1&&r(o[h[l-2]],o[h[l-1]],f)>=0;)l-=1,h.pop();h.push(x)}for(var y=new Array(h.length+g.length-2),T=0,u=0,S=g.length;u0;--L)y[T++]=h[L];return y}},6145:function(d,p,t){d.exports=c;var r=t(4110);function c(o,n){n||(n=o,o=window);var u=0,i=0,g=0,h={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function f(A){var D=!1;return"altKey"in A&&(D=D||A.altKey!==h.alt,h.alt=!!A.altKey),"shiftKey"in A&&(D=D||A.shiftKey!==h.shift,h.shift=!!A.shiftKey),"ctrlKey"in A&&(D=D||A.ctrlKey!==h.control,h.control=!!A.ctrlKey),"metaKey"in A&&(D=D||A.metaKey!==h.meta,h.meta=!!A.metaKey),D}function l(A,D){var F=r.x(D),G=r.y(D);"buttons"in D&&(A=D.buttons|0),(A!==u||F!==i||G!==g||f(D))&&(u=A|0,i=F||0,g=G||0,n&&n(u,i,g,h))}function y(A){l(0,A)}function T(){(u||i||g||h.shift||h.alt||h.meta||h.control)&&(i=g=0,u=0,h.shift=h.alt=h.control=h.meta=!1,n&&n(0,0,0,h))}function S(A){f(A)&&n&&n(u,i,g,h)}function L(A){r.buttons(A)===0?l(0,A):l(u,A)}function m(A){l(u|r.buttons(A),A)}function M(A){l(u&~r.buttons(A),A)}function b(){x||(x=!0,o.addEventListener("mousemove",L),o.addEventListener("mousedown",m),o.addEventListener("mouseup",M),o.addEventListener("mouseleave",y),o.addEventListener("mouseenter",y),o.addEventListener("mouseout",y),o.addEventListener("mouseover",y),o.addEventListener("blur",T),o.addEventListener("keyup",S),o.addEventListener("keydown",S),o.addEventListener("keypress",S),o!==window&&(window.addEventListener("blur",T),window.addEventListener("keyup",S),window.addEventListener("keydown",S),window.addEventListener("keypress",S)))}function s(){x&&(x=!1,o.removeEventListener("mousemove",L),o.removeEventListener("mousedown",m),o.removeEventListener("mouseup",M),o.removeEventListener("mouseleave",y),o.removeEventListener("mouseenter",y),o.removeEventListener("mouseout",y),o.removeEventListener("mouseover",y),o.removeEventListener("blur",T),o.removeEventListener("keyup",S),o.removeEventListener("keydown",S),o.removeEventListener("keypress",S),o!==window&&(window.removeEventListener("blur",T),window.removeEventListener("keyup",S),window.removeEventListener("keydown",S),window.removeEventListener("keypress",S)))}b();var _={element:o};return Object.defineProperties(_,{enabled:{get:function(){return x},set:function(A){A?b():s()},enumerable:!0},buttons:{get:function(){return u},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return g},enumerable:!0},mods:{get:function(){return h},enumerable:!0}}),_}},2565:function(d){var p={left:0,top:0};d.exports=t;function t(c,o,n){o=o||c.currentTarget||c.srcElement,Array.isArray(n)||(n=[0,0]);var u=c.clientX||0,i=c.clientY||0,g=r(o);return n[0]=u-g.left,n[1]=i-g.top,n}function r(c){return c===window||c===document||c===document.body?p:c.getBoundingClientRect()}},4110:function(d,p){function t(n){if(typeof n=="object"){if("buttons"in n)return n.buttons;if("which"in n){var u=n.which;if(u===2)return 4;if(u===3)return 2;if(u>0)return 1<=0)return 1<0){if(ne=1,Y[X++]=h(b[D],T,S,L),D+=Z,m>0)for(Q=1,F=b[D],re=Y[X]=h(F,T,S,L),te=Y[X+le],de=Y[X+ue],Ae=Y[X+xe],(re!==te||re!==de||re!==Ae)&&(O=b[D+G],z=b[D+H],V=b[D+k],i(Q,ne,F,O,z,V,re,te,de,Ae,T,S,L),Be=j[X]=fe++),X+=1,D+=Z,Q=2;Q0)for(Q=1,F=b[D],re=Y[X]=h(F,T,S,L),te=Y[X+le],de=Y[X+ue],Ae=Y[X+xe],(re!==te||re!==de||re!==Ae)&&(O=b[D+G],z=b[D+H],V=b[D+k],i(Q,ne,F,O,z,V,re,te,de,Ae,T,S,L),Be=j[X]=fe++,Ae!==de&&g(j[X+ue],Be,z,V,de,Ae,T,S,L)),X+=1,D+=Z,Q=2;Q0){if(Q=1,Y[X++]=h(b[D],T,S,L),D+=Z,M>0)for(ne=1,F=b[D],re=Y[X]=h(F,T,S,L),de=Y[X+ue],te=Y[X+le],Ae=Y[X+xe],(re!==de||re!==te||re!==Ae)&&(O=b[D+G],z=b[D+H],V=b[D+k],i(Q,ne,F,O,z,V,re,de,te,Ae,T,S,L),Be=j[X]=fe++),X+=1,D+=Z,ne=2;ne0)for(ne=1,F=b[D],re=Y[X]=h(F,T,S,L),de=Y[X+ue],te=Y[X+le],Ae=Y[X+xe],(re!==de||re!==te||re!==Ae)&&(O=b[D+G],z=b[D+H],V=b[D+k],i(Q,ne,F,O,z,V,re,de,te,Ae,T,S,L),Be=j[X]=fe++,Ae!==de&&g(j[X+ue],Be,V,O,Ae,de,T,S,L)),X+=1,D+=Z,ne=2;ne 0"),typeof u.vertex!="function"&&i("Must specify vertex creation function"),typeof u.cell!="function"&&i("Must specify cell creation function"),typeof u.phase!="function"&&i("Must specify phase function");for(var f=u.getters||[],l=new Array(h),y=0;y=0?l[y]=!0:l[y]=!1;return o(u.vertex,u.cell,u.phase,x,g,l)}},9144:function(d,p,t){var r=t(3094),c={zero:function(S,L,m,M){var b=S[0],s=m[0];M|=0;var _=0,A=s;for(_=0;_2&&_[1]>2&&M(s.pick(-1,-1).lo(1,1).hi(_[0]-2,_[1]-2),b.pick(-1,-1,0).lo(1,1).hi(_[0]-2,_[1]-2),b.pick(-1,-1,1).lo(1,1).hi(_[0]-2,_[1]-2)),_[1]>2&&(m(s.pick(0,-1).lo(1).hi(_[1]-2),b.pick(0,-1,1).lo(1).hi(_[1]-2)),L(b.pick(0,-1,0).lo(1).hi(_[1]-2))),_[1]>2&&(m(s.pick(_[0]-1,-1).lo(1).hi(_[1]-2),b.pick(_[0]-1,-1,1).lo(1).hi(_[1]-2)),L(b.pick(_[0]-1,-1,0).lo(1).hi(_[1]-2))),_[0]>2&&(m(s.pick(-1,0).lo(1).hi(_[0]-2),b.pick(-1,0,0).lo(1).hi(_[0]-2)),L(b.pick(-1,0,1).lo(1).hi(_[0]-2))),_[0]>2&&(m(s.pick(-1,_[1]-1).lo(1).hi(_[0]-2),b.pick(-1,_[1]-1,0).lo(1).hi(_[0]-2)),L(b.pick(-1,_[1]-1,1).lo(1).hi(_[0]-2))),b.set(0,0,0,0),b.set(0,0,1,0),b.set(_[0]-1,0,0,0),b.set(_[0]-1,0,1,0),b.set(0,_[1]-1,0,0),b.set(0,_[1]-1,1,0),b.set(_[0]-1,_[1]-1,0,0),b.set(_[0]-1,_[1]-1,1,0),b}}function T(S){var L=S.join(),_=h[L];if(_)return _;for(var m=S.length,M=[x,f],b=1;b<=m;++b)M.push(l(b));var s=y,_=s.apply(void 0,M);return h[L]=_,_}d.exports=function(L,m,M){if(Array.isArray(M)||(typeof M=="string"?M=r(m.dimension,M):M=r(m.dimension,"clamp")),m.size===0)return L;if(m.dimension===0)return L.set(0),L;var b=T(M);return b(L,m)}},3581:function(d){function p(n,u){var i=Math.floor(u),g=u-i,h=0<=i&&i0;){z<64?(m=z,z=0):(m=64,z-=64);for(var k=h[1]|0;k>0;){k<64?(M=k,k=0):(M=64,k-=64),l=O+z*s+k*_,S=H+z*D+k*F;var V=0,Z=0,ee=0,Q=A,ne=s-b*A,fe=_-m*s,$=G,Y=D-b*G,j=F-m*D;for(ee=0;ee0;){F<64?(m=F,F=0):(m=64,F-=64);for(var G=h[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64),l=A+F*b+G*M,S=D+F*_+G*s;var O=0,H=0,z=b,k=M-m*b,V=_,Z=s-m*_;for(H=0;H0;){H<64?(M=H,H=0):(M=64,H-=64);for(var z=h[0]|0;z>0;){z<64?(L=z,z=0):(L=64,z-=64);for(var k=h[1]|0;k>0;){k<64?(m=k,k=0):(m=64,k-=64),l=G+H*_+z*b+k*s,S=O+H*F+z*A+k*D;var V=0,Z=0,ee=0,Q=_,ne=b-M*_,fe=s-L*b,$=F,Y=A-M*F,j=D-L*A;for(ee=0;eey;){V=0,Z=O-m;t:for(z=0;zQ)break t;Z+=A,V+=D}for(V=O,Z=O-m,z=0;z>1,k=z-G,V=z+G,Z=O,ee=k,Q=z,ne=V,fe=H,$=T+1,Y=S-1,j=!0,X,re,le,q,te,ue,ae,de,xe,Se=0,Ae=0,Be=0,Oe,Ee,we,Ce,Ge,He,De,Fe,qe,Qe,Je,tt,ht,gt,yt,Et,Xe=_,Ue=f(Xe),ze=f(Xe);Ee=M*Z,we=M*ee,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=Z,Z=ee,ee=re;break e}if(Be<0)break e;Et+=D}Ee=M*ne,we=M*fe,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=ne,ne=fe,fe=re;break e}if(Be<0)break e;Et+=D}Ee=M*Z,we=M*Q,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=Z,Z=Q,Q=re;break e}if(Be<0)break e;Et+=D}Ee=M*ee,we=M*Q,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=ee,ee=Q,Q=re;break e}if(Be<0)break e;Et+=D}Ee=M*Z,we=M*ne,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=Z,Z=ne,ne=re;break e}if(Be<0)break e;Et+=D}Ee=M*Q,we=M*ne,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=Q,Q=ne,ne=re;break e}if(Be<0)break e;Et+=D}Ee=M*ee,we=M*fe,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=ee,ee=fe,fe=re;break e}if(Be<0)break e;Et+=D}Ee=M*ee,we=M*Q,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=ee,ee=Q,Q=re;break e}if(Be<0)break e;Et+=D}Ee=M*ne,we=M*fe,Et=m;e:for(Oe=0;Oe<_;++Oe){if(ae=Ee+Et,de=we+Et,Be=L[ae]-L[de],Be>0){re=ne,ne=fe,fe=re;break e}if(Be<0)break e;Et+=D}for(Ee=M*Z,we=M*ee,Ce=M*Q,Ge=M*ne,He=M*fe,De=M*O,Fe=M*z,qe=M*H,yt=0,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,xe=Ce+Et,Qe=Ge+Et,Je=He+Et,tt=De+Et,ht=Fe+Et,gt=qe+Et,Ue[yt]=L[de],ze[yt]=L[Qe],j=j&&Ue[yt]===ze[yt],le=L[ae],q=L[xe],te=L[Je],L[tt]=le,L[ht]=q,L[gt]=te,++yt,Et+=A;for(Ee=M*k,we=M*T,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,L[ae]=L[de],Et+=A;for(Ee=M*V,we=M*S,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,L[ae]=L[de],Et+=A;if(j)for(ue=$;ue<=Y;++ue){ae=m+ue*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Be=L[ae]-Ue[yt],Be!==0)break e;yt+=F,ae+=D}if(Be!==0)if(Be<0){if(ue!==$)for(Ee=M*ue,we=M*$,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,X=L[ae],L[ae]=L[de],L[de]=X,Et+=A;++$}else for(;;){ae=m+Y*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Be=L[ae]-Ue[yt],Be!==0)break e;yt+=F,ae+=D}if(Be>0)Y--;else if(Be<0){for(Ee=M*ue,we=M*$,Ce=M*Y,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,xe=Ce+Et,X=L[ae],L[ae]=L[de],L[de]=L[xe],L[xe]=X,Et+=A;++$,--Y;break}else{for(Ee=M*ue,we=M*Y,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,X=L[ae],L[ae]=L[de],L[de]=X,Et+=A;--Y;break}}}else for(ue=$;ue<=Y;++ue){ae=m+ue*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Se=L[ae]-Ue[yt],Se!==0)break e;yt+=F,ae+=D}if(Se<0){if(ue!==$)for(Ee=M*ue,we=M*$,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,X=L[ae],L[ae]=L[de],L[de]=X,Et+=A;++$}else{ae=m+ue*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Ae=L[ae]-ze[yt],Ae!==0)break e;yt+=F,ae+=D}if(Ae>0)for(;;){ae=m+Y*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Be=L[ae]-ze[yt],Be!==0)break e;yt+=F,ae+=D}if(Be>0){if(--YH){e:for(;;){for(ae=m+$*M,yt=0,Et=m,Oe=0;Oe<_;++Oe){if(L[ae]!==Ue[yt])break e;++yt,ae+=A}++$}e:for(;;){for(ae=m+Y*M,yt=0,Et=m,Oe=0;Oe<_;++Oe){if(L[ae]!==ze[yt])break e;++yt,ae+=A}--Y}for(ue=$;ue<=Y;++ue){ae=m+ue*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Se=L[ae]-Ue[yt],Se!==0)break e;yt+=F,ae+=D}if(Se===0){if(ue!==$)for(Ee=M*ue,we=M*$,Et=m,Oe=0;Oe<_;++Oe)ae=Ee+Et,de=we+Et,X=L[ae],L[ae]=L[de],L[de]=X,Et+=A;++$}else{ae=m+ue*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Ae=L[ae]-ze[yt],Ae!==0)break e;yt+=F,ae+=D}if(Ae===0)for(;;){ae=m+Y*M,yt=0;e:for(Oe=0;Oe<_;++Oe){if(Be=L[ae]-ze[yt],Be!==0)break e;yt+=F,ae+=D}if(Be===0){if(--Y1&&y?S(l,y[0],y[1]):S(l)}var g={"uint32,1,0":function(x,f){return function(l){var y=l.data,T=l.offset|0,S=l.shape,L=l.stride,m=L[0]|0,M=S[0]|0,b=L[1]|0,s=S[1]|0,_=b,A=b,D=1;M<=32?x(0,M-1,y,T,m,b,M,s,_,A,D):f(0,M-1,y,T,m,b,M,s,_,A,D)}}};function h(x,f){var l=[f,x].join(","),y=g[l],T=n(x,f),S=i(x,f,T);return y(T,S)}d.exports=h},8729:function(d,p,t){var r=t(8139),c={};function o(n){var u=n.order,i=n.dtype,g=[u,i],h=g.join(":"),x=c[h];return x||(c[h]=x=r(u,i)),x(n),n}d.exports=o},5050:function(d,p,t){var r=t(4780),c=typeof Float64Array<"u";function o(f,l){return f[0]-l[0]}function n(){var f=this.stride,l=new Array(f.length),y;for(y=0;y=0&&(b=m|0,M+=_*b,s-=b),new T(this.data,s,_,M)},S.step=function(m){var M=this.shape[0],b=this.stride[0],s=this.offset,_=0,A=Math.ceil;return typeof m=="number"&&(_=m|0,_<0?(s+=b*(M-1),M=A(-M/_)):M=A(M/_),b*=_),new T(this.data,M,b,s)},S.transpose=function(m){m=m===void 0?0:m|0;var M=this.shape,b=this.stride;return new T(this.data,M[m],b[m],this.offset)},S.pick=function(m){var M=[],b=[],s=this.offset;typeof m=="number"&&m>=0?s=s+this.stride[0]*m|0:(M.push(this.shape[0]),b.push(this.stride[0]));var _=l[M.length+1];return _(this.data,M,b,s)},function(m,M,b,s){return new T(m,M[0],b[0],s)}},2:function(f,l,y){function T(L,m,M,b,s,_){this.data=L,this.shape=[m,M],this.stride=[b,s],this.offset=_|0}var S=T.prototype;return S.dtype=f,S.dimension=2,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(S,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),S.set=function(m,M,b){return f==="generic"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*M,b):this.data[this.offset+this.stride[0]*m+this.stride[1]*M]=b},S.get=function(m,M){return f==="generic"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*M):this.data[this.offset+this.stride[0]*m+this.stride[1]*M]},S.index=function(m,M){return this.offset+this.stride[0]*m+this.stride[1]*M},S.hi=function(m,M){return new T(this.data,typeof m!="number"||m<0?this.shape[0]:m|0,typeof M!="number"||M<0?this.shape[1]:M|0,this.stride[0],this.stride[1],this.offset)},S.lo=function(m,M){var b=this.offset,s=0,_=this.shape[0],A=this.shape[1],D=this.stride[0],F=this.stride[1];return typeof m=="number"&&m>=0&&(s=m|0,b+=D*s,_-=s),typeof M=="number"&&M>=0&&(s=M|0,b+=F*s,A-=s),new T(this.data,_,A,D,F,b)},S.step=function(m,M){var b=this.shape[0],s=this.shape[1],_=this.stride[0],A=this.stride[1],D=this.offset,F=0,G=Math.ceil;return typeof m=="number"&&(F=m|0,F<0?(D+=_*(b-1),b=G(-b/F)):b=G(b/F),_*=F),typeof M=="number"&&(F=M|0,F<0?(D+=A*(s-1),s=G(-s/F)):s=G(s/F),A*=F),new T(this.data,b,s,_,A,D)},S.transpose=function(m,M){m=m===void 0?0:m|0,M=M===void 0?1:M|0;var b=this.shape,s=this.stride;return new T(this.data,b[m],b[M],s[m],s[M],this.offset)},S.pick=function(m,M){var b=[],s=[],_=this.offset;typeof m=="number"&&m>=0?_=_+this.stride[0]*m|0:(b.push(this.shape[0]),s.push(this.stride[0])),typeof M=="number"&&M>=0?_=_+this.stride[1]*M|0:(b.push(this.shape[1]),s.push(this.stride[1]));var A=l[b.length+1];return A(this.data,b,s,_)},function(m,M,b,s){return new T(m,M[0],M[1],b[0],b[1],s)}},3:function(f,l,y){function T(L,m,M,b,s,_,A,D){this.data=L,this.shape=[m,M,b],this.stride=[s,_,A],this.offset=D|0}var S=T.prototype;return S.dtype=f,S.dimension=3,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(S,"order",{get:function(){var m=Math.abs(this.stride[0]),M=Math.abs(this.stride[1]),b=Math.abs(this.stride[2]);return m>M?M>b?[2,1,0]:m>b?[1,2,0]:[1,0,2]:m>b?[2,0,1]:b>M?[0,1,2]:[0,2,1]}}),S.set=function(m,M,b,s){return f==="generic"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b,s):this.data[this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b]=s},S.get=function(m,M,b){return f==="generic"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b):this.data[this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b]},S.index=function(m,M,b){return this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b},S.hi=function(m,M,b){return new T(this.data,typeof m!="number"||m<0?this.shape[0]:m|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof b!="number"||b<0?this.shape[2]:b|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},S.lo=function(m,M,b){var s=this.offset,_=0,A=this.shape[0],D=this.shape[1],F=this.shape[2],G=this.stride[0],O=this.stride[1],H=this.stride[2];return typeof m=="number"&&m>=0&&(_=m|0,s+=G*_,A-=_),typeof M=="number"&&M>=0&&(_=M|0,s+=O*_,D-=_),typeof b=="number"&&b>=0&&(_=b|0,s+=H*_,F-=_),new T(this.data,A,D,F,G,O,H,s)},S.step=function(m,M,b){var s=this.shape[0],_=this.shape[1],A=this.shape[2],D=this.stride[0],F=this.stride[1],G=this.stride[2],O=this.offset,H=0,z=Math.ceil;return typeof m=="number"&&(H=m|0,H<0?(O+=D*(s-1),s=z(-s/H)):s=z(s/H),D*=H),typeof M=="number"&&(H=M|0,H<0?(O+=F*(_-1),_=z(-_/H)):_=z(_/H),F*=H),typeof b=="number"&&(H=b|0,H<0?(O+=G*(A-1),A=z(-A/H)):A=z(A/H),G*=H),new T(this.data,s,_,A,D,F,G,O)},S.transpose=function(m,M,b){m=m===void 0?0:m|0,M=M===void 0?1:M|0,b=b===void 0?2:b|0;var s=this.shape,_=this.stride;return new T(this.data,s[m],s[M],s[b],_[m],_[M],_[b],this.offset)},S.pick=function(m,M,b){var s=[],_=[],A=this.offset;typeof m=="number"&&m>=0?A=A+this.stride[0]*m|0:(s.push(this.shape[0]),_.push(this.stride[0])),typeof M=="number"&&M>=0?A=A+this.stride[1]*M|0:(s.push(this.shape[1]),_.push(this.stride[1])),typeof b=="number"&&b>=0?A=A+this.stride[2]*b|0:(s.push(this.shape[2]),_.push(this.stride[2]));var D=l[s.length+1];return D(this.data,s,_,A)},function(m,M,b,s){return new T(m,M[0],M[1],M[2],b[0],b[1],b[2],s)}},4:function(f,l,y){function T(L,m,M,b,s,_,A,D,F,G){this.data=L,this.shape=[m,M,b,s],this.stride=[_,A,D,F],this.offset=G|0}var S=T.prototype;return S.dtype=f,S.dimension=4,Object.defineProperty(S,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(S,"order",{get:y}),S.set=function(m,M,b,s,_){return f==="generic"?this.data.set(this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b+this.stride[3]*s,_):this.data[this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b+this.stride[3]*s]=_},S.get=function(m,M,b,s){return f==="generic"?this.data.get(this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b+this.stride[3]*s):this.data[this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b+this.stride[3]*s]},S.index=function(m,M,b,s){return this.offset+this.stride[0]*m+this.stride[1]*M+this.stride[2]*b+this.stride[3]*s},S.hi=function(m,M,b,s){return new T(this.data,typeof m!="number"||m<0?this.shape[0]:m|0,typeof M!="number"||M<0?this.shape[1]:M|0,typeof b!="number"||b<0?this.shape[2]:b|0,typeof s!="number"||s<0?this.shape[3]:s|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},S.lo=function(m,M,b,s){var _=this.offset,A=0,D=this.shape[0],F=this.shape[1],G=this.shape[2],O=this.shape[3],H=this.stride[0],z=this.stride[1],k=this.stride[2],V=this.stride[3];return typeof m=="number"&&m>=0&&(A=m|0,_+=H*A,D-=A),typeof M=="number"&&M>=0&&(A=M|0,_+=z*A,F-=A),typeof b=="number"&&b>=0&&(A=b|0,_+=k*A,G-=A),typeof s=="number"&&s>=0&&(A=s|0,_+=V*A,O-=A),new T(this.data,D,F,G,O,H,z,k,V,_)},S.step=function(m,M,b,s){var _=this.shape[0],A=this.shape[1],D=this.shape[2],F=this.shape[3],G=this.stride[0],O=this.stride[1],H=this.stride[2],z=this.stride[3],k=this.offset,V=0,Z=Math.ceil;return typeof m=="number"&&(V=m|0,V<0?(k+=G*(_-1),_=Z(-_/V)):_=Z(_/V),G*=V),typeof M=="number"&&(V=M|0,V<0?(k+=O*(A-1),A=Z(-A/V)):A=Z(A/V),O*=V),typeof b=="number"&&(V=b|0,V<0?(k+=H*(D-1),D=Z(-D/V)):D=Z(D/V),H*=V),typeof s=="number"&&(V=s|0,V<0?(k+=z*(F-1),F=Z(-F/V)):F=Z(F/V),z*=V),new T(this.data,_,A,D,F,G,O,H,z,k)},S.transpose=function(m,M,b,s){m=m===void 0?0:m|0,M=M===void 0?1:M|0,b=b===void 0?2:b|0,s=s===void 0?3:s|0;var _=this.shape,A=this.stride;return new T(this.data,_[m],_[M],_[b],_[s],A[m],A[M],A[b],A[s],this.offset)},S.pick=function(m,M,b,s){var _=[],A=[],D=this.offset;typeof m=="number"&&m>=0?D=D+this.stride[0]*m|0:(_.push(this.shape[0]),A.push(this.stride[0])),typeof M=="number"&&M>=0?D=D+this.stride[1]*M|0:(_.push(this.shape[1]),A.push(this.stride[1])),typeof b=="number"&&b>=0?D=D+this.stride[2]*b|0:(_.push(this.shape[2]),A.push(this.stride[2])),typeof s=="number"&&s>=0?D=D+this.stride[3]*s|0:(_.push(this.shape[3]),A.push(this.stride[3]));var F=l[_.length+1];return F(this.data,_,A,D)},function(m,M,b,s){return new T(m,M[0],M[1],M[2],M[3],b[0],b[1],b[2],b[3],s)}},5:function(l,y,T){function S(m,M,b,s,_,A,D,F,G,O,H,z){this.data=m,this.shape=[M,b,s,_,A],this.stride=[D,F,G,O,H],this.offset=z|0}var L=S.prototype;return L.dtype=l,L.dimension=5,Object.defineProperty(L,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,"order",{get:T}),L.set=function(M,b,s,_,A,D){return l==="generic"?this.data.set(this.offset+this.stride[0]*M+this.stride[1]*b+this.stride[2]*s+this.stride[3]*_+this.stride[4]*A,D):this.data[this.offset+this.stride[0]*M+this.stride[1]*b+this.stride[2]*s+this.stride[3]*_+this.stride[4]*A]=D},L.get=function(M,b,s,_,A){return l==="generic"?this.data.get(this.offset+this.stride[0]*M+this.stride[1]*b+this.stride[2]*s+this.stride[3]*_+this.stride[4]*A):this.data[this.offset+this.stride[0]*M+this.stride[1]*b+this.stride[2]*s+this.stride[3]*_+this.stride[4]*A]},L.index=function(M,b,s,_,A){return this.offset+this.stride[0]*M+this.stride[1]*b+this.stride[2]*s+this.stride[3]*_+this.stride[4]*A},L.hi=function(M,b,s,_,A){return new S(this.data,typeof M!="number"||M<0?this.shape[0]:M|0,typeof b!="number"||b<0?this.shape[1]:b|0,typeof s!="number"||s<0?this.shape[2]:s|0,typeof _!="number"||_<0?this.shape[3]:_|0,typeof A!="number"||A<0?this.shape[4]:A|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(M,b,s,_,A){var D=this.offset,F=0,G=this.shape[0],O=this.shape[1],H=this.shape[2],z=this.shape[3],k=this.shape[4],V=this.stride[0],Z=this.stride[1],ee=this.stride[2],Q=this.stride[3],ne=this.stride[4];return typeof M=="number"&&M>=0&&(F=M|0,D+=V*F,G-=F),typeof b=="number"&&b>=0&&(F=b|0,D+=Z*F,O-=F),typeof s=="number"&&s>=0&&(F=s|0,D+=ee*F,H-=F),typeof _=="number"&&_>=0&&(F=_|0,D+=Q*F,z-=F),typeof A=="number"&&A>=0&&(F=A|0,D+=ne*F,k-=F),new S(this.data,G,O,H,z,k,V,Z,ee,Q,ne,D)},L.step=function(M,b,s,_,A){var D=this.shape[0],F=this.shape[1],G=this.shape[2],O=this.shape[3],H=this.shape[4],z=this.stride[0],k=this.stride[1],V=this.stride[2],Z=this.stride[3],ee=this.stride[4],Q=this.offset,ne=0,fe=Math.ceil;return typeof M=="number"&&(ne=M|0,ne<0?(Q+=z*(D-1),D=fe(-D/ne)):D=fe(D/ne),z*=ne),typeof b=="number"&&(ne=b|0,ne<0?(Q+=k*(F-1),F=fe(-F/ne)):F=fe(F/ne),k*=ne),typeof s=="number"&&(ne=s|0,ne<0?(Q+=V*(G-1),G=fe(-G/ne)):G=fe(G/ne),V*=ne),typeof _=="number"&&(ne=_|0,ne<0?(Q+=Z*(O-1),O=fe(-O/ne)):O=fe(O/ne),Z*=ne),typeof A=="number"&&(ne=A|0,ne<0?(Q+=ee*(H-1),H=fe(-H/ne)):H=fe(H/ne),ee*=ne),new S(this.data,D,F,G,O,H,z,k,V,Z,ee,Q)},L.transpose=function(M,b,s,_,A){M=M===void 0?0:M|0,b=b===void 0?1:b|0,s=s===void 0?2:s|0,_=_===void 0?3:_|0,A=A===void 0?4:A|0;var D=this.shape,F=this.stride;return new S(this.data,D[M],D[b],D[s],D[_],D[A],F[M],F[b],F[s],F[_],F[A],this.offset)},L.pick=function(M,b,s,_,A){var D=[],F=[],G=this.offset;typeof M=="number"&&M>=0?G=G+this.stride[0]*M|0:(D.push(this.shape[0]),F.push(this.stride[0])),typeof b=="number"&&b>=0?G=G+this.stride[1]*b|0:(D.push(this.shape[1]),F.push(this.stride[1])),typeof s=="number"&&s>=0?G=G+this.stride[2]*s|0:(D.push(this.shape[2]),F.push(this.stride[2])),typeof _=="number"&&_>=0?G=G+this.stride[3]*_|0:(D.push(this.shape[3]),F.push(this.stride[3])),typeof A=="number"&&A>=0?G=G+this.stride[4]*A|0:(D.push(this.shape[4]),F.push(this.stride[4]));var O=y[D.length+1];return O(this.data,D,F,G)},function(M,b,s,_){return new S(M,b[0],b[1],b[2],b[3],b[4],s[0],s[1],s[2],s[3],s[4],_)}}};function i(f,l){var y=l===-1?"T":String(l),T=u[y];return l===-1?T(f):l===0?T(f,h[f][0]):T(f,h[f],n)}function g(f){if(r(f))return"buffer";if(c)switch(Object.prototype.toString.call(f)){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 Uint8ClampedArray]":return"uint8_clamped";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(f)?"array":"generic"}var h={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(f,l,y,T){if(f===void 0){var s=h.array[0];return s([])}else typeof f=="number"&&(f=[f]);l===void 0&&(l=[f.length]);var S=l.length;if(y===void 0){y=new Array(S);for(var L=S-1,m=1;L>=0;--L)y[L]=m,m*=l[L]}if(T===void 0){T=0;for(var L=0;L>>0;d.exports=n;function n(u,i){if(isNaN(u)||isNaN(i))return NaN;if(u===i)return u;if(u===0)return i<0?-c:c;var g=r.hi(u),h=r.lo(u);return i>u==u>0?h===o?(g+=1,h=0):h+=1:h===0?(h=o,g-=1):h-=1,r.pack(h,g)}},115:function(d,p){var t=1e-6,r=1e-6;p.vertexNormals=function(c,o,n){for(var u=o.length,i=new Array(u),g=n===void 0?t:n,h=0;hg)for(var D=i[l],F=1/Math.sqrt(b*_),A=0;A<3;++A){var G=(A+1)%3,O=(A+2)%3;D[A]+=F*(s[G]*M[O]-s[O]*M[G])}}for(var h=0;hg)for(var F=1/Math.sqrt(H),A=0;A<3;++A)D[A]*=F;else for(var A=0;A<3;++A)D[A]=0}return i},p.faceNormals=function(c,o,n){for(var u=c.length,i=new Array(u),g=n===void 0?r:n,h=0;hg?L=1/Math.sqrt(L):L=0;for(var l=0;l<3;++l)S[l]*=L;i[h]=S}return i}},567:function(d){d.exports=p;function p(t,r,c,o,n,u,i,g,h,x){var f=r+u+x;if(l>0){var l=Math.sqrt(f+1);t[0]=.5*(i-h)/l,t[1]=.5*(g-o)/l,t[2]=.5*(c-u)/l,t[3]=.5*l}else{var y=Math.max(r,u,x),l=Math.sqrt(2*y-f+1);r>=y?(t[0]=.5*l,t[1]=.5*(n+c)/l,t[2]=.5*(g+o)/l,t[3]=.5*(i-h)/l):u>=y?(t[0]=.5*(c+n)/l,t[1]=.5*l,t[2]=.5*(h+i)/l,t[3]=.5*(g-o)/l):(t[0]=.5*(o+g)/l,t[1]=.5*(i+h)/l,t[2]=.5*l,t[3]=.5*(c-n)/l)}return t}},7774:function(d,p,t){d.exports=l;var r=t(8444),c=t(3012),o=t(5950),n=t(7437),u=t(567);function i(y,T,S){return Math.sqrt(Math.pow(y,2)+Math.pow(T,2)+Math.pow(S,2))}function g(y,T,S,L){return Math.sqrt(Math.pow(y,2)+Math.pow(T,2)+Math.pow(S,2)+Math.pow(L,2))}function h(y,T){var S=T[0],L=T[1],m=T[2],M=T[3],b=g(S,L,m,M);b>1e-6?(y[0]=S/b,y[1]=L/b,y[2]=m/b,y[3]=M/b):(y[0]=y[1]=y[2]=0,y[3]=1)}function x(y,T,S){this.radius=r([S]),this.center=r(T),this.rotation=r(y),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 f=x.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(y){this.radius.curve(y),this.center.curve(y),this.rotation.curve(y);var T=this.computedRotation;h(T,T);var S=this.computedMatrix;o(S,T);var L=this.computedCenter,m=this.computedEye,M=this.computedUp,b=Math.exp(this.computedRadius[0]);m[0]=L[0]+b*S[2],m[1]=L[1]+b*S[6],m[2]=L[2]+b*S[10],M[0]=S[1],M[1]=S[5],M[2]=S[9];for(var s=0;s<3;++s){for(var _=0,A=0;A<3;++A)_+=S[s+4*A]*m[A];S[12+s]=-_}},f.getMatrix=function(y,T){this.recalcMatrix(y);var S=this.computedMatrix;if(T){for(var L=0;L<16;++L)T[L]=S[L];return T}return S},f.idle=function(y){this.center.idle(y),this.radius.idle(y),this.rotation.idle(y)},f.flush=function(y){this.center.flush(y),this.radius.flush(y),this.rotation.flush(y)},f.pan=function(y,T,S,L){T=T||0,S=S||0,L=L||0,this.recalcMatrix(y);var m=this.computedMatrix,M=m[1],b=m[5],s=m[9],_=i(M,b,s);M/=_,b/=_,s/=_;var A=m[0],D=m[4],F=m[8],G=A*M+D*b+F*s;A-=M*G,D-=b*G,F-=s*G;var O=i(A,D,F);A/=O,D/=O,F/=O,m[2],m[6],m[10];var H=A*T+M*S,z=D*T+b*S,k=F*T+s*S;this.center.move(y,H,z,k);var V=Math.exp(this.computedRadius[0]);V=Math.max(1e-4,V+L),this.radius.set(y,Math.log(V))},f.rotate=function(y,T,S,L){this.recalcMatrix(y),T=T||0,S=S||0;var m=this.computedMatrix,M=m[0],b=m[4],s=m[8],_=m[1],A=m[5],D=m[9],F=m[2],G=m[6],O=m[10],H=T*M+S*_,z=T*b+S*A,k=T*s+S*D,V=-(G*k-O*z),Z=-(O*H-F*k),ee=-(F*z-G*H),Q=Math.sqrt(Math.max(0,1-Math.pow(V,2)-Math.pow(Z,2)-Math.pow(ee,2))),ne=g(V,Z,ee,Q);ne>1e-6?(V/=ne,Z/=ne,ee/=ne,Q/=ne):(V=Z=ee=0,Q=1);var fe=this.computedRotation,$=fe[0],Y=fe[1],j=fe[2],X=fe[3],re=$*Q+X*V+Y*ee-j*Z,le=Y*Q+X*Z+j*V-$*ee,q=j*Q+X*ee+$*Z-Y*V,te=X*Q-$*V-Y*Z-j*ee;if(L){V=F,Z=G,ee=O;var ue=Math.sin(L)/i(V,Z,ee);V*=ue,Z*=ue,ee*=ue,Q=Math.cos(T),re=re*Q+te*V+le*ee-q*Z,le=le*Q+te*Z+q*V-re*ee,q=q*Q+te*ee+re*Z-le*V,te=te*Q-re*V-le*Z-q*ee}var ae=g(re,le,q,te);ae>1e-6?(re/=ae,le/=ae,q/=ae,te/=ae):(re=le=q=0,te=1),this.rotation.set(y,re,le,q,te)},f.lookAt=function(y,T,S,L){this.recalcMatrix(y),S=S||this.computedCenter,T=T||this.computedEye,L=L||this.computedUp;var m=this.computedMatrix;c(m,T,S,L);var M=this.computedRotation;u(M,m[0],m[1],m[2],m[4],m[5],m[6],m[8],m[9],m[10]),h(M,M),this.rotation.set(y,M[0],M[1],M[2],M[3]);for(var b=0,s=0;s<3;++s)b+=Math.pow(S[s]-T[s],2);this.radius.set(y,.5*Math.log(Math.max(b,1e-6))),this.center.set(y,S[0],S[1],S[2])},f.translate=function(y,T,S,L){this.center.move(y,T||0,S||0,L||0)},f.setMatrix=function(y,T){var S=this.computedRotation;u(S,T[0],T[1],T[2],T[4],T[5],T[6],T[8],T[9],T[10]),h(S,S),this.rotation.set(y,S[0],S[1],S[2],S[3]);var L=this.computedMatrix;n(L,T);var m=L[15];if(Math.abs(m)>1e-6){var M=L[12]/m,b=L[13]/m,s=L[14]/m;this.recalcMatrix(y);var _=Math.exp(this.computedRadius[0]);this.center.set(y,M-L[2]*_,b-L[6]*_,s-L[10]*_),this.radius.idle(y)}else this.center.idle(y),this.radius.idle(y)},f.setDistance=function(y,T){T>0&&this.radius.set(y,Math.log(T))},f.setDistanceLimits=function(y,T){y>0?y=Math.log(y):y=-1/0,T>0?T=Math.log(T):T=1/0,T=Math.max(T,y),this.radius.bounds[0][0]=y,this.radius.bounds[1][0]=T},f.getDistanceLimits=function(y){var T=this.radius.bounds;return y?(y[0]=Math.exp(T[0][0]),y[1]=Math.exp(T[1][0]),y):[Math.exp(T[0][0]),Math.exp(T[1][0])]},f.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]}},f.fromJSON=function(y){var T=this.lastT(),S=y.center;S&&this.center.set(T,S[0],S[1],S[2]);var L=y.rotation;L&&this.rotation.set(T,L[0],L[1],L[2],L[3]);var m=y.distance;m&&m>0&&this.radius.set(T,Math.log(m)),this.setDistanceLimits(y.zoomMin,y.zoomMax)};function l(y){y=y||{};var T=y.center||[0,0,0],S=y.rotation||[0,0,0,1],L=y.radius||1;T=[].slice.call(T,0,3),S=[].slice.call(S,0,4),h(S,S);var m=new x(S,T,Math.log(L));return m.setDistanceLimits(y.zoomMin,y.zoomMax),("eye"in y||"up"in y)&&m.lookAt(0,y.eye,y.center,y.up),m}},4930:function(d,p,t){/*! +* pad-left +* +* Copyright (c) 2014-2015, Jon Schlinkert. +* Licensed under the MIT license. +*/var r=t(6184);d.exports=function(o,n,u){return u=typeof u<"u"?u+"":" ",r(u,n)+o}},4405:function(d){d.exports=function(t,r){r||(r=[0,""]),t=String(t);var c=parseFloat(t,10);return r[0]=c,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}},4166:function(d,p,t){d.exports=c;var r=t(9398);function c(o,n){for(var u=n.length|0,i=o.length,g=[new Array(u),new Array(u)],h=0;h0){A=g[G][s][0],F=G;break}D=A[F^1];for(var O=0;O<2;++O)for(var H=g[O][s],z=0;z0&&(A=k,D=V,F=O)}return _||A&&l(A,F),D}function T(b,s){var _=g[s][b][0],A=[b];l(_,s);for(var D=_[s^1];;){for(;D!==b;)A.push(D),D=y(A[A.length-2],D,!1);if(g[0][b].length+g[1][b].length===0)break;var F=A[A.length-1],G=b,O=A[1],H=y(F,G,!0);if(r(n[F],n[G],n[O],n[H])<0)break;A.push(b),D=y(F,G)}return A}function S(b,s){return s[1]===s[s.length-1]}for(var h=0;h0;){g[0][h].length;var M=T(h,L);S(m,M)?m.push.apply(m,M):(m.length>0&&f.push(m),m=M)}m.length>0&&f.push(m)}return f}},3959:function(d,p,t){d.exports=c;var r=t(8348);function c(o,n){for(var u=r(o,n.length),i=new Array(n.length),g=new Array(n.length),h=[],x=0;x0;){var l=h.pop();i[l]=!1;for(var y=u[l],x=0;x0}m=m.filter(M);for(var b=m.length,s=new Array(b),_=new Array(b),L=0;L0;){var ue=le.pop(),ae=Q[ue];i(ae,function(Be,Oe){return Be-Oe});var de=ae.length,xe=q[ue],Se;if(xe===0){var H=m[ue];Se=[H]}for(var L=0;L=0)&&(q[Ae]=xe^1,le.push(Ae),xe===0)){var H=m[Ae];re(H)||(H.reverse(),Se.push(H))}}xe===0&&te.push(Se)}return te}},211:function(d,p,t){d.exports=y;var r=t(417)[3],c=t(4385),o=t(9014),n=t(5070);function u(){return!0}function i(T){return function(S,L){var m=T[S];return m?!!m.queryPoint(L,u):!1}}function g(T){for(var S={},L=0;L0&&S[m]===L[0])M=T[m-1];else return 1;for(var b=1;M;){var s=M.key,_=r(L,s[0],s[1]);if(s[0][0]0)b=-1,M=M.right;else return 0;else if(_>0)M=M.left;else if(_<0)b=1,M=M.right;else return 0}return b}}function x(T){return 1}function f(T){return function(L){return T(L[0],L[1])?0:1}}function l(T,S){return function(m){return T(m[0],m[1])?0:S(m)}}function y(T){for(var S=T.length,L=[],m=[],M=0;M=x?(s=1,A=x+2*y+S):(s=-y/x,A=y*s+S)):(s=0,T>=0?(_=0,A=S):-T>=l?(_=1,A=l+2*T+S):(_=-T/l,A=T*_+S));else if(_<0)_=0,y>=0?(s=0,A=S):-y>=x?(s=1,A=x+2*y+S):(s=-y/x,A=y*s+S);else{var D=1/b;s*=D,_*=D,A=s*(x*s+f*_+2*y)+_*(f*s+l*_+2*T)+S}else{var F,G,O,H;s<0?(F=f+y,G=l+T,G>F?(O=G-F,H=x-2*f+l,O>=H?(s=1,_=0,A=x+2*y+S):(s=O/H,_=1-s,A=s*(x*s+f*_+2*y)+_*(f*s+l*_+2*T)+S)):(s=0,G<=0?(_=1,A=l+2*T+S):T>=0?(_=0,A=S):(_=-T/l,A=T*_+S))):_<0?(F=f+T,G=x+y,G>F?(O=G-F,H=x-2*f+l,O>=H?(_=1,s=0,A=l+2*T+S):(_=O/H,s=1-_,A=s*(x*s+f*_+2*y)+_*(f*s+l*_+2*T)+S)):(_=0,G<=0?(s=1,A=x+2*y+S):y>=0?(s=0,A=S):(s=-y/x,A=y*s+S))):(O=l+T-f-y,O<=0?(s=0,_=1,A=l+2*T+S):(H=x-2*f+l,O>=H?(s=1,_=0,A=x+2*y+S):(s=O/H,_=1-s,A=s*(x*s+f*_+2*y)+_*(f*s+l*_+2*T)+S)))}for(var z=1-s-_,h=0;h0){var l=u[g-1];if(r(x,l)===0&&o(l)!==f){g-=1;continue}}u[g++]=x}}return u.length=g,u}},6184:function(d){/*! +* repeat-string +* +* Copyright (c) 2014-2015, Jon Schlinkert. +* Licensed under the MIT License. +*/var p="",t;d.exports=r;function r(c,o){if(typeof c!="string")throw new TypeError("expected a string");if(o===1)return c;if(o===2)return c+c;var n=c.length*o;if(t!==c||typeof t>"u")t=c,p="";else if(p.length>=n)return p.substr(0,n);for(;n>p.length&&o>1;)o&1&&(p+=c),o>>=1,c+=c;return p+=c,p=p.substr(0,n),p}},8161:function(d,p,t){d.exports=t.g.performance&&t.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(d){d.exports=p;function p(t){for(var r=t.length,c=t[t.length-1],o=r,n=r-2;n>=0;--n){var u=c,i=t[n];c=u+i;var g=c-u,h=i-g;h&&(t[--o]=c,c=h)}for(var x=0,n=o;n0){if(G<=0)return O;H=F+G}else if(F<0){if(G>=0)return O;H=-(F+G)}else return O;var z=g*H;return O>=z||O<=-z?O:T(_,A,D)},function(_,A,D,F){var G=_[0]-F[0],O=A[0]-F[0],H=D[0]-F[0],z=_[1]-F[1],k=A[1]-F[1],V=D[1]-F[1],Z=_[2]-F[2],ee=A[2]-F[2],Q=D[2]-F[2],ne=O*V,fe=H*k,$=H*z,Y=G*V,j=G*k,X=O*z,re=Z*(ne-fe)+ee*($-Y)+Q*(j-X),le=(Math.abs(ne)+Math.abs(fe))*Math.abs(Z)+(Math.abs($)+Math.abs(Y))*Math.abs(ee)+(Math.abs(j)+Math.abs(X))*Math.abs(Q),q=h*le;return re>q||-re>q?re:S(_,A,D,F)}];function m(s){var _=L[s.length];return _||(_=L[s.length]=y(s.length)),_.apply(void 0,s)}function M(s,_,A,D,F,G,O){return function(z,k,V,Z,ee){switch(arguments.length){case 0:case 1:return 0;case 2:return D(z,k);case 3:return F(z,k,V);case 4:return G(z,k,V,Z);case 5:return O(z,k,V,Z,ee)}for(var Q=new Array(arguments.length),ne=0;ne0&&x>0||h<0&&x<0)return!1;var f=r(i,n,u),l=r(g,n,u);return f>0&&l>0||f<0&&l<0?!1:h===0&&x===0&&f===0&&l===0?c(n,u,i,g):!0}},4078:function(d){d.exports=t;function p(r,c){var o=r+c,n=o-r,u=o-n,i=c-n,g=r-u,h=g+i;return h?[h,o]:[o]}function t(r,c){var o=r.length|0,n=c.length|0;if(o===1&&n===1)return p(r[0],-c[0]);var u=o+n,i=new Array(u),g=0,h=0,x=0,f=Math.abs,l=r[h],y=f(l),T=-c[x],S=f(T),L,m;y=n?(L=l,h+=1,h=n?(L=l,h+=1,h"u"&&(L=u(y));var m=y.length;if(m===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var M=i(T,+S),b=g(y,L),s=h(b,T,M,+S),_=x(b,T.length|0),A=n(L)(y,b.data,_,M),D=f(b),F=[].slice.call(s.data,0,s.shape[0]);return c.free(M),c.free(b.data),c.free(s.data),c.free(_),{cells:A,vertexIds:D,vertexWeights:F}}},1168:function(d){d.exports=t;var p=[function(){function c(o,n,u,i){for(var g=o.length,h=[],x=0;x>1,T=u[2*y+1];if(T===x)return y;x>1,T=u[2*y+1];if(T===x)return y;x>1,T=u[2*y+1];if(T===x)return y;x0)-(o<0)},p.abs=function(o){var n=o>>t-1;return(o^n)-n},p.min=function(o,n){return n^(o^n)&-(o65535)<<4,o>>>=n,u=(o>255)<<3,o>>>=u,n|=u,u=(o>15)<<2,o>>>=u,n|=u,u=(o>3)<<1,o>>>=u,n|=u,n|o>>1},p.log10=function(o){return o>=1e9?9:o>=1e8?8:o>=1e7?7:o>=1e6?6:o>=1e5?5:o>=1e4?4:o>=1e3?3:o>=100?2:o>=10?1:0},p.popCount=function(o){return o=o-(o>>>1&1431655765),o=(o&858993459)+(o>>>2&858993459),(o+(o>>>4)&252645135)*16843009>>>24};function r(o){var n=32;return o&=-o,o&&n--,o&65535&&(n-=16),o&16711935&&(n-=8),o&252645135&&(n-=4),o&858993459&&(n-=2),o&1431655765&&(n-=1),n}p.countTrailingZeros=r,p.nextPow2=function(o){return o+=o===0,--o,o|=o>>>1,o|=o>>>2,o|=o>>>4,o|=o>>>8,o|=o>>>16,o+1},p.prevPow2=function(o){return o|=o>>>1,o|=o>>>2,o|=o>>>4,o|=o>>>8,o|=o>>>16,o-(o>>>1)},p.parity=function(o){return o^=o>>>16,o^=o>>>8,o^=o>>>4,o&=15,27030>>>o&1};var c=new Array(256);(function(o){for(var n=0;n<256;++n){var u=n,i=n,g=7;for(u>>>=1;u;u>>>=1)i<<=1,i|=u&1,--g;o[n]=i<>>8&255]<<16|c[o>>>16&255]<<8|c[o>>>24&255]},p.interleave2=function(o,n){return o&=65535,o=(o|o<<8)&16711935,o=(o|o<<4)&252645135,o=(o|o<<2)&858993459,o=(o|o<<1)&1431655765,n&=65535,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,o|n<<1},p.deinterleave2=function(o,n){return o=o>>>n&1431655765,o=(o|o>>>1)&858993459,o=(o|o>>>2)&252645135,o=(o|o>>>4)&16711935,o=(o|o>>>16)&65535,o<<16>>16},p.interleave3=function(o,n,u){return o&=1023,o=(o|o<<16)&4278190335,o=(o|o<<8)&251719695,o=(o|o<<4)&3272356035,o=(o|o<<2)&1227133513,n&=1023,n=(n|n<<16)&4278190335,n=(n|n<<8)&251719695,n=(n|n<<4)&3272356035,n=(n|n<<2)&1227133513,o|=n<<1,u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,o|u<<2},p.deinterleave3=function(o,n){return o=o>>>n&1227133513,o=(o|o>>>2)&3272356035,o=(o|o>>>4)&251719695,o=(o|o>>>8)&4278190335,o=(o|o>>>16)&1023,o<<22>>22},p.nextCombination=function(o){var n=o|o-1;return n+1|(~n&-~n)-1>>>r(o)+1}},6656:function(d,p,t){"use restrict";var r=t(9392),c=t(9521);function o(s){for(var _=0,A=Math.max,D=0,F=s.length;D>1,O=i(s[G],_);O<=0?(O===0&&(F=G),A=G+1):O>0&&(D=G-1)}return F}p.findCell=f;function l(s,_){for(var A=new Array(s.length),D=0,F=A.length;D=s.length||i(s[Q],G)!==0););}return A}p.incidence=l;function y(s,_){if(!_)return l(x(S(s,0)),s);for(var A=new Array(_),D=0;D<_;++D)A[D]=[];for(var D=0,F=s.length;D>>k&1&&z.push(F[k]);_.push(z)}return h(_)}p.explode=T;function S(s,_){if(_<0)return[];for(var A=[],D=(1<<_+1)-1,F=0;F>1:($>>1)-1}function D($){for(var Y=_($);;){var j=Y,X=2*$+1,re=2*($+1),le=$;if(X0;){var j=A($);if(j>=0){var X=_(j);if(Y0){var $=z[0];return s(0,Z-1),Z-=1,D(0),$}return-1}function O($,Y){var j=z[$];return y[j]===Y?$:(y[j]=-1/0,F($),G(),y[j]=Y,Z+=1,F(Z-1))}function H($){if(!T[$]){T[$]=!0;var Y=f[$],j=l[$];f[j]>=0&&(f[j]=Y),l[Y]>=0&&(l[Y]=j),k[Y]>=0&&O(k[Y],b(Y)),k[j]>=0&&O(k[j],b(j))}}for(var z=[],k=new Array(h),S=0;S>1;S>=0;--S)D(S);for(;;){var ee=G();if(ee<0||y[ee]>g)break;H(ee)}for(var Q=[],S=0;S=0&&j>=0&&Y!==j){var X=k[Y],re=k[j];X!==re&&fe.push([X,re])}}),c.unique(c.normalize(fe)),{positions:Q,edges:fe}}},6638:function(d,p,t){d.exports=o;var r=t(417);function c(n,u){var i,g;if(u[0][0]u[1][0])i=u[1],g=u[0];else{var h=Math.min(n[0][1],n[1][1]),x=Math.max(n[0][1],n[1][1]),f=Math.min(u[0][1],u[1][1]),l=Math.max(u[0][1],u[1][1]);return xl?h-l:x-l}var y,T;n[0][1]u[1][0])i=u[1],g=u[0];else return c(u,n);var h,x;if(n[0][0]n[1][0])h=n[1],x=n[0];else return-c(n,u);var f=r(i,g,x),l=r(i,g,h);if(f<0){if(l<=0)return f}else if(f>0){if(l>=0)return f}else if(l)return l;if(f=r(x,h,g),l=r(x,h,i),f<0){if(l<=0)return f}else if(f>0){if(l>=0)return f}else if(l)return l;return g[0]-x[0]}},4385:function(d,p,t){d.exports=l;var r=t(5070),c=t(7080),o=t(417),n=t(6638);function u(y,T,S){this.slabs=y,this.coordinates=T,this.horizontal=S}var i=u.prototype;function g(y,T){return y.y-T}function h(y,T){for(var S=null;y;){var L=y.key,m,M;L[0][0]0)if(T[0]!==L[1][0])S=y,y=y.right;else{var s=h(y.right,T);if(s)return s;y=y.left}else{if(T[0]!==L[1][0])return y;var s=h(y.right,T);if(s)return s;y=y.left}}return S}i.castUp=function(y){var T=r.le(this.coordinates,y[0]);if(T<0)return-1;this.slabs[T];var S=h(this.slabs[T],y),L=-1;if(S&&(L=S.value),this.coordinates[T]===y[0]){var m=null;if(S&&(m=S.key),T>0){var M=h(this.slabs[T-1],y);M&&(m?n(M.key,m)>0&&(m=M.key,L=M.value):(L=M.value,m=M.key))}var b=this.horizontal[T];if(b.length>0){var s=r.ge(b,y[1],g);if(s=b.length)return L;_=b[s]}}if(_.start)if(m){var A=o(m[0],m[1],[y[0],_.y]);m[0][0]>m[1][0]&&(A=-A),A>0&&(L=_.index)}else L=_.index;else _.y!==y[1]&&(L=_.index)}}}return L};function x(y,T,S,L){this.y=y,this.index=T,this.start=S,this.closed=L}function f(y,T,S,L){this.x=y,this.segment=T,this.create=S,this.index=L}function l(y){for(var T=y.length,S=2*T,L=new Array(S),m=0;m1&&(T=1);for(var S=1-T,L=h.length,m=new Array(L),M=0;M0||y>0&&m<0){var M=n(T,m,S,y);f.push(M),l.push(M.slice())}m<0?l.push(S.slice()):m>0?f.push(S.slice()):(f.push(S.slice()),l.push(S.slice())),y=m}return{positive:f,negative:l}}function i(h,x){for(var f=[],l=o(h[h.length-1],x),y=h[h.length-1],T=h[0],S=0;S0||l>0&&L<0)&&f.push(n(y,L,T,l)),L>=0&&f.push(T.slice()),l=L}return f}function g(h,x){for(var f=[],l=o(h[h.length-1],x),y=h[h.length-1],T=h[0],S=0;S0||l>0&&L<0)&&f.push(n(y,L,T,l)),L<=0&&f.push(T.slice()),l=L}return f}},8974:function(d,p,t){var r;(function(){var c={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 o(h){return u(g(h),arguments)}function n(h,x){return o.apply(null,[h].concat(x||[]))}function u(h,x){var f=1,l=h.length,y,T="",S,L,m,M,b,s,_,A;for(S=0;S=0),m.type){case"b":y=parseInt(y,10).toString(2);break;case"c":y=String.fromCharCode(parseInt(y,10));break;case"d":case"i":y=parseInt(y,10);break;case"j":y=JSON.stringify(y,null,m.width?parseInt(m.width):0);break;case"e":y=m.precision?parseFloat(y).toExponential(m.precision):parseFloat(y).toExponential();break;case"f":y=m.precision?parseFloat(y).toFixed(m.precision):parseFloat(y);break;case"g":y=m.precision?String(Number(y.toPrecision(m.precision))):parseFloat(y);break;case"o":y=(parseInt(y,10)>>>0).toString(8);break;case"s":y=String(y),y=m.precision?y.substring(0,m.precision):y;break;case"t":y=String(!!y),y=m.precision?y.substring(0,m.precision):y;break;case"T":y=Object.prototype.toString.call(y).slice(8,-1).toLowerCase(),y=m.precision?y.substring(0,m.precision):y;break;case"u":y=parseInt(y,10)>>>0;break;case"v":y=y.valueOf(),y=m.precision?y.substring(0,m.precision):y;break;case"x":y=(parseInt(y,10)>>>0).toString(16);break;case"X":y=(parseInt(y,10)>>>0).toString(16).toUpperCase();break}c.json.test(m.type)?T+=y:(c.number.test(m.type)&&(!_||m.sign)?(A=_?"+":"-",y=y.toString().replace(c.sign,"")):A="",b=m.pad_char?m.pad_char==="0"?"0":m.pad_char.charAt(1):" ",s=m.width-(A+y).length,M=m.width&&s>0?b.repeat(s):"",T+=m.align?A+y+M:b==="0"?A+M+y:M+A+y)}return T}var i=Object.create(null);function g(h){if(i[h])return i[h];for(var x=h,f,l=[],y=0;x;){if((f=c.text.exec(x))!==null)l.push(f[0]);else if((f=c.modulo.exec(x))!==null)l.push("%");else if((f=c.placeholder.exec(x))!==null){if(f[2]){y|=1;var T=[],S=f[2],L=[];if((L=c.key.exec(S))!==null)for(T.push(L[1]);(S=S.substring(L[0].length))!=="";)if((L=c.key_access.exec(S))!==null)T.push(L[1]);else if((L=c.index_access.exec(S))!==null)T.push(L[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");f[2]=T}else y|=2;if(y===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");l.push({placeholder:f[0],param_no:f[1],keys:f[2],sign:f[3],pad_char:f[4],align:f[5],width:f[6],precision:f[7],type:f[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");x=x.substring(f[0].length)}return i[h]=l}p.sprintf=o,p.vsprintf=n,typeof window<"u"&&(window.sprintf=o,window.vsprintf=n,r=function(){return{sprintf:o,vsprintf:n}}.call(p,t,p,d),r!==void 0&&(d.exports=r))})()},4162:function(d,p,t){d.exports=g;var r=t(9284),c=t(9584),o={"2d":function(h,x,f){var l=h({order:x,scalarArguments:3,getters:f==="generic"?[0]:void 0,phase:function(T,S,L,m){return T>m|0},vertex:function(T,S,L,m,M,b,s,_,A,D,F,G,O){var H=(s<<0)+(_<<1)+(A<<2)+(D<<3)|0;if(!(H===0||H===15))switch(H){case 0:F.push([T-.5,S-.5]);break;case 1:F.push([T-.25-.25*(m+L-2*O)/(L-m),S-.25-.25*(M+L-2*O)/(L-M)]);break;case 2:F.push([T-.75-.25*(-m-L+2*O)/(m-L),S-.25-.25*(b+m-2*O)/(m-b)]);break;case 3:F.push([T-.5,S-.5-.5*(M+L+b+m-4*O)/(L-M+m-b)]);break;case 4:F.push([T-.25-.25*(b+M-2*O)/(M-b),S-.75-.25*(-M-L+2*O)/(M-L)]);break;case 5:F.push([T-.5-.5*(m+L+b+M-4*O)/(L-m+M-b),S-.5]);break;case 6:F.push([T-.5-.25*(-m-L+b+M)/(m-L+M-b),S-.5-.25*(-M-L+b+m)/(M-L+m-b)]);break;case 7:F.push([T-.75-.25*(b+M-2*O)/(M-b),S-.75-.25*(b+m-2*O)/(m-b)]);break;case 8:F.push([T-.75-.25*(-b-M+2*O)/(b-M),S-.75-.25*(-b-m+2*O)/(b-m)]);break;case 9:F.push([T-.5-.25*(m+L+-b-M)/(L-m+b-M),S-.5-.25*(M+L+-b-m)/(L-M+b-m)]);break;case 10:F.push([T-.5-.5*(-m-L+-b-M+4*O)/(m-L+b-M),S-.5]);break;case 11:F.push([T-.25-.25*(-b-M+2*O)/(b-M),S-.75-.25*(M+L-2*O)/(L-M)]);break;case 12:F.push([T-.5,S-.5-.5*(-M-L+-b-m+4*O)/(M-L+b-m)]);break;case 13:F.push([T-.75-.25*(m+L-2*O)/(L-m),S-.25-.25*(-b-m+2*O)/(b-m)]);break;case 14:F.push([T-.25-.25*(-m-L+2*O)/(m-L),S-.25-.25*(-M-L+2*O)/(M-L)]);break;case 15:F.push([T-.5,S-.5]);break}},cell:function(T,S,L,m,M,b,s,_,A){M?_.push([T,S]):_.push([S,T])}});return function(y,T){var S=[],L=[];return l(y,S,L,T),{positions:S,cells:L}}}};function n(h,x){var f=h.length+"d",l=o[f];if(l)return l(r,h,x)}function u(h,x){for(var f=c(h,x),l=f.length,y=new Array(l),T=new Array(l),S=0;S0&&(L+=.02);for(var M=new Float32Array(S),b=0,s=-.5*L,m=0;mMath.max(m,M)?b[2]=1:m>Math.max(L,M)?b[0]=1:b[1]=1;for(var s=0,_=0,A=0;A<3;++A)s+=S[A]*S[A],_+=b[A]*S[A];for(var A=0;A<3;++A)b[A]-=_/s*S[A];return u(b,b),b}function f(S,L,m,M,b,s,_,A){this.center=r(m),this.up=r(M),this.right=r(b),this.radius=r([s]),this.angle=r([_,A]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(S,L),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 D=0;D<16;++D)this.computedMatrix[D]=.5;this.recalcMatrix(0)}var l=f.prototype;l.setDistanceLimits=function(S,L){S>0?S=Math.log(S):S=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,S),this.radius.bounds[0][0]=S,this.radius.bounds[1][0]=L},l.getDistanceLimits=function(S){var L=this.radius.bounds[0];return S?(S[0]=Math.exp(L[0][0]),S[1]=Math.exp(L[1][0]),S):[Math.exp(L[0][0]),Math.exp(L[1][0])]},l.recalcMatrix=function(S){this.center.curve(S),this.up.curve(S),this.right.curve(S),this.radius.curve(S),this.angle.curve(S);for(var L=this.computedUp,m=this.computedRight,M=0,b=0,s=0;s<3;++s)b+=L[s]*m[s],M+=L[s]*L[s];for(var _=Math.sqrt(M),A=0,s=0;s<3;++s)m[s]-=L[s]*b/M,A+=m[s]*m[s],L[s]/=_;for(var D=Math.sqrt(A),s=0;s<3;++s)m[s]/=D;var F=this.computedToward;n(F,L,m),u(F,F);for(var G=Math.exp(this.computedRadius[0]),O=this.computedAngle[0],H=this.computedAngle[1],z=Math.cos(O),k=Math.sin(O),V=Math.cos(H),Z=Math.sin(H),ee=this.computedCenter,Q=z*V,ne=k*V,fe=Z,$=-z*Z,Y=-k*Z,j=V,X=this.computedEye,re=this.computedMatrix,s=0;s<3;++s){var le=Q*m[s]+ne*F[s]+fe*L[s];re[4*s+1]=$*m[s]+Y*F[s]+j*L[s],re[4*s+2]=le,re[4*s+3]=0}var q=re[1],te=re[5],ue=re[9],ae=re[2],de=re[6],xe=re[10],Se=te*xe-ue*de,Ae=ue*ae-q*xe,Be=q*de-te*ae,Oe=g(Se,Ae,Be);Se/=Oe,Ae/=Oe,Be/=Oe,re[0]=Se,re[4]=Ae,re[8]=Be;for(var s=0;s<3;++s)X[s]=ee[s]+re[2+4*s]*G;for(var s=0;s<3;++s){for(var A=0,Ee=0;Ee<3;++Ee)A+=re[s+4*Ee]*X[Ee];re[12+s]=-A}re[15]=1},l.getMatrix=function(S,L){this.recalcMatrix(S);var m=this.computedMatrix;if(L){for(var M=0;M<16;++M)L[M]=m[M];return L}return m};var y=[0,0,0];l.rotate=function(S,L,m,M){if(this.angle.move(S,L,m),M){this.recalcMatrix(S);var b=this.computedMatrix;y[0]=b[2],y[1]=b[6],y[2]=b[10];for(var s=this.computedUp,_=this.computedRight,A=this.computedToward,D=0;D<3;++D)b[4*D]=s[D],b[4*D+1]=_[D],b[4*D+2]=A[D];o(b,b,M,y);for(var D=0;D<3;++D)s[D]=b[4*D],_[D]=b[4*D+1];this.up.set(S,s[0],s[1],s[2]),this.right.set(S,_[0],_[1],_[2])}},l.pan=function(S,L,m,M){L=L||0,m=m||0,M=M||0,this.recalcMatrix(S);var b=this.computedMatrix;Math.exp(this.computedRadius[0]);var s=b[1],_=b[5],A=b[9],D=g(s,_,A);s/=D,_/=D,A/=D;var F=b[0],G=b[4],O=b[8],H=F*s+G*_+O*A;F-=s*H,G-=_*H,O-=A*H;var z=g(F,G,O);F/=z,G/=z,O/=z;var k=F*L+s*m,V=G*L+_*m,Z=O*L+A*m;this.center.move(S,k,V,Z);var ee=Math.exp(this.computedRadius[0]);ee=Math.max(1e-4,ee+M),this.radius.set(S,Math.log(ee))},l.translate=function(S,L,m,M){this.center.move(S,L||0,m||0,M||0)},l.setMatrix=function(S,L,m,M){var b=1;typeof m=="number"&&(b=m|0),(b<0||b>3)&&(b=1);var s=(b+2)%3;L||(this.recalcMatrix(S),L=this.computedMatrix);var _=L[b],A=L[b+4],D=L[b+8];if(M){var G=Math.abs(_),O=Math.abs(A),H=Math.abs(D),z=Math.max(G,O,H);G===z?(_=_<0?-1:1,A=D=0):H===z?(D=D<0?-1:1,_=A=0):(A=A<0?-1:1,_=D=0)}else{var F=g(_,A,D);_/=F,A/=F,D/=F}var k=L[s],V=L[s+4],Z=L[s+8],ee=k*_+V*A+Z*D;k-=_*ee,V-=A*ee,Z-=D*ee;var Q=g(k,V,Z);k/=Q,V/=Q,Z/=Q;var ne=A*Z-D*V,fe=D*k-_*Z,$=_*V-A*k,Y=g(ne,fe,$);ne/=Y,fe/=Y,$/=Y,this.center.jump(S,He,De,Fe),this.radius.idle(S),this.up.jump(S,_,A,D),this.right.jump(S,k,V,Z);var j,X;if(b===2){var re=L[1],le=L[5],q=L[9],te=re*k+le*V+q*Z,ue=re*ne+le*fe+q*$;Se<0?j=-Math.PI/2:j=Math.PI/2,X=Math.atan2(ue,te)}else{var ae=L[2],de=L[6],xe=L[10],Se=ae*_+de*A+xe*D,Ae=ae*k+de*V+xe*Z,Be=ae*ne+de*fe+xe*$;j=Math.asin(h(Se)),X=Math.atan2(Be,Ae)}this.angle.jump(S,X,j),this.recalcMatrix(S);var Oe=L[2],Ee=L[6],we=L[10],Ce=this.computedMatrix;c(Ce,L);var Ge=Ce[15],He=Ce[12]/Ge,De=Ce[13]/Ge,Fe=Ce[14]/Ge,qe=Math.exp(this.computedRadius[0]);this.center.jump(S,He-Oe*qe,De-Ee*qe,Fe-we*qe)},l.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},l.idle=function(S){this.center.idle(S),this.up.idle(S),this.right.idle(S),this.radius.idle(S),this.angle.idle(S)},l.flush=function(S){this.center.flush(S),this.up.flush(S),this.right.flush(S),this.radius.flush(S),this.angle.flush(S)},l.setDistance=function(S,L){L>0&&this.radius.set(S,Math.log(L))},l.lookAt=function(S,L,m,M){this.recalcMatrix(S),L=L||this.computedEye,m=m||this.computedCenter,M=M||this.computedUp;var b=M[0],s=M[1],_=M[2],A=g(b,s,_);if(!(A<1e-6)){b/=A,s/=A,_/=A;var D=L[0]-m[0],F=L[1]-m[1],G=L[2]-m[2],O=g(D,F,G);if(!(O<1e-6)){D/=O,F/=O,G/=O;var H=this.computedRight,z=H[0],k=H[1],V=H[2],Z=b*z+s*k+_*V;z-=Z*b,k-=Z*s,V-=Z*_;var ee=g(z,k,V);if(!(ee<.01&&(z=s*G-_*F,k=_*D-b*G,V=b*F-s*D,ee=g(z,k,V),ee<1e-6))){z/=ee,k/=ee,V/=ee,this.up.set(S,b,s,_),this.right.set(S,z,k,V),this.center.set(S,m[0],m[1],m[2]),this.radius.set(S,Math.log(O));var Q=s*V-_*k,ne=_*z-b*V,fe=b*k-s*z,$=g(Q,ne,fe);Q/=$,ne/=$,fe/=$;var Y=b*D+s*F+_*G,j=z*D+k*F+V*G,X=Q*D+ne*F+fe*G,re=Math.asin(h(Y)),le=Math.atan2(X,j),q=this.angle._state,te=q[q.length-1],ue=q[q.length-2];te=te%(2*Math.PI);var ae=Math.abs(te+2*Math.PI-le),de=Math.abs(te-le),xe=Math.abs(te-2*Math.PI-le);ae0?V.pop():new ArrayBuffer(z)}p.mallocArrayBuffer=y;function T(H){return new Uint8Array(y(H),0,H)}p.mallocUint8=T;function S(H){return new Uint16Array(y(2*H),0,H)}p.mallocUint16=S;function L(H){return new Uint32Array(y(4*H),0,H)}p.mallocUint32=L;function m(H){return new Int8Array(y(H),0,H)}p.mallocInt8=m;function M(H){return new Int16Array(y(2*H),0,H)}p.mallocInt16=M;function b(H){return new Int32Array(y(4*H),0,H)}p.mallocInt32=b;function s(H){return new Float32Array(y(4*H),0,H)}p.mallocFloat32=p.mallocFloat=s;function _(H){return new Float64Array(y(8*H),0,H)}p.mallocFloat64=p.mallocDouble=_;function A(H){return n?new Uint8ClampedArray(y(H),0,H):T(H)}p.mallocUint8Clamped=A;function D(H){return u?new BigUint64Array(y(8*H),0,H):null}p.mallocBigUint64=D;function F(H){return i?new BigInt64Array(y(8*H),0,H):null}p.mallocBigInt64=F;function G(H){return new DataView(y(H),0,H)}p.mallocDataView=G;function O(H){H=r.nextPow2(H);var z=r.log2(H),k=x[z];return k.length>0?k.pop():new o(H)}p.mallocBuffer=O,p.clearCache=function(){for(var z=0;z<32;++z)g.UINT8[z].length=0,g.UINT16[z].length=0,g.UINT32[z].length=0,g.INT8[z].length=0,g.INT16[z].length=0,g.INT32[z].length=0,g.FLOAT[z].length=0,g.DOUBLE[z].length=0,g.BIGUINT64[z].length=0,g.BIGINT64[z].length=0,g.UINT8C[z].length=0,h[z].length=0,x[z].length=0}},1731:function(d){"use restrict";d.exports=p;function p(r){this.roots=new Array(r),this.ranks=new Array(r);for(var c=0;c",V="",Z=k.length,ee=V.length,Q=O[0]===y||O[0]===L,ne=0,fe=-ee;ne>-1&&(ne=H.indexOf(k,ne),!(ne===-1||(fe=H.indexOf(V,ne+Z),fe===-1)||fe<=ne));){for(var $=ne;$=fe)z[$]=null,H=H.substr(0,$)+" "+H.substr($+1);else if(z[$]!==null){var Y=z[$].indexOf(O[0]);Y===-1?z[$]+=O:Q&&(z[$]=z[$].substr(0,Y+1)+(1+parseInt(z[$][Y+1]))+z[$].substr(Y+2))}var j=ne+Z,X=H.substr(j,fe-j),re=X.indexOf(k);re!==-1?ne=re:ne=fe+ee}return z}function b(G,O,H){for(var z=O.textAlign||"start",k=O.textBaseline||"alphabetic",V=[1<<30,1<<30],Z=[0,0],ee=G.length,Q=0;Q/g,` +`):H=H.replace(/\/g," ");var Z="",ee=[];for(te=0;te-1?parseInt(Fe[1+Je]):0,gt=tt>-1?parseInt(qe[1+tt]):0;ht!==gt&&(Qe=Qe.replace(Be(),"?px "),de*=Math.pow(.75,gt-ht),Qe=Qe.replace("?px ",Be())),ae+=.25*Y*(gt-ht)}if(V.superscripts===!0){var yt=Fe.indexOf(y),Et=qe.indexOf(y),Xe=yt>-1?parseInt(Fe[1+yt]):0,Ue=Et>-1?parseInt(qe[1+Et]):0;Xe!==Ue&&(Qe=Qe.replace(Be(),"?px "),de*=Math.pow(.75,Ue-Xe),Qe=Qe.replace("?px ",Be())),ae-=.25*Y*(Ue-Xe)}if(V.bolds===!0){var ze=Fe.indexOf(h)>-1,rt=qe.indexOf(h)>-1;!ze&&rt&&(it?Qe=Qe.replace("italic ","italic bold "):Qe="bold "+Qe),ze&&!rt&&(Qe=Qe.replace("bold ",""))}if(V.italics===!0){var it=Fe.indexOf(f)>-1,Ze=qe.indexOf(f)>-1;!it&&Ze&&(Qe="italic "+Qe),it&&!Ze&&(Qe=Qe.replace("italic ",""))}O.font=Qe}for(q=0;q<$;++q){var Ee=fe[q]+` +`;for(ue=0,ae=q*Y,de=z,Se="",te=0;te0&&(k=z.size),z.lineSpacing&&z.lineSpacing>0&&(V=z.lineSpacing),z.styletags&&z.styletags.breaklines&&(Z.breaklines=!!z.styletags.breaklines),z.styletags&&z.styletags.bolds&&(Z.bolds=!!z.styletags.bolds),z.styletags&&z.styletags.italics&&(Z.italics=!!z.styletags.italics),z.styletags&&z.styletags.subscripts&&(Z.subscripts=!!z.styletags.subscripts),z.styletags&&z.styletags.superscripts&&(Z.superscripts=!!z.styletags.superscripts)),H.font=[z.fontStyle,z.fontVariant,z.fontWeight,k+"px",z.font].filter(function(Q){return Q}).join(" "),H.textAlign="start",H.textBaseline="alphabetic",H.direction="ltr";var ee=s(O,H,G,k,V,Z);return D(ee,z,k)}},5346:function(d){(function(){if(typeof ses<"u"&&ses.ok&&!ses.ok())return;function t(_){_.permitHostObjects___&&_.permitHostObjects___(t)}typeof ses<"u"&&(ses.weakMapPermitHostObjects=t);var r=!1;if(typeof WeakMap=="function"){var c=WeakMap;if(!(typeof navigator<"u"&&/Firefox/.test(navigator.userAgent))){var o=new c,n=Object.freeze({});if(o.set(n,1),o.get(n)!==1)r=!0;else{d.exports=WeakMap;return}}}var u=Object.getOwnPropertyNames,i=Object.defineProperty,g=Object.isExtensible,h="weakmap:",x=h+"ident:"+Math.random()+"___";if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function"&&typeof ArrayBuffer=="function"&&typeof Uint8Array=="function"){var f=new ArrayBuffer(25),l=new Uint8Array(f);crypto.getRandomValues(l),x=h+"rand:"+Array.prototype.map.call(l,function(_){return(_%36).toString(36)}).join("")+"___"}function y(_){return!(_.substr(0,h.length)==h&&_.substr(_.length-3)==="___")}if(i(Object,"getOwnPropertyNames",{value:function(A){return u(A).filter(y)}}),"getPropertyNames"in Object){var T=Object.getPropertyNames;i(Object,"getPropertyNames",{value:function(A){return T(A).filter(y)}})}function S(_){if(_!==Object(_))throw new TypeError("Not an object: "+_);var A=_[x];if(A&&A.key===_)return A;if(g(_)){A={key:_};try{return i(_,x,{value:A,writable:!1,enumerable:!1,configurable:!1}),A}catch{return}}}(function(){var _=Object.freeze;i(Object,"freeze",{value:function(G){return S(G),_(G)}});var A=Object.seal;i(Object,"seal",{value:function(G){return S(G),A(G)}});var D=Object.preventExtensions;i(Object,"preventExtensions",{value:function(G){return S(G),D(G)}})})();function L(_){return _.prototype=null,Object.freeze(_)}var m=!1;function M(){!m&&typeof console<"u"&&(m=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}var b=0,s=function(){this instanceof s||M();var _=[],A=[],D=b++;function F(z,k){var V,Z=S(z);return Z?D in Z?Z[D]:k:(V=_.indexOf(z),V>=0?A[V]:k)}function G(z){var k=S(z);return k?D in k:_.indexOf(z)>=0}function O(z,k){var V,Z=S(z);return Z?Z[D]=k:(V=_.indexOf(z),V>=0?A[V]=k:(V=_.length,A[V]=k,_[V]=z)),this}function H(z){var k=S(z),V,Z;return k?D in k&&delete k[D]:(V=_.indexOf(z),V<0?!1:(Z=_.length-1,_[V]=void 0,A[V]=A[Z],_[V]=_[Z],_.length=Z,A.length=Z,!0))}return Object.create(s.prototype,{get___:{value:L(F)},has___:{value:L(G)},set___:{value:L(O)},delete___:{value:L(H)}})};s.prototype=Object.create(Object.prototype,{get:{value:function(A,D){return this.get___(A,D)},writable:!0,configurable:!0},has:{value:function(A){return this.has___(A)},writable:!0,configurable:!0},set:{value:function(A,D){return this.set___(A,D)},writable:!0,configurable:!0},delete:{value:function(A){return this.delete___(A)},writable:!0,configurable:!0}}),typeof c=="function"?function(){r&&typeof Proxy<"u"&&(Proxy=void 0);function _(){this instanceof s||M();var A=new c,D=void 0,F=!1;function G(k,V){return D?A.has(k)?A.get(k):D.get___(k,V):A.get(k,V)}function O(k){return A.has(k)||(D?D.has___(k):!1)}var H;r?H=function(k,V){return A.set(k,V),A.has(k)||(D||(D=new s),D.set(k,V)),this}:H=function(k,V){if(F)try{A.set(k,V)}catch{D||(D=new s),D.set___(k,V)}else A.set(k,V);return this};function z(k){var V=!!A.delete(k);return D&&D.delete___(k)||V}return Object.create(s.prototype,{get___:{value:L(G)},has___:{value:L(O)},set___:{value:L(H)},delete___:{value:L(z)},permitHostObjects___:{value:L(function(k){if(k===t)F=!0;else throw new Error("bogus call to permitHostObjects___")})}})}_.prototype=s.prototype,d.exports=_,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy<"u"&&(Proxy=void 0),d.exports=s)})()},9222:function(d,p,t){var r=t(7178);d.exports=c;function c(){var o={};return function(n){if((typeof n!="object"||n===null)&&typeof n!="function")throw new Error("Weakmap-shim: Key must be object");var u=n.valueOf(o);return u&&u.identity===o?u:r(n,o)}}},7178:function(d){d.exports=p;function p(t,r){var c={identity:r},o=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(n){return n!==r?o.apply(this,arguments):c},writable:!0}),c}},4037:function(d,p,t){var r=t(9222);d.exports=c;function c(){var o=r();return{get:function(n,u){var i=o(n);return i.hasOwnProperty("value")?i.value:u},set:function(n,u){return o(n).value=u,this},has:function(n){return"value"in o(n)},delete:function(n){return delete o(n).value}}}},6183:function(d){function p(){return function(u,i,g,h,x,f){var l=u[0],y=g[0],T=[0],S=y;h|=0;var L=0,m=y;for(L=0;L=0!=b>=0&&x.push(T[0]+.5+.5*(M+b)/(M-b))}h+=m,++T[0]}}}function t(){return p()}var r=t;function c(u){var i={};return function(h,x,f){var l=h.dtype,y=h.order,T=[l,y.join()].join(),S=i[T];return S||(i[T]=S=u([l,y])),S(h.shape.slice(0),h.data,h.stride,h.offset|0,x,f)}}function o(u){return c(r.bind(void 0,u))}function n(u){return o({funcName:u.funcName})}d.exports=n({funcName:"zeroCrossings"})},9584:function(d,p,t){d.exports=c;var r=t(6183);function c(o,n){var u=[];return n=+n||0,r(o.hi(o.shape[0]-1),u,n),u}},6601:function(){}},a={};function C(d){var p=a[d];if(p!==void 0)return p.exports;var t=a[d]={id:d,loaded:!1,exports:{}};return E[d].call(t.exports,t,t.exports,C),t.loaded=!0,t.exports}(function(){C.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()})(),function(){C.nmd=function(d){return d.paths=[],d.children||(d.children=[]),d}}();var w=C(7386);return w}()})},12856:function(U,B,e){/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */function v(Xe,Ue){if(!(Xe instanceof Ue))throw new TypeError("Cannot call a class as a function")}function E(Xe,Ue){for(var ze=0;ze"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function c(Xe){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ze){return ze.__proto__||Object.getPrototypeOf(ze)},c(Xe)}function o(Xe){"@babel/helpers - typeof";return o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ue){return typeof Ue}:function(Ue){return Ue&&typeof Symbol=="function"&&Ue.constructor===Symbol&&Ue!==Symbol.prototype?"symbol":typeof Ue},o(Xe)}var n=e(95341),u=e(95280),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;B.Buffer=f,B.SlowBuffer=A,B.INSPECT_MAX_BYTES=50;var g=2147483647;B.kMaxLength=g,f.TYPED_ARRAY_SUPPORT=h(),!f.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&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.");function h(){try{var Xe=new Uint8Array(1),Ue={foo:function(){return 42}};return Object.setPrototypeOf(Ue,Uint8Array.prototype),Object.setPrototypeOf(Xe,Ue),Xe.foo()===42}catch{return!1}}Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}});function x(Xe){if(Xe>g)throw new RangeError('The value "'+Xe+'" is invalid for option "size"');var Ue=new Uint8Array(Xe);return Object.setPrototypeOf(Ue,f.prototype),Ue}function f(Xe,Ue,ze){if(typeof Xe=="number"){if(typeof Ue=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return S(Xe)}return l(Xe,Ue,ze)}f.poolSize=8192;function l(Xe,Ue,ze){if(typeof Xe=="string")return L(Xe,Ue);if(ArrayBuffer.isView(Xe))return M(Xe);if(Xe==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+o(Xe));if(tt(Xe,ArrayBuffer)||Xe&&tt(Xe.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tt(Xe,SharedArrayBuffer)||Xe&&tt(Xe.buffer,SharedArrayBuffer)))return b(Xe,Ue,ze);if(typeof Xe=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var rt=Xe.valueOf&&Xe.valueOf();if(rt!=null&&rt!==Xe)return f.from(rt,Ue,ze);var it=s(Xe);if(it)return it;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof Xe[Symbol.toPrimitive]=="function")return f.from(Xe[Symbol.toPrimitive]("string"),Ue,ze);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+o(Xe))}f.from=function(Xe,Ue,ze){return l(Xe,Ue,ze)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array);function y(Xe){if(typeof Xe!="number")throw new TypeError('"size" argument must be of type number');if(Xe<0)throw new RangeError('The value "'+Xe+'" is invalid for option "size"')}function T(Xe,Ue,ze){return y(Xe),Xe<=0?x(Xe):Ue!==void 0?typeof ze=="string"?x(Xe).fill(Ue,ze):x(Xe).fill(Ue):x(Xe)}f.alloc=function(Xe,Ue,ze){return T(Xe,Ue,ze)};function S(Xe){return y(Xe),x(Xe<0?0:_(Xe)|0)}f.allocUnsafe=function(Xe){return S(Xe)},f.allocUnsafeSlow=function(Xe){return S(Xe)};function L(Xe,Ue){if((typeof Ue!="string"||Ue==="")&&(Ue="utf8"),!f.isEncoding(Ue))throw new TypeError("Unknown encoding: "+Ue);var ze=D(Xe,Ue)|0,rt=x(ze),it=rt.write(Xe,Ue);return it!==ze&&(rt=rt.slice(0,it)),rt}function m(Xe){for(var Ue=Xe.length<0?0:_(Xe.length)|0,ze=x(Ue),rt=0;rt=g)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+g.toString(16)+" bytes");return Xe|0}function A(Xe){return+Xe!=Xe&&(Xe=0),f.alloc(+Xe)}f.isBuffer=function(Ue){return Ue!=null&&Ue._isBuffer===!0&&Ue!==f.prototype},f.compare=function(Ue,ze){if(tt(Ue,Uint8Array)&&(Ue=f.from(Ue,Ue.offset,Ue.byteLength)),tt(ze,Uint8Array)&&(ze=f.from(ze,ze.offset,ze.byteLength)),!f.isBuffer(Ue)||!f.isBuffer(ze))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Ue===ze)return 0;for(var rt=Ue.length,it=ze.length,Ze=0,Ie=Math.min(rt,it);Zeit.length?(f.isBuffer(Ie)||(Ie=f.from(Ie)),Ie.copy(it,Ze)):Uint8Array.prototype.set.call(it,Ie,Ze);else if(f.isBuffer(Ie))Ie.copy(it,Ze);else throw new TypeError('"list" argument must be an Array of Buffers');Ze+=Ie.length}return it};function D(Xe,Ue){if(f.isBuffer(Xe))return Xe.length;if(ArrayBuffer.isView(Xe)||tt(Xe,ArrayBuffer))return Xe.byteLength;if(typeof Xe!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+o(Xe));var ze=Xe.length,rt=arguments.length>2&&arguments[2]===!0;if(!rt&&ze===0)return 0;for(var it=!1;;)switch(Ue){case"ascii":case"latin1":case"binary":return ze;case"utf8":case"utf-8":return De(Xe).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ze*2;case"hex":return ze>>>1;case"base64":return Qe(Xe).length;default:if(it)return rt?-1:De(Xe).length;Ue=(""+Ue).toLowerCase(),it=!0}}f.byteLength=D;function F(Xe,Ue,ze){var rt=!1;if((Ue===void 0||Ue<0)&&(Ue=0),Ue>this.length||((ze===void 0||ze>this.length)&&(ze=this.length),ze<=0)||(ze>>>=0,Ue>>>=0,ze<=Ue))return"";for(Xe||(Xe="utf8");;)switch(Xe){case"hex":return X(this,Ue,ze);case"utf8":case"utf-8":return ne(this,Ue,ze);case"ascii":return Y(this,Ue,ze);case"latin1":case"binary":return j(this,Ue,ze);case"base64":return Q(this,Ue,ze);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return re(this,Ue,ze);default:if(rt)throw new TypeError("Unknown encoding: "+Xe);Xe=(Xe+"").toLowerCase(),rt=!0}}f.prototype._isBuffer=!0;function G(Xe,Ue,ze){var rt=Xe[Ue];Xe[Ue]=Xe[ze],Xe[ze]=rt}f.prototype.swap16=function(){var Ue=this.length;if(Ue%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var ze=0;zeze&&(Ue+=" ... "),""},i&&(f.prototype[i]=f.prototype.inspect),f.prototype.compare=function(Ue,ze,rt,it,Ze){if(tt(Ue,Uint8Array)&&(Ue=f.from(Ue,Ue.offset,Ue.byteLength)),!f.isBuffer(Ue))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+o(Ue));if(ze===void 0&&(ze=0),rt===void 0&&(rt=Ue?Ue.length:0),it===void 0&&(it=0),Ze===void 0&&(Ze=this.length),ze<0||rt>Ue.length||it<0||Ze>this.length)throw new RangeError("out of range index");if(it>=Ze&&ze>=rt)return 0;if(it>=Ze)return-1;if(ze>=rt)return 1;if(ze>>>=0,rt>>>=0,it>>>=0,Ze>>>=0,this===Ue)return 0;for(var Ie=Ze-it,Te=rt-ze,he=Math.min(Ie,Te),me=this.slice(it,Ze),Re=Ue.slice(ze,rt),Ne=0;Ne2147483647?ze=2147483647:ze<-2147483648&&(ze=-2147483648),ze=+ze,ht(ze)&&(ze=it?0:Xe.length-1),ze<0&&(ze=Xe.length+ze),ze>=Xe.length){if(it)return-1;ze=Xe.length-1}else if(ze<0)if(it)ze=0;else return-1;if(typeof Ue=="string"&&(Ue=f.from(Ue,rt)),f.isBuffer(Ue))return Ue.length===0?-1:H(Xe,Ue,ze,rt,it);if(typeof Ue=="number")return Ue=Ue&255,typeof Uint8Array.prototype.indexOf=="function"?it?Uint8Array.prototype.indexOf.call(Xe,Ue,ze):Uint8Array.prototype.lastIndexOf.call(Xe,Ue,ze):H(Xe,[Ue],ze,rt,it);throw new TypeError("val must be string, number or Buffer")}function H(Xe,Ue,ze,rt,it){var Ze=1,Ie=Xe.length,Te=Ue.length;if(rt!==void 0&&(rt=String(rt).toLowerCase(),rt==="ucs2"||rt==="ucs-2"||rt==="utf16le"||rt==="utf-16le")){if(Xe.length<2||Ue.length<2)return-1;Ze=2,Ie/=2,Te/=2,ze/=2}function he(ft,At){return Ze===1?ft[At]:ft.readUInt16BE(At*Ze)}var me;if(it){var Re=-1;for(me=ze;meIe&&(ze=Ie-Te),me=ze;me>=0;me--){for(var Ne=!0,st=0;stit&&(rt=it)):rt=it;var Ze=Ue.length;rt>Ze/2&&(rt=Ze/2);var Ie;for(Ie=0;Ie>>0,isFinite(rt)?(rt=rt>>>0,it===void 0&&(it="utf8")):(it=rt,rt=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var Ze=this.length-ze;if((rt===void 0||rt>Ze)&&(rt=Ze),Ue.length>0&&(rt<0||ze<0)||ze>this.length)throw new RangeError("Attempt to write outside buffer bounds");it||(it="utf8");for(var Ie=!1;;)switch(it){case"hex":return z(this,Ue,ze,rt);case"utf8":case"utf-8":return k(this,Ue,ze,rt);case"ascii":case"latin1":case"binary":return V(this,Ue,ze,rt);case"base64":return Z(this,Ue,ze,rt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ee(this,Ue,ze,rt);default:if(Ie)throw new TypeError("Unknown encoding: "+it);it=(""+it).toLowerCase(),Ie=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Q(Xe,Ue,ze){return Ue===0&&ze===Xe.length?n.fromByteArray(Xe):n.fromByteArray(Xe.slice(Ue,ze))}function ne(Xe,Ue,ze){ze=Math.min(Xe.length,ze);for(var rt=[],it=Ue;it239?4:Ze>223?3:Ze>191?2:1;if(it+Te<=ze){var he=void 0,me=void 0,Re=void 0,Ne=void 0;switch(Te){case 1:Ze<128&&(Ie=Ze);break;case 2:he=Xe[it+1],(he&192)===128&&(Ne=(Ze&31)<<6|he&63,Ne>127&&(Ie=Ne));break;case 3:he=Xe[it+1],me=Xe[it+2],(he&192)===128&&(me&192)===128&&(Ne=(Ze&15)<<12|(he&63)<<6|me&63,Ne>2047&&(Ne<55296||Ne>57343)&&(Ie=Ne));break;case 4:he=Xe[it+1],me=Xe[it+2],Re=Xe[it+3],(he&192)===128&&(me&192)===128&&(Re&192)===128&&(Ne=(Ze&15)<<18|(he&63)<<12|(me&63)<<6|Re&63,Ne>65535&&Ne<1114112&&(Ie=Ne))}}Ie===null?(Ie=65533,Te=1):Ie>65535&&(Ie-=65536,rt.push(Ie>>>10&1023|55296),Ie=56320|Ie&1023),rt.push(Ie),it+=Te}return $(rt)}var fe=4096;function $(Xe){var Ue=Xe.length;if(Ue<=fe)return String.fromCharCode.apply(String,Xe);for(var ze="",rt=0;rtrt)&&(ze=rt);for(var it="",Ze=Ue;Zert&&(Ue=rt),ze<0?(ze+=rt,ze<0&&(ze=0)):ze>rt&&(ze=rt),zeze)throw new RangeError("Trying to access beyond buffer length")}f.prototype.readUintLE=f.prototype.readUIntLE=function(Ue,ze,rt){Ue=Ue>>>0,ze=ze>>>0,rt||le(Ue,ze,this.length);for(var it=this[Ue],Ze=1,Ie=0;++Ie>>0,ze=ze>>>0,rt||le(Ue,ze,this.length);for(var it=this[Ue+--ze],Ze=1;ze>0&&(Ze*=256);)it+=this[Ue+--ze]*Ze;return it},f.prototype.readUint8=f.prototype.readUInt8=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,1,this.length),this[Ue]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,2,this.length),this[Ue]|this[Ue+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,2,this.length),this[Ue]<<8|this[Ue+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,4,this.length),(this[Ue]|this[Ue+1]<<8|this[Ue+2]<<16)+this[Ue+3]*16777216},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,4,this.length),this[Ue]*16777216+(this[Ue+1]<<16|this[Ue+2]<<8|this[Ue+3])},f.prototype.readBigUInt64LE=yt(function(Ue){Ue=Ue>>>0,we(Ue,"offset");var ze=this[Ue],rt=this[Ue+7];(ze===void 0||rt===void 0)&&Ce(Ue,this.length-8);var it=ze+this[++Ue]*Math.pow(2,8)+this[++Ue]*Math.pow(2,16)+this[++Ue]*Math.pow(2,24),Ze=this[++Ue]+this[++Ue]*Math.pow(2,8)+this[++Ue]*Math.pow(2,16)+rt*Math.pow(2,24);return BigInt(it)+(BigInt(Ze)<>>0,we(Ue,"offset");var ze=this[Ue],rt=this[Ue+7];(ze===void 0||rt===void 0)&&Ce(Ue,this.length-8);var it=ze*Math.pow(2,24)+this[++Ue]*Math.pow(2,16)+this[++Ue]*Math.pow(2,8)+this[++Ue],Ze=this[++Ue]*Math.pow(2,24)+this[++Ue]*Math.pow(2,16)+this[++Ue]*Math.pow(2,8)+rt;return(BigInt(it)<>>0,ze=ze>>>0,rt||le(Ue,ze,this.length);for(var it=this[Ue],Ze=1,Ie=0;++Ie=Ze&&(it-=Math.pow(2,8*ze)),it},f.prototype.readIntBE=function(Ue,ze,rt){Ue=Ue>>>0,ze=ze>>>0,rt||le(Ue,ze,this.length);for(var it=ze,Ze=1,Ie=this[Ue+--it];it>0&&(Ze*=256);)Ie+=this[Ue+--it]*Ze;return Ze*=128,Ie>=Ze&&(Ie-=Math.pow(2,8*ze)),Ie},f.prototype.readInt8=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,1,this.length),this[Ue]&128?(255-this[Ue]+1)*-1:this[Ue]},f.prototype.readInt16LE=function(Ue,ze){Ue=Ue>>>0,ze||le(Ue,2,this.length);var rt=this[Ue]|this[Ue+1]<<8;return rt&32768?rt|4294901760:rt},f.prototype.readInt16BE=function(Ue,ze){Ue=Ue>>>0,ze||le(Ue,2,this.length);var rt=this[Ue+1]|this[Ue]<<8;return rt&32768?rt|4294901760:rt},f.prototype.readInt32LE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,4,this.length),this[Ue]|this[Ue+1]<<8|this[Ue+2]<<16|this[Ue+3]<<24},f.prototype.readInt32BE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,4,this.length),this[Ue]<<24|this[Ue+1]<<16|this[Ue+2]<<8|this[Ue+3]},f.prototype.readBigInt64LE=yt(function(Ue){Ue=Ue>>>0,we(Ue,"offset");var ze=this[Ue],rt=this[Ue+7];(ze===void 0||rt===void 0)&&Ce(Ue,this.length-8);var it=this[Ue+4]+this[Ue+5]*Math.pow(2,8)+this[Ue+6]*Math.pow(2,16)+(rt<<24);return(BigInt(it)<>>0,we(Ue,"offset");var ze=this[Ue],rt=this[Ue+7];(ze===void 0||rt===void 0)&&Ce(Ue,this.length-8);var it=(ze<<24)+this[++Ue]*Math.pow(2,16)+this[++Ue]*Math.pow(2,8)+this[++Ue];return(BigInt(it)<>>0,ze||le(Ue,4,this.length),u.read(this,Ue,!0,23,4)},f.prototype.readFloatBE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,4,this.length),u.read(this,Ue,!1,23,4)},f.prototype.readDoubleLE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,8,this.length),u.read(this,Ue,!0,52,8)},f.prototype.readDoubleBE=function(Ue,ze){return Ue=Ue>>>0,ze||le(Ue,8,this.length),u.read(this,Ue,!1,52,8)};function q(Xe,Ue,ze,rt,it,Ze){if(!f.isBuffer(Xe))throw new TypeError('"buffer" argument must be a Buffer instance');if(Ue>it||UeXe.length)throw new RangeError("Index out of range")}f.prototype.writeUintLE=f.prototype.writeUIntLE=function(Ue,ze,rt,it){if(Ue=+Ue,ze=ze>>>0,rt=rt>>>0,!it){var Ze=Math.pow(2,8*rt)-1;q(this,Ue,ze,rt,Ze,0)}var Ie=1,Te=0;for(this[ze]=Ue&255;++Te>>0,rt=rt>>>0,!it){var Ze=Math.pow(2,8*rt)-1;q(this,Ue,ze,rt,Ze,0)}var Ie=rt-1,Te=1;for(this[ze+Ie]=Ue&255;--Ie>=0&&(Te*=256);)this[ze+Ie]=Ue/Te&255;return ze+rt},f.prototype.writeUint8=f.prototype.writeUInt8=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,1,255,0),this[ze]=Ue&255,ze+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,2,65535,0),this[ze]=Ue&255,this[ze+1]=Ue>>>8,ze+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,2,65535,0),this[ze]=Ue>>>8,this[ze+1]=Ue&255,ze+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,4,4294967295,0),this[ze+3]=Ue>>>24,this[ze+2]=Ue>>>16,this[ze+1]=Ue>>>8,this[ze]=Ue&255,ze+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,4,4294967295,0),this[ze]=Ue>>>24,this[ze+1]=Ue>>>16,this[ze+2]=Ue>>>8,this[ze+3]=Ue&255,ze+4};function te(Xe,Ue,ze,rt,it){Ee(Ue,rt,it,Xe,ze,7);var Ze=Number(Ue&BigInt(4294967295));Xe[ze++]=Ze,Ze=Ze>>8,Xe[ze++]=Ze,Ze=Ze>>8,Xe[ze++]=Ze,Ze=Ze>>8,Xe[ze++]=Ze;var Ie=Number(Ue>>BigInt(32)&BigInt(4294967295));return Xe[ze++]=Ie,Ie=Ie>>8,Xe[ze++]=Ie,Ie=Ie>>8,Xe[ze++]=Ie,Ie=Ie>>8,Xe[ze++]=Ie,ze}function ue(Xe,Ue,ze,rt,it){Ee(Ue,rt,it,Xe,ze,7);var Ze=Number(Ue&BigInt(4294967295));Xe[ze+7]=Ze,Ze=Ze>>8,Xe[ze+6]=Ze,Ze=Ze>>8,Xe[ze+5]=Ze,Ze=Ze>>8,Xe[ze+4]=Ze;var Ie=Number(Ue>>BigInt(32)&BigInt(4294967295));return Xe[ze+3]=Ie,Ie=Ie>>8,Xe[ze+2]=Ie,Ie=Ie>>8,Xe[ze+1]=Ie,Ie=Ie>>8,Xe[ze]=Ie,ze+8}f.prototype.writeBigUInt64LE=yt(function(Ue){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return te(this,Ue,ze,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeBigUInt64BE=yt(function(Ue){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ue(this,Ue,ze,BigInt(0),BigInt("0xffffffffffffffff"))}),f.prototype.writeIntLE=function(Ue,ze,rt,it){if(Ue=+Ue,ze=ze>>>0,!it){var Ze=Math.pow(2,8*rt-1);q(this,Ue,ze,rt,Ze-1,-Ze)}var Ie=0,Te=1,he=0;for(this[ze]=Ue&255;++Ie>0)-he&255;return ze+rt},f.prototype.writeIntBE=function(Ue,ze,rt,it){if(Ue=+Ue,ze=ze>>>0,!it){var Ze=Math.pow(2,8*rt-1);q(this,Ue,ze,rt,Ze-1,-Ze)}var Ie=rt-1,Te=1,he=0;for(this[ze+Ie]=Ue&255;--Ie>=0&&(Te*=256);)Ue<0&&he===0&&this[ze+Ie+1]!==0&&(he=1),this[ze+Ie]=(Ue/Te>>0)-he&255;return ze+rt},f.prototype.writeInt8=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,1,127,-128),Ue<0&&(Ue=255+Ue+1),this[ze]=Ue&255,ze+1},f.prototype.writeInt16LE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,2,32767,-32768),this[ze]=Ue&255,this[ze+1]=Ue>>>8,ze+2},f.prototype.writeInt16BE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,2,32767,-32768),this[ze]=Ue>>>8,this[ze+1]=Ue&255,ze+2},f.prototype.writeInt32LE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,4,2147483647,-2147483648),this[ze]=Ue&255,this[ze+1]=Ue>>>8,this[ze+2]=Ue>>>16,this[ze+3]=Ue>>>24,ze+4},f.prototype.writeInt32BE=function(Ue,ze,rt){return Ue=+Ue,ze=ze>>>0,rt||q(this,Ue,ze,4,2147483647,-2147483648),Ue<0&&(Ue=4294967295+Ue+1),this[ze]=Ue>>>24,this[ze+1]=Ue>>>16,this[ze+2]=Ue>>>8,this[ze+3]=Ue&255,ze+4},f.prototype.writeBigInt64LE=yt(function(Ue){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return te(this,Ue,ze,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),f.prototype.writeBigInt64BE=yt(function(Ue){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return ue(this,Ue,ze,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ae(Xe,Ue,ze,rt,it,Ze){if(ze+rt>Xe.length)throw new RangeError("Index out of range");if(ze<0)throw new RangeError("Index out of range")}function de(Xe,Ue,ze,rt,it){return Ue=+Ue,ze=ze>>>0,it||ae(Xe,Ue,ze,4),u.write(Xe,Ue,ze,rt,23,4),ze+4}f.prototype.writeFloatLE=function(Ue,ze,rt){return de(this,Ue,ze,!0,rt)},f.prototype.writeFloatBE=function(Ue,ze,rt){return de(this,Ue,ze,!1,rt)};function xe(Xe,Ue,ze,rt,it){return Ue=+Ue,ze=ze>>>0,it||ae(Xe,Ue,ze,8),u.write(Xe,Ue,ze,rt,52,8),ze+8}f.prototype.writeDoubleLE=function(Ue,ze,rt){return xe(this,Ue,ze,!0,rt)},f.prototype.writeDoubleBE=function(Ue,ze,rt){return xe(this,Ue,ze,!1,rt)},f.prototype.copy=function(Ue,ze,rt,it){if(!f.isBuffer(Ue))throw new TypeError("argument should be a Buffer");if(rt||(rt=0),!it&&it!==0&&(it=this.length),ze>=Ue.length&&(ze=Ue.length),ze||(ze=0),it>0&&it=this.length)throw new RangeError("Index out of range");if(it<0)throw new RangeError("sourceEnd out of bounds");it>this.length&&(it=this.length),Ue.length-ze>>0,rt=rt===void 0?this.length:rt>>>0,Ue||(Ue=0);var Ie;if(typeof Ue=="number")for(Ie=ze;IeMath.pow(2,32)?it=Be(String(ze)):typeof ze=="bigint"&&(it=String(ze),(ze>Math.pow(BigInt(2),BigInt(32))||ze<-Math.pow(BigInt(2),BigInt(32)))&&(it=Be(it)),it+="n"),rt+=" It must be ".concat(Ue,". Received ").concat(it),rt},RangeError);function Be(Xe){for(var Ue="",ze=Xe.length,rt=Xe[0]==="-"?1:0;ze>=rt+4;ze-=3)Ue="_".concat(Xe.slice(ze-3,ze)).concat(Ue);return"".concat(Xe.slice(0,ze)).concat(Ue)}function Oe(Xe,Ue,ze){we(Ue,"offset"),(Xe[Ue]===void 0||Xe[Ue+ze]===void 0)&&Ce(Ue,Xe.length-(ze+1))}function Ee(Xe,Ue,ze,rt,it,Ze){if(Xe>ze||Xe3?Ue===0||Ue===BigInt(0)?Te=">= 0".concat(Ie," and < 2").concat(Ie," ** ").concat((Ze+1)*8).concat(Ie):Te=">= -(2".concat(Ie," ** ").concat((Ze+1)*8-1).concat(Ie,") and < 2 ** ")+"".concat((Ze+1)*8-1).concat(Ie):Te=">= ".concat(Ue).concat(Ie," and <= ").concat(ze).concat(Ie),new Se.ERR_OUT_OF_RANGE("value",Te,Xe)}Oe(rt,it,Ze)}function we(Xe,Ue){if(typeof Xe!="number")throw new Se.ERR_INVALID_ARG_TYPE(Ue,"number",Xe)}function Ce(Xe,Ue,ze){throw Math.floor(Xe)!==Xe?(we(Xe,ze),new Se.ERR_OUT_OF_RANGE(ze||"offset","an integer",Xe)):Ue<0?new Se.ERR_BUFFER_OUT_OF_BOUNDS:new Se.ERR_OUT_OF_RANGE(ze||"offset",">= ".concat(ze?1:0," and <= ").concat(Ue),Xe)}var Ge=/[^+/0-9A-Za-z-_]/g;function He(Xe){if(Xe=Xe.split("=")[0],Xe=Xe.trim().replace(Ge,""),Xe.length<2)return"";for(;Xe.length%4!==0;)Xe=Xe+"=";return Xe}function De(Xe,Ue){Ue=Ue||1/0;for(var ze,rt=Xe.length,it=null,Ze=[],Ie=0;Ie55295&&ze<57344){if(!it){if(ze>56319){(Ue-=3)>-1&&Ze.push(239,191,189);continue}else if(Ie+1===rt){(Ue-=3)>-1&&Ze.push(239,191,189);continue}it=ze;continue}if(ze<56320){(Ue-=3)>-1&&Ze.push(239,191,189),it=ze;continue}ze=(it-55296<<10|ze-56320)+65536}else it&&(Ue-=3)>-1&&Ze.push(239,191,189);if(it=null,ze<128){if((Ue-=1)<0)break;Ze.push(ze)}else if(ze<2048){if((Ue-=2)<0)break;Ze.push(ze>>6|192,ze&63|128)}else if(ze<65536){if((Ue-=3)<0)break;Ze.push(ze>>12|224,ze>>6&63|128,ze&63|128)}else if(ze<1114112){if((Ue-=4)<0)break;Ze.push(ze>>18|240,ze>>12&63|128,ze>>6&63|128,ze&63|128)}else throw new Error("Invalid code point")}return Ze}function Fe(Xe){for(var Ue=[],ze=0;ze>8,it=ze%256,Ze.push(it),Ze.push(rt);return Ze}function Qe(Xe){return n.toByteArray(He(Xe))}function Je(Xe,Ue,ze,rt){var it;for(it=0;it=Ue.length||it>=Xe.length);++it)Ue[it+ze]=Xe[it];return it}function tt(Xe,Ue){return Xe instanceof Ue||Xe!=null&&Xe.constructor!=null&&Xe.constructor.name!=null&&Xe.constructor.name===Ue.name}function ht(Xe){return Xe!==Xe}var gt=function(){for(var Xe="0123456789abcdef",Ue=new Array(256),ze=0;ze<16;++ze)for(var rt=ze*16,it=0;it<16;++it)Ue[rt+it]=Xe[ze]+Xe[it];return Ue}();function yt(Xe){return typeof BigInt>"u"?Et:Xe}function Et(){throw new Error("BigInt not supported")}},35791:function(U){U.exports=E,U.exports.isMobile=E,U.exports.default=E;var B=/(android|bb\d+|meego).+mobile|armv7l|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[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,e=/CrOS/,v=/android|ipad|playbook|silk/i;function E(a){a||(a={});var C=a.ua;if(!C&&typeof navigator<"u"&&(C=navigator.userAgent),C&&C.headers&&typeof C.headers["user-agent"]=="string"&&(C=C.headers["user-agent"]),typeof C!="string")return!1;var w=B.test(C)&&!e.test(C)||!!a.tablet&&v.test(C);return!w&&a.tablet&&a.featureDetect&&navigator&&navigator.maxTouchPoints>1&&C.indexOf("Macintosh")!==-1&&C.indexOf("Safari")!==-1&&(w=!0),w}},86781:function(U,B,e){e.r(B),e.d(B,{sankeyCenter:function(){return c},sankeyCircular:function(){return _},sankeyJustify:function(){return r},sankeyLeft:function(){return p},sankeyRight:function(){return t}});var v=e(33064),E=e(15140),a=e(45879),C=e(2502),w=e.n(C);function d(Ae){return Ae.target.depth}function p(Ae){return Ae.depth}function t(Ae,Be){return Be-1-Ae.height}function r(Ae,Be){return Ae.sourceLinks.length?Ae.depth:Be-1}function c(Ae){return Ae.targetLinks.length?Ae.depth:Ae.sourceLinks.length?(0,v.VV)(Ae.sourceLinks,d)-1:0}function o(Ae){return function(){return Ae}}var n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ae){return typeof Ae}:function(Ae){return Ae&&typeof Symbol=="function"&&Ae.constructor===Symbol&&Ae!==Symbol.prototype?"symbol":typeof Ae};function u(Ae,Be){return g(Ae.source,Be.source)||Ae.index-Be.index}function i(Ae,Be){return g(Ae.target,Be.target)||Ae.index-Be.index}function g(Ae,Be){return Ae.partOfCycle===Be.partOfCycle?Ae.y0-Be.y0:Ae.circularLinkType==="top"||Be.circularLinkType==="bottom"?-1:1}function h(Ae){return Ae.value}function x(Ae){return(Ae.y0+Ae.y1)/2}function f(Ae){return x(Ae.source)}function l(Ae){return x(Ae.target)}function y(Ae){return Ae.index}function T(Ae){return Ae.nodes}function S(Ae){return Ae.links}function L(Ae,Be){var Oe=Ae.get(Be);if(!Oe)throw new Error("missing: "+Be);return Oe}function m(Ae,Be){return Be(Ae)}var M=25,b=10,s=.3;function _(){var Ae=0,Be=0,Oe=1,Ee=1,we=24,Ce,Ge=y,He=r,De=T,Fe=S,qe=32,Qe=2,Je,tt=null;function ht(){var it={nodes:De.apply(null,arguments),links:Fe.apply(null,arguments)};gt(it),A(it,Ge,tt),yt(it),Ue(it),D(it,Ge),ze(it,qe,Ge),rt(it);for(var Ze=4,Ie=0;Ie"u"?"undefined":n(he))!=="object"&&(he=Ie.source=L(Ze,he)),(typeof me>"u"?"undefined":n(me))!=="object"&&(me=Ie.target=L(Ze,me)),he.sourceLinks.push(Ie),me.targetLinks.push(Ie)}),it}function yt(it){it.nodes.forEach(function(Ze){Ze.partOfCycle=!1,Ze.value=Math.max((0,v.Sm)(Ze.sourceLinks,h),(0,v.Sm)(Ze.targetLinks,h)),Ze.sourceLinks.forEach(function(Ie){Ie.circular&&(Ze.partOfCycle=!0,Ze.circularLinkType=Ie.circularLinkType)}),Ze.targetLinks.forEach(function(Ie){Ie.circular&&(Ze.partOfCycle=!0,Ze.circularLinkType=Ie.circularLinkType)})})}function Et(it){var Ze=0,Ie=0,Te=0,he=0,me=(0,v.Fp)(it.nodes,function(Re){return Re.column});return it.links.forEach(function(Re){Re.circular&&(Re.circularLinkType=="top"?Ze=Ze+Re.width:Ie=Ie+Re.width,Re.target.column==0&&(he=he+Re.width),Re.source.column==me&&(Te=Te+Re.width))}),Ze=Ze>0?Ze+M+b:Ze,Ie=Ie>0?Ie+M+b:Ie,Te=Te>0?Te+M+b:Te,he=he>0?he+M+b:he,{top:Ze,bottom:Ie,left:he,right:Te}}function Xe(it,Ze){var Ie=(0,v.Fp)(it.nodes,function(ft){return ft.column}),Te=Oe-Ae,he=Ee-Be,me=Te+Ze.right+Ze.left,Re=he+Ze.top+Ze.bottom,Ne=Te/me,st=he/Re;return Ae=Ae*Ne+Ze.left,Oe=Ze.right==0?Oe:Oe*Ne,Be=Be*st+Ze.top,Ee=Ee*st,it.nodes.forEach(function(ft){ft.x0=Ae+ft.column*((Oe-Ae-we)/Ie),ft.x1=ft.x0+we}),st}function Ue(it){var Ze,Ie,Te;for(Ze=it.nodes,Ie=[],Te=0;Ze.length;++Te,Ze=Ie,Ie=[])Ze.forEach(function(he){he.depth=Te,he.sourceLinks.forEach(function(me){Ie.indexOf(me.target)<0&&!me.circular&&Ie.push(me.target)})});for(Ze=it.nodes,Ie=[],Te=0;Ze.length;++Te,Ze=Ie,Ie=[])Ze.forEach(function(he){he.height=Te,he.targetLinks.forEach(function(me){Ie.indexOf(me.source)<0&&!me.circular&&Ie.push(me.source)})});it.nodes.forEach(function(he){he.column=Math.floor(He.call(null,he,Te))})}function ze(it,Ze,Ie){var Te=(0,E.b1)().key(function(ft){return ft.column}).sortKeys(v.j2).entries(it.nodes).map(function(ft){return ft.values});Re(Ie),st();for(var he=1,me=Ze;me>0;--me)Ne(he*=.99,Ie),st();function Re(ft){if(Je){var At=1/0;Te.forEach(function(Rt){var qt=Ee*Je/(Rt.length+1);At=qt0))if(Rt==0&&Gt==1)sr=qt.y1-qt.y0,qt.y0=Ee/2-sr/2,qt.y1=Ee/2+sr/2;else if(Rt==Ft-1&&Gt==1)sr=qt.y1-qt.y0,qt.y0=Ee/2-sr/2,qt.y1=Ee/2+sr/2;else{var kr=0,xt=(0,v.J6)(qt.sourceLinks,l),Xt=(0,v.J6)(qt.targetLinks,f);xt&&Xt?kr=(xt+Xt)/2:kr=xt||Xt;var jt=(kr-x(qt))*ft;qt.y0+=jt,qt.y1+=jt}})})}function st(){Te.forEach(function(ft){var At,Ft,Ht=Be,Gt=ft.length,Rt;for(ft.sort(g),Rt=0;Rt0&&(At.y0+=Ft,At.y1+=Ft),Ht=At.y1+Ce;if(Ft=Ht-Ce-Ee,Ft>0)for(Ht=At.y0-=Ft,At.y1-=Ft,Rt=Gt-2;Rt>=0;--Rt)At=ft[Rt],Ft=At.y1+Ce-Ht,Ft>0&&(At.y0-=Ft,At.y1-=Ft),Ht=At.y0})}}function rt(it){it.nodes.forEach(function(Ze){Ze.sourceLinks.sort(i),Ze.targetLinks.sort(u)}),it.nodes.forEach(function(Ze){var Ie=Ze.y0,Te=Ie,he=Ze.y1,me=he;Ze.sourceLinks.forEach(function(Re){Re.circular?(Re.y0=he-Re.width/2,he=he-Re.width):(Re.y0=Ie+Re.width/2,Ie+=Re.width)}),Ze.targetLinks.forEach(function(Re){Re.circular?(Re.y1=me-Re.width/2,me=me-Re.width):(Re.y1=Te+Re.width/2,Te+=Re.width)})})}return ht}function A(Ae,Be,Oe){var Ee=0;if(Oe===null){for(var we=[],Ce=0;CeBe.source.column)}function O(Ae,Be){var Oe=0;Ae.sourceLinks.forEach(function(we){Oe=we.circular&&!xe(we,Be)?Oe+1:Oe});var Ee=0;return Ae.targetLinks.forEach(function(we){Ee=we.circular&&!xe(we,Be)?Ee+1:Ee}),Oe+Ee}function H(Ae){var Be=Ae.source.sourceLinks,Oe=0;Be.forEach(function(Ce){Oe=Ce.circular?Oe+1:Oe});var Ee=Ae.target.targetLinks,we=0;return Ee.forEach(function(Ce){we=Ce.circular?we+1:we}),!(Oe>1||we>1)}function z(Ae,Be,Oe){return Ae.sort(Z),Ae.forEach(function(Ee,we){var Ce=0;if(xe(Ee,Oe)&&H(Ee))Ee.circularPathData.verticalBuffer=Ce+Ee.width/2;else{var Ge=0;for(Ge;GeCe?He:Ce}Ee.circularPathData.verticalBuffer=Ce+Ee.width/2}}),Ae}function k(Ae,Be,Oe,Ee){var we=5,Ce=(0,v.VV)(Ae.links,function(De){return De.source.y0});Ae.links.forEach(function(De){De.circular&&(De.circularPathData={})});var Ge=Ae.links.filter(function(De){return De.circularLinkType=="top"});z(Ge,Be,Ee);var He=Ae.links.filter(function(De){return De.circularLinkType=="bottom"});z(He,Be,Ee),Ae.links.forEach(function(De){if(De.circular){if(De.circularPathData.arcRadius=De.width+b,De.circularPathData.leftNodeBuffer=we,De.circularPathData.rightNodeBuffer=we,De.circularPathData.sourceWidth=De.source.x1-De.source.x0,De.circularPathData.sourceX=De.source.x0+De.circularPathData.sourceWidth,De.circularPathData.targetX=De.target.x0,De.circularPathData.sourceY=De.y0,De.circularPathData.targetY=De.y1,xe(De,Ee)&&H(De))De.circularPathData.leftSmallArcRadius=b+De.width/2,De.circularPathData.leftLargeArcRadius=b+De.width/2,De.circularPathData.rightSmallArcRadius=b+De.width/2,De.circularPathData.rightLargeArcRadius=b+De.width/2,De.circularLinkType=="bottom"?(De.circularPathData.verticalFullExtent=De.source.y1+M+De.circularPathData.verticalBuffer,De.circularPathData.verticalLeftInnerExtent=De.circularPathData.verticalFullExtent-De.circularPathData.leftLargeArcRadius,De.circularPathData.verticalRightInnerExtent=De.circularPathData.verticalFullExtent-De.circularPathData.rightLargeArcRadius):(De.circularPathData.verticalFullExtent=De.source.y0-M-De.circularPathData.verticalBuffer,De.circularPathData.verticalLeftInnerExtent=De.circularPathData.verticalFullExtent+De.circularPathData.leftLargeArcRadius,De.circularPathData.verticalRightInnerExtent=De.circularPathData.verticalFullExtent+De.circularPathData.rightLargeArcRadius);else{var Fe=De.source.column,qe=De.circularLinkType,Qe=Ae.links.filter(function(ht){return ht.source.column==Fe&&ht.circularLinkType==qe});De.circularLinkType=="bottom"?Qe.sort(Q):Qe.sort(ee);var Je=0;Qe.forEach(function(ht,gt){ht.circularLinkID==De.circularLinkID&&(De.circularPathData.leftSmallArcRadius=b+De.width/2+Je,De.circularPathData.leftLargeArcRadius=b+De.width/2+gt*Be+Je),Je=Je+ht.width}),Fe=De.target.column,Qe=Ae.links.filter(function(ht){return ht.target.column==Fe&&ht.circularLinkType==qe}),De.circularLinkType=="bottom"?Qe.sort(fe):Qe.sort(ne),Je=0,Qe.forEach(function(ht,gt){ht.circularLinkID==De.circularLinkID&&(De.circularPathData.rightSmallArcRadius=b+De.width/2+Je,De.circularPathData.rightLargeArcRadius=b+De.width/2+gt*Be+Je),Je=Je+ht.width}),De.circularLinkType=="bottom"?(De.circularPathData.verticalFullExtent=Math.max(Oe,De.source.y1,De.target.y1)+M+De.circularPathData.verticalBuffer,De.circularPathData.verticalLeftInnerExtent=De.circularPathData.verticalFullExtent-De.circularPathData.leftLargeArcRadius,De.circularPathData.verticalRightInnerExtent=De.circularPathData.verticalFullExtent-De.circularPathData.rightLargeArcRadius):(De.circularPathData.verticalFullExtent=Ce-M-De.circularPathData.verticalBuffer,De.circularPathData.verticalLeftInnerExtent=De.circularPathData.verticalFullExtent+De.circularPathData.leftLargeArcRadius,De.circularPathData.verticalRightInnerExtent=De.circularPathData.verticalFullExtent+De.circularPathData.rightLargeArcRadius)}De.circularPathData.leftInnerExtent=De.circularPathData.sourceX+De.circularPathData.leftNodeBuffer,De.circularPathData.rightInnerExtent=De.circularPathData.targetX-De.circularPathData.rightNodeBuffer,De.circularPathData.leftFullExtent=De.circularPathData.sourceX+De.circularPathData.leftLargeArcRadius+De.circularPathData.leftNodeBuffer,De.circularPathData.rightFullExtent=De.circularPathData.targetX-De.circularPathData.rightLargeArcRadius-De.circularPathData.rightNodeBuffer}if(De.circular)De.path=V(De);else{var tt=(0,a.h5)().source(function(ht){var gt=ht.source.x0+(ht.source.x1-ht.source.x0),yt=ht.y0;return[gt,yt]}).target(function(ht){var gt=ht.target.x0,yt=ht.y1;return[gt,yt]});De.path=tt(De)}})}function V(Ae){var Be="";return Ae.circularLinkType=="top"?Be="M"+Ae.circularPathData.sourceX+" "+Ae.circularPathData.sourceY+" L"+Ae.circularPathData.leftInnerExtent+" "+Ae.circularPathData.sourceY+" A"+Ae.circularPathData.leftLargeArcRadius+" "+Ae.circularPathData.leftSmallArcRadius+" 0 0 0 "+Ae.circularPathData.leftFullExtent+" "+(Ae.circularPathData.sourceY-Ae.circularPathData.leftSmallArcRadius)+" L"+Ae.circularPathData.leftFullExtent+" "+Ae.circularPathData.verticalLeftInnerExtent+" A"+Ae.circularPathData.leftLargeArcRadius+" "+Ae.circularPathData.leftLargeArcRadius+" 0 0 0 "+Ae.circularPathData.leftInnerExtent+" "+Ae.circularPathData.verticalFullExtent+" L"+Ae.circularPathData.rightInnerExtent+" "+Ae.circularPathData.verticalFullExtent+" A"+Ae.circularPathData.rightLargeArcRadius+" "+Ae.circularPathData.rightLargeArcRadius+" 0 0 0 "+Ae.circularPathData.rightFullExtent+" "+Ae.circularPathData.verticalRightInnerExtent+" L"+Ae.circularPathData.rightFullExtent+" "+(Ae.circularPathData.targetY-Ae.circularPathData.rightSmallArcRadius)+" A"+Ae.circularPathData.rightLargeArcRadius+" "+Ae.circularPathData.rightSmallArcRadius+" 0 0 0 "+Ae.circularPathData.rightInnerExtent+" "+Ae.circularPathData.targetY+" L"+Ae.circularPathData.targetX+" "+Ae.circularPathData.targetY:Be="M"+Ae.circularPathData.sourceX+" "+Ae.circularPathData.sourceY+" L"+Ae.circularPathData.leftInnerExtent+" "+Ae.circularPathData.sourceY+" A"+Ae.circularPathData.leftLargeArcRadius+" "+Ae.circularPathData.leftSmallArcRadius+" 0 0 1 "+Ae.circularPathData.leftFullExtent+" "+(Ae.circularPathData.sourceY+Ae.circularPathData.leftSmallArcRadius)+" L"+Ae.circularPathData.leftFullExtent+" "+Ae.circularPathData.verticalLeftInnerExtent+" A"+Ae.circularPathData.leftLargeArcRadius+" "+Ae.circularPathData.leftLargeArcRadius+" 0 0 1 "+Ae.circularPathData.leftInnerExtent+" "+Ae.circularPathData.verticalFullExtent+" L"+Ae.circularPathData.rightInnerExtent+" "+Ae.circularPathData.verticalFullExtent+" A"+Ae.circularPathData.rightLargeArcRadius+" "+Ae.circularPathData.rightLargeArcRadius+" 0 0 1 "+Ae.circularPathData.rightFullExtent+" "+Ae.circularPathData.verticalRightInnerExtent+" L"+Ae.circularPathData.rightFullExtent+" "+(Ae.circularPathData.targetY+Ae.circularPathData.rightSmallArcRadius)+" A"+Ae.circularPathData.rightLargeArcRadius+" "+Ae.circularPathData.rightSmallArcRadius+" 0 0 1 "+Ae.circularPathData.rightInnerExtent+" "+Ae.circularPathData.targetY+" L"+Ae.circularPathData.targetX+" "+Ae.circularPathData.targetY,Be}function Z(Ae,Be){return $(Ae)==$(Be)?Ae.circularLinkType=="bottom"?Q(Ae,Be):ee(Ae,Be):$(Be)-$(Ae)}function ee(Ae,Be){return Ae.y0-Be.y0}function Q(Ae,Be){return Be.y0-Ae.y0}function ne(Ae,Be){return Ae.y1-Be.y1}function fe(Ae,Be){return Be.y1-Ae.y1}function $(Ae){return Ae.target.column-Ae.source.column}function Y(Ae){return Ae.target.x0-Ae.source.x1}function j(Ae,Be){var Oe=F(Ae),Ee=Y(Be)/Math.tan(Oe),we=de(Ae)=="up"?Ae.y1+Ee:Ae.y1-Ee;return we}function X(Ae,Be){var Oe=F(Ae),Ee=Y(Be)/Math.tan(Oe),we=de(Ae)=="up"?Ae.y1-Ee:Ae.y1+Ee;return we}function re(Ae,Be,Oe,Ee){Ae.links.forEach(function(we){if(!we.circular&&we.target.column-we.source.column>1){var Ce=we.source.column+1,Ge=we.target.column-1,He=1,De=Ge-Ce+1;for(He=1;Ce<=Ge;Ce++,He++)Ae.nodes.forEach(function(Fe){if(Fe.column==Ce){var qe=He/(De+1),Qe=Math.pow(1-qe,3),Je=3*qe*Math.pow(1-qe,2),tt=3*Math.pow(qe,2)*(1-qe),ht=Math.pow(qe,3),gt=Qe*we.y0+Je*we.y0+tt*we.y1+ht*we.y1,yt=gt-we.width/2,Et=gt+we.width/2,Xe;yt>Fe.y0&&ytFe.y0&&EtFe.y1&&q(Ue,Xe,Be,Oe)})):ytFe.y1&&(Xe=Et-Fe.y0+10,Fe=q(Fe,Xe,Be,Oe),Ae.nodes.forEach(function(Ue){m(Ue,Ee)==m(Fe,Ee)||Ue.column!=Fe.column||Ue.y0Fe.y1&&q(Ue,Xe,Be,Oe)}))}})}})}function le(Ae,Be){return Ae.y0>Be.y0&&Ae.y0Be.y0&&Ae.y1Be.y1}function q(Ae,Be,Oe,Ee){return Ae.y0+Be>=Oe&&Ae.y1+Be<=Ee&&(Ae.y0=Ae.y0+Be,Ae.y1=Ae.y1+Be,Ae.targetLinks.forEach(function(we){we.y1=we.y1+Be}),Ae.sourceLinks.forEach(function(we){we.y0=we.y0+Be})),Ae}function te(Ae,Be,Oe,Ee){Ae.nodes.forEach(function(we){Ee&&we.y+(we.y1-we.y0)>Be&&(we.y=we.y-(we.y+(we.y1-we.y0)-Be));var Ce=Ae.links.filter(function(De){return m(De.source,Oe)==m(we,Oe)}),Ge=Ce.length;Ge>1&&Ce.sort(function(De,Fe){if(!De.circular&&!Fe.circular){if(De.target.column==Fe.target.column)return De.y1-Fe.y1;if(ae(De,Fe)){if(De.target.column>Fe.target.column){var qe=X(Fe,De);return De.y1-qe}if(Fe.target.column>De.target.column){var Qe=X(De,Fe);return Qe-Fe.y1}}else return De.y1-Fe.y1}if(De.circular&&!Fe.circular)return De.circularLinkType=="top"?-1:1;if(Fe.circular&&!De.circular)return Fe.circularLinkType=="top"?1:-1;if(De.circular&&Fe.circular)return De.circularLinkType===Fe.circularLinkType&&De.circularLinkType=="top"?De.target.column===Fe.target.column?De.target.y1-Fe.target.y1:Fe.target.column-De.target.column:De.circularLinkType===Fe.circularLinkType&&De.circularLinkType=="bottom"?De.target.column===Fe.target.column?Fe.target.y1-De.target.y1:De.target.column-Fe.target.column:De.circularLinkType=="top"?-1:1});var He=we.y0;Ce.forEach(function(De){De.y0=He+De.width/2,He=He+De.width}),Ce.forEach(function(De,Fe){if(De.circularLinkType=="bottom"){var qe=Fe+1,Qe=0;for(qe;qe1&&we.sort(function(He,De){if(!He.circular&&!De.circular){if(He.source.column==De.source.column)return He.y0-De.y0;if(ae(He,De)){if(De.source.column0?"up":"down"}function xe(Ae,Be){return m(Ae.source,Be)==m(Ae.target,Be)}function Se(Ae,Be,Oe){var Ee=Ae.nodes,we=Ae.links,Ce=!1,Ge=!1;if(we.forEach(function(Je){Je.circularLinkType=="top"?Ce=!0:Je.circularLinkType=="bottom"&&(Ge=!0)}),Ce==!1||Ge==!1){var He=(0,v.VV)(Ee,function(Je){return Je.y0}),De=(0,v.Fp)(Ee,function(Je){return Je.y1}),Fe=De-He,qe=Oe-Be,Qe=qe/Fe;Ee.forEach(function(Je){var tt=(Je.y1-Je.y0)*Qe;Je.y0=(Je.y0-He)*Qe,Je.y1=Je.y0+tt}),we.forEach(function(Je){Je.y0=(Je.y0-He)*Qe,Je.y1=(Je.y1-He)*Qe,Je.width=Je.width*Qe})}}},30838:function(U,B,e){e.r(B),e.d(B,{sankey:function(){return y},sankeyCenter:function(){return p},sankeyJustify:function(){return d},sankeyLeft:function(){return C},sankeyLinkHorizontal:function(){return m},sankeyRight:function(){return w}});var v=e(33064),E=e(15140);function a(M){return M.target.depth}function C(M){return M.depth}function w(M,b){return b-1-M.height}function d(M,b){return M.sourceLinks.length?M.depth:b-1}function p(M){return M.targetLinks.length?M.depth:M.sourceLinks.length?(0,v.VV)(M.sourceLinks,a)-1:0}function t(M){return function(){return M}}function r(M,b){return o(M.source,b.source)||M.index-b.index}function c(M,b){return o(M.target,b.target)||M.index-b.index}function o(M,b){return M.y0-b.y0}function n(M){return M.value}function u(M){return(M.y0+M.y1)/2}function i(M){return u(M.source)*M.value}function g(M){return u(M.target)*M.value}function h(M){return M.index}function x(M){return M.nodes}function f(M){return M.links}function l(M,b){var s=M.get(b);if(!s)throw new Error("missing: "+b);return s}function y(){var M=0,b=0,s=1,_=1,A=24,D=8,F=h,G=d,O=x,H=f,z=32,k=2/3;function V(){var $={nodes:O.apply(null,arguments),links:H.apply(null,arguments)};return Z($),ee($),Q($),ne($),fe($),$}V.update=function($){return fe($),$},V.nodeId=function($){return arguments.length?(F=typeof $=="function"?$:t($),V):F},V.nodeAlign=function($){return arguments.length?(G=typeof $=="function"?$:t($),V):G},V.nodeWidth=function($){return arguments.length?(A=+$,V):A},V.nodePadding=function($){return arguments.length?(D=+$,V):D},V.nodes=function($){return arguments.length?(O=typeof $=="function"?$:t($),V):O},V.links=function($){return arguments.length?(H=typeof $=="function"?$:t($),V):H},V.size=function($){return arguments.length?(M=b=0,s=+$[0],_=+$[1],V):[s-M,_-b]},V.extent=function($){return arguments.length?(M=+$[0][0],s=+$[1][0],b=+$[0][1],_=+$[1][1],V):[[M,b],[s,_]]},V.iterations=function($){return arguments.length?(z=+$,V):z};function Z($){$.nodes.forEach(function(j,X){j.index=X,j.sourceLinks=[],j.targetLinks=[]});var Y=(0,E.UI)($.nodes,F);$.links.forEach(function(j,X){j.index=X;var re=j.source,le=j.target;typeof re!="object"&&(re=j.source=l(Y,re)),typeof le!="object"&&(le=j.target=l(Y,le)),re.sourceLinks.push(j),le.targetLinks.push(j)})}function ee($){$.nodes.forEach(function(Y){Y.value=Math.max((0,v.Sm)(Y.sourceLinks,n),(0,v.Sm)(Y.targetLinks,n))})}function Q($){var Y,j,X;for(Y=$.nodes,j=[],X=0;Y.length;++X,Y=j,j=[])Y.forEach(function(le){le.depth=X,le.sourceLinks.forEach(function(q){j.indexOf(q.target)<0&&j.push(q.target)})});for(Y=$.nodes,j=[],X=0;Y.length;++X,Y=j,j=[])Y.forEach(function(le){le.height=X,le.targetLinks.forEach(function(q){j.indexOf(q.source)<0&&j.push(q.source)})});var re=(s-M-A)/(X-1);$.nodes.forEach(function(le){le.x1=(le.x0=M+Math.max(0,Math.min(X-1,Math.floor(G.call(null,le,X))))*re)+A})}function ne($){var Y=(0,E.b1)().key(function(ue){return ue.x0}).sortKeys(v.j2).entries($.nodes).map(function(ue){return ue.values});re(),te();for(var j=1,X=z;X>0;--X)q(j*=.99),te(),le(j),te();function re(){var ue=(0,v.Fp)(Y,function(xe){return xe.length}),ae=k*(_-b)/(ue-1);D>ae&&(D=ae);var de=(0,v.VV)(Y,function(xe){return(_-b-(xe.length-1)*D)/(0,v.Sm)(xe,n)});Y.forEach(function(xe){xe.forEach(function(Se,Ae){Se.y1=(Se.y0=Ae)+Se.value*de})}),$.links.forEach(function(xe){xe.width=xe.value*de})}function le(ue){Y.forEach(function(ae){ae.forEach(function(de){if(de.targetLinks.length){var xe=((0,v.Sm)(de.targetLinks,i)/(0,v.Sm)(de.targetLinks,n)-u(de))*ue;de.y0+=xe,de.y1+=xe}})})}function q(ue){Y.slice().reverse().forEach(function(ae){ae.forEach(function(de){if(de.sourceLinks.length){var xe=((0,v.Sm)(de.sourceLinks,g)/(0,v.Sm)(de.sourceLinks,n)-u(de))*ue;de.y0+=xe,de.y1+=xe}})})}function te(){Y.forEach(function(ue){var ae,de,xe=b,Se=ue.length,Ae;for(ue.sort(o),Ae=0;Ae0&&(ae.y0+=de,ae.y1+=de),xe=ae.y1+D;if(de=xe-D-_,de>0)for(xe=ae.y0-=de,ae.y1-=de,Ae=Se-2;Ae>=0;--Ae)ae=ue[Ae],de=ae.y1+D-xe,de>0&&(ae.y0-=de,ae.y1-=de),xe=ae.y0})}}function fe($){$.nodes.forEach(function(Y){Y.sourceLinks.sort(c),Y.targetLinks.sort(r)}),$.nodes.forEach(function(Y){var j=Y.y0,X=j;Y.sourceLinks.forEach(function(re){re.y0=j+re.width/2,j+=re.width}),Y.targetLinks.forEach(function(re){re.y1=X+re.width/2,X+=re.width})})}return V}var T=e(45879);function S(M){return[M.source.x1,M.y0]}function L(M){return[M.target.x0,M.y1]}function m(){return(0,T.h5)().source(S).target(L)}},39898:function(U,B,e){var v,E;(function(){var a={version:"3.8.0"},C=[].slice,w=function(ce){return C.call(ce)},d=self.document;function p(ce){return ce&&(ce.ownerDocument||ce.document||ce).documentElement}function t(ce){return ce&&(ce.ownerDocument&&ce.ownerDocument.defaultView||ce.document&&ce||ce.defaultView)}if(d)try{w(d.documentElement.childNodes)[0].nodeType}catch{w=function(Le){for(var Ve=Le.length,et=new Array(Ve);Ve--;)et[Ve]=Le[Ve];return et}}if(Date.now||(Date.now=function(){return+new Date}),d)try{d.createElement("DIV").style.setProperty("opacity",0,"")}catch{var r=this.Element.prototype,c=r.setAttribute,o=r.setAttributeNS,n=this.CSSStyleDeclaration.prototype,u=n.setProperty;r.setAttribute=function(Le,Ve){c.call(this,Le,Ve+"")},r.setAttributeNS=function(Le,Ve,et){o.call(this,Le,Ve,et+"")},n.setProperty=function(Le,Ve,et){u.call(this,Le,Ve+"",et)}}a.ascending=i;function i(ce,Le){return ceLe?1:ce>=Le?0:NaN}a.descending=function(ce,Le){return Lece?1:Le>=ce?0:NaN},a.min=function(ce,Le){var Ve=-1,et=ce.length,nt,ot;if(arguments.length===1){for(;++Ve=ot){nt=ot;break}for(;++Veot&&(nt=ot)}else{for(;++Ve=ot){nt=ot;break}for(;++Veot&&(nt=ot)}return nt},a.max=function(ce,Le){var Ve=-1,et=ce.length,nt,ot;if(arguments.length===1){for(;++Ve=ot){nt=ot;break}for(;++Vent&&(nt=ot)}else{for(;++Ve=ot){nt=ot;break}for(;++Vent&&(nt=ot)}return nt},a.extent=function(ce,Le){var Ve=-1,et=ce.length,nt,ot,Pt;if(arguments.length===1){for(;++Ve=ot){nt=Pt=ot;break}for(;++Veot&&(nt=ot),Pt=ot){nt=Pt=ot;break}for(;++Veot&&(nt=ot),Pt1)return Pt/(Ut-1)},a.deviation=function(){var ce=a.variance.apply(this,arguments);return ce&&Math.sqrt(ce)};function x(ce){return{left:function(Le,Ve,et,nt){for(arguments.length<3&&(et=0),arguments.length<4&&(nt=Le.length);et>>1;ce(Le[ot],Ve)<0?et=ot+1:nt=ot}return et},right:function(Le,Ve,et,nt){for(arguments.length<3&&(et=0),arguments.length<4&&(nt=Le.length);et>>1;ce(Le[ot],Ve)>0?nt=ot:et=ot+1}return et}}}var f=x(i);a.bisectLeft=f.left,a.bisect=a.bisectRight=f.right,a.bisector=function(ce){return x(ce.length===1?function(Le,Ve){return i(ce(Le),Ve)}:ce)},a.shuffle=function(ce,Le,Ve){(et=arguments.length)<3&&(Ve=ce.length,et<2&&(Le=0));for(var et=Ve-Le,nt,ot;et;)ot=Math.random()*et--|0,nt=ce[et+Le],ce[et+Le]=ce[ot+Le],ce[ot+Le]=nt;return ce},a.permute=function(ce,Le){for(var Ve=Le.length,et=new Array(Ve);Ve--;)et[Ve]=ce[Le[Ve]];return et},a.pairs=function(ce){for(var Le=0,Ve=ce.length-1,et=ce[0],nt=new Array(Ve<0?0:Ve);Le=0;)for(Pt=ce[Le],Ve=Pt.length;--Ve>=0;)ot[--nt]=Pt[Ve];return ot};var y=Math.abs;a.range=function(ce,Le,Ve){if(arguments.length<3&&(Ve=1,arguments.length<2&&(Le=ce,ce=0)),(Le-ce)/Ve===1/0)throw new Error("infinite range");var et=[],nt=T(y(Ve)),ot=-1,Pt;if(ce*=nt,Le*=nt,Ve*=nt,Ve<0)for(;(Pt=ce+Ve*++ot)>Le;)et.push(Pt/nt);else for(;(Pt=ce+Ve*++ot)=Le.length)return nt?nt.call(ce,Ut):et?Ut.sort(et):Ut;for(var tr=-1,_r=Ut.length,Er=Le[er++],$r,tn,Ir,Hr=new L,Zr;++tr<_r;)(Zr=Hr.get($r=Er(tn=Ut[tr])))?Zr.push(tn):Hr.set($r,[tn]);return vt?(tn=vt(),Ir=function(rn,fn){tn.set(rn,ot(vt,fn,er))}):(tn={},Ir=function(rn,fn){tn[rn]=ot(vt,fn,er)}),Hr.forEach(Ir),tn}function Pt(vt,Ut){if(Ut>=Le.length)return vt;var er=[],tr=Ve[Ut++];return vt.forEach(function(_r,Er){er.push({key:_r,values:Pt(Er,Ut)})}),tr?er.sort(function(_r,Er){return tr(_r.key,Er.key)}):er}return ce.map=function(vt,Ut){return ot(Ut,vt,0)},ce.entries=function(vt){return Pt(ot(a.map,vt,0),0)},ce.key=function(vt){return Le.push(vt),ce},ce.sortKeys=function(vt){return Ve[Le.length-1]=vt,ce},ce.sortValues=function(vt){return et=vt,ce},ce.rollup=function(vt){return nt=vt,ce},ce},a.set=function(ce){var Le=new O;if(ce)for(var Ve=0,et=ce.length;Ve=0&&(et=ce.slice(Ve+1),ce=ce.slice(0,Ve)),ce)return arguments.length<2?this[ce].on(et):this[ce].on(et,Le);if(arguments.length===2){if(Le==null)for(ce in this)this.hasOwnProperty(ce)&&this[ce].on(et,null);return this}};function Q(ce){var Le=[],Ve=new L;function et(){for(var nt=Le,ot=-1,Pt=nt.length,vt;++ot=0&&(Ve=ce.slice(0,Le))!=="xmlns"&&(ce=ce.slice(Le+1)),xe.hasOwnProperty(Ve)?{space:xe[Ve],local:ce}:ce}},te.attr=function(ce,Le){if(arguments.length<2){if(typeof ce=="string"){var Ve=this.node();return ce=a.ns.qualify(ce),ce.local?Ve.getAttributeNS(ce.space,ce.local):Ve.getAttribute(ce)}for(Le in ce)this.each(Se(Le,ce[Le]));return this}return this.each(Se(ce,Le))};function Se(ce,Le){ce=a.ns.qualify(ce);function Ve(){this.removeAttribute(ce)}function et(){this.removeAttributeNS(ce.space,ce.local)}function nt(){this.setAttribute(ce,Le)}function ot(){this.setAttributeNS(ce.space,ce.local,Le)}function Pt(){var Ut=Le.apply(this,arguments);Ut==null?this.removeAttribute(ce):this.setAttribute(ce,Ut)}function vt(){var Ut=Le.apply(this,arguments);Ut==null?this.removeAttributeNS(ce.space,ce.local):this.setAttributeNS(ce.space,ce.local,Ut)}return Le==null?ce.local?et:Ve:typeof Le=="function"?ce.local?vt:Pt:ce.local?ot:nt}function Ae(ce){return ce.trim().replace(/\s+/g," ")}te.classed=function(ce,Le){if(arguments.length<2){if(typeof ce=="string"){var Ve=this.node(),et=(ce=Oe(ce)).length,nt=-1;if(Le=Ve.classList){for(;++nt=0;)(ot=Ve[et])&&(nt&&nt!==ot.nextSibling&&nt.parentNode.insertBefore(ot,nt),nt=ot);return this},te.sort=function(ce){ce=Qe.apply(this,arguments);for(var Le=-1,Ve=this.length;++Le=Le&&(Le=nt+1);!(Ut=Pt[Le])&&++Le0&&(ce=ce.slice(0,nt));var Pt=Et.get(ce);Pt&&(ce=Pt,ot=Ue);function vt(){var tr=this[et];tr&&(this.removeEventListener(ce,tr,tr.$),delete this[et])}function Ut(){var tr=ot(Le,w(arguments));vt.call(this),this.addEventListener(ce,this[et]=tr,tr.$=Ve),tr._=Le}function er(){var tr=new RegExp("^__on([^.]+)"+a.requote(ce)+"$"),_r;for(var Er in this)if(_r=Er.match(tr)){var $r=this[Er];this.removeEventListener(_r[1],$r,$r.$),delete this[Er]}}return nt?Le?Ut:vt:Le?Z:er}var Et=a.map({mouseenter:"mouseover",mouseleave:"mouseout"});d&&Et.forEach(function(ce){"on"+ce in d&&Et.remove(ce)});function Xe(ce,Le){return function(Ve){var et=a.event;a.event=Ve,Le[0]=this.__data__;try{ce.apply(this,Le)}finally{a.event=et}}}function Ue(ce,Le){var Ve=Xe(ce,Le);return function(et){var nt=this,ot=et.relatedTarget;(!ot||ot!==nt&&!(ot.compareDocumentPosition(nt)&8))&&Ve.call(nt,et)}}var ze,rt=0;function it(ce){var Le=".dragsuppress-"+ ++rt,Ve="click"+Le,et=a.select(t(ce)).on("touchmove"+Le,ne).on("dragstart"+Le,ne).on("selectstart"+Le,ne);if(ze==null&&(ze="onselectstart"in ce?!1:k(ce.style,"userSelect")),ze){var nt=p(ce).style,ot=nt[ze];nt[ze]="none"}return function(Pt){if(et.on(Le,null),ze&&(nt[ze]=ot),Pt){var vt=function(){et.on(Ve,null)};et.on(Ve,function(){ne(),vt()},!0),setTimeout(vt,0)}}}a.mouse=function(ce){return Ie(ce,fe())};var Ze=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ie(ce,Le){Le.changedTouches&&(Le=Le.changedTouches[0]);var Ve=ce.ownerSVGElement||ce;if(Ve.createSVGPoint){var et=Ve.createSVGPoint();if(Ze<0){var nt=t(ce);if(nt.scrollX||nt.scrollY){Ve=a.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ot=Ve[0][0].getScreenCTM();Ze=!(ot.f||ot.e),Ve.remove()}}return Ze?(et.x=Le.pageX,et.y=Le.pageY):(et.x=Le.clientX,et.y=Le.clientY),et=et.matrixTransform(ce.getScreenCTM().inverse()),[et.x,et.y]}var Pt=ce.getBoundingClientRect();return[Le.clientX-Pt.left-ce.clientLeft,Le.clientY-Pt.top-ce.clientTop]}a.touch=function(ce,Le,Ve){if(arguments.length<3&&(Ve=Le,Le=fe().changedTouches),Le){for(var et=0,nt=Le.length,ot;et1?ft:ce<-1?-ft:Math.asin(ce)}function Rt(ce){return((ce=Math.exp(ce))-1/ce)/2}function qt(ce){return((ce=Math.exp(ce))+1/ce)/2}function sr(ce){return((ce=Math.exp(2*ce))-1)/(ce+1)}var kr=Math.SQRT2,xt=2,Xt=4;a.interpolateZoom=function(ce,Le){var Ve=ce[0],et=ce[1],nt=ce[2],ot=Le[0],Pt=Le[1],vt=Le[2],Ut=ot-Ve,er=Pt-et,tr=Ut*Ut+er*er,_r,Er;if(tr0&&(Un=Un.transition().duration(Pt)),Un.call(fn.event)}function Aa(){Hr&&Hr.domain(Ir.range().map(function(Un){return(Un-ce.x)/ce.k}).map(Ir.invert)),rn&&rn.domain(Zr.range().map(function(Un){return(Un-ce.y)/ce.k}).map(Zr.invert))}function Ta(Un){vt++||Un({type:"zoomstart"})}function Ka(Un){Aa(),Un({type:"zoom",scale:ce.k,translate:[ce.x,ce.y]})}function Ra(Un){--vt||(Un({type:"zoomend"}),Ve=null)}function Ya(){var Un=this,Za=tn.of(Un,arguments),Ga=0,ni=a.select(t(Un)).on(er,lo).on(tr,Ui),ji=Xr(a.mouse(Un)),no=it(Un);zt.call(Un),Ta(Za);function lo(){Ga=1,Qn(a.mouse(Un),ji),Ka(Za)}function Ui(){ni.on(er,null).on(tr,null),no(Ga),Ra(Za)}}function di(){var Un=this,Za=tn.of(Un,arguments),Ga={},ni=0,ji,no=".zoom-"+a.event.changedTouches[0].identifier,lo="touchmove"+no,Ui="touchend"+no,Pi=[],ba=a.select(Un),_a=it(Un);so(),Ta(Za),ba.on(Ut,null).on(Er,so);function Hi(){var Ho=a.touches(Un);return ji=ce.k,Ho.forEach(function(Xi){Xi.identifier in Ga&&(Ga[Xi.identifier]=Xr(Xi))}),Ho}function so(){var Ho=a.event.target;a.select(Ho).on(lo,ns).on(Ui,Ao),Pi.push(Ho);for(var Xi=a.event.changedTouches,us=0,Oi=Xi.length;us1){var ui=Vs[0],Vi=Vs[1],rh=ui[0]-Vi[0],pc=ui[1]-Vi[1];ni=rh*rh+pc*pc}}function ns(){var Ho=a.touches(Un),Xi,us,Oi,Vs;zt.call(Un);for(var fs=0,ui=Ho.length;fs1?1:Le,Ve=Ve<0?0:Ve>1?1:Ve,nt=Ve<=.5?Ve*(1+Le):Ve+Le-Ve*Le,et=2*Ve-nt;function ot(vt){return vt>360?vt-=360:vt<0&&(vt+=360),vt<60?et+(nt-et)*vt/60:vt<180?nt:vt<240?et+(nt-et)*(240-vt)/60:et}function Pt(vt){return Math.round(ot(vt)*255)}return new lr(Pt(ce+120),Pt(ce),Pt(ce-120))}a.hcl=Lt;function Lt(ce,Le,Ve){return this instanceof Lt?(this.h=+ce,this.c=+Le,void(this.l=+Ve)):arguments.length<2?ce instanceof Lt?new Lt(ce.h,ce.c,ce.l):ce instanceof Vt?It(ce.l,ce.a,ce.b):It((ce=Yr((ce=a.rgb(ce)).r,ce.g,ce.b)).l,ce.a,ce.b):new Lt(ce,Le,Ve)}var St=Lt.prototype=new ct;St.brighter=function(ce){return new Lt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?ce:1)))},St.darker=function(ce){return new Lt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?ce:1)))},St.rgb=function(){return Ot(this.h,this.c,this.l).rgb()};function Ot(ce,Le,Ve){return isNaN(ce)&&(ce=0),isNaN(Le)&&(Le=0),new Vt(Ve,Math.cos(ce*=At)*Le,Math.sin(ce)*Le)}a.lab=Vt;function Vt(ce,Le,Ve){return this instanceof Vt?(this.l=+ce,this.a=+Le,void(this.b=+Ve)):arguments.length<2?ce instanceof Vt?new Vt(ce.l,ce.a,ce.b):ce instanceof Lt?Ot(ce.h,ce.c,ce.l):Yr((ce=lr(ce)).r,ce.g,ce.b):new Vt(ce,Le,Ve)}var Jt=18,$t=.95047,ir=1,Cr=1.08883,je=Vt.prototype=new ct;je.brighter=function(ce){return new Vt(Math.min(100,this.l+Jt*(arguments.length?ce:1)),this.a,this.b)},je.darker=function(ce){return new Vt(Math.max(0,this.l-Jt*(arguments.length?ce:1)),this.a,this.b)},je.rgb=function(){return We(this.l,this.a,this.b)};function We(ce,Le,Ve){var et=(ce+16)/116,nt=et+Le/500,ot=et-Ve/200;return nt=kt(nt)*$t,et=kt(et)*ir,ot=kt(ot)*Cr,new lr(ar(3.2404542*nt-1.5371385*et-.4985314*ot),ar(-.969266*nt+1.8760108*et+.041556*ot),ar(.0556434*nt-.2040259*et+1.0572252*ot))}function It(ce,Le,Ve){return ce>0?new Lt(Math.atan2(Ve,Le)*Ft,Math.sqrt(Le*Le+Ve*Ve),ce):new Lt(NaN,NaN,ce)}function kt(ce){return ce>.206893034?ce*ce*ce:(ce-.13793103448275862)/7.787037}function Yt(ce){return ce>.008856?Math.pow(ce,.3333333333333333):7.787037*ce+.13793103448275862}function ar(ce){return Math.round(255*(ce<=.00304?12.92*ce:1.055*Math.pow(ce,.4166666666666667)-.055))}a.rgb=lr;function lr(ce,Le,Ve){return this instanceof lr?(this.r=~~ce,this.g=~~Le,void(this.b=~~Ve)):arguments.length<2?ce instanceof lr?new lr(ce.r,ce.g,ce.b):pr(""+ce,lr,Mt):new lr(ce,Le,Ve)}function rr(ce){return new lr(ce>>16,ce>>8&255,ce&255)}function Nt(ce){return rr(ce)+""}var cr=lr.prototype=new ct;cr.brighter=function(ce){ce=Math.pow(.7,arguments.length?ce:1);var Le=this.r,Ve=this.g,et=this.b,nt=30;return!Le&&!Ve&&!et?new lr(nt,nt,nt):(Le&&Le>4,et=et>>4|et,nt=Ut&240,nt=nt>>4|nt,ot=Ut&15,ot=ot<<4|ot):ce.length===7&&(et=(Ut&16711680)>>16,nt=(Ut&65280)>>8,ot=Ut&255)),Le(et,nt,ot))}function dr(ce,Le,Ve){var et=Math.min(ce/=255,Le/=255,Ve/=255),nt=Math.max(ce,Le,Ve),ot=nt-et,Pt,vt,Ut=(nt+et)/2;return ot?(vt=Ut<.5?ot/(nt+et):ot/(2-nt-et),ce==nt?Pt=(Le-Ve)/ot+(Le0&&Ut<1?0:Pt),new ut(Pt,vt,Ut)}function Yr(ce,Le,Ve){ce=zr(ce),Le=zr(Le),Ve=zr(Ve);var et=Yt((.4124564*ce+.3575761*Le+.1804375*Ve)/$t),nt=Yt((.2126729*ce+.7151522*Le+.072175*Ve)/ir),ot=Yt((.0193339*ce+.119192*Le+.9503041*Ve)/Cr);return Vt(116*nt-16,500*(et-nt),200*(nt-ot))}function zr(ce){return(ce/=255)<=.04045?ce/12.92:Math.pow((ce+.055)/1.055,2.4)}function Or(ce){var Le=parseFloat(ce);return ce.charAt(ce.length-1)==="%"?Math.round(Le*2.55):Le}var mn=a.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});mn.forEach(function(ce,Le){mn.set(ce,rr(Le))});function Kr(ce){return typeof ce=="function"?ce:function(){return ce}}a.functor=Kr,a.xhr=kn(H);function kn(ce){return function(Le,Ve,et){return arguments.length===2&&typeof Ve=="function"&&(et=Ve,Ve=null),Dn(Le,Ve,ce,et)}}function Dn(ce,Le,Ve,et){var nt={},ot=a.dispatch("beforesend","progress","load","error"),Pt={},vt=new XMLHttpRequest,Ut=null;self.XDomainRequest&&!("withCredentials"in vt)&&/^(http(s)?:)?\/\//.test(ce)&&(vt=new XDomainRequest),"onload"in vt?vt.onload=vt.onerror=er:vt.onreadystatechange=function(){vt.readyState>3&&er()};function er(){var tr=vt.status,_r;if(!tr&&br(vt)||tr>=200&&tr<300||tr===304){try{_r=Ve.call(nt,vt)}catch(Er){ot.error.call(nt,Er);return}ot.load.call(nt,_r)}else ot.error.call(nt,vt)}return vt.onprogress=function(tr){var _r=a.event;a.event=tr;try{ot.progress.call(nt,vt)}finally{a.event=_r}},nt.header=function(tr,_r){return tr=(tr+"").toLowerCase(),arguments.length<2?Pt[tr]:(_r==null?delete Pt[tr]:Pt[tr]=_r+"",nt)},nt.mimeType=function(tr){return arguments.length?(Le=tr==null?null:tr+"",nt):Le},nt.responseType=function(tr){return arguments.length?(Ut=tr,nt):Ut},nt.response=function(tr){return Ve=tr,nt},["get","post"].forEach(function(tr){nt[tr]=function(){return nt.send.apply(nt,[tr].concat(w(arguments)))}}),nt.send=function(tr,_r,Er){if(arguments.length===2&&typeof _r=="function"&&(Er=_r,_r=null),vt.open(tr,ce,!0),Le!=null&&!("accept"in Pt)&&(Pt.accept=Le+",*/*"),vt.setRequestHeader)for(var $r in Pt)vt.setRequestHeader($r,Pt[$r]);return Le!=null&&vt.overrideMimeType&&vt.overrideMimeType(Le),Ut!=null&&(vt.responseType=Ut),Er!=null&&nt.on("error",Er).on("load",function(tn){Er(null,tn)}),ot.beforesend.call(nt,vt),vt.send(_r??null),nt},nt.abort=function(){return vt.abort(),nt},a.rebind(nt,ot,"on"),et==null?nt:nt.get(xr(et))}function xr(ce){return ce.length===1?function(Le,Ve){ce(Le==null?Ve:null)}:ce}function br(ce){var Le=ce.responseType;return Le&&Le!=="text"?ce.response:ce.responseText}a.dsv=function(ce,Le){var Ve=new RegExp('["'+ce+` +]`),et=ce.charCodeAt(0);function nt(er,tr,_r){arguments.length<3&&(_r=tr,tr=null);var Er=Dn(er,Le,tr==null?ot:Pt(tr),_r);return Er.row=function($r){return arguments.length?Er.response((tr=$r)==null?ot:Pt($r)):tr},Er}function ot(er){return nt.parse(er.responseText)}function Pt(er){return function(tr){return nt.parse(tr.responseText,er)}}nt.parse=function(er,tr){var _r;return nt.parseRows(er,function(Er,$r){if(_r)return _r(Er,$r-1);var tn=function(Ir){for(var Hr={},Zr=Er.length,rn=0;rn=tn)return Er;if(rn)return rn=!1,_r;var Nn=Ir;if(er.charCodeAt(Nn)===34){for(var jn=Nn;jn++24?(isFinite(Le)&&(clearTimeout(gn),gn=setTimeout(Rn,Le)),en=0):(en=1,hn(Rn))}a.timer.flush=function(){Jn(),na()};function Jn(){for(var ce=Date.now(),Le=Br;Le;)ce>=Le.t&&Le.c(ce-Le.t)&&(Le.c=null),Le=Le.n;return ce}function na(){for(var ce,Le=Br,Ve=1/0;Le;)Le.c?(Le.t=0;--vt)Ir.push(nt[er[_r[vt]][2]]);for(vt=+$r;vt1&&Ht(ce[Ve[et-2]],ce[Ve[et-1]],ce[nt])<=0;)--et;Ve[et++]=nt}return Ve.slice(0,et)}function Sr(ce,Le){return ce[0]-Le[0]||ce[1]-Le[1]}a.geom.polygon=function(ce){return j(ce,ln),ce};var ln=a.geom.polygon.prototype=[];ln.area=function(){for(var ce=-1,Le=this.length,Ve,et=this[Le-1],nt=0;++cehe)vt=vt.L;else if(Pt=Le-cn(vt,Ve),Pt>he){if(!vt.R){et=vt;break}vt=vt.R}else{ot>-he?(et=vt.P,nt=vt):Pt>-he?(et=vt,nt=vt.N):et=nt=vt;break}var Ut=on(ce);if(Gn.insert(et,Ut),!(!et&&!nt)){if(et===nt){Yn(et),nt=on(et.site),Gn.insert(Ut,nt),Ut.edge=nt.edge=fa(et.site,Ut.site),On(et),On(nt);return}if(!nt){Ut.edge=fa(et.site,Ut.site);return}Yn(et),Yn(nt);var er=et.site,tr=er.x,_r=er.y,Er=ce.x-tr,$r=ce.y-_r,tn=nt.site,Ir=tn.x-tr,Hr=tn.y-_r,Zr=2*(Er*Hr-$r*Ir),rn=Er*Er+$r*$r,fn=Ir*Ir+Hr*Hr,Xr={x:(Hr*rn-$r*fn)/Zr+tr,y:(Er*fn-Ir*rn)/Zr+_r};ma(nt.edge,er,tn,Xr),Ut.edge=fa(er,ce,null,Xr),nt.edge=fa(ce,tn,null,Xr),On(et),On(nt)}}function An(ce,Le){var Ve=ce.site,et=Ve.x,nt=Ve.y,ot=nt-Le;if(!ot)return et;var Pt=ce.P;if(!Pt)return-1/0;Ve=Pt.site;var vt=Ve.x,Ut=Ve.y,er=Ut-Le;if(!er)return vt;var tr=vt-et,_r=1/ot-1/er,Er=tr/er;return _r?(-Er+Math.sqrt(Er*Er-2*_r*(tr*tr/(-2*er)-Ut+er/2+nt-ot/2)))/_r+et:(et+vt)/2}function cn(ce,Le){var Ve=ce.N;if(Ve)return An(Ve,Le);var et=ce.site;return et.y===Le?et.x:1/0}function Rr(ce){this.site=ce,this.edges=[]}Rr.prototype.prepare=function(){for(var ce=this.edges,Le=ce.length,Ve;Le--;)Ve=ce[Le].edge,(!Ve.b||!Ve.a)&&ce.splice(Le,1);return ce.sort(Fr),ce.length};function Lr(ce){for(var Le=ce[0][0],Ve=ce[1][0],et=ce[0][1],nt=ce[1][1],ot,Pt,vt,Ut,er=_n,tr=er.length,_r,Er,$r,tn,Ir,Hr;tr--;)if(_r=er[tr],!(!_r||!_r.prepare()))for($r=_r.edges,tn=$r.length,Er=0;Erhe||y(Ut-Pt)>he)&&($r.splice(Er,0,new bo(ca(_r.site,Hr,y(vt-Le)he?{x:Le,y:y(ot-Le)he?{x:y(Pt-nt)he?{x:Ve,y:y(ot-Ve)he?{x:y(Pt-et)=-me)){var Er=Ut*Ut+er*er,$r=tr*tr+Hr*Hr,tn=(Hr*Er-er*$r)/_r,Ir=(Ut*$r-tr*Er)/_r,Hr=Ir+vt,Zr=Zt.pop()||new pn;Zr.arc=ce,Zr.site=nt,Zr.x=tn+Pt,Zr.y=Hr+Math.sqrt(tn*tn+Ir*Ir),Zr.cy=Hr,ce.circle=Zr;for(var rn=null,fn=ii._;fn;)if(Zr.y0)){if(Ir/=$r,$r<0){if(Ir<_r)return;Ir0){if(Ir>Er)return;Ir>_r&&(_r=Ir)}if(Ir=Ve-vt,!(!$r&&Ir<0)){if(Ir/=$r,$r<0){if(Ir>Er)return;Ir>_r&&(_r=Ir)}else if($r>0){if(Ir<_r)return;Ir0)){if(Ir/=tn,tn<0){if(Ir<_r)return;Ir0){if(Ir>Er)return;Ir>_r&&(_r=Ir)}if(Ir=et-Ut,!(!tn&&Ir<0)){if(Ir/=tn,tn<0){if(Ir>Er)return;Ir>_r&&(_r=Ir)}else if(tn>0){if(Ir<_r)return;Ir0&&(nt.a={x:vt+_r*$r,y:Ut+_r*tn}),Er<1&&(nt.b={x:vt+Er*$r,y:Ut+Er*tn}),nt}}}}}}function Bn(ce){for(var Le=Ln,Ve=xn(ce[0][0],ce[0][1],ce[1][0],ce[1][1]),et=Le.length,nt;et--;)nt=Le[et],(!ta(nt,ce)||!Ve(nt)||y(nt.a.x-nt.b.x)=ot)return;if(tr>Er){if(!et)et={x:tn,y:Pt};else if(et.y>=vt)return;Ve={x:tn,y:vt}}else{if(!et)et={x:tn,y:vt};else if(et.y1)if(tr>Er){if(!et)et={x:(Pt-Zr)/Hr,y:Pt};else if(et.y>=vt)return;Ve={x:(vt-Zr)/Hr,y:vt}}else{if(!et)et={x:(vt-Zr)/Hr,y:vt};else if(et.y=ot)return;Ve={x:ot,y:Hr*ot+Zr}}else{if(!et)et={x:ot,y:Hr*ot+Zr};else if(et.x=tr&&Zr.x<=Er&&Zr.y>=_r&&Zr.y<=$r?[[tr,$r],[Er,$r],[Er,_r],[tr,_r]]:[];rn.point=Ut[Ir]}),er}function vt(Ut){return Ut.map(function(er,tr){return{x:Math.round(et(er,tr)/he)*he,y:Math.round(nt(er,tr)/he)*he,i:tr}})}return Pt.links=function(Ut){return gi(vt(Ut)).edges.filter(function(er){return er.l&&er.r}).map(function(er){return{source:Ut[er.l.i],target:Ut[er.r.i]}})},Pt.triangles=function(Ut){var er=[];return gi(vt(Ut)).cells.forEach(function(tr,_r){for(var Er=tr.site,$r=tr.edges.sort(Fr),tn=-1,Ir=$r.length,Hr,Zr=$r[Ir-1].edge,rn=Zr.l===Er?Zr.r:Zr.l;++tnfn&&(fn=tr.x),tr.y>Xr&&(Xr=tr.y),$r.push(tr.x),tn.push(tr.y);else for(Ir=0;Irfn&&(fn=Nn),jn>Xr&&(Xr=jn),$r.push(Nn),tn.push(jn)}var Qn=fn-Zr,sa=Xr-rn;Qn>sa?Xr=rn+Qn:fn=Zr+sa;function Aa(Ra,Ya,di,yi,Li,Un,Za,Ga){if(!(isNaN(di)||isNaN(yi)))if(Ra.leaf){var ni=Ra.x,ji=Ra.y;if(ni!=null)if(y(ni-di)+y(ji-yi)<.01)Ta(Ra,Ya,di,yi,Li,Un,Za,Ga);else{var no=Ra.point;Ra.x=Ra.y=Ra.point=null,Ta(Ra,no,ni,ji,Li,Un,Za,Ga),Ta(Ra,Ya,di,yi,Li,Un,Za,Ga)}else Ra.x=di,Ra.y=yi,Ra.point=Ya}else Ta(Ra,Ya,di,yi,Li,Un,Za,Ga)}function Ta(Ra,Ya,di,yi,Li,Un,Za,Ga){var ni=(Li+Za)*.5,ji=(Un+Ga)*.5,no=di>=ni,lo=yi>=ji,Ui=lo<<1|no;Ra.leaf=!1,Ra=Ra.nodes[Ui]||(Ra.nodes[Ui]=Lu()),no?Li=ni:Za=ni,lo?Un=ji:Ga=ji,Aa(Ra,Ya,di,yi,Li,Un,Za,Ga)}var Ka=Lu();if(Ka.add=function(Ra){Aa(Ka,Ra,+_r(Ra,++Ir),+Er(Ra,Ir),Zr,rn,fn,Xr)},Ka.visit=function(Ra){Ji(Ra,Ka,Zr,rn,fn,Xr)},Ka.find=function(Ra){return _u(Ka,Ra[0],Ra[1],Zr,rn,fn,Xr)},Ir=-1,Le==null){for(;++Irot||Er>Pt||$r=Nn,sa=Ve>=jn,Aa=sa<<1|Qn,Ta=Aa+4;AaVe&&(ot=Le.slice(Ve,ot),vt[Pt]?vt[Pt]+=ot:vt[++Pt]=ot),(et=et[0])===(nt=nt[0])?vt[Pt]?vt[Pt]+=nt:vt[++Pt]=nt:(vt[++Pt]=null,Ut.push({i:Pt,x:ts(et,nt)})),Ve=Fs.lastIndex;return Ve=0&&!(et=a.interpolators[Ve](ce,Le)););return et}a.interpolators=[function(ce,Le){var Ve=typeof Le;return(Ve==="string"?mn.has(Le.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Le)?es:ko:Le instanceof ct?es:Array.isArray(Le)?Mo:Ve==="object"&&isNaN(Le)?ho:ts)(ce,Le)}],a.interpolateArray=Mo;function Mo(ce,Le){var Ve=[],et=[],nt=ce.length,ot=Le.length,Pt=Math.min(ce.length,Le.length),vt;for(vt=0;vt=0?ce.slice(0,Le):ce,et=Le>=0?ce.slice(Le+1):"in";return Ve=Os.get(Ve)||Nc,et=So.get(et)||H,Yf(et(Ve.apply(null,C.call(arguments,1))))};function Yf(ce){return function(Le){return Le<=0?0:Le>=1?1:ce(Le)}}function Qs(ce){return function(Le){return 1-ce(1-Le)}}function zs(ce){return function(Le){return .5*(Le<.5?ce(2*Le):2-ce(2-2*Le))}}function Zf(ce){return ce*ce}function Xf(ce){return ce*ce*ce}function zh(ce){if(ce<=0)return 0;if(ce>=1)return 1;var Le=ce*ce,Ve=Le*ce;return 4*(ce<.5?Ve:3*(ce-Le)+Ve-.75)}function Pu(ce){return function(Le){return Math.pow(Le,ce)}}function Bh(ce){return 1-Math.cos(ce*ft)}function Nh(ce){return Math.pow(2,10*(ce-1))}function Uh(ce){return 1-Math.sqrt(1-ce*ce)}function Kf(ce,Le){var Ve;return arguments.length<2&&(Le=.45),arguments.length?Ve=Le/Ne*Math.asin(1/ce):(ce=1,Ve=Le/4),function(et){return 1+ce*Math.pow(2,-10*et)*Math.sin((et-Ve)*Ne/Le)}}function Hh(ce){return ce||(ce=1.70158),function(Le){return Le*Le*((ce+1)*Le-ce)}}function Vh(ce){return ce<.36363636363636365?7.5625*ce*ce:ce<.7272727272727273?7.5625*(ce-=.5454545454545454)*ce+.75:ce<.9090909090909091?7.5625*(ce-=.8181818181818182)*ce+.9375:7.5625*(ce-=.9545454545454546)*ce+.984375}a.interpolateHcl=Uc;function Uc(ce,Le){ce=a.hcl(ce),Le=a.hcl(Le);var Ve=ce.h,et=ce.c,nt=ce.l,ot=Le.h-Ve,Pt=Le.c-et,vt=Le.l-nt;return isNaN(Pt)&&(Pt=0,et=isNaN(et)?Le.c:et),isNaN(ot)?(ot=0,Ve=isNaN(Ve)?Le.h:Ve):ot>180?ot-=360:ot<-180&&(ot+=360),function(Ut){return Ot(Ve+ot*Ut,et+Pt*Ut,nt+vt*Ut)+""}}a.interpolateHsl=Gh;function Gh(ce,Le){ce=a.hsl(ce),Le=a.hsl(Le);var Ve=ce.h,et=ce.s,nt=ce.l,ot=Le.h-Ve,Pt=Le.s-et,vt=Le.l-nt;return isNaN(Pt)&&(Pt=0,et=isNaN(et)?Le.s:et),isNaN(ot)?(ot=0,Ve=isNaN(Ve)?Le.h:Ve):ot>180?ot-=360:ot<-180&&(ot+=360),function(Ut){return Mt(Ve+ot*Ut,et+Pt*Ut,nt+vt*Ut)+""}}a.interpolateLab=Wh;function Wh(ce,Le){ce=a.lab(ce),Le=a.lab(Le);var Ve=ce.l,et=ce.a,nt=ce.b,ot=Le.l-Ve,Pt=Le.a-et,vt=Le.b-nt;return function(Ut){return We(Ve+ot*Ut,et+Pt*Ut,nt+vt*Ut)+""}}a.interpolateRound=$f;function $f(ce,Le){return Le-=ce,function(Ve){return Math.round(ce+Le*Ve)}}a.transform=function(ce){var Le=d.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(Ve){if(Ve!=null){Le.setAttribute("transform",Ve);var et=Le.transform.baseVal.consolidate()}return new Il(et?et.matrix:jh)})(ce)};function Il(ce){var Le=[ce.a,ce.b],Ve=[ce.c,ce.d],et=ru(Le),nt=Dl(Le,Ve),ot=ru(uf(Ve,Le,-nt))||0;Le[0]*Ve[1]180?Le+=360:Le-ce>180&&(ce+=360),et.push({i:Ve.push(qs(Ve)+"rotate(",null,")")-2,x:ts(ce,Le)})):Le&&Ve.push(qs(Ve)+"rotate("+Le+")")}function Yh(ce,Le,Ve,et){ce!==Le?et.push({i:Ve.push(qs(Ve)+"skewX(",null,")")-2,x:ts(ce,Le)}):Le&&Ve.push(qs(Ve)+"skewX("+Le+")")}function ls(ce,Le,Ve,et){if(ce[0]!==Le[0]||ce[1]!==Le[1]){var nt=Ve.push(qs(Ve)+"scale(",null,",",null,")");et.push({i:nt-4,x:ts(ce[0],Le[0])},{i:nt-2,x:ts(ce[1],Le[1])})}else(Le[0]!==1||Le[1]!==1)&&Ve.push(qs(Ve)+"scale("+Le+")")}function kl(ce,Le){var Ve=[],et=[];return ce=a.transform(ce),Le=a.transform(Le),Hc(ce.translate,Le.translate,Ve,et),Jf(ce.rotate,Le.rotate,Ve,et),Yh(ce.skew,Le.skew,Ve,et),ls(ce.scale,Le.scale,Ve,et),ce=Le=null,function(nt){for(var ot=-1,Pt=et.length,vt;++ot0?ot=Xr:(Ve.c=null,Ve.t=NaN,Ve=null,Le.end({type:"end",alpha:ot=0})):Xr>0&&(Le.start({type:"start",alpha:ot=Xr}),Ve=Mn(ce.tick)),ce):ot},ce.start=function(){var Xr,Nn=$r.length,jn=tn.length,Qn=et[0],sa=et[1],Aa,Ta;for(Xr=0;Xr=0;)ot.push(tr=er[Ut]),tr.parent=vt,tr.depth=vt.depth+1;Ve&&(vt.value=0),vt.children=er}else Ve&&(vt.value=+Ve.call(et,vt,vt.depth)||0),delete vt.children;return To(nt,function(_r){var Er,$r;ce&&(Er=_r.children)&&Er.sort(ce),Ve&&($r=_r.parent)&&($r.value+=_r.value)}),Pt}return et.sort=function(nt){return arguments.length?(ce=nt,et):ce},et.children=function(nt){return arguments.length?(Le=nt,et):Le},et.value=function(nt){return arguments.length?(Ve=nt,et):Ve},et.revalue=function(nt){return Ve&&(su(nt,function(ot){ot.children&&(ot.value=0)}),To(nt,function(ot){var Pt;ot.children||(ot.value=+Ve.call(et,ot,ot.depth)||0),(Pt=ot.parent)&&(Pt.value+=ot.value)})),nt},et};function ou(ce,Le){return a.rebind(ce,Le,"sort","children","value"),ce.nodes=ce,ce.links=Xh,ce}function su(ce,Le){for(var Ve=[ce];(ce=Ve.pop())!=null;)if(Le(ce),(nt=ce.children)&&(et=nt.length))for(var et,nt;--et>=0;)Ve.push(nt[et])}function To(ce,Le){for(var Ve=[ce],et=[];(ce=Ve.pop())!=null;)if(et.push(ce),(Pt=ce.children)&&(ot=Pt.length))for(var nt=-1,ot,Pt;++ntnt&&(nt=vt),et.push(vt)}for(Pt=0;Ptet&&(Ve=Le,et=nt);return Ve}function Wc(ce){return ce.reduce(ws,0)}function ws(ce,Le){return ce+Le[1]}a.layout.histogram=function(){var ce=!0,Le=Number,Ve=ic,et=lu;function nt(ot,Er){for(var vt=[],Ut=ot.map(Le,this),er=Ve.call(this,Ut,Er),tr=et.call(this,er,Ut,Er),_r,Er=-1,$r=Ut.length,tn=tr.length-1,Ir=ce?1:1/$r,Hr;++Er0)for(Er=-1;++Er<$r;)Hr=Ut[Er],Hr>=er[0]&&Hr<=er[1]&&(_r=vt[a.bisect(tr,Hr,1,tn)-1],_r.y+=Ir,_r.push(ot[Er]));return vt}return nt.value=function(ot){return arguments.length?(Le=ot,nt):Le},nt.range=function(ot){return arguments.length?(Ve=Kr(ot),nt):Ve},nt.bins=function(ot){return arguments.length?(et=typeof ot=="number"?function(Pt){return Fl(Pt,ot)}:Kr(ot),nt):et},nt.frequency=function(ot){return arguments.length?(ce=!!ot,nt):ce},nt};function lu(ce,Le){return Fl(ce,Math.ceil(Math.log(Le.length)/Math.LN2+1))}function Fl(ce,Le){for(var Ve=-1,et=+ce[0],nt=(ce[1]-et)/Le,ot=[];++Ve<=Le;)ot[Ve]=nt*Ve+et;return ot}function ic(ce){return[a.min(ce),a.max(ce)]}a.layout.pack=function(){var ce=a.layout.hierarchy().sort(io),Le=0,Ve=[1,1],et;function nt(ot,Pt){var vt=ce.call(this,ot,Pt),Ut=vt[0],er=Ve[0],tr=Ve[1],_r=et==null?Math.sqrt:typeof et=="function"?et:function(){return et};if(Ut.x=Ut.y=0,To(Ut,function($r){$r.r=+_r($r.value)}),To(Ut,rl),Le){var Er=Le*(et?1:Math.max(2*Ut.r/er,2*Ut.r/tr))/2;To(Ut,function($r){$r.r+=Er}),To(Ut,rl),To(Ut,function($r){$r.r-=Er})}return vl(Ut,er/2,tr/2,et?1:1/Math.max(2*Ut.r/er,2*Ut.r/tr)),vt}return nt.size=function(ot){return arguments.length?(Ve=ot,nt):Ve},nt.radius=function(ot){return arguments.length?(et=ot==null||typeof ot=="function"?ot:+ot,nt):et},nt.padding=function(ot){return arguments.length?(Le=+ot,nt):Le},ou(nt,ce)};function io(ce,Le){return ce.value-Le.value}function ku(ce,Le){var Ve=ce._pack_next;ce._pack_next=Le,Le._pack_prev=ce,Le._pack_next=Ve,Ve._pack_prev=Le}function Xo(ce,Le){ce._pack_next=Le,Le._pack_prev=ce}function tl(ce,Le){var Ve=Le.x-ce.x,et=Le.y-ce.y,nt=ce.r+Le.r;return .999*nt*nt>Ve*Ve+et*et}function rl(ce){if(!(Le=ce.children)||!(Er=Le.length))return;var Le,Ve=1/0,et=-1/0,nt=1/0,ot=-1/0,Pt,vt,Ut,er,tr,_r,Er;function $r(Xr){Ve=Math.min(Xr.x-Xr.r,Ve),et=Math.max(Xr.x+Xr.r,et),nt=Math.min(Xr.y-Xr.r,nt),ot=Math.max(Xr.y+Xr.r,ot)}if(Le.forEach(hl),Pt=Le[0],Pt.x=-Pt.r,Pt.y=0,$r(Pt),Er>1&&(vt=Le[1],vt.x=vt.r,vt.y=0,$r(vt),Er>2))for(Ut=Le[2],Ts(Pt,vt,Ut),$r(Ut),ku(Pt,Ut),Pt._pack_prev=Ut,ku(Ut,vt),vt=Pt._pack_next,er=3;erHr.x&&(Hr=Nn),Nn.depth>Zr.depth&&(Zr=Nn)});var rn=Le(Ir,Hr)/2-Ir.x,fn=Ve[0]/(Hr.x+Le(Hr,Ir)/2+rn),Xr=Ve[1]/(Zr.depth||1);su($r,function(Nn){Nn.x=(Nn.x+rn)*fn,Nn.y=Nn.depth*Xr})}return Er}function ot(tr){for(var _r={A:null,children:[tr]},Er=[_r],$r;($r=Er.pop())!=null;)for(var tn=$r.children,Ir,Hr=0,Zr=tn.length;Hr0&&(vf($h(Ir,tr,Er),tr,Nn),Zr+=Nn,rn+=Nn),fn+=Ir.m,Zr+=$r.m,Xr+=Hr.m,rn+=tn.m;Ir&&!Ou(tn)&&(tn.t=Ir,tn.m+=fn-rn),$r&&!Fu(Hr)&&(Hr.t=$r,Hr.m+=Zr-Xr,Er=tr)}return Er}function er(tr){tr.x*=Ve[0],tr.y=tr.depth*Ve[1]}return nt.separation=function(tr){return arguments.length?(Le=tr,nt):Le},nt.size=function(tr){return arguments.length?(et=(Ve=tr)==null?er:null,nt):et?null:Ve},nt.nodeSize=function(tr){return arguments.length?(et=(Ve=tr)==null?null:er,nt):et?Ve:null},ou(nt,ce)};function Ns(ce,Le){return ce.parent==Le.parent?1:2}function Fu(ce){var Le=ce.children;return Le.length?Le[0]:ce.t}function Ou(ce){var Le=ce.children,Ve;return(Ve=Le.length)?Le[Ve-1]:ce.t}function vf(ce,Le,Ve){var et=Ve/(Le.i-ce.i);Le.c-=et,Le.s+=Ve,ce.c+=et,Le.z+=Ve,Le.m+=Ve}function Kh(ce){for(var Le=0,Ve=0,et=ce.children,nt=et.length,ot;--nt>=0;)ot=et[nt],ot.z+=Le,ot.m+=Le,Le+=ot.s+(Ve+=ot.c)}function $h(ce,Le,Ve){return ce.a.parent===Le.parent?ce.a:Ve}a.layout.cluster=function(){var ce=a.layout.hierarchy().sort(null).value(null),Le=Ns,Ve=[1,1],et=!1;function nt(ot,Pt){var vt=ce.call(this,ot,Pt),Ut=vt[0],er,tr=0;To(Ut,function(Ir){var Hr=Ir.children;Hr&&Hr.length?(Ir.x=Qh(Hr),Ir.y=Jh(Hr)):(Ir.x=er?tr+=Le(Ir,er):0,Ir.y=0,er=Ir)});var _r=pf(Ut),Er=jc(Ut),$r=_r.x-Le(_r,Er)/2,tn=Er.x+Le(Er,_r)/2;return To(Ut,et?function(Ir){Ir.x=(Ir.x-Ut.x)*Ve[0],Ir.y=(Ut.y-Ir.y)*Ve[1]}:function(Ir){Ir.x=(Ir.x-$r)/(tn-$r)*Ve[0],Ir.y=(1-(Ut.y?Ir.y/Ut.y:1))*Ve[1]}),vt}return nt.separation=function(ot){return arguments.length?(Le=ot,nt):Le},nt.size=function(ot){return arguments.length?(et=(Ve=ot)==null,nt):et?null:Ve},nt.nodeSize=function(ot){return arguments.length?(et=(Ve=ot)!=null,nt):et?Ve:null},ou(nt,ce)};function Jh(ce){return 1+a.max(ce,function(Le){return Le.y})}function Qh(ce){return ce.reduce(function(Le,Ve){return Le+Ve.x},0)/ce.length}function pf(ce){var Le=ce.children;return Le&&Le.length?pf(Le[0]):ce}function jc(ce){var Le=ce.children,Ve;return Le&&(Ve=Le.length)?jc(Le[Ve-1]):ce}a.layout.treemap=function(){var ce=a.layout.hierarchy(),Le=Math.round,Ve=[1,1],et=null,nt=uu,ot=!1,Pt,vt="squarify",Ut=.5*(1+Math.sqrt(5));function er(Ir,Hr){for(var Zr=-1,rn=Ir.length,fn,Xr;++Zr0;)rn.push(Xr=fn[sa-1]),rn.area+=Xr.area,vt!=="squarify"||(jn=Er(rn,Qn))<=Nn?(fn.pop(),Nn=jn):(rn.area-=rn.pop().area,$r(rn,Qn,Zr,!1),Qn=Math.min(Zr.dx,Zr.dy),rn.length=rn.area=0,Nn=1/0);rn.length&&($r(rn,Qn,Zr,!0),rn.length=rn.area=0),Hr.forEach(tr)}}function _r(Ir){var Hr=Ir.children;if(Hr&&Hr.length){var Zr=nt(Ir),rn=Hr.slice(),fn,Xr=[];for(er(rn,Zr.dx*Zr.dy/Ir.value),Xr.area=0;fn=rn.pop();)Xr.push(fn),Xr.area+=fn.area,fn.z!=null&&($r(Xr,fn.z?Zr.dx:Zr.dy,Zr,!rn.length),Xr.length=Xr.area=0);Hr.forEach(_r)}}function Er(Ir,Hr){for(var Zr=Ir.area,rn,fn=0,Xr=1/0,Nn=-1,jn=Ir.length;++Nnfn&&(fn=rn));return Zr*=Zr,Hr*=Hr,Zr?Math.max(Hr*fn*Ut/Zr,Zr/(Hr*Xr*Ut)):1/0}function $r(Ir,Hr,Zr,rn){var fn=-1,Xr=Ir.length,Nn=Zr.x,jn=Zr.y,Qn=Hr?Le(Ir.area/Hr):0,sa;if(Hr==Zr.dx){for((rn||Qn>Zr.dy)&&(Qn=Zr.dy);++fnZr.dx)&&(Qn=Zr.dx);++fn1);return ce+Le*et*Math.sqrt(-2*Math.log(ot)/ot)}},logNormal:function(){var ce=a.random.normal.apply(a,arguments);return function(){return Math.exp(ce())}},bates:function(ce){var Le=a.random.irwinHall(ce);return function(){return Le()/ce}},irwinHall:function(ce){return function(){for(var Le=0,Ve=0;Ve2?Yc:Ol,er=et?nu:Ru;return nt=Ut(ce,Le,er,Ve),ot=Ut(Le,ce,er,Js),vt}function vt(Ut){return nt(Ut)}return vt.invert=function(Ut){return ot(Ut)},vt.domain=function(Ut){return arguments.length?(ce=Ut.map(Number),Pt()):ce},vt.range=function(Ut){return arguments.length?(Le=Ut,Pt()):Le},vt.rangeRound=function(Ut){return vt.range(Ut).interpolate($f)},vt.clamp=function(Ut){return arguments.length?(et=Ut,Pt()):et},vt.interpolate=function(Ut){return arguments.length?(Ve=Ut,Pt()):Ve},vt.ticks=function(Ut){return Us(ce,Ut)},vt.tickFormat=function(Ut,er){return d3_scale_linearTickFormat(ce,Ut,er)},vt.nice=function(Ut){return pl(ce,Ut),Pt()},vt.copy=function(){return Zc(ce,Le,Ve,et)},Pt()}function oc(ce,Le){return a.rebind(ce,Le,"range","rangeRound","interpolate","clamp")}function pl(ce,Le){return Bu(ce,gf(oo(ce,Le)[2])),Bu(ce,gf(oo(ce,Le)[2])),ce}function oo(ce,Le){Le==null&&(Le=10);var Ve=Ko(ce),et=Ve[1]-Ve[0],nt=Math.pow(10,Math.floor(Math.log(et/Le)/Math.LN10)),ot=Le/et*nt;return ot<=.15?nt*=10:ot<=.35?nt*=5:ot<=.75&&(nt*=2),Ve[0]=Math.ceil(Ve[0]/nt)*nt,Ve[1]=Math.floor(Ve[1]/nt)*nt+nt*.5,Ve[2]=nt,Ve}function Us(ce,Le){return a.range.apply(a,oo(ce,Le))}a.scale.log=function(){return sc(a.scale.linear().domain([0,1]),10,!0,[1,10])};function sc(ce,Le,Ve,et){function nt(vt){return(Ve?Math.log(vt<0?0:vt):-Math.log(vt>0?0:-vt))/Math.log(Le)}function ot(vt){return Ve?Math.pow(Le,vt):-Math.pow(Le,-vt)}function Pt(vt){return ce(nt(vt))}return Pt.invert=function(vt){return ot(ce.invert(vt))},Pt.domain=function(vt){return arguments.length?(Ve=vt[0]>=0,ce.domain((et=vt.map(Number)).map(nt)),Pt):et},Pt.base=function(vt){return arguments.length?(Le=+vt,ce.domain(et.map(nt)),Pt):Le},Pt.nice=function(){var vt=Bu(et.map(nt),Ve?Math:Xc);return ce.domain(vt),et=vt.map(ot),Pt},Pt.ticks=function(){var vt=Ko(et),Ut=[],er=vt[0],tr=vt[1],_r=Math.floor(nt(er)),Er=Math.ceil(nt(tr)),$r=Le%1?2:Le;if(isFinite(Er-_r)){if(Ve){for(;_r0;tn--)Ut.push(ot(_r)*tn);for(_r=0;Ut[_r]tr;Er--);Ut=Ut.slice(_r,Er)}return Ut},Pt.copy=function(){return sc(ce.copy(),Le,Ve,et)},oc(Pt,ce)}var Xc={floor:function(ce){return-Math.ceil(-ce)},ceil:function(ce){return-Math.floor(-ce)}};a.scale.pow=function(){return zl(a.scale.linear(),1,[0,1])};function zl(ce,Le,Ve){var et=yf(Le),nt=yf(1/Le);function ot(Pt){return ce(et(Pt))}return ot.invert=function(Pt){return nt(ce.invert(Pt))},ot.domain=function(Pt){return arguments.length?(ce.domain((Ve=Pt.map(Number)).map(et)),ot):Ve},ot.ticks=function(Pt){return Us(Ve,Pt)},ot.tickFormat=function(Pt,vt){return d3_scale_linearTickFormat(Ve,Pt,vt)},ot.nice=function(Pt){return ot.domain(pl(Ve,Pt))},ot.exponent=function(Pt){return arguments.length?(et=yf(Le=Pt),nt=yf(1/Le),ce.domain(Ve.map(et)),ot):Le},ot.copy=function(){return zl(ce.copy(),Le,Ve)},oc(ot,ce)}function yf(ce){return function(Le){return Le<0?-Math.pow(-Le,ce):Math.pow(Le,ce)}}a.scale.sqrt=function(){return a.scale.pow().exponent(.5)},a.scale.ordinal=function(){return As([],{t:"range",a:[[]]})};function As(ce,Le){var Ve,et,nt;function ot(vt){return et[((Ve.get(vt)||(Le.t==="range"?Ve.set(vt,ce.push(vt)):NaN))-1)%et.length]}function Pt(vt,Ut){return a.range(ce.length).map(function(er){return vt+Ut*er})}return ot.domain=function(vt){if(!arguments.length)return ce;ce=[],Ve=new L;for(var Ut=-1,er=vt.length,tr;++Ut0?Ve[ot-1]:ce[0],otEr?0:1;if(tr=st)return Ut(tr,tn)+(er?Ut(er,1-tn):"")+"Z";var Ir,Hr,Zr,rn,fn=0,Xr=0,Nn,jn,Qn,sa,Aa,Ta,Ka,Ra,Ya=[];if((rn=(+Pt.apply(this,arguments)||0)/2)&&(Zr=et===yl?Math.sqrt(er*er+tr*tr):+et.apply(this,arguments),tn||(Xr*=-1),tr&&(Xr=Gt(Zr/tr*Math.sin(rn))),er&&(fn=Gt(Zr/er*Math.sin(rn)))),tr){Nn=tr*Math.cos(_r+Xr),jn=tr*Math.sin(_r+Xr),Qn=tr*Math.cos(Er-Xr),sa=tr*Math.sin(Er-Xr);var di=Math.abs(Er-_r-2*Xr)<=Re?0:1;if(Xr&&il(Nn,jn,Qn,sa)===tn^di){var yi=(_r+Er)/2;Nn=tr*Math.cos(yi),jn=tr*Math.sin(yi),Qn=sa=null}}else Nn=jn=0;if(er){Aa=er*Math.cos(Er-fn),Ta=er*Math.sin(Er-fn),Ka=er*Math.cos(_r+fn),Ra=er*Math.sin(_r+fn);var Li=Math.abs(_r-Er+2*fn)<=Re?0:1;if(fn&&il(Aa,Ta,Ka,Ra)===1-tn^Li){var Un=(_r+Er)/2;Aa=er*Math.cos(Un),Ta=er*Math.sin(Un),Ka=Ra=null}}else Aa=Ta=0;if($r>he&&(Ir=Math.min(Math.abs(tr-er)/2,+Ve.apply(this,arguments)))>.001){Hr=er0?0:1}function ml(ce,Le,Ve,et,nt){var ot=ce[0]-Le[0],Pt=ce[1]-Le[1],vt=(nt?et:-et)/Math.sqrt(ot*ot+Pt*Pt),Ut=vt*Pt,er=-vt*ot,tr=ce[0]+Ut,_r=ce[1]+er,Er=Le[0]+Ut,$r=Le[1]+er,tn=(tr+Er)/2,Ir=(_r+$r)/2,Hr=Er-tr,Zr=$r-_r,rn=Hr*Hr+Zr*Zr,fn=Ve-et,Xr=tr*$r-Er*_r,Nn=(Zr<0?-1:1)*Math.sqrt(Math.max(0,fn*fn*rn-Xr*Xr)),jn=(Xr*Zr-Hr*Nn)/rn,Qn=(-Xr*Hr-Zr*Nn)/rn,sa=(Xr*Zr+Hr*Nn)/rn,Aa=(-Xr*Hr+Zr*Nn)/rn,Ta=jn-tn,Ka=Qn-Ir,Ra=sa-tn,Ya=Aa-Ir;return Ta*Ta+Ka*Ka>Ra*Ra+Ya*Ya&&(jn=sa,Qn=Aa),[[jn-Ut,Qn-er],[jn*Ve/fn,Qn*Ve/fn]]}function Nl(){return!0}function Ul(ce){var Le=ha,Ve=ia,et=Nl,nt=rs,ot=nt.key,Pt=.7;function vt(Ut){var er=[],tr=[],_r=-1,Er=Ut.length,$r,tn=Kr(Le),Ir=Kr(Ve);function Hr(){er.push("M",nt(ce(tr),Pt))}for(;++_r1?ce.join("L"):ce+"Z"}function Hl(ce){return ce.join("L")+"Z"}function $c(ce){for(var Le=0,Ve=ce.length,et=ce[0],nt=[et[0],",",et[1]];++Le1&&nt.push("H",et[0]),nt.join("")}function hu(ce){for(var Le=0,Ve=ce.length,et=ce[0],nt=[et[0],",",et[1]];++Le1){vt=Le[1],ot=ce[Ut],Ut++,et+="C"+(nt[0]+Pt[0])+","+(nt[1]+Pt[1])+","+(ot[0]-vt[0])+","+(ot[1]-vt[1])+","+ot[0]+","+ot[1];for(var er=2;er9&&(ot=Ve*3/Math.sqrt(ot),Pt[vt]=ot*et,Pt[vt+1]=ot*nt));for(vt=-1;++vt<=Ut;)ot=(ce[Math.min(Ut,vt+1)][0]-ce[Math.max(0,vt-1)][0])/(6*(1+Pt[vt]*Pt[vt])),Le.push([ot||0,Pt[vt]*ot||0]);return Le}function dc(ce){return ce.length<3?rs(ce):ce[0]+xl(ce,qc(ce))}a.svg.line.radial=function(){var ce=Ul(vc);return ce.radius=ce.x,delete ce.x,ce.angle=ce.y,delete ce.y,ce};function vc(ce){for(var Le,Ve=-1,et=ce.length,nt,ot;++VeRe)+",1 "+_r}function er(tr,_r,Er,$r){return"Q 0,0 "+$r}return ot.radius=function(tr){return arguments.length?(Ve=Kr(tr),ot):Ve},ot.source=function(tr){return arguments.length?(ce=Kr(tr),ot):ce},ot.target=function(tr){return arguments.length?(Le=Kr(tr),ot):Le},ot.startAngle=function(tr){return arguments.length?(et=Kr(tr),ot):et},ot.endAngle=function(tr){return arguments.length?(nt=Kr(tr),ot):nt},ot};function eh(ce){return ce.radius}a.svg.diagonal=function(){var ce=Mf,Le=Vu,Ve=Gu;function et(nt,ot){var Pt=ce.call(this,nt,ot),vt=Le.call(this,nt,ot),Ut=(Pt.y+vt.y)/2,er=[Pt,{x:Pt.x,y:Ut},{x:vt.x,y:Ut},vt];return er=er.map(Ve),"M"+er[0]+"C"+er[1]+" "+er[2]+" "+er[3]}return et.source=function(nt){return arguments.length?(ce=Kr(nt),et):ce},et.target=function(nt){return arguments.length?(Le=Kr(nt),et):Le},et.projection=function(nt){return arguments.length?(Ve=nt,et):Ve},et};function Gu(ce){return[ce.x,ce.y]}a.svg.diagonal.radial=function(){var ce=a.svg.diagonal(),Le=Gu,Ve=ce.projection;return ce.projection=function(et){return arguments.length?Ve(th(Le=et)):Le},ce};function th(ce){return function(){var Le=ce.apply(this,arguments),Ve=Le[0],et=Le[1]-ft;return[Ve*Math.cos(et),Ve*Math.sin(et)]}}a.svg.symbol=function(){var ce=at,Le=Ke;function Ve(et,nt){return(mt.get(ce.call(this,et,nt))||pt)(Le.call(this,et,nt))}return Ve.type=function(et){return arguments.length?(ce=Kr(et),Ve):ce},Ve.size=function(et){return arguments.length?(Le=Kr(et),Ve):Le},Ve};function Ke(){return 64}function at(){return"circle"}function pt(ce){var Le=Math.sqrt(ce/Re);return"M0,"+Le+"A"+Le+","+Le+" 0 1,1 0,"+-Le+"A"+Le+","+Le+" 0 1,1 0,"+Le+"Z"}var mt=a.map({circle:pt,cross:function(ce){var Le=Math.sqrt(ce/5)/2;return"M"+-3*Le+","+-Le+"H"+-Le+"V"+-3*Le+"H"+Le+"V"+-Le+"H"+3*Le+"V"+Le+"H"+Le+"V"+3*Le+"H"+-Le+"V"+Le+"H"+-3*Le+"Z"},diamond:function(ce){var Le=Math.sqrt(ce/(2*_t)),Ve=Le*_t;return"M0,"+-Le+"L"+Ve+",0 0,"+Le+" "+-Ve+",0Z"},square:function(ce){var Le=Math.sqrt(ce)/2;return"M"+-Le+","+-Le+"L"+Le+","+-Le+" "+Le+","+Le+" "+-Le+","+Le+"Z"},"triangle-down":function(ce){var Le=Math.sqrt(ce/Dt),Ve=Le*Dt/2;return"M0,"+Ve+"L"+Le+","+-Ve+" "+-Le+","+-Ve+"Z"},"triangle-up":function(ce){var Le=Math.sqrt(ce/Dt),Ve=Le*Dt/2;return"M0,"+-Ve+"L"+Le+","+Ve+" "+-Le+","+Ve+"Z"}});a.svg.symbolTypes=mt.keys();var Dt=Math.sqrt(3),_t=Math.tan(30*At);te.transition=function(ce){for(var Le=Pr||++Mr,Ve=Tn(ce),et=[],nt,ot,Pt=jr||{time:Date.now(),ease:zh,delay:0,duration:250},vt=-1,Ut=this.length;++vt0;)_r[--rn].call(ce,Zr);if(Hr>=1)return Pt.event&&Pt.event.end.call(ce,ce.__data__,Le),--ot.count?delete ot[et]:delete ce[Ve],1}Pt||(vt=nt.time,Ut=Mn(Er,0,vt),Pt=ot[et]={tween:new L,time:vt,timer:Ut,delay:nt.delay,duration:nt.duration,ease:nt.ease,index:Le},nt=null,++ot.count)}a.svg.axis=function(){var ce=a.scale.linear(),Le=ya,Ve=6,et=6,nt=3,ot=[10],Pt=null,vt;function Ut(er){er.each(function(){var tr=a.select(this),_r=this.__chart__||ce,Er=this.__chart__=ce.copy(),$r=Pt??(Er.ticks?Er.ticks.apply(Er,ot):Er.domain()),tn=vt??(Er.tickFormat?Er.tickFormat.apply(Er,ot):H),Ir=tr.selectAll(".tick").data($r,Er),Hr=Ir.enter().insert("g",".domain").attr("class","tick").style("opacity",he),Zr=a.transition(Ir.exit()).style("opacity",he).remove(),rn=a.transition(Ir.order()).style("opacity",1),fn=Math.max(Ve,0)+nt,Xr,Nn=zu(Er),jn=tr.selectAll(".domain").data([0]),Qn=(jn.enter().append("path").attr("class","domain"),a.transition(jn));Hr.append("line"),Hr.append("text");var sa=Hr.select("line"),Aa=rn.select("line"),Ta=Ir.select("text").text(tn),Ka=Hr.select("text"),Ra=rn.select("text"),Ya=Le==="top"||Le==="left"?-1:1,di,yi,Li,Un;if(Le==="bottom"||Le==="top"?(Xr=Ba,di="x",Li="y",yi="x2",Un="y2",Ta.attr("dy",Ya<0?"0em":".71em").style("text-anchor","middle"),Qn.attr("d","M"+Nn[0]+","+Ya*et+"V0H"+Nn[1]+"V"+Ya*et)):(Xr=Na,di="y",Li="x",yi="y2",Un="x2",Ta.attr("dy",".32em").style("text-anchor",Ya<0?"end":"start"),Qn.attr("d","M"+Ya*et+","+Nn[0]+"H0V"+Nn[1]+"H"+Ya*et)),sa.attr(Un,Ya*Ve),Ka.attr(Li,Ya*fn),Aa.attr(yi,0).attr(Un,Ya*Ve),Ra.attr(di,0).attr(Li,Ya*fn),Er.rangeBand){var Za=Er,Ga=Za.rangeBand()/2;_r=Er=function(ni){return Za(ni)+Ga}}else _r.rangeBand?_r=Er:Zr.call(Xr,Er,_r);Hr.call(Xr,_r,Er),rn.call(Xr,Er,Er)})}return Ut.scale=function(er){return arguments.length?(ce=er,Ut):ce},Ut.orient=function(er){return arguments.length?(Le=er in Da?er+"":ya,Ut):Le},Ut.ticks=function(){return arguments.length?(ot=w(arguments),Ut):ot},Ut.tickValues=function(er){return arguments.length?(Pt=er,Ut):Pt},Ut.tickFormat=function(er){return arguments.length?(vt=er,Ut):vt},Ut.tickSize=function(er){var tr=arguments.length;return tr?(Ve=+er,et=+arguments[tr-1],Ut):Ve},Ut.innerTickSize=function(er){return arguments.length?(Ve=+er,Ut):Ve},Ut.outerTickSize=function(er){return arguments.length?(et=+er,Ut):et},Ut.tickPadding=function(er){return arguments.length?(nt=+er,Ut):nt},Ut.tickSubdivide=function(){return arguments.length&&Ut},Ut};var ya="bottom",Da={top:1,right:1,bottom:1,left:1};function Ba(ce,Le,Ve){ce.attr("transform",function(et){var nt=Le(et);return"translate("+(isFinite(nt)?nt:Ve(et))+",0)"})}function Na(ce,Le,Ve){ce.attr("transform",function(et){var nt=Le(et);return"translate(0,"+(isFinite(nt)?nt:Ve(et))+")"})}a.svg.brush=function(){var ce=$(tr,"brushstart","brush","brushend"),Le=null,Ve=null,et=[0,0],nt=[0,0],ot,Pt,vt=!0,Ut=!0,er=wi[0];function tr(Ir){Ir.each(function(){var Hr=a.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",tn).on("touchstart.brush",tn),Zr=Hr.selectAll(".background").data([0]);Zr.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),Hr.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var rn=Hr.selectAll(".resize").data(er,H);rn.exit().remove(),rn.enter().append("g").attr("class",function(jn){return"resize "+jn}).style("cursor",function(jn){return Ha[jn]}).append("rect").attr("x",function(jn){return/[ew]$/.test(jn)?-3:null}).attr("y",function(jn){return/^[ns]/.test(jn)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),rn.style("display",tr.empty()?"none":null);var fn=a.transition(Hr),Xr=a.transition(Zr),Nn;Le&&(Nn=zu(Le),Xr.attr("x",Nn[0]).attr("width",Nn[1]-Nn[0]),Er(fn)),Ve&&(Nn=zu(Ve),Xr.attr("y",Nn[0]).attr("height",Nn[1]-Nn[0]),$r(fn)),_r(fn)})}tr.event=function(Ir){Ir.each(function(){var Hr=ce.of(this,arguments),Zr={x:et,y:nt,i:ot,j:Pt},rn=this.__chart__||Zr;this.__chart__=Zr,Pr?a.select(this).transition().each("start.brush",function(){ot=rn.i,Pt=rn.j,et=rn.x,nt=rn.y,Hr({type:"brushstart"})}).tween("brush:brush",function(){var fn=Mo(et,Zr.x),Xr=Mo(nt,Zr.y);return ot=Pt=null,function(Nn){et=Zr.x=fn(Nn),nt=Zr.y=Xr(Nn),Hr({type:"brush",mode:"resize"})}}).each("end.brush",function(){ot=Zr.i,Pt=Zr.j,Hr({type:"brush",mode:"resize"}),Hr({type:"brushend"})}):(Hr({type:"brushstart"}),Hr({type:"brush",mode:"resize"}),Hr({type:"brushend"}))})};function _r(Ir){Ir.selectAll(".resize").attr("transform",function(Hr){return"translate("+et[+/e$/.test(Hr)]+","+nt[+/^s/.test(Hr)]+")"})}function Er(Ir){Ir.select(".extent").attr("x",et[0]),Ir.selectAll(".extent,.n>rect,.s>rect").attr("width",et[1]-et[0])}function $r(Ir){Ir.select(".extent").attr("y",nt[0]),Ir.selectAll(".extent,.e>rect,.w>rect").attr("height",nt[1]-nt[0])}function tn(){var Ir=this,Hr=a.select(a.event.target),Zr=ce.of(Ir,arguments),rn=a.select(Ir),fn=Hr.datum(),Xr=!/^(n|s)$/.test(fn)&&Le,Nn=!/^(e|w)$/.test(fn)&&Ve,jn=Hr.classed("extent"),Qn=it(Ir),sa,Aa=a.mouse(Ir),Ta,Ka=a.select(t(Ir)).on("keydown.brush",di).on("keyup.brush",yi);if(a.event.changedTouches?Ka.on("touchmove.brush",Li).on("touchend.brush",Za):Ka.on("mousemove.brush",Li).on("mouseup.brush",Za),rn.interrupt().selectAll("*").interrupt(),jn)Aa[0]=et[0]-Aa[0],Aa[1]=nt[0]-Aa[1];else if(fn){var Ra=+/w$/.test(fn),Ya=+/^n/.test(fn);Ta=[et[1-Ra]-Aa[0],nt[1-Ya]-Aa[1]],Aa[0]=et[Ra],Aa[1]=nt[Ya]}else a.event.altKey&&(sa=Aa.slice());rn.style("pointer-events","none").selectAll(".resize").style("display",null),a.select("body").style("cursor",Hr.style("cursor")),Zr({type:"brushstart"}),Li();function di(){a.event.keyCode==32&&(jn||(sa=null,Aa[0]-=et[1],Aa[1]-=nt[1],jn=2),ne())}function yi(){a.event.keyCode==32&&jn==2&&(Aa[0]+=et[1],Aa[1]+=nt[1],jn=0,ne())}function Li(){var Ga=a.mouse(Ir),ni=!1;Ta&&(Ga[0]+=Ta[0],Ga[1]+=Ta[1]),jn||(a.event.altKey?(sa||(sa=[(et[0]+et[1])/2,(nt[0]+nt[1])/2]),Aa[0]=et[+(Ga[0]>>1,y;g.dtype||(g.dtype="array"),typeof g.dtype=="string"?y=new(r(g.dtype))(l):g.dtype&&(y=g.dtype,Array.isArray(y)&&(y.length=l));for(var T=0;Th||ne>o){for(var X=0;XGe||le>He||q=ue)&&we!==Ce){var De=S[Ee];Ce===void 0&&(Ce=De.length);for(var Fe=we;Fe=fe&&Qe<=Y&&Je>=$&&Je<=j&&de.push(qe)}var tt=L[Ee],ht=tt[we*4+0],gt=tt[we*4+1],yt=tt[we*4+2],Et=tt[we*4+3],Xe=Se(tt,we+1),Ue=Oe*.5,ze=Ee+1;xe(Ae,Be,Ue,ze,ht,gt||yt||Et||Xe),xe(Ae,Be+Ue,Ue,ze,gt,yt||Et||Xe),xe(Ae+Ue,Be,Ue,ze,yt,Et||Xe),xe(Ae+Ue,Be+Ue,Ue,ze,Et,Xe)}}}function Se(Ae,Be){for(var Oe=null,Ee=0;Oe===null;)if(Oe=Ae[Be*4+Ee],Ee++,Ee>Ae.length)return null;return Oe}return de}function H(k,V,Z,ee,Q){for(var ne=[],fe=0;fe0){r+=Math.abs(d(t[0]));for(var c=1;c2){for(g=0;g=0))throw new Error("precision must be a positive number");var _=Math.pow(10,s||0);return Math.round(b*_)/_}B.round=u;function i(b,s){s===void 0&&(s="kilometers");var _=B.factors[s];if(!_)throw new Error(s+" units is invalid");return b*_}B.radiansToLength=i;function g(b,s){s===void 0&&(s="kilometers");var _=B.factors[s];if(!_)throw new Error(s+" units is invalid");return b/_}B.lengthToRadians=g;function h(b,s){return f(g(b,s))}B.lengthToDegrees=h;function x(b){var s=b%360;return s<0&&(s+=360),s}B.bearingToAzimuth=x;function f(b){var s=b%(2*Math.PI);return s*180/Math.PI}B.radiansToDegrees=f;function l(b){var s=b%360;return s*Math.PI/180}B.degreesToRadians=l;function y(b,s,_){if(s===void 0&&(s="kilometers"),_===void 0&&(_="kilometers"),!(b>=0))throw new Error("length must be a positive number");return i(g(b,s),_)}B.convertLength=y;function T(b,s,_){if(s===void 0&&(s="meters"),_===void 0&&(_="kilometers"),!(b>=0))throw new Error("area must be a positive number");var A=B.areaFactors[s];if(!A)throw new Error("invalid original units");var D=B.areaFactors[_];if(!D)throw new Error("invalid final units");return b/A*D}B.convertArea=T;function S(b){return!isNaN(b)&&b!==null&&!Array.isArray(b)}B.isNumber=S;function L(b){return!!b&&b.constructor===Object}B.isObject=L;function m(b){if(!b)throw new Error("bbox is required");if(!Array.isArray(b))throw new Error("bbox must be an Array");if(b.length!==4&&b.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");b.forEach(function(s){if(!S(s))throw new Error("bbox must only contain numbers")})}B.validateBBox=m;function M(b){if(!b)throw new Error("id is required");if(["string","number"].indexOf(typeof b)===-1)throw new Error("id must be a number or a string")}B.validateId=M},60302:function(U,B,e){Object.defineProperty(B,"__esModule",{value:!0});var v=e(23132);function E(l,y,T){if(l!==null)for(var S,L,m,M,b,s,_,A=0,D=0,F,G=l.type,O=G==="FeatureCollection",H=G==="Feature",z=O?l.features.length:1,k=0;ks||O>_||H>A){b=D,s=S,_=O,A=H,m=0;return}var z=v.lineString([b,D],T.properties);if(y(z,S,L,H,m)===!1)return!1;m++,b=D})===!1)return!1}}})}function i(l,y,T){var S=T,L=!1;return u(l,function(m,M,b,s,_){L===!1&&T===void 0?S=m:S=y(S,m,M,b,s,_),L=!0}),S}function g(l,y){if(!l)throw new Error("geojson is required");o(l,function(T,S,L){if(T.geometry!==null){var m=T.geometry.type,M=T.geometry.coordinates;switch(m){case"LineString":if(y(T,S,L,0,0)===!1)return!1;break;case"Polygon":for(var b=0;bw[0]&&(C[0]=w[0]),C[1]>w[1]&&(C[1]=w[1]),C[2]=0))throw new Error("precision must be a positive number");var _=Math.pow(10,s||0);return Math.round(b*_)/_}B.round=u;function i(b,s){s===void 0&&(s="kilometers");var _=B.factors[s];if(!_)throw new Error(s+" units is invalid");return b*_}B.radiansToLength=i;function g(b,s){s===void 0&&(s="kilometers");var _=B.factors[s];if(!_)throw new Error(s+" units is invalid");return b/_}B.lengthToRadians=g;function h(b,s){return f(g(b,s))}B.lengthToDegrees=h;function x(b){var s=b%360;return s<0&&(s+=360),s}B.bearingToAzimuth=x;function f(b){var s=b%(2*Math.PI);return s*180/Math.PI}B.radiansToDegrees=f;function l(b){var s=b%360;return s*Math.PI/180}B.degreesToRadians=l;function y(b,s,_){if(s===void 0&&(s="kilometers"),_===void 0&&(_="kilometers"),!(b>=0))throw new Error("length must be a positive number");return i(g(b,s),_)}B.convertLength=y;function T(b,s,_){if(s===void 0&&(s="meters"),_===void 0&&(_="kilometers"),!(b>=0))throw new Error("area must be a positive number");var A=B.areaFactors[s];if(!A)throw new Error("invalid original units");var D=B.areaFactors[_];if(!D)throw new Error("invalid final units");return b/A*D}B.convertArea=T;function S(b){return!isNaN(b)&&b!==null&&!Array.isArray(b)}B.isNumber=S;function L(b){return!!b&&b.constructor===Object}B.isObject=L;function m(b){if(!b)throw new Error("bbox is required");if(!Array.isArray(b))throw new Error("bbox must be an Array");if(b.length!==4&&b.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");b.forEach(function(s){if(!S(s))throw new Error("bbox must only contain numbers")})}B.validateBBox=m;function M(b){if(!b)throw new Error("id is required");if(["string","number"].indexOf(typeof b)===-1)throw new Error("id must be a number or a string")}B.validateId=M},27138:function(U,B,e){Object.defineProperty(B,"__esModule",{value:!0});var v=e(94228);function E(l,y,T){if(l!==null)for(var S,L,m,M,b,s,_,A=0,D=0,F,G=l.type,O=G==="FeatureCollection",H=G==="Feature",z=O?l.features.length:1,k=0;ks||O>_||H>A){b=D,s=S,_=O,A=H,m=0;return}var z=v.lineString([b,D],T.properties);if(y(z,S,L,H,m)===!1)return!1;m++,b=D})===!1)return!1}}})}function i(l,y,T){var S=T,L=!1;return u(l,function(m,M,b,s,_){L===!1&&T===void 0?S=m:S=y(S,m,M,b,s,_),L=!0}),S}function g(l,y){if(!l)throw new Error("geojson is required");o(l,function(T,S,L){if(T.geometry!==null){var m=T.geometry.type,M=T.geometry.coordinates;switch(m){case"LineString":if(y(T,S,L,0,0)===!1)return!1;break;case"Polygon":for(var b=0;b=0))throw new Error("precision must be a positive number");var z=Math.pow(10,H||0);return Math.round(O*z)/z}B.round=u;function i(O,H){H===void 0&&(H="kilometers");var z=B.factors[H];if(!z)throw new Error(H+" units is invalid");return O*z}B.radiansToLength=i;function g(O,H){H===void 0&&(H="kilometers");var z=B.factors[H];if(!z)throw new Error(H+" units is invalid");return O/z}B.lengthToRadians=g;function h(O,H){return f(g(O,H))}B.lengthToDegrees=h;function x(O){var H=O%360;return H<0&&(H+=360),H}B.bearingToAzimuth=x;function f(O){var H=O%(2*Math.PI);return H*180/Math.PI}B.radiansToDegrees=f;function l(O){var H=O%360;return H*Math.PI/180}B.degreesToRadians=l;function y(O,H,z){if(H===void 0&&(H="kilometers"),z===void 0&&(z="kilometers"),!(O>=0))throw new Error("length must be a positive number");return i(g(O,H),z)}B.convertLength=y;function T(O,H,z){if(H===void 0&&(H="meters"),z===void 0&&(z="kilometers"),!(O>=0))throw new Error("area must be a positive number");var k=B.areaFactors[H];if(!k)throw new Error("invalid original units");var V=B.areaFactors[z];if(!V)throw new Error("invalid final units");return O/k*V}B.convertArea=T;function S(O){return!isNaN(O)&&O!==null&&!Array.isArray(O)&&!/^\s*$/.test(O)}B.isNumber=S;function L(O){return!!O&&O.constructor===Object}B.isObject=L;function m(O){if(!O)throw new Error("bbox is required");if(!Array.isArray(O))throw new Error("bbox must be an Array");if(O.length!==4&&O.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");O.forEach(function(H){if(!S(H))throw new Error("bbox must only contain numbers")})}B.validateBBox=m;function M(O){if(!O)throw new Error("id is required");if(["string","number"].indexOf(typeof O)===-1)throw new Error("id must be a number or a string")}B.validateId=M;function b(){throw new Error("method has been renamed to `radiansToDegrees`")}B.radians2degrees=b;function s(){throw new Error("method has been renamed to `degreesToRadians`")}B.degrees2radians=s;function _(){throw new Error("method has been renamed to `lengthToDegrees`")}B.distanceToDegrees=_;function A(){throw new Error("method has been renamed to `lengthToRadians`")}B.distanceToRadians=A;function D(){throw new Error("method has been renamed to `radiansToLength`")}B.radiansToDistance=D;function F(){throw new Error("method has been renamed to `bearingToAzimuth`")}B.bearingToAngle=F;function G(){throw new Error("method has been renamed to `convertLength`")}B.convertDistance=G},88553:function(U,B,e){Object.defineProperty(B,"__esModule",{value:!0});var v=e(64182);function E(l,y,T){if(l!==null)for(var S,L,m,M,b,s,_,A=0,D=0,F,G=l.type,O=G==="FeatureCollection",H=G==="Feature",z=O?l.features.length:1,k=0;ks||O>_||H>A){b=D,s=S,_=O,A=H,m=0;return}var z=v.lineString([b,D],T.properties);if(y(z,S,L,H,m)===!1)return!1;m++,b=D})===!1)return!1}}})}function i(l,y,T){var S=T,L=!1;return u(l,function(m,M,b,s,_){L===!1&&T===void 0?S=m:S=y(S,m,M,b,s,_),L=!0}),S}function g(l,y){if(!l)throw new Error("geojson is required");o(l,function(T,S,L){if(T.geometry!==null){var m=T.geometry.type,M=T.geometry.coordinates;switch(m){case"LineString":if(y(T,S,L,0,0)===!1)return!1;break;case"Polygon":for(var b=0;bC&&(C=e[d]),e[d]1?ne-1:0),$=1;$1?ne-1:0),$=1;$1?ne-1:0),$=1;$1?ne-1:0),$=1;$"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function n(O,H,z){return o()?n=Reflect.construct:n=function(V,Z,ee){var Q=[null];Q.push.apply(Q,Z);var ne=Function.bind.apply(V,Q),fe=new ne;return ee&&i(fe,ee.prototype),fe},n.apply(null,arguments)}function u(O){return Function.toString.call(O).indexOf("[native code]")!==-1}function i(O,H){return i=Object.setPrototypeOf||function(k,V){return k.__proto__=V,k},i(O,H)}function g(O){return g=Object.setPrototypeOf?Object.getPrototypeOf:function(z){return z.__proto__||Object.getPrototypeOf(z)},g(O)}function h(O){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?h=function(z){return typeof z}:h=function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z},h(O)}var x=e(43827),f=x.inspect,l=e(79616),y=l.codes.ERR_INVALID_ARG_TYPE;function T(O,H,z){return(z===void 0||z>O.length)&&(z=O.length),O.substring(z-H.length,z)===H}function S(O,H){if(H=Math.floor(H),O.length==0||H==0)return"";var z=O.length*H;for(H=Math.floor(Math.log(H)/Math.log(2));H;)O+=O,H--;return O+=O.substring(0,z-O.length),O}var L="",m="",M="",b="",s={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},_=10;function A(O){var H=Object.keys(O),z=Object.create(Object.getPrototypeOf(O));return H.forEach(function(k){z[k]=O[k]}),Object.defineProperty(z,"message",{value:O.message}),z}function D(O){return f(O,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function F(O,H,z){var k="",V="",Z=0,ee="",Q=!1,ne=D(O),fe=ne.split(` +`),$=D(H).split(` +`),Y=0,j="";if(z==="strictEqual"&&h(O)==="object"&&h(H)==="object"&&O!==null&&H!==null&&(z="strictEqualObject"),fe.length===1&&$.length===1&&fe[0]!==$[0]){var X=fe[0].length+$[0].length;if(X<=_){if((h(O)!=="object"||O===null)&&(h(H)!=="object"||H===null)&&(O!==0||H!==0))return"".concat(s[z],` + +`)+"".concat(fe[0]," !== ").concat($[0],` +`)}else if(z!=="strictEqualObject"){var re=v.stderr&&v.stderr.isTTY?v.stderr.columns:80;if(X2&&(j=` + `.concat(S(" ",Y),"^"),Y=0)}}}for(var le=fe[fe.length-1],q=$[$.length-1];le===q&&(Y++<2?ee=` + `.concat(le).concat(ee):k=le,fe.pop(),$.pop(),!(fe.length===0||$.length===0));)le=fe[fe.length-1],q=$[$.length-1];var te=Math.max(fe.length,$.length);if(te===0){var ue=ne.split(` +`);if(ue.length>30)for(ue[26]="".concat(L,"...").concat(b);ue.length>27;)ue.pop();return"".concat(s.notIdentical,` + +`).concat(ue.join(` +`),` +`)}Y>3&&(ee=` +`.concat(L,"...").concat(b).concat(ee),Q=!0),k!==""&&(ee=` + `.concat(k).concat(ee),k="");var ae=0,de=s[z]+` +`.concat(m,"+ actual").concat(b," ").concat(M,"- expected").concat(b),xe=" ".concat(L,"...").concat(b," Lines skipped");for(Y=0;Y1&&Y>2&&(Se>4?(V+=` +`.concat(L,"...").concat(b),Q=!0):Se>3&&(V+=` + `.concat($[Y-2]),ae++),V+=` + `.concat($[Y-1]),ae++),Z=Y,k+=` +`.concat(M,"-").concat(b," ").concat($[Y]),ae++;else if($.length1&&Y>2&&(Se>4?(V+=` +`.concat(L,"...").concat(b),Q=!0):Se>3&&(V+=` + `.concat(fe[Y-2]),ae++),V+=` + `.concat(fe[Y-1]),ae++),Z=Y,V+=` +`.concat(m,"+").concat(b," ").concat(fe[Y]),ae++;else{var Ae=$[Y],Be=fe[Y],Oe=Be!==Ae&&(!T(Be,",")||Be.slice(0,-1)!==Ae);Oe&&T(Ae,",")&&Ae.slice(0,-1)===Be&&(Oe=!1,Be+=","),Oe?(Se>1&&Y>2&&(Se>4?(V+=` +`.concat(L,"...").concat(b),Q=!0):Se>3&&(V+=` + `.concat(fe[Y-2]),ae++),V+=` + `.concat(fe[Y-1]),ae++),Z=Y,V+=` +`.concat(m,"+").concat(b," ").concat(Be),k+=` +`.concat(M,"-").concat(b," ").concat(Ae),ae+=2):(V+=k,k="",(Se===1||Y===0)&&(V+=` + `.concat(Be),ae++))}if(ae>20&&Y30)for(Y[26]="".concat(L,"...").concat(b);Y.length>27;)Y.pop();Y.length===1?k=p(this,g(H).call(this,"".concat($," ").concat(Y[0]))):k=p(this,g(H).call(this,"".concat($,` + +`).concat(Y.join(` +`),` +`)))}else{var j=D(Q),X="",re=s[Z];Z==="notDeepEqual"||Z==="notEqual"?(j="".concat(s[Z],` + +`).concat(j),j.length>1024&&(j="".concat(j.slice(0,1021),"..."))):(X="".concat(D(ne)),j.length>512&&(j="".concat(j.slice(0,509),"...")),X.length>512&&(X="".concat(X.slice(0,509),"...")),Z==="deepEqual"||Z==="equal"?j="".concat(re,` + +`).concat(j,` + +should equal + +`):X=" ".concat(Z," ").concat(X)),k=p(this,g(H).call(this,"".concat(j).concat(X)))}return Error.stackTraceLimit=fe,k.generatedMessage=!V,Object.defineProperty(t(k),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),k.code="ERR_ASSERTION",k.actual=Q,k.expected=ne,k.operator=Z,Error.captureStackTrace&&Error.captureStackTrace(t(k),ee),k.stack,k.name="AssertionError",p(k)}return d(H,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:f.custom,value:function(k,V){return f(this,E({},V,{customInspect:!1,depth:0}))}}]),H}(c(Error));U.exports=G},79616:function(U,B,e){function v(h){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?v=function(f){return typeof f}:v=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},v(h)}function E(h,x){if(!(h instanceof x))throw new TypeError("Cannot call a class as a function")}function a(h,x){return x&&(v(x)==="object"||typeof x=="function")?x:C(h)}function C(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}function w(h){return w=Object.setPrototypeOf?Object.getPrototypeOf:function(f){return f.__proto__||Object.getPrototypeOf(f)},w(h)}function d(h,x){if(typeof x!="function"&&x!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(x&&x.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),x&&p(h,x)}function p(h,x){return p=Object.setPrototypeOf||function(l,y){return l.__proto__=y,l},p(h,x)}var t={},r,c;function o(h,x,f){f||(f=Error);function l(T,S,L){return typeof x=="string"?x:x(T,S,L)}var y=function(T){d(S,T);function S(L,m,M){var b;return E(this,S),b=a(this,w(S).call(this,l(L,m,M))),b.code=h,b}return S}(f);t[h]=y}function n(h,x){if(Array.isArray(h)){var f=h.length;return h=h.map(function(l){return String(l)}),f>2?"one of ".concat(x," ").concat(h.slice(0,f-1).join(", "),", or ")+h[f-1]:f===2?"one of ".concat(x," ").concat(h[0]," or ").concat(h[1]):"of ".concat(x," ").concat(h[0])}else return"of ".concat(x," ").concat(String(h))}function u(h,x,f){return h.substr(!f||f<0?0:+f,x.length)===x}function i(h,x,f){return(f===void 0||f>h.length)&&(f=h.length),h.substring(f-x.length,f)===x}function g(h,x,f){return typeof f!="number"&&(f=0),f+x.length>h.length?!1:h.indexOf(x,f)!==-1}o("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),o("ERR_INVALID_ARG_TYPE",function(h,x,f){r===void 0&&(r=e(32791)),r(typeof h=="string","'name' must be a string");var l;typeof x=="string"&&u(x,"not ")?(l="must not be",x=x.replace(/^not /,"")):l="must be";var y;if(i(h," argument"))y="The ".concat(h," ").concat(l," ").concat(n(x,"type"));else{var T=g(h,".")?"property":"argument";y='The "'.concat(h,'" ').concat(T," ").concat(l," ").concat(n(x,"type"))}return y+=". Received type ".concat(v(f)),y},TypeError),o("ERR_INVALID_ARG_VALUE",function(h,x){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";c===void 0&&(c=e(43827));var l=c.inspect(x);return l.length>128&&(l="".concat(l.slice(0,128),"...")),"The argument '".concat(h,"' ").concat(f,". Received ").concat(l)},TypeError),o("ERR_INVALID_RETURN_VALUE",function(h,x,f){var l;return f&&f.constructor&&f.constructor.name?l="instance of ".concat(f.constructor.name):l="type ".concat(v(f)),"Expected ".concat(h,' to be returned from the "').concat(x,'"')+" function but got ".concat(l,".")},TypeError),o("ERR_MISSING_ARGS",function(){for(var h=arguments.length,x=new Array(h),f=0;f0,"At least one arg needs to be specified");var l="The ",y=x.length;switch(x=x.map(function(T){return'"'.concat(T,'"')}),y){case 1:l+="".concat(x[0]," argument");break;case 2:l+="".concat(x[0]," and ").concat(x[1]," arguments");break;default:l+=x.slice(0,y-1).join(", "),l+=", and ".concat(x[y-1]," arguments");break}return"".concat(l," must be specified")},TypeError),U.exports.codes=t},74061:function(U,B,e){function v(Ee,we){return C(Ee)||a(Ee,we)||E()}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function a(Ee,we){var Ce=[],Ge=!0,He=!1,De=void 0;try{for(var Fe=Ee[Symbol.iterator](),qe;!(Ge=(qe=Fe.next()).done)&&(Ce.push(qe.value),!(we&&Ce.length===we));Ge=!0);}catch(Qe){He=!0,De=Qe}finally{try{!Ge&&Fe.return!=null&&Fe.return()}finally{if(He)throw De}}return Ce}function C(Ee){if(Array.isArray(Ee))return Ee}function w(Ee){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?w=function(Ce){return typeof Ce}:w=function(Ce){return Ce&&typeof Symbol=="function"&&Ce.constructor===Symbol&&Ce!==Symbol.prototype?"symbol":typeof Ce},w(Ee)}var d=/a/g.flags!==void 0,p=function(we){var Ce=[];return we.forEach(function(Ge){return Ce.push(Ge)}),Ce},t=function(we){var Ce=[];return we.forEach(function(Ge,He){return Ce.push([He,Ge])}),Ce},r=Object.is?Object.is:e(64003),c=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},o=Number.isNaN?Number.isNaN:e(15567);function n(Ee){return Ee.call.bind(Ee)}var u=n(Object.prototype.hasOwnProperty),i=n(Object.prototype.propertyIsEnumerable),g=n(Object.prototype.toString),h=e(43827).types,x=h.isAnyArrayBuffer,f=h.isArrayBufferView,l=h.isDate,y=h.isMap,T=h.isRegExp,S=h.isSet,L=h.isNativeError,m=h.isBoxedPrimitive,M=h.isNumberObject,b=h.isStringObject,s=h.isBooleanObject,_=h.isBigIntObject,A=h.isSymbolObject,D=h.isFloat32Array,F=h.isFloat64Array;function G(Ee){if(Ee.length===0||Ee.length>10)return!0;for(var we=0;we57)return!0}return Ee.length===10&&Ee>=Math.pow(2,32)}function O(Ee){return Object.keys(Ee).filter(G).concat(c(Ee).filter(Object.prototype.propertyIsEnumerable.bind(Ee)))}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */function H(Ee,we){if(Ee===we)return 0;for(var Ce=Ee.length,Ge=we.length,He=0,De=Math.min(Ce,Ge);He0)throw new Error("Invalid string. Length must be a multiple of 4");var g=u.indexOf("=");g===-1&&(g=i);var h=g===i?0:4-g%4;return[g,h]}function p(u){var i=d(u),g=i[0],h=i[1];return(g+h)*3/4-h}function t(u,i,g){return(i+g)*3/4-g}function r(u){var i,g=d(u),h=g[0],x=g[1],f=new E(t(u,h,x)),l=0,y=x>0?h-4:h,T;for(T=0;T>16&255,f[l++]=i>>8&255,f[l++]=i&255;return x===2&&(i=v[u.charCodeAt(T)]<<2|v[u.charCodeAt(T+1)]>>4,f[l++]=i&255),x===1&&(i=v[u.charCodeAt(T)]<<10|v[u.charCodeAt(T+1)]<<4|v[u.charCodeAt(T+2)]>>2,f[l++]=i>>8&255,f[l++]=i&255),f}function c(u){return e[u>>18&63]+e[u>>12&63]+e[u>>6&63]+e[u&63]}function o(u,i,g){for(var h,x=[],f=i;fy?y:l+f));return h===1?(i=u[g-1],x.push(e[i>>2]+e[i<<4&63]+"==")):h===2&&(i=(u[g-2]<<8)+u[g-1],x.push(e[i>>10]+e[i>>4&63]+e[i<<2&63]+"=")),x.join("")}},91358:function(U){function B(w,d,p,t,r){for(var c=r+1;t<=r;){var o=t+r>>>1,n=w[o],u=p!==void 0?p(n,d):n-d;u>=0?(c=o,r=o-1):t=o+1}return c}function e(w,d,p,t,r){for(var c=r+1;t<=r;){var o=t+r>>>1,n=w[o],u=p!==void 0?p(n,d):n-d;u>0?(c=o,r=o-1):t=o+1}return c}function v(w,d,p,t,r){for(var c=t-1;t<=r;){var o=t+r>>>1,n=w[o],u=p!==void 0?p(n,d):n-d;u<0?(c=o,t=o+1):r=o-1}return c}function E(w,d,p,t,r){for(var c=t-1;t<=r;){var o=t+r>>>1,n=w[o],u=p!==void 0?p(n,d):n-d;u<=0?(c=o,t=o+1):r=o-1}return c}function a(w,d,p,t,r){for(;t<=r;){var c=t+r>>>1,o=w[c],n=p!==void 0?p(o,d):o-d;if(n===0)return c;n<=0?t=c+1:r=c-1}return-1}function C(w,d,p,t,r,c){return typeof p=="function"?c(w,d,p,t===void 0?0:t|0,r===void 0?w.length-1:r|0):c(w,d,void 0,p===void 0?0:p|0,t===void 0?w.length-1:t|0)}U.exports={ge:function(w,d,p,t,r){return C(w,d,p,t,r,B)},gt:function(w,d,p,t,r){return C(w,d,p,t,r,e)},lt:function(w,d,p,t,r){return C(w,d,p,t,r,v)},le:function(w,d,p,t,r){return C(w,d,p,t,r,E)},eq:function(w,d,p,t,r){return C(w,d,p,t,r,a)}}},13547:function(U,B){"use restrict";var e=32;B.INT_BITS=e,B.INT_MAX=2147483647,B.INT_MIN=-1<0)-(a<0)},B.abs=function(a){var C=a>>e-1;return(a^C)-C},B.min=function(a,C){return C^(a^C)&-(a65535)<<4,a>>>=C,w=(a>255)<<3,a>>>=w,C|=w,w=(a>15)<<2,a>>>=w,C|=w,w=(a>3)<<1,a>>>=w,C|=w,C|a>>1},B.log10=function(a){return a>=1e9?9:a>=1e8?8:a>=1e7?7:a>=1e6?6:a>=1e5?5:a>=1e4?4:a>=1e3?3:a>=100?2:a>=10?1:0},B.popCount=function(a){return a=a-(a>>>1&1431655765),a=(a&858993459)+(a>>>2&858993459),(a+(a>>>4)&252645135)*16843009>>>24};function v(a){var C=32;return a&=-a,a&&C--,a&65535&&(C-=16),a&16711935&&(C-=8),a&252645135&&(C-=4),a&858993459&&(C-=2),a&1431655765&&(C-=1),C}B.countTrailingZeros=v,B.nextPow2=function(a){return a+=a===0,--a,a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,a+1},B.prevPow2=function(a){return a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,a-(a>>>1)},B.parity=function(a){return a^=a>>>16,a^=a>>>8,a^=a>>>4,a&=15,27030>>>a&1};var E=new Array(256);(function(a){for(var C=0;C<256;++C){var w=C,d=C,p=7;for(w>>>=1;w;w>>>=1)d<<=1,d|=w&1,--p;a[C]=d<>>8&255]<<16|E[a>>>16&255]<<8|E[a>>>24&255]},B.interleave2=function(a,C){return a&=65535,a=(a|a<<8)&16711935,a=(a|a<<4)&252645135,a=(a|a<<2)&858993459,a=(a|a<<1)&1431655765,C&=65535,C=(C|C<<8)&16711935,C=(C|C<<4)&252645135,C=(C|C<<2)&858993459,C=(C|C<<1)&1431655765,a|C<<1},B.deinterleave2=function(a,C){return a=a>>>C&1431655765,a=(a|a>>>1)&858993459,a=(a|a>>>2)&252645135,a=(a|a>>>4)&16711935,a=(a|a>>>16)&65535,a<<16>>16},B.interleave3=function(a,C,w){return a&=1023,a=(a|a<<16)&4278190335,a=(a|a<<8)&251719695,a=(a|a<<4)&3272356035,a=(a|a<<2)&1227133513,C&=1023,C=(C|C<<16)&4278190335,C=(C|C<<8)&251719695,C=(C|C<<4)&3272356035,C=(C|C<<2)&1227133513,a|=C<<1,w&=1023,w=(w|w<<16)&4278190335,w=(w|w<<8)&251719695,w=(w|w<<4)&3272356035,w=(w|w<<2)&1227133513,a|w<<2},B.deinterleave3=function(a,C){return a=a>>>C&1227133513,a=(a|a>>>2)&3272356035,a=(a|a>>>4)&251719695,a=(a|a>>>8)&4278190335,a=(a|a>>>16)&1023,a<<22>>22},B.nextCombination=function(a){var C=a|a-1;return C+1|(~C&-~C)-1>>>v(a)+1}},44781:function(U,B,e){var v=e(53435);U.exports=a;var E=1e20;function a(d,p){p||(p={});var t=p.cutoff==null?.25:p.cutoff,r=p.radius==null?8:p.radius,c=p.channel||0,o,n,u,i,g,h,x,f,l,y,T;if(ArrayBuffer.isView(d)||Array.isArray(d)){if(!p.width||!p.height)throw Error("For raw data width and height should be provided by options");o=p.width,n=p.height,i=d,p.stride?h=p.stride:h=Math.floor(d.length/o/n)}else window.HTMLCanvasElement&&d instanceof window.HTMLCanvasElement?(f=d,x=f.getContext("2d"),o=f.width,n=f.height,l=x.getImageData(0,0,o,n),i=l.data,h=4):window.CanvasRenderingContext2D&&d instanceof window.CanvasRenderingContext2D?(f=d.canvas,x=d,o=f.width,n=f.height,l=x.getImageData(0,0,o,n),i=l.data,h=4):window.ImageData&&d instanceof window.ImageData&&(l=d,o=d.width,n=d.height,i=l.data,h=4);if(u=Math.max(o,n),window.Uint8ClampedArray&&i instanceof window.Uint8ClampedArray||window.Uint8Array&&i instanceof window.Uint8Array)for(g=i,i=Array(o*n),y=0,T=g.length;y-1?E(p):p}},68222:function(U,B,e){var v=e(77575),E=e(68318),a=E("%Function.prototype.apply%"),C=E("%Function.prototype.call%"),w=E("%Reflect.apply%",!0)||v.call(C,a),d=E("%Object.getOwnPropertyDescriptor%",!0),p=E("%Object.defineProperty%",!0),t=E("%Math.max%");if(p)try{p({},"a",{value:1})}catch{p=null}U.exports=function(o){var n=w(v,C,arguments);if(d&&p){var u=d(n,"length");u.configurable&&p(n,"length",{value:1+t(0,o.length-(arguments.length-1))})}return n};var r=function(){return w(v,a,arguments)};p?p(U.exports,"apply",{value:r}):U.exports.apply=r},53435:function(U){U.exports=B;function B(e,v,E){return vE?E:e:ev?v:e}},6475:function(U,B,e){var v=e(53435);U.exports=E,U.exports.to=E,U.exports.from=a;function E(C,w){w==null&&(w=!0);var d=C[0],p=C[1],t=C[2],r=C[3];r==null&&(r=w?1:255),w&&(d*=255,p*=255,t*=255,r*=255),d=v(d,0,255)&255,p=v(p,0,255)&255,t=v(t,0,255)&255,r=v(r,0,255)&255;var c=d*16777216+(p<<16)+(t<<8)+r;return c}function a(C,w){C=+C;var d=C>>>24,p=(C&16711680)>>>16,t=(C&65280)>>>8,r=C&255;return w===!1?[d,p,t,r]:[d/255,p/255,t/255,r/255]}},76857:function(U){U.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]}},25075:function(U,B,e){var v=e(36652),E=e(53435),a=e(90660);U.exports=function(d,p){(p==="float"||!p)&&(p="array"),p==="uint"&&(p="uint8"),p==="uint_clamped"&&(p="uint8_clamped");var t=a(p),r=new t(4),c=p!=="uint8"&&p!=="uint8_clamped";return(!d.length||typeof d=="string")&&(d=v(d),d[0]/=255,d[1]/=255,d[2]/=255),C(d)?(r[0]=d[0],r[1]=d[1],r[2]=d[2],r[3]=d[3]!=null?d[3]:255,c&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(c?(r[0]=d[0],r[1]=d[1],r[2]=d[2],r[3]=d[3]!=null?d[3]:1):(r[0]=E(Math.floor(d[0]*255),0,255),r[1]=E(Math.floor(d[1]*255),0,255),r[2]=E(Math.floor(d[2]*255),0,255),r[3]=d[3]==null?255:E(Math.floor(d[3]*255),0,255)),r)};function C(w){return!!(w instanceof Uint8Array||w instanceof Uint8ClampedArray||Array.isArray(w)&&(w[0]>1||w[0]===0)&&(w[1]>1||w[1]===0)&&(w[2]>1||w[2]===0)&&(!w[3]||w[3]>1))}},90736:function(U,B,e){var v=e(76857),E=e(10973),a=e(46775);U.exports=w;var C={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function w(d){var p,t=[],r=1,c;if(typeof d=="string")if(v[d])t=v[d].slice(),c="rgb";else if(d==="transparent")r=0,c="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(d)){var o=d.slice(1),n=o.length,u=n<=4;r=1,u?(t=[parseInt(o[0]+o[0],16),parseInt(o[1]+o[1],16),parseInt(o[2]+o[2],16)],n===4&&(r=parseInt(o[3]+o[3],16)/255)):(t=[parseInt(o[0]+o[1],16),parseInt(o[2]+o[3],16),parseInt(o[4]+o[5],16)],n===8&&(r=parseInt(o[6]+o[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),c="rgb"}else if(p=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(d)){var i=p[1],g=i==="rgb",o=i.replace(/a$/,"");c=o;var n=o==="cmyk"?4:o==="gray"?1:3;t=p[2].trim().split(/\s*,\s*/).map(function(l,y){if(/%$/.test(l))return y===n?parseFloat(l)/100:o==="rgb"?parseFloat(l)*255/100:parseFloat(l);if(o[y]==="h"){if(/deg$/.test(l))return parseFloat(l);if(C[l]!==void 0)return C[l]}return parseFloat(l)}),i===o&&t.push(1),r=g||t[n]===void 0?1:t[n],t=t.slice(0,n)}else d.length>10&&/[0-9](?:\s|\/)/.test(d)&&(t=d.match(/([0-9]+)/g).map(function(x){return parseFloat(x)}),c=d.match(/([a-z])/ig).join("").toLowerCase());else if(!isNaN(d))c="rgb",t=[d>>>16,(d&65280)>>>8,d&255];else if(E(d)){var h=a(d.r,d.red,d.R,null);h!==null?(c="rgb",t=[h,a(d.g,d.green,d.G),a(d.b,d.blue,d.B)]):(c="hsl",t=[a(d.h,d.hue,d.H),a(d.s,d.saturation,d.S),a(d.l,d.lightness,d.L,d.b,d.brightness)]),r=a(d.a,d.alpha,d.opacity,1),d.opacity!=null&&(r/=100)}else(Array.isArray(d)||e.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(d))&&(t=[d[0],d[1],d[2]],c="rgb",r=d.length===4?d[3]:1);return{space:c,values:t,alpha:r}}},36652:function(U,B,e){var v=e(90736),E=e(80009),a=e(53435);U.exports=function(w){var d,p=v(w);return p.space?(d=Array(3),d[0]=a(p.values[0],0,255),d[1]=a(p.values[1],0,255),d[2]=a(p.values[2],0,255),p.space[0]==="h"&&(d=E.rgb(d)),d.push(a(p.alpha,0,1)),d):[]}},80009:function(U,B,e){var v=e(6866);U.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(E){var a=E[0]/360,C=E[1]/100,w=E[2]/100,d,p,t,r,c;if(C===0)return c=w*255,[c,c,c];w<.5?p=w*(1+C):p=w+C-w*C,d=2*w-p,r=[0,0,0];for(var o=0;o<3;o++)t=a+.3333333333333333*-(o-1),t<0?t++:t>1&&t--,6*t<1?c=d+(p-d)*6*t:2*t<1?c=p:3*t<2?c=d+(p-d)*(.6666666666666666-t)*6:c=d,r[o]=c*255;return r}},v.hsl=function(E){var a=E[0]/255,C=E[1]/255,w=E[2]/255,d=Math.min(a,C,w),p=Math.max(a,C,w),t=p-d,r,c,o;return p===d?r=0:a===p?r=(C-w)/t:C===p?r=2+(w-a)/t:w===p&&(r=4+(a-C)/t),r=Math.min(r*60,360),r<0&&(r+=360),o=(d+p)/2,p===d?c=0:o<=.5?c=t/(p+d):c=t/(2-p-d),[r,c*100,o*100]}},6866:function(U){U.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(U){U.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|ç)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|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)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|ã)o.?tom(e|é)",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"}},72791:function(U,B,e){U.exports={parse:e(41004),stringify:e(53313)}},63625:function(U,B,e){var v=e(40402);U.exports={isSize:function(a){return/^[\d\.]/.test(a)||a.indexOf("/")!==-1||v.indexOf(a)!==-1}}},41004:function(U,B,e){var v=e(90448),E=e(38732),a=e(41901),C=e(15659),w=e(96209),d=e(83794),p=e(99011),t=e(63625).isSize;U.exports=c;var r=c.cache={};function c(n){if(typeof n!="string")throw new Error("Font argument must be a string.");if(r[n])return r[n];if(n==="")throw new Error("Cannot parse an empty string.");if(a.indexOf(n)!==-1)return r[n]={system:n};for(var u={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},i=p(n,/\s+/),g;g=i.shift();){if(E.indexOf(g)!==-1)return["style","variant","weight","stretch"].forEach(function(x){u[x]=g}),r[n]=u;if(w.indexOf(g)!==-1){u.style=g;continue}if(g==="normal"||g==="small-caps"){u.variant=g;continue}if(d.indexOf(g)!==-1){u.stretch=g;continue}if(C.indexOf(g)!==-1){u.weight=g;continue}if(t(g)){var h=p(g,"/");if(u.size=h[0],h[1]!=null?u.lineHeight=o(h[1]):i[0]==="/"&&(i.shift(),u.lineHeight=o(i.shift())),!i.length)throw new Error("Missing required font-family.");return u.family=p(i.join(" "),/\s*,\s*/).map(v),r[n]=u}throw new Error("Unknown or unsupported font token: "+g)}throw new Error("Missing required font-size.")}function o(n){var u=parseFloat(n);return u.toString()===n?u:n}},53313:function(U,B,e){var v=e(71299),E=e(63625).isSize,a=n(e(38732)),C=n(e(41901)),w=n(e(15659)),d=n(e(96209)),p=n(e(83794)),t={normal:1,"small-caps":1},r={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},c={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};U.exports=function(i){if(i=v(i,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),i.system)return i.system&&o(i.system,C),i.system;if(o(i.style,d),o(i.variant,t),o(i.weight,w),o(i.stretch,p),i.size==null&&(i.size=c.size),typeof i.size=="number"&&(i.size+="px"),!E)throw Error("Bad size value `"+i.size+"`");i.family||(i.family=c.family),Array.isArray(i.family)&&(i.family.length||(i.family=[c.family]),i.family=i.family.map(function(h){return r[h]?h:'"'+h+'"'}).join(", "));var g=[];return g.push(i.style),i.variant!==i.style&&g.push(i.variant),i.weight!==i.variant&&i.weight!==i.style&&g.push(i.weight),i.stretch!==i.weight&&i.stretch!==i.variant&&i.stretch!==i.style&&g.push(i.stretch),g.push(i.size+(i.lineHeight==null||i.lineHeight==="normal"||i.lineHeight+""=="1"?"":"/"+i.lineHeight)),g.push(i.family),g.filter(Boolean).join(" ")};function o(u,i){if(u&&!i[u]&&!a[u])throw Error("Unknown keyword `"+u+"`");return u}function n(u){for(var i={},g=0;gn?1:o>=n?0:NaN}function E(o){return o.length===1&&(o=a(o)),{left:function(n,u,i,g){for(i==null&&(i=0),g==null&&(g=n.length);i>>1;o(n[h],u)<0?i=h+1:g=h}return i},right:function(n,u,i,g){for(i==null&&(i=0),g==null&&(g=n.length);i>>1;o(n[h],u)>0?g=h:i=h+1}return i}}}function a(o){return function(n,u){return v(o(n),u)}}E(v);function C(o,n){var u=o.length,i=-1,g,h;if(n==null){for(;++i=g)for(h=g;++ih&&(h=g)}else for(;++i=g)for(h=g;++ih&&(h=g);return h}function w(o){return o===null?NaN:+o}function d(o,n){var u=o.length,i=u,g=-1,h,x=0;if(n==null)for(;++g=0;)for(x=o[n],u=x.length;--u>=0;)h[--g]=x[u];return h}function t(o,n){var u=o.length,i=-1,g,h;if(n==null){for(;++i=g)for(h=g;++ig&&(h=g)}else for(;++i=g)for(h=g;++ig&&(h=g);return h}function r(o,n,u){o=+o,n=+n,u=(g=arguments.length)<2?(n=o,o=0,1):g<3?1:+u;for(var i=-1,g=Math.max(0,Math.ceil((n-o)/u))|0,h=new Array(g);++i=n.length)return i!=null&&l.sort(i),g!=null?g(l):l;for(var L=-1,m=l.length,M=n[y++],b,s,_=C(),A,D=T();++Ln.length)return l;var T,S=u[y-1];return g!=null&&y>=n.length?T=l.entries():(T=[],l.each(function(L,m){T.push({key:m,values:f(L,y)})})),S!=null?T.sort(function(L,m){return S(L.key,m.key)}):T}return h={object:function(l){return x(l,0,d,p)},map:function(l){return x(l,0,t,r)},entries:function(l){return f(x(l,0,t,r),0)},key:function(l){return n.push(l),h},sortKeys:function(l){return u[n.length-1]=l,h},sortValues:function(l){return i=l,h},rollup:function(l){return g=l,h}}}function d(){return{}}function p(n,u,i){n[u]=i}function t(){return C()}function r(n,u,i){n.set(u,i)}function c(){}var o=C.prototype;c.prototype={constructor:c,has:o.has,add:function(n){return n+="",this[v+n]=n,this},remove:o.remove,clear:o.clear,values:o.keys,size:o.size,empty:o.empty,each:o.each}},49887:function(U,B,e){e.r(B),e.d(B,{forceCenter:function(){return v},forceCollide:function(){return _},forceLink:function(){return G},forceManyBody:function(){return Fe},forceRadial:function(){return qe},forceSimulation:function(){return De},forceX:function(){return Qe},forceY:function(){return Je}});function v(tt,ht){var gt;tt==null&&(tt=0),ht==null&&(ht=0);function yt(){var Et,Xe=gt.length,Ue,ze=0,rt=0;for(Et=0;Et=(Ie=(ze+it)/2))?ze=Ie:it=Ie,(Ne=gt>=(Te=(rt+Ze)/2))?rt=Te:Ze=Te,Et=Xe,!(Xe=Xe[st=Ne<<1|Re]))return Et[st]=Ue,tt;if(he=+tt._x.call(null,Xe.data),me=+tt._y.call(null,Xe.data),ht===he&>===me)return Ue.next=Xe,Et?Et[st]=Ue:tt._root=Ue,tt;do Et=Et?Et[st]=new Array(4):tt._root=new Array(4),(Re=ht>=(Ie=(ze+it)/2))?ze=Ie:it=Ie,(Ne=gt>=(Te=(rt+Ze)/2))?rt=Te:Ze=Te;while((st=Ne<<1|Re)===(ft=(me>=Te)<<1|he>=Ie));return Et[ft]=Xe,Et[st]=Ue,tt}function d(tt){var ht,gt,yt=tt.length,Et,Xe,Ue=new Array(yt),ze=new Array(yt),rt=1/0,it=1/0,Ze=-1/0,Ie=-1/0;for(gt=0;gtZe&&(Ze=Et),XeIe&&(Ie=Xe));if(rt>Ze||it>Ie)return this;for(this.cover(rt,it).cover(Ze,Ie),gt=0;gttt||tt>=Et||yt>ht||ht>=Xe;)switch(it=(htZe||(ze=me.y0)>Ie||(rt=me.x1)=st)<<1|tt>=Ne)&&(me=Te[Te.length-1],Te[Te.length-1]=Te[Te.length-1-Re],Te[Te.length-1-Re]=me)}else{var ft=tt-+this._x.call(null,he.data),At=ht-+this._y.call(null,he.data),Ft=ft*ft+At*At;if(Ft=(Te=(Ue+rt)/2))?Ue=Te:rt=Te,(Re=Ie>=(he=(ze+it)/2))?ze=he:it=he,ht=gt,!(gt=gt[Ne=Re<<1|me]))return this;if(!gt.length)break;(ht[Ne+1&3]||ht[Ne+2&3]||ht[Ne+3&3])&&(yt=ht,st=Ne)}for(;gt.data!==tt;)if(Et=gt,!(gt=gt.next))return this;return(Xe=gt.next)&&delete gt.next,Et?(Xe?Et.next=Xe:delete Et.next,this):ht?(Xe?ht[Ne]=Xe:delete ht[Ne],(gt=ht[0]||ht[1]||ht[2]||ht[3])&>===(ht[3]||ht[2]||ht[1]||ht[0])&&!gt.length&&(yt?yt[st]=gt:this._root=gt),this):(this._root=Xe,this)}function u(tt){for(var ht=0,gt=tt.length;htIe.index){var kr=Te-Rt.x-Rt.vx,xt=he-Rt.y-Rt.vy,Xt=kr*kr+xt*xt;XtTe+sr||Hthe+sr||Gtrt.r&&(rt.r=rt[it].r)}function ze(){if(ht){var rt,it=ht.length,Ze;for(gt=new Array(it),rt=0;rt=0&&(yt=gt.slice(Et+1),gt=gt.slice(0,Et)),gt&&!ht.hasOwnProperty(gt))throw new Error("unknown type: "+gt);return{type:gt,name:yt}})}z.prototype=H.prototype={constructor:z,on:function(tt,ht){var gt=this._,yt=k(tt+"",gt),Et,Xe=-1,Ue=yt.length;if(arguments.length<2){for(;++Xe0)for(var gt=new Array(Et),yt=0,Et,Xe;yt=0&&tt._call.call(null,ht),tt=tt._next;--Q}function Ae(){re=(X=q.now())+le,Q=ne=0;try{Se()}finally{Q=0,Oe(),re=0}}function Be(){var tt=q.now(),ht=tt-X;ht>$&&(le-=ht,X=tt)}function Oe(){for(var tt,ht=Y,gt,yt=1/0;ht;)ht._call?(yt>ht._time&&(yt=ht._time),tt=ht,ht=ht._next):(gt=ht._next,ht._next=null,ht=tt?tt._next=gt:Y=gt);j=tt,Ee(yt)}function Ee(tt){if(!Q){ne&&(ne=clearTimeout(ne));var ht=tt-re;ht>24?(tt<1/0&&(ne=setTimeout(Ae,tt-q.now()-le)),fe&&(fe=clearInterval(fe))):(fe||(X=q.now(),fe=setInterval(Be,$)),Q=1,te(Ae))}}function we(tt){return tt.x}function Ce(tt){return tt.y}var Ge=10,He=Math.PI*(3-Math.sqrt(5));function De(tt){var ht,gt=1,yt=.001,Et=1-Math.pow(yt,1/300),Xe=0,Ue=.6,ze=(0,A.UI)(),rt=xe(Ze),it=ee("tick","end");tt==null&&(tt=[]);function Ze(){Ie(),it.call("tick",ht),gt1?(Re==null?ze.remove(me):ze.set(me,he(Re)),ht):ze.get(me)},find:function(me,Re,Ne){var st=0,ft=tt.length,At,Ft,Ht,Gt,Rt;for(Ne==null?Ne=1/0:Ne*=Ne,st=0;st1?(it.on(me,Re),ht):it.on(me)}}}function Fe(){var tt,ht,gt,yt=E(-30),Et,Xe=1,Ue=1/0,ze=.81;function rt(Te){var he,me=tt.length,Re=S(tt,we,Ce).visitAfter(Ze);for(gt=Te,he=0;he=Ue)return;(Te.data!==ht||Te.next)&&(Ne===0&&(Ne=a(),At+=Ne*Ne),st===0&&(st=a(),At+=st*st),At=1e21?T.toLocaleString("en").replace(/,/g,""):T.toString(10)}function E(T,S){if((L=(T=S?T.toExponential(S-1):T.toExponential()).indexOf("e"))<0)return null;var L,m=T.slice(0,L);return[m.length>1?m[0]+m.slice(2):m,+T.slice(L+1)]}function a(T){return T=E(Math.abs(T)),T?T[1]:NaN}function C(T,S){return function(L,m){for(var M=L.length,b=[],s=0,_=T[0],A=0;M>0&&_>0&&(A+_+1>m&&(_=Math.max(1,m-A)),b.push(L.substring(M-=_,M+_)),!((A+=_+1)>m));)_=T[s=(s+1)%T.length];return b.reverse().join(S)}}function w(T){return function(S){return S.replace(/[0-9]/g,function(L){return T[+L]})}}var d=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function p(T){if(!(S=d.exec(T)))throw new Error("invalid format: "+T);var S;return new t({fill:S[1],align:S[2],sign:S[3],symbol:S[4],zero:S[5],width:S[6],comma:S[7],precision:S[8]&&S[8].slice(1),trim:S[9],type:S[10]})}p.prototype=t.prototype;function t(T){this.fill=T.fill===void 0?" ":T.fill+"",this.align=T.align===void 0?">":T.align+"",this.sign=T.sign===void 0?"-":T.sign+"",this.symbol=T.symbol===void 0?"":T.symbol+"",this.zero=!!T.zero,this.width=T.width===void 0?void 0:+T.width,this.comma=!!T.comma,this.precision=T.precision===void 0?void 0:+T.precision,this.trim=!!T.trim,this.type=T.type===void 0?"":T.type+""}t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function r(T){e:for(var S=T.length,L=1,m=-1,M;L0&&(m=0);break}return m>0?T.slice(0,m)+T.slice(M+1):T}var c;function o(T,S){var L=E(T,S);if(!L)return T+"";var m=L[0],M=L[1],b=M-(c=Math.max(-8,Math.min(8,Math.floor(M/3)))*3)+1,s=m.length;return b===s?m:b>s?m+new Array(b-s+1).join("0"):b>0?m.slice(0,b)+"."+m.slice(b):"0."+new Array(1-b).join("0")+E(T,Math.max(0,S+b-1))[0]}function n(T,S){var L=E(T,S);if(!L)return T+"";var m=L[0],M=L[1];return M<0?"0."+new Array(-M).join("0")+m:m.length>M+1?m.slice(0,M+1)+"."+m.slice(M+1):m+new Array(M-m.length+2).join("0")}var u={"%":function(T,S){return(T*100).toFixed(S)},b:function(T){return Math.round(T).toString(2)},c:function(T){return T+""},d:v,e:function(T,S){return T.toExponential(S)},f:function(T,S){return T.toFixed(S)},g:function(T,S){return T.toPrecision(S)},o:function(T){return Math.round(T).toString(8)},p:function(T,S){return n(T*100,S)},r:n,s:o,X:function(T){return Math.round(T).toString(16).toUpperCase()},x:function(T){return Math.round(T).toString(16)}};function i(T){return T}var g=Array.prototype.map,h=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function x(T){var S=T.grouping===void 0||T.thousands===void 0?i:C(g.call(T.grouping,Number),T.thousands+""),L=T.currency===void 0?"":T.currency[0]+"",m=T.currency===void 0?"":T.currency[1]+"",M=T.decimal===void 0?".":T.decimal+"",b=T.numerals===void 0?i:w(g.call(T.numerals,String)),s=T.percent===void 0?"%":T.percent+"",_=T.minus===void 0?"-":T.minus+"",A=T.nan===void 0?"NaN":T.nan+"";function D(G){G=p(G);var O=G.fill,H=G.align,z=G.sign,k=G.symbol,V=G.zero,Z=G.width,ee=G.comma,Q=G.precision,ne=G.trim,fe=G.type;fe==="n"?(ee=!0,fe="g"):u[fe]||(Q===void 0&&(Q=12),ne=!0,fe="g"),(V||O==="0"&&H==="=")&&(V=!0,O="0",H="=");var $=k==="$"?L:k==="#"&&/[boxX]/.test(fe)?"0"+fe.toLowerCase():"",Y=k==="$"?m:/[%p]/.test(fe)?s:"",j=u[fe],X=/[defgprs%]/.test(fe);Q=Q===void 0?6:/[gprs]/.test(fe)?Math.max(1,Math.min(21,Q)):Math.max(0,Math.min(20,Q));function re(le){var q=$,te=Y,ue,ae,de;if(fe==="c")te=j(le)+te,le="";else{le=+le;var xe=le<0||1/le<0;if(le=isNaN(le)?A:j(Math.abs(le),Q),ne&&(le=r(le)),xe&&+le==0&&z!=="+"&&(xe=!1),q=(xe?z==="("?z:_:z==="-"||z==="("?"":z)+q,te=(fe==="s"?h[8+c/3]:"")+te+(xe&&z==="("?")":""),X){for(ue=-1,ae=le.length;++uede||de>57){te=(de===46?M+le.slice(ue+1):le.slice(ue))+te,le=le.slice(0,ue);break}}}ee&&!V&&(le=S(le,1/0));var Se=q.length+le.length+te.length,Ae=Se>1)+q+le+te+Ae.slice(Se);break;default:le=Ae+q+le+te;break}return b(le)}return re.toString=function(){return G+""},re}function F(G,O){var H=D((G=p(G),G.type="f",G)),z=Math.max(-8,Math.min(8,Math.floor(a(O)/3)))*3,k=Math.pow(10,-z),V=h[8+z/3];return function(Z){return H(k*Z)+V}}return{format:D,formatPrefix:F}}var f,l;y({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function y(T){return f=x(T),l=f.format,f.formatPrefix,f}},65704:function(U,B,e){e.r(B),e.d(B,{geoAiry:function(){return V},geoAiryRaw:function(){return k},geoAitoff:function(){return ee},geoAitoffRaw:function(){return Z},geoArmadillo:function(){return ne},geoArmadilloRaw:function(){return Q},geoAugust:function(){return $},geoAugustRaw:function(){return fe},geoBaker:function(){return re},geoBakerRaw:function(){return X},geoBerghaus:function(){return te},geoBerghausRaw:function(){return q},geoBertin1953:function(){return Oe},geoBertin1953Raw:function(){return Be},geoBoggs:function(){return qe},geoBoggsRaw:function(){return Fe},geoBonne:function(){return gt},geoBonneRaw:function(){return ht},geoBottomley:function(){return Et},geoBottomleyRaw:function(){return yt},geoBromley:function(){return Ue},geoBromleyRaw:function(){return Xe},geoChamberlin:function(){return Re},geoChamberlinAfrica:function(){return me},geoChamberlinRaw:function(){return Te},geoCollignon:function(){return st},geoCollignonRaw:function(){return Ne},geoCraig:function(){return At},geoCraigRaw:function(){return ft},geoCraster:function(){return Gt},geoCrasterRaw:function(){return Ht},geoCylindricalEqualArea:function(){return qt},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return kr},geoCylindricalStereographicRaw:function(){return sr},geoEckert1:function(){return Xt},geoEckert1Raw:function(){return xt},geoEckert2:function(){return wr},geoEckert2Raw:function(){return jt},geoEckert3:function(){return ct},geoEckert3Raw:function(){return hr},geoEckert4:function(){return wt},geoEckert4Raw:function(){return ut},geoEckert5:function(){return Lt},geoEckert5Raw:function(){return Mt},geoEckert6:function(){return Ot},geoEckert6Raw:function(){return St},geoEisenlohr:function(){return $t},geoEisenlohrRaw:function(){return Jt},geoFahey:function(){return je},geoFaheyRaw:function(){return Cr},geoFoucaut:function(){return It},geoFoucautRaw:function(){return We},geoFoucautSinusoidal:function(){return Yt},geoFoucautSinusoidalRaw:function(){return kt},geoGilbert:function(){return cr},geoGingery:function(){return Yr},geoGingeryRaw:function(){return vr},geoGinzburg4:function(){return mn},geoGinzburg4Raw:function(){return Or},geoGinzburg5:function(){return kn},geoGinzburg5Raw:function(){return Kr},geoGinzburg6:function(){return xr},geoGinzburg6Raw:function(){return Dn},geoGinzburg8:function(){return Br},geoGinzburg8Raw:function(){return br},geoGinzburg9:function(){return en},geoGinzburg9Raw:function(){return Nr},geoGringorten:function(){return Jn},geoGringortenQuincuncial:function(){return qh},geoGringortenRaw:function(){return hn},geoGuyou:function(){return yn},geoGuyouRaw:function(){return Sr},geoHammer:function(){return xe},geoHammerRaw:function(){return ae},geoHammerRetroazimuthal:function(){return Gn},geoHammerRetroazimuthalRaw:function(){return Ln},geoHealpix:function(){return cn},geoHealpixRaw:function(){return on},geoHill:function(){return Lr},geoHillRaw:function(){return Rr},geoHomolosine:function(){return Bn},geoHomolosineRaw:function(){return xn},geoHufnagel:function(){return da},geoHufnagelRaw:function(){return ta},geoHyperelliptical:function(){return bo},geoHyperellipticalRaw:function(){return ma},geoInterrupt:function(){return Uo},geoInterruptedBoggs:function(){return gi},geoInterruptedHomolosine:function(){return tu},geoInterruptedMollweide:function(){return Zo},geoInterruptedMollweideHemispheres:function(){return Lu},geoInterruptedQuarticAuthalic:function(){return Qf},geoInterruptedSinuMollweide:function(){return _u},geoInterruptedSinusoidal:function(){return ho},geoKavrayskiy7:function(){return ko},geoKavrayskiy7Raw:function(){return ts},geoLagrange:function(){return Fs},geoLagrangeRaw:function(){return ss},geoLarrivee:function(){return Nc},geoLarriveeRaw:function(){return Mo},geoLaskowski:function(){return So},geoLaskowskiRaw:function(){return Os},geoLittrow:function(){return Qs},geoLittrowRaw:function(){return Yf},geoLoximuthal:function(){return Zf},geoLoximuthalRaw:function(){return zs},geoMiller:function(){return zh},geoMillerRaw:function(){return Xf},geoModifiedStereographic:function(){return Il},geoModifiedStereographicAlaska:function(){return Vh},geoModifiedStereographicGs48:function(){return Uc},geoModifiedStereographicGs50:function(){return Gh},geoModifiedStereographicLee:function(){return $f},geoModifiedStereographicMiller:function(){return Wh},geoModifiedStereographicRaw:function(){return Pu},geoMollweide:function(){return Ge},geoMollweideRaw:function(){return Ce},geoMtFlatPolarParabolic:function(){return jh},geoMtFlatPolarParabolicRaw:function(){return uf},geoMtFlatPolarQuartic:function(){return Hc},geoMtFlatPolarQuarticRaw:function(){return qs},geoMtFlatPolarSinusoidal:function(){return Yh},geoMtFlatPolarSinusoidalRaw:function(){return Jf},geoNaturalEarth:function(){return ls.Z},geoNaturalEarth2:function(){return Ru},geoNaturalEarth2Raw:function(){return kl},geoNaturalEarthRaw:function(){return ls.K},geoNellHammer:function(){return Bs},geoNellHammerRaw:function(){return nu},geoNicolosi:function(){return cl},geoNicolosiRaw:function(){return au},geoPatterson:function(){return Zh},geoPattersonRaw:function(){return cf},geoPeirceQuincuncial:function(){return Yc},geoPierceQuincuncial:function(){return Yc},geoPolyconic:function(){return Xh},geoPolyconicRaw:function(){return ec},geoPolyhedral:function(){return ki},geoPolyhedralButterfly:function(){return tl},geoPolyhedralCollignon:function(){return dl},geoPolyhedralWaterman:function(){return vl},geoProject:function(){return Jh},geoQuantize:function(){return Zc},geoQuincuncial:function(){return gf},geoRectangularPolyconic:function(){return pl},geoRectangularPolyconicRaw:function(){return oc},geoRobinson:function(){return sc},geoRobinsonRaw:function(){return Us},geoSatellite:function(){return yf},geoSatelliteRaw:function(){return zl},geoSinuMollweide:function(){return Yn},geoSinuMollweideRaw:function(){return On},geoSinusoidal:function(){return tt},geoSinusoidalRaw:function(){return Je},geoStitch:function(){return Ul},geoTimes:function(){return rs},geoTimesRaw:function(){return $o},geoTwoPointAzimuthal:function(){return wf},geoTwoPointAzimuthalRaw:function(){return $c},geoTwoPointAzimuthalUsa:function(){return hu},geoTwoPointEquidistant:function(){return cc},geoTwoPointEquidistantRaw:function(){return Jc},geoTwoPointEquidistantUsa:function(){return Ms},geoVanDerGrinten:function(){return Nu},geoVanDerGrinten2:function(){return td},geoVanDerGrinten2Raw:function(){return ol},geoVanDerGrinten3:function(){return Tf},geoVanDerGrinten3Raw:function(){return hc},geoVanDerGrinten4:function(){return Qc},geoVanDerGrinten4Raw:function(){return Fo},geoVanDerGrintenRaw:function(){return xl},geoWagner:function(){return Hu},geoWagner4:function(){return vc},geoWagner4Raw:function(){return dc},geoWagner6:function(){return Mf},geoWagner6Raw:function(){return Vl},geoWagner7:function(){return bl},geoWagnerRaw:function(){return Hs},geoWiechel:function(){return eh},geoWiechelRaw:function(){return Vu},geoWinkel3:function(){return th},geoWinkel3Raw:function(){return Gu}});var v=e(15002),E=Math.abs,a=Math.atan,C=Math.atan2,w=Math.cos,d=Math.exp,p=Math.floor,t=Math.log,r=Math.max,c=Math.min,o=Math.pow,n=Math.round,u=Math.sign||function(Ke){return Ke>0?1:Ke<0?-1:0},i=Math.sin,g=Math.tan,h=1e-6,x=1e-12,f=Math.PI,l=f/2,y=f/4,T=Math.SQRT1_2,S=D(2),L=D(f),m=f*2,M=180/f,b=f/180;function s(Ke){return Ke?Ke/Math.sin(Ke):1}function _(Ke){return Ke>1?l:Ke<-1?-l:Math.asin(Ke)}function A(Ke){return Ke>1?0:Ke<-1?f:Math.acos(Ke)}function D(Ke){return Ke>0?Math.sqrt(Ke):0}function F(Ke){return Ke=d(2*Ke),(Ke-1)/(Ke+1)}function G(Ke){return(d(Ke)-d(-Ke))/2}function O(Ke){return(d(Ke)+d(-Ke))/2}function H(Ke){return t(Ke+D(Ke*Ke+1))}function z(Ke){return t(Ke+D(Ke*Ke-1))}function k(Ke){var at=g(Ke/2),pt=2*t(w(Ke/2))/(at*at);function mt(Dt,_t){var zt=w(Dt),fr=w(_t),gr=i(_t),nr=fr*zt,Mr=-((1-nr?t((1+nr)/2)/(1-nr):-.5)+pt/(1+nr));return[Mr*fr*i(Dt),Mr*gr]}return mt.invert=function(Dt,_t){var zt=D(Dt*Dt+_t*_t),fr=-Ke/2,gr=50,nr;if(!zt)return[0,0];do{var Mr=fr/2,Pr=w(Mr),jr=i(Mr),Jr=jr/Pr,bn=-t(E(Pr));fr-=nr=(2/Jr*bn-pt*Jr-zt)/(-bn/(jr*jr)+1-pt/(2*Pr*Pr))*(Pr<0?.7:1)}while(E(nr)>h&&--gr>0);var Tn=i(fr);return[C(Dt*Tn,zt*w(fr)),_(_t*Tn/zt)]},mt}function V(){var Ke=l,at=(0,v.r)(k),pt=at(Ke);return pt.radius=function(mt){return arguments.length?at(Ke=mt*b):Ke*M},pt.scale(179.976).clipAngle(147)}function Z(Ke,at){var pt=w(at),mt=s(A(pt*w(Ke/=2)));return[2*pt*i(Ke)*mt,i(at)*mt]}Z.invert=function(Ke,at){if(!(Ke*Ke+4*at*at>f*f+h)){var pt=Ke,mt=at,Dt=25;do{var _t=i(pt),zt=i(pt/2),fr=w(pt/2),gr=i(mt),nr=w(mt),Mr=i(2*mt),Pr=gr*gr,jr=nr*nr,Jr=zt*zt,bn=1-jr*fr*fr,Tn=bn?A(nr*fr)*D(In=1/bn):In=0,In,ya=2*Tn*nr*zt-Ke,Da=Tn*gr-at,Ba=In*(jr*Jr+Tn*nr*fr*Pr),Na=In*(.5*_t*Mr-Tn*2*gr*zt),Ha=In*.25*(Mr*zt-Tn*gr*jr*_t),wi=In*(Pr*fr+Tn*Jr*nr),Qi=Na*Ha-wi*Ba;if(!Qi)break;var Fi=(Da*Na-ya*wi)/Qi,ce=(ya*Ha-Da*Ba)/Qi;pt-=Fi,mt-=ce}while((E(Fi)>h||E(ce)>h)&&--Dt>0);return[pt,mt]}};function ee(){return(0,v.Z)(Z).scale(152.63)}function Q(Ke){var at=i(Ke),pt=w(Ke),mt=Ke>=0?1:-1,Dt=g(mt*Ke),_t=(1+at-pt)/2;function zt(fr,gr){var nr=w(gr),Mr=w(fr/=2);return[(1+nr)*i(fr),(mt*gr>-C(Mr,Dt)-.001?0:-mt*10)+_t+i(gr)*pt-(1+nr)*at*Mr]}return zt.invert=function(fr,gr){var nr=0,Mr=0,Pr=50;do{var jr=w(nr),Jr=i(nr),bn=w(Mr),Tn=i(Mr),In=1+bn,ya=In*Jr-fr,Da=_t+Tn*pt-In*at*jr-gr,Ba=In*jr/2,Na=-Jr*Tn,Ha=at*In*Jr/2,wi=pt*bn+at*jr*Tn,Qi=Na*Ha-wi*Ba,Fi=(Da*Na-ya*wi)/Qi/2,ce=(ya*Ha-Da*Ba)/Qi;E(ce)>2&&(ce/=2),nr-=Fi,Mr-=ce}while((E(Fi)>h||E(ce)>h)&&--Pr>0);return mt*Mr>-C(w(nr),Dt)-.001?[nr*2,Mr]:null},zt}function ne(){var Ke=20*b,at=Ke>=0?1:-1,pt=g(at*Ke),mt=(0,v.r)(Q),Dt=mt(Ke),_t=Dt.stream;return Dt.parallel=function(zt){return arguments.length?(pt=g((at=(Ke=zt*b)>=0?1:-1)*Ke),mt(Ke)):Ke*M},Dt.stream=function(zt){var fr=Dt.rotate(),gr=_t(zt),nr=(Dt.rotate([0,0]),_t(zt)),Mr=Dt.precision();return Dt.rotate(fr),gr.sphere=function(){nr.polygonStart(),nr.lineStart();for(var Pr=at*-180;at*Pr<180;Pr+=at*90)nr.point(Pr,at*90);if(Ke)for(;at*(Pr-=3*at*Mr)>=-180;)nr.point(Pr,at*-C(w(Pr*b/2),pt)*M);nr.lineEnd(),nr.polygonEnd()},gr},Dt.scale(218.695).center([0,28.0974])}function fe(Ke,at){var pt=g(at/2),mt=D(1-pt*pt),Dt=1+mt*w(Ke/=2),_t=i(Ke)*mt/Dt,zt=pt/Dt,fr=_t*_t,gr=zt*zt;return[1.3333333333333333*_t*(3+fr-3*gr),1.3333333333333333*zt*(3+3*fr-gr)]}fe.invert=function(Ke,at){if(Ke*=.375,at*=.375,!Ke&&E(at)>1)return null;var pt=Ke*Ke,mt=at*at,Dt=1+pt+mt,_t=D((Dt-D(Dt*Dt-4*at*at))/2),zt=_(_t)/3,fr=_t?z(E(at/_t))/3:H(E(Ke))/3,gr=w(zt),nr=O(fr),Mr=nr*nr-gr*gr;return[u(Ke)*2*C(G(fr)*gr,.25-Mr),u(at)*2*C(nr*i(zt),.25+Mr)]};function $(){return(0,v.Z)(fe).scale(66.1603)}var Y=D(8),j=t(1+S);function X(Ke,at){var pt=E(at);return ptx&&--mt>0);return[Ke/(w(pt)*(Y-1/i(pt))),u(at)*pt]};function re(){return(0,v.Z)(X).scale(112.314)}var le=e(17889);function q(Ke){var at=2*f/Ke;function pt(mt,Dt){var _t=(0,le.N)(mt,Dt);if(E(mt)>l){var zt=C(_t[1],_t[0]),fr=D(_t[0]*_t[0]+_t[1]*_t[1]),gr=at*n((zt-l)/at)+l,nr=C(i(zt-=gr),2-w(zt));zt=gr+_(f/fr*i(nr))-nr,_t[0]=fr*w(zt),_t[1]=fr*i(zt)}return _t}return pt.invert=function(mt,Dt){var _t=D(mt*mt+Dt*Dt);if(_t>l){var zt=C(Dt,mt),fr=at*n((zt-l)/at)+l,gr=zt>fr?-1:1,nr=_t*w(fr-zt),Mr=1/g(gr*A((nr-f)/D(f*(f-2*nr)+_t*_t)));zt=fr+2*a((Mr+gr*D(Mr*Mr-3))/3),mt=_t*w(zt),Dt=_t*i(zt)}return le.N.invert(mt,Dt)},pt}function te(){var Ke=5,at=(0,v.r)(q),pt=at(Ke),mt=pt.stream,Dt=.01,_t=-w(Dt*b),zt=i(Dt*b);return pt.lobes=function(fr){return arguments.length?at(Ke=+fr):Ke},pt.stream=function(fr){var gr=pt.rotate(),nr=mt(fr),Mr=(pt.rotate([0,0]),mt(fr));return pt.rotate(gr),nr.sphere=function(){Mr.polygonStart(),Mr.lineStart();for(var Pr=0,jr=360/Ke,Jr=2*f/Ke,bn=90-180/Ke,Tn=l;Pr0&&E(Dt)>h);return mt<0?NaN:pt}function Ae(Ke,at,pt){return at===void 0&&(at=40),pt===void 0&&(pt=x),function(mt,Dt,_t,zt){var fr,gr,nr;_t=_t===void 0?0:+_t,zt=zt===void 0?0:+zt;for(var Mr=0;Mrfr){_t-=gr/=2,zt-=nr/=2;continue}fr=bn;var Tn=(_t>0?-1:1)*pt,In=(zt>0?-1:1)*pt,ya=Ke(_t+Tn,zt),Da=Ke(_t,zt+In),Ba=(ya[0]-Pr[0])/Tn,Na=(ya[1]-Pr[1])/Tn,Ha=(Da[0]-Pr[0])/In,wi=(Da[1]-Pr[1])/In,Qi=wi*Ba-Na*Ha,Fi=(E(Qi)<.5?.5:1)/Qi;if(gr=(Jr*Ha-jr*wi)*Fi,nr=(jr*Na-Jr*Ba)*Fi,_t+=gr,zt+=nr,E(gr)0&&(fr[1]*=1+gr/1.5*fr[0]*fr[0]),fr}return mt.invert=Ae(mt),mt}function Oe(){return(0,v.Z)(Be()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function Ee(Ke,at){var pt=Ke*i(at),mt=30,Dt;do at-=Dt=(at+i(at)-pt)/(1+w(at));while(E(Dt)>h&&--mt>0);return at/2}function we(Ke,at,pt){function mt(Dt,_t){return[Ke*Dt*w(_t=Ee(pt,_t)),at*i(_t)]}return mt.invert=function(Dt,_t){return _t=_(_t/at),[Dt/(Ke*w(_t)),_((2*_t+i(2*_t))/pt)]},mt}var Ce=we(S/l,S,f);function Ge(){return(0,v.Z)(Ce).scale(169.529)}var He=2.00276,De=1.11072;function Fe(Ke,at){var pt=Ee(f,at);return[He*Ke/(1/w(at)+De/w(pt)),(at+S*i(pt))/He]}Fe.invert=function(Ke,at){var pt=He*at,mt=at<0?-y:y,Dt=25,_t,zt;do zt=pt-S*i(mt),mt-=_t=(i(2*mt)+2*mt-f*i(zt))/(2*w(2*mt)+2+f*w(zt)*S*w(mt));while(E(_t)>h&&--Dt>0);return zt=pt-S*i(mt),[Ke*(1/w(zt)+De/w(mt))/He,zt]};function qe(){return(0,v.Z)(Fe).scale(160.857)}function Qe(Ke){var at=0,pt=(0,v.r)(Ke),mt=pt(at);return mt.parallel=function(Dt){return arguments.length?pt(at=Dt*b):at*M},mt}function Je(Ke,at){return[Ke*w(at),at]}Je.invert=function(Ke,at){return[Ke/w(at),at]};function tt(){return(0,v.Z)(Je).scale(152.63)}function ht(Ke){if(!Ke)return Je;var at=1/g(Ke);function pt(mt,Dt){var _t=at+Ke-Dt,zt=_t&&mt*w(Dt)/_t;return[_t*i(zt),at-_t*w(zt)]}return pt.invert=function(mt,Dt){var _t=D(mt*mt+(Dt=at-Dt)*Dt),zt=at+Ke-_t;return[_t/w(zt)*C(mt,Dt),zt]},pt}function gt(){return Qe(ht).scale(123.082).center([0,26.1441]).parallel(45)}function yt(Ke){function at(pt,mt){var Dt=l-mt,_t=Dt&&pt*Ke*i(Dt)/Dt;return[Dt*i(_t)/Ke,l-Dt*w(_t)]}return at.invert=function(pt,mt){var Dt=pt*Ke,_t=l-mt,zt=D(Dt*Dt+_t*_t),fr=C(Dt,_t);return[(zt?zt/i(zt):1)*fr/Ke,l-zt]},at}function Et(){var Ke=.5,at=(0,v.r)(yt),pt=at(Ke);return pt.fraction=function(mt){return arguments.length?at(Ke=+mt):Ke},pt.scale(158.837)}var Xe=we(1,4/f,f);function Ue(){return(0,v.Z)(Xe).scale(152.63)}var ze=e(66624),rt=e(49386);function it(Ke,at,pt,mt,Dt,_t){var zt=w(_t),fr;if(E(Ke)>1||E(_t)>1)fr=A(pt*Dt+at*mt*zt);else{var gr=i(Ke/2),nr=i(_t/2);fr=2*_(D(gr*gr+at*mt*nr*nr))}return E(fr)>h?[fr,C(mt*i(_t),at*Dt-pt*mt*zt)]:[0,0]}function Ze(Ke,at,pt){return A((Ke*Ke+at*at-pt*pt)/(2*Ke*at))}function Ie(Ke){return Ke-2*f*p((Ke+f)/(2*f))}function Te(Ke,at,pt){for(var mt=[[Ke[0],Ke[1],i(Ke[1]),w(Ke[1])],[at[0],at[1],i(at[1]),w(at[1])],[pt[0],pt[1],i(pt[1]),w(pt[1])]],Dt=mt[2],_t,zt=0;zt<3;++zt,Dt=_t)_t=mt[zt],Dt.v=it(_t[1]-Dt[1],Dt[3],Dt[2],_t[3],_t[2],_t[0]-Dt[0]),Dt.point=[0,0];var fr=Ze(mt[0].v[0],mt[2].v[0],mt[1].v[0]),gr=Ze(mt[0].v[0],mt[1].v[0],mt[2].v[0]),nr=f-fr;mt[2].point[1]=0,mt[0].point[0]=-(mt[1].point[0]=mt[0].v[0]/2);var Mr=[mt[2].point[0]=mt[0].point[0]+mt[2].v[0]*w(fr),2*(mt[0].point[1]=mt[1].point[1]=mt[2].v[0]*i(fr))];function Pr(jr,Jr){var bn=i(Jr),Tn=w(Jr),In=new Array(3),ya;for(ya=0;ya<3;++ya){var Da=mt[ya];if(In[ya]=it(Jr-Da[1],Da[3],Da[2],Tn,bn,jr-Da[0]),!In[ya][0])return Da.point;In[ya][1]=Ie(In[ya][1]-Da.v[1])}var Ba=Mr.slice();for(ya=0;ya<3;++ya){var Na=ya==2?0:ya+1,Ha=Ze(mt[ya].v[0],In[ya][0],In[Na][0]);In[ya][1]<0&&(Ha=-Ha),ya?ya==1?(Ha=gr-Ha,Ba[0]-=In[ya][0]*w(Ha),Ba[1]-=In[ya][0]*i(Ha)):(Ha=nr-Ha,Ba[0]+=In[ya][0]*w(Ha),Ba[1]+=In[ya][0]*i(Ha)):(Ba[0]+=In[ya][0]*w(Ha),Ba[1]-=In[ya][0]*i(Ha))}return Ba[0]/=3,Ba[1]/=3,Ba}return Pr}function he(Ke){return Ke[0]*=b,Ke[1]*=b,Ke}function me(){return Re([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Re(Ke,at,pt){var mt=(0,ze.Z)({type:"MultiPoint",coordinates:[Ke,at,pt]}),Dt=[-mt[0],-mt[1]],_t=(0,rt.Z)(Dt),zt=Te(he(_t(Ke)),he(_t(at)),he(_t(pt)));zt.invert=Ae(zt);var fr=(0,v.Z)(zt).rotate(Dt),gr=fr.center;return delete fr.rotate,fr.center=function(nr){return arguments.length?gr(_t(nr)):_t.invert(gr())},fr.clipAngle(90)}function Ne(Ke,at){var pt=D(1-i(at));return[2/L*Ke*pt,L*(1-pt)]}Ne.invert=function(Ke,at){var pt=(pt=at/L-1)*pt;return[pt>0?Ke*D(f/pt)/2:0,_(1-pt)]};function st(){return(0,v.Z)(Ne).scale(95.6464).center([0,30])}function ft(Ke){var at=g(Ke);function pt(mt,Dt){return[mt,(mt?mt/i(mt):1)*(i(Dt)*w(mt)-at*w(Dt))]}return pt.invert=at?function(mt,Dt){mt&&(Dt*=i(mt)/mt);var _t=w(mt);return[mt,2*C(D(_t*_t+at*at-Dt*Dt)-_t,at-Dt)]}:function(mt,Dt){return[mt,_(mt?Dt*g(mt)/mt:Dt)]},pt}function At(){return Qe(ft).scale(249.828).clipAngle(90)}var Ft=D(3);function Ht(Ke,at){return[Ft*Ke*(2*w(2*at/3)-1)/L,Ft*L*i(at/3)]}Ht.invert=function(Ke,at){var pt=3*_(at/(Ft*L));return[L*Ke/(Ft*(2*w(2*pt/3)-1)),pt]};function Gt(){return(0,v.Z)(Ht).scale(156.19)}function Rt(Ke){var at=w(Ke);function pt(mt,Dt){return[mt*at,i(Dt)/at]}return pt.invert=function(mt,Dt){return[mt/at,_(Dt*at)]},pt}function qt(){return Qe(Rt).parallel(38.58).scale(195.044)}function sr(Ke){var at=w(Ke);function pt(mt,Dt){return[mt*at,(1+at)*g(Dt/2)]}return pt.invert=function(mt,Dt){return[mt/at,a(Dt/(1+at))*2]},pt}function kr(){return Qe(sr).scale(124.75)}function xt(Ke,at){var pt=D(8/(3*f));return[pt*Ke*(1-E(at)/f),pt*at]}xt.invert=function(Ke,at){var pt=D(8/(3*f)),mt=at/pt;return[Ke/(pt*(1-E(mt)/f)),mt]};function Xt(){return(0,v.Z)(xt).scale(165.664)}function jt(Ke,at){var pt=D(4-3*i(E(at)));return[2/D(6*f)*Ke*pt,u(at)*D(2*f/3)*(2-pt)]}jt.invert=function(Ke,at){var pt=2-E(at)/D(2*f/3);return[Ke*D(6*f)/(2*pt),u(at)*_((4-pt*pt)/3)]};function wr(){return(0,v.Z)(jt).scale(165.664)}function hr(Ke,at){var pt=D(f*(4+f));return[2/pt*Ke*(1+D(1-4*at*at/(f*f))),4/pt*at]}hr.invert=function(Ke,at){var pt=D(f*(4+f))/2;return[Ke*pt/(1+D(1-at*at*(4+f)/(4*f))),at*pt/2]};function ct(){return(0,v.Z)(hr).scale(180.739)}function ut(Ke,at){var pt=(2+l)*i(at);at/=2;for(var mt=0,Dt=1/0;mt<10&&E(Dt)>h;mt++){var _t=w(at);at-=Dt=(at+i(at)*(_t+2)-pt)/(2*_t*(1+_t))}return[2/D(f*(4+f))*Ke*(1+w(at)),2*D(f/(4+f))*i(at)]}ut.invert=function(Ke,at){var pt=at*D((4+f)/f)/2,mt=_(pt),Dt=w(mt);return[Ke/(2/D(f*(4+f))*(1+Dt)),_((mt+pt*(Dt+2))/(2+l))]};function wt(){return(0,v.Z)(ut).scale(180.739)}function Mt(Ke,at){return[Ke*(1+w(at))/D(2+f),2*at/D(2+f)]}Mt.invert=function(Ke,at){var pt=D(2+f),mt=at*pt/2;return[pt*Ke/(1+w(mt)),mt]};function Lt(){return(0,v.Z)(Mt).scale(173.044)}function St(Ke,at){for(var pt=(1+l)*i(at),mt=0,Dt=1/0;mt<10&&E(Dt)>h;mt++)at-=Dt=(at+i(at)-pt)/(1+w(at));return pt=D(2+f),[Ke*(1+w(at))/pt,2*at/pt]}St.invert=function(Ke,at){var pt=1+l,mt=D(pt/2);return[Ke*2*mt/(1+w(at*=mt)),_((at+i(at))/pt)]};function Ot(){return(0,v.Z)(St).scale(173.044)}var Vt=3+2*S;function Jt(Ke,at){var pt=i(Ke/=2),mt=w(Ke),Dt=D(w(at)),_t=w(at/=2),zt=i(at)/(_t+S*mt*Dt),fr=D(2/(1+zt*zt)),gr=D((S*_t+(mt+pt)*Dt)/(S*_t+(mt-pt)*Dt));return[Vt*(fr*(gr-1/gr)-2*t(gr)),Vt*(fr*zt*(gr+1/gr)-2*a(zt))]}Jt.invert=function(Ke,at){if(!(_t=fe.invert(Ke/1.2,at*1.065)))return null;var pt=_t[0],mt=_t[1],Dt=20,_t;Ke/=Vt,at/=Vt;do{var zt=pt/2,fr=mt/2,gr=i(zt),nr=w(zt),Mr=i(fr),Pr=w(fr),jr=w(mt),Jr=D(jr),bn=Mr/(Pr+S*nr*Jr),Tn=bn*bn,In=D(2/(1+Tn)),ya=S*Pr+(nr+gr)*Jr,Da=S*Pr+(nr-gr)*Jr,Ba=ya/Da,Na=D(Ba),Ha=Na-1/Na,wi=Na+1/Na,Qi=In*Ha-2*t(Na)-Ke,Fi=In*bn*wi-2*a(bn)-at,ce=Mr&&T*Jr*gr*Tn/Mr,Le=(S*nr*Pr+Jr)/(2*(Pr+S*nr*Jr)*(Pr+S*nr*Jr)*Jr),Ve=-.5*bn*In*In*In,et=Ve*ce,nt=Ve*Le,ot=(ot=2*Pr+S*Jr*(nr-gr))*ot*Na,Pt=(S*nr*Pr*Jr+jr)/ot,vt=-(S*gr*Mr)/(Jr*ot),Ut=Ha*et-2*Pt/Na+In*(Pt+Pt/Ba),er=Ha*nt-2*vt/Na+In*(vt+vt/Ba),tr=bn*wi*et-2*ce/(1+Tn)+In*wi*ce+In*bn*(Pt-Pt/Ba),_r=bn*wi*nt-2*Le/(1+Tn)+In*wi*Le+In*bn*(vt-vt/Ba),Er=er*tr-_r*Ut;if(!Er)break;var $r=(Fi*er-Qi*_r)/Er,tn=(Qi*tr-Fi*Ut)/Er;pt-=$r,mt=r(-l,c(l,mt-tn))}while((E($r)>h||E(tn)>h)&&--Dt>0);return E(E(mt)-l)mt){var Pr=D(Mr),jr=C(nr,gr),Jr=pt*n(jr/pt),bn=jr-Jr,Tn=Ke*w(bn),In=(Ke*i(bn)-bn*i(Tn))/(l-Tn),ya=pr(bn,In),Da=(f-Ke)/dr(ya,Tn,f);gr=Pr;var Ba=50,Na;do gr-=Na=(Ke+dr(ya,Tn,gr)*Da-Pr)/(ya(gr)*Da);while(E(Na)>h&&--Ba>0);nr=bn*i(gr),grmt){var gr=D(fr),nr=C(zt,_t),Mr=pt*n(nr/pt),Pr=nr-Mr;_t=gr*w(Pr),zt=gr*i(Pr);for(var jr=_t-l,Jr=i(_t),bn=zt/Jr,Tn=_th||E(bn)>h)&&--Tn>0);return[Pr,jr]},gr}var Or=zr(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function mn(){return(0,v.Z)(Or).scale(149.995)}var Kr=zr(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function kn(){return(0,v.Z)(Kr).scale(153.93)}var Dn=zr(5/6*f,-.62636,-.0344,0,1.3493,-.05524,0,.045);function xr(){return(0,v.Z)(Dn).scale(130.945)}function br(Ke,at){var pt=Ke*Ke,mt=at*at;return[Ke*(1-.162388*mt)*(.87-952426e-9*pt*pt),at*(1+mt/12)]}br.invert=function(Ke,at){var pt=Ke,mt=at,Dt=50,_t;do{var zt=mt*mt;mt-=_t=(mt*(1+zt/12)-at)/(1+zt/4)}while(E(_t)>h&&--Dt>0);Dt=50,Ke/=1-.162388*zt;do{var fr=(fr=pt*pt)*fr;pt-=_t=(pt*(.87-952426e-9*fr)-Ke)/(.87-.00476213*fr)}while(E(_t)>h&&--Dt>0);return[pt,mt]};function Br(){return(0,v.Z)(br).scale(131.747)}var Nr=zr(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function en(){return(0,v.Z)(Nr).scale(131.087)}function gn(Ke){var at=Ke(l,0)[0]-Ke(-l,0)[0];function pt(mt,Dt){var _t=mt>0?-.5:.5,zt=Ke(mt+_t*f,Dt);return zt[0]-=_t*at,zt}return Ke.invert&&(pt.invert=function(mt,Dt){var _t=mt>0?-.5:.5,zt=Ke.invert(mt+_t*at,Dt),fr=zt[0]-_t*f;return fr<-f?fr+=2*f:fr>f&&(fr-=2*f),zt[0]=fr,zt}),pt}function hn(Ke,at){var pt=u(Ke),mt=u(at),Dt=w(at),_t=w(Ke)*Dt,zt=i(Ke)*Dt,fr=i(mt*at);Ke=E(C(zt,fr)),at=_(_t),E(Ke-l)>h&&(Ke%=l);var gr=Mn(Ke>f/4?l-Ke:Ke,at);return Ke>f/4&&(fr=gr[0],gr[0]=-gr[1],gr[1]=-fr),gr[0]*=pt,gr[1]*=-mt,gr}hn.invert=function(Ke,at){E(Ke)>1&&(Ke=u(Ke)*2-Ke),E(at)>1&&(at=u(at)*2-at);var pt=u(Ke),mt=u(at),Dt=-pt*Ke,_t=-mt*at,zt=_t/Dt<1,fr=Rn(zt?_t:Dt,zt?Dt:_t),gr=fr[0],nr=fr[1],Mr=w(nr);return zt&&(gr=-l-gr),[pt*(C(i(gr)*Mr,-i(nr))+f),mt*_(w(gr)*Mr)]};function Mn(Ke,at){if(at===l)return[0,0];var pt=i(at),mt=pt*pt,Dt=mt*mt,_t=1+Dt,zt=1+3*Dt,fr=1-Dt,gr=_(1/D(_t)),nr=fr+mt*_t*gr,Mr=(1-pt)/nr,Pr=D(Mr),jr=Mr*_t,Jr=D(jr),bn=Pr*fr,Tn,In;if(Ke===0)return[0,-(bn+mt*Jr)];var ya=w(at),Da=1/ya,Ba=2*pt*ya,Na=(-3*mt+gr*zt)*Ba,Ha=(-nr*ya-(1-pt)*Na)/(nr*nr),wi=.5*Ha/Pr,Qi=fr*wi-2*mt*Pr*Ba,Fi=mt*_t*Ha+Mr*zt*Ba,ce=-Da*Ba,Le=-Da*Fi,Ve=-2*Da*Qi,et=4*Ke/f,nt;if(Ke>.222*f||at.175*f){if(Tn=(bn+mt*D(jr*(1+Dt)-bn*bn))/(1+Dt),Ke>f/4)return[Tn,Tn];var ot=Tn,Pt=.5*Tn;Tn=.5*(Pt+ot),In=50;do{var vt=D(jr-Tn*Tn),Ut=Tn*(Ve+ce*vt)+Le*_(Tn/Jr)-et;if(!Ut)break;Ut<0?Pt=Tn:ot=Tn,Tn=.5*(Pt+ot)}while(E(ot-Pt)>h&&--In>0)}else{Tn=h,In=25;do{var er=Tn*Tn,tr=D(jr-er),_r=Ve+ce*tr,Er=Tn*_r+Le*_(Tn/Jr)-et,$r=_r+(Le-ce*er)/tr;Tn-=nt=tr?Er/$r:0}while(E(nt)>h&&--In>0)}return[Tn,-bn-mt*D(jr-Tn*Tn)]}function Rn(Ke,at){for(var pt=0,mt=1,Dt=.5,_t=50;;){var zt=Dt*Dt,fr=D(Dt),gr=_(1/D(1+zt)),nr=1-zt+Dt*(1+zt)*gr,Mr=(1-fr)/nr,Pr=D(Mr),jr=Mr*(1+zt),Jr=Pr*(1-zt),bn=jr-Ke*Ke,Tn=D(bn),In=at+Jr+Dt*Tn;if(E(mt-pt)0?pt=Dt:mt=Dt,Dt=.5*(pt+mt)}if(!_t)return null;var ya=_(fr),Da=w(ya),Ba=1/Da,Na=2*fr*Da,Ha=(-3*Dt+gr*(1+3*zt))*Na,wi=(-nr*Da-(1-fr)*Ha)/(nr*nr),Qi=.5*wi/Pr,Fi=(1-zt)*Qi-2*Dt*Pr*Na,ce=-2*Ba*Fi,Le=-Ba*Na,Ve=-Ba*(Dt*(1+zt)*wi+Mr*(1+3*zt)*Na);return[f/4*(Ke*(ce+Le*Tn)+Ve*_(Ke/D(jr))),ya]}function Jn(){return(0,v.Z)(gn(hn)).scale(239.75)}function na(Ke,at,pt){var mt,Dt,_t;return Ke?(mt=ha(Ke,pt),at?(Dt=ha(at,1-pt),_t=Dt[1]*Dt[1]+pt*mt[0]*mt[0]*Dt[0]*Dt[0],[[mt[0]*Dt[2]/_t,mt[1]*mt[2]*Dt[0]*Dt[1]/_t],[mt[1]*Dt[1]/_t,-mt[0]*mt[2]*Dt[0]*Dt[2]/_t],[mt[2]*Dt[1]*Dt[2]/_t,-pt*mt[0]*mt[1]*Dt[0]/_t]]):[[mt[0],0],[mt[1],0],[mt[2],0]]):(Dt=ha(at,1-pt),[[0,Dt[0]/Dt[1]],[1/Dt[1],0],[Dt[2]/Dt[1],0]])}function ha(Ke,at){var pt,mt,Dt,_t,zt;if(at=1-h)return pt=(1-at)/4,mt=O(Ke),_t=F(Ke),Dt=1/mt,zt=mt*G(Ke),[_t+pt*(zt-Ke)/(mt*mt),Dt-pt*_t*Dt*(zt-Ke),Dt+pt*_t*Dt*(zt+Ke),2*a(d(Ke))-l+pt*(zt-Ke)/mt];var fr=[1,0,0,0,0,0,0,0,0],gr=[D(at),0,0,0,0,0,0,0,0],nr=0;for(mt=D(1-at),zt=1;E(gr[nr]/fr[nr])>h&&nr<8;)pt=fr[nr++],gr[nr]=(pt-mt)/2,fr[nr]=(pt+mt)/2,mt=D(pt*mt),zt*=2;Dt=zt*fr[nr]*Ke;do _t=gr[nr]*i(mt=Dt)/fr[nr],Dt=(_(_t)+Dt)/2;while(--nr);return[i(Dt),_t=w(Dt),_t/w(Dt-mt),Dt]}function ia(Ke,at,pt){var mt=E(Ke),Dt=E(at),_t=G(Dt);if(mt){var zt=1/i(mt),fr=1/(g(mt)*g(mt)),gr=-(fr+pt*(_t*_t*zt*zt)-1+pt),nr=(pt-1)*fr,Mr=(-gr+D(gr*gr-4*nr))/2;return[aa(a(1/D(Mr)),pt)*u(Ke),aa(a(D((Mr/fr-1)/pt)),1-pt)*u(at)]}return[0,aa(a(_t),1-pt)*u(at)]}function aa(Ke,at){if(!at)return Ke;if(at===1)return t(g(Ke/2+y));for(var pt=1,mt=D(1-at),Dt=D(at),_t=0;E(Dt)>h;_t++){if(Ke%f){var zt=a(mt*g(Ke)/pt);zt<0&&(zt+=f),Ke+=zt+~~(Ke/f)*f}else Ke+=Ke;Dt=(pt+mt)/2,mt=D(pt*mt),Dt=((pt=Dt)-mt)/2}return Ke/(o(2,_t)*pt)}function Sr(Ke,at){var pt=(S-1)/(S+1),mt=D(1-pt*pt),Dt=aa(l,mt*mt),_t=-1,zt=t(g(f/4+E(at)/2)),fr=d(_t*zt)/D(pt),gr=ln(fr*w(_t*Ke),fr*i(_t*Ke)),nr=ia(gr[0],gr[1],mt*mt);return[-nr[1],(at>=0?1:-1)*(.5*Dt-nr[0])]}function ln(Ke,at){var pt=Ke*Ke,mt=at+1,Dt=1-pt-at*at;return[.5*((Ke>=0?l:-l)-C(Dt,2*Ke)),-.25*t(Dt*Dt+4*pt)+.5*t(mt*mt+pt)]}function an(Ke,at){var pt=at[0]*at[0]+at[1]*at[1];return[(Ke[0]*at[0]+Ke[1]*at[1])/pt,(Ke[1]*at[0]-Ke[0]*at[1])/pt]}Sr.invert=function(Ke,at){var pt=(S-1)/(S+1),mt=D(1-pt*pt),Dt=aa(l,mt*mt),_t=-1,zt=na(.5*Dt-at,-Ke,mt*mt),fr=an(zt[0],zt[1]),gr=C(fr[1],fr[0])/_t;return[gr,2*a(d(.5/_t*t(pt*fr[0]*fr[0]+pt*fr[1]*fr[1])))-l]};function yn(){return(0,v.Z)(gn(Sr)).scale(151.496)}var Hn=e(7613);function Ln(Ke){var at=i(Ke),pt=w(Ke),mt=_n(Ke);mt.invert=_n(-Ke);function Dt(_t,zt){var fr=mt(_t,zt);_t=fr[0],zt=fr[1];var gr=i(zt),nr=w(zt),Mr=w(_t),Pr=A(at*gr+pt*nr*Mr),jr=i(Pr),Jr=E(jr)>h?Pr/jr:1;return[Jr*pt*i(_t),(E(_t)>l?Jr:-Jr)*(at*nr-pt*gr*Mr)]}return Dt.invert=function(_t,zt){var fr=D(_t*_t+zt*zt),gr=-i(fr),nr=w(fr),Mr=fr*nr,Pr=-zt*gr,jr=fr*at,Jr=D(Mr*Mr+Pr*Pr-jr*jr),bn=C(Mr*jr+Pr*Jr,Pr*jr-Mr*Jr),Tn=(fr>l?-1:1)*C(_t*gr,fr*w(bn)*nr+zt*i(bn)*gr);return mt.invert(Tn,bn)},Dt}function _n(Ke){var at=i(Ke),pt=w(Ke);return function(mt,Dt){var _t=w(Dt),zt=w(mt)*_t,fr=i(mt)*_t,gr=i(Dt);return[C(fr,zt*pt-gr*at),_(gr*pt+zt*at)]}}function Gn(){var Ke=0,at=(0,v.r)(Ln),pt=at(Ke),mt=pt.rotate,Dt=pt.stream,_t=(0,Hn.Z)();return pt.parallel=function(zt){if(!arguments.length)return Ke*M;var fr=pt.rotate();return at(Ke=zt*b).rotate(fr)},pt.rotate=function(zt){return arguments.length?(mt.call(pt,[zt[0],zt[1]-Ke*M]),_t.center([-zt[0],-zt[1]]),pt):(zt=mt.call(pt),zt[1]+=Ke*M,zt)},pt.stream=function(zt){return zt=Dt(zt),zt.sphere=function(){zt.polygonStart();var fr=.01,gr=_t.radius(90-fr)().coordinates[0],nr=gr.length-1,Mr=-1,Pr;for(zt.lineStart();++Mr=0;)zt.point((Pr=gr[Mr])[0],Pr[1]);zt.lineEnd(),zt.polygonEnd()},zt},pt.scale(79.4187).parallel(45).clipAngle(179.999)}var la=e(33064),Fa=e(72736),ii=3,Zt=_(1-1/ii)*M,Tr=Rt(0);function on(Ke){var at=Zt*b,pt=Ne(f,at)[0]-Ne(-f,at)[0],mt=Tr(0,at)[1],Dt=Ne(0,at)[1],_t=L-Dt,zt=m/Ke,fr=4/m,gr=mt+_t*_t*4/m;function nr(Mr,Pr){var jr,Jr=E(Pr);if(Jr>at){var bn=c(Ke-1,r(0,p((Mr+f)/zt)));Mr+=f*(Ke-1)/Ke-bn*zt,jr=Ne(Mr,Jr),jr[0]=jr[0]*m/pt-m*(Ke-1)/(2*Ke)+bn*m/Ke,jr[1]=mt+(jr[1]-Dt)*4*_t/m,Pr<0&&(jr[1]=-jr[1])}else jr=Tr(Mr,Pr);return jr[0]*=fr,jr[1]/=gr,jr}return nr.invert=function(Mr,Pr){Mr/=fr,Pr*=gr;var jr=E(Pr);if(jr>mt){var Jr=c(Ke-1,r(0,p((Mr+f)/zt)));Mr=(Mr+f*(Ke-1)/Ke-Jr*zt)*pt/m;var bn=Ne.invert(Mr,.25*(jr-mt)*m/_t+Dt);return bn[0]-=f*(Ke-1)/Ke-Jr*zt,Pr<0&&(bn[1]=-bn[1]),bn}return Tr.invert(Mr,Pr)},nr}function dn(Ke,at){return[Ke,at&1?90-h:Zt]}function vn(Ke,at){return[Ke,at&1?-90+h:-Zt]}function Pn(Ke){return[Ke[0]*(1-h),Ke[1]]}function An(Ke){var at=[].concat((0,la.w6)(-180,180+Ke/2,Ke).map(dn),(0,la.w6)(180,-180-Ke/2,-Ke).map(vn));return{type:"Polygon",coordinates:[Ke===180?at.map(Pn):at]}}function cn(){var Ke=4,at=(0,v.r)(on),pt=at(Ke),mt=pt.stream;return pt.lobes=function(Dt){return arguments.length?at(Ke=+Dt):Ke},pt.stream=function(Dt){var _t=pt.rotate(),zt=mt(Dt),fr=(pt.rotate([0,0]),mt(Dt));return pt.rotate(_t),zt.sphere=function(){(0,Fa.Z)(An(180/Ke),fr)},zt},pt.scale(239.75)}function Rr(Ke){var at=1+Ke,pt=i(1/at),mt=_(pt),Dt=2*D(f/(_t=f+4*mt*at)),_t,zt=.5*Dt*(at+D(Ke*(2+Ke))),fr=Ke*Ke,gr=at*at;function nr(Mr,Pr){var jr=1-i(Pr),Jr,bn;if(jr&&jr<2){var Tn=l-Pr,In=25,ya;do{var Da=i(Tn),Ba=w(Tn),Na=mt+C(Da,at-Ba),Ha=1+gr-2*at*Ba;Tn-=ya=(Tn-fr*mt-at*Da+Ha*Na-.5*jr*_t)/(2*at*Da*Na)}while(E(ya)>x&&--In>0);Jr=Dt*D(Ha),bn=Mr*Na/f}else Jr=Dt*(Ke+jr),bn=Mr*mt/f;return[Jr*i(bn),zt-Jr*w(bn)]}return nr.invert=function(Mr,Pr){var jr=Mr*Mr+(Pr-=zt)*Pr,Jr=(1+gr-jr/(Dt*Dt))/(2*at),bn=A(Jr),Tn=i(bn),In=mt+C(Tn,at-Jr);return[_(Mr/D(jr))*f/In,_(1-2*(bn-fr*mt-at*Tn+(1+gr-2*at*Jr)*In)/_t)]},nr}function Lr(){var Ke=1,at=(0,v.r)(Rr),pt=at(Ke);return pt.ratio=function(mt){return arguments.length?at(Ke=+mt):Ke},pt.scale(167.774).center([0,18.67])}var Fr=.7109889596207567,pn=.0528035274542;function On(Ke,at){return at>-Fr?(Ke=Ce(Ke,at),Ke[1]+=pn,Ke):Je(Ke,at)}On.invert=function(Ke,at){return at>-Fr?Ce.invert(Ke,at-pn):Je.invert(Ke,at)};function Yn(){return(0,v.Z)(On).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function xn(Ke,at){return E(at)>Fr?(Ke=Ce(Ke,at),Ke[1]-=at>0?pn:-pn,Ke):Je(Ke,at)}xn.invert=function(Ke,at){return E(at)>Fr?Ce.invert(Ke,at+(at>0?pn:-pn)):Je.invert(Ke,at)};function Bn(){return(0,v.Z)(xn).scale(152.63)}function ta(Ke,at,pt,mt){var Dt=D(4*f/(2*pt+(1+Ke-at/2)*i(2*pt)+(Ke+at)/2*i(4*pt)+at/2*i(6*pt))),_t=D(mt*i(pt)*D((1+Ke*w(2*pt)+at*w(4*pt))/(1+Ke+at))),zt=pt*gr(1);function fr(Pr){return D(1+Ke*w(2*Pr)+at*w(4*Pr))}function gr(Pr){var jr=Pr*pt;return(2*jr+(1+Ke-at/2)*i(2*jr)+(Ke+at)/2*i(4*jr)+at/2*i(6*jr))/pt}function nr(Pr){return fr(Pr)*i(Pr)}var Mr=function(Pr,jr){var Jr=pt*Se(gr,zt*i(jr)/pt,jr/f);isNaN(Jr)&&(Jr=pt*u(jr));var bn=Dt*fr(Jr);return[bn*_t*Pr/f*w(Jr),bn/_t*i(Jr)]};return Mr.invert=function(Pr,jr){var Jr=Se(nr,jr*_t/Dt);return[Pr*f/(w(Jr)*Dt*_t*fr(Jr)),_(pt*gr(Jr/pt)/zt)]},pt===0&&(Dt=D(mt/f),Mr=function(Pr,jr){return[Pr*Dt,i(jr)/Dt]},Mr.invert=function(Pr,jr){return[Pr/Dt,_(jr*Dt)]}),Mr}function da(){var Ke=1,at=0,pt=45*b,mt=2,Dt=(0,v.r)(ta),_t=Dt(Ke,at,pt,mt);return _t.a=function(zt){return arguments.length?Dt(Ke=+zt,at,pt,mt):Ke},_t.b=function(zt){return arguments.length?Dt(Ke,at=+zt,pt,mt):at},_t.psiMax=function(zt){return arguments.length?Dt(Ke,at,pt=+zt*b,mt):pt*M},_t.ratio=function(zt){return arguments.length?Dt(Ke,at,pt,mt=+zt):mt},_t.scale(180.739)}function fa(Ke,at,pt,mt,Dt,_t,zt,fr,gr,nr,Mr){if(Mr.nanEncountered)return NaN;var Pr,jr,Jr,bn,Tn,In,ya,Da,Ba,Na;if(Pr=pt-at,jr=Ke(at+Pr*.25),Jr=Ke(pt-Pr*.25),isNaN(jr)){Mr.nanEncountered=!0;return}if(isNaN(Jr)){Mr.nanEncountered=!0;return}return bn=Pr*(mt+4*jr+Dt)/12,Tn=Pr*(Dt+4*Jr+_t)/12,In=bn+Tn,Na=(In-zt)/15,nr>gr?(Mr.maxDepthCount++,In+Na):Math.abs(Na)>1;do gr[In]>Jr?Tn=In:bn=In,In=bn+Tn>>1;while(In>bn);var ya=gr[In+1]-gr[In];return ya&&(ya=(Jr-gr[In+1])/ya),(In+1+ya)/zt}var Pr=2*Mr(1)/f*_t/pt,jr=function(Jr,bn){var Tn=Mr(E(i(bn))),In=mt(Tn)*Jr;return Tn/=Pr,[In,bn>=0?Tn:-Tn]};return jr.invert=function(Jr,bn){var Tn;return bn*=Pr,E(bn)<1&&(Tn=u(bn)*_(Dt(E(bn))*_t)),[Jr/mt(E(bn)),Tn]},jr}function bo(){var Ke=0,at=2.5,pt=1.183136,mt=(0,v.r)(ma),Dt=mt(Ke,at,pt);return Dt.alpha=function(_t){return arguments.length?mt(Ke=+_t,at,pt):Ke},Dt.k=function(_t){return arguments.length?mt(Ke,at=+_t,pt):at},Dt.gamma=function(_t){return arguments.length?mt(Ke,at,pt=+_t):pt},Dt.scale(152.63)}function Do(Ke,at){return E(Ke[0]-at[0])=0;--gr)pt=Ke[1][gr],mt=pt[0][0],Dt=pt[0][1],_t=pt[1][1],zt=pt[2][0],fr=pt[2][1],at.push(No([[zt-h,fr-h],[zt-h,_t+h],[mt+h,_t+h],[mt+h,Dt-h]],30));return{type:"Polygon",coordinates:[(0,la.TS)(at)]}}function Uo(Ke,at,pt){var mt,Dt;function _t(gr,nr){for(var Mr=nr<0?-1:1,Pr=at[+(nr<0)],jr=0,Jr=Pr.length-1;jrPr[jr][2][0];++jr);var bn=Ke(gr-Pr[jr][1][0],nr);return bn[0]+=Ke(Pr[jr][1][0],Mr*nr>Mr*Pr[jr][0][1]?Pr[jr][0][1]:nr)[0],bn}pt?_t.invert=pt(_t):Ke.invert&&(_t.invert=function(gr,nr){for(var Mr=Dt[+(nr<0)],Pr=at[+(nr<0)],jr=0,Jr=Mr.length;jrbn&&(Tn=Jr,Jr=bn,bn=Tn),[[Pr,Jr],[jr,bn]]})}),zt):at.map(function(nr){return nr.map(function(Mr){return[[Mr[0][0]*M,Mr[0][1]*M],[Mr[1][0]*M,Mr[1][1]*M],[Mr[2][0]*M,Mr[2][1]*M]]})})},at!=null&&zt.lobes(at),zt}var jf=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gi(){return Uo(Fe,jf).scale(160.857)}var Cu=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function tu(){return Uo(xn,Cu).scale(152.63)}var wo=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Zo(){return Uo(Ce,wo).scale(169.529)}var Bc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function Lu(){return Uo(Ce,Bc).scale(169.529).rotate([20,0])}var Ji=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _u(){return Uo(On,Ji,Ae).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var es=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function ho(){return Uo(Je,es).scale(152.63).rotate([-20,0])}function ts(Ke,at){return[3/m*Ke*D(f*f/3-at*at),at]}ts.invert=function(Ke,at){return[m/3*Ke/D(f*f/3-at*at),at]};function ko(){return(0,v.Z)(ts).scale(158.837)}function ss(Ke){function at(pt,mt){if(E(E(mt)-l)2)return null;pt/=2,mt/=2;var _t=pt*pt,zt=mt*mt,fr=2*mt/(1+_t+zt);return fr=o((1+fr)/(1-fr),1/Ke),[C(2*pt,1-_t-zt)/Ke,_((fr-1)/(fr+1))]},at}function Fs(){var Ke=.5,at=(0,v.r)(ss),pt=at(Ke);return pt.spacing=function(mt){return arguments.length?at(Ke=+mt):Ke},pt.scale(124.75)}var Js=f/S;function Mo(Ke,at){return[Ke*(1+D(w(at)))/2,at/(w(at/2)*w(Ke/6))]}Mo.invert=function(Ke,at){var pt=E(Ke),mt=E(at),Dt=h,_t=l;mth||E(In)>h)&&--Dt>0);return Dt&&[pt,mt]};function So(){return(0,v.Z)(Os).scale(139.98)}function Yf(Ke,at){return[i(Ke)/w(at),g(at)*w(Ke)]}Yf.invert=function(Ke,at){var pt=Ke*Ke,mt=at*at,Dt=mt+1,_t=pt+Dt,zt=Ke?T*D((_t-D(_t*_t-4*pt))/pt):1/D(Dt);return[_(Ke*zt),u(at)*A(zt)]};function Qs(){return(0,v.Z)(Yf).scale(144.049).clipAngle(89.999)}function zs(Ke){var at=w(Ke),pt=g(y+Ke/2);function mt(Dt,_t){var zt=_t-Ke,fr=E(zt)=0;)Mr=Ke[nr],Pr=Mr[0]+fr*(Jr=Pr)-gr*jr,jr=Mr[1]+fr*jr+gr*Jr;return Pr=fr*(Jr=Pr)-gr*jr,jr=fr*jr+gr*Jr,[Pr,jr]}return pt.invert=function(mt,Dt){var _t=20,zt=mt,fr=Dt;do{for(var gr=at,nr=Ke[gr],Mr=nr[0],Pr=nr[1],jr=0,Jr=0,bn;--gr>=0;)nr=Ke[gr],jr=Mr+zt*(bn=jr)-fr*Jr,Jr=Pr+zt*Jr+fr*bn,Mr=nr[0]+zt*(bn=Mr)-fr*Pr,Pr=nr[1]+zt*Pr+fr*bn;jr=Mr+zt*(bn=jr)-fr*Jr,Jr=Pr+zt*Jr+fr*bn,Mr=zt*(bn=Mr)-fr*Pr-mt,Pr=zt*Pr+fr*bn-Dt;var Tn=jr*jr+Jr*Jr,In,ya;zt-=In=(Mr*jr+Pr*Jr)/Tn,fr-=ya=(Pr*jr-Mr*Jr)/Tn}while(E(In)+E(ya)>h*h&&--_t>0);if(_t){var Da=D(zt*zt+fr*fr),Ba=2*a(Da*.5),Na=i(Ba);return[C(zt*Na,Da*w(Ba)),Da?_(fr*Na/Da):0]}},pt}var Bh=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Nh=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Uh=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Kf=[[.9245,0],[0,0],[.01943,0]],Hh=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Vh(){return Il(Bh,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Uc(){return Il(Nh,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Gh(){return Il(Uh,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wh(){return Il(Kf,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function $f(){return Il(Hh,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Il(Ke,at){var pt=(0,v.Z)(Pu(Ke)).rotate(at).clipAngle(90),mt=(0,rt.Z)(at),Dt=pt.center;return delete pt.rotate,pt.center=function(_t){return arguments.length?Dt(mt(_t)):mt.invert(Dt())},pt}var Dl=D(6),ru=D(7);function uf(Ke,at){var pt=_(7*i(at)/(3*Dl));return[Dl*Ke*(2*w(2*pt/3)-1)/ru,9*i(pt/3)/ru]}uf.invert=function(Ke,at){var pt=3*_(at*ru/9);return[Ke*ru/(Dl*(2*w(2*pt/3)-1)),_(i(pt)*3*Dl/7)]};function jh(){return(0,v.Z)(uf).scale(164.859)}function qs(Ke,at){for(var pt=(1+T)*i(at),mt=at,Dt=0,_t;Dt<25&&(mt-=_t=(i(mt/2)+i(mt)-pt)/(.5*w(mt/2)+w(mt)),!(E(_t)x&&--mt>0);return _t=pt*pt,zt=_t*_t,fr=_t*zt,[Ke/(.84719-.13063*_t+fr*fr*(-.04515+.05494*_t-.02326*zt+.00331*fr)),pt]};function Ru(){return(0,v.Z)(kl).scale(175.295)}function nu(Ke,at){return[Ke*(1+w(at))/2,2*(at-g(at/2))]}nu.invert=function(Ke,at){for(var pt=at/2,mt=0,Dt=1/0;mt<10&&E(Dt)>h;++mt){var _t=w(at/2);at-=Dt=(at-g(at/2)-pt)/(1-.5/(_t*_t))}return[2*Ke/(1+w(at)),at]};function Bs(){return(0,v.Z)(nu).scale(152.63)}var el=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function Qf(){return Uo(ae(1/0),el).rotate([20,0]).scale(152.63)}function au(Ke,at){var pt=i(at),mt=w(at),Dt=u(Ke);if(Ke===0||E(at)===l)return[0,at];if(at===0)return[Ke,0];if(E(Ke)===l)return[Ke*mt,l*pt];var _t=f/(2*Ke)-2*Ke/f,zt=2*at/f,fr=(1-zt*zt)/(pt-zt),gr=_t*_t,nr=fr*fr,Mr=1+gr/nr,Pr=1+nr/gr,jr=(_t*pt/fr-_t/2)/Mr,Jr=(nr*pt/gr+fr/2)/Pr,bn=jr*jr+mt*mt/Mr,Tn=Jr*Jr-(nr*pt*pt/gr+fr*pt-1)/Pr;return[l*(jr+D(bn)*Dt),l*(Jr+D(Tn<0?0:Tn)*u(-at*_t)*Dt)]}au.invert=function(Ke,at){Ke/=l,at/=l;var pt=Ke*Ke,mt=at*at,Dt=pt+mt,_t=f*f;return[Ke?(Dt-1+D((1-Dt)*(1-Dt)+4*pt))/(2*Ke)*l:0,Se(function(zt){return Dt*(f*i(zt)-2*zt)*f+4*zt*zt*(at-i(zt))+2*f*zt-_t*at},0)]};function cl(){return(0,v.Z)(au).scale(127.267)}var ro=1.0148,qf=.23185,ff=-.14499,iu=.02406,Vc=ro,Gc=5*qf,ou=7*ff,su=9*iu,To=1.790857183;function cf(Ke,at){var pt=at*at;return[Ke,at*(ro+pt*pt*(qf+pt*(ff+iu*pt)))]}cf.invert=function(Ke,at){at>To?at=To:at<-To&&(at=-To);var pt=at,mt;do{var Dt=pt*pt;pt-=mt=(pt*(ro+Dt*Dt*(qf+Dt*(ff+iu*Dt)))-at)/(Vc+Dt*Dt*(Gc+Dt*(ou+su*Dt)))}while(E(mt)>h);return[Ke,pt]};function Zh(){return(0,v.Z)(cf).scale(139.319)}function ec(Ke,at){if(E(at)h&&--Dt>0);return zt=g(mt),[(E(at)=0;)if(mt=at[fr],pt[0]===mt[0]&&pt[1]===mt[1]){if(_t)return[_t,pt];_t=pt}}}function Fl(Ke){for(var at=Ke.length,pt=[],mt=Ke[at-1],Dt=0;Dt0?[-mt[0],0]:[180-mt[0],180])};var at=Xo.map(function(pt){return{face:pt,project:Ke(pt)}});return[-1,0,0,1,0,1,4,5].forEach(function(pt,mt){var Dt=at[pt];Dt&&(Dt.children||(Dt.children=[])).push(at[mt])}),ki(at[0],function(pt,mt){return at[pt<-f/2?mt<0?6:4:pt<0?mt<0?2:0:ptmt^Jr>mt&&pt<(jr-nr)*(mt-Mr)/(Jr-Mr)+nr&&(Dt=!Dt)}return Dt}function Jh(Ke,at){var pt=at.stream,mt;if(!pt)throw new Error("invalid projection");switch(Ke&&Ke.type){case"Feature":mt=pf;break;case"FeatureCollection":mt=Qh;break;default:mt=uu;break}return mt(Ke,pt)}function Qh(Ke,at){return{type:"FeatureCollection",features:Ke.features.map(function(pt){return pf(pt,at)})}}function pf(Ke,at){return{type:"Feature",id:Ke.id,properties:Ke.properties,geometry:uu(Ke.geometry,at)}}function jc(Ke,at){return{type:"GeometryCollection",geometries:Ke.geometries.map(function(pt){return uu(pt,at)})}}function uu(Ke,at){if(!Ke)return null;if(Ke.type==="GeometryCollection")return jc(Ke,at);var pt;switch(Ke.type){case"Point":pt=zu;break;case"MultiPoint":pt=zu;break;case"LineString":pt=Ol;break;case"MultiLineString":pt=Ol;break;case"Polygon":pt=Bu;break;case"MultiPolygon":pt=Bu;break;case"Sphere":pt=Bu;break;default:return null}return(0,Fa.Z)(Ke,at(pt)),pt.result()}var Eo=[],Ko=[],zu={point:function(Ke,at){Eo.push([Ke,at])},result:function(){var Ke=Eo.length?Eo.length<2?{type:"Point",coordinates:Eo[0]}:{type:"MultiPoint",coordinates:Eo}:null;return Eo=[],Ke}},Ol={lineStart:vf,point:function(Ke,at){Eo.push([Ke,at])},lineEnd:function(){Eo.length&&(Ko.push(Eo),Eo=[])},result:function(){var Ke=Ko.length?Ko.length<2?{type:"LineString",coordinates:Ko[0]}:{type:"MultiLineString",coordinates:Ko}:null;return Ko=[],Ke}},Bu={polygonStart:vf,lineStart:vf,point:function(Ke,at){Eo.push([Ke,at])},lineEnd:function(){var Ke=Eo.length;if(Ke){do Eo.push(Eo[0].slice());while(++Ke<4);Ko.push(Eo),Eo=[]}},polygonEnd:vf,result:function(){if(!Ko.length)return null;var Ke=[],at=[];return Ko.forEach(function(pt){Kh(pt)?Ke.push([pt]):at.push(pt)}),at.forEach(function(pt){var mt=pt[0];Ke.some(function(Dt){if($h(Dt[0],mt))return Dt.push(pt),!0})||Ke.push([pt])}),Ko=[],Ke.length?Ke.length>1?{type:"MultiPolygon",coordinates:Ke}:{type:"Polygon",coordinates:Ke[0]}:null}};function gf(Ke){var at=Ke(l,0)[0]-Ke(-l,0)[0];function pt(mt,Dt){var _t=E(mt)0?mt-f:mt+f,Dt),fr=(zt[0]-zt[1])*T,gr=(zt[0]+zt[1])*T;if(_t)return[fr,gr];var nr=at*T,Mr=fr>0^gr>0?-1:1;return[Mr*fr-u(gr)*nr,Mr*gr-u(fr)*nr]}return Ke.invert&&(pt.invert=function(mt,Dt){var _t=(mt+Dt)*T,zt=(Dt-mt)*T,fr=E(_t)<.5*at&&E(zt)<.5*at;if(!fr){var gr=at*T,nr=_t>0^zt>0?-1:1,Mr=-nr*mt+(zt>0?1:-1)*gr,Pr=-nr*Dt+(_t>0?1:-1)*gr;_t=(-Mr-Pr)*T,zt=(Mr-Pr)*T}var jr=Ke.invert(_t,zt);return fr||(jr[0]+=_t>0?f:-f),jr}),(0,v.Z)(pt).rotate([-90,-90,45]).clipAngle(179.999)}function qh(){return gf(hn).scale(176.423)}function Yc(){return gf(Sr).scale(111.48)}function Zc(Ke,at){if(!(0<=(at=+at)&&at<=20))throw new Error("invalid digits");function pt(nr){var Mr=nr.length,Pr=2,jr=new Array(Mr);for(jr[0]=+nr[0].toFixed(at),jr[1]=+nr[1].toFixed(at);Pr2||Jr[0]!=Mr[0]||Jr[1]!=Mr[1])&&(Pr.push(Jr),Mr=Jr)}return Pr.length===1&&nr.length>1&&Pr.push(pt(nr[nr.length-1])),Pr}function _t(nr){return nr.map(Dt)}function zt(nr){if(nr==null)return nr;var Mr;switch(nr.type){case"GeometryCollection":Mr={type:"GeometryCollection",geometries:nr.geometries.map(zt)};break;case"Point":Mr={type:"Point",coordinates:pt(nr.coordinates)};break;case"MultiPoint":Mr={type:nr.type,coordinates:mt(nr.coordinates)};break;case"LineString":Mr={type:nr.type,coordinates:Dt(nr.coordinates)};break;case"MultiLineString":case"Polygon":Mr={type:nr.type,coordinates:_t(nr.coordinates)};break;case"MultiPolygon":Mr={type:"MultiPolygon",coordinates:nr.coordinates.map(_t)};break;default:return nr}return nr.bbox!=null&&(Mr.bbox=nr.bbox),Mr}function fr(nr){var Mr={type:"Feature",properties:nr.properties,geometry:zt(nr.geometry)};return nr.id!=null&&(Mr.id=nr.id),nr.bbox!=null&&(Mr.bbox=nr.bbox),Mr}if(Ke!=null)switch(Ke.type){case"Feature":return fr(Ke);case"FeatureCollection":{var gr={type:"FeatureCollection",features:Ke.features.map(fr)};return Ke.bbox!=null&&(gr.bbox=Ke.bbox),gr}default:return zt(Ke)}return Ke}function oc(Ke){var at=i(Ke);function pt(mt,Dt){var _t=at?g(mt*at/2)/at:mt/2;if(!Dt)return[2*_t,-Ke];var zt=2*a(_t*i(Dt)),fr=1/g(Dt);return[i(zt)*fr,Dt+(1-w(zt))*fr-Ke]}return pt.invert=function(mt,Dt){if(E(Dt+=Ke)h&&--fr>0);var jr=mt*(nr=g(zt)),Jr=g(E(Dt)0?l:-l)*(gr+Dt*(Mr-zt)/2+Dt*Dt*(Mr-2*gr+zt)/2)]}Us.invert=function(Ke,at){var pt=at/l,mt=pt*90,Dt=c(18,E(mt/5)),_t=r(0,p(Dt));do{var zt=oo[_t][1],fr=oo[_t+1][1],gr=oo[c(19,_t+2)][1],nr=gr-zt,Mr=gr-2*fr+zt,Pr=2*(E(pt)-fr)/nr,jr=Mr/nr,Jr=Pr*(1-jr*Pr*(1-2*jr*Pr));if(Jr>=0||_t===1){mt=(at>=0?5:-5)*(Jr+Dt);var bn=50,Tn;do Dt=c(18,E(mt)/5),_t=p(Dt),Jr=Dt-_t,zt=oo[_t][1],fr=oo[_t+1][1],gr=oo[c(19,_t+2)][1],mt-=(Tn=(at>=0?l:-l)*(fr+Jr*(gr-zt)/2+Jr*Jr*(gr-2*fr+zt)/2)-at)*M;while(E(Tn)>x&&--bn>0);break}}while(--_t>=0);var In=oo[_t][0],ya=oo[_t+1][0],Da=oo[c(19,_t+2)][0];return[Ke/(ya+Jr*(Da-In)/2+Jr*Jr*(Da-2*ya+In)/2),mt*b]};function sc(){return(0,v.Z)(Us).scale(152.63)}function Xc(Ke){function at(pt,mt){var Dt=w(mt),_t=(Ke-1)/(Ke-Dt*w(pt));return[_t*Dt*i(pt),_t*i(mt)]}return at.invert=function(pt,mt){var Dt=pt*pt+mt*mt,_t=D(Dt),zt=(Ke-D(1-Dt*(Ke+1)/(Ke-1)))/((Ke-1)/_t+_t/(Ke-1));return[C(pt*zt,_t*D(1-zt*zt)),_t?_(mt*zt/_t):0]},at}function zl(Ke,at){var pt=Xc(Ke);if(!at)return pt;var mt=w(at),Dt=i(at);function _t(zt,fr){var gr=pt(zt,fr),nr=gr[1],Mr=nr*Dt/(Ke-1)+mt;return[gr[0]*mt/Mr,nr/Mr]}return _t.invert=function(zt,fr){var gr=(Ke-1)/(Ke-1-fr*Dt);return pt.invert(gr*zt,gr*fr*mt)},_t}function yf(){var Ke=2,at=0,pt=(0,v.r)(zl),mt=pt(Ke,at);return mt.distance=function(Dt){return arguments.length?pt(Ke=+Dt,at):Ke},mt.tilt=function(Dt){return arguments.length?pt(Ke,at=Dt*b):at*M},mt.scale(432.147).clipAngle(A(1/Ke)*M-1e-6)}var As=1e-4,mf=1e4,nl=-180,al=nl+As,lc=180,fu=lc-As,Ci=-90,Bl=Ci+As,xf=90,bf=xf-As;function yl(Ke){return Ke.length>0}function ed(Ke){return Math.floor(Ke*mf)/mf}function uc(Ke){return Ke===Ci||Ke===xf?[0,Ke]:[nl,ed(Ke)]}function cu(Ke){var at=Ke[0],pt=Ke[1],mt=!1;return at<=al?(at=nl,mt=!0):at>=fu&&(at=lc,mt=!0),pt<=Bl?(pt=Ci,mt=!0):pt>=bf&&(pt=xf,mt=!0),mt?[at,pt]:Ke}function fc(Ke){return Ke.map(cu)}function Kc(Ke,at,pt){for(var mt=0,Dt=Ke.length;mt=fu||Mr<=Bl||Mr>=bf){_t[zt]=cu(gr);for(var Pr=zt+1;Pral&&JrBl&&bn=fr)break;pt.push({index:-1,polygon:at,ring:_t=_t.slice(Pr-1)}),_t[0]=uc(_t[0][1]),zt=-1,fr=_t.length}}}}function il(Ke){var at,pt=Ke.length,mt={},Dt={},_t,zt,fr,gr,nr;for(at=0;at0?f-fr:fr)*M],nr=(0,v.Z)(Ke(zt)).rotate(gr),Mr=(0,rt.Z)(gr),Pr=nr.center;return delete nr.rotate,nr.center=function(jr){return arguments.length?Pr(Mr(jr)):Mr.invert(Pr())},nr.clipAngle(90)}function $c(Ke){var at=w(Ke);function pt(mt,Dt){var _t=(0,io.M)(mt,Dt);return _t[0]*=at,_t}return pt.invert=function(mt,Dt){return io.M.invert(mt/at,Dt)},pt}function hu(){return wf([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function wf(Ke,at){return Hl($c,Ke,at)}function Jc(Ke){if(!(Ke*=2))return le.N;var at=-Ke/2,pt=-at,mt=Ke*Ke,Dt=g(pt),_t=.5/i(pt);function zt(fr,gr){var nr=A(w(gr)*w(fr-at)),Mr=A(w(gr)*w(fr-pt)),Pr=gr<0?-1:1;return nr*=nr,Mr*=Mr,[(nr-Mr)/(2*Ke),Pr*D(4*mt*Mr-(mt-nr+Mr)*(mt-nr+Mr))/(2*Ke)]}return zt.invert=function(fr,gr){var nr=gr*gr,Mr=w(D(nr+(jr=fr+at)*jr)),Pr=w(D(nr+(jr=fr+pt)*jr)),jr,Jr;return[C(Jr=Mr-Pr,jr=(Mr+Pr)*Dt),(gr<0?-1:1)*A(D(jr*jr+Jr*Jr)*_t)]},zt}function Ms(){return cc([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function cc(Ke,at){return Hl(Jc,Ke,at)}function xl(Ke,at){if(E(at)h&&--fr>0);return[u(Ke)*(D(Dt*Dt+4)+Dt)*f/4,l*zt]};function Qc(){return(0,v.Z)(Fo).scale(127.16)}function Uu(Ke,at,pt,mt,Dt){function _t(zt,fr){var gr=pt*i(mt*fr),nr=D(1-gr*gr),Mr=D(2/(1+nr*w(zt*=Dt)));return[Ke*nr*Mr*i(zt),at*gr*Mr]}return _t.invert=function(zt,fr){var gr=zt/Ke,nr=fr/at,Mr=D(gr*gr+nr*nr),Pr=2*_(Mr/2);return[C(zt*g(Pr),Ke*Mr)/Dt,Mr&&_(fr*i(Pr)/(at*pt*Mr))/mt]},_t}function Hs(Ke,at,pt,mt){var Dt=f/3;Ke=r(Ke,h),at=r(at,h),Ke=c(Ke,l),at=c(at,f-h),pt=r(pt,0),pt=c(pt,100-h),mt=r(mt,h);var _t=pt/100+1,zt=mt/100,fr=A(_t*w(Dt))/Dt,gr=i(Ke)/i(fr*l),nr=at/f,Mr=D(zt*i(Ke/2)/i(at/2)),Pr=Mr/D(nr*gr*fr),jr=1/(Mr*D(nr*gr*fr));return Uu(Pr,jr,gr,fr,nr)}function Hu(){var Ke=65*b,at=60*b,pt=20,mt=200,Dt=(0,v.r)(Hs),_t=Dt(Ke,at,pt,mt);return _t.poleline=function(zt){return arguments.length?Dt(Ke=+zt*b,at,pt,mt):Ke*M},_t.parallels=function(zt){return arguments.length?Dt(Ke,at=+zt*b,pt,mt):at*M},_t.inflation=function(zt){return arguments.length?Dt(Ke,at,pt=+zt,mt):pt},_t.ratio=function(zt){return arguments.length?Dt(Ke,at,pt,mt=+zt):mt},_t.scale(163.775)}function bl(){return Hu().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var Af=4*f+3*D(3),qc=2*D(2*f*D(3)/Af),dc=we(qc*D(3)/f,qc,Af/6);function vc(){return(0,v.Z)(dc).scale(176.84)}function Vl(Ke,at){return[Ke*D(1-3*at*at/(f*f)),at]}Vl.invert=function(Ke,at){return[Ke/D(1-3*at*at/(f*f)),at]};function Mf(){return(0,v.Z)(Vl).scale(152.63)}function Vu(Ke,at){var pt=w(at),mt=w(Ke)*pt,Dt=1-mt,_t=w(Ke=C(i(Ke)*pt,-i(at))),zt=i(Ke);return pt=D(1-mt*mt),[zt*pt-_t*Dt,-_t*pt-zt*Dt]}Vu.invert=function(Ke,at){var pt=(Ke*Ke+at*at)/-2,mt=D(-pt*(2+pt)),Dt=at*pt+Ke*mt,_t=Ke*pt-at*mt,zt=D(_t*_t+Dt*Dt);return[C(mt*Dt,zt*(1+pt)),zt?-_(mt*_t/zt):0]};function eh(){return(0,v.Z)(Vu).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function Gu(Ke,at){var pt=Z(Ke,at);return[(pt[0]+Ke/l)/2,(pt[1]+at)/2]}Gu.invert=function(Ke,at){var pt=Ke,mt=at,Dt=25;do{var _t=w(mt),zt=i(mt),fr=i(2*mt),gr=zt*zt,nr=_t*_t,Mr=i(pt),Pr=w(pt/2),jr=i(pt/2),Jr=jr*jr,bn=1-nr*Pr*Pr,Tn=bn?A(_t*Pr)*D(In=1/bn):In=0,In,ya=.5*(2*Tn*_t*jr+pt/l)-Ke,Da=.5*(Tn*zt+mt)-at,Ba=.5*In*(nr*Jr+Tn*_t*Pr*gr)+.5/l,Na=In*(Mr*fr/4-Tn*zt*jr),Ha=.125*In*(fr*jr-Tn*zt*nr*Mr),wi=.5*In*(gr*Pr+Tn*Jr*_t)+.5,Qi=Na*Ha-wi*Ba,Fi=(Da*Na-ya*wi)/Qi,ce=(ya*Ha-Da*Ba)/Qi;pt-=Fi,mt-=ce}while((E(Fi)>h||E(ce)>h)&&--Dt>0);return[pt,mt]};function th(){return(0,v.Z)(Gu).scale(158.837)}},33940:function(U,B,e){e.d(B,{Z:function(){return v}});function v(){return new E}function E(){this.reset()}E.prototype={constructor:E,reset:function(){this.s=this.t=0},add:function(w){C(a,w,this.t),C(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new E;function C(w,d,p){var t=w.s=d+p,r=t-d,c=t-r;w.t=d-c+(p-r)}},97860:function(U,B,e){e.d(B,{L9:function(){return w},ZP:function(){return x},gL:function(){return n}});var v=e(33940),E=e(39695),a=e(73182),C=e(72736),w=(0,v.Z)(),d=(0,v.Z)(),p,t,r,c,o,n={point:a.Z,lineStart:a.Z,lineEnd:a.Z,polygonStart:function(){w.reset(),n.lineStart=u,n.lineEnd=i},polygonEnd:function(){var f=+w;d.add(f<0?E.BZ+f:f),this.lineStart=this.lineEnd=this.point=a.Z},sphere:function(){d.add(E.BZ)}};function u(){n.point=g}function i(){h(p,t)}function g(f,l){n.point=h,p=f,t=l,f*=E.uR,l*=E.uR,r=f,c=(0,E.mC)(l=l/2+E.pu),o=(0,E.O$)(l)}function h(f,l){f*=E.uR,l*=E.uR,l=l/2+E.pu;var y=f-r,T=y>=0?1:-1,S=T*y,L=(0,E.mC)(l),m=(0,E.O$)(l),M=o*m,b=c*L+M*(0,E.mC)(S),s=M*T*(0,E.O$)(S);w.add((0,E.fv)(s,b)),r=f,c=L,o=m}function x(f){return d.reset(),(0,C.Z)(f,n),d*2}},77338:function(U,B,e){e.d(B,{Z:function(){return _}});var v=e(33940),E=e(97860),a=e(7620),C=e(39695),w=e(72736),d,p,t,r,c,o,n,u,i=(0,v.Z)(),g,h,x={point:f,lineStart:y,lineEnd:T,polygonStart:function(){x.point=S,x.lineStart=L,x.lineEnd=m,i.reset(),E.gL.polygonStart()},polygonEnd:function(){E.gL.polygonEnd(),x.point=f,x.lineStart=y,x.lineEnd=T,E.L9<0?(d=-(t=180),p=-(r=90)):i>C.Ho?r=90:i<-C.Ho&&(p=-90),h[0]=d,h[1]=t},sphere:function(){d=-(t=180),p=-(r=90)}};function f(A,D){g.push(h=[d=A,t=A]),Dr&&(r=D)}function l(A,D){var F=(0,a.Og)([A*C.uR,D*C.uR]);if(u){var G=(0,a.T5)(u,F),O=[G[1],-G[0],0],H=(0,a.T5)(O,G);(0,a.iJ)(H),H=(0,a.Y1)(H);var z=A-c,k=z>0?1:-1,V=H[0]*C.RW*k,Z,ee=(0,C.Wn)(z)>180;ee^(k*cr&&(r=Z)):(V=(V+360)%360-180,ee^(k*cr&&(r=D))),ee?AM(d,t)&&(t=A):M(A,t)>M(d,t)&&(d=A):t>=d?(At&&(t=A)):A>c?M(d,A)>M(d,t)&&(t=A):M(A,t)>M(d,t)&&(d=A)}else g.push(h=[d=A,t=A]);Dr&&(r=D),u=F,c=A}function y(){x.point=l}function T(){h[0]=d,h[1]=t,x.point=f,u=null}function S(A,D){if(u){var F=A-c;i.add((0,C.Wn)(F)>180?F+(F>0?360:-360):F)}else o=A,n=D;E.gL.point(A,D),l(A,D)}function L(){E.gL.lineStart()}function m(){S(o,n),E.gL.lineEnd(),(0,C.Wn)(i)>C.Ho&&(d=-(t=180)),h[0]=d,h[1]=t,u=null}function M(A,D){return(D-=A)<0?D+360:D}function b(A,D){return A[0]-D[0]}function s(A,D){return A[0]<=A[1]?A[0]<=D&&D<=A[1]:DM(G[0],G[1])&&(G[1]=O[1]),M(O[0],G[1])>M(G[0],G[1])&&(G[0]=O[0])):H.push(G=O);for(z=-1/0,F=H.length-1,D=0,G=H[F];D<=F;G=O,++D)O=H[D],(k=M(G[1],O[0]))>z&&(z=k,d=O[0],t=G[1])}return g=h=null,d===1/0||p===1/0?[[NaN,NaN],[NaN,NaN]]:[[d,p],[t,r]]}},7620:function(U,B,e){e.d(B,{Og:function(){return a},T:function(){return p},T5:function(){return w},Y1:function(){return E},iJ:function(){return t},j9:function(){return C},s0:function(){return d}});var v=e(39695);function E(r){return[(0,v.fv)(r[1],r[0]),(0,v.ZR)(r[2])]}function a(r){var c=r[0],o=r[1],n=(0,v.mC)(o);return[n*(0,v.mC)(c),n*(0,v.O$)(c),(0,v.O$)(o)]}function C(r,c){return r[0]*c[0]+r[1]*c[1]+r[2]*c[2]}function w(r,c){return[r[1]*c[2]-r[2]*c[1],r[2]*c[0]-r[0]*c[2],r[0]*c[1]-r[1]*c[0]]}function d(r,c){r[0]+=c[0],r[1]+=c[1],r[2]+=c[2]}function p(r,c){return[r[0]*c,r[1]*c,r[2]*c]}function t(r){var c=(0,v._b)(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);r[0]/=c,r[1]/=c,r[2]/=c}},66624:function(U,B,e){e.d(B,{Z:function(){return F}});var v=e(39695),E=e(73182),a=e(72736),C,w,d,p,t,r,c,o,n,u,i,g,h,x,f,l,y={sphere:E.Z,point:T,lineStart:L,lineEnd:b,polygonStart:function(){y.lineStart=s,y.lineEnd=_},polygonEnd:function(){y.lineStart=L,y.lineEnd=b}};function T(G,O){G*=v.uR,O*=v.uR;var H=(0,v.mC)(O);S(H*(0,v.mC)(G),H*(0,v.O$)(G),(0,v.O$)(O))}function S(G,O,H){++C,d+=(G-d)/C,p+=(O-p)/C,t+=(H-t)/C}function L(){y.point=m}function m(G,O){G*=v.uR,O*=v.uR;var H=(0,v.mC)(O);x=H*(0,v.mC)(G),f=H*(0,v.O$)(G),l=(0,v.O$)(O),y.point=M,S(x,f,l)}function M(G,O){G*=v.uR,O*=v.uR;var H=(0,v.mC)(O),z=H*(0,v.mC)(G),k=H*(0,v.O$)(G),V=(0,v.O$)(O),Z=(0,v.fv)((0,v._b)((Z=f*V-l*k)*Z+(Z=l*z-x*V)*Z+(Z=x*k-f*z)*Z),x*z+f*k+l*V);w+=Z,r+=Z*(x+(x=z)),c+=Z*(f+(f=k)),o+=Z*(l+(l=V)),S(x,f,l)}function b(){y.point=T}function s(){y.point=A}function _(){D(g,h),y.point=T}function A(G,O){g=G,h=O,G*=v.uR,O*=v.uR,y.point=D;var H=(0,v.mC)(O);x=H*(0,v.mC)(G),f=H*(0,v.O$)(G),l=(0,v.O$)(O),S(x,f,l)}function D(G,O){G*=v.uR,O*=v.uR;var H=(0,v.mC)(O),z=H*(0,v.mC)(G),k=H*(0,v.O$)(G),V=(0,v.O$)(O),Z=f*V-l*k,ee=l*z-x*V,Q=x*k-f*z,ne=(0,v._b)(Z*Z+ee*ee+Q*Q),fe=(0,v.ZR)(ne),$=ne&&-fe/ne;n+=$*Z,u+=$*ee,i+=$*Q,w+=fe,r+=fe*(x+(x=z)),c+=fe*(f+(f=k)),o+=fe*(l+(l=V)),S(x,f,l)}function F(G){C=w=d=p=t=r=c=o=n=u=i=0,(0,a.Z)(G,y);var O=n,H=u,z=i,k=O*O+H*H+z*z;return k0?nu)&&(n+=o*a.BZ));for(var x,f=n;o>0?f>u:f0?E.pi:-E.pi,i=(0,E.Wn)(o-p);(0,E.Wn)(i-E.pi)0?E.ou:-E.ou),d.point(r,t),d.lineEnd(),d.lineStart(),d.point(u,t),d.point(o,t),c=0):r!==u&&i>=E.pi&&((0,E.Wn)(p-r)E.Ho?(0,E.z4)(((0,E.O$)(p)*(o=(0,E.mC)(r))*(0,E.O$)(t)-(0,E.O$)(r)*(c=(0,E.mC)(p))*(0,E.O$)(d))/(c*o*n)):(p+r)/2}function w(d,p,t,r){var c;if(d==null)c=t*E.ou,r.point(-E.pi,c),r.point(0,c),r.point(E.pi,c),r.point(E.pi,0),r.point(E.pi,-c),r.point(0,-c),r.point(-E.pi,-c),r.point(-E.pi,0),r.point(-E.pi,c);else if((0,E.Wn)(d[0]-p[0])>E.Ho){var o=d[0]1&&a.push(a.pop().concat(a.shift()))},result:function(){var w=a;return a=[],C=null,w}}}},1457:function(U,B,e){e.d(B,{Z:function(){return d}});var v=e(7620),E=e(7613),a=e(39695),C=e(67108),w=e(97023);function d(p){var t=(0,a.mC)(p),r=6*a.uR,c=t>0,o=(0,a.Wn)(t)>a.Ho;function n(x,f,l,y){(0,E.m)(y,p,r,l,x,f)}function u(x,f){return(0,a.mC)(x)*(0,a.mC)(f)>t}function i(x){var f,l,y,T,S;return{lineStart:function(){T=y=!1,S=1},point:function(L,m){var M=[L,m],b,s=u(L,m),_=c?s?0:h(L,m):s?h(L+(L<0?a.pi:-a.pi),m):0;if(!f&&(T=y=s)&&x.lineStart(),s!==y&&(b=g(f,M),(!b||(0,C.Z)(f,b)||(0,C.Z)(M,b))&&(M[2]=1)),s!==y)S=0,s?(x.lineStart(),b=g(M,f),x.point(b[0],b[1])):(b=g(f,M),x.point(b[0],b[1],2),x.lineEnd()),f=b;else if(o&&f&&c^s){var A;!(_&l)&&(A=g(M,f,!0))&&(S=0,c?(x.lineStart(),x.point(A[0][0],A[0][1]),x.point(A[1][0],A[1][1]),x.lineEnd()):(x.point(A[1][0],A[1][1]),x.lineEnd(),x.lineStart(),x.point(A[0][0],A[0][1],3)))}s&&(!f||!(0,C.Z)(f,M))&&x.point(M[0],M[1]),f=M,y=s,l=_},lineEnd:function(){y&&x.lineEnd(),f=null},clean:function(){return S|(T&&y)<<1}}}function g(x,f,l){var y=(0,v.Og)(x),T=(0,v.Og)(f),S=[1,0,0],L=(0,v.T5)(y,T),m=(0,v.j9)(L,L),M=L[0],b=m-M*M;if(!b)return!l&&x;var s=t*m/b,_=-t*M/b,A=(0,v.T5)(S,L),D=(0,v.T)(S,s),F=(0,v.T)(L,_);(0,v.s0)(D,F);var G=A,O=(0,v.j9)(D,G),H=(0,v.j9)(G,G),z=O*O-H*((0,v.j9)(D,D)-1);if(!(z<0)){var k=(0,a._b)(z),V=(0,v.T)(G,(-O-k)/H);if((0,v.s0)(V,D),V=(0,v.Y1)(V),!l)return V;var Z=x[0],ee=f[0],Q=x[1],ne=f[1],fe;ee0^V[1]<((0,a.Wn)(V[0]-Z)a.pi^(Z<=V[0]&&V[0]<=ee)){var X=(0,v.T)(G,(-O+k)/H);return(0,v.s0)(X,D),[V,(0,v.Y1)(X)]}}}function h(x,f){var l=c?p:a.pi-p,y=0;return x<-l?y|=1:x>l&&(y|=2),f<-l?y|=4:f>l&&(y|=8),y}return(0,w.Z)(u,i,n,c?[0,-p]:[-a.pi,p-a.pi])}},97023:function(U,B,e){e.d(B,{Z:function(){return d}});var v=e(85272),E=e(46225),a=e(39695),C=e(23071),w=e(33064);function d(r,c,o,n){return function(u){var i=c(u),g=(0,v.Z)(),h=c(g),x=!1,f,l,y,T={point:S,lineStart:m,lineEnd:M,polygonStart:function(){T.point=b,T.lineStart=s,T.lineEnd=_,l=[],f=[]},polygonEnd:function(){T.point=S,T.lineStart=m,T.lineEnd=M,l=(0,w.TS)(l);var A=(0,C.Z)(f,n);l.length?(x||(u.polygonStart(),x=!0),(0,E.Z)(l,t,A,o,u)):A&&(x||(u.polygonStart(),x=!0),u.lineStart(),o(null,null,1,u),u.lineEnd()),x&&(u.polygonEnd(),x=!1),l=f=null},sphere:function(){u.polygonStart(),u.lineStart(),o(null,null,1,u),u.lineEnd(),u.polygonEnd()}};function S(A,D){r(A,D)&&u.point(A,D)}function L(A,D){i.point(A,D)}function m(){T.point=L,i.lineStart()}function M(){T.point=S,i.lineEnd()}function b(A,D){y.push([A,D]),h.point(A,D)}function s(){h.lineStart(),y=[]}function _(){b(y[0][0],y[0][1]),h.lineEnd();var A=h.clean(),D=g.result(),F,G=D.length,O,H,z;if(y.pop(),f.push(y),y=null,!!G){if(A&1){if(H=D[0],(O=H.length-1)>0){for(x||(u.polygonStart(),x=!0),u.lineStart(),F=0;F1&&A&2&&D.push(D.pop().concat(D.shift())),l.push(D.filter(p))}}return T}}function p(r){return r.length>1}function t(r,c){return((r=r.x)[0]<0?r[1]-a.ou-a.Ho:a.ou-r[1])-((c=c.x)[0]<0?c[1]-a.ou-a.Ho:a.ou-c[1])}},87605:function(U,B,e){e.d(B,{Z:function(){return t}});var v=e(39695),E=e(85272);function a(r,c,o,n,u,i){var g=r[0],h=r[1],x=c[0],f=c[1],l=0,y=1,T=x-g,S=f-h,L;if(L=o-g,!(!T&&L>0)){if(L/=T,T<0){if(L0){if(L>y)return;L>l&&(l=L)}if(L=u-g,!(!T&&L<0)){if(L/=T,T<0){if(L>y)return;L>l&&(l=L)}else if(T>0){if(L0)){if(L/=S,S<0){if(L0){if(L>y)return;L>l&&(l=L)}if(L=i-h,!(!S&&L<0)){if(L/=S,S<0){if(L>y)return;L>l&&(l=L)}else if(S>0){if(L0&&(r[0]=g+l*T,r[1]=h+l*S),y<1&&(c[0]=g+y*T,c[1]=h+y*S),!0}}}}}var C=e(46225),w=e(33064),d=1e9,p=-d;function t(r,c,o,n){function u(f,l){return r<=f&&f<=o&&c<=l&&l<=n}function i(f,l,y,T){var S=0,L=0;if(f==null||(S=g(f,y))!==(L=g(l,y))||x(f,l)<0^y>0)do T.point(S===0||S===3?r:o,S>1?n:c);while((S=(S+y+4)%4)!==L);else T.point(l[0],l[1])}function g(f,l){return(0,v.Wn)(f[0]-r)0?0:3:(0,v.Wn)(f[0]-o)0?2:1:(0,v.Wn)(f[1]-c)0?1:0:l>0?3:2}function h(f,l){return x(f.x,l.x)}function x(f,l){var y=g(f,1),T=g(l,1);return y!==T?y-T:y===0?l[1]-f[1]:y===1?f[0]-l[0]:y===2?f[1]-l[1]:l[0]-f[0]}return function(f){var l=f,y=(0,E.Z)(),T,S,L,m,M,b,s,_,A,D,F,G={point:O,lineStart:V,lineEnd:Z,polygonStart:z,polygonEnd:k};function O(Q,ne){u(Q,ne)&&l.point(Q,ne)}function H(){for(var Q=0,ne=0,fe=S.length;nen&&(q-re)*(n-le)>(te-le)*(r-re)&&++Q:te<=n&&(q-re)*(n-le)<(te-le)*(r-re)&&--Q;return Q}function z(){l=y,T=[],S=[],F=!0}function k(){var Q=H(),ne=F&&Q,fe=(T=(0,w.TS)(T)).length;(ne||fe)&&(f.polygonStart(),ne&&(f.lineStart(),i(null,null,1,f),f.lineEnd()),fe&&(0,C.Z)(T,h,Q,i,f),f.polygonEnd()),l=f,T=S=L=null}function V(){G.point=ee,S&&S.push(L=[]),D=!0,A=!1,s=_=NaN}function Z(){T&&(ee(m,M),b&&A&&y.rejoin(),T.push(y.result())),G.point=O,A&&l.lineEnd()}function ee(Q,ne){var fe=u(Q,ne);if(S&&L.push([Q,ne]),D)m=Q,M=ne,b=fe,D=!1,fe&&(l.lineStart(),l.point(Q,ne));else if(fe&&A)l.point(Q,ne);else{var $=[s=Math.max(p,Math.min(d,s)),_=Math.max(p,Math.min(d,_))],Y=[Q=Math.max(p,Math.min(d,Q)),ne=Math.max(p,Math.min(d,ne))];a($,Y,r,c,o,n)?(A||(l.lineStart(),l.point($[0],$[1])),l.point(Y[0],Y[1]),fe||l.lineEnd(),F=!1):fe&&(l.lineStart(),l.point(Q,ne),F=!1)}s=Q,_=ne,A=fe}return G}}},46225:function(U,B,e){e.d(B,{Z:function(){return C}});var v=e(67108),E=e(39695);function a(d,p,t,r){this.x=d,this.z=p,this.o=t,this.e=r,this.v=!1,this.n=this.p=null}function C(d,p,t,r,c){var o=[],n=[],u,i;if(d.forEach(function(y){if(!((T=y.length-1)<=0)){var T,S=y[0],L=y[T],m;if((0,v.Z)(S,L)){if(!S[2]&&!L[2]){for(c.lineStart(),u=0;u=0;--u)c.point((x=h[u])[0],x[1]);else r(f.x,f.p.x,-1,c);f=f.p}f=f.o,h=f.z,l=!l}while(!f.v);c.lineEnd()}}}function w(d){if(p=d.length){for(var p,t=0,r=d[0],c;++t0&&(en=b(xr[gn],xr[gn-1]),en>0&&Br<=en&&Nr<=en&&(Br+Nr-en)*(1-Math.pow((Br-Nr)/en,2))o.Ho}).map(ia)).concat((0,k.w6)((0,o.mD)(gn/Jn)*Jn,en,Jn).filter(function(Ln){return(0,o.Wn)(Ln%ha)>o.Ho}).map(aa))}return yn.lines=function(){return Hn().map(function(Ln){return{type:"LineString",coordinates:Ln}})},yn.outline=function(){return{type:"Polygon",coordinates:[Sr(Nr).concat(ln(hn).slice(1),Sr(Br).reverse().slice(1),ln(Mn).reverse().slice(1))]}},yn.extent=function(Ln){return arguments.length?yn.extentMajor(Ln).extentMinor(Ln):yn.extentMinor()},yn.extentMajor=function(Ln){return arguments.length?(Nr=+Ln[0][0],Br=+Ln[1][0],Mn=+Ln[0][1],hn=+Ln[1][1],Nr>Br&&(Ln=Nr,Nr=Br,Br=Ln),Mn>hn&&(Ln=Mn,Mn=hn,hn=Ln),yn.precision(an)):[[Nr,Mn],[Br,hn]]},yn.extentMinor=function(Ln){return arguments.length?(br=+Ln[0][0],xr=+Ln[1][0],gn=+Ln[0][1],en=+Ln[1][1],br>xr&&(Ln=br,br=xr,xr=Ln),gn>en&&(Ln=gn,gn=en,en=Ln),yn.precision(an)):[[br,gn],[xr,en]]},yn.step=function(Ln){return arguments.length?yn.stepMajor(Ln).stepMinor(Ln):yn.stepMinor()},yn.stepMajor=function(Ln){return arguments.length?(na=+Ln[0],ha=+Ln[1],yn):[na,ha]},yn.stepMinor=function(Ln){return arguments.length?(Rn=+Ln[0],Jn=+Ln[1],yn):[Rn,Jn]},yn.precision=function(Ln){return arguments.length?(an=+Ln,ia=V(gn,en,90),aa=Z(br,xr,an),Sr=V(Mn,hn,90),ln=Z(Nr,Br,an),yn):an},yn.extentMajor([[-180,-90+o.Ho],[180,90-o.Ho]]).extentMinor([[-180,-80-o.Ho],[180,80+o.Ho]])}function Q(){return ee()()}var ne=e(83074),fe=e(8593),$=(0,c.Z)(),Y=(0,c.Z)(),j,X,re,le,q={point:n.Z,lineStart:n.Z,lineEnd:n.Z,polygonStart:function(){q.lineStart=te,q.lineEnd=de},polygonEnd:function(){q.lineStart=q.lineEnd=q.point=n.Z,$.add((0,o.Wn)(Y)),Y.reset()},result:function(){var xr=$/2;return $.reset(),xr}};function te(){q.point=ue}function ue(xr,br){q.point=ae,j=re=xr,X=le=br}function ae(xr,br){Y.add(le*xr-re*br),re=xr,le=br}function de(){ae(j,X)}var xe=q,Se=e(3559),Ae=0,Be=0,Oe=0,Ee=0,we=0,Ce=0,Ge=0,He=0,De=0,Fe,qe,Qe,Je,tt={point:ht,lineStart:gt,lineEnd:Xe,polygonStart:function(){tt.lineStart=Ue,tt.lineEnd=ze},polygonEnd:function(){tt.point=ht,tt.lineStart=gt,tt.lineEnd=Xe},result:function(){var xr=De?[Ge/De,He/De]:Ce?[Ee/Ce,we/Ce]:Oe?[Ae/Oe,Be/Oe]:[NaN,NaN];return Ae=Be=Oe=Ee=we=Ce=Ge=He=De=0,xr}};function ht(xr,br){Ae+=xr,Be+=br,++Oe}function gt(){tt.point=yt}function yt(xr,br){tt.point=Et,ht(Qe=xr,Je=br)}function Et(xr,br){var Br=xr-Qe,Nr=br-Je,en=(0,o._b)(Br*Br+Nr*Nr);Ee+=en*(Qe+xr)/2,we+=en*(Je+br)/2,Ce+=en,ht(Qe=xr,Je=br)}function Xe(){tt.point=ht}function Ue(){tt.point=rt}function ze(){it(Fe,qe)}function rt(xr,br){tt.point=it,ht(Fe=Qe=xr,qe=Je=br)}function it(xr,br){var Br=xr-Qe,Nr=br-Je,en=(0,o._b)(Br*Br+Nr*Nr);Ee+=en*(Qe+xr)/2,we+=en*(Je+br)/2,Ce+=en,en=Je*xr-Qe*br,Ge+=en*(Qe+xr),He+=en*(Je+br),De+=en*3,ht(Qe=xr,Je=br)}var Ze=tt;function Ie(xr){this._context=xr}Ie.prototype={_radius:4.5,pointRadius:function(xr){return this._radius=xr,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(xr,br){switch(this._point){case 0:{this._context.moveTo(xr,br),this._point=1;break}case 1:{this._context.lineTo(xr,br);break}default:{this._context.moveTo(xr+this._radius,br),this._context.arc(xr,br,this._radius,0,o.BZ);break}}},result:n.Z};var Te=(0,c.Z)(),he,me,Re,Ne,st,ft={point:n.Z,lineStart:function(){ft.point=At},lineEnd:function(){he&&Ft(me,Re),ft.point=n.Z},polygonStart:function(){he=!0},polygonEnd:function(){he=null},result:function(){var xr=+Te;return Te.reset(),xr}};function At(xr,br){ft.point=Ft,me=Ne=xr,Re=st=br}function Ft(xr,br){Ne-=xr,st-=br,Te.add((0,o._b)(Ne*Ne+st*st)),Ne=xr,st=br}var Ht=ft;function Gt(){this._string=[]}Gt.prototype={_radius:4.5,_circle:Rt(4.5),pointRadius:function(xr){return(xr=+xr)!==this._radius&&(this._radius=xr,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(xr,br){switch(this._point){case 0:{this._string.push("M",xr,",",br),this._point=1;break}case 1:{this._string.push("L",xr,",",br);break}default:{this._circle==null&&(this._circle=Rt(this._radius)),this._string.push("M",xr,",",br,this._circle);break}}},result:function(){if(this._string.length){var xr=this._string.join("");return this._string=[],xr}else return null}};function Rt(xr){return"m0,"+xr+"a"+xr+","+xr+" 0 1,1 0,"+-2*xr+"a"+xr+","+xr+" 0 1,1 0,"+2*xr+"z"}function qt(xr,br){var Br=4.5,Nr,en;function gn(hn){return hn&&(typeof Br=="function"&&en.pointRadius(+Br.apply(this,arguments)),(0,u.Z)(hn,Nr(en))),en.result()}return gn.area=function(hn){return(0,u.Z)(hn,Nr(xe)),xe.result()},gn.measure=function(hn){return(0,u.Z)(hn,Nr(Ht)),Ht.result()},gn.bounds=function(hn){return(0,u.Z)(hn,Nr(Se.Z)),Se.Z.result()},gn.centroid=function(hn){return(0,u.Z)(hn,Nr(Ze)),Ze.result()},gn.projection=function(hn){return arguments.length?(Nr=hn==null?(xr=null,fe.Z):(xr=hn).stream,gn):xr},gn.context=function(hn){return arguments.length?(en=hn==null?(br=null,new Gt):new Ie(br=hn),typeof Br!="function"&&en.pointRadius(Br),gn):br},gn.pointRadius=function(hn){return arguments.length?(Br=typeof hn=="function"?hn:(en.pointRadius(+hn),+hn),gn):Br},gn.projection(xr).context(br)}var sr=e(15002);function kr(xr){var br=0,Br=o.pi/3,Nr=(0,sr.r)(xr),en=Nr(br,Br);return en.parallels=function(gn){return arguments.length?Nr(br=gn[0]*o.uR,Br=gn[1]*o.uR):[br*o.RW,Br*o.RW]},en}function xt(xr){var br=(0,o.mC)(xr);function Br(Nr,en){return[Nr*br,(0,o.O$)(en)/br]}return Br.invert=function(Nr,en){return[Nr/br,(0,o.ZR)(en*br)]},Br}function Xt(xr,br){var Br=(0,o.O$)(xr),Nr=(Br+(0,o.O$)(br))/2;if((0,o.Wn)(Nr)=.12&&an<.234&&ln>=-.425&&ln<-.214?en:an>=.166&&an<.234&&ln>=-.214&&ln<-.115?hn:Br).invert(ia)},na.stream=function(ia){return xr&&br===ia?xr:xr=ct([Br.stream(br=ia),en.stream(ia),hn.stream(ia)])},na.precision=function(ia){return arguments.length?(Br.precision(ia),en.precision(ia),hn.precision(ia),ha()):Br.precision()},na.scale=function(ia){return arguments.length?(Br.scale(ia),en.scale(ia*.35),hn.scale(ia),na.translate(Br.translate())):Br.scale()},na.translate=function(ia){if(!arguments.length)return Br.translate();var aa=Br.scale(),Sr=+ia[0],ln=+ia[1];return Nr=Br.translate(ia).clipExtent([[Sr-.455*aa,ln-.238*aa],[Sr+.455*aa,ln+.238*aa]]).stream(Jn),gn=en.translate([Sr-.307*aa,ln+.201*aa]).clipExtent([[Sr-.425*aa+o.Ho,ln+.12*aa+o.Ho],[Sr-.214*aa-o.Ho,ln+.234*aa-o.Ho]]).stream(Jn),Mn=hn.translate([Sr-.205*aa,ln+.212*aa]).clipExtent([[Sr-.214*aa+o.Ho,ln+.166*aa+o.Ho],[Sr-.115*aa-o.Ho,ln+.234*aa-o.Ho]]).stream(Jn),ha()},na.fitExtent=function(ia,aa){return(0,hr.qg)(na,ia,aa)},na.fitSize=function(ia,aa){return(0,hr.mF)(na,ia,aa)},na.fitWidth=function(ia,aa){return(0,hr.V6)(na,ia,aa)},na.fitHeight=function(ia,aa){return(0,hr.rf)(na,ia,aa)};function ha(){return xr=br=null,na}return na.scale(1070)}var wt=e(12956),Mt=e(17889),Lt=e(49386);function St(xr,br){return[xr,(0,o.cM)((0,o.OR)((o.ou+br)/2))]}St.invert=function(xr,br){return[xr,2*(0,o.z4)((0,o.Qq)(br))-o.ou]};function Ot(){return Vt(St).scale(961/o.BZ)}function Vt(xr){var br=(0,sr.Z)(xr),Br=br.center,Nr=br.scale,en=br.translate,gn=br.clipExtent,hn=null,Mn,Rn,Jn;br.scale=function(ha){return arguments.length?(Nr(ha),na()):Nr()},br.translate=function(ha){return arguments.length?(en(ha),na()):en()},br.center=function(ha){return arguments.length?(Br(ha),na()):Br()},br.clipExtent=function(ha){return arguments.length?(ha==null?hn=Mn=Rn=Jn=null:(hn=+ha[0][0],Mn=+ha[0][1],Rn=+ha[1][0],Jn=+ha[1][1]),na()):hn==null?null:[[hn,Mn],[Rn,Jn]]};function na(){var ha=o.pi*Nr(),ia=br((0,Lt.Z)(br.rotate()).invert([0,0]));return gn(hn==null?[[ia[0]-ha,ia[1]-ha],[ia[0]+ha,ia[1]+ha]]:xr===St?[[Math.max(ia[0]-ha,hn),Mn],[Math.min(ia[0]+ha,Rn),Jn]]:[[hn,Math.max(ia[1]-ha,Mn)],[Rn,Math.min(ia[1]+ha,Jn)]])}return na()}function Jt(xr){return(0,o.OR)((o.ou+xr)/2)}function $t(xr,br){var Br=(0,o.mC)(xr),Nr=xr===br?(0,o.O$)(xr):(0,o.cM)(Br/(0,o.mC)(br))/(0,o.cM)(Jt(br)/Jt(xr)),en=Br*(0,o.sQ)(Jt(xr),Nr)/Nr;if(!Nr)return St;function gn(hn,Mn){en>0?Mn<-o.ou+o.Ho&&(Mn=-o.ou+o.Ho):Mn>o.ou-o.Ho&&(Mn=o.ou-o.Ho);var Rn=en/(0,o.sQ)(Jt(Mn),Nr);return[Rn*(0,o.O$)(Nr*hn),en-Rn*(0,o.mC)(Nr*hn)]}return gn.invert=function(hn,Mn){var Rn=en-Mn,Jn=(0,o.Xx)(Nr)*(0,o._b)(hn*hn+Rn*Rn),na=(0,o.fv)(hn,(0,o.Wn)(Rn))*(0,o.Xx)(Rn);return Rn*Nr<0&&(na-=o.pi*(0,o.Xx)(hn)*(0,o.Xx)(Rn)),[na/Nr,2*(0,o.z4)((0,o.sQ)(en/Jn,1/Nr))-o.ou]},gn}function ir(){return kr($t).scale(109.5).parallels([30,30])}var Cr=e(97492);function je(xr,br){var Br=(0,o.mC)(xr),Nr=xr===br?(0,o.O$)(xr):(Br-(0,o.mC)(br))/(br-xr),en=Br/Nr+xr;if((0,o.Wn)(Nr)2?Nr[2]+90:90]):(Nr=Br(),[Nr[0],Nr[1],Nr[2]-90])},Br([0,0,90]).scale(159.155)}},83074:function(U,B,e){e.d(B,{Z:function(){return E}});var v=e(39695);function E(a,C){var w=a[0]*v.uR,d=a[1]*v.uR,p=C[0]*v.uR,t=C[1]*v.uR,r=(0,v.mC)(d),c=(0,v.O$)(d),o=(0,v.mC)(t),n=(0,v.O$)(t),u=r*(0,v.mC)(w),i=r*(0,v.O$)(w),g=o*(0,v.mC)(p),h=o*(0,v.O$)(p),x=2*(0,v.ZR)((0,v._b)((0,v.Jy)(t-d)+r*o*(0,v.Jy)(p-w))),f=(0,v.O$)(x),l=x?function(y){var T=(0,v.O$)(y*=x)/f,S=(0,v.O$)(x-y)/f,L=S*u+T*g,m=S*i+T*h,M=S*c+T*n;return[(0,v.fv)(m,L)*v.RW,(0,v.fv)(M,(0,v._b)(L*L+m*m))*v.RW]}:function(){return[w*v.RW,d*v.RW]};return l.distance=x,l}},39695:function(U,B,e){e.d(B,{BZ:function(){return d},Ho:function(){return v},Jy:function(){return L},Kh:function(){return T},O$:function(){return x},OR:function(){return y},Qq:function(){return i},RW:function(){return p},Wn:function(){return r},Xx:function(){return f},ZR:function(){return S},_b:function(){return l},aW:function(){return E},cM:function(){return g},fv:function(){return o},mC:function(){return n},mD:function(){return u},ou:function(){return C},pi:function(){return a},pu:function(){return w},sQ:function(){return h},uR:function(){return t},z4:function(){return c}});var v=1e-6,E=1e-12,a=Math.PI,C=a/2,w=a/4,d=a*2,p=180/a,t=a/180,r=Math.abs,c=Math.atan,o=Math.atan2,n=Math.cos,u=Math.ceil,i=Math.exp,g=Math.log,h=Math.pow,x=Math.sin,f=Math.sign||function(m){return m>0?1:m<0?-1:0},l=Math.sqrt,y=Math.tan;function T(m){return m>1?0:m<-1?a:Math.acos(m)}function S(m){return m>1?C:m<-1?-C:Math.asin(m)}function L(m){return(m=x(m/2))*m}},73182:function(U,B,e){e.d(B,{Z:function(){return v}});function v(){}},3559:function(U,B,e){var v=e(73182),E=1/0,a=E,C=-E,w=C,d={point:p,lineStart:v.Z,lineEnd:v.Z,polygonStart:v.Z,polygonEnd:v.Z,result:function(){var t=[[E,a],[C,w]];return C=w=-(a=E=1/0),t}};function p(t,r){tC&&(C=t),rw&&(w=r)}B.Z=d},67108:function(U,B,e){e.d(B,{Z:function(){return E}});var v=e(39695);function E(a,C){return(0,v.Wn)(a[0]-C[0])=0?1:-1,G=F*D,O=G>a.pi,H=S*_;if(C.add((0,a.fv)(H*F*(0,a.O$)(G),L*A+H*(0,a.mC)(G))),u+=O?D+F*a.BZ:D,O^y>=r^b>=r){var z=(0,E.T5)((0,E.Og)(l),(0,E.Og)(M));(0,E.iJ)(z);var k=(0,E.T5)(n,z);(0,E.iJ)(k);var V=(O^D>=0?-1:1)*(0,a.ZR)(k[2]);(c>V||c===V&&(z[0]||z[1]))&&(i+=O^D>=0?1:-1)}}return(u<-a.Ho||u4*L&&V--){var fe=_+H,$=A+z,Y=D+k,j=(0,d._b)(fe*fe+$*$+Y*Y),X=(0,d.ZR)(Y/=j),re=(0,d.Wn)((0,d.Wn)(Y)-1)L||(0,d.Wn)((ee*ue+Q*ae)/ne-.5)>.3||_*H+A*z+D*k2?de[2]%360*d.uR:0,ue()):[A*d.RW,D*d.RW,F*d.RW]},q.angle=function(de){return arguments.length?(O=de%360*d.uR,ue()):O*d.RW},q.reflectX=function(de){return arguments.length?(H=de?-1:1,ue()):H<0},q.reflectY=function(de){return arguments.length?(z=de?-1:1,ue()):z<0},q.precision=function(de){return arguments.length?(Y=u(j,$=de*de),ae()):(0,d._b)($)},q.fitExtent=function(de,xe){return(0,r.qg)(q,de,xe)},q.fitSize=function(de,xe){return(0,r.mF)(q,de,xe)},q.fitWidth=function(de,xe){return(0,r.V6)(q,de,xe)},q.fitHeight=function(de,xe){return(0,r.rf)(q,de,xe)};function ue(){var de=l(m,0,0,H,z,O).apply(null,L(s,_)),xe=(O?l:f)(m,M-de[0],b-de[1],H,z,O);return G=(0,p.I)(A,D,F),j=(0,C.Z)(L,xe),X=(0,C.Z)(G,j),Y=u(j,$),ae()}function ae(){return re=le=null,q}return function(){return L=S.apply(this,arguments),q.invert=L.invert&&te,ue()}}},26867:function(U,B,e){e.d(B,{K:function(){return a},Z:function(){return C}});var v=e(15002),E=e(39695);function a(w,d){var p=d*d,t=p*p;return[w*(.8707-.131979*p+t*(-.013791+t*(.003971*p-.001529*t))),d*(1.007226+p*(.015085+t*(-.044475+.028874*p-.005916*t)))]}a.invert=function(w,d){var p=d,t=25,r;do{var c=p*p,o=c*c;p-=r=(p*(1.007226+c*(.015085+o*(-.044475+.028874*c-.005916*o)))-d)/(1.007226+c*(.045255+o*(-.311325+.259866*c-.06507600000000001*o)))}while((0,E.Wn)(r)>E.Ho&&--t>0);return[w/(.8707+(c=p*p)*(-.131979+c*(-.013791+c*c*c*(.003971-.001529*c)))),p]};function C(){return(0,v.Z)(a).scale(175.295)}},57962:function(U,B,e){e.d(B,{I:function(){return C},Z:function(){return w}});var v=e(39695),E=e(25382),a=e(15002);function C(d,p){return[(0,v.mC)(p)*(0,v.O$)(d),(0,v.O$)(p)]}C.invert=(0,E.O)(v.ZR);function w(){return(0,a.Z)(C).scale(249.5).clipAngle(90+v.Ho)}},49386:function(U,B,e){e.d(B,{I:function(){return C},Z:function(){return t}});var v=e(96059),E=e(39695);function a(r,c){return[(0,E.Wn)(r)>E.pi?r+Math.round(-r/E.BZ)*E.BZ:r,c]}a.invert=a;function C(r,c,o){return(r%=E.BZ)?c||o?(0,v.Z)(d(r),p(c,o)):d(r):c||o?p(c,o):a}function w(r){return function(c,o){return c+=r,[c>E.pi?c-E.BZ:c<-E.pi?c+E.BZ:c,o]}}function d(r){var c=w(r);return c.invert=w(-r),c}function p(r,c){var o=(0,E.mC)(r),n=(0,E.O$)(r),u=(0,E.mC)(c),i=(0,E.O$)(c);function g(h,x){var f=(0,E.mC)(x),l=(0,E.mC)(h)*f,y=(0,E.O$)(h)*f,T=(0,E.O$)(x),S=T*o+l*n;return[(0,E.fv)(y*u-S*i,l*o-T*n),(0,E.ZR)(S*u+y*i)]}return g.invert=function(h,x){var f=(0,E.mC)(x),l=(0,E.mC)(h)*f,y=(0,E.O$)(h)*f,T=(0,E.O$)(x),S=T*u-y*i;return[(0,E.fv)(y*u+T*i,l*o+S*n),(0,E.ZR)(S*o-l*n)]},g}function t(r){r=C(r[0]*E.uR,r[1]*E.uR,r.length>2?r[2]*E.uR:0);function c(o){return o=r(o[0]*E.uR,o[1]*E.uR),o[0]*=E.RW,o[1]*=E.RW,o}return c.invert=function(o){return o=r.invert(o[0]*E.uR,o[1]*E.uR),o[0]*=E.RW,o[1]*=E.RW,o},c}},72736:function(U,B,e){e.d(B,{Z:function(){return d}});function v(p,t){p&&a.hasOwnProperty(p.type)&&a[p.type](p,t)}var E={Feature:function(p,t){v(p.geometry,t)},FeatureCollection:function(p,t){for(var r=p.features,c=-1,o=r.length;++c=0;)Te+=he[me].value;Ie.value=Te}function c(){return this.eachAfter(r)}function o(Ie){var Te=this,he,me=[Te],Re,Ne,st;do for(he=me.reverse(),me=[];Te=he.pop();)if(Ie(Te),Re=Te.children,Re)for(Ne=0,st=Re.length;Ne=0;--Re)he.push(me[Re]);return this}function u(Ie){for(var Te=this,he=[Te],me=[],Re,Ne,st;Te=he.pop();)if(me.push(Te),Re=Te.children,Re)for(Ne=0,st=Re.length;Ne=0;)he+=me[Re].value;Te.value=he})}function g(Ie){return this.eachBefore(function(Te){Te.children&&Te.children.sort(Ie)})}function h(Ie){for(var Te=this,he=x(Te,Ie),me=[Te];Te!==he;)Te=Te.parent,me.push(Te);for(var Re=me.length;Ie!==he;)me.splice(Re,0,Ie),Ie=Ie.parent;return me}function x(Ie,Te){if(Ie===Te)return Ie;var he=Ie.ancestors(),me=Te.ancestors(),Re=null;for(Ie=he.pop(),Te=me.pop();Ie===Te;)Re=Ie,Ie=he.pop(),Te=me.pop();return Re}function f(){for(var Ie=this,Te=[Ie];Ie=Ie.parent;)Te.push(Ie);return Te}function l(){var Ie=[];return this.each(function(Te){Ie.push(Te)}),Ie}function y(){var Ie=[];return this.eachBefore(function(Te){Te.children||Ie.push(Te)}),Ie}function T(){var Ie=this,Te=[];return Ie.each(function(he){he!==Ie&&Te.push({source:he.parent,target:he})}),Te}function S(Ie,Te){var he=new s(Ie),me=+Ie.value&&(he.value=Ie.value),Re,Ne=[he],st,ft,At,Ft;for(Te==null&&(Te=m);Re=Ne.pop();)if(me&&(Re.value=+Re.data.value),(ft=Te(Re.data))&&(Ft=ft.length))for(Re.children=new Array(Ft),At=Ft-1;At>=0;--At)Ne.push(st=Re.children[At]=new s(ft[At])),st.parent=Re,st.depth=Re.depth+1;return he.eachBefore(b)}function L(){return S(this).eachBefore(M)}function m(Ie){return Ie.children}function M(Ie){Ie.data=Ie.data.data}function b(Ie){var Te=0;do Ie.height=Te;while((Ie=Ie.parent)&&Ie.height<++Te)}function s(Ie){this.data=Ie,this.depth=this.height=0,this.parent=null}s.prototype=S.prototype={constructor:s,count:c,each:o,eachAfter:u,eachBefore:n,sum:i,sort:g,path:h,ancestors:f,descendants:l,leaves:y,links:T,copy:L};var _=Array.prototype.slice;function A(Ie){for(var Te=Ie.length,he,me;Te;)me=Math.random()*Te--|0,he=Ie[Te],Ie[Te]=Ie[me],Ie[me]=he;return Ie}function D(Ie){for(var Te=0,he=(Ie=A(_.call(Ie))).length,me=[],Re,Ne;Te0&&he*he>me*me+Re*Re}function H(Ie,Te){for(var he=0;heAt?(Re=(Ft+At-Ne)/(2*Ft),ft=Math.sqrt(Math.max(0,At/Ft-Re*Re)),he.x=Ie.x-Re*me-ft*st,he.y=Ie.y-Re*st+ft*me):(Re=(Ft+Ne-At)/(2*Ft),ft=Math.sqrt(Math.max(0,Ne/Ft-Re*Re)),he.x=Te.x+Re*me-ft*st,he.y=Te.y+Re*st+ft*me)):(he.x=Te.x+he.r,he.y=Te.y)}function Q(Ie,Te){var he=Ie.r+Te.r-1e-6,me=Te.x-Ie.x,Re=Te.y-Ie.y;return he>0&&he*he>me*me+Re*Re}function ne(Ie){var Te=Ie._,he=Ie.next._,me=Te.r+he.r,Re=(Te.x*he.r+he.x*Te.r)/me,Ne=(Te.y*he.r+he.y*Te.r)/me;return Re*Re+Ne*Ne}function fe(Ie){this._=Ie,this.next=null,this.previous=null}function $(Ie){if(!(Re=Ie.length))return 0;var Te,he,me,Re,Ne,st,ft,At,Ft,Ht,Gt;if(Te=Ie[0],Te.x=0,Te.y=0,!(Re>1))return Te.r;if(he=Ie[1],Te.x=-he.r,he.x=Te.r,he.y=0,!(Re>2))return Te.r+he.r;ee(he,Te,me=Ie[2]),Te=new fe(Te),he=new fe(he),me=new fe(me),Te.next=me.previous=he,he.next=Te.previous=me,me.next=he.previous=Te;e:for(ft=3;ft0)throw new Error("cycle");return ft}return he.id=function(me){return arguments.length?(Ie=X(me),he):Ie},he.parentId=function(me){return arguments.length?(Te=X(me),he):Te},he}function He(Ie,Te){return Ie.parent===Te.parent?1:2}function De(Ie){var Te=Ie.children;return Te?Te[0]:Ie.t}function Fe(Ie){var Te=Ie.children;return Te?Te[Te.length-1]:Ie.t}function qe(Ie,Te,he){var me=he/(Te.i-Ie.i);Te.c-=me,Te.s+=he,Ie.c+=me,Te.z+=he,Te.m+=he}function Qe(Ie){for(var Te=0,he=0,me=Ie.children,Re=me.length,Ne;--Re>=0;)Ne=me[Re],Ne.z+=Te,Ne.m+=Te,Te+=Ne.s+(he+=Ne.c)}function Je(Ie,Te,he){return Ie.a.parent===Te.parent?Ie.a:he}function tt(Ie,Te){this._=Ie,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=Te}tt.prototype=Object.create(s.prototype);function ht(Ie){for(var Te=new tt(Ie,0),he,me=[Te],Re,Ne,st,ft;he=me.pop();)if(Ne=he._.children)for(he.children=new Array(ft=Ne.length),st=ft-1;st>=0;--st)me.push(Re=he.children[st]=new tt(Ne[st],st)),Re.parent=he;return(Te.parent=new tt(null,0)).children=[Te],Te}function gt(){var Ie=He,Te=1,he=1,me=null;function Re(Ft){var Ht=ht(Ft);if(Ht.eachAfter(Ne),Ht.parent.m=-Ht.z,Ht.eachBefore(st),me)Ft.eachBefore(At);else{var Gt=Ft,Rt=Ft,qt=Ft;Ft.eachBefore(function(jt){jt.xRt.x&&(Rt=jt),jt.depth>qt.depth&&(qt=jt)});var sr=Gt===Rt?1:Ie(Gt,Rt)/2,kr=sr-Gt.x,xt=Te/(Rt.x+sr+kr),Xt=he/(qt.depth||1);Ft.eachBefore(function(jt){jt.x=(jt.x+kr)*xt,jt.y=jt.depth*Xt})}return Ft}function Ne(Ft){var Ht=Ft.children,Gt=Ft.parent.children,Rt=Ft.i?Gt[Ft.i-1]:null;if(Ht){Qe(Ft);var qt=(Ht[0].z+Ht[Ht.length-1].z)/2;Rt?(Ft.z=Rt.z+Ie(Ft._,Rt._),Ft.m=Ft.z-qt):Ft.z=qt}else Rt&&(Ft.z=Rt.z+Ie(Ft._,Rt._));Ft.parent.A=ft(Ft,Rt,Ft.parent.A||Gt[0])}function st(Ft){Ft._.x=Ft.z+Ft.parent.m,Ft.m+=Ft.parent.m}function ft(Ft,Ht,Gt){if(Ht){for(var Rt=Ft,qt=Ft,sr=Ht,kr=Rt.parent.children[0],xt=Rt.m,Xt=qt.m,jt=sr.m,wr=kr.m,hr;sr=Fe(sr),Rt=De(Rt),sr&&Rt;)kr=De(kr),qt=Fe(qt),qt.a=Ft,hr=sr.z+jt-Rt.z-xt+Ie(sr._,Rt._),hr>0&&(qe(Je(sr,Ft,Gt),Ft,hr),xt+=hr,Xt+=hr),jt+=sr.m,xt+=Rt.m,wr+=kr.m,Xt+=qt.m;sr&&!Fe(qt)&&(qt.t=sr,qt.m+=jt-Xt),Rt&&!De(kr)&&(kr.t=Rt,kr.m+=xt-wr,Gt=Ft)}return Gt}function At(Ft){Ft.x*=Te,Ft.y=Ft.depth*he}return Re.separation=function(Ft){return arguments.length?(Ie=Ft,Re):Ie},Re.size=function(Ft){return arguments.length?(me=!1,Te=+Ft[0],he=+Ft[1],Re):me?null:[Te,he]},Re.nodeSize=function(Ft){return arguments.length?(me=!0,Te=+Ft[0],he=+Ft[1],Re):me?[Te,he]:null},Re}function yt(Ie,Te,he,me,Re){for(var Ne=Ie.children,st,ft=-1,At=Ne.length,Ft=Ie.value&&(Re-he)/Ie.value;++ftjt&&(jt=Ft),ut=xt*xt*ct,wr=Math.max(jt/ut,ut/Xt),wr>hr){xt-=Ft;break}hr=wr}st.push(At={value:xt,dice:qt1?me:1)},he}(Et);function ze(){var Ie=Ue,Te=!1,he=1,me=1,Re=[0],Ne=re,st=re,ft=re,At=re,Ft=re;function Ht(Rt){return Rt.x0=Rt.y0=0,Rt.x1=he,Rt.y1=me,Rt.eachBefore(Gt),Re=[0],Te&&Rt.eachBefore(xe),Rt}function Gt(Rt){var qt=Re[Rt.depth],sr=Rt.x0+qt,kr=Rt.y0+qt,xt=Rt.x1-qt,Xt=Rt.y1-qt;xt=Rt-1){var jt=Ne[Gt];jt.x0=sr,jt.y0=kr,jt.x1=xt,jt.y1=Xt;return}for(var wr=Ft[Gt],hr=qt/2+wr,ct=Gt+1,ut=Rt-1;ct>>1;Ft[wt]Xt-kr){var St=(sr*Lt+xt*Mt)/qt;Ht(Gt,ct,Mt,sr,kr,St,Xt),Ht(ct,Rt,Lt,St,kr,xt,Xt)}else{var Ot=(kr*Lt+Xt*Mt)/qt;Ht(Gt,ct,Mt,sr,kr,xt,Ot),Ht(ct,Rt,Lt,sr,Ot,xt,Xt)}}}function it(Ie,Te,he,me,Re){(Ie.depth&1?yt:Se)(Ie,Te,he,me,Re)}var Ze=function Ie(Te){function he(me,Re,Ne,st,ft){if((At=me._squarify)&&At.ratio===Te)for(var At,Ft,Ht,Gt,Rt=-1,qt,sr=At.length,kr=me.value;++Rt1?me:1)},he}(Et)},45879:function(U,B,e){e.d(B,{h5:function(){return h}});var v=Math.PI,E=2*v,a=1e-6,C=E-a;function w(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function d(){return new w}w.prototype=d.prototype={constructor:w,moveTo:function(x,f){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+f)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(x,f){this._+="L"+(this._x1=+x)+","+(this._y1=+f)},quadraticCurveTo:function(x,f,l,y){this._+="Q"+ +x+","+ +f+","+(this._x1=+l)+","+(this._y1=+y)},bezierCurveTo:function(x,f,l,y,T,S){this._+="C"+ +x+","+ +f+","+ +l+","+ +y+","+(this._x1=+T)+","+(this._y1=+S)},arcTo:function(x,f,l,y,T){x=+x,f=+f,l=+l,y=+y,T=+T;var S=this._x1,L=this._y1,m=l-x,M=y-f,b=S-x,s=L-f,_=b*b+s*s;if(T<0)throw new Error("negative radius: "+T);if(this._x1===null)this._+="M"+(this._x1=x)+","+(this._y1=f);else if(_>a)if(!(Math.abs(s*m-M*b)>a)||!T)this._+="L"+(this._x1=x)+","+(this._y1=f);else{var A=l-S,D=y-L,F=m*m+M*M,G=A*A+D*D,O=Math.sqrt(F),H=Math.sqrt(_),z=T*Math.tan((v-Math.acos((F+_-G)/(2*O*H)))/2),k=z/H,V=z/O;Math.abs(k-1)>a&&(this._+="L"+(x+k*b)+","+(f+k*s)),this._+="A"+T+","+T+",0,0,"+ +(s*A>b*D)+","+(this._x1=x+V*m)+","+(this._y1=f+V*M)}},arc:function(x,f,l,y,T,S){x=+x,f=+f,l=+l,S=!!S;var L=l*Math.cos(y),m=l*Math.sin(y),M=x+L,b=f+m,s=1^S,_=S?y-T:T-y;if(l<0)throw new Error("negative radius: "+l);this._x1===null?this._+="M"+M+","+b:(Math.abs(this._x1-M)>a||Math.abs(this._y1-b)>a)&&(this._+="L"+M+","+b),l&&(_<0&&(_=_%E+E),_>C?this._+="A"+l+","+l+",0,1,"+s+","+(x-L)+","+(f-m)+"A"+l+","+l+",0,1,"+s+","+(this._x1=M)+","+(this._y1=b):_>a&&(this._+="A"+l+","+l+",0,"+ +(_>=v)+","+s+","+(this._x1=x+l*Math.cos(T))+","+(this._y1=f+l*Math.sin(T))))},rect:function(x,f,l,y){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+f)+"h"+ +l+"v"+ +y+"h"+-l+"Z"},toString:function(){return this._}};var p=d,t=Array.prototype.slice;function r(x){return function(){return x}}function c(x){return x[0]}function o(x){return x[1]}function n(x){return x.source}function u(x){return x.target}function i(x){var f=n,l=u,y=c,T=o,S=null;function L(){var m,M=t.call(arguments),b=f.apply(this,M),s=l.apply(this,M);if(S||(S=m=p()),x(S,+y.apply(this,(M[0]=b,M)),+T.apply(this,M),+y.apply(this,(M[0]=s,M)),+T.apply(this,M)),m)return S=null,m+""||null}return L.source=function(m){return arguments.length?(f=m,L):f},L.target=function(m){return arguments.length?(l=m,L):l},L.x=function(m){return arguments.length?(y=typeof m=="function"?m:r(+m),L):y},L.y=function(m){return arguments.length?(T=typeof m=="function"?m:r(+m),L):T},L.context=function(m){return arguments.length?(S=m??null,L):S},L}function g(x,f,l,y,T){x.moveTo(f,l),x.bezierCurveTo(f=(f+y)/2,l,f,T,y,T)}function h(){return i(g)}},84096:function(U,B,e){e.d(B,{i$:function(){return rt},Dq:function(){return c},g0:function(){return it}});var v=e(58176),E=e(48480),a=e(59879),C=e(82301),w=e(34823),d=e(79791);function p(Ie){if(0<=Ie.y&&Ie.y<100){var Te=new Date(-1,Ie.m,Ie.d,Ie.H,Ie.M,Ie.S,Ie.L);return Te.setFullYear(Ie.y),Te}return new Date(Ie.y,Ie.m,Ie.d,Ie.H,Ie.M,Ie.S,Ie.L)}function t(Ie){if(0<=Ie.y&&Ie.y<100){var Te=new Date(Date.UTC(-1,Ie.m,Ie.d,Ie.H,Ie.M,Ie.S,Ie.L));return Te.setUTCFullYear(Ie.y),Te}return new Date(Date.UTC(Ie.y,Ie.m,Ie.d,Ie.H,Ie.M,Ie.S,Ie.L))}function r(Ie,Te,he){return{y:Ie,m:Te,d:he,H:0,M:0,S:0,L:0}}function c(Ie){var Te=Ie.dateTime,he=Ie.date,me=Ie.time,Re=Ie.periods,Ne=Ie.days,st=Ie.shortDays,ft=Ie.months,At=Ie.shortMonths,Ft=x(Re),Ht=f(Re),Gt=x(Ne),Rt=f(Ne),qt=x(st),sr=f(st),kr=x(ft),xt=f(ft),Xt=x(At),jt=f(At),wr={a:je,A:We,b:It,B:kt,c:null,d:ee,e:ee,f:Y,H:Q,I:ne,j:fe,L:$,m:j,M:X,p:Yt,q:ar,Q:Xe,s:Ue,S:re,u:le,U:q,V:te,w:ue,W:ae,x:null,X:null,y:de,Y:xe,Z:Se,"%":Et},hr={a:lr,A:rr,b:Nt,B:cr,c:null,d:Ae,e:Ae,f:Ce,H:Be,I:Oe,j:Ee,L:we,m:Ge,M:He,p:vr,q:pr,Q:Xe,s:Ue,S:De,u:Fe,U:qe,V:Qe,w:Je,W:tt,x:null,X:null,y:ht,Y:gt,Z:yt,"%":Et},ct={a:St,A:Ot,b:Vt,B:Jt,c:$t,d:A,e:A,f:z,H:F,I:F,j:D,L:H,m:_,M:G,p:Lt,q:s,Q:V,s:Z,S:O,u:y,U:T,V:S,w:l,W:L,x:ir,X:Cr,y:M,Y:m,Z:b,"%":k};wr.x=ut(he,wr),wr.X=ut(me,wr),wr.c=ut(Te,wr),hr.x=ut(he,hr),hr.X=ut(me,hr),hr.c=ut(Te,hr);function ut(dr,Yr){return function(zr){var Or=[],mn=-1,Kr=0,kn=dr.length,Dn,xr,br;for(zr instanceof Date||(zr=new Date(+zr));++mn53)return null;"w"in Or||(Or.w=1),"Z"in Or?(Kr=t(r(Or.y,0,1)),kn=Kr.getUTCDay(),Kr=kn>4||kn===0?v.l6.ceil(Kr):(0,v.l6)(Kr),Kr=E.Z.offset(Kr,(Or.V-1)*7),Or.y=Kr.getUTCFullYear(),Or.m=Kr.getUTCMonth(),Or.d=Kr.getUTCDate()+(Or.w+6)%7):(Kr=p(r(Or.y,0,1)),kn=Kr.getDay(),Kr=kn>4||kn===0?a.wA.ceil(Kr):(0,a.wA)(Kr),Kr=C.Z.offset(Kr,(Or.V-1)*7),Or.y=Kr.getFullYear(),Or.m=Kr.getMonth(),Or.d=Kr.getDate()+(Or.w+6)%7)}else("W"in Or||"U"in Or)&&("w"in Or||(Or.w="u"in Or?Or.u%7:"W"in Or?1:0),kn="Z"in Or?t(r(Or.y,0,1)).getUTCDay():p(r(Or.y,0,1)).getDay(),Or.m=0,Or.d="W"in Or?(Or.w+6)%7+Or.W*7-(kn+5)%7:Or.w+Or.U*7-(kn+6)%7);return"Z"in Or?(Or.H+=Or.Z/100|0,Or.M+=Or.Z%100,t(Or)):p(Or)}}function Mt(dr,Yr,zr,Or){for(var mn=0,Kr=Yr.length,kn=zr.length,Dn,xr;mn=kn)return-1;if(Dn=Yr.charCodeAt(mn++),Dn===37){if(Dn=Yr.charAt(mn++),xr=ct[Dn in o?Yr.charAt(mn++):Dn],!xr||(Or=xr(dr,zr,Or))<0)return-1}else if(Dn!=zr.charCodeAt(Or++))return-1}return Or}function Lt(dr,Yr,zr){var Or=Ft.exec(Yr.slice(zr));return Or?(dr.p=Ht[Or[0].toLowerCase()],zr+Or[0].length):-1}function St(dr,Yr,zr){var Or=qt.exec(Yr.slice(zr));return Or?(dr.w=sr[Or[0].toLowerCase()],zr+Or[0].length):-1}function Ot(dr,Yr,zr){var Or=Gt.exec(Yr.slice(zr));return Or?(dr.w=Rt[Or[0].toLowerCase()],zr+Or[0].length):-1}function Vt(dr,Yr,zr){var Or=Xt.exec(Yr.slice(zr));return Or?(dr.m=jt[Or[0].toLowerCase()],zr+Or[0].length):-1}function Jt(dr,Yr,zr){var Or=kr.exec(Yr.slice(zr));return Or?(dr.m=xt[Or[0].toLowerCase()],zr+Or[0].length):-1}function $t(dr,Yr,zr){return Mt(dr,Te,Yr,zr)}function ir(dr,Yr,zr){return Mt(dr,he,Yr,zr)}function Cr(dr,Yr,zr){return Mt(dr,me,Yr,zr)}function je(dr){return st[dr.getDay()]}function We(dr){return Ne[dr.getDay()]}function It(dr){return At[dr.getMonth()]}function kt(dr){return ft[dr.getMonth()]}function Yt(dr){return Re[+(dr.getHours()>=12)]}function ar(dr){return 1+~~(dr.getMonth()/3)}function lr(dr){return st[dr.getUTCDay()]}function rr(dr){return Ne[dr.getUTCDay()]}function Nt(dr){return At[dr.getUTCMonth()]}function cr(dr){return ft[dr.getUTCMonth()]}function vr(dr){return Re[+(dr.getUTCHours()>=12)]}function pr(dr){return 1+~~(dr.getUTCMonth()/3)}return{format:function(dr){var Yr=ut(dr+="",wr);return Yr.toString=function(){return dr},Yr},parse:function(dr){var Yr=wt(dr+="",!1);return Yr.toString=function(){return dr},Yr},utcFormat:function(dr){var Yr=ut(dr+="",hr);return Yr.toString=function(){return dr},Yr},utcParse:function(dr){var Yr=wt(dr+="",!0);return Yr.toString=function(){return dr},Yr}}}var o={"-":"",_:" ",0:"0"},n=/^\s*\d+/,u=/^%/,i=/[\\^$*+?|[\]().{}]/g;function g(Ie,Te,he){var me=Ie<0?"-":"",Re=(me?-Ie:Ie)+"",Ne=Re.length;return me+(Ne68?1900:2e3),he+me[0].length):-1}function b(Ie,Te,he){var me=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(Te.slice(he,he+6));return me?(Ie.Z=me[1]?0:-(me[2]+(me[3]||"00")),he+me[0].length):-1}function s(Ie,Te,he){var me=n.exec(Te.slice(he,he+1));return me?(Ie.q=me[0]*3-3,he+me[0].length):-1}function _(Ie,Te,he){var me=n.exec(Te.slice(he,he+2));return me?(Ie.m=me[0]-1,he+me[0].length):-1}function A(Ie,Te,he){var me=n.exec(Te.slice(he,he+2));return me?(Ie.d=+me[0],he+me[0].length):-1}function D(Ie,Te,he){var me=n.exec(Te.slice(he,he+3));return me?(Ie.m=0,Ie.d=+me[0],he+me[0].length):-1}function F(Ie,Te,he){var me=n.exec(Te.slice(he,he+2));return me?(Ie.H=+me[0],he+me[0].length):-1}function G(Ie,Te,he){var me=n.exec(Te.slice(he,he+2));return me?(Ie.M=+me[0],he+me[0].length):-1}function O(Ie,Te,he){var me=n.exec(Te.slice(he,he+2));return me?(Ie.S=+me[0],he+me[0].length):-1}function H(Ie,Te,he){var me=n.exec(Te.slice(he,he+3));return me?(Ie.L=+me[0],he+me[0].length):-1}function z(Ie,Te,he){var me=n.exec(Te.slice(he,he+6));return me?(Ie.L=Math.floor(me[0]/1e3),he+me[0].length):-1}function k(Ie,Te,he){var me=u.exec(Te.slice(he,he+1));return me?he+me[0].length:-1}function V(Ie,Te,he){var me=n.exec(Te.slice(he));return me?(Ie.Q=+me[0],he+me[0].length):-1}function Z(Ie,Te,he){var me=n.exec(Te.slice(he));return me?(Ie.s=+me[0],he+me[0].length):-1}function ee(Ie,Te){return g(Ie.getDate(),Te,2)}function Q(Ie,Te){return g(Ie.getHours(),Te,2)}function ne(Ie,Te){return g(Ie.getHours()%12||12,Te,2)}function fe(Ie,Te){return g(1+C.Z.count((0,w.Z)(Ie),Ie),Te,3)}function $(Ie,Te){return g(Ie.getMilliseconds(),Te,3)}function Y(Ie,Te){return $(Ie,Te)+"000"}function j(Ie,Te){return g(Ie.getMonth()+1,Te,2)}function X(Ie,Te){return g(Ie.getMinutes(),Te,2)}function re(Ie,Te){return g(Ie.getSeconds(),Te,2)}function le(Ie){var Te=Ie.getDay();return Te===0?7:Te}function q(Ie,Te){return g(a.OM.count((0,w.Z)(Ie)-1,Ie),Te,2)}function te(Ie,Te){var he=Ie.getDay();return Ie=he>=4||he===0?(0,a.bL)(Ie):a.bL.ceil(Ie),g(a.bL.count((0,w.Z)(Ie),Ie)+((0,w.Z)(Ie).getDay()===4),Te,2)}function ue(Ie){return Ie.getDay()}function ae(Ie,Te){return g(a.wA.count((0,w.Z)(Ie)-1,Ie),Te,2)}function de(Ie,Te){return g(Ie.getFullYear()%100,Te,2)}function xe(Ie,Te){return g(Ie.getFullYear()%1e4,Te,4)}function Se(Ie){var Te=Ie.getTimezoneOffset();return(Te>0?"-":(Te*=-1,"+"))+g(Te/60|0,"0",2)+g(Te%60,"0",2)}function Ae(Ie,Te){return g(Ie.getUTCDate(),Te,2)}function Be(Ie,Te){return g(Ie.getUTCHours(),Te,2)}function Oe(Ie,Te){return g(Ie.getUTCHours()%12||12,Te,2)}function Ee(Ie,Te){return g(1+E.Z.count((0,d.Z)(Ie),Ie),Te,3)}function we(Ie,Te){return g(Ie.getUTCMilliseconds(),Te,3)}function Ce(Ie,Te){return we(Ie,Te)+"000"}function Ge(Ie,Te){return g(Ie.getUTCMonth()+1,Te,2)}function He(Ie,Te){return g(Ie.getUTCMinutes(),Te,2)}function De(Ie,Te){return g(Ie.getUTCSeconds(),Te,2)}function Fe(Ie){var Te=Ie.getUTCDay();return Te===0?7:Te}function qe(Ie,Te){return g(v.Ox.count((0,d.Z)(Ie)-1,Ie),Te,2)}function Qe(Ie,Te){var he=Ie.getUTCDay();return Ie=he>=4||he===0?(0,v.hB)(Ie):v.hB.ceil(Ie),g(v.hB.count((0,d.Z)(Ie),Ie)+((0,d.Z)(Ie).getUTCDay()===4),Te,2)}function Je(Ie){return Ie.getUTCDay()}function tt(Ie,Te){return g(v.l6.count((0,d.Z)(Ie)-1,Ie),Te,2)}function ht(Ie,Te){return g(Ie.getUTCFullYear()%100,Te,2)}function gt(Ie,Te){return g(Ie.getUTCFullYear()%1e4,Te,4)}function yt(){return"+0000"}function Et(){return"%"}function Xe(Ie){return+Ie}function Ue(Ie){return Math.floor(+Ie/1e3)}var ze,rt,it;Ze({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",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 Ze(Ie){return ze=c(Ie),rt=ze.format,ze.parse,it=ze.utcFormat,ze.utcParse,ze}},82301:function(U,B,e){e.d(B,{a:function(){return C}});var v=e(30052),E=e(54263),a=(0,v.Z)(function(w){w.setHours(0,0,0,0)},function(w,d){w.setDate(w.getDate()+d)},function(w,d){return(d-w-(d.getTimezoneOffset()-w.getTimezoneOffset())*E.yB)/E.UD},function(w){return w.getDate()-1});B.Z=a;var C=a.range},54263:function(U,B,e){e.d(B,{UD:function(){return C},Y2:function(){return a},Ym:function(){return v},iM:function(){return w},yB:function(){return E}});var v=1e3,E=6e4,a=36e5,C=864e5,w=6048e5},81041:function(U,B,e){e.r(B),e.d(B,{timeDay:function(){return g.Z},timeDays:function(){return g.a},timeFriday:function(){return h.mC},timeFridays:function(){return h.b$},timeHour:function(){return u},timeHours:function(){return i},timeInterval:function(){return v.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return C},timeMinute:function(){return c},timeMinutes:function(){return o},timeMonday:function(){return h.wA},timeMondays:function(){return h.bJ},timeMonth:function(){return f},timeMonths:function(){return l},timeSaturday:function(){return h.EY},timeSaturdays:function(){return h.Ff},timeSecond:function(){return p},timeSeconds:function(){return t},timeSunday:function(){return h.OM},timeSundays:function(){return h.vm},timeThursday:function(){return h.bL},timeThursdays:function(){return h.$t},timeTuesday:function(){return h.sy},timeTuesdays:function(){return h.aU},timeWednesday:function(){return h.zg},timeWednesdays:function(){return h.Ld},timeWeek:function(){return h.OM},timeWeeks:function(){return h.vm},timeYear:function(){return y.Z},timeYears:function(){return y.g},utcDay:function(){return s.Z},utcDays:function(){return s.y},utcFriday:function(){return _.QQ},utcFridays:function(){return _.fz},utcHour:function(){return M},utcHours:function(){return b},utcMillisecond:function(){return a},utcMilliseconds:function(){return C},utcMinute:function(){return S},utcMinutes:function(){return L},utcMonday:function(){return _.l6},utcMondays:function(){return _.$3},utcMonth:function(){return D},utcMonths:function(){return F},utcSaturday:function(){return _.g4},utcSaturdays:function(){return _.Q_},utcSecond:function(){return p},utcSeconds:function(){return t},utcSunday:function(){return _.Ox},utcSundays:function(){return _.SU},utcThursday:function(){return _.hB},utcThursdays:function(){return _.xj},utcTuesday:function(){return _.J1},utcTuesdays:function(){return _.DK},utcWednesday:function(){return _.b3},utcWednesdays:function(){return _.uy},utcWeek:function(){return _.Ox},utcWeeks:function(){return _.SU},utcYear:function(){return G.Z},utcYears:function(){return G.D}});var v=e(30052),E=(0,v.Z)(function(){},function(O,H){O.setTime(+O+H)},function(O,H){return H-O});E.every=function(O){return O=Math.floor(O),!isFinite(O)||!(O>0)?null:O>1?(0,v.Z)(function(H){H.setTime(Math.floor(H/O)*O)},function(H,z){H.setTime(+H+z*O)},function(H,z){return(z-H)/O}):E};var a=E,C=E.range,w=e(54263),d=(0,v.Z)(function(O){O.setTime(O-O.getMilliseconds())},function(O,H){O.setTime(+O+H*w.Ym)},function(O,H){return(H-O)/w.Ym},function(O){return O.getUTCSeconds()}),p=d,t=d.range,r=(0,v.Z)(function(O){O.setTime(O-O.getMilliseconds()-O.getSeconds()*w.Ym)},function(O,H){O.setTime(+O+H*w.yB)},function(O,H){return(H-O)/w.yB},function(O){return O.getMinutes()}),c=r,o=r.range,n=(0,v.Z)(function(O){O.setTime(O-O.getMilliseconds()-O.getSeconds()*w.Ym-O.getMinutes()*w.yB)},function(O,H){O.setTime(+O+H*w.Y2)},function(O,H){return(H-O)/w.Y2},function(O){return O.getHours()}),u=n,i=n.range,g=e(82301),h=e(59879),x=(0,v.Z)(function(O){O.setDate(1),O.setHours(0,0,0,0)},function(O,H){O.setMonth(O.getMonth()+H)},function(O,H){return H.getMonth()-O.getMonth()+(H.getFullYear()-O.getFullYear())*12},function(O){return O.getMonth()}),f=x,l=x.range,y=e(34823),T=(0,v.Z)(function(O){O.setUTCSeconds(0,0)},function(O,H){O.setTime(+O+H*w.yB)},function(O,H){return(H-O)/w.yB},function(O){return O.getUTCMinutes()}),S=T,L=T.range,m=(0,v.Z)(function(O){O.setUTCMinutes(0,0,0)},function(O,H){O.setTime(+O+H*w.Y2)},function(O,H){return(H-O)/w.Y2},function(O){return O.getUTCHours()}),M=m,b=m.range,s=e(48480),_=e(58176),A=(0,v.Z)(function(O){O.setUTCDate(1),O.setUTCHours(0,0,0,0)},function(O,H){O.setUTCMonth(O.getUTCMonth()+H)},function(O,H){return H.getUTCMonth()-O.getUTCMonth()+(H.getUTCFullYear()-O.getUTCFullYear())*12},function(O){return O.getUTCMonth()}),D=A,F=A.range,G=e(79791)},30052:function(U,B,e){e.d(B,{Z:function(){return a}});var v=new Date,E=new Date;function a(C,w,d,p){function t(r){return C(r=arguments.length===0?new Date:new Date(+r)),r}return t.floor=function(r){return C(r=new Date(+r)),r},t.ceil=function(r){return C(r=new Date(r-1)),w(r,1),C(r),r},t.round=function(r){var c=t(r),o=t.ceil(r);return r-c0))return n;do n.push(u=new Date(+r)),w(r,o),C(r);while(u=c)for(;C(c),!r(c);)c.setTime(c-1)},function(c,o){if(c>=c)if(o<0)for(;++o<=0;)for(;w(c,-1),!r(c););else for(;--o>=0;)for(;w(c,1),!r(c););})},d&&(t.count=function(r,c){return v.setTime(+r),E.setTime(+c),C(v),C(E),Math.floor(d(v,E))},t.every=function(r){return r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?t.filter(p?function(c){return p(c)%r===0}:function(c){return t.count(0,c)%r===0}):t}),t}},48480:function(U,B,e){e.d(B,{y:function(){return C}});var v=e(30052),E=e(54263),a=(0,v.Z)(function(w){w.setUTCHours(0,0,0,0)},function(w,d){w.setUTCDate(w.getUTCDate()+d)},function(w,d){return(d-w)/E.UD},function(w){return w.getUTCDate()-1});B.Z=a;var C=a.range},58176:function(U,B,e){e.d(B,{$3:function(){return n},DK:function(){return u},J1:function(){return d},Ox:function(){return C},QQ:function(){return r},Q_:function(){return x},SU:function(){return o},b3:function(){return p},fz:function(){return h},g4:function(){return c},hB:function(){return t},l6:function(){return w},uy:function(){return i},xj:function(){return g}});var v=e(30052),E=e(54263);function a(f){return(0,v.Z)(function(l){l.setUTCDate(l.getUTCDate()-(l.getUTCDay()+7-f)%7),l.setUTCHours(0,0,0,0)},function(l,y){l.setUTCDate(l.getUTCDate()+y*7)},function(l,y){return(y-l)/E.iM})}var C=a(0),w=a(1),d=a(2),p=a(3),t=a(4),r=a(5),c=a(6),o=C.range,n=w.range,u=d.range,i=p.range,g=t.range,h=r.range,x=c.range},79791:function(U,B,e){e.d(B,{D:function(){return a}});var v=e(30052),E=(0,v.Z)(function(C){C.setUTCMonth(0,1),C.setUTCHours(0,0,0,0)},function(C,w){C.setUTCFullYear(C.getUTCFullYear()+w)},function(C,w){return w.getUTCFullYear()-C.getUTCFullYear()},function(C){return C.getUTCFullYear()});E.every=function(C){return!isFinite(C=Math.floor(C))||!(C>0)?null:(0,v.Z)(function(w){w.setUTCFullYear(Math.floor(w.getUTCFullYear()/C)*C),w.setUTCMonth(0,1),w.setUTCHours(0,0,0,0)},function(w,d){w.setUTCFullYear(w.getUTCFullYear()+d*C)})},B.Z=E;var a=E.range},59879:function(U,B,e){e.d(B,{$t:function(){return g},EY:function(){return c},Ff:function(){return x},Ld:function(){return i},OM:function(){return C},aU:function(){return u},b$:function(){return h},bJ:function(){return n},bL:function(){return t},mC:function(){return r},sy:function(){return d},vm:function(){return o},wA:function(){return w},zg:function(){return p}});var v=e(30052),E=e(54263);function a(f){return(0,v.Z)(function(l){l.setDate(l.getDate()-(l.getDay()+7-f)%7),l.setHours(0,0,0,0)},function(l,y){l.setDate(l.getDate()+y*7)},function(l,y){return(y-l-(y.getTimezoneOffset()-l.getTimezoneOffset())*E.yB)/E.iM})}var C=a(0),w=a(1),d=a(2),p=a(3),t=a(4),r=a(5),c=a(6),o=C.range,n=w.range,u=d.range,i=p.range,g=t.range,h=r.range,x=c.range},34823:function(U,B,e){e.d(B,{g:function(){return a}});var v=e(30052),E=(0,v.Z)(function(C){C.setMonth(0,1),C.setHours(0,0,0,0)},function(C,w){C.setFullYear(C.getFullYear()+w)},function(C,w){return w.getFullYear()-C.getFullYear()},function(C){return C.getFullYear()});E.every=function(C){return!isFinite(C=Math.floor(C))||!(C>0)?null:(0,v.Z)(function(w){w.setFullYear(Math.floor(w.getFullYear()/C)*C),w.setMonth(0,1),w.setHours(0,0,0,0)},function(w,d){w.setFullYear(w.getFullYear()+d*C)})},B.Z=E;var a=E.range},17045:function(U,B,e){var v=e(8709),E=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",a=Object.prototype.toString,C=Array.prototype.concat,w=Object.defineProperty,d=function(o){return typeof o=="function"&&a.call(o)==="[object Function]"},p=e(55622)(),t=w&&p,r=function(o,n,u,i){if(n in o){if(i===!0){if(o[n]===u)return}else if(!d(i)||!i())return}t?w(o,n,{configurable:!0,enumerable:!1,value:u,writable:!0}):o[n]=u},c=function(o,n){var u=arguments.length>2?arguments[2]:{},i=v(n);E&&(i=C.call(i,Object.getOwnPropertySymbols(n)));for(var g=0;gt*r){var i=(u-n)/t;d[o]=i*1e3}}return d}function a(C){for(var w=[],d=C[0];d<=C[1];d++)for(var p=String.fromCharCode(d),t=C[0];t"u"&&(a=0),typeof E){case"number":if(E>0)return e(E|0,a);break;case"object":if(typeof E.length=="number")return B(E,a,0);break}return[]}U.exports=v},11474:function(U){U.exports=B,U.exports.default=B;function B(F,G,O){O=O||2;var H=G&&G.length,z=H?G[0]*O:F.length,k=e(F,0,z,O,!0),V=[];if(!k||k.next===k.prev)return V;var Z,ee,Q,ne,fe,$,Y;if(H&&(k=p(F,G,k,O)),F.length>80*O){Z=Q=F[0],ee=ne=F[1];for(var j=O;jQ&&(Q=fe),$>ne&&(ne=$);Y=Math.max(Q-Z,ne-ee),Y=Y!==0?1/Y:0}return E(k,V,O,Z,ee,Y),V}function e(F,G,O,H,z){var k,V;if(z===D(F,G,O,H)>0)for(k=G;k=G;k-=H)V=s(k,F[k],F[k+1],V);return V&&l(V,V.next)&&(_(V),V=V.next),V}function v(F,G){if(!F)return F;G||(G=F);var O=F,H;do if(H=!1,!O.steiner&&(l(O,O.next)||f(O.prev,O,O.next)===0)){if(_(O),O=G=O.prev,O===O.next)break;H=!0}else O=O.next;while(H||O!==G);return G}function E(F,G,O,H,z,k,V){if(F){!V&&k&&n(F,H,z,k);for(var Z=F,ee,Q;F.prev!==F.next;){if(ee=F.prev,Q=F.next,k?C(F,H,z,k):a(F)){G.push(ee.i/O),G.push(F.i/O),G.push(Q.i/O),_(F),F=Q.next,Z=Q.next;continue}if(F=Q,F===Z){V?V===1?(F=w(v(F),G,O),E(F,G,O,H,z,k,2)):V===2&&d(F,G,O,H,z,k):E(v(F),G,O,H,z,k,1);break}}}}function a(F){var G=F.prev,O=F,H=F.next;if(f(G,O,H)>=0)return!1;for(var z=F.next.next;z!==F.prev;){if(h(G.x,G.y,O.x,O.y,H.x,H.y,z.x,z.y)&&f(z.prev,z,z.next)>=0)return!1;z=z.next}return!0}function C(F,G,O,H){var z=F.prev,k=F,V=F.next;if(f(z,k,V)>=0)return!1;for(var Z=z.xk.x?z.x>V.x?z.x:V.x:k.x>V.x?k.x:V.x,ne=z.y>k.y?z.y>V.y?z.y:V.y:k.y>V.y?k.y:V.y,fe=i(Z,ee,G,O,H),$=i(Q,ne,G,O,H),Y=F.prevZ,j=F.nextZ;Y&&Y.z>=fe&&j&&j.z<=$;){if(Y!==F.prev&&Y!==F.next&&h(z.x,z.y,k.x,k.y,V.x,V.y,Y.x,Y.y)&&f(Y.prev,Y,Y.next)>=0||(Y=Y.prevZ,j!==F.prev&&j!==F.next&&h(z.x,z.y,k.x,k.y,V.x,V.y,j.x,j.y)&&f(j.prev,j,j.next)>=0))return!1;j=j.nextZ}for(;Y&&Y.z>=fe;){if(Y!==F.prev&&Y!==F.next&&h(z.x,z.y,k.x,k.y,V.x,V.y,Y.x,Y.y)&&f(Y.prev,Y,Y.next)>=0)return!1;Y=Y.prevZ}for(;j&&j.z<=$;){if(j!==F.prev&&j!==F.next&&h(z.x,z.y,k.x,k.y,V.x,V.y,j.x,j.y)&&f(j.prev,j,j.next)>=0)return!1;j=j.nextZ}return!0}function w(F,G,O){var H=F;do{var z=H.prev,k=H.next.next;!l(z,k)&&y(z,H,H.next,k)&&m(z,k)&&m(k,z)&&(G.push(z.i/O),G.push(H.i/O),G.push(k.i/O),_(H),_(H.next),H=F=k),H=H.next}while(H!==F);return v(H)}function d(F,G,O,H,z,k){var V=F;do{for(var Z=V.next.next;Z!==V.prev;){if(V.i!==Z.i&&x(V,Z)){var ee=b(V,Z);V=v(V,V.next),ee=v(ee,ee.next),E(V,G,O,H,z,k),E(ee,G,O,H,z,k);return}Z=Z.next}V=V.next}while(V!==F)}function p(F,G,O,H){var z=[],k,V,Z,ee,Q;for(k=0,V=G.length;k=O.next.y&&O.next.y!==O.y){var Z=O.x+(z-O.y)*(O.next.x-O.x)/(O.next.y-O.y);if(Z<=H&&Z>k){if(k=Z,Z===H){if(z===O.y)return O;if(z===O.next.y)return O.next}V=O.x=O.x&&O.x>=Q&&H!==O.x&&h(zV.x||O.x===V.x&&o(V,O)))&&(V=O,fe=$)),O=O.next;while(O!==ee);return V}function o(F,G){return f(F.prev,F,G.prev)<0&&f(G.next,F,F.next)<0}function n(F,G,O,H){var z=F;do z.z===null&&(z.z=i(z.x,z.y,G,O,H)),z.prevZ=z.prev,z.nextZ=z.next,z=z.next;while(z!==F);z.prevZ.nextZ=null,z.prevZ=null,u(z)}function u(F){var G,O,H,z,k,V,Z,ee,Q=1;do{for(O=F,F=null,k=null,V=0;O;){for(V++,H=O,Z=0,G=0;G0||ee>0&&H;)Z!==0&&(ee===0||!H||O.z<=H.z)?(z=O,O=O.nextZ,Z--):(z=H,H=H.nextZ,ee--),k?k.nextZ=z:F=z,z.prevZ=k,k=z;O=H}k.nextZ=null,Q*=2}while(V>1);return F}function i(F,G,O,H,z){return F=32767*(F-O)*z,G=32767*(G-H)*z,F=(F|F<<8)&16711935,F=(F|F<<4)&252645135,F=(F|F<<2)&858993459,F=(F|F<<1)&1431655765,G=(G|G<<8)&16711935,G=(G|G<<4)&252645135,G=(G|G<<2)&858993459,G=(G|G<<1)&1431655765,F|G<<1}function g(F){var G=F,O=F;do(G.x=0&&(F-V)*(H-Z)-(O-V)*(G-Z)>=0&&(O-V)*(k-Z)-(z-V)*(H-Z)>=0}function x(F,G){return F.next.i!==G.i&&F.prev.i!==G.i&&!L(F,G)&&(m(F,G)&&m(G,F)&&M(F,G)&&(f(F.prev,F,G.prev)||f(F,G.prev,G))||l(F,G)&&f(F.prev,F,F.next)>0&&f(G.prev,G,G.next)>0)}function f(F,G,O){return(G.y-F.y)*(O.x-G.x)-(G.x-F.x)*(O.y-G.y)}function l(F,G){return F.x===G.x&&F.y===G.y}function y(F,G,O,H){var z=S(f(F,G,O)),k=S(f(F,G,H)),V=S(f(O,H,F)),Z=S(f(O,H,G));return!!(z!==k&&V!==Z||z===0&&T(F,O,G)||k===0&&T(F,H,G)||V===0&&T(O,F,H)||Z===0&&T(O,G,H))}function T(F,G,O){return G.x<=Math.max(F.x,O.x)&&G.x>=Math.min(F.x,O.x)&&G.y<=Math.max(F.y,O.y)&&G.y>=Math.min(F.y,O.y)}function S(F){return F>0?1:F<0?-1:0}function L(F,G){var O=F;do{if(O.i!==F.i&&O.next.i!==F.i&&O.i!==G.i&&O.next.i!==G.i&&y(O,O.next,F,G))return!0;O=O.next}while(O!==F);return!1}function m(F,G){return f(F.prev,F,F.next)<0?f(F,G,F.next)>=0&&f(F,F.prev,G)>=0:f(F,G,F.prev)<0||f(F,F.next,G)<0}function M(F,G){var O=F,H=!1,z=(F.x+G.x)/2,k=(F.y+G.y)/2;do O.y>k!=O.next.y>k&&O.next.y!==O.y&&z<(O.next.x-O.x)*(k-O.y)/(O.next.y-O.y)+O.x&&(H=!H),O=O.next;while(O!==F);return H}function b(F,G){var O=new A(F.i,F.x,F.y),H=new A(G.i,G.x,G.y),z=F.next,k=G.prev;return F.next=G,G.prev=F,O.next=z,z.prev=O,H.next=O,O.prev=H,k.next=H,H.prev=k,H}function s(F,G,O,H){var z=new A(F,G,O);return H?(z.next=H.next,z.prev=H,H.next.prev=z,H.next=z):(z.prev=z,z.next=z),z}function _(F){F.next.prev=F.prev,F.prev.next=F.next,F.prevZ&&(F.prevZ.nextZ=F.nextZ),F.nextZ&&(F.nextZ.prevZ=F.prevZ)}function A(F,G,O){this.i=F,this.x=G,this.y=O,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}B.deviation=function(F,G,O,H){var z=G&&G.length,k=z?G[0]*O:F.length,V=Math.abs(D(F,0,k,O));if(z)for(var Z=0,ee=G.length;Z0&&(H+=F[z-1].length,O.holes.push(H))}return O}},2502:function(U,B,e){var v=e(68664);U.exports=function(a,C){var w=[],d=[],p=[],t={},r=[],c;function o(T){p[T]=!1,t.hasOwnProperty(T)&&Object.keys(t[T]).forEach(function(S){delete t[T][S],p[S]&&o(S)})}function n(T){var S=!1;d.push(T),p[T]=!0;var L,m;for(L=0;L=T})}function g(T){i(T);for(var S=a,L=v(S),m=L.components.filter(function(F){return F.length>1}),M=1/0,b,s=0;s=55296&&T<=56319&&(M+=u[++x])),M=i?c.call(i,g,M,f):M,h?(o.value=M,n(l,f,o)):l[f]=M,++f;y=f}}if(y===void 0)for(y=C(u.length),h&&(l=new h(y)),x=0;x0?1:-1}},56247:function(U,B,e){var v=e(9953),E=Math.abs,a=Math.floor;U.exports=function(C){return isNaN(C)?0:(C=Number(C),C===0||!isFinite(C)?C:v(C)*a(E(C)))}},35976:function(U,B,e){var v=e(56247),E=Math.max;U.exports=function(a){return E(0,v(a))}},67260:function(U,B,e){var v=e(78513),E=e(36672),a=Function.prototype.bind,C=Function.prototype.call,w=Object.keys,d=Object.prototype.propertyIsEnumerable;U.exports=function(p,t){return function(r,c){var o,n=arguments[2],u=arguments[3];return r=Object(E(r)),v(c),o=w(r),u&&o.sort(typeof u=="function"?a.call(u,r):void 0),typeof p!="function"&&(p=o[p]),C.call(p,o,function(i,g){return d.call(r,i)?C.call(c,n,r[i],i,r,g):t})}}},95879:function(U,B,e){U.exports=e(73583)()?Object.assign:e(34205)},73583:function(U){U.exports=function(){var B=Object.assign,e;return typeof B!="function"?!1:(e={foo:"raz"},B(e,{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},34205:function(U,B,e){var v=e(68700),E=e(36672),a=Math.max;U.exports=function(C,w){var d,p,t=a(arguments.length,2),r;for(C=Object(E(C)),r=function(c){try{C[c]=w[c]}catch(o){d||(d=o)}},p=1;p-1}},87963:function(U){var B=Object.prototype.toString,e=B.call("");U.exports=function(v){return typeof v=="string"||v&&typeof v=="object"&&(v instanceof String||B.call(v)===e)||!1}},43043:function(U){var B=Object.create(null),e=Math.random;U.exports=function(){var v;do v=e().toString(36).slice(2);while(B[v]);return v}},32411:function(U,B,e){var v=e(1496),E=e(66741),a=e(62072),C=e(8260),w=e(95426),d=Object.defineProperty,p;p=U.exports=function(t,r){if(!(this instanceof p))throw new TypeError("Constructor requires 'new'");w.call(this,t),r?E.call(r,"key+value")?r="key+value":E.call(r,"key")?r="key":r="value":r="value",d(this,"__kind__",a("",r))},v&&v(p,w),delete p.prototype.constructor,p.prototype=Object.create(w.prototype,{_resolve:a(function(t){return this.__kind__==="value"?this.__list__[t]:this.__kind__==="key+value"?[t,this.__list__[t]]:t})}),d(p.prototype,C.toStringTag,a("c","Array Iterator"))},27515:function(U,B,e){var v=e(73051),E=e(78513),a=e(87963),C=e(66661),w=Array.isArray,d=Function.prototype.call,p=Array.prototype.some;U.exports=function(t,r){var c,o=arguments[2],n,u,i,g,h,x,f;if(w(t)||v(t)?c="array":a(t)?c="string":t=C(t),E(r),u=function(){i=!0},c==="array"){p.call(t,function(l){return d.call(r,o,l,u),i});return}if(c==="string"){for(h=t.length,g=0;g=55296&&f<=56319&&(x+=t[++g])),d.call(r,o,x,u),!i);++g);return}for(n=t.next();!n.done;){if(d.call(r,o,n.value,u),i)return;n=t.next()}}},66661:function(U,B,e){var v=e(73051),E=e(87963),a=e(32411),C=e(259),w=e(58095),d=e(8260).iterator;U.exports=function(p){return typeof w(p)[d]=="function"?p[d]():v(p)?new a(p):E(p)?new C(p):new a(p)}},95426:function(U,B,e){var v=e(16134),E=e(95879),a=e(78513),C=e(36672),w=e(62072),d=e(55174),p=e(8260),t=Object.defineProperty,r=Object.defineProperties,c;U.exports=c=function(o,n){if(!(this instanceof c))throw new TypeError("Constructor requires 'new'");r(this,{__list__:w("w",C(o)),__context__:w("w",n),__nextIndex__:w("w",0)}),n&&(a(n.on),n.on("_add",this._onAdd),n.on("_delete",this._onDelete),n.on("_clear",this._onClear))},delete c.prototype.constructor,r(c.prototype,E({_next:w(function(){var o;if(this.__list__){if(this.__redo__&&(o=this.__redo__.shift(),o!==void 0))return o;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){t(this,"__redo__",w("c",[o]));return}this.__redo__.forEach(function(n,u){n>=o&&(this.__redo__[u]=++n)},this),this.__redo__.push(o)}}),_onDelete:w(function(o){var n;o>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(n=this.__redo__.indexOf(o),n!==-1&&this.__redo__.splice(n,1),this.__redo__.forEach(function(u,i){u>o&&(this.__redo__[i]=--u)},this)))}),_onClear:w(function(){this.__redo__&&v.call(this.__redo__),this.__nextIndex__=0})}))),t(c.prototype,p.iterator,w(function(){return this}))},35940:function(U,B,e){var v=e(73051),E=e(95296),a=e(87963),C=e(8260).iterator,w=Array.isArray;U.exports=function(d){return E(d)?w(d)||a(d)||v(d)?!0:typeof d[C]=="function":!1}},259:function(U,B,e){var v=e(1496),E=e(62072),a=e(8260),C=e(95426),w=Object.defineProperty,d;d=U.exports=function(p){if(!(this instanceof d))throw new TypeError("Constructor requires 'new'");p=String(p),C.call(this,p),w(this,"__length__",E("",p.length))},v&&v(d,C),delete d.prototype.constructor,d.prototype=Object.create(C.prototype,{_next:E(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})}),w(d.prototype,a.toStringTag,E("c","String Iterator"))},58095:function(U,B,e){var v=e(35940);U.exports=function(E){if(!v(E))throw new TypeError(E+" is not iterable");return E}},73523:function(U){function B(v,E){if(v==null)throw new TypeError("Cannot convert first argument to object");for(var a=Object(v),C=1;C0&&(M=T[0]),M instanceof Error)throw M;var b=new Error("Unhandled error."+(M?" ("+M.message+")":""));throw b.context=M,b}var s=m[y];if(s===void 0)return!1;if(typeof s=="function")e(s,this,T);else for(var _=s.length,A=u(s,_),S=0;S<_;++S)e(A[S],this,T);return!0};function t(l,y,T,S){var L,m,M;if(d(T),m=l._events,m===void 0?(m=l._events=Object.create(null),l._eventsCount=0):(m.newListener!==void 0&&(l.emit("newListener",y,T.listener?T.listener:T),m=l._events),M=m[y]),M===void 0)M=m[y]=T,++l._eventsCount;else if(typeof M=="function"?M=m[y]=S?[T,M]:[M,T]:S?M.unshift(T):M.push(T),L=p(l),L>0&&M.length>L&&!M.warned){M.warned=!0;var b=new Error("Possible EventEmitter memory leak detected. "+M.length+" "+String(y)+" listeners added. Use emitter.setMaxListeners() to increase limit");b.name="MaxListenersExceededWarning",b.emitter=l,b.type=y,b.count=M.length,E(b)}return l}C.prototype.addListener=function(y,T){return t(this,y,T,!1)},C.prototype.on=C.prototype.addListener,C.prototype.prependListener=function(y,T){return t(this,y,T,!0)};function r(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function c(l,y,T){var S={fired:!1,wrapFn:void 0,target:l,type:y,listener:T},L=r.bind(S);return L.listener=T,S.wrapFn=L,L}C.prototype.once=function(y,T){return d(T),this.on(y,c(this,y,T)),this},C.prototype.prependOnceListener=function(y,T){return d(T),this.prependListener(y,c(this,y,T)),this},C.prototype.removeListener=function(y,T){var S,L,m,M,b;if(d(T),L=this._events,L===void 0)return this;if(S=L[y],S===void 0)return this;if(S===T||S.listener===T)--this._eventsCount===0?this._events=Object.create(null):(delete L[y],L.removeListener&&this.emit("removeListener",y,S.listener||T));else if(typeof S!="function"){for(m=-1,M=S.length-1;M>=0;M--)if(S[M]===T||S[M].listener===T){b=S[M].listener,m=M;break}if(m<0)return this;m===0?S.shift():i(S,m),S.length===1&&(L[y]=S[0]),L.removeListener!==void 0&&this.emit("removeListener",y,b||T)}return this},C.prototype.off=C.prototype.removeListener,C.prototype.removeAllListeners=function(y){var T,S,L;if(S=this._events,S===void 0)return this;if(S.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):S[y]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete S[y]),this;if(arguments.length===0){var m=Object.keys(S),M;for(L=0;L=0;L--)this.removeListener(y,T[L]);return this};function o(l,y,T){var S=l._events;if(S===void 0)return[];var L=S[y];return L===void 0?[]:typeof L=="function"?T?[L.listener||L]:[L]:T?g(L):u(L,L.length)}C.prototype.listeners=function(y){return o(this,y,!0)},C.prototype.rawListeners=function(y){return o(this,y,!1)},C.listenerCount=function(l,y){return typeof l.listenerCount=="function"?l.listenerCount(y):n.call(l,y)},C.prototype.listenerCount=n;function n(l){var y=this._events;if(y!==void 0){var T=y[l];if(typeof T=="function")return 1;if(T!==void 0)return T.length}return 0}C.prototype.eventNames=function(){return this._eventsCount>0?v(this._events):[]};function u(l,y){for(var T=new Array(y),S=0;Sw[0]-t[0]/2&&(i=t[0]/2,g+=t[1]);return d}},32879:function(U){U.exports=B,B.canvas=document.createElement("canvas"),B.cache={};function B(r,C){C||(C={}),(typeof r=="string"||Array.isArray(r))&&(C.family=r);var w=Array.isArray(C.family)?C.family.join(", "):C.family;if(!w)throw Error("`family` must be defined");var d=C.size||C.fontSize||C.em||48,p=C.weight||C.fontWeight||"",t=C.style||C.fontStyle||"",r=[t,p,d].join(" ")+"px "+w,c=C.origin||"top";if(B.cache[w]&&d<=B.cache[w].em)return e(B.cache[w],c);var o=C.canvas||B.canvas,n=o.getContext("2d"),u={upper:C.upper!==void 0?C.upper:"H",lower:C.lower!==void 0?C.lower:"x",descent:C.descent!==void 0?C.descent:"p",ascent:C.ascent!==void 0?C.ascent:"h",tittle:C.tittle!==void 0?C.tittle:"i",overshoot:C.overshoot!==void 0?C.overshoot:"O"},i=Math.ceil(d*1.5);o.height=i,o.width=i*.5,n.font=r;var g="H",h={top:0};n.clearRect(0,0,i,i),n.textBaseline="top",n.fillStyle="black",n.fillText(g,0,0);var x=v(n.getImageData(0,0,i,i));n.clearRect(0,0,i,i),n.textBaseline="bottom",n.fillText(g,0,i);var f=v(n.getImageData(0,0,i,i));h.lineHeight=h.bottom=i-f+x,n.clearRect(0,0,i,i),n.textBaseline="alphabetic",n.fillText(g,0,i);var l=v(n.getImageData(0,0,i,i)),y=i-l-1+x;h.baseline=h.alphabetic=y,n.clearRect(0,0,i,i),n.textBaseline="middle",n.fillText(g,0,i*.5);var T=v(n.getImageData(0,0,i,i));h.median=h.middle=i-T-1+x-i*.5,n.clearRect(0,0,i,i),n.textBaseline="hanging",n.fillText(g,0,i*.5);var S=v(n.getImageData(0,0,i,i));h.hanging=i-S-1+x-i*.5,n.clearRect(0,0,i,i),n.textBaseline="ideographic",n.fillText(g,0,i);var L=v(n.getImageData(0,0,i,i));if(h.ideographic=i-L-1+x,u.upper&&(n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.upper,0,0),h.upper=v(n.getImageData(0,0,i,i)),h.capHeight=h.baseline-h.upper),u.lower&&(n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.lower,0,0),h.lower=v(n.getImageData(0,0,i,i)),h.xHeight=h.baseline-h.lower),u.tittle&&(n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.tittle,0,0),h.tittle=v(n.getImageData(0,0,i,i))),u.ascent&&(n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.ascent,0,0),h.ascent=v(n.getImageData(0,0,i,i))),u.descent&&(n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.descent,0,0),h.descent=E(n.getImageData(0,0,i,i))),u.overshoot){n.clearRect(0,0,i,i),n.textBaseline="top",n.fillText(u.overshoot,0,0);var m=E(n.getImageData(0,0,i,i));h.overshoot=m-y}for(var M in h)h[M]/=d;return h.em=d,B.cache[w]=h,e(h,c)}function e(a,C){var w={};typeof C=="string"&&(C=a[C]);for(var d in a)d!=="em"&&(w[d]=a[d]-C);return w}function v(a){for(var C=a.height,w=a.data,d=3;d0;d-=4)if(w[d]!==0)return Math.floor((d-3)*.25/C)}},31353:function(U,B,e){var v=e(85395),E=Object.prototype.toString,a=Object.prototype.hasOwnProperty,C=function(r,c,o){for(var n=0,u=r.length;n=3&&(n=o),E.call(r)==="[object Array]"?C(r,c,n):typeof r=="string"?w(r,c,n):d(r,c,n)};U.exports=p},73047:function(U){var B="Function.prototype.bind called on incompatible ",e=Array.prototype.slice,v=Object.prototype.toString,E="[object Function]";U.exports=function(C){var w=this;if(typeof w!="function"||v.call(w)!==E)throw new TypeError(B+w);for(var d=e.call(arguments,1),p,t=function(){if(this instanceof p){var u=w.apply(this,d.concat(e.call(arguments)));return Object(u)===u?u:this}else return w.apply(C,d.concat(e.call(arguments)))},r=Math.max(0,w.length-d.length),c=[],o=0;o"u"&&!v.canvas)return null;var E=v.canvas||document.createElement("canvas");typeof v.width=="number"&&(E.width=v.width),typeof v.height=="number"&&(E.height=v.height);var a=v,C;try{var w=[e];e.indexOf("webgl")===0&&w.push("experimental-"+e);for(var d=0;d"u"?v:c(Uint8Array),u={"%AggregateError%":typeof AggregateError>"u"?v:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?v:ArrayBuffer,"%ArrayIteratorPrototype%":r?c([][Symbol.iterator]()):v,"%AsyncFromSyncIteratorPrototype%":v,"%AsyncFunction%":o,"%AsyncGenerator%":o,"%AsyncGeneratorFunction%":o,"%AsyncIteratorPrototype%":o,"%Atomics%":typeof Atomics>"u"?v:Atomics,"%BigInt%":typeof BigInt>"u"?v:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?v:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?v:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?v:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?v:Float32Array,"%Float64Array%":typeof Float64Array>"u"?v:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?v:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":o,"%Int8Array%":typeof Int8Array>"u"?v:Int8Array,"%Int16Array%":typeof Int16Array>"u"?v:Int16Array,"%Int32Array%":typeof Int32Array>"u"?v:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":r?c(c([][Symbol.iterator]())):v,"%JSON%":typeof JSON=="object"?JSON:v,"%Map%":typeof Map>"u"?v:Map,"%MapIteratorPrototype%":typeof Map>"u"||!r?v:c(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?v:Promise,"%Proxy%":typeof Proxy>"u"?v:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?v:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?v:Set,"%SetIteratorPrototype%":typeof Set>"u"||!r?v:c(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?v:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":r?c(""[Symbol.iterator]()):v,"%Symbol%":r?Symbol:v,"%SyntaxError%":E,"%ThrowTypeError%":t,"%TypedArray%":n,"%TypeError%":C,"%Uint8Array%":typeof Uint8Array>"u"?v:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?v:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?v:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?v:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?v:WeakMap,"%WeakRef%":typeof WeakRef>"u"?v:WeakRef,"%WeakSet%":typeof WeakSet>"u"?v:WeakSet};try{null.error}catch(_){var i=c(c(_));u["%Error.prototype%"]=i}var g=function _(A){var D;if(A==="%AsyncFunction%")D=w("async function () {}");else if(A==="%GeneratorFunction%")D=w("function* () {}");else if(A==="%AsyncGeneratorFunction%")D=w("async function* () {}");else if(A==="%AsyncGenerator%"){var F=_("%AsyncGeneratorFunction%");F&&(D=F.prototype)}else if(A==="%AsyncIteratorPrototype%"){var G=_("%AsyncGenerator%");G&&(D=c(G.prototype))}return u[A]=D,D},h={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},x=e(77575),f=e(35065),l=x.call(Function.call,Array.prototype.concat),y=x.call(Function.apply,Array.prototype.splice),T=x.call(Function.call,String.prototype.replace),S=x.call(Function.call,String.prototype.slice),L=x.call(Function.call,RegExp.prototype.exec),m=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,M=/\\(\\)?/g,b=function(A){var D=S(A,0,1),F=S(A,-1);if(D==="%"&&F!=="%")throw new E("invalid intrinsic syntax, expected closing `%`");if(F==="%"&&D!=="%")throw new E("invalid intrinsic syntax, expected opening `%`");var G=[];return T(A,m,function(O,H,z,k){G[G.length]=z?T(k,M,"$1"):H||O}),G},s=function(A,D){var F=A,G;if(f(h,F)&&(G=h[F],F="%"+G[0]+"%"),f(u,F)){var O=u[F];if(O===o&&(O=g(F)),typeof O>"u"&&!D)throw new C("intrinsic "+A+" exists, but is not available. Please file an issue!");return{alias:G,name:F,value:O}}throw new E("intrinsic "+A+" does not exist!")};U.exports=function(A,D){if(typeof A!="string"||A.length===0)throw new C("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof D!="boolean")throw new C('"allowMissing" argument must be a boolean');if(L(/^%?[^%]*%?$/,A)===null)throw new E("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var F=b(A),G=F.length>0?F[0]:"",O=s("%"+G+"%",D),H=O.name,z=O.value,k=!1,V=O.alias;V&&(G=V[0],y(F,l([0,1],V)));for(var Z=1,ee=!0;Z=F.length){var $=d(z,Q);ee=!!$,ee&&"get"in $&&!("originalValue"in $.get)?z=$.get:z=z[Q]}else ee=f(z,Q),z=z[Q];ee&&!k&&(u[H]=z)}}return z}},85400:function(U){U.exports=B;function B(e,v){var E=v[0],a=v[1],C=v[2],w=v[3],d=v[4],p=v[5],t=v[6],r=v[7],c=v[8],o=v[9],n=v[10],u=v[11],i=v[12],g=v[13],h=v[14],x=v[15];return e[0]=p*(n*x-u*h)-o*(t*x-r*h)+g*(t*u-r*n),e[1]=-(a*(n*x-u*h)-o*(C*x-w*h)+g*(C*u-w*n)),e[2]=a*(t*x-r*h)-p*(C*x-w*h)+g*(C*r-w*t),e[3]=-(a*(t*u-r*n)-p*(C*u-w*n)+o*(C*r-w*t)),e[4]=-(d*(n*x-u*h)-c*(t*x-r*h)+i*(t*u-r*n)),e[5]=E*(n*x-u*h)-c*(C*x-w*h)+i*(C*u-w*n),e[6]=-(E*(t*x-r*h)-d*(C*x-w*h)+i*(C*r-w*t)),e[7]=E*(t*u-r*n)-d*(C*u-w*n)+c*(C*r-w*t),e[8]=d*(o*x-u*g)-c*(p*x-r*g)+i*(p*u-r*o),e[9]=-(E*(o*x-u*g)-c*(a*x-w*g)+i*(a*u-w*o)),e[10]=E*(p*x-r*g)-d*(a*x-w*g)+i*(a*r-w*p),e[11]=-(E*(p*u-r*o)-d*(a*u-w*o)+c*(a*r-w*p)),e[12]=-(d*(o*h-n*g)-c*(p*h-t*g)+i*(p*n-t*o)),e[13]=E*(o*h-n*g)-c*(a*h-C*g)+i*(a*n-C*o),e[14]=-(E*(p*h-t*g)-d*(a*h-C*g)+i*(a*t-C*p)),e[15]=E*(p*n-t*o)-d*(a*n-C*o)+c*(a*t-C*p),e}},42331:function(U){U.exports=B;function B(e){var v=new Float32Array(16);return v[0]=e[0],v[1]=e[1],v[2]=e[2],v[3]=e[3],v[4]=e[4],v[5]=e[5],v[6]=e[6],v[7]=e[7],v[8]=e[8],v[9]=e[9],v[10]=e[10],v[11]=e[11],v[12]=e[12],v[13]=e[13],v[14]=e[14],v[15]=e[15],v}},31042:function(U){U.exports=B;function B(e,v){return e[0]=v[0],e[1]=v[1],e[2]=v[2],e[3]=v[3],e[4]=v[4],e[5]=v[5],e[6]=v[6],e[7]=v[7],e[8]=v[8],e[9]=v[9],e[10]=v[10],e[11]=v[11],e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15],e}},11902:function(U){U.exports=B;function B(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},89887:function(U){U.exports=B;function B(e){var v=e[0],E=e[1],a=e[2],C=e[3],w=e[4],d=e[5],p=e[6],t=e[7],r=e[8],c=e[9],o=e[10],n=e[11],u=e[12],i=e[13],g=e[14],h=e[15],x=v*d-E*w,f=v*p-a*w,l=v*t-C*w,y=E*p-a*d,T=E*t-C*d,S=a*t-C*p,L=r*i-c*u,m=r*g-o*u,M=r*h-n*u,b=c*g-o*i,s=c*h-n*i,_=o*h-n*g;return x*_-f*s+l*b+y*M-T*m+S*L}},27812:function(U){U.exports=B;function B(e,v){var E=v[0],a=v[1],C=v[2],w=v[3],d=E+E,p=a+a,t=C+C,r=E*d,c=a*d,o=a*p,n=C*d,u=C*p,i=C*t,g=w*d,h=w*p,x=w*t;return e[0]=1-o-i,e[1]=c+x,e[2]=n-h,e[3]=0,e[4]=c-x,e[5]=1-r-i,e[6]=u+g,e[7]=0,e[8]=n+h,e[9]=u-g,e[10]=1-r-o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},34045:function(U){U.exports=B;function B(e,v,E){var a,C,w,d=E[0],p=E[1],t=E[2],r=Math.sqrt(d*d+p*p+t*t);return Math.abs(r)<1e-6?null:(r=1/r,d*=r,p*=r,t*=r,a=Math.sin(v),C=Math.cos(v),w=1-C,e[0]=d*d*w+C,e[1]=p*d*w+t*a,e[2]=t*d*w-p*a,e[3]=0,e[4]=d*p*w-t*a,e[5]=p*p*w+C,e[6]=t*p*w+d*a,e[7]=0,e[8]=d*t*w+p*a,e[9]=p*t*w-d*a,e[10]=t*t*w+C,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}},45973:function(U){U.exports=B;function B(e,v,E){var a=v[0],C=v[1],w=v[2],d=v[3],p=a+a,t=C+C,r=w+w,c=a*p,o=a*t,n=a*r,u=C*t,i=C*r,g=w*r,h=d*p,x=d*t,f=d*r;return e[0]=1-(u+g),e[1]=o+f,e[2]=n-x,e[3]=0,e[4]=o-f,e[5]=1-(c+g),e[6]=i+h,e[7]=0,e[8]=n+x,e[9]=i-h,e[10]=1-(c+u),e[11]=0,e[12]=E[0],e[13]=E[1],e[14]=E[2],e[15]=1,e}},81472:function(U){U.exports=B;function B(e,v){return e[0]=v[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=v[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=v[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},14669:function(U){U.exports=B;function B(e,v){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=v[0],e[13]=v[1],e[14]=v[2],e[15]=1,e}},75262:function(U){U.exports=B;function B(e,v){var E=Math.sin(v),a=Math.cos(v);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=E,e[7]=0,e[8]=0,e[9]=-E,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},331:function(U){U.exports=B;function B(e,v){var E=Math.sin(v),a=Math.cos(v);return e[0]=a,e[1]=0,e[2]=-E,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=E,e[9]=0,e[10]=a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},11049:function(U){U.exports=B;function B(e,v){var E=Math.sin(v),a=Math.cos(v);return e[0]=a,e[1]=E,e[2]=0,e[3]=0,e[4]=-E,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},75195:function(U){U.exports=B;function B(e,v,E,a,C,w,d){var p=1/(E-v),t=1/(C-a),r=1/(w-d);return e[0]=w*2*p,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=w*2*t,e[6]=0,e[7]=0,e[8]=(E+v)*p,e[9]=(C+a)*t,e[10]=(d+w)*r,e[11]=-1,e[12]=0,e[13]=0,e[14]=d*w*2*r,e[15]=0,e}},71551:function(U){U.exports=B;function B(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}},79576:function(U,B,e){U.exports={create:e(11902),clone:e(42331),copy:e(31042),identity:e(71551),transpose:e(88654),invert:e(95874),adjoint:e(85400),determinant:e(89887),multiply:e(91362),translate:e(31283),scale:e(10789),rotate:e(65074),rotateX:e(35545),rotateY:e(94918),rotateZ:e(15692),fromRotation:e(34045),fromRotationTranslation:e(45973),fromScaling:e(81472),fromTranslation:e(14669),fromXRotation:e(75262),fromYRotation:e(331),fromZRotation:e(11049),fromQuat:e(27812),frustum:e(75195),perspective:e(7864),perspectiveFromFieldOfView:e(35279),ortho:e(60378),lookAt:e(65551),str:e(6726)}},95874:function(U){U.exports=B;function B(e,v){var E=v[0],a=v[1],C=v[2],w=v[3],d=v[4],p=v[5],t=v[6],r=v[7],c=v[8],o=v[9],n=v[10],u=v[11],i=v[12],g=v[13],h=v[14],x=v[15],f=E*p-a*d,l=E*t-C*d,y=E*r-w*d,T=a*t-C*p,S=a*r-w*p,L=C*r-w*t,m=c*g-o*i,M=c*h-n*i,b=c*x-u*i,s=o*h-n*g,_=o*x-u*g,A=n*x-u*h,D=f*A-l*_+y*s+T*b-S*M+L*m;return D?(D=1/D,e[0]=(p*A-t*_+r*s)*D,e[1]=(C*_-a*A-w*s)*D,e[2]=(g*L-h*S+x*T)*D,e[3]=(n*S-o*L-u*T)*D,e[4]=(t*b-d*A-r*M)*D,e[5]=(E*A-C*b+w*M)*D,e[6]=(h*y-i*L-x*l)*D,e[7]=(c*L-n*y+u*l)*D,e[8]=(d*_-p*b+r*m)*D,e[9]=(a*b-E*_-w*m)*D,e[10]=(i*S-g*y+x*f)*D,e[11]=(o*y-c*S-u*f)*D,e[12]=(p*M-d*s-t*m)*D,e[13]=(E*s-a*M+C*m)*D,e[14]=(g*l-i*T-h*f)*D,e[15]=(c*T-o*l+n*f)*D,e):null}},65551:function(U,B,e){var v=e(71551);U.exports=E;function E(a,C,w,d){var p,t,r,c,o,n,u,i,g,h,x=C[0],f=C[1],l=C[2],y=d[0],T=d[1],S=d[2],L=w[0],m=w[1],M=w[2];return Math.abs(x-L)<1e-6&&Math.abs(f-m)<1e-6&&Math.abs(l-M)<1e-6?v(a):(u=x-L,i=f-m,g=l-M,h=1/Math.sqrt(u*u+i*i+g*g),u*=h,i*=h,g*=h,p=T*g-S*i,t=S*u-y*g,r=y*i-T*u,h=Math.sqrt(p*p+t*t+r*r),h?(h=1/h,p*=h,t*=h,r*=h):(p=0,t=0,r=0),c=i*r-g*t,o=g*p-u*r,n=u*t-i*p,h=Math.sqrt(c*c+o*o+n*n),h?(h=1/h,c*=h,o*=h,n*=h):(c=0,o=0,n=0),a[0]=p,a[1]=c,a[2]=u,a[3]=0,a[4]=t,a[5]=o,a[6]=i,a[7]=0,a[8]=r,a[9]=n,a[10]=g,a[11]=0,a[12]=-(p*x+t*f+r*l),a[13]=-(c*x+o*f+n*l),a[14]=-(u*x+i*f+g*l),a[15]=1,a)}},91362:function(U){U.exports=B;function B(e,v,E){var a=v[0],C=v[1],w=v[2],d=v[3],p=v[4],t=v[5],r=v[6],c=v[7],o=v[8],n=v[9],u=v[10],i=v[11],g=v[12],h=v[13],x=v[14],f=v[15],l=E[0],y=E[1],T=E[2],S=E[3];return e[0]=l*a+y*p+T*o+S*g,e[1]=l*C+y*t+T*n+S*h,e[2]=l*w+y*r+T*u+S*x,e[3]=l*d+y*c+T*i+S*f,l=E[4],y=E[5],T=E[6],S=E[7],e[4]=l*a+y*p+T*o+S*g,e[5]=l*C+y*t+T*n+S*h,e[6]=l*w+y*r+T*u+S*x,e[7]=l*d+y*c+T*i+S*f,l=E[8],y=E[9],T=E[10],S=E[11],e[8]=l*a+y*p+T*o+S*g,e[9]=l*C+y*t+T*n+S*h,e[10]=l*w+y*r+T*u+S*x,e[11]=l*d+y*c+T*i+S*f,l=E[12],y=E[13],T=E[14],S=E[15],e[12]=l*a+y*p+T*o+S*g,e[13]=l*C+y*t+T*n+S*h,e[14]=l*w+y*r+T*u+S*x,e[15]=l*d+y*c+T*i+S*f,e}},60378:function(U){U.exports=B;function B(e,v,E,a,C,w,d){var p=1/(v-E),t=1/(a-C),r=1/(w-d);return e[0]=-2*p,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*r,e[11]=0,e[12]=(v+E)*p,e[13]=(C+a)*t,e[14]=(d+w)*r,e[15]=1,e}},7864:function(U){U.exports=B;function B(e,v,E,a,C){var w=1/Math.tan(v/2),d=1/(a-C);return e[0]=w/E,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=w,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(C+a)*d,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*C*a*d,e[15]=0,e}},35279:function(U){U.exports=B;function B(e,v,E,a){var C=Math.tan(v.upDegrees*Math.PI/180),w=Math.tan(v.downDegrees*Math.PI/180),d=Math.tan(v.leftDegrees*Math.PI/180),p=Math.tan(v.rightDegrees*Math.PI/180),t=2/(d+p),r=2/(C+w);return e[0]=t,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=r,e[6]=0,e[7]=0,e[8]=-((d-p)*t*.5),e[9]=(C-w)*r*.5,e[10]=a/(E-a),e[11]=-1,e[12]=0,e[13]=0,e[14]=a*E/(E-a),e[15]=0,e}},65074:function(U){U.exports=B;function B(e,v,E,a){var C=a[0],w=a[1],d=a[2],p=Math.sqrt(C*C+w*w+d*d),t,r,c,o,n,u,i,g,h,x,f,l,y,T,S,L,m,M,b,s,_,A,D,F;return Math.abs(p)<1e-6?null:(p=1/p,C*=p,w*=p,d*=p,t=Math.sin(E),r=Math.cos(E),c=1-r,o=v[0],n=v[1],u=v[2],i=v[3],g=v[4],h=v[5],x=v[6],f=v[7],l=v[8],y=v[9],T=v[10],S=v[11],L=C*C*c+r,m=w*C*c+d*t,M=d*C*c-w*t,b=C*w*c-d*t,s=w*w*c+r,_=d*w*c+C*t,A=C*d*c+w*t,D=w*d*c-C*t,F=d*d*c+r,e[0]=o*L+g*m+l*M,e[1]=n*L+h*m+y*M,e[2]=u*L+x*m+T*M,e[3]=i*L+f*m+S*M,e[4]=o*b+g*s+l*_,e[5]=n*b+h*s+y*_,e[6]=u*b+x*s+T*_,e[7]=i*b+f*s+S*_,e[8]=o*A+g*D+l*F,e[9]=n*A+h*D+y*F,e[10]=u*A+x*D+T*F,e[11]=i*A+f*D+S*F,v!==e&&(e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15]),e)}},35545:function(U){U.exports=B;function B(e,v,E){var a=Math.sin(E),C=Math.cos(E),w=v[4],d=v[5],p=v[6],t=v[7],r=v[8],c=v[9],o=v[10],n=v[11];return v!==e&&(e[0]=v[0],e[1]=v[1],e[2]=v[2],e[3]=v[3],e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15]),e[4]=w*C+r*a,e[5]=d*C+c*a,e[6]=p*C+o*a,e[7]=t*C+n*a,e[8]=r*C-w*a,e[9]=c*C-d*a,e[10]=o*C-p*a,e[11]=n*C-t*a,e}},94918:function(U){U.exports=B;function B(e,v,E){var a=Math.sin(E),C=Math.cos(E),w=v[0],d=v[1],p=v[2],t=v[3],r=v[8],c=v[9],o=v[10],n=v[11];return v!==e&&(e[4]=v[4],e[5]=v[5],e[6]=v[6],e[7]=v[7],e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15]),e[0]=w*C-r*a,e[1]=d*C-c*a,e[2]=p*C-o*a,e[3]=t*C-n*a,e[8]=w*a+r*C,e[9]=d*a+c*C,e[10]=p*a+o*C,e[11]=t*a+n*C,e}},15692:function(U){U.exports=B;function B(e,v,E){var a=Math.sin(E),C=Math.cos(E),w=v[0],d=v[1],p=v[2],t=v[3],r=v[4],c=v[5],o=v[6],n=v[7];return v!==e&&(e[8]=v[8],e[9]=v[9],e[10]=v[10],e[11]=v[11],e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15]),e[0]=w*C+r*a,e[1]=d*C+c*a,e[2]=p*C+o*a,e[3]=t*C+n*a,e[4]=r*C-w*a,e[5]=c*C-d*a,e[6]=o*C-p*a,e[7]=n*C-t*a,e}},10789:function(U){U.exports=B;function B(e,v,E){var a=E[0],C=E[1],w=E[2];return e[0]=v[0]*a,e[1]=v[1]*a,e[2]=v[2]*a,e[3]=v[3]*a,e[4]=v[4]*C,e[5]=v[5]*C,e[6]=v[6]*C,e[7]=v[7]*C,e[8]=v[8]*w,e[9]=v[9]*w,e[10]=v[10]*w,e[11]=v[11]*w,e[12]=v[12],e[13]=v[13],e[14]=v[14],e[15]=v[15],e}},6726:function(U){U.exports=B;function B(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}},31283:function(U){U.exports=B;function B(e,v,E){var a=E[0],C=E[1],w=E[2],d,p,t,r,c,o,n,u,i,g,h,x;return v===e?(e[12]=v[0]*a+v[4]*C+v[8]*w+v[12],e[13]=v[1]*a+v[5]*C+v[9]*w+v[13],e[14]=v[2]*a+v[6]*C+v[10]*w+v[14],e[15]=v[3]*a+v[7]*C+v[11]*w+v[15]):(d=v[0],p=v[1],t=v[2],r=v[3],c=v[4],o=v[5],n=v[6],u=v[7],i=v[8],g=v[9],h=v[10],x=v[11],e[0]=d,e[1]=p,e[2]=t,e[3]=r,e[4]=c,e[5]=o,e[6]=n,e[7]=u,e[8]=i,e[9]=g,e[10]=h,e[11]=x,e[12]=d*a+c*C+i*w+v[12],e[13]=p*a+o*C+g*w+v[13],e[14]=t*a+n*C+h*w+v[14],e[15]=r*a+u*C+x*w+v[15]),e}},88654:function(U){U.exports=B;function B(e,v){if(e===v){var E=v[1],a=v[2],C=v[3],w=v[6],d=v[7],p=v[11];e[1]=v[4],e[2]=v[8],e[3]=v[12],e[4]=E,e[6]=v[9],e[7]=v[13],e[8]=a,e[9]=w,e[11]=v[14],e[12]=C,e[13]=d,e[14]=p}else e[0]=v[0],e[1]=v[4],e[2]=v[8],e[3]=v[12],e[4]=v[1],e[5]=v[5],e[6]=v[9],e[7]=v[13],e[8]=v[2],e[9]=v[6],e[10]=v[10],e[11]=v[14],e[12]=v[3],e[13]=v[7],e[14]=v[11],e[15]=v[15];return e}},42505:function(U,B,e){var v=e(72791),E=e(71299),a=e(98580),C=e(12018),w=e(83522),d=e(25075),p=e(68016),t=e(58404),r=e(18863),c=e(10973),o=e(25677),n=e(75686),u=e(53545),i=e(56131),g=e(32879),h=e(30120),x=e(13547),f=x.nextPow2,l=new w,y=!1;if(document.body){var T=document.body.appendChild(document.createElement("div"));T.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(T).fontStretch&&(y=!0),document.body.removeChild(T)}var S=function(M){L(M)?(M={regl:M},this.gl=M.regl._gl):this.gl=C(M),this.shader=l.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=M.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),l.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(c(M)?M:{})};S.prototype.createShader=function(){var M=this.regl,b=M({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:M.prop("count"),offset:M.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:M.this("sizeBuffer")},width:{offset:0,stride:8,buffer:M.this("sizeBuffer")},char:M.this("charBuffer"),position:M.this("position")},uniforms:{atlasSize:function(_,A){return[A.atlas.width,A.atlas.height]},atlasDim:function(_,A){return[A.atlas.cols,A.atlas.rows]},atlas:function(_,A){return A.atlas.texture},charStep:function(_,A){return A.atlas.step},em:function(_,A){return A.atlas.em},color:M.prop("color"),opacity:M.prop("opacity"),viewport:M.this("viewportArray"),scale:M.this("scale"),align:M.prop("align"),baseline:M.prop("baseline"),translate:M.this("translate"),positionOffset:M.prop("positionOffset")},primitive:"points",viewport:M.this("viewport"),vert:` + precision highp float; + attribute float width, charOffset, char; + attribute vec2 position; + uniform float fontSize, charStep, em, align, baseline; + uniform vec4 viewport; + uniform vec4 color; + uniform vec2 atlasSize, atlasDim, scale, translate, positionOffset; + varying vec2 charCoord, charId; + varying float charWidth; + varying vec4 fontColor; + void main () { + vec2 offset = floor(em * (vec2(align + charOffset, baseline) + + vec2(positionOffset.x, -positionOffset.y))) + / (viewport.zw * scale.xy); + + vec2 position = (position + translate) * scale; + position += offset * scale; + + charCoord = position * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2. - 1., 0, 1); + + gl_PointSize = charStep; + + charId.x = mod(char, atlasDim.x); + charId.y = floor(char / atlasDim.x); + + charWidth = width * em; + + fontColor = color / 255.; + }`,frag:` + precision highp float; + uniform float fontSize, charStep, opacity; + uniform vec2 atlasSize; + uniform vec4 viewport; + uniform sampler2D atlas; + varying vec4 fontColor; + varying vec2 charCoord, charId; + varying float charWidth; + + float lightness(vec4 color) { + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; + } + + void main () { + vec2 uv = gl_FragCoord.xy - charCoord + charStep * .5; + float halfCharStep = floor(charStep * .5 + .5); + + // invert y and shift by 1px (FF expecially needs that) + uv.y = charStep - uv.y; + + // ignore points outside of character bounding box + float halfCharWidth = ceil(charWidth * .5); + if (floor(uv.x) > halfCharStep + halfCharWidth || + floor(uv.x) < halfCharStep - halfCharWidth) return; + + uv += charId * charStep; + uv = uv / atlasSize; + + vec4 color = fontColor; + vec4 mask = texture2D(atlas, uv); + + float maskY = lightness(mask); + // float colorY = lightness(color); + color.a *= maskY; + color.a *= opacity; + + // color.a += .1; + + // antialiasing, see yiq color space y-channel formula + // color.rgb += (1. - color.rgb) * (1. - mask.rgb); + + gl_FragColor = color; + }`}),s={};return{regl:M,draw:b,atlas:s}},S.prototype.update=function(M){var b=this;if(typeof M=="string")M={text:M};else if(!M)return;M=E(M,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0),M.opacity!=null&&(Array.isArray(M.opacity)?this.opacity=M.opacity.map(function(De){return parseFloat(De)}):this.opacity=parseFloat(M.opacity)),M.viewport!=null&&(this.viewport=r(M.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),M.kerning!=null&&(this.kerning=M.kerning),M.offset!=null&&(typeof M.offset=="number"&&(M.offset=[M.offset,0]),this.positionOffset=h(M.offset)),M.direction&&(this.direction=M.direction),M.range&&(this.range=M.range,this.scale=[1/(M.range[2]-M.range[0]),1/(M.range[3]-M.range[1])],this.translate=[-M.range[0],-M.range[1]]),M.scale&&(this.scale=M.scale),M.translate&&(this.translate=M.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!M.font&&(M.font=S.baseFontSize+"px sans-serif");var s=!1,_=!1;if(M.font&&(Array.isArray(M.font)?M.font:[M.font]).forEach(function(De,Fe){if(typeof De=="string")try{De=v.parse(De)}catch{De=v.parse(S.baseFontSize+"px "+De)}else De=v.parse(v.stringify(De));var qe=v.stringify({size:S.baseFontSize,family:De.family,stretch:y?De.stretch:void 0,variant:De.variant,weight:De.weight,style:De.style}),Qe=o(De.size),Je=Math.round(Qe[0]*n(Qe[1]));if(Je!==b.fontSize[Fe]&&(_=!0,b.fontSize[Fe]=Je),(!b.font[Fe]||qe!=b.font[Fe].baseString)&&(s=!0,b.font[Fe]=S.fonts[qe],!b.font[Fe])){var tt=De.family.join(", "),ht=[De.style];De.style!=De.variant&&ht.push(De.variant),De.variant!=De.weight&&ht.push(De.weight),y&&De.weight!=De.stretch&&ht.push(De.stretch),b.font[Fe]={baseString:qe,family:tt,weight:De.weight,stretch:De.stretch,style:De.style,variant:De.variant,width:{},kerning:{},metrics:g(tt,{origin:"top",fontSize:S.baseFontSize,fontStyle:ht.join(" ")})},S.fonts[qe]=b.font[Fe]}}),(s||_)&&this.font.forEach(function(De,Fe){var qe=v.stringify({size:b.fontSize[Fe],family:De.family,stretch:y?De.stretch:void 0,variant:De.variant,weight:De.weight,style:De.style});if(b.fontAtlas[Fe]=b.shader.atlas[qe],!b.fontAtlas[Fe]){var Qe=De.metrics;b.shader.atlas[qe]=b.fontAtlas[Fe]={fontString:qe,step:Math.ceil(b.fontSize[Fe]*Qe.bottom*.5)*2,em:b.fontSize[Fe],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:b.regl.texture()}}M.text==null&&(M.text=b.text)}),typeof M.text=="string"&&M.position&&M.position.length>2){for(var A=Array(M.position.length*.5),D=0;D2){for(var O=!M.position[0].length,H=t.mallocFloat(this.count*2),z=0,k=0;z1?b.align[Fe]:b.align[0]:b.align;if(typeof qe=="number")return qe;switch(qe){case"right":case"end":return-De;case"center":case"centre":case"middle":return-De*.5}return 0})),this.baseline==null&&M.baseline==null&&(M.baseline=0),M.baseline!=null&&(this.baseline=M.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(De,Fe){var qe=(b.font[Fe]||b.font[0]).metrics,Qe=0;return Qe+=qe.bottom*.5,typeof De=="number"?Qe+=De-qe.baseline:Qe+=-qe[De],Qe*=-1,Qe})),M.color!=null)if(M.color||(M.color="transparent"),typeof M.color=="string"||!isNaN(M.color))this.color=d(M.color,"uint8");else{var Se;if(typeof M.color[0]=="number"&&M.color.length>this.counts.length){var Ae=M.color.length;Se=t.mallocUint8(Ae);for(var Be=(M.color.subarray||M.color.slice).bind(M.color),Oe=0;Oe4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(Ce){var Ge=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(Ge);for(var He=0;He1?this.counts[He]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[He]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(He*4,He*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[He]:this.opacity,baseline:this.baselineOffset[He]!=null?this.baselineOffset[He]:this.baselineOffset[0],align:this.align?this.alignOffset[He]!=null?this.alignOffset[He]:this.alignOffset[0]:0,atlas:this.fontAtlas[He]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(He*2,He*2+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}},S.prototype.destroy=function(){},S.prototype.kerning=!0,S.prototype.position={constant:new Float32Array(2)},S.prototype.translate=null,S.prototype.scale=null,S.prototype.font=null,S.prototype.text="",S.prototype.positionOffset=[0,0],S.prototype.opacity=1,S.prototype.color=new Uint8Array([0,0,0,255]),S.prototype.alignOffset=[0,0],S.maxAtlasSize=1024,S.atlasCanvas=document.createElement("canvas"),S.atlasContext=S.atlasCanvas.getContext("2d",{alpha:!1}),S.baseFontSize=64,S.fonts={};function L(m){return typeof m=="function"&&m._gl&&m.prop&&m.texture&&m.buffer}U.exports=S},12018:function(U,B,e){var v=e(71299);U.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},a(t)?t={container:t}:C(t)?t={container:t}:w(t)?t={gl:t}:t=v(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=e.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=d(),t.container.appendChild(t.canvas),E(t))}else if(!t.canvas)if(typeof document<"u")t.container=document.body||document.documentElement,t.canvas=d(),t.container.appendChild(t.canvas),E(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(c){try{t.gl=t.canvas.getContext(c,t.attrs)}catch{}return t.gl}),t.gl};function E(p){if(p.container)if(p.container==document.body)document.body.style.width||(p.canvas.width=p.width||p.pixelRatio*e.g.innerWidth),document.body.style.height||(p.canvas.height=p.height||p.pixelRatio*e.g.innerHeight);else{var t=p.container.getBoundingClientRect();p.canvas.width=p.width||t.right-t.left,p.canvas.height=p.height||t.bottom-t.top}}function a(p){return typeof p.getContext=="function"&&"width"in p&&"height"in p}function C(p){return typeof p.nodeName=="string"&&typeof p.appendChild=="function"&&typeof p.getBoundingClientRect=="function"}function w(p){return typeof p.drawArrays=="function"||typeof p.drawElements=="function"}function d(){var p=document.createElement("canvas");return p.style.position="absolute",p.style.top=0,p.style.left=0,p}},56068:function(U){U.exports=function(B){typeof B=="string"&&(B=[B]);for(var e=[].slice.call(arguments,1),v=[],E=0;E */B.read=function(e,v,E,a,C){var w,d,p=C*8-a-1,t=(1<>1,c=-7,o=E?C-1:0,n=E?-1:1,u=e[v+o];for(o+=n,w=u&(1<<-c)-1,u>>=-c,c+=p;c>0;w=w*256+e[v+o],o+=n,c-=8);for(d=w&(1<<-c)-1,w>>=-c,c+=a;c>0;d=d*256+e[v+o],o+=n,c-=8);if(w===0)w=1-r;else{if(w===t)return d?NaN:(u?-1:1)*(1/0);d=d+Math.pow(2,a),w=w-r}return(u?-1:1)*d*Math.pow(2,w-a)},B.write=function(e,v,E,a,C,w){var d,p,t,r=w*8-C-1,c=(1<>1,n=C===23?Math.pow(2,-24)-Math.pow(2,-77):0,u=a?0:w-1,i=a?1:-1,g=v<0||v===0&&1/v<0?1:0;for(v=Math.abs(v),isNaN(v)||v===1/0?(p=isNaN(v)?1:0,d=c):(d=Math.floor(Math.log(v)/Math.LN2),v*(t=Math.pow(2,-d))<1&&(d--,t*=2),d+o>=1?v+=n/t:v+=n*Math.pow(2,1-o),v*t>=2&&(d++,t/=2),d+o>=c?(p=0,d=c):d+o>=1?(p=(v*t-1)*Math.pow(2,C),d=d+o):(p=v*Math.pow(2,o-1)*Math.pow(2,C),d=0));C>=8;e[E+u]=p&255,u+=i,p/=256,C-=8);for(d=d<0;e[E+u]=d&255,u+=i,d/=256,r-=8);e[E+u-i]|=g*128}},42018:function(U){typeof Object.create=="function"?U.exports=function(e,v){v&&(e.super_=v,e.prototype=Object.create(v.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:U.exports=function(e,v){if(v){e.super_=v;var E=function(){};E.prototype=v.prototype,e.prototype=new E,e.prototype.constructor=e}}},47216:function(U,B,e){var v=e(84543)(),E=e(6614),a=E("Object.prototype.toString"),C=function(t){return v&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:a(t)==="[object Arguments]"},w=function(t){return C(t)?!0:t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&a(t)!=="[object Array]"&&a(t.callee)==="[object Function]"},d=function(){return C(arguments)}();C.isLegacyArguments=w,U.exports=d?C:w},54404:function(U){U.exports=!0},85395:function(U){var B=Function.prototype.toString,e=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,v,E;if(typeof e=="function"&&typeof Object.defineProperty=="function")try{v=Object.defineProperty({},"length",{get:function(){throw E}}),E={},e(function(){throw 42},null,v)}catch(x){x!==E&&(e=null)}else e=null;var a=/^\s*class\b/,C=function(f){try{var l=B.call(f);return a.test(l)}catch{return!1}},w=function(f){try{return C(f)?!1:(B.call(f),!0)}catch{return!1}},d=Object.prototype.toString,p="[object Object]",t="[object Function]",r="[object GeneratorFunction]",c="[object HTMLAllCollection]",o="[object HTML document.all class]",n="[object HTMLCollection]",u=typeof Symbol=="function"&&!!Symbol.toStringTag,i=!(0 in[,]),g=function(){return!1};if(typeof document=="object"){var h=document.all;d.call(h)===d.call(document.all)&&(g=function(f){if((i||!f)&&(typeof f>"u"||typeof f=="object"))try{var l=d.call(f);return(l===c||l===o||l===n||l===p)&&f("")==null}catch{}return!1})}U.exports=e?function(f){if(g(f))return!0;if(!f||typeof f!="function"&&typeof f!="object")return!1;try{e(f,null,v)}catch(l){if(l!==E)return!1}return!C(f)&&w(f)}:function(f){if(g(f))return!0;if(!f||typeof f!="function"&&typeof f!="object")return!1;if(u)return w(f);if(C(f))return!1;var l=d.call(f);return l!==t&&l!==r&&!/^\[object HTML/.test(l)?!1:w(f)}},65481:function(U,B,e){var v=Object.prototype.toString,E=Function.prototype.toString,a=/^\s*(?:function)?\*/,C=e(84543)(),w=Object.getPrototypeOf,d=function(){if(!C)return!1;try{return Function("return function*() {}")()}catch{}},p;U.exports=function(r){if(typeof r!="function")return!1;if(a.test(E.call(r)))return!0;if(!C){var c=v.call(r);return c==="[object GeneratorFunction]"}if(!w)return!1;if(typeof p>"u"){var o=d();p=o?w(o):!1}return w(r)===p}},62683:function(U){U.exports=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(U){U.exports=function(e){return e!==e}},15567:function(U,B,e){var v=e(68222),E=e(17045),a=e(64274),C=e(14922),w=e(22442),d=v(C(),Number);E(d,{getPolyfill:C,implementation:a,shim:w}),U.exports=d},14922:function(U,B,e){var v=e(64274);U.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:v}},22442:function(U,B,e){var v=e(17045),E=e(14922);U.exports=function(){var C=E();return v(Number,{isNaN:C},{isNaN:function(){return Number.isNaN!==C}}),C}},64941:function(U){U.exports=function(B){var e=typeof B;return B!==null&&(e==="object"||e==="function")}},10973:function(U){var B=Object.prototype.toString;U.exports=function(e){var v;return B.call(e)==="[object Object]"&&(v=Object.getPrototypeOf(e),v===null||v===Object.getPrototypeOf({}))}},18546:function(U){U.exports=function(B){for(var e=B.length,v,E=0;E13)&&v!==32&&v!==133&&v!==160&&v!==5760&&v!==6158&&(v<8192||v>8205)&&v!==8232&&v!==8233&&v!==8239&&v!==8287&&v!==8288&&v!==12288&&v!==65279)return!1;return!0}},89546:function(U){U.exports=function(e){return typeof e!="string"?!1:(e=e.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(e)&&/[\dz]$/i.test(e)&&e.length>4))}},9187:function(U,B,e){var v=e(31353),E=e(72077),a=e(6614),C=a("Object.prototype.toString"),w=e(84543)(),d=e(40383),p=typeof globalThis>"u"?e.g:globalThis,t=E(),r=a("Array.prototype.indexOf",!0)||function(g,h){for(var x=0;x-1}return d?u(g):!1}},44517:function(U){(function(B,e){U.exports=e()})(this,function(){var B,e,v;function E(a,C){if(!B)B=C;else if(!e)e=C;else{var w="var sharedChunk = {}; ("+B+")(sharedChunk); ("+e+")(sharedChunk);",d={};B(d),v=C(d),v.workerUrl=window.URL.createObjectURL(new Blob([w],{type:"text/javascript"}))}}return E(["exports"],function(a){function C(R,I){return I={exports:{}},R(I,I.exports),I.exports}var w="1.10.1",d=p;function p(R,I,W,se){this.cx=3*R,this.bx=3*(W-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*I,this.by=3*(se-I)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=se,this.p2x=W,this.p2y=se}p.prototype.sampleCurveX=function(R){return((this.ax*R+this.bx)*R+this.cx)*R},p.prototype.sampleCurveY=function(R){return((this.ay*R+this.by)*R+this.cy)*R},p.prototype.sampleCurveDerivativeX=function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},p.prototype.solveCurveX=function(R,I){typeof I>"u"&&(I=1e-6);var W,se,pe,Me,Pe;for(pe=R,Pe=0;Pe<8;Pe++){if(Me=this.sampleCurveX(pe)-R,Math.abs(Me)se)return se;for(;WMe?W=pe:se=pe,pe=(se-W)*.5+W}return pe},p.prototype.solve=function(R,I){return this.sampleCurveY(this.solveCurveX(R,I))};var t=r;function r(R,I){this.x=R,this.y=I}r.prototype={clone:function(){return new r(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,I){return this.clone()._rotateAround(R,I)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var I=R.x-this.x,W=R.y-this.y;return I*I+W*W},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,I){return Math.atan2(this.x*I-this.y*R,this.x*R+this.y*I)},_matMult:function(R){var I=R[0]*this.x+R[1]*this.y,W=R[2]*this.x+R[3]*this.y;return this.x=I,this.y=W,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var I=Math.cos(R),W=Math.sin(R),se=I*this.x-W*this.y,pe=W*this.x+I*this.y;return this.x=se,this.y=pe,this},_rotateAround:function(R,I){var W=Math.cos(R),se=Math.sin(R),pe=I.x+W*(this.x-I.x)-se*(this.y-I.y),Me=I.y+se*(this.x-I.x)+W*(this.y-I.y);return this.x=pe,this.y=Me,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},r.convert=function(R){return R instanceof r?R:Array.isArray(R)?new r(R[0],R[1]):R};function c(R,I){if(Array.isArray(R)){if(!Array.isArray(I)||R.length!==I.length)return!1;for(var W=0;W=1)return 1;var I=R*R,W=I*R;return 4*(R<.5?W:3*(R-I)+W-.75)}function n(R,I,W,se){var pe=new d(R,I,W,se);return function(Me){return pe.solve(Me)}}var u=n(.25,.1,.25,1);function i(R,I,W){return Math.min(W,Math.max(I,R))}function g(R,I,W){var se=W-I,pe=((R-I)%se+se)%se+I;return pe===I?W:pe}function h(R,I,W){if(!R.length)return W(null,[]);var se=R.length,pe=new Array(R.length),Me=null;R.forEach(function(Pe,$e){I(Pe,function(dt,Tt){dt&&(Me=dt),pe[$e]=Tt,--se===0&&W(Me,pe)})})}function x(R){var I=[];for(var W in R)I.push(R[W]);return I}function f(R,I){var W=[];for(var se in R)se in I||W.push(se);return W}function l(R){for(var I=[],W=arguments.length-1;W-- >0;)I[W]=arguments[W+1];for(var se=0,pe=I;se>I/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,R)}return R()}function m(R){return R?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(R):!1}function M(R,I){R.forEach(function(W){I[W]&&(I[W]=I[W].bind(I))})}function b(R,I){return R.indexOf(I,R.length-I.length)!==-1}function s(R,I,W){var se={};for(var pe in R)se[pe]=I.call(W||this,R[pe],pe,R);return se}function _(R,I,W){var se={};for(var pe in R)I.call(W||this,R[pe],pe,R)&&(se[pe]=R[pe]);return se}function A(R){return Array.isArray(R)?R.map(A):typeof R=="object"&&R?s(R,A):R}function D(R,I){for(var W=0;W=0)return!0;return!1}var F={};function G(R){F[R]||(typeof console<"u"&&console.warn(R),F[R]=!0)}function O(R,I,W){return(W.y-R.y)*(I.x-R.x)>(I.y-R.y)*(W.x-R.x)}function H(R){for(var I=0,W=0,se=R.length,pe=se-1,Me=void 0,Pe=void 0;W@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,W={};if(R.replace(I,function(pe,Me,Pe,$e){var dt=Pe||$e;return W[Me]=dt?dt.toLowerCase():!0,""}),W["max-age"]){var se=parseInt(W["max-age"],10);isNaN(se)?delete W["max-age"]:W["max-age"]=se}return W}var Z=null;function ee(R){if(Z==null){var I=R.navigator?R.navigator.userAgent:null;Z=!!R.safari||!!(I&&(/\b(iPad|iPhone|iPod)\b/.test(I)||I.match("Safari")&&!I.match("Chrome")))}return Z}function Q(R){try{var I=self[R];return I.setItem("_mapbox_test_",1),I.removeItem("_mapbox_test_"),!0}catch{return!1}}function ne(R){return self.btoa(encodeURIComponent(R).replace(/%([0-9A-F]{2})/g,function(I,W){return String.fromCharCode(+("0x"+W))}))}function fe(R){return decodeURIComponent(self.atob(R).split("").map(function(I){return"%"+("00"+I.charCodeAt(0).toString(16)).slice(-2)}).join(""))}var $=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),Y=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,j=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,X,re,le={now:$,frame:function(I){var W=Y(I);return{cancel:function(){return j(W)}}},getImageData:function(I,W){W===void 0&&(W=0);var se=self.document.createElement("canvas"),pe=se.getContext("2d");if(!pe)throw new Error("failed to create canvas 2d context");return se.width=I.width,se.height=I.height,pe.drawImage(I,0,0,I.width,I.height),pe.getImageData(-W,-W,I.width+2*W,I.height+2*W)},resolveURL:function(I){return X||(X=self.document.createElement("a")),X.href=I,X.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return self.matchMedia?(re==null&&(re=self.matchMedia("(prefers-reduced-motion: reduce)")),re.matches):!1}},q={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf("https://api.mapbox.cn")===0?"https://events.mapbox.cn/events/v2":this.API_URL.indexOf("https://api.mapbox.com")===0?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},te={supported:!1,testSupport:Se},ue,ae=!1,de,xe=!1;self.document&&(de=self.document.createElement("img"),de.onload=function(){ue&&Ae(ue),ue=null,xe=!0},de.onerror=function(){ae=!0,ue=null},de.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");function Se(R){ae||!de||(xe?Ae(R):ue=R)}function Ae(R){var I=R.createTexture();R.bindTexture(R.TEXTURE_2D,I);try{if(R.texImage2D(R.TEXTURE_2D,0,R.RGBA,R.RGBA,R.UNSIGNED_BYTE,de),R.isContextLost())return;te.supported=!0}catch{}R.deleteTexture(I),ae=!0}var Be="01";function Oe(){for(var R="1",I="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",W="",se=0;se<10;se++)W+=I[Math.floor(Math.random()*62)];var pe=12*60*60*1e3,Me=[R,Be,W].join(""),Pe=Date.now()+pe;return{token:Me,tokenExpiresAt:Pe}}var Ee=function(I,W){this._transformRequestFn=I,this._customAccessToken=W,this._createSkuToken()};Ee.prototype._createSkuToken=function(){var I=Oe();this._skuToken=I.token,this._skuTokenExpiresAt=I.tokenExpiresAt},Ee.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ee.prototype.transformRequest=function(I,W){return this._transformRequestFn?this._transformRequestFn(I,W)||{url:I}:{url:I}},Ee.prototype.normalizeStyleURL=function(I,W){if(!we(I))return I;var se=qe(I);return se.path="/styles/v1"+se.path,this._makeAPIURL(se,this._customAccessToken||W)},Ee.prototype.normalizeGlyphsURL=function(I,W){if(!we(I))return I;var se=qe(I);return se.path="/fonts/v1"+se.path,this._makeAPIURL(se,this._customAccessToken||W)},Ee.prototype.normalizeSourceURL=function(I,W){if(!we(I))return I;var se=qe(I);return se.path="/v4/"+se.authority+".json",se.params.push("secure"),this._makeAPIURL(se,this._customAccessToken||W)},Ee.prototype.normalizeSpriteURL=function(I,W,se,pe){var Me=qe(I);return we(I)?(Me.path="/styles/v1"+Me.path+"/sprite"+W+se,this._makeAPIURL(Me,this._customAccessToken||pe)):(Me.path+=""+W+se,Qe(Me))},Ee.prototype.normalizeTileURL=function(I,W){if(this._isSkuTokenExpired()&&this._createSkuToken(),I&&!we(I))return I;var se=qe(I),pe=/(\.(png|jpg)\d*)(?=$)/,Me=/^.+\/v4\//,Pe=le.devicePixelRatio>=2||W===512?"@2x":"",$e=te.supported?".webp":"$1";se.path=se.path.replace(pe,""+Pe+$e),se.path=se.path.replace(Me,"/"),se.path="/v4"+se.path;var dt=this._customAccessToken||De(se.params)||q.ACCESS_TOKEN;return q.REQUIRE_ACCESS_TOKEN&&dt&&this._skuToken&&se.params.push("sku="+this._skuToken),this._makeAPIURL(se,dt)},Ee.prototype.canonicalizeTileURL=function(I,W){var se="/v4/",pe=/\.[\w]+$/,Me=qe(I);if(!Me.path.match(/(^\/v4\/)/)||!Me.path.match(pe))return I;var Pe="mapbox://tiles/";Pe+=Me.path.replace(se,"");var $e=Me.params;return W&&($e=$e.filter(function(dt){return!dt.match(/^access_token=/)})),$e.length&&(Pe+="?"+$e.join("&")),Pe},Ee.prototype.canonicalizeTileset=function(I,W){for(var se=W?we(W):!1,pe=[],Me=0,Pe=I.tiles||[];Me=1&&self.localStorage.setItem(W,JSON.stringify(this.eventData))}catch{G("Unable to write to LocalStorage")}},ht.prototype.processRequests=function(I){},ht.prototype.postEvent=function(I,W,se,pe){var Me=this;if(q.EVENTS_URL){var Pe=qe(q.EVENTS_URL);Pe.params.push("access_token="+(pe||q.ACCESS_TOKEN||""));var $e={event:this.type,created:new Date(I).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:w,skuId:Be,userId:this.anonId},dt=W?l($e,W):$e,Tt={url:Qe(Pe),headers:{"Content-Type":"text/plain"},body:JSON.stringify([dt])};this.pendingRequest=Lt(Tt,function(Ct){Me.pendingRequest=null,se(Ct),Me.saveEventData(),Me.processRequests(pe)})}},ht.prototype.queueRequest=function(I,W){this.queue.push(I),this.processRequests(W)};var gt=function(R){function I(){R.call(this,"map.load"),this.success={},this.skuToken=""}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.postMapLoadEvent=function(se,pe,Me,Pe){this.skuToken=Me,(q.EVENTS_URL&&Pe||q.ACCESS_TOKEN&&Array.isArray(se)&&se.some(function($e){return we($e)||Ge($e)}))&&this.queueRequest({id:pe,timestamp:Date.now()},Pe)},I.prototype.processRequests=function(se){var pe=this;if(!(this.pendingRequest||this.queue.length===0)){var Me=this.queue.shift(),Pe=Me.id,$e=Me.timestamp;Pe&&this.success[Pe]||(this.anonId||this.fetchEventData(),m(this.anonId)||(this.anonId=L()),this.postEvent($e,{skuToken:this.skuToken},function(dt){dt||Pe&&(pe.success[Pe]=!0)},se))}},I}(ht),yt=function(R){function I(W){R.call(this,"appUserTurnstile"),this._customAccessToken=W}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.postTurnstileEvent=function(se,pe){q.EVENTS_URL&&q.ACCESS_TOKEN&&Array.isArray(se)&&se.some(function(Me){return we(Me)||Ge(Me)})&&this.queueRequest(Date.now(),pe)},I.prototype.processRequests=function(se){var pe=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var Me=tt(q.ACCESS_TOKEN),Pe=Me?Me.u:q.ACCESS_TOKEN,$e=Pe!==this.eventData.tokenU;m(this.anonId)||(this.anonId=L(),$e=!0);var dt=this.queue.shift();if(this.eventData.lastSuccess){var Tt=new Date(this.eventData.lastSuccess),Ct=new Date(dt),Wt=(dt-this.eventData.lastSuccess)/(24*60*60*1e3);$e=$e||Wt>=1||Wt<-1||Tt.getDate()!==Ct.getDate()}else $e=!0;if(!$e)return this.processRequests();this.postEvent(dt,{"enabled.telemetry":!1},function(or){or||(pe.eventData.lastSuccess=dt,pe.eventData.tokenU=Pe)},se)}},I}(ht),Et=new yt,Xe=Et.postTurnstileEvent.bind(Et),Ue=new gt,ze=Ue.postMapLoadEvent.bind(Ue),rt="mapbox-tiles",it=500,Ze=50,Ie=1e3*60*7,Te;function he(){self.caches&&!Te&&(Te=self.caches.open(rt))}var me;function Re(R,I){if(me===void 0)try{new Response(new ReadableStream),me=!0}catch{me=!1}me?I(R.body):R.blob().then(I)}function Ne(R,I,W){if(he(),!!Te){var se={status:I.status,statusText:I.statusText,headers:new self.Headers};I.headers.forEach(function(Pe,$e){return se.headers.set($e,Pe)});var pe=V(I.headers.get("Cache-Control")||"");if(!pe["no-store"]){pe["max-age"]&&se.headers.set("Expires",new Date(W+pe["max-age"]*1e3).toUTCString());var Me=new Date(se.headers.get("Expires")).getTime()-W;MeDate.now()&&!W["no-cache"]}var Ft=1/0;function Ht(R){Ft++,Ft>Ze&&(R.getActor().send("enforceCacheSizeLimit",it),Ft=0)}function Gt(R){he(),Te&&Te.then(function(I){I.keys().then(function(W){for(var se=0;se=200&&W.status<300||W.status===0)&&W.response!==null){var pe=W.response;if(R.type==="json")try{pe=JSON.parse(W.response)}catch(Me){return I(Me)}I(null,pe,W.getResponseHeader("Cache-Control"),W.getResponseHeader("Expires"))}else I(new Xt(W.statusText,W.status,R.url))},W.send(R.body),{cancel:function(){return W.abort()}}}var ut=function(R,I){if(!wr(R.url)){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return hr(R,I);if(k()&&self.worker&&self.worker.actor){var W=!0;return self.worker.actor.send("getResource",R,I,void 0,W)}}return ct(R,I)},wt=function(R,I){return ut(l(R,{type:"json"}),I)},Mt=function(R,I){return ut(l(R,{type:"arrayBuffer"}),I)},Lt=function(R,I){return ut(l(R,{method:"POST"}),I)};function St(R){var I=self.document.createElement("a");return I.href=R,I.protocol===self.document.location.protocol&&I.host===self.document.location.host}var Ot="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function Vt(R,I,W,se){var pe=new self.Image,Me=self.URL;pe.onload=function(){I(null,pe),Me.revokeObjectURL(pe.src)},pe.onerror=function(){return I(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var Pe=new self.Blob([new Uint8Array(R)],{type:"image/png"});pe.cacheControl=W,pe.expires=se,pe.src=R.byteLength?Me.createObjectURL(Pe):Ot}function Jt(R,I){var W=new self.Blob([new Uint8Array(R)],{type:"image/png"});self.createImageBitmap(W).then(function(se){I(null,se)}).catch(function(se){I(new Error("Could not load image because of "+se.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))})}var $t,ir,Cr=function(){$t=[],ir=0};Cr();var je=function(R,I){if(te.supported&&(R.headers||(R.headers={}),R.headers.accept="image/webp,*/*"),ir>=q.MAX_PARALLEL_IMAGE_REQUESTS){var W={requestParameters:R,callback:I,cancelled:!1,cancel:function(){this.cancelled=!0}};return $t.push(W),W}ir++;var se=!1,pe=function(){if(!se)for(se=!0,ir--;$t.length&&ir0||this._oneTimeListeners&&this._oneTimeListeners[I]&&this._oneTimeListeners[I].length>0||this._eventedParent&&this._eventedParent.listens(I)},lr.prototype.setEventedParent=function(I,W){return this._eventedParent=I,this._eventedParentData=W,this};var rr=8,Nt={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"}},cr={"*":{type:"source"}},vr=["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],pr={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.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},dr={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.051129,180,85.051129]},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:"*"}},Yr={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.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},zr={type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},Or={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"}}},mn={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"}}},Kr={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"}},kn=["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],Dn={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},xr={"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},br={"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Br={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Nr={"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},en={"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},gn={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},hn={visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},Mn={type:"array",value:"*"},Rn={type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},Jn={type:"enum",values:{Point:{},LineString:{},Polygon:{}}},na={type:"array",minimum:0,maximum:24,value:["number","color"],length:2},ha={type:"array",value:"*",minimum:1},ia={type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{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"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{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"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{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"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},aa={anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},Sr=["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],ln={"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},an={"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},yn={"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},Hn={"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Ln={"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},_n={"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Gn={"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},la={"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},Fa={duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},ii={"*":{type:"string"}},Zt={$version:rr,$root:Nt,sources:cr,source:vr,source_vector:pr,source_raster:dr,source_raster_dem:Yr,source_geojson:zr,source_video:Or,source_image:mn,layer:Kr,layout:kn,layout_background:Dn,layout_fill:xr,layout_circle:br,layout_heatmap:Br,"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:Nr,layout_symbol:en,layout_raster:gn,layout_hillshade:hn,filter:Mn,filter_operator:Rn,geometry_type:Jn,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:na,expression:ha,expression_name:ia,light:aa,paint:Sr,paint_fill:ln,"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:an,paint_circle:yn,paint_heatmap:Hn,paint_symbol:Ln,paint_raster:_n,paint_hillshade:Gn,paint_background:la,transition:Fa,"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:ii},Tr=function(I,W,se,pe){this.message=(I?I+": ":"")+se,pe&&(this.identifier=pe),W!=null&&W.__line__&&(this.line=W.__line__)};function on(R){var I=R.key,W=R.value;return W?[new Tr(I,W,"constants have been deprecated as of v8")]:[]}function dn(R){for(var I=[],W=arguments.length-1;W-- >0;)I[W]=arguments[W+1];for(var se=0,pe=I;se":R.itemType.kind==="value"?"array":"array<"+I+">"}else return R.kind}var bo=[Rr,Lr,Fr,pn,On,da,Yn,ca(xn),fa];function Do(R,I){if(I.kind==="error")return null;if(R.kind==="array"){if(I.kind==="array"&&(I.N===0&&I.itemType.kind==="value"||!Do(R.itemType,I.itemType))&&(typeof R.N!="number"||R.N===I.N))return null}else{if(R.kind===I.kind)return null;if(R.kind==="value")for(var W=0,se=bo;W255?255:Tt}function pe(Tt){return Tt<0?0:Tt>1?1:Tt}function Me(Tt){return Tt[Tt.length-1]==="%"?se(parseFloat(Tt)/100*255):se(parseInt(Tt))}function Pe(Tt){return Tt[Tt.length-1]==="%"?pe(parseFloat(Tt)/100):pe(parseFloat(Tt))}function $e(Tt,Ct,Wt){return Wt<0?Wt+=1:Wt>1&&(Wt-=1),Wt*6<1?Tt+(Ct-Tt)*Wt*6:Wt*2<1?Ct:Wt*3<2?Tt+(Ct-Tt)*(2/3-Wt)*6:Tt}function dt(Tt){var Ct=Tt.replace(/ /g,"").toLowerCase();if(Ct in W)return W[Ct].slice();if(Ct[0]==="#"){if(Ct.length===4){var Wt=parseInt(Ct.substr(1),16);return Wt>=0&&Wt<=4095?[(Wt&3840)>>4|(Wt&3840)>>8,Wt&240|(Wt&240)>>4,Wt&15|(Wt&15)<<4,1]:null}else if(Ct.length===7){var Wt=parseInt(Ct.substr(1),16);return Wt>=0&&Wt<=16777215?[(Wt&16711680)>>16,(Wt&65280)>>8,Wt&255,1]:null}return null}var or=Ct.indexOf("("),Qt=Ct.indexOf(")");if(or!==-1&&Qt+1===Ct.length){var mr=Ct.substr(0,or),Ur=Ct.substr(or+1,Qt-(or+1)).split(","),nn=1;switch(mr){case"rgba":if(Ur.length!==4)return null;nn=Pe(Ur.pop());case"rgb":return Ur.length!==3?null:[Me(Ur[0]),Me(Ur[1]),Me(Ur[2]),nn];case"hsla":if(Ur.length!==4)return null;nn=Pe(Ur.pop());case"hsl":if(Ur.length!==3)return null;var qr=(parseFloat(Ur[0])%360+360)%360/360,En=Pe(Ur[1]),wn=Pe(Ur[2]),Sn=wn<=.5?wn*(En+1):wn+En-wn*En,Fn=wn*2-Sn;return[se($e(Fn,Sn,qr+1/3)*255),se($e(Fn,Sn,qr)*255),se($e(Fn,Sn,qr-1/3)*255),nn];default:return null}}return null}try{I.parseCSSColor=dt}catch{}}),jf=Uo.parseCSSColor,gi=function(I,W,se,pe){pe===void 0&&(pe=1),this.r=I,this.g=W,this.b=se,this.a=pe};gi.parse=function(I){if(I){if(I instanceof gi)return I;if(typeof I=="string"){var W=jf(I);if(W)return new gi(W[0]/255*W[3],W[1]/255*W[3],W[2]/255*W[3],W[3])}}},gi.prototype.toString=function(){var I=this.toArray(),W=I[0],se=I[1],pe=I[2],Me=I[3];return"rgba("+Math.round(W)+","+Math.round(se)+","+Math.round(pe)+","+Me+")"},gi.prototype.toArray=function(){var I=this,W=I.r,se=I.g,pe=I.b,Me=I.a;return Me===0?[0,0,0,0]:[W*255/Me,se*255/Me,pe*255/Me,Me]},gi.black=new gi(0,0,0,1),gi.white=new gi(1,1,1,1),gi.transparent=new gi(0,0,0,0),gi.red=new gi(1,0,0,1);var Cu=function(I,W,se){I?this.sensitivity=W?"variant":"case":this.sensitivity=W?"accent":"base",this.locale=se,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Cu.prototype.compare=function(I,W){return this.collator.compare(I,W)},Cu.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var tu=function(I,W,se,pe,Me){this.text=I,this.image=W,this.scale=se,this.fontStack=pe,this.textColor=Me},wo=function(I){this.sections=I};wo.fromString=function(I){return new wo([new tu(I,null,null,null,null)])},wo.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(I){return I.text.length!==0||I.image&&I.image.name.length!==0})},wo.factory=function(I){return I instanceof wo?I:wo.fromString(I)},wo.prototype.toString=function(){return this.sections.length===0?"":this.sections.map(function(I){return I.text}).join("")},wo.prototype.serialize=function(){for(var I=["format"],W=0,se=this.sections;W=0&&R<=255&&typeof I=="number"&&I>=0&&I<=255&&typeof W=="number"&&W>=0&&W<=255)){var pe=typeof se=="number"?[R,I,W,se]:[R,I,W];return"Invalid rgba value ["+pe.join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}return typeof se>"u"||typeof se=="number"&&se>=0&&se<=1?null:"Invalid rgba value ["+[R,I,W,se].join(", ")+"]: 'a' must be between 0 and 1."}function Lu(R){if(R===null)return!0;if(typeof R=="string")return!0;if(typeof R=="boolean")return!0;if(typeof R=="number")return!0;if(R instanceof gi)return!0;if(R instanceof Cu)return!0;if(R instanceof wo)return!0;if(R instanceof Zo)return!0;if(Array.isArray(R)){for(var I=0,W=R;I2){var $e=I[1];if(typeof $e!="string"||!($e in ts)||$e==="object")return W.error('The item type argument of "array" must be one of string, number, boolean',1);Pe=ts[$e],se++}else Pe=xn;var dt;if(I.length>3){if(I[2]!==null&&(typeof I[2]!="number"||I[2]<0||I[2]!==Math.floor(I[2])))return W.error('The length argument to "array" must be a positive integer literal',2);dt=I[2],se++}pe=ca(Pe,dt)}else pe=ts[Me];for(var Tt=[];se1)&&W.push(pe)}}return W.concat(this.args.map(function(Me){return Me.serialize()}))};var ss=function(I){this.type=da,this.sections=I};ss.parse=function(I,W){if(I.length<2)return W.error("Expected at least one argument.");var se=I[1];if(!Array.isArray(se)&&typeof se=="object")return W.error("First argument must be an image or text section.");for(var pe=[],Me=!1,Pe=1;Pe<=I.length-1;++Pe){var $e=I[Pe];if(Me&&typeof $e=="object"&&!Array.isArray($e)){Me=!1;var dt=null;if($e["font-scale"]&&(dt=W.parse($e["font-scale"],1,Lr),!dt))return null;var Tt=null;if($e["text-font"]&&(Tt=W.parse($e["text-font"],1,ca(Fr)),!Tt))return null;var Ct=null;if($e["text-color"]&&(Ct=W.parse($e["text-color"],1,On),!Ct))return null;var Wt=pe[pe.length-1];Wt.scale=dt,Wt.font=Tt,Wt.textColor=Ct}else{var or=W.parse(I[Pe],1,xn);if(!or)return null;var Qt=or.type.kind;if(Qt!=="string"&&Qt!=="value"&&Qt!=="null"&&Qt!=="resolvedImage")return W.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");Me=!0,pe.push({content:or,scale:null,font:null,textColor:null})}}return new ss(pe)},ss.prototype.evaluate=function(I){var W=function(se){var pe=se.content.evaluate(I);return Ji(pe)===fa?new tu("",pe,null,null,null):new tu(_u(pe),null,se.scale?se.scale.evaluate(I):null,se.font?se.font.evaluate(I).join(","):null,se.textColor?se.textColor.evaluate(I):null)};return new wo(this.sections.map(W))},ss.prototype.eachChild=function(I){for(var W=0,se=this.sections;W-1),se},Fs.prototype.eachChild=function(I){I(this.input)},Fs.prototype.outputDefined=function(){return!1},Fs.prototype.serialize=function(){return["image",this.input.serialize()]};var Js={"to-boolean":pn,"to-color":On,"to-number":Lr,"to-string":Fr},Mo=function(I,W){this.type=I,this.args=W};Mo.parse=function(I,W){if(I.length<2)return W.error("Expected at least one argument.");var se=I[0];if((se==="to-boolean"||se==="to-string")&&I.length!==2)return W.error("Expected one argument.");for(var pe=Js[se],Me=[],Pe=1;Pe4?se="Invalid rbga value "+JSON.stringify(W)+": expected an array containing either three or four numeric values.":se=Bc(W[0],W[1],W[2],W[3]),!se))return new gi(W[0]/255,W[1]/255,W[2]/255,W[3])}throw new ho(se||"Could not parse color from value '"+(typeof W=="string"?W:String(JSON.stringify(W)))+"'")}else if(this.type.kind==="number"){for(var dt=null,Tt=0,Ct=this.args;Tt=I[2]||R[1]<=I[1]||R[3]>=I[3])}function Bh(R,I){var W=Xf(R[0]),se=zh(R[1]),pe=Math.pow(2,I.z);return[Math.round(W*pe*zs),Math.round(se*pe*zs)]}function Nh(R,I,W){var se=R[0]-I[0],pe=R[1]-I[1],Me=R[0]-W[0],Pe=R[1]-W[1];return se*Pe-Me*pe===0&&se*Me<=0&&pe*Pe<=0}function Uh(R,I,W){return I[1]>R[1]!=W[1]>R[1]&&R[0]<(W[0]-I[0])*(R[1]-I[1])/(W[1]-I[1])+I[0]}function Kf(R,I){for(var W=!1,se=0,pe=I.length;se0&&Wt<0||Ct<0&&Wt>0}function Gh(R,I,W,se){var pe=[I[0]-R[0],I[1]-R[1]],Me=[se[0]-W[0],se[1]-W[1]];return Vh(Me,pe)===0?!1:!!(Uc(R,I,W,se)&&Uc(W,se,R,I))}function Wh(R,I,W){for(var se=0,pe=W;seW[2]){var pe=se*.5,Me=R[0]-W[0]>pe?-se:W[0]-R[0]>pe?se:0;Me===0&&(Me=R[0]-W[2]>pe?-se:W[2]-R[0]>pe?se:0),R[0]+=Me}Zf(I,R)}function jh(R){R[0]=R[1]=1/0,R[2]=R[3]=-1/0}function qs(R,I,W,se){for(var pe=Math.pow(2,se.z)*zs,Me=[se.x*zs,se.y*zs],Pe=[],$e=0,dt=R;$e=0)return!1;var W=!0;return R.eachChild(function(se){W&&!nu(se,I)&&(W=!1)}),W}var Bs=function(I,W){this.type=W.type,this.name=I,this.boundExpression=W};Bs.parse=function(I,W){if(I.length!==2||typeof I[1]!="string")return W.error("'var' expression requires exactly one string literal argument.");var se=I[1];return W.scope.has(se)?new Bs(se,W.scope.get(se)):W.error('Unknown variable "'+se+'". Make sure "'+se+'" has been bound in an enclosing "let" expression before using it.',1)},Bs.prototype.evaluate=function(I){return this.boundExpression.evaluate(I)},Bs.prototype.eachChild=function(){},Bs.prototype.outputDefined=function(){return!1},Bs.prototype.serialize=function(){return["var",this.name]};var el=function(I,W,se,pe,Me){W===void 0&&(W=[]),pe===void 0&&(pe=new cn),Me===void 0&&(Me=[]),this.registry=I,this.path=W,this.key=W.map(function(Pe){return"["+Pe+"]"}).join(""),this.scope=pe,this.errors=Me,this.expectedType=se};el.prototype.parse=function(I,W,se,pe,Me){return Me===void 0&&(Me={}),W?this.concat(W,se,pe)._parse(I,Me):this._parse(I,Me)},el.prototype._parse=function(I,W){(I===null||typeof I=="string"||typeof I=="boolean"||typeof I=="number")&&(I=["literal",I]);function se(Ct,Wt,or){return or==="assert"?new ko(Wt,[Ct]):or==="coerce"?new Mo(Wt,[Ct]):Ct}if(Array.isArray(I)){if(I.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var pe=I[0];if(typeof pe!="string")return this.error("Expression name must be a string, but found "+typeof pe+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var Me=this.registry[pe];if(Me){var Pe=Me.parse(I,this);if(!Pe)return null;if(this.expectedType){var $e=this.expectedType,dt=Pe.type;if(($e.kind==="string"||$e.kind==="number"||$e.kind==="boolean"||$e.kind==="object"||$e.kind==="array")&&dt.kind==="value")Pe=se(Pe,$e,W.typeAnnotation||"assert");else if(($e.kind==="color"||$e.kind==="formatted"||$e.kind==="resolvedImage")&&(dt.kind==="value"||dt.kind==="string"))Pe=se(Pe,$e,W.typeAnnotation||"coerce");else if(this.checkSubtype($e,dt))return null}if(!(Pe instanceof es)&&Pe.type.kind!=="resolvedImage"&&Qf(Pe)){var Tt=new Os;try{Pe=new es(Pe.type,Pe.evaluate(Tt))}catch(Ct){return this.error(Ct.message),null}}return Pe}return this.error('Unknown expression "'+pe+'". If you wanted a literal array, use ["literal", [...]].',0)}else return typeof I>"u"?this.error("'undefined' value invalid. Use null instead."):typeof I=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof I+" instead.")},el.prototype.concat=function(I,W,se){var pe=typeof I=="number"?this.path.concat(I):this.path,Me=se?this.scope.concat(se):this.scope;return new el(this.registry,pe,W||null,Me,this.errors)},el.prototype.error=function(I){for(var W=[],se=arguments.length-1;se-- >0;)W[se]=arguments[se+1];var pe=""+this.key+W.map(function(Me){return"["+Me+"]"}).join("");this.errors.push(new An(pe,I))},el.prototype.checkSubtype=function(I,W){var se=Do(I,W);return se&&this.error(se),se};function Qf(R){if(R instanceof Bs)return Qf(R.boundExpression);if(R instanceof So&&R.name==="error")return!1;if(R instanceof Qs)return!1;if(R instanceof ls)return!1;var I=R instanceof Mo||R instanceof ko,W=!0;return R.eachChild(function(se){I?W=W&&Qf(se):W=W&&se instanceof es}),W?kl(R)&&nu(R,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]):!1}function au(R,I){for(var W=R.length-1,se=0,pe=W,Me=0,Pe,$e;se<=pe;)if(Me=Math.floor((se+pe)/2),Pe=R[Me],$e=R[Me+1],Pe<=I){if(Me===W||I<$e)return Me;se=Me+1}else if(Pe>I)pe=Me-1;else throw new ho("Input is not a number.");return 0}var cl=function(I,W,se){this.type=I,this.input=W,this.labels=[],this.outputs=[];for(var pe=0,Me=se;pe=$e)return W.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',Tt);var Wt=W.parse(dt,Ct,Me);if(!Wt)return null;Me=Me||Wt.type,pe.push([$e,Wt])}return new cl(Me,se,pe)},cl.prototype.evaluate=function(I){var W=this.labels,se=this.outputs;if(W.length===1)return se[0].evaluate(I);var pe=this.input.evaluate(I);if(pe<=W[0])return se[0].evaluate(I);var Me=W.length;if(pe>=W[Me-1])return se[Me-1].evaluate(I);var Pe=au(W,pe);return se[Pe].evaluate(I)},cl.prototype.eachChild=function(I){I(this.input);for(var W=0,se=this.outputs;W0&&I.push(this.labels[W]),I.push(this.outputs[W].serialize());return I};function ro(R,I,W){return R*(1-W)+I*W}function qf(R,I,W){return new gi(ro(R.r,I.r,W),ro(R.g,I.g,W),ro(R.b,I.b,W),ro(R.a,I.a,W))}function ff(R,I,W){return R.map(function(se,pe){return ro(se,I[pe],W)})}var iu=Object.freeze({__proto__:null,number:ro,color:qf,array:ff}),Vc=.95047,Gc=1,ou=1.08883,su=4/29,To=6/29,cf=3*To*To,Zh=To*To*To,ec=Math.PI/180,Xh=180/Math.PI;function hf(R){return R>Zh?Math.pow(R,.3333333333333333):R/cf+su}function Iu(R){return R>To?R*R*R:cf*(R-su)}function tc(R){return 255*(R<=.0031308?12.92*R:1.055*Math.pow(R,.4166666666666667)-.055)}function rc(R){return R/=255,R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Du(R){var I=rc(R.r),W=rc(R.g),se=rc(R.b),pe=hf((.4124564*I+.3575761*W+.1804375*se)/Vc),Me=hf((.2126729*I+.7151522*W+.072175*se)/Gc),Pe=hf((.0193339*I+.119192*W+.9503041*se)/ou);return{l:116*Me-16,a:500*(pe-Me),b:200*(Me-Pe),alpha:R.a}}function nc(R){var I=(R.l+16)/116,W=isNaN(R.a)?I:I+R.a/500,se=isNaN(R.b)?I:I-R.b/200;return I=Gc*Iu(I),W=Vc*Iu(W),se=ou*Iu(se),new gi(tc(3.2404542*W-1.5371385*I-.4985314*se),tc(-.969266*W+1.8760108*I+.041556*se),tc(.0556434*W-.2040259*I+1.0572252*se),R.alpha)}function df(R,I,W){return{l:ro(R.l,I.l,W),a:ro(R.a,I.a,W),b:ro(R.b,I.b,W),alpha:ro(R.alpha,I.alpha,W)}}function ac(R){var I=Du(R),W=I.l,se=I.a,pe=I.b,Me=Math.atan2(pe,se)*Xh;return{h:Me<0?Me+360:Me,c:Math.sqrt(se*se+pe*pe),l:W,alpha:R.a}}function ki(R){var I=R.h*ec,W=R.c,se=R.l;return nc({l:se,a:Math.cos(I)*W,b:Math.sin(I)*W,alpha:R.alpha})}function Wc(R,I,W){var se=I-R;return R+W*(se>180||se<-180?se-360*Math.round(se/360):se)}function ws(R,I,W){return{h:Wc(R.h,I.h,W),c:ro(R.c,I.c,W),l:ro(R.l,I.l,W),alpha:ro(R.alpha,I.alpha,W)}}var lu={forward:Du,reverse:nc,interpolate:df},Fl={forward:ac,reverse:ki,interpolate:ws},ic=Object.freeze({__proto__:null,lab:lu,hcl:Fl}),io=function(I,W,se,pe,Me){this.type=I,this.operator=W,this.interpolation=se,this.input=pe,this.labels=[],this.outputs=[];for(var Pe=0,$e=Me;Pe<$e.length;Pe+=1){var dt=$e[Pe],Tt=dt[0],Ct=dt[1];this.labels.push(Tt),this.outputs.push(Ct)}};io.interpolationFactor=function(I,W,se,pe){var Me=0;if(I.name==="exponential")Me=ku(W,I.base,se,pe);else if(I.name==="linear")Me=ku(W,1,se,pe);else if(I.name==="cubic-bezier"){var Pe=I.controlPoints,$e=new d(Pe[0],Pe[1],Pe[2],Pe[3]);Me=$e.solve(ku(W,1,se,pe))}return Me},io.parse=function(I,W){var se=I[0],pe=I[1],Me=I[2],Pe=I.slice(3);if(!Array.isArray(pe)||pe.length===0)return W.error("Expected an interpolation type expression.",1);if(pe[0]==="linear")pe={name:"linear"};else if(pe[0]==="exponential"){var $e=pe[1];if(typeof $e!="number")return W.error("Exponential interpolation requires a numeric base.",1,1);pe={name:"exponential",base:$e}}else if(pe[0]==="cubic-bezier"){var dt=pe.slice(1);if(dt.length!==4||dt.some(function(qr){return typeof qr!="number"||qr<0||qr>1}))return W.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);pe={name:"cubic-bezier",controlPoints:dt}}else return W.error("Unknown interpolation type "+String(pe[0]),1,0);if(I.length-1<4)return W.error("Expected at least 4 arguments, but found only "+(I.length-1)+".");if((I.length-1)%2!==0)return W.error("Expected an even number of arguments.");if(Me=W.parse(Me,2,Lr),!Me)return null;var Tt=[],Ct=null;se==="interpolate-hcl"||se==="interpolate-lab"?Ct=On:W.expectedType&&W.expectedType.kind!=="value"&&(Ct=W.expectedType);for(var Wt=0;Wt=or)return W.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',mr);var nn=W.parse(Qt,Ur,Ct);if(!nn)return null;Ct=Ct||nn.type,Tt.push([or,nn])}return Ct.kind!=="number"&&Ct.kind!=="color"&&!(Ct.kind==="array"&&Ct.itemType.kind==="number"&&typeof Ct.N=="number")?W.error("Type "+ma(Ct)+" is not interpolatable."):new io(Ct,se,pe,Me,Tt)},io.prototype.evaluate=function(I){var W=this.labels,se=this.outputs;if(W.length===1)return se[0].evaluate(I);var pe=this.input.evaluate(I);if(pe<=W[0])return se[0].evaluate(I);var Me=W.length;if(pe>=W[Me-1])return se[Me-1].evaluate(I);var Pe=au(W,pe),$e=W[Pe],dt=W[Pe+1],Tt=io.interpolationFactor(this.interpolation,pe,$e,dt),Ct=se[Pe].evaluate(I),Wt=se[Pe+1].evaluate(I);return this.operator==="interpolate"?iu[this.type.kind.toLowerCase()](Ct,Wt,Tt):this.operator==="interpolate-hcl"?Fl.reverse(Fl.interpolate(Fl.forward(Ct),Fl.forward(Wt),Tt)):lu.reverse(lu.interpolate(lu.forward(Ct),lu.forward(Wt),Tt))},io.prototype.eachChild=function(I){I(this.input);for(var W=0,se=this.outputs;W=se.length)throw new ho("Array index out of bounds: "+W+" > "+(se.length-1)+".");if(W!==Math.floor(W))throw new ho("Array index must be an integer, but found "+W+" instead.");return se[W]},rl.prototype.eachChild=function(I){I(this.index),I(this.input)},rl.prototype.outputDefined=function(){return!1},rl.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var hl=function(I,W){this.type=pn,this.needle=I,this.haystack=W};hl.parse=function(I,W){if(I.length!==3)return W.error("Expected 2 arguments, but found "+(I.length-1)+" instead.");var se=W.parse(I[1],1,xn),pe=W.parse(I[2],2,xn);return!se||!pe?null:No(se.type,[pn,Fr,Lr,Rr,xn])?new hl(se,pe):W.error("Expected first argument to be of type boolean, string, number or null, but found "+ma(se.type)+" instead")},hl.prototype.evaluate=function(I){var W=this.needle.evaluate(I),se=this.haystack.evaluate(I);if(!se)return!1;if(!Yo(W,["boolean","string","number","null"]))throw new ho("Expected first argument to be of type boolean, string, number or null, but found "+ma(Ji(W))+" instead.");if(!Yo(se,["string","array"]))throw new ho("Expected second argument to be of type array or string, but found "+ma(Ji(se))+" instead.");return se.indexOf(W)>=0},hl.prototype.eachChild=function(I){I(this.needle),I(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var dl=function(I,W,se){this.type=Lr,this.needle=I,this.haystack=W,this.fromIndex=se};dl.parse=function(I,W){if(I.length<=2||I.length>=5)return W.error("Expected 3 or 4 arguments, but found "+(I.length-1)+" instead.");var se=W.parse(I[1],1,xn),pe=W.parse(I[2],2,xn);if(!se||!pe)return null;if(!No(se.type,[pn,Fr,Lr,Rr,xn]))return W.error("Expected first argument to be of type boolean, string, number or null, but found "+ma(se.type)+" instead");if(I.length===4){var Me=W.parse(I[3],3,Lr);return Me?new dl(se,pe,Me):null}else return new dl(se,pe)},dl.prototype.evaluate=function(I){var W=this.needle.evaluate(I),se=this.haystack.evaluate(I);if(!Yo(W,["boolean","string","number","null"]))throw new ho("Expected first argument to be of type boolean, string, number or null, but found "+ma(Ji(W))+" instead.");if(!Yo(se,["string","array"]))throw new ho("Expected second argument to be of type array or string, but found "+ma(Ji(se))+" instead.");if(this.fromIndex){var pe=this.fromIndex.evaluate(I);return se.indexOf(W,pe)}return se.indexOf(W)},dl.prototype.eachChild=function(I){I(this.needle),I(this.haystack),this.fromIndex&&I(this.fromIndex)},dl.prototype.outputDefined=function(){return!1},dl.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var I=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),I]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var vl=function(I,W,se,pe,Me,Pe){this.inputType=I,this.type=W,this.input=se,this.cases=pe,this.outputs=Me,this.otherwise=Pe};vl.parse=function(I,W){if(I.length<5)return W.error("Expected at least 4 arguments, but found only "+(I.length-1)+".");if(I.length%2!==1)return W.error("Expected an even number of arguments.");var se,pe;W.expectedType&&W.expectedType.kind!=="value"&&(pe=W.expectedType);for(var Me={},Pe=[],$e=2;$eNumber.MAX_SAFE_INTEGER)return Ct.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if(typeof Qt=="number"&&Math.floor(Qt)!==Qt)return Ct.error("Numeric branch labels must be integer values.");if(!se)se=Ji(Qt);else if(Ct.checkSubtype(se,Ji(Qt)))return null;if(typeof Me[String(Qt)]<"u")return Ct.error("Branch labels must be unique.");Me[String(Qt)]=Pe.length}var mr=W.parse(Tt,$e,pe);if(!mr)return null;pe=pe||mr.type,Pe.push(mr)}var Ur=W.parse(I[1],1,xn);if(!Ur)return null;var nn=W.parse(I[I.length-1],I.length-1,pe);return!nn||Ur.type.kind!=="value"&&W.concat(1).checkSubtype(se,Ur.type)?null:new vl(se,pe,Ur,Me,Pe,nn)},vl.prototype.evaluate=function(I){var W=this.input.evaluate(I),se=Ji(W)===this.inputType&&this.outputs[this.cases[W]]||this.otherwise;return se.evaluate(I)},vl.prototype.eachChild=function(I){I(this.input),this.outputs.forEach(I),I(this.otherwise)},vl.prototype.outputDefined=function(){return this.outputs.every(function(I){return I.outputDefined()})&&this.otherwise.outputDefined()},vl.prototype.serialize=function(){for(var I=this,W=["match",this.input.serialize()],se=Object.keys(this.cases).sort(),pe=[],Me={},Pe=0,$e=se;Pe<$e.length;Pe+=1){var dt=$e[Pe],Tt=Me[this.cases[dt]];Tt===void 0?(Me[this.cases[dt]]=pe.length,pe.push([this.cases[dt],[dt]])):pe[Tt][1].push(dt)}for(var Ct=function(Ur){return I.inputType.kind==="number"?Number(Ur):Ur},Wt=0,or=pe;Wt=5)return W.error("Expected 3 or 4 arguments, but found "+(I.length-1)+" instead.");var se=W.parse(I[1],1,xn),pe=W.parse(I[2],2,Lr);if(!se||!pe)return null;if(!No(se.type,[ca(xn),Fr,xn]))return W.error("Expected first argument to be of type array or string, but found "+ma(se.type)+" instead");if(I.length===4){var Me=W.parse(I[3],3,Lr);return Me?new Ns(se.type,se,pe,Me):null}else return new Ns(se.type,se,pe)},Ns.prototype.evaluate=function(I){var W=this.input.evaluate(I),se=this.beginIndex.evaluate(I);if(!Yo(W,["string","array"]))throw new ho("Expected first argument to be of type array or string, but found "+ma(Ji(W))+" instead.");if(this.endIndex){var pe=this.endIndex.evaluate(I);return W.slice(se,pe)}return W.slice(se)},Ns.prototype.eachChild=function(I){I(this.input),I(this.beginIndex),this.endIndex&&I(this.endIndex)},Ns.prototype.outputDefined=function(){return!1},Ns.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var I=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),I]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};function Fu(R,I){return R==="=="||R==="!="?I.kind==="boolean"||I.kind==="string"||I.kind==="number"||I.kind==="null"||I.kind==="value":I.kind==="string"||I.kind==="number"||I.kind==="value"}function Ou(R,I,W){return I===W}function vf(R,I,W){return I!==W}function Kh(R,I,W){return IW}function Jh(R,I,W){return I<=W}function Qh(R,I,W){return I>=W}function pf(R,I,W,se){return se.compare(I,W)===0}function jc(R,I,W,se){return!pf(R,I,W,se)}function uu(R,I,W,se){return se.compare(I,W)<0}function Eo(R,I,W,se){return se.compare(I,W)>0}function Ko(R,I,W,se){return se.compare(I,W)<=0}function zu(R,I,W,se){return se.compare(I,W)>=0}function Ol(R,I,W){var se=R!=="=="&&R!=="!=";return function(){function pe(Me,Pe,$e){this.type=pn,this.lhs=Me,this.rhs=Pe,this.collator=$e,this.hasUntypedArgument=Me.type.kind==="value"||Pe.type.kind==="value"}return pe.parse=function(Pe,$e){if(Pe.length!==3&&Pe.length!==4)return $e.error("Expected two or three arguments.");var dt=Pe[0],Tt=$e.parse(Pe[1],1,xn);if(!Tt)return null;if(!Fu(dt,Tt.type))return $e.concat(1).error('"'+dt+`" comparisons are not supported for type '`+ma(Tt.type)+"'.");var Ct=$e.parse(Pe[2],2,xn);if(!Ct)return null;if(!Fu(dt,Ct.type))return $e.concat(2).error('"'+dt+`" comparisons are not supported for type '`+ma(Ct.type)+"'.");if(Tt.type.kind!==Ct.type.kind&&Tt.type.kind!=="value"&&Ct.type.kind!=="value")return $e.error("Cannot compare types '"+ma(Tt.type)+"' and '"+ma(Ct.type)+"'.");se&&(Tt.type.kind==="value"&&Ct.type.kind!=="value"?Tt=new ko(Ct.type,[Tt]):Tt.type.kind!=="value"&&Ct.type.kind==="value"&&(Ct=new ko(Tt.type,[Ct])));var Wt=null;if(Pe.length===4){if(Tt.type.kind!=="string"&&Ct.type.kind!=="string"&&Tt.type.kind!=="value"&&Ct.type.kind!=="value")return $e.error("Cannot use collator to compare non-string types.");if(Wt=$e.parse(Pe[3],3,ta),!Wt)return null}return new pe(Tt,Ct,Wt)},pe.prototype.evaluate=function(Pe){var $e=this.lhs.evaluate(Pe),dt=this.rhs.evaluate(Pe);if(se&&this.hasUntypedArgument){var Tt=Ji($e),Ct=Ji(dt);if(Tt.kind!==Ct.kind||!(Tt.kind==="string"||Tt.kind==="number"))throw new ho('Expected arguments for "'+R+'" to be (string, string) or (number, number), but found ('+Tt.kind+", "+Ct.kind+") instead.")}if(this.collator&&!se&&this.hasUntypedArgument){var Wt=Ji($e),or=Ji(dt);if(Wt.kind!=="string"||or.kind!=="string")return I(Pe,$e,dt)}return this.collator?W(Pe,$e,dt,this.collator.evaluate(Pe)):I(Pe,$e,dt)},pe.prototype.eachChild=function(Pe){Pe(this.lhs),Pe(this.rhs),this.collator&&Pe(this.collator)},pe.prototype.outputDefined=function(){return!0},pe.prototype.serialize=function(){var Pe=[R];return this.eachChild(function($e){Pe.push($e.serialize())}),Pe},pe}()}var Bu=Ol("==",Ou,pf),gf=Ol("!=",vf,jc),qh=Ol("<",Kh,uu),Yc=Ol(">",$h,Eo),Zc=Ol("<=",Jh,Ko),oc=Ol(">=",Qh,zu),pl=function(I,W,se,pe,Me){this.type=Fr,this.number=I,this.locale=W,this.currency=se,this.minFractionDigits=pe,this.maxFractionDigits=Me};pl.parse=function(I,W){if(I.length!==3)return W.error("Expected two arguments.");var se=W.parse(I[1],1,Lr);if(!se)return null;var pe=I[2];if(typeof pe!="object"||Array.isArray(pe))return W.error("NumberFormat options argument must be an object.");var Me=null;if(pe.locale&&(Me=W.parse(pe.locale,1,Fr),!Me))return null;var Pe=null;if(pe.currency&&(Pe=W.parse(pe.currency,1,Fr),!Pe))return null;var $e=null;if(pe["min-fraction-digits"]&&($e=W.parse(pe["min-fraction-digits"],1,Lr),!$e))return null;var dt=null;return pe["max-fraction-digits"]&&(dt=W.parse(pe["max-fraction-digits"],1,Lr),!dt)?null:new pl(se,Me,Pe,$e,dt)},pl.prototype.evaluate=function(I){return new Intl.NumberFormat(this.locale?this.locale.evaluate(I):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(I):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(I):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(I):void 0}).format(this.number.evaluate(I))},pl.prototype.eachChild=function(I){I(this.number),this.locale&&I(this.locale),this.currency&&I(this.currency),this.minFractionDigits&&I(this.minFractionDigits),this.maxFractionDigits&&I(this.maxFractionDigits)},pl.prototype.outputDefined=function(){return!1},pl.prototype.serialize=function(){var I={};return this.locale&&(I.locale=this.locale.serialize()),this.currency&&(I.currency=this.currency.serialize()),this.minFractionDigits&&(I["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(I["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),I]};var oo=function(I){this.type=Lr,this.input=I};oo.parse=function(I,W){if(I.length!==2)return W.error("Expected 1 argument, but found "+(I.length-1)+" instead.");var se=W.parse(I[1],1);return se?se.type.kind!=="array"&&se.type.kind!=="string"&&se.type.kind!=="value"?W.error("Expected argument of type string or array, but found "+ma(se.type)+" instead."):new oo(se):null},oo.prototype.evaluate=function(I){var W=this.input.evaluate(I);if(typeof W=="string")return W.length;if(Array.isArray(W))return W.length;throw new ho("Expected value to be of type string or array, but found "+ma(Ji(W))+" instead.")},oo.prototype.eachChild=function(I){I(this.input)},oo.prototype.outputDefined=function(){return!1},oo.prototype.serialize=function(){var I=["length"];return this.eachChild(function(W){I.push(W.serialize())}),I};var Us={"==":Bu,"!=":gf,">":Yc,"<":qh,">=":oc,"<=":Zc,array:ko,at:rl,boolean:ko,case:Ts,coalesce:Xo,collator:Qs,format:ss,image:Fs,in:hl,"index-of":dl,interpolate:io,"interpolate-hcl":io,"interpolate-lab":io,length:oo,let:tl,literal:es,match:vl,number:ko,"number-format":pl,object:ko,slice:Ns,step:cl,string:ko,"to-boolean":Mo,"to-color":Mo,"to-number":Mo,"to-string":Mo,var:Bs,within:ls};function sc(R,I){var W=I[0],se=I[1],pe=I[2],Me=I[3];W=W.evaluate(R),se=se.evaluate(R),pe=pe.evaluate(R);var Pe=Me?Me.evaluate(R):1,$e=Bc(W,se,pe,Pe);if($e)throw new ho($e);return new gi(W/255*Pe,se/255*Pe,pe/255*Pe,Pe)}function Xc(R,I){return R in I}function zl(R,I){var W=I[R];return typeof W>"u"?null:W}function yf(R,I,W,se){for(;W<=se;){var pe=W+se>>1;if(I[pe]===R)return!0;I[pe]>R?se=pe-1:W=pe+1}return!1}function As(R){return{type:R}}So.register(Us,{error:[Bn,[Fr],function(R,I){var W=I[0];throw new ho(W.evaluate(R))}],typeof:[Fr,[xn],function(R,I){var W=I[0];return ma(Ji(W.evaluate(R)))}],"to-rgba":[ca(Lr,4),[On],function(R,I){var W=I[0];return W.evaluate(R).toArray()}],rgb:[On,[Lr,Lr,Lr],sc],rgba:[On,[Lr,Lr,Lr,Lr],sc],has:{type:pn,overloads:[[[Fr],function(R,I){var W=I[0];return Xc(W.evaluate(R),R.properties())}],[[Fr,Yn],function(R,I){var W=I[0],se=I[1];return Xc(W.evaluate(R),se.evaluate(R))}]]},get:{type:xn,overloads:[[[Fr],function(R,I){var W=I[0];return zl(W.evaluate(R),R.properties())}],[[Fr,Yn],function(R,I){var W=I[0],se=I[1];return zl(W.evaluate(R),se.evaluate(R))}]]},"feature-state":[xn,[Fr],function(R,I){var W=I[0];return zl(W.evaluate(R),R.featureState||{})}],properties:[Yn,[],function(R){return R.properties()}],"geometry-type":[Fr,[],function(R){return R.geometryType()}],id:[xn,[],function(R){return R.id()}],zoom:[Lr,[],function(R){return R.globals.zoom}],"heatmap-density":[Lr,[],function(R){return R.globals.heatmapDensity||0}],"line-progress":[Lr,[],function(R){return R.globals.lineProgress||0}],accumulated:[xn,[],function(R){return R.globals.accumulated===void 0?null:R.globals.accumulated}],"+":[Lr,As(Lr),function(R,I){for(var W=0,se=0,pe=I;se":[pn,[Fr,xn],function(R,I){var W=I[0],se=I[1],pe=R.properties()[W.value],Me=se.value;return typeof pe==typeof Me&&pe>Me}],"filter-id->":[pn,[xn],function(R,I){var W=I[0],se=R.id(),pe=W.value;return typeof se==typeof pe&&se>pe}],"filter-<=":[pn,[Fr,xn],function(R,I){var W=I[0],se=I[1],pe=R.properties()[W.value],Me=se.value;return typeof pe==typeof Me&&pe<=Me}],"filter-id-<=":[pn,[xn],function(R,I){var W=I[0],se=R.id(),pe=W.value;return typeof se==typeof pe&&se<=pe}],"filter->=":[pn,[Fr,xn],function(R,I){var W=I[0],se=I[1],pe=R.properties()[W.value],Me=se.value;return typeof pe==typeof Me&&pe>=Me}],"filter-id->=":[pn,[xn],function(R,I){var W=I[0],se=R.id(),pe=W.value;return typeof se==typeof pe&&se>=pe}],"filter-has":[pn,[xn],function(R,I){var W=I[0];return W.value in R.properties()}],"filter-has-id":[pn,[],function(R){return R.id()!==null&&R.id()!==void 0}],"filter-type-in":[pn,[ca(Fr)],function(R,I){var W=I[0];return W.value.indexOf(R.geometryType())>=0}],"filter-id-in":[pn,[ca(xn)],function(R,I){var W=I[0];return W.value.indexOf(R.id())>=0}],"filter-in-small":[pn,[Fr,ca(xn)],function(R,I){var W=I[0],se=I[1];return se.value.indexOf(R.properties()[W.value])>=0}],"filter-in-large":[pn,[Fr,ca(xn)],function(R,I){var W=I[0],se=I[1];return yf(R.properties()[W.value],se.value,0,se.value.length-1)}],all:{type:pn,overloads:[[[pn,pn],function(R,I){var W=I[0],se=I[1];return W.evaluate(R)&&se.evaluate(R)}],[As(pn),function(R,I){for(var W=0,se=I;W-1}function fu(R){return!!R.expression&&R.expression.interpolated}function Ci(R){return R instanceof Number?"number":R instanceof String?"string":R instanceof Boolean?"boolean":Array.isArray(R)?"array":R===null?"null":typeof R}function Bl(R){return typeof R=="object"&&R!==null&&!Array.isArray(R)}function xf(R){return R}function bf(R,I){var W=I.type==="color",se=R.stops&&typeof R.stops[0][0]=="object",pe=se||R.property!==void 0,Me=se||!pe,Pe=R.type||(fu(I)?"exponential":"interval");if(W&&(R=dn({},R),R.stops&&(R.stops=R.stops.map(function(qn){return[qn[0],gi.parse(qn[1])]})),R.default?R.default=gi.parse(R.default):R.default=gi.parse(I.default)),R.colorSpace&&R.colorSpace!=="rgb"&&!ic[R.colorSpace])throw new Error("Unknown color space: "+R.colorSpace);var $e,dt,Tt;if(Pe==="exponential")$e=cu;else if(Pe==="interval")$e=uc;else if(Pe==="categorical"){$e=ed,dt=Object.create(null);for(var Ct=0,Wt=R.stops;Ct=R.stops[se-1][0])return R.stops[se-1][1];var pe=au(R.stops.map(function(Me){return Me[0]}),W);return R.stops[pe][1]}function cu(R,I,W){var se=R.base!==void 0?R.base:1;if(Ci(W)!=="number")return yl(R.default,I.default);var pe=R.stops.length;if(pe===1||W<=R.stops[0][0])return R.stops[0][1];if(W>=R.stops[pe-1][0])return R.stops[pe-1][1];var Me=au(R.stops.map(function(Wt){return Wt[0]}),W),Pe=Kc(W,se,R.stops[Me][0],R.stops[Me+1][0]),$e=R.stops[Me][1],dt=R.stops[Me+1][1],Tt=iu[I.type]||xf;if(R.colorSpace&&R.colorSpace!=="rgb"){var Ct=ic[R.colorSpace];Tt=function(Wt,or){return Ct.reverse(Ct.interpolate(Ct.forward(Wt),Ct.forward(or),Pe))}}return typeof $e.evaluate=="function"?{evaluate:function(){for(var or=[],Qt=arguments.length;Qt--;)or[Qt]=arguments[Qt];var mr=$e.evaluate.apply(void 0,or),Ur=dt.evaluate.apply(void 0,or);if(!(mr===void 0||Ur===void 0))return Tt(mr,Ur,Pe)}}:Tt($e,dt,Pe)}function fc(R,I,W){return I.type==="color"?W=gi.parse(W):I.type==="formatted"?W=wo.fromString(W.toString()):I.type==="resolvedImage"?W=Zo.fromString(W.toString()):Ci(W)!==I.type&&(I.type!=="enum"||!I.values[W])&&(W=void 0),yl(W,R.default,I.default)}function Kc(R,I,W,se){var pe=se-W,Me=R-W;return pe===0?0:I===1?Me/pe:(Math.pow(I,Me)-1)/(Math.pow(I,pe)-1)}var il=function(I,W){this.expression=I,this._warningHistory={},this._evaluator=new Os,this._defaultValue=W?Jc(W):null,this._enumValues=W&&W.type==="enum"?W.values:null};il.prototype.evaluateWithoutErrorHandling=function(I,W,se,pe,Me,Pe){return this._evaluator.globals=I,this._evaluator.feature=W,this._evaluator.featureState=se,this._evaluator.canonical=pe,this._evaluator.availableImages=Me||null,this._evaluator.formattedSection=Pe,this.expression.evaluate(this._evaluator)},il.prototype.evaluate=function(I,W,se,pe,Me,Pe){this._evaluator.globals=I,this._evaluator.feature=W||null,this._evaluator.featureState=se||null,this._evaluator.canonical=pe,this._evaluator.availableImages=Me||null,this._evaluator.formattedSection=Pe||null;try{var $e=this.expression.evaluate(this._evaluator);if($e==null||typeof $e=="number"&&$e!==$e)return this._defaultValue;if(this._enumValues&&!($e in this._enumValues))throw new ho("Expected value to be one of "+Object.keys(this._enumValues).map(function(dt){return JSON.stringify(dt)}).join(", ")+", but found "+JSON.stringify($e)+" instead.");return $e}catch(dt){return this._warningHistory[dt.message]||(this._warningHistory[dt.message]=!0,typeof console<"u"&&console.warn(dt.message)),this._defaultValue}};function ml(R){return Array.isArray(R)&&R.length>0&&typeof R[0]=="string"&&R[0]in Us}function Nl(R,I){var W=new el(Us,[],I?wf(I):void 0),se=W.parse(R,void 0,void 0,void 0,I&&I.type==="string"?{typeAnnotation:"coerce"}:void 0);return se?mf(new il(se,I)):nl(W.errors)}var Ul=function(I,W){this.kind=I,this._styleExpression=W,this.isStateDependent=I!=="constant"&&!Ru(W.expression)};Ul.prototype.evaluateWithoutErrorHandling=function(I,W,se,pe,Me,Pe){return this._styleExpression.evaluateWithoutErrorHandling(I,W,se,pe,Me,Pe)},Ul.prototype.evaluate=function(I,W,se,pe,Me,Pe){return this._styleExpression.evaluate(I,W,se,pe,Me,Pe)};var $o=function(I,W,se,pe){this.kind=I,this.zoomStops=se,this._styleExpression=W,this.isStateDependent=I!=="camera"&&!Ru(W.expression),this.interpolationType=pe};$o.prototype.evaluateWithoutErrorHandling=function(I,W,se,pe,Me,Pe){return this._styleExpression.evaluateWithoutErrorHandling(I,W,se,pe,Me,Pe)},$o.prototype.evaluate=function(I,W,se,pe,Me,Pe){return this._styleExpression.evaluate(I,W,se,pe,Me,Pe)},$o.prototype.interpolationFactor=function(I,W,se){return this.interpolationType?io.interpolationFactor(this.interpolationType,I,W,se):0};function rs(R,I){if(R=Nl(R,I),R.result==="error")return R;var W=R.value.expression,se=kl(W);if(!se&&!al(I))return nl([new An("","data expressions not supported")]);var pe=nu(W,["zoom"]);if(!pe&&!lc(I))return nl([new An("","zoom expressions not supported")]);var Me=hu(W);if(!Me&&!pe)return nl([new An("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(Me instanceof An)return nl([Me]);if(Me instanceof io&&!fu(I))return nl([new An("",'"interpolate" expressions cannot be used with this property')]);if(!Me)return mf(se?new Ul("constant",R.value):new Ul("source",R.value));var Pe=Me instanceof io?Me.interpolation:void 0;return mf(se?new $o("camera",R.value,Me.labels,Pe):new $o("composite",R.value,Me.labels,Pe))}var Hl=function(I,W){this._parameters=I,this._specification=W,dn(this,bf(this._parameters,this._specification))};Hl.deserialize=function(I){return new Hl(I._parameters,I._specification)},Hl.serialize=function(I){return{_parameters:I._parameters,_specification:I._specification}};function $c(R,I){if(Bl(R))return new Hl(R,I);if(ml(R)){var W=rs(R,I);if(W.result==="error")throw new Error(W.value.map(function(pe){return pe.key+": "+pe.message}).join(", "));return W.value}else{var se=R;return typeof R=="string"&&I.type==="color"&&(se=gi.parse(R)),{kind:"constant",evaluate:function(){return se}}}}function hu(R){var I=null;if(R instanceof tl)I=hu(R.result);else if(R instanceof Xo)for(var W=0,se=R.args;Wse.maximum?[new Tr(I,W,W+" is greater than the maximum value "+se.maximum)]:[]}function Nu(R){var I=R.valueSpec,W=vn(R.value.type),se,pe={},Me,Pe,$e=W!=="categorical"&&R.value.property===void 0,dt=!$e,Tt=Ci(R.value.stops)==="array"&&Ci(R.value.stops[0])==="array"&&Ci(R.value.stops[0][0])==="object",Ct=Ms({key:R.key,value:R.value,valueSpec:R.styleSpec.function,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:Wt,default:mr}});return W==="identity"&&$e&&Ct.push(new Tr(R.key,R.value,'missing required property "property"')),W!=="identity"&&!R.value.stops&&Ct.push(new Tr(R.key,R.value,'missing required property "stops"')),W==="exponential"&&R.valueSpec.expression&&!fu(R.valueSpec)&&Ct.push(new Tr(R.key,R.value,"exponential functions not supported")),R.styleSpec.$version>=8&&(dt&&!al(R.valueSpec)?Ct.push(new Tr(R.key,R.value,"property functions not supported")):$e&&!lc(R.valueSpec)&&Ct.push(new Tr(R.key,R.value,"zoom functions not supported"))),(W==="categorical"||Tt)&&R.value.property===void 0&&Ct.push(new Tr(R.key,R.value,'"property" property is required')),Ct;function Wt(Ur){if(W==="identity")return[new Tr(Ur.key,Ur.value,'identity function may not have a "stops" property')];var nn=[],qr=Ur.value;return nn=nn.concat(cc({key:Ur.key,value:qr,valueSpec:Ur.valueSpec,style:Ur.style,styleSpec:Ur.styleSpec,arrayElementValidator:or})),Ci(qr)==="array"&&qr.length===0&&nn.push(new Tr(Ur.key,qr,"array must have at least one stop")),nn}function or(Ur){var nn=[],qr=Ur.value,En=Ur.key;if(Ci(qr)!=="array")return[new Tr(En,qr,"array expected, "+Ci(qr)+" found")];if(qr.length!==2)return[new Tr(En,qr,"array length 2 expected, length "+qr.length+" found")];if(Tt){if(Ci(qr[0])!=="object")return[new Tr(En,qr,"object expected, "+Ci(qr[0])+" found")];if(qr[0].zoom===void 0)return[new Tr(En,qr,"object stop key must have zoom")];if(qr[0].value===void 0)return[new Tr(En,qr,"object stop key must have value")];if(Pe&&Pe>vn(qr[0].zoom))return[new Tr(En,qr[0].zoom,"stop zoom values must appear in ascending order")];vn(qr[0].zoom)!==Pe&&(Pe=vn(qr[0].zoom),Me=void 0,pe={}),nn=nn.concat(Ms({key:En+"[0]",value:qr[0],valueSpec:{zoom:{}},style:Ur.style,styleSpec:Ur.styleSpec,objectElementValidators:{zoom:xl,value:Qt}}))}else nn=nn.concat(Qt({key:En+"[0]",value:qr[0],valueSpec:{},style:Ur.style,styleSpec:Ur.styleSpec},qr));return ml(Pn(qr[1]))?nn.concat([new Tr(En+"[1]",qr[1],"expressions are not allowed in function stops.")]):nn.concat(nr({key:En+"[1]",value:qr[1],valueSpec:I,style:Ur.style,styleSpec:Ur.styleSpec}))}function Qt(Ur,nn){var qr=Ci(Ur.value),En=vn(Ur.value),wn=Ur.value!==null?Ur.value:nn;if(!se)se=qr;else if(qr!==se)return[new Tr(Ur.key,wn,qr+" stop domain type must match previous stop domain type "+se)];if(qr!=="number"&&qr!=="string"&&qr!=="boolean")return[new Tr(Ur.key,wn,"stop domain value must be a number, string, or boolean")];if(qr!=="number"&&W!=="categorical"){var Sn="number expected, "+qr+" found";return al(I)&&W===void 0&&(Sn+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Tr(Ur.key,wn,Sn)]}return W==="categorical"&&qr==="number"&&(!isFinite(En)||Math.floor(En)!==En)?[new Tr(Ur.key,wn,"integer expected, found "+En)]:W!=="categorical"&&qr==="number"&&Me!==void 0&&En=2&&R[1]!=="$id"&&R[1]!=="$type";case"in":return R.length>=3&&(typeof R[1]!="string"||Array.isArray(R[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case"any":case"all":for(var I=0,W=R.slice(1);II?1:0}function Hu(R){if(!Array.isArray(R))return!1;if(R[0]==="within")return!0;for(var I=1;I"||I==="<="||I===">="?Af(R[1],R[2],I):I==="any"?qc(R.slice(1)):I==="all"?["all"].concat(R.slice(1).map(bl)):I==="none"?["all"].concat(R.slice(1).map(bl).map(Vl)):I==="in"?dc(R[1],R.slice(2)):I==="!in"?Vl(dc(R[1],R.slice(2))):I==="has"?vc(R[1]):I==="!has"?Vl(vc(R[1])):I==="within"?R:!0;return W}function Af(R,I,W){switch(R){case"$type":return["filter-type-"+W,I];case"$id":return["filter-id-"+W,I];default:return["filter-"+W,R,I]}}function qc(R){return["any"].concat(R.map(bl))}function dc(R,I){if(I.length===0)return!1;switch(R){case"$type":return["filter-type-in",["literal",I]];case"$id":return["filter-id-in",["literal",I]];default:return I.length>200&&!I.some(function(W){return typeof W!=typeof I[0]})?["filter-in-large",R,["literal",I.sort(Hs)]]:["filter-in-small",R,["literal",I]]}}function vc(R){switch(R){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",R]}}function Vl(R){return["!",R]}function Mf(R){return Fo(Pn(R.value))?ol(dn({},R,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Vu(R)}function Vu(R){var I=R.value,W=R.key;if(Ci(I)!=="array")return[new Tr(W,I,"array expected, "+Ci(I)+" found")];var se=R.styleSpec,pe,Me=[];if(I.length<1)return[new Tr(W,I,"filter array must have at least 1 element")];switch(Me=Me.concat(Tf({key:W+"[0]",value:I[0],valueSpec:se.filter_operator,style:R.style,styleSpec:R.styleSpec})),vn(I[0])){case"<":case"<=":case">":case">=":I.length>=2&&vn(I[1])==="$type"&&Me.push(new Tr(W,I,'"$type" cannot be use with operator "'+I[0]+'"'));case"==":case"!=":I.length!==3&&Me.push(new Tr(W,I,'filter array for operator "'+I[0]+'" must have 3 elements'));case"in":case"!in":I.length>=2&&(pe=Ci(I[1]),pe!=="string"&&Me.push(new Tr(W+"[1]",I[1],"string expected, "+pe+" found")));for(var Pe=2;Pe=Ct[Qt+0]&&se>=Ct[Qt+1])?(Pe[or]=!0,Me.push(Tt[or])):Pe[or]=!1}}},Ha.prototype._forEachCell=function(R,I,W,se,pe,Me,Pe,$e){for(var dt=this._convertToCellCoord(R),Tt=this._convertToCellCoord(I),Ct=this._convertToCellCoord(W),Wt=this._convertToCellCoord(se),or=dt;or<=Ct;or++)for(var Qt=Tt;Qt<=Wt;Qt++){var mr=this.d*Qt+or;if(!($e&&!$e(this._convertFromCellCoord(or),this._convertFromCellCoord(Qt),this._convertFromCellCoord(or+1),this._convertFromCellCoord(Qt+1)))&&pe.call(this,R,I,W,se,mr,Me,Pe,$e))return}},Ha.prototype._convertFromCellCoord=function(R){return(R-this.padding)/this.scale},Ha.prototype._convertToCellCoord=function(R){return Math.max(0,Math.min(this.d-1,Math.floor(R*this.scale)+this.padding))},Ha.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var R=this.cells,I=Na+this.cells.length+1+1,W=0,se=0;se=0)){var Wt=R[Ct];Tt[Ct]=Fi[dt].shallow.indexOf(Ct)>=0?Wt:nt(Wt,I)}R instanceof Error&&(Tt.message=R.message)}if(Tt.$name)throw new Error("$name property is reserved for worker serialization logic.");return dt!=="Object"&&(Tt.$name=dt),Tt}throw new Error("can't serialize object of type "+typeof R)}function ot(R){if(R==null||typeof R=="boolean"||typeof R=="number"||typeof R=="string"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||Ve(R)||et(R)||ArrayBuffer.isView(R)||R instanceof wi)return R;if(Array.isArray(R))return R.map(ot);if(typeof R=="object"){var I=R.$name||"Object",W=Fi[I],se=W.klass;if(!se)throw new Error("can't deserialize unregistered class "+I);if(se.deserialize)return se.deserialize(R);for(var pe=Object.create(se.prototype),Me=0,Pe=Object.keys(R);Me=0?dt:ot(dt)}}return pe}throw new Error("can't deserialize object of type "+typeof R)}var Pt=function(){this.first=!0};Pt.prototype.update=function(I,W){var se=Math.floor(I);return this.first?(this.first=!1,this.lastIntegerZoom=se,this.lastIntegerZoomTime=0,this.lastZoom=I,this.lastFloorZoom=se,!0):(this.lastFloorZoom>se?(this.lastIntegerZoom=se+1,this.lastIntegerZoomTime=W):this.lastFloorZoom=128&&R<=255},Arabic:function(R){return R>=1536&&R<=1791},"Arabic Supplement":function(R){return R>=1872&&R<=1919},"Arabic Extended-A":function(R){return R>=2208&&R<=2303},"Hangul Jamo":function(R){return R>=4352&&R<=4607},"Unified Canadian Aboriginal Syllabics":function(R){return R>=5120&&R<=5759},Khmer:function(R){return R>=6016&&R<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(R){return R>=6320&&R<=6399},"General Punctuation":function(R){return R>=8192&&R<=8303},"Letterlike Symbols":function(R){return R>=8448&&R<=8527},"Number Forms":function(R){return R>=8528&&R<=8591},"Miscellaneous Technical":function(R){return R>=8960&&R<=9215},"Control Pictures":function(R){return R>=9216&&R<=9279},"Optical Character Recognition":function(R){return R>=9280&&R<=9311},"Enclosed Alphanumerics":function(R){return R>=9312&&R<=9471},"Geometric Shapes":function(R){return R>=9632&&R<=9727},"Miscellaneous Symbols":function(R){return R>=9728&&R<=9983},"Miscellaneous Symbols and Arrows":function(R){return R>=11008&&R<=11263},"CJK Radicals Supplement":function(R){return R>=11904&&R<=12031},"Kangxi Radicals":function(R){return R>=12032&&R<=12255},"Ideographic Description Characters":function(R){return R>=12272&&R<=12287},"CJK Symbols and Punctuation":function(R){return R>=12288&&R<=12351},Hiragana:function(R){return R>=12352&&R<=12447},Katakana:function(R){return R>=12448&&R<=12543},Bopomofo:function(R){return R>=12544&&R<=12591},"Hangul Compatibility Jamo":function(R){return R>=12592&&R<=12687},Kanbun:function(R){return R>=12688&&R<=12703},"Bopomofo Extended":function(R){return R>=12704&&R<=12735},"CJK Strokes":function(R){return R>=12736&&R<=12783},"Katakana Phonetic Extensions":function(R){return R>=12784&&R<=12799},"Enclosed CJK Letters and Months":function(R){return R>=12800&&R<=13055},"CJK Compatibility":function(R){return R>=13056&&R<=13311},"CJK Unified Ideographs Extension A":function(R){return R>=13312&&R<=19903},"Yijing Hexagram Symbols":function(R){return R>=19904&&R<=19967},"CJK Unified Ideographs":function(R){return R>=19968&&R<=40959},"Yi Syllables":function(R){return R>=40960&&R<=42127},"Yi Radicals":function(R){return R>=42128&&R<=42191},"Hangul Jamo Extended-A":function(R){return R>=43360&&R<=43391},"Hangul Syllables":function(R){return R>=44032&&R<=55215},"Hangul Jamo Extended-B":function(R){return R>=55216&&R<=55295},"Private Use Area":function(R){return R>=57344&&R<=63743},"CJK Compatibility Ideographs":function(R){return R>=63744&&R<=64255},"Arabic Presentation Forms-A":function(R){return R>=64336&&R<=65023},"Vertical Forms":function(R){return R>=65040&&R<=65055},"CJK Compatibility Forms":function(R){return R>=65072&&R<=65103},"Small Form Variants":function(R){return R>=65104&&R<=65135},"Arabic Presentation Forms-B":function(R){return R>=65136&&R<=65279},"Halfwidth and Fullwidth Forms":function(R){return R>=65280&&R<=65519}};function Ut(R){for(var I=0,W=R;I=65097&&R<=65103)||vt["CJK Compatibility Ideographs"](R)||vt["CJK Compatibility"](R)||vt["CJK Radicals Supplement"](R)||vt["CJK Strokes"](R)||vt["CJK Symbols and Punctuation"](R)&&!(R>=12296&&R<=12305)&&!(R>=12308&&R<=12319)&&R!==12336||vt["CJK Unified Ideographs Extension A"](R)||vt["CJK Unified Ideographs"](R)||vt["Enclosed CJK Letters and Months"](R)||vt["Hangul Compatibility Jamo"](R)||vt["Hangul Jamo Extended-A"](R)||vt["Hangul Jamo Extended-B"](R)||vt["Hangul Jamo"](R)||vt["Hangul Syllables"](R)||vt.Hiragana(R)||vt["Ideographic Description Characters"](R)||vt.Kanbun(R)||vt["Kangxi Radicals"](R)||vt["Katakana Phonetic Extensions"](R)||vt.Katakana(R)&&R!==12540||vt["Halfwidth and Fullwidth Forms"](R)&&R!==65288&&R!==65289&&R!==65293&&!(R>=65306&&R<=65310)&&R!==65339&&R!==65341&&R!==65343&&!(R>=65371&&R<=65503)&&R!==65507&&!(R>=65512&&R<=65519)||vt["Small Form Variants"](R)&&!(R>=65112&&R<=65118)&&!(R>=65123&&R<=65126)||vt["Unified Canadian Aboriginal Syllabics"](R)||vt["Unified Canadian Aboriginal Syllabics Extended"](R)||vt["Vertical Forms"](R)||vt["Yijing Hexagram Symbols"](R)||vt["Yi Syllables"](R)||vt["Yi Radicals"](R))}function $r(R){return!!(vt["Latin-1 Supplement"](R)&&(R===167||R===169||R===174||R===177||R===188||R===189||R===190||R===215||R===247)||vt["General Punctuation"](R)&&(R===8214||R===8224||R===8225||R===8240||R===8241||R===8251||R===8252||R===8258||R===8263||R===8264||R===8265||R===8273)||vt["Letterlike Symbols"](R)||vt["Number Forms"](R)||vt["Miscellaneous Technical"](R)&&(R>=8960&&R<=8967||R>=8972&&R<=8991||R>=8996&&R<=9e3||R===9003||R>=9085&&R<=9114||R>=9150&&R<=9165||R===9167||R>=9169&&R<=9179||R>=9186&&R<=9215)||vt["Control Pictures"](R)&&R!==9251||vt["Optical Character Recognition"](R)||vt["Enclosed Alphanumerics"](R)||vt["Geometric Shapes"](R)||vt["Miscellaneous Symbols"](R)&&!(R>=9754&&R<=9759)||vt["Miscellaneous Symbols and Arrows"](R)&&(R>=11026&&R<=11055||R>=11088&&R<=11097||R>=11192&&R<=11243)||vt["CJK Symbols and Punctuation"](R)||vt.Katakana(R)||vt["Private Use Area"](R)||vt["CJK Compatibility Forms"](R)||vt["Small Form Variants"](R)||vt["Halfwidth and Fullwidth Forms"](R)||R===8734||R===8756||R===8757||R>=9984&&R<=10087||R>=10102&&R<=10131||R===65532||R===65533)}function tn(R){return!(Er(R)||$r(R))}function Ir(R){return vt.Arabic(R)||vt["Arabic Supplement"](R)||vt["Arabic Extended-A"](R)||vt["Arabic Presentation Forms-A"](R)||vt["Arabic Presentation Forms-B"](R)}function Hr(R){return R>=1424&&R<=2303||vt["Arabic Presentation Forms-A"](R)||vt["Arabic Presentation Forms-B"](R)}function Zr(R,I){return!(!I&&Hr(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||vt.Khmer(R))}function rn(R){for(var I=0,W=R;I-1&&(jn=Xr.error),Nn&&Nn(R)};function Aa(){Ta.fire(new Yt("pluginStateChange",{pluginStatus:jn,pluginURL:Qn}))}var Ta=new lr,Ka=function(){return jn},Ra=function(R){return R({pluginStatus:jn,pluginURL:Qn}),Ta.on("pluginStateChange",R),R},Ya=function(R,I,W){if(W===void 0&&(W=!1),jn===Xr.deferred||jn===Xr.loading||jn===Xr.loaded)throw new Error("setRTLTextPlugin cannot be called multiple times.");Qn=le.resolveURL(R),jn=Xr.deferred,Nn=I,Aa(),W||di()},di=function(){if(jn!==Xr.deferred||!Qn)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");jn=Xr.loading,Aa(),Qn&&Mt({url:Qn},function(R){R?sa(R):(jn=Xr.loaded,Aa())})},yi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return jn===Xr.loaded||yi.applyArabicShaping!=null},isLoading:function(){return jn===Xr.loading},setState:function(I){jn=I.pluginStatus,Qn=I.pluginURL},isParsed:function(){return yi.applyArabicShaping!=null&&yi.processBidirectionalText!=null&&yi.processStyledBidirectionalText!=null},getPluginURL:function(){return Qn}},Li=function(){!yi.isLoading()&&!yi.isLoaded()&&Ka()==="deferred"&&di()},Un=function(I,W){this.zoom=I,W?(this.now=W.now,this.fadeDuration=W.fadeDuration,this.zoomHistory=W.zoomHistory,this.transition=W.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pt,this.transition={})};Un.prototype.isSupportedScript=function(I){return fn(I,yi.isLoaded())},Un.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Un.prototype.getCrossfadeParameters=function(){var I=this.zoom,W=I-Math.floor(I),se=this.crossFadingFactor();return I>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:W+(1-W)*se}:{fromScale:.5,toScale:1,t:1-(1-se)*W}};var Za=function(I,W){this.property=I,this.value=W,this.expression=$c(W===void 0?I.specification.default:W,I.specification)};Za.prototype.isDataDriven=function(){return this.expression.kind==="source"||this.expression.kind==="composite"},Za.prototype.possiblyEvaluate=function(I,W,se){return this.property.possiblyEvaluate(this,I,W,se)};var Ga=function(I){this.property=I,this.value=new Za(I,void 0)};Ga.prototype.transitioned=function(I,W){return new ji(this.property,this.value,W,l({},I.transition,this.transition),I.now)},Ga.prototype.untransitioned=function(){return new ji(this.property,this.value,null,{},0)};var ni=function(I){this._properties=I,this._values=Object.create(I.defaultTransitionablePropertyValues)};ni.prototype.getValue=function(I){return A(this._values[I].value.value)},ni.prototype.setValue=function(I,W){this._values.hasOwnProperty(I)||(this._values[I]=new Ga(this._values[I].property)),this._values[I].value=new Za(this._values[I].property,W===null?void 0:A(W))},ni.prototype.getTransition=function(I){return A(this._values[I].transition)},ni.prototype.setTransition=function(I,W){this._values.hasOwnProperty(I)||(this._values[I]=new Ga(this._values[I].property)),this._values[I].transition=A(W)||void 0},ni.prototype.serialize=function(){for(var I={},W=0,se=Object.keys(this._values);Wthis.end)return this.prior=null,Me;if(this.value.isDataDriven())return this.prior=null,Me;if(pePe.zoomHistory.lastIntegerZoom?{from:se,to:pe}:{from:Me,to:pe}},I.prototype.interpolate=function(se){return se},I}(_a),so=function(I){this.specification=I};so.prototype.possiblyEvaluate=function(I,W,se,pe){if(I.value!==void 0)if(I.expression.kind==="constant"){var Me=I.expression.evaluate(W,null,{},se,pe);return this._calculate(Me,Me,Me,W)}else return this._calculate(I.expression.evaluate(new Un(Math.floor(W.zoom-1),W)),I.expression.evaluate(new Un(Math.floor(W.zoom),W)),I.expression.evaluate(new Un(Math.floor(W.zoom+1),W)),W)},so.prototype._calculate=function(I,W,se,pe){var Me=pe.zoom;return Me>pe.zoomHistory.lastIntegerZoom?{from:I,to:W}:{from:se,to:W}},so.prototype.interpolate=function(I){return I};var ns=function(I){this.specification=I};ns.prototype.possiblyEvaluate=function(I,W,se,pe){return!!I.expression.evaluate(W,null,{},se,pe)},ns.prototype.interpolate=function(){return!1};var Ao=function(I){this.properties=I,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var W in I){var se=I[W];se.specification.overridable&&this.overridableProperties.push(W);var pe=this.defaultPropertyValues[W]=new Za(se,void 0),Me=this.defaultTransitionablePropertyValues[W]=new Ga(se);this.defaultTransitioningPropertyValues[W]=Me.untransitioned(),this.defaultPossiblyEvaluatedValues[W]=pe.possiblyEvaluate({})}};ce("DataDrivenProperty",_a),ce("DataConstantProperty",ba),ce("CrossFadedDataDrivenProperty",Hi),ce("CrossFadedProperty",so),ce("ColorRampProperty",ns);var Ho="-transition",Xi=function(R){function I(W,se){if(R.call(this),this.id=W.id,this.type=W.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},W.type!=="custom"&&(W=W,this.metadata=W.metadata,this.minzoom=W.minzoom,this.maxzoom=W.maxzoom,W.type!=="background"&&(this.source=W.source,this.sourceLayer=W["source-layer"],this.filter=W.filter),se.layout&&(this._unevaluatedLayout=new lo(se.layout)),se.paint)){this._transitionablePaint=new ni(se.paint);for(var pe in W.paint)this.setPaintProperty(pe,W.paint[pe],{validate:!1});for(var Me in W.layout)this.setLayoutProperty(Me,W.layout[Me],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Pi(se.paint)}}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},I.prototype.getLayoutProperty=function(se){return se==="visibility"?this.visibility:this._unevaluatedLayout.getValue(se)},I.prototype.setLayoutProperty=function(se,pe,Me){if(Me===void 0&&(Me={}),pe!=null){var Pe="layers."+this.id+".layout."+se;if(this._validate(ya,Pe,se,pe,Me))return}if(se==="visibility"){this.visibility=pe;return}this._unevaluatedLayout.setValue(se,pe)},I.prototype.getPaintProperty=function(se){return b(se,Ho)?this._transitionablePaint.getTransition(se.slice(0,-Ho.length)):this._transitionablePaint.getValue(se)},I.prototype.setPaintProperty=function(se,pe,Me){if(Me===void 0&&(Me={}),pe!=null){var Pe="layers."+this.id+".paint."+se;if(this._validate(In,Pe,se,pe,Me))return!1}if(b(se,Ho))return this._transitionablePaint.setTransition(se.slice(0,-Ho.length),pe||void 0),!1;var $e=this._transitionablePaint._values[se],dt=$e.property.specification["property-type"]==="cross-faded-data-driven",Tt=$e.value.isDataDriven(),Ct=$e.value;this._transitionablePaint.setValue(se,pe),this._handleSpecialPaintPropertyUpdate(se);var Wt=this._transitionablePaint._values[se].value,or=Wt.isDataDriven();return or||Tt||dt||this._handleOverridablePaintPropertyUpdate(se,Ct,Wt)},I.prototype._handleSpecialPaintPropertyUpdate=function(se){},I.prototype._handleOverridablePaintPropertyUpdate=function(se,pe,Me){return!1},I.prototype.isHidden=function(se){return this.minzoom&&se=this.maxzoom?!0:this.visibility==="none"},I.prototype.updateTransitions=function(se){this._transitioningPaint=this._transitionablePaint.transitioned(se,this._transitioningPaint)},I.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},I.prototype.recalculate=function(se,pe){se.getCrossfadeParameters&&(this._crossfadeParameters=se.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(se,void 0,pe)),this.paint=this._transitioningPaint.possiblyEvaluate(se,void 0,pe)},I.prototype.serialize=function(){var se={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 this.visibility&&(se.layout=se.layout||{},se.layout.visibility=this.visibility),_(se,function(pe,Me){return pe!==void 0&&!(Me==="layout"&&!Object.keys(pe).length)&&!(Me==="paint"&&!Object.keys(pe).length)})},I.prototype._validate=function(se,pe,Me,Pe,$e){return $e===void 0&&($e={}),$e&&$e.validate===!1?!1:Da(this,se.call(bn,{key:pe,layerType:this.type,objectKey:Me,value:Pe,styleSpec:Zt,style:{glyphs:!0,sprite:!0}}))},I.prototype.is3D=function(){return!1},I.prototype.isTileClipped=function(){return!1},I.prototype.hasOffscreenPass=function(){return!1},I.prototype.resize=function(){},I.prototype.isStateDependent=function(){for(var se in this.paint._values){var pe=this.paint.get(se);if(!(!(pe instanceof Ui)||!al(pe.property.specification))&&(pe.value.kind==="source"||pe.value.kind==="composite")&&pe.value.isStateDependent)return!0}return!1},I}(lr),us={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Oi=function(I,W){this._structArray=I,this._pos1=W*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Vs=128,fs=5,ui=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};ui.serialize=function(I,W){return I._trim(),W&&(I.isTransferred=!0,W.push(I.arrayBuffer)),{length:I.length,arrayBuffer:I.arrayBuffer}},ui.deserialize=function(I){var W=Object.create(this.prototype);return W.arrayBuffer=I.arrayBuffer,W.length=I.length,W.capacity=I.arrayBuffer.byteLength/W.bytesPerElement,W._refreshViews(),W},ui.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},ui.prototype.clear=function(){this.length=0},ui.prototype.resize=function(I){this.reserve(I),this.length=I},ui.prototype.reserve=function(I){if(I>this.capacity){this.capacity=Math.max(I,Math.floor(this.capacity*fs),Vs),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var W=this.uint8;this._refreshViews(),W&&this.uint8.set(W)}},ui.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};function Vi(R,I){I===void 0&&(I=1);var W=0,se=0,pe=R.map(function(Pe){var $e=rh(Pe.type),dt=W=pc(W,Math.max(I,$e)),Tt=Pe.components||1;return se=Math.max(se,$e),W+=$e*Tt,{name:Pe.name,type:Pe.type,components:Tt,offset:dt}}),Me=pc(W,Math.max(se,I));return{members:pe,size:Me,alignment:I}}function rh(R){return us[R].BYTES_PER_ELEMENT}function pc(R,I){return Math.ceil(R/I)*I}var rd=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe){var Me=this.length;return this.resize(Me+1),this.emplace(Me,se,pe)},I.prototype.emplace=function(se,pe,Me){var Pe=se*2;return this.int16[Pe+0]=pe,this.int16[Pe+1]=Me,se},I}(ui);rd.prototype.bytesPerElement=4,ce("StructArrayLayout2i4",rd);var Sf=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe){var $e=this.length;return this.resize($e+1),this.emplace($e,se,pe,Me,Pe)},I.prototype.emplace=function(se,pe,Me,Pe,$e){var dt=se*4;return this.int16[dt+0]=pe,this.int16[dt+1]=Me,this.int16[dt+2]=Pe,this.int16[dt+3]=$e,se},I}(ui);Sf.prototype.bytesPerElement=8,ce("StructArrayLayout4i8",Sf);var nh=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt){var Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,se,pe,Me,Pe,$e,dt)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt){var Ct=se*6;return this.int16[Ct+0]=pe,this.int16[Ct+1]=Me,this.int16[Ct+2]=Pe,this.int16[Ct+3]=$e,this.int16[Ct+4]=dt,this.int16[Ct+5]=Tt,se},I}(ui);nh.prototype.bytesPerElement=12,ce("StructArrayLayout2i4i12",nh);var kd=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt){var Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,se,pe,Me,Pe,$e,dt)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt){var Ct=se*4,Wt=se*8;return this.int16[Ct+0]=pe,this.int16[Ct+1]=Me,this.uint8[Wt+4]=Pe,this.uint8[Wt+5]=$e,this.uint8[Wt+6]=dt,this.uint8[Wt+7]=Tt,se},I}(ui);kd.prototype.bytesPerElement=8,ce("StructArrayLayout2i4ub8",kd);var Ss=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or){var Qt=this.length;return this.resize(Qt+1),this.emplace(Qt,se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt){var mr=se*9,Ur=se*18;return this.uint16[mr+0]=pe,this.uint16[mr+1]=Me,this.uint16[mr+2]=Pe,this.uint16[mr+3]=$e,this.uint16[mr+4]=dt,this.uint16[mr+5]=Tt,this.uint16[mr+6]=Ct,this.uint16[mr+7]=Wt,this.uint8[Ur+16]=or,this.uint8[Ur+17]=Qt,se},I}(ui);Ss.prototype.bytesPerElement=18,ce("StructArrayLayout8ui2ub18",Ss);var Ef=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr){var Ur=this.length;return this.resize(Ur+1),this.emplace(Ur,se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur){var nn=se*12;return this.int16[nn+0]=pe,this.int16[nn+1]=Me,this.int16[nn+2]=Pe,this.int16[nn+3]=$e,this.uint16[nn+4]=dt,this.uint16[nn+5]=Tt,this.uint16[nn+6]=Ct,this.uint16[nn+7]=Wt,this.int16[nn+8]=or,this.int16[nn+9]=Qt,this.int16[nn+10]=mr,this.int16[nn+11]=Ur,se},I}(ui);Ef.prototype.bytesPerElement=24,ce("StructArrayLayout4i4ui4i24",Ef);var Wv=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,se,pe,Me)},I.prototype.emplace=function(se,pe,Me,Pe){var $e=se*3;return this.float32[$e+0]=pe,this.float32[$e+1]=Me,this.float32[$e+2]=Pe,se},I}(ui);Wv.prototype.bytesPerElement=12,ce("StructArrayLayout3f12",Wv);var jv=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se){var pe=this.length;return this.resize(pe+1),this.emplace(pe,se)},I.prototype.emplace=function(se,pe){var Me=se*1;return this.uint32[Me+0]=pe,se},I}(ui);jv.prototype.bytesPerElement=4,ce("StructArrayLayout1ul4",jv);var nd=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.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)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt){var or=this.length;return this.resize(or+1),this.emplace(or,se,pe,Me,Pe,$e,dt,Tt,Ct,Wt)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or){var Qt=se*10,mr=se*5;return this.int16[Qt+0]=pe,this.int16[Qt+1]=Me,this.int16[Qt+2]=Pe,this.int16[Qt+3]=$e,this.int16[Qt+4]=dt,this.int16[Qt+5]=Tt,this.uint32[mr+3]=Ct,this.uint16[Qt+8]=Wt,this.uint16[Qt+9]=or,se},I}(ui);nd.prototype.bytesPerElement=20,ce("StructArrayLayout6i1ul2ui20",nd);var Fd=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt){var Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,se,pe,Me,Pe,$e,dt)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt){var Ct=se*6;return this.int16[Ct+0]=pe,this.int16[Ct+1]=Me,this.int16[Ct+2]=Pe,this.int16[Ct+3]=$e,this.int16[Ct+4]=dt,this.int16[Ct+5]=Tt,se},I}(ui);Fd.prototype.bytesPerElement=12,ce("StructArrayLayout2i2i2i12",Fd);var Wu=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e){var dt=this.length;return this.resize(dt+1),this.emplace(dt,se,pe,Me,Pe,$e)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt){var Tt=se*4,Ct=se*8;return this.float32[Tt+0]=pe,this.float32[Tt+1]=Me,this.float32[Tt+2]=Pe,this.int16[Ct+6]=$e,this.int16[Ct+7]=dt,se},I}(ui);Wu.prototype.bytesPerElement=16,ce("StructArrayLayout2f1f2i16",Wu);var Gs=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe){var $e=this.length;return this.resize($e+1),this.emplace($e,se,pe,Me,Pe)},I.prototype.emplace=function(se,pe,Me,Pe,$e){var dt=se*12,Tt=se*3;return this.uint8[dt+0]=pe,this.uint8[dt+1]=Me,this.float32[Tt+1]=Pe,this.float32[Tt+2]=$e,se},I}(ui);Gs.prototype.bytesPerElement=12,ce("StructArrayLayout2ub2f12",Gs);var ju=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,se,pe,Me)},I.prototype.emplace=function(se,pe,Me,Pe){var $e=se*3;return this.uint16[$e+0]=pe,this.uint16[$e+1]=Me,this.uint16[$e+2]=Pe,se},I}(ui);ju.prototype.bytesPerElement=6,ce("StructArrayLayout3ui6",ju);var ad=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.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)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn){var Sn=this.length;return this.resize(Sn+1),this.emplace(Sn,se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn,Sn){var Fn=se*24,Vn=se*12,ea=se*48;return this.int16[Fn+0]=pe,this.int16[Fn+1]=Me,this.uint16[Fn+2]=Pe,this.uint16[Fn+3]=$e,this.uint32[Vn+2]=dt,this.uint32[Vn+3]=Tt,this.uint32[Vn+4]=Ct,this.uint16[Fn+10]=Wt,this.uint16[Fn+11]=or,this.uint16[Fn+12]=Qt,this.float32[Vn+7]=mr,this.float32[Vn+8]=Ur,this.uint8[ea+36]=nn,this.uint8[ea+37]=qr,this.uint8[ea+38]=En,this.uint32[Vn+10]=wn,this.int16[Fn+22]=Sn,se},I}(ui);ad.prototype.bytesPerElement=48,ce("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ad);var Od=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.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)},I.prototype.emplaceBack=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn,Sn,Fn,Vn,ea,qn,Pa,ga,wa,Xa,Sa,La){var ei=this.length;return this.resize(ei+1),this.emplace(ei,se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn,Sn,Fn,Vn,ea,qn,Pa,ga,wa,Xa,Sa,La)},I.prototype.emplace=function(se,pe,Me,Pe,$e,dt,Tt,Ct,Wt,or,Qt,mr,Ur,nn,qr,En,wn,Sn,Fn,Vn,ea,qn,Pa,ga,wa,Xa,Sa,La,ei){var Wa=se*34,mi=se*17;return this.int16[Wa+0]=pe,this.int16[Wa+1]=Me,this.int16[Wa+2]=Pe,this.int16[Wa+3]=$e,this.int16[Wa+4]=dt,this.int16[Wa+5]=Tt,this.int16[Wa+6]=Ct,this.int16[Wa+7]=Wt,this.uint16[Wa+8]=or,this.uint16[Wa+9]=Qt,this.uint16[Wa+10]=mr,this.uint16[Wa+11]=Ur,this.uint16[Wa+12]=nn,this.uint16[Wa+13]=qr,this.uint16[Wa+14]=En,this.uint16[Wa+15]=wn,this.uint16[Wa+16]=Sn,this.uint16[Wa+17]=Fn,this.uint16[Wa+18]=Vn,this.uint16[Wa+19]=ea,this.uint16[Wa+20]=qn,this.uint16[Wa+21]=Pa,this.uint16[Wa+22]=ga,this.uint32[mi+12]=wa,this.float32[mi+13]=Xa,this.float32[mi+14]=Sa,this.float32[mi+15]=La,this.float32[mi+16]=ei,se},I}(ui);Od.prototype.bytesPerElement=68,ce("StructArrayLayout8i15ui1ul4f68",Od);var ah=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se){var pe=this.length;return this.resize(pe+1),this.emplace(pe,se)},I.prototype.emplace=function(se,pe){var Me=se*1;return this.float32[Me+0]=pe,se},I}(ui);ah.prototype.bytesPerElement=4,ce("StructArrayLayout1f4",ah);var Yv=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,se,pe,Me)},I.prototype.emplace=function(se,pe,Me,Pe){var $e=se*3;return this.int16[$e+0]=pe,this.int16[$e+1]=Me,this.int16[$e+2]=Pe,se},I}(ui);Yv.prototype.bytesPerElement=6,ce("StructArrayLayout3i6",Yv);var Cf=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me){var Pe=this.length;return this.resize(Pe+1),this.emplace(Pe,se,pe,Me)},I.prototype.emplace=function(se,pe,Me,Pe){var $e=se*2,dt=se*4;return this.uint32[$e+0]=pe,this.uint16[dt+2]=Me,this.uint16[dt+3]=Pe,se},I}(ui);Cf.prototype.bytesPerElement=8,ce("StructArrayLayout1ul2ui8",Cf);var id=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe){var Me=this.length;return this.resize(Me+1),this.emplace(Me,se,pe)},I.prototype.emplace=function(se,pe,Me){var Pe=se*2;return this.uint16[Pe+0]=pe,this.uint16[Pe+1]=Me,se},I}(ui);id.prototype.bytesPerElement=4,ce("StructArrayLayout2ui4",id);var ih=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se){var pe=this.length;return this.resize(pe+1),this.emplace(pe,se)},I.prototype.emplace=function(se,pe){var Me=se*1;return this.uint16[Me+0]=pe,se},I}(ui);ih.prototype.bytesPerElement=2,ce("StructArrayLayout1ui2",ih);var Lf=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe){var Me=this.length;return this.resize(Me+1),this.emplace(Me,se,pe)},I.prototype.emplace=function(se,pe,Me){var Pe=se*2;return this.float32[Pe+0]=pe,this.float32[Pe+1]=Me,se},I}(ui);Lf.prototype.bytesPerElement=8,ce("StructArrayLayout2f8",Lf);var Zv=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},I.prototype.emplaceBack=function(se,pe,Me,Pe){var $e=this.length;return this.resize($e+1),this.emplace($e,se,pe,Me,Pe)},I.prototype.emplace=function(se,pe,Me,Pe,$e){var dt=se*4;return this.float32[dt+0]=pe,this.float32[dt+1]=Me,this.float32[dt+2]=Pe,this.float32[dt+3]=$e,se},I}(ui);Zv.prototype.bytesPerElement=16,ce("StructArrayLayout4f16",Zv);var l0=function(R){function I(){R.apply(this,arguments)}R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I;var W={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return W.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},W.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},W.x1.get=function(){return this._structArray.int16[this._pos2+2]},W.y1.get=function(){return this._structArray.int16[this._pos2+3]},W.x2.get=function(){return this._structArray.int16[this._pos2+4]},W.y2.get=function(){return this._structArray.int16[this._pos2+5]},W.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},W.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},W.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},W.anchorPoint.get=function(){return new t(this.anchorPointX,this.anchorPointY)},Object.defineProperties(I.prototype,W),I}(Oi);l0.prototype.size=20;var _f=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.get=function(se){return new l0(this,se)},I}(nd);ce("CollisionBoxArray",_f);var Xv=function(R){function I(){R.apply(this,arguments)}R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I;var W={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return W.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},W.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},W.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},W.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},W.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},W.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},W.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},W.segment.get=function(){return this._structArray.uint16[this._pos2+10]},W.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},W.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},W.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},W.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},W.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},W.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},W.placedOrientation.set=function(se){this._structArray.uint8[this._pos1+37]=se},W.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},W.hidden.set=function(se){this._structArray.uint8[this._pos1+38]=se},W.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},W.crossTileID.set=function(se){this._structArray.uint32[this._pos4+10]=se},W.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(I.prototype,W),I}(Oi);Xv.prototype.size=48;var oh=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.get=function(se){return new Xv(this,se)},I}(ad);ce("PlacedSymbolArray",oh);var u0=function(R){function I(){R.apply(this,arguments)}R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I;var W={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return W.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},W.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},W.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},W.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},W.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},W.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},W.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},W.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},W.key.get=function(){return this._structArray.uint16[this._pos2+8]},W.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},W.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},W.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},W.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},W.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},W.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},W.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},W.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},W.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},W.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},W.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},W.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},W.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},W.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},W.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},W.crossTileID.set=function(se){this._structArray.uint32[this._pos4+12]=se},W.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},W.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},W.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},W.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(I.prototype,W),I}(Oi);u0.prototype.size=68;var f0=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.get=function(se){return new u0(this,se)},I}(Od);ce("SymbolInstanceArray",f0);var Gl=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.getoffsetX=function(se){return this.float32[se*1+0]},I}(ah);ce("GlyphOffsetArray",Gl);var c0=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.getx=function(se){return this.int16[se*3+0]},I.prototype.gety=function(se){return this.int16[se*3+1]},I.prototype.gettileUnitDistanceFromAnchor=function(se){return this.int16[se*3+2]},I}(Yv);ce("SymbolLineVertexArray",c0);var h0=function(R){function I(){R.apply(this,arguments)}R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I;var W={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return W.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},W.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},W.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(I.prototype,W),I}(Oi);h0.prototype.size=8;var Kv=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.get=function(se){return new h0(this,se)},I}(Cf);ce("FeatureIndexArray",Kv);var d0=Vi([{name:"a_pos",components:2,type:"Int16"}],4),ve=d0.members,K=function(I){I===void 0&&(I=[]),this.segments=I};K.prototype.prepareSegment=function(I,W,se,pe){var Me=this.segments[this.segments.length-1];return I>K.MAX_VERTEX_ARRAY_LENGTH&&G("Max vertices per segment is "+K.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+I),(!Me||Me.vertexLength+I>K.MAX_VERTEX_ARRAY_LENGTH||Me.sortKey!==pe)&&(Me={vertexOffset:W.length,primitiveOffset:se.length,vertexLength:0,primitiveLength:0},pe!==void 0&&(Me.sortKey=pe),this.segments.push(Me)),Me},K.prototype.get=function(){return this.segments},K.prototype.destroy=function(){for(var I=0,W=this.segments;I>>16)*dt&65535)<<16)&4294967295,Ct=Ct<<15|Ct>>>17,Ct=(Ct&65535)*Tt+(((Ct>>>16)*Tt&65535)<<16)&4294967295,Pe^=Ct,Pe=Pe<<13|Pe>>>19,$e=(Pe&65535)*5+(((Pe>>>16)*5&65535)<<16)&4294967295,Pe=($e&65535)+27492+((($e>>>16)+58964&65535)<<16);switch(Ct=0,pe){case 3:Ct^=(W.charCodeAt(Wt+2)&255)<<16;case 2:Ct^=(W.charCodeAt(Wt+1)&255)<<8;case 1:Ct^=W.charCodeAt(Wt)&255,Ct=(Ct&65535)*dt+(((Ct>>>16)*dt&65535)<<16)&4294967295,Ct=Ct<<15|Ct>>>17,Ct=(Ct&65535)*Tt+(((Ct>>>16)*Tt&65535)<<16)&4294967295,Pe^=Ct}return Pe^=W.length,Pe^=Pe>>>16,Pe=(Pe&65535)*2246822507+(((Pe>>>16)*2246822507&65535)<<16)&4294967295,Pe^=Pe>>>13,Pe=(Pe&65535)*3266489909+(((Pe>>>16)*3266489909&65535)<<16)&4294967295,Pe^=Pe>>>16,Pe>>>0}R.exports=I}),ke=C(function(R){function I(W,se){for(var pe=W.length,Me=se^pe,Pe=0,$e;pe>=4;)$e=W.charCodeAt(Pe)&255|(W.charCodeAt(++Pe)&255)<<8|(W.charCodeAt(++Pe)&255)<<16|(W.charCodeAt(++Pe)&255)<<24,$e=($e&65535)*1540483477+((($e>>>16)*1540483477&65535)<<16),$e^=$e>>>24,$e=($e&65535)*1540483477+((($e>>>16)*1540483477&65535)<<16),Me=(Me&65535)*1540483477+(((Me>>>16)*1540483477&65535)<<16)^$e,pe-=4,++Pe;switch(pe){case 3:Me^=(W.charCodeAt(Pe+2)&255)<<16;case 2:Me^=(W.charCodeAt(Pe+1)&255)<<8;case 1:Me^=W.charCodeAt(Pe)&255,Me=(Me&65535)*1540483477+(((Me>>>16)*1540483477&65535)<<16)}return Me^=Me>>>13,Me=(Me&65535)*1540483477+(((Me>>>16)*1540483477&65535)<<16),Me^=Me>>>15,Me>>>0}R.exports=I}),Ye=ye,lt=ye,bt=ke;Ye.murmur3=lt,Ye.murmur2=bt;var Bt=function(){this.ids=[],this.positions=[],this.indexed=!1};Bt.prototype.add=function(I,W,se,pe){this.ids.push(ur(I)),this.positions.push(W,se,pe)},Bt.prototype.getPositions=function(I){for(var W=ur(I),se=0,pe=this.ids.length-1;se>1;this.ids[Me]>=W?pe=Me:se=Me+1}for(var Pe=[];this.ids[se]===W;){var $e=this.positions[3*se],dt=this.positions[3*se+1],Tt=this.positions[3*se+2];Pe.push({index:$e,start:dt,end:Tt}),se++}return Pe},Bt.serialize=function(I,W){var se=new Float64Array(I.ids),pe=new Uint32Array(I.positions);return yr(se,pe,0,se.length-1),W&&W.push(se.buffer,pe.buffer),{ids:se,positions:pe}},Bt.deserialize=function(I){var W=new Bt;return W.ids=I.ids,W.positions=I.positions,W.indexed=!0,W};var Kt=Math.pow(2,53)-1;function ur(R){var I=+R;return!isNaN(I)&&I<=Kt?I:Ye(String(R))}function yr(R,I,W,se){for(;W>1],Me=W-1,Pe=se+1;;){do Me++;while(R[Me]pe);if(Me>=Pe)break;Dr(R,Me,Pe),Dr(I,3*Me,3*Pe),Dr(I,3*Me+1,3*Pe+1),Dr(I,3*Me+2,3*Pe+2)}Pe-W_i.max||Pe.y<_i.min||Pe.y>_i.max)&&(G("Geometry exceeds allowed extent, reduce your vector tile buffer size"),Pe.x=i(Pe.x,_i.min,_i.max),Pe.y=i(Pe.y,_i.min,_i.max))}return W}function hi(R,I,W,se,pe){R.emplaceBack(I*2+(se+1)/2,W*2+(pe+1)/2)}var Gi=function(I){this.zoom=I.zoom,this.overscaling=I.overscaling,this.layers=I.layers,this.layerIds=this.layers.map(function(W){return W.id}),this.index=I.index,this.hasPattern=!1,this.layoutVertexArray=new rd,this.indexArray=new ju,this.segments=new K,this.programConfigurations=new $a(ve,I.layers,I.zoom),this.stateDependentLayerIds=this.layers.filter(function(W){return W.isStateDependent()}).map(function(W){return W.id})};Gi.prototype.populate=function(I,W,se){var pe=this.layers[0],Me=[],Pe=null;pe.type==="circle"&&(Pe=pe.layout.get("circle-sort-key"));for(var $e=0,dt=I;$e=ka||or<0||or>=ka)){var Qt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,I.sortKey),mr=Qt.vertexLength;hi(this.layoutVertexArray,Wt,or,-1,-1),hi(this.layoutVertexArray,Wt,or,1,-1),hi(this.layoutVertexArray,Wt,or,1,1),hi(this.layoutVertexArray,Wt,or,-1,1),this.indexArray.emplaceBack(mr,mr+1,mr+2),this.indexArray.emplaceBack(mr,mr+3,mr+2),Qt.vertexLength+=4,Qt.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,I,se,{},pe)},ce("CircleBucket",Gi,{omit:["layers"]});function Ja(R,I){for(var W=0;W=3){for(var Me=0;Me1){if(Tl(R,I))return!0;for(var se=0;se1?R.distSqr(W):R.distSqr(W.sub(I)._mult(pe)._add(I))}function pu(R,I){for(var W=!1,se,pe,Me,Pe=0;PeI.y!=Me.y>I.y&&I.x<(Me.x-pe.x)*(I.y-pe.y)/(Me.y-pe.y)+pe.x&&(W=!W)}return W}function Es(R,I){for(var W=!1,se=0,pe=R.length-1;seI.y!=Pe.y>I.y&&I.x<(Pe.x-Me.x)*(I.y-Me.y)/(Pe.y-Me.y)+Me.x&&(W=!W)}return W}function Pf(R,I,W,se,pe){for(var Me=0,Pe=R;Me=$e.x&&pe>=$e.y)return!0}var dt=[new t(I,W),new t(I,pe),new t(se,pe),new t(se,W)];if(R.length>2)for(var Tt=0,Ct=dt;Ttpe.x&&I.x>pe.x||R.ype.y&&I.y>pe.y)return!1;var Me=O(R,I,W[0]);return Me!==O(R,I,W[1])||Me!==O(R,I,W[2])||Me!==O(R,I,W[3])}function sl(R,I,W){var se=I.paint.get(R).value;return se.kind==="constant"?se.value:W.programConfigurations.get(I.id).getMaxValue(R)}function gu(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Wl(R,I,W,se,pe){if(!I[0]&&!I[1])return R;var Me=t.convert(I)._mult(pe);W==="viewport"&&Me._rotate(-se);for(var Pe=[],$e=0;$e0&&(Me=1/Math.sqrt(Me)),R[0]=I[0]*Me,R[1]=I[1]*Me,R[2]=I[2]*Me,R}function c4(R,I){return R[0]*I[0]+R[1]*I[1]+R[2]*I[2]}function h4(R,I,W){var se=I[0],pe=I[1],Me=I[2],Pe=W[0],$e=W[1],dt=W[2];return R[0]=pe*dt-Me*$e,R[1]=Me*Pe-se*dt,R[2]=se*$e-pe*Pe,R}function d4(R,I,W){var se=I[0],pe=I[1],Me=I[2];return R[0]=se*W[0]+pe*W[3]+Me*W[6],R[1]=se*W[1]+pe*W[4]+Me*W[7],R[2]=se*W[2]+pe*W[5]+Me*W[8],R}var v4=gy;(function(){var R=ld();return function(I,W,se,pe,Me,Pe){var $e,dt;for(W||(W=3),se||(se=0),pe?dt=Math.min(pe*W+se,I.length):dt=I.length,$e=se;$eR.width||pe.height>R.height||W.x>R.width-pe.width||W.y>R.height-pe.height)throw new RangeError("out of range source coordinates for image copy");if(pe.width>I.width||pe.height>I.height||se.x>I.width-pe.width||se.y>I.height-pe.height)throw new RangeError("out of range destination coordinates for image copy");for(var Pe=R.data,$e=I.data,dt=0;dt80*W){$e=Tt=R[0],dt=Ct=R[1];for(var mr=W;mrTt&&(Tt=Wt),or>Ct&&(Ct=or);Qt=Math.max(Tt-$e,Ct-dt),Qt=Qt!==0?1/Qt:0}return Qv(Me,Pe,W,$e,dt,Qt),Pe}function Tx(R,I,W,se,pe){var Me,Pe;if(pe===Ay(R,I,W,se)>0)for(Me=I;Me=I;Me-=se)Pe=Sx(Me,R[Me],R[Me+1],Pe);return Pe&&y0(Pe,Pe.next)&&(ep(Pe),Pe=Pe.next),Pe}function uh(R,I){if(!R)return R;I||(I=R);var W=R,se;do if(se=!1,!W.steiner&&(y0(W,W.next)||Lo(W.prev,W,W.next)===0)){if(ep(W),W=I=W.prev,W===W.next)break;se=!0}else W=W.next;while(se||W!==I);return I}function Qv(R,I,W,se,pe,Me,Pe){if(R){!Pe&&Me&&U4(R,se,pe,Me);for(var $e=R,dt,Tt;R.prev!==R.next;){if(dt=R.prev,Tt=R.next,Me?I4(R,se,pe,Me):R4(R)){I.push(dt.i/W),I.push(R.i/W),I.push(Tt.i/W),ep(R),R=Tt.next,$e=Tt.next;continue}if(R=Tt,R===$e){Pe?Pe===1?(R=D4(uh(R),I,W),Qv(R,I,W,se,pe,Me,2)):Pe===2&&k4(R,I,W,se,pe,Me):Qv(uh(R),I,W,se,pe,Me,1);break}}}}function R4(R){var I=R.prev,W=R,se=R.next;if(Lo(I,W,se)>=0)return!1;for(var pe=R.next.next;pe!==R.prev;){if(Gd(I.x,I.y,W.x,W.y,se.x,se.y,pe.x,pe.y)&&Lo(pe.prev,pe,pe.next)>=0)return!1;pe=pe.next}return!0}function I4(R,I,W,se){var pe=R.prev,Me=R,Pe=R.next;if(Lo(pe,Me,Pe)>=0)return!1;for(var $e=pe.xMe.x?pe.x>Pe.x?pe.x:Pe.x:Me.x>Pe.x?Me.x:Pe.x,Ct=pe.y>Me.y?pe.y>Pe.y?pe.y:Pe.y:Me.y>Pe.y?Me.y:Pe.y,Wt=wy($e,dt,I,W,se),or=wy(Tt,Ct,I,W,se),Qt=R.prevZ,mr=R.nextZ;Qt&&Qt.z>=Wt&&mr&&mr.z<=or;){if(Qt!==R.prev&&Qt!==R.next&&Gd(pe.x,pe.y,Me.x,Me.y,Pe.x,Pe.y,Qt.x,Qt.y)&&Lo(Qt.prev,Qt,Qt.next)>=0||(Qt=Qt.prevZ,mr!==R.prev&&mr!==R.next&&Gd(pe.x,pe.y,Me.x,Me.y,Pe.x,Pe.y,mr.x,mr.y)&&Lo(mr.prev,mr,mr.next)>=0))return!1;mr=mr.nextZ}for(;Qt&&Qt.z>=Wt;){if(Qt!==R.prev&&Qt!==R.next&&Gd(pe.x,pe.y,Me.x,Me.y,Pe.x,Pe.y,Qt.x,Qt.y)&&Lo(Qt.prev,Qt,Qt.next)>=0)return!1;Qt=Qt.prevZ}for(;mr&&mr.z<=or;){if(mr!==R.prev&&mr!==R.next&&Gd(pe.x,pe.y,Me.x,Me.y,Pe.x,Pe.y,mr.x,mr.y)&&Lo(mr.prev,mr,mr.next)>=0)return!1;mr=mr.nextZ}return!0}function D4(R,I,W){var se=R;do{var pe=se.prev,Me=se.next.next;!y0(pe,Me)&&Ax(pe,se,se.next,Me)&&qv(pe,Me)&&qv(Me,pe)&&(I.push(pe.i/W),I.push(se.i/W),I.push(Me.i/W),ep(se),ep(se.next),se=R=Me),se=se.next}while(se!==R);return uh(se)}function k4(R,I,W,se,pe,Me){var Pe=R;do{for(var $e=Pe.next.next;$e!==Pe.prev;){if(Pe.i!==$e.i&&G4(Pe,$e)){var dt=Mx(Pe,$e);Pe=uh(Pe,Pe.next),dt=uh(dt,dt.next),Qv(Pe,I,W,se,pe,Me),Qv(dt,I,W,se,pe,Me);return}$e=$e.next}Pe=Pe.next}while(Pe!==R)}function F4(R,I,W,se){var pe=[],Me,Pe,$e,dt,Tt;for(Me=0,Pe=I.length;Me=W.next.y&&W.next.y!==W.y){var $e=W.x+(pe-W.y)*(W.next.x-W.x)/(W.next.y-W.y);if($e<=se&&$e>Me){if(Me=$e,$e===se){if(pe===W.y)return W;if(pe===W.next.y)return W.next}Pe=W.x=W.x&&W.x>=Tt&&se!==W.x&&Gd(pePe.x||W.x===Pe.x&&N4(Pe,W)))&&(Pe=W,Wt=or)),W=W.next;while(W!==dt);return Pe}function N4(R,I){return Lo(R.prev,R,I.prev)<0&&Lo(I.next,R,R.next)<0}function U4(R,I,W,se){var pe=R;do pe.z===null&&(pe.z=wy(pe.x,pe.y,I,W,se)),pe.prevZ=pe.prev,pe.nextZ=pe.next,pe=pe.next;while(pe!==R);pe.prevZ.nextZ=null,pe.prevZ=null,H4(pe)}function H4(R){var I,W,se,pe,Me,Pe,$e,dt,Tt=1;do{for(W=R,R=null,Me=null,Pe=0;W;){for(Pe++,se=W,$e=0,I=0;I0||dt>0&&se;)$e!==0&&(dt===0||!se||W.z<=se.z)?(pe=W,W=W.nextZ,$e--):(pe=se,se=se.nextZ,dt--),Me?Me.nextZ=pe:R=pe,pe.prevZ=Me,Me=pe;W=se}Me.nextZ=null,Tt*=2}while(Pe>1);return R}function wy(R,I,W,se,pe){return R=32767*(R-W)*pe,I=32767*(I-se)*pe,R=(R|R<<8)&16711935,R=(R|R<<4)&252645135,R=(R|R<<2)&858993459,R=(R|R<<1)&1431655765,I=(I|I<<8)&16711935,I=(I|I<<4)&252645135,I=(I|I<<2)&858993459,I=(I|I<<1)&1431655765,R|I<<1}function V4(R){var I=R,W=R;do(I.x=0&&(R-Pe)*(se-$e)-(W-Pe)*(I-$e)>=0&&(W-Pe)*(Me-$e)-(pe-Pe)*(se-$e)>=0}function G4(R,I){return R.next.i!==I.i&&R.prev.i!==I.i&&!W4(R,I)&&(qv(R,I)&&qv(I,R)&&j4(R,I)&&(Lo(R.prev,R,I.prev)||Lo(R,I.prev,I))||y0(R,I)&&Lo(R.prev,R,R.next)>0&&Lo(I.prev,I,I.next)>0)}function Lo(R,I,W){return(I.y-R.y)*(W.x-I.x)-(I.x-R.x)*(W.y-I.y)}function y0(R,I){return R.x===I.x&&R.y===I.y}function Ax(R,I,W,se){var pe=x0(Lo(R,I,W)),Me=x0(Lo(R,I,se)),Pe=x0(Lo(W,se,R)),$e=x0(Lo(W,se,I));return!!(pe!==Me&&Pe!==$e||pe===0&&m0(R,W,I)||Me===0&&m0(R,se,I)||Pe===0&&m0(W,R,se)||$e===0&&m0(W,I,se))}function m0(R,I,W){return I.x<=Math.max(R.x,W.x)&&I.x>=Math.min(R.x,W.x)&&I.y<=Math.max(R.y,W.y)&&I.y>=Math.min(R.y,W.y)}function x0(R){return R>0?1:R<0?-1:0}function W4(R,I){var W=R;do{if(W.i!==R.i&&W.next.i!==R.i&&W.i!==I.i&&W.next.i!==I.i&&Ax(W,W.next,R,I))return!0;W=W.next}while(W!==R);return!1}function qv(R,I){return Lo(R.prev,R,R.next)<0?Lo(R,I,R.next)>=0&&Lo(R,R.prev,I)>=0:Lo(R,I,R.prev)<0||Lo(R,R.next,I)<0}function j4(R,I){var W=R,se=!1,pe=(R.x+I.x)/2,Me=(R.y+I.y)/2;do W.y>Me!=W.next.y>Me&&W.next.y!==W.y&&pe<(W.next.x-W.x)*(Me-W.y)/(W.next.y-W.y)+W.x&&(se=!se),W=W.next;while(W!==R);return se}function Mx(R,I){var W=new Ty(R.i,R.x,R.y),se=new Ty(I.i,I.x,I.y),pe=R.next,Me=I.prev;return R.next=I,I.prev=R,W.next=pe,pe.prev=W,se.next=W,W.prev=se,Me.next=se,se.prev=Me,se}function Sx(R,I,W,se){var pe=new Ty(R,I,W);return se?(pe.next=se.next,pe.prev=se,se.next.prev=pe,se.next=pe):(pe.prev=pe,pe.next=pe),pe}function ep(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Ty(R,I,W){this.i=R,this.x=I,this.y=W,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}g0.deviation=function(R,I,W,se){var pe=I&&I.length,Me=pe?I[0]*W:R.length,Pe=Math.abs(Ay(R,0,Me,W));if(pe)for(var $e=0,dt=I.length;$e0&&(se+=R[pe-1].length,W.holes.push(se))}return W},by.default=P4;function Y4(R,I,W,se,pe){Ex(R,I,W||0,se||R.length-1,pe||Z4)}function Ex(R,I,W,se,pe){for(;se>W;){if(se-W>600){var Me=se-W+1,Pe=I-W+1,$e=Math.log(Me),dt=.5*Math.exp(2*$e/3),Tt=.5*Math.sqrt($e*dt*(Me-dt)/Me)*(Pe-Me/2<0?-1:1),Ct=Math.max(W,Math.floor(I-Pe*dt/Me+Tt)),Wt=Math.min(se,Math.floor(I+(Me-Pe)*dt/Me+Tt));Ex(R,I,Ct,Wt,pe)}var or=R[I],Qt=W,mr=se;for(tp(R,W,I),pe(R[se],or)>0&&tp(R,W,se);Qt0;)mr--}pe(R[W],or)===0?tp(R,W,mr):(mr++,tp(R,mr,se)),mr<=I&&(W=mr+1),I<=mr&&(se=mr-1)}}function tp(R,I,W){var se=R[I];R[I]=R[W],R[W]=se}function Z4(R,I){return RI?1:0}function My(R,I){var W=R.length;if(W<=1)return[R];for(var se=[],pe,Me,Pe=0;Pe1)for(var dt=0;dt>3}if(se--,W===1||W===2)pe+=R.readSVarint(),Me+=R.readSVarint(),W===1&&($e&&Pe.push($e),$e=[]),$e.push(new t(pe,Me));else if(W===7)$e&&$e.push($e[0].clone());else throw new Error("unknown command "+W)}return $e&&Pe.push($e),Pe},Wd.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var I=R.readVarint()+R.pos,W=1,se=0,pe=0,Me=0,Pe=1/0,$e=-1/0,dt=1/0,Tt=-1/0;R.pos>3}if(se--,W===1||W===2)pe+=R.readSVarint(),Me+=R.readSVarint(),pe$e&&($e=pe),MeTt&&(Tt=Me);else if(W!==7)throw new Error("unknown command "+W)}return[Pe,dt,$e,Tt]},Wd.prototype.toGeoJSON=function(R,I,W){var se=this.extent*Math.pow(2,W),pe=this.extent*R,Me=this.extent*I,Pe=this.loadGeometry(),$e=Wd.types[this.type],dt,Tt;function Ct(Qt){for(var mr=0;mr>3;I=se===1?R.readString():se===2?R.readFloat():se===3?R.readDouble():se===4?R.readVarint64():se===5?R.readVarint():se===6?R.readSVarint():se===7?R.readBoolean():null}return I}Px.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[R];var I=this._pbf.readVarint()+this._pbf.pos;return new Lx(this._pbf,I,this.extent,this._keys,this._values)};var s8=l8;function l8(R,I){this.layers=R.readFields(u8,{},I)}function u8(R,I,W){if(R===3){var se=new _x(W,W.readVarint()+W.pos);se.length&&(I[se.name]=se)}}var f8=s8,c8=Lx,h8=_x,jd={VectorTile:f8,VectorTileFeature:c8,VectorTileLayer:h8},d8=jd.VectorTileFeature.types,v8=500,Cy=Math.pow(2,13);function rp(R,I,W,se,pe,Me,Pe,$e){R.emplaceBack(I,W,Math.floor(se*Cy)*2+Pe,pe*Cy*2,Me*Cy*2,Math.round($e))}var Xu=function(I){this.zoom=I.zoom,this.overscaling=I.overscaling,this.layers=I.layers,this.layerIds=this.layers.map(function(W){return W.id}),this.index=I.index,this.hasPattern=!1,this.layoutVertexArray=new nh,this.indexArray=new ju,this.programConfigurations=new $a(Cx,I.layers,I.zoom),this.segments=new K,this.stateDependentLayerIds=this.layers.filter(function(W){return W.isStateDependent()}).map(function(W){return W.id})};Xu.prototype.populate=function(I,W,se){this.features=[],this.hasPattern=Sy("fill-extrusion",this.layers,W);for(var pe=0,Me=I;pe=1){var Sn=nn[En-1];if(!p8(wn,Sn)){Qt.vertexLength+4>K.MAX_VERTEX_ARRAY_LENGTH&&(Qt=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var Fn=wn.sub(Sn)._perp()._unit(),Vn=Sn.dist(wn);qr+Vn>32768&&(qr=0),rp(this.layoutVertexArray,wn.x,wn.y,Fn.x,Fn.y,0,0,qr),rp(this.layoutVertexArray,wn.x,wn.y,Fn.x,Fn.y,0,1,qr),qr+=Vn,rp(this.layoutVertexArray,Sn.x,Sn.y,Fn.x,Fn.y,0,0,qr),rp(this.layoutVertexArray,Sn.x,Sn.y,Fn.x,Fn.y,0,1,qr);var ea=Qt.vertexLength;this.indexArray.emplaceBack(ea,ea+2,ea+1),this.indexArray.emplaceBack(ea+1,ea+2,ea+3),Qt.vertexLength+=4,Qt.primitiveLength+=2}}}}if(Qt.vertexLength+Tt>K.MAX_VERTEX_ARRAY_LENGTH&&(Qt=this.segments.prepareSegment(Tt,this.layoutVertexArray,this.indexArray)),d8[I.type]==="Polygon"){for(var qn=[],Pa=[],ga=Qt.vertexLength,wa=0,Xa=dt;waka)||R.y===I.y&&(R.y<0||R.y>ka)}function g8(R){return R.every(function(I){return I.x<0})||R.every(function(I){return I.x>ka})||R.every(function(I){return I.y<0})||R.every(function(I){return I.y>ka})}var y8=new Ao({"fill-extrusion-opacity":new ba(Zt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new _a(Zt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new ba(Zt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new ba(Zt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Hi(Zt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new _a(Zt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new _a(Zt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new ba(Zt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])}),m8={paint:y8},x8=function(R){function I(W){R.call(this,W,m8)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.createBucket=function(se){return new Xu(se)},I.prototype.queryRadius=function(){return gu(this.paint.get("fill-extrusion-translate"))},I.prototype.is3D=function(){return!0},I.prototype.queryIntersectsFeature=function(se,pe,Me,Pe,$e,dt,Tt,Ct){var Wt=Wl(se,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),dt.angle,Tt),or=this.paint.get("fill-extrusion-height").evaluate(pe,Me),Qt=this.paint.get("fill-extrusion-base").evaluate(pe,Me),mr=T8(Wt,Ct,dt,0),Ur=w8(Pe,Qt,or,Ct),nn=Ur[0],qr=Ur[1];return b8(nn,qr,mr)},I}(Xi);function np(R,I){return R.x*I.x+R.y*I.y}function Rx(R,I){if(R.length===1){for(var W=0,se=I[W++],pe;!pe||se.equals(pe);)if(pe=I[W++],!pe)return 1/0;for(;W=2&&I[Tt-1].equals(I[Tt-2]);)Tt--;for(var Ct=0;Ct0;if(qn&&En>Ct){var ga=Qt.dist(mr);if(ga>2*Wt){var wa=Qt.sub(Qt.sub(mr)._mult(Wt/ga)._round());this.updateDistance(mr,wa),this.addCurrentVertex(wa,nn,0,0,or),mr=wa}}var Xa=mr&&Ur,Sa=Xa?se:dt?"butt":pe;if(Xa&&Sa==="round"&&(VnMe&&(Sa="bevel"),Sa==="bevel"&&(Vn>2&&(Sa="flipbevel"),Vn100)wn=qr.mult(-1);else{var La=Vn*nn.add(qr).mag()/nn.sub(qr).mag();wn._perp()._mult(La*(Pa?-1:1))}this.addCurrentVertex(Qt,wn,0,0,or),this.addCurrentVertex(Qt,wn.mult(-1),0,0,or)}else if(Sa==="bevel"||Sa==="fakeround"){var ei=-Math.sqrt(Vn*Vn-1),Wa=Pa?ei:0,mi=Pa?0:ei;if(mr&&this.addCurrentVertex(Qt,nn,Wa,mi,or),Sa==="fakeround")for(var Ni=Math.round(ea*180/Math.PI/C8),xi=1;xi2*Wt){var Ro=Qt.add(Ur.sub(Qt)._mult(Wt/Go)._round());this.updateDistance(Qt,Ro),this.addCurrentVertex(Ro,qr,0,0,or),Qt=Ro}}}}},Zs.prototype.addCurrentVertex=function(I,W,se,pe,Me,Pe){Pe===void 0&&(Pe=!1);var $e=W.x+W.y*se,dt=W.y-W.x*se,Tt=-W.x+W.y*pe,Ct=-W.y-W.x*pe;this.addHalfVertex(I,$e,dt,Pe,!1,se,Me),this.addHalfVertex(I,Tt,Ct,Pe,!0,-pe,Me),this.distance>Fx/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(I,W,se,pe,Me,Pe))},Zs.prototype.addHalfVertex=function(I,W,se,pe,Me,Pe,$e){var dt=I.x,Tt=I.y,Ct=this.scaledDistance*kx;this.layoutVertexArray.emplaceBack((dt<<1)+(pe?1:0),(Tt<<1)+(Me?1:0),Math.round(Dx*W)+128,Math.round(Dx*se)+128,(Pe===0?0:Pe<0?-1:1)+1|(Ct&63)<<2,Ct>>6);var Wt=$e.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Wt),$e.primitiveLength++),Me?this.e2=Wt:this.e1=Wt},Zs.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Fx-1):this.distance},Zs.prototype.updateDistance=function(I,W){this.distance+=I.dist(W),this.updateScaledDistance()},ce("LineBucket",Zs,{omit:["layers","patternFeatures"]});var _8=new Ao({"line-cap":new ba(Zt.layout_line["line-cap"]),"line-join":new _a(Zt.layout_line["line-join"]),"line-miter-limit":new ba(Zt.layout_line["line-miter-limit"]),"line-round-limit":new ba(Zt.layout_line["line-round-limit"]),"line-sort-key":new _a(Zt.layout_line["line-sort-key"])}),P8=new Ao({"line-opacity":new _a(Zt.paint_line["line-opacity"]),"line-color":new _a(Zt.paint_line["line-color"]),"line-translate":new ba(Zt.paint_line["line-translate"]),"line-translate-anchor":new ba(Zt.paint_line["line-translate-anchor"]),"line-width":new _a(Zt.paint_line["line-width"]),"line-gap-width":new _a(Zt.paint_line["line-gap-width"]),"line-offset":new _a(Zt.paint_line["line-offset"]),"line-blur":new _a(Zt.paint_line["line-blur"]),"line-dasharray":new so(Zt.paint_line["line-dasharray"]),"line-pattern":new Hi(Zt.paint_line["line-pattern"]),"line-gradient":new ns(Zt.paint_line["line-gradient"])}),Ox={paint:P8,layout:_8},R8=function(R){function I(){R.apply(this,arguments)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.possiblyEvaluate=function(se,pe){return pe=new Un(Math.floor(pe.zoom),{now:pe.now,fadeDuration:pe.fadeDuration,zoomHistory:pe.zoomHistory,transition:pe.transition}),R.prototype.possiblyEvaluate.call(this,se,pe)},I.prototype.evaluate=function(se,pe,Me,Pe){return pe=l({},pe,{zoom:Math.floor(pe.zoom)}),R.prototype.evaluate.call(this,se,pe,Me,Pe)},I}(_a),zx=new R8(Ox.paint.properties["line-width"].specification);zx.useIntegerZoom=!0;var I8=function(R){function I(W){R.call(this,W,Ox)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype._handleSpecialPaintPropertyUpdate=function(se){se==="line-gradient"&&this._updateGradient()},I.prototype._updateGradient=function(){var se=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=bx(se,"lineProgress"),this.gradientTexture=null},I.prototype.recalculate=function(se,pe){R.prototype.recalculate.call(this,se,pe),this.paint._values["line-floorwidth"]=zx.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,se)},I.prototype.createBucket=function(se){return new Zs(se)},I.prototype.queryRadius=function(se){var pe=se,Me=Bx(sl("line-width",this,pe),sl("line-gap-width",this,pe)),Pe=sl("line-offset",this,pe);return Me/2+Math.abs(Pe)+gu(this.paint.get("line-translate"))},I.prototype.queryIntersectsFeature=function(se,pe,Me,Pe,$e,dt,Tt){var Ct=Wl(se,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),dt.angle,Tt),Wt=Tt/2*Bx(this.paint.get("line-width").evaluate(pe,Me),this.paint.get("line-gap-width").evaluate(pe,Me)),or=this.paint.get("line-offset").evaluate(pe,Me);return or&&(Pe=D8(Pe,or*Tt)),Co(Ct,Pe,Wt)},I.prototype.isTileClipped=function(){return!0},I}(Xi);function Bx(R,I){return I>0?I+2*R:R}function D8(R,I){for(var W=[],se=new t(0,0),pe=0;pe":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};function U8(R){for(var I="",W=0;W>1,Ct=-7,Wt=W?pe-1:0,or=W?-1:1,Qt=R[I+Wt];for(Wt+=or,Me=Qt&(1<<-Ct)-1,Qt>>=-Ct,Ct+=$e;Ct>0;Me=Me*256+R[I+Wt],Wt+=or,Ct-=8);for(Pe=Me&(1<<-Ct)-1,Me>>=-Ct,Ct+=se;Ct>0;Pe=Pe*256+R[I+Wt],Wt+=or,Ct-=8);if(Me===0)Me=1-Tt;else{if(Me===dt)return Pe?NaN:(Qt?-1:1)*(1/0);Pe=Pe+Math.pow(2,se),Me=Me-Tt}return(Qt?-1:1)*Pe*Math.pow(2,Me-se)},V8=function(R,I,W,se,pe,Me){var Pe,$e,dt,Tt=Me*8-pe-1,Ct=(1<>1,or=pe===23?Math.pow(2,-24)-Math.pow(2,-77):0,Qt=se?0:Me-1,mr=se?1:-1,Ur=I<0||I===0&&1/I<0?1:0;for(I=Math.abs(I),isNaN(I)||I===1/0?($e=isNaN(I)?1:0,Pe=Ct):(Pe=Math.floor(Math.log(I)/Math.LN2),I*(dt=Math.pow(2,-Pe))<1&&(Pe--,dt*=2),Pe+Wt>=1?I+=or/dt:I+=or*Math.pow(2,1-Wt),I*dt>=2&&(Pe++,dt/=2),Pe+Wt>=Ct?($e=0,Pe=Ct):Pe+Wt>=1?($e=(I*dt-1)*Math.pow(2,pe),Pe=Pe+Wt):($e=I*Math.pow(2,Wt-1)*Math.pow(2,pe),Pe=0));pe>=8;R[W+Qt]=$e&255,Qt+=mr,$e/=256,pe-=8);for(Pe=Pe<0;R[W+Qt]=Pe&255,Qt+=mr,Pe/=256,Tt-=8);R[W+Qt-mr]|=Ur*128},b0={read:H8,write:V8},w0=Ki;function Ki(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Ki.Varint=0,Ki.Fixed64=1,Ki.Bytes=2,Ki.Fixed32=5;var _y=65536*65536,Ux=1/_y,G8=12,Hx=typeof TextDecoder>"u"?null:new TextDecoder("utf8");Ki.prototype={destroy:function(){this.buf=null},readFields:function(R,I,W){for(W=W||this.length;this.pos>3,Me=this.pos;this.type=se&7,R(pe,I,this),this.pos===Me&&this.skip(se)}return I},readMessage:function(R,I){return this.readFields(R,I,this.readVarint()+this.pos)},readFixed32:function(){var R=T0(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=Gx(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=T0(this.buf,this.pos)+T0(this.buf,this.pos+4)*_y;return this.pos+=8,R},readSFixed64:function(){var R=T0(this.buf,this.pos)+Gx(this.buf,this.pos+4)*_y;return this.pos+=8,R},readFloat:function(){var R=b0.read(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=b0.read(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var I=this.buf,W,se;return se=I[this.pos++],W=se&127,se<128||(se=I[this.pos++],W|=(se&127)<<7,se<128)||(se=I[this.pos++],W|=(se&127)<<14,se<128)||(se=I[this.pos++],W|=(se&127)<<21,se<128)?W:(se=I[this.pos],W|=(se&15)<<28,W8(W,R,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2===1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,I=this.pos;return this.pos=R,R-I>=G8&&Hx?a6(this.buf,I,R):n6(this.buf,I,R)},readBytes:function(){var R=this.readVarint()+this.pos,I=this.buf.subarray(this.pos,R);return this.pos=R,I},readPackedVarint:function(R,I){if(this.type!==Ki.Bytes)return R.push(this.readVarint(I));var W=yc(this);for(R=R||[];this.pos127;);else if(I===Ki.Bytes)this.pos=this.readVarint()+this.pos;else if(I===Ki.Fixed32)this.pos+=4;else if(I===Ki.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+I)},writeTag:function(R,I){this.writeVarint(R<<3|I)},realloc:function(R){for(var I=this.length||16;I268435455||R<0){j8(R,this);return}this.realloc(4),this.buf[this.pos++]=R&127|(R>127?128:0),!(R<=127)&&(this.buf[this.pos++]=(R>>>=7)&127|(R>127?128:0),!(R<=127)&&(this.buf[this.pos++]=(R>>>=7)&127|(R>127?128:0),!(R<=127)&&(this.buf[this.pos++]=R>>>7&127)))},writeSVarint:function(R){this.writeVarint(R<0?-R*2-1:R*2)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(R.length*4),this.pos++;var I=this.pos;this.pos=i6(this.buf,R,this.pos);var W=this.pos-I;W>=128&&Vx(I,W,this),this.pos=I-1,this.writeVarint(W),this.pos+=W},writeFloat:function(R){this.realloc(4),b0.write(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),b0.write(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var I=R.length;this.writeVarint(I),this.realloc(I);for(var W=0;W=128&&Vx(W,se,this),this.pos=W-1,this.writeVarint(se),this.pos+=se},writeMessage:function(R,I,W){this.writeTag(R,Ki.Bytes),this.writeRawMessage(I,W)},writePackedVarint:function(R,I){I.length&&this.writeMessage(R,X8,I)},writePackedSVarint:function(R,I){I.length&&this.writeMessage(R,K8,I)},writePackedBoolean:function(R,I){I.length&&this.writeMessage(R,Q8,I)},writePackedFloat:function(R,I){I.length&&this.writeMessage(R,$8,I)},writePackedDouble:function(R,I){I.length&&this.writeMessage(R,J8,I)},writePackedFixed32:function(R,I){I.length&&this.writeMessage(R,q8,I)},writePackedSFixed32:function(R,I){I.length&&this.writeMessage(R,e6,I)},writePackedFixed64:function(R,I){I.length&&this.writeMessage(R,t6,I)},writePackedSFixed64:function(R,I){I.length&&this.writeMessage(R,r6,I)},writeBytesField:function(R,I){this.writeTag(R,Ki.Bytes),this.writeBytes(I)},writeFixed32Field:function(R,I){this.writeTag(R,Ki.Fixed32),this.writeFixed32(I)},writeSFixed32Field:function(R,I){this.writeTag(R,Ki.Fixed32),this.writeSFixed32(I)},writeFixed64Field:function(R,I){this.writeTag(R,Ki.Fixed64),this.writeFixed64(I)},writeSFixed64Field:function(R,I){this.writeTag(R,Ki.Fixed64),this.writeSFixed64(I)},writeVarintField:function(R,I){this.writeTag(R,Ki.Varint),this.writeVarint(I)},writeSVarintField:function(R,I){this.writeTag(R,Ki.Varint),this.writeSVarint(I)},writeStringField:function(R,I){this.writeTag(R,Ki.Bytes),this.writeString(I)},writeFloatField:function(R,I){this.writeTag(R,Ki.Fixed32),this.writeFloat(I)},writeDoubleField:function(R,I){this.writeTag(R,Ki.Fixed64),this.writeDouble(I)},writeBooleanField:function(R,I){this.writeVarintField(R,!!I)}};function W8(R,I,W){var se=W.buf,pe,Me;if(Me=se[W.pos++],pe=(Me&112)>>4,Me<128||(Me=se[W.pos++],pe|=(Me&127)<<3,Me<128)||(Me=se[W.pos++],pe|=(Me&127)<<10,Me<128)||(Me=se[W.pos++],pe|=(Me&127)<<17,Me<128)||(Me=se[W.pos++],pe|=(Me&127)<<24,Me<128)||(Me=se[W.pos++],pe|=(Me&1)<<31,Me<128))return Yd(R,pe,I);throw new Error("Expected varint not more than 10 bytes")}function yc(R){return R.type===Ki.Bytes?R.readVarint()+R.pos:R.pos+1}function Yd(R,I,W){return W?I*4294967296+(R>>>0):(I>>>0)*4294967296+(R>>>0)}function j8(R,I){var W,se;if(R>=0?(W=R%4294967296|0,se=R/4294967296|0):(W=~(-R%4294967296),se=~(-R/4294967296),W^4294967295?W=W+1|0:(W=0,se=se+1|0)),R>=18446744073709552e3||R<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");I.realloc(10),Y8(W,se,I),Z8(se,I)}function Y8(R,I,W){W.buf[W.pos++]=R&127|128,R>>>=7,W.buf[W.pos++]=R&127|128,R>>>=7,W.buf[W.pos++]=R&127|128,R>>>=7,W.buf[W.pos++]=R&127|128,R>>>=7,W.buf[W.pos]=R&127}function Z8(R,I){var W=(R&7)<<4;I.buf[I.pos++]|=W|((R>>>=3)?128:0),R&&(I.buf[I.pos++]=R&127|((R>>>=7)?128:0),R&&(I.buf[I.pos++]=R&127|((R>>>=7)?128:0),R&&(I.buf[I.pos++]=R&127|((R>>>=7)?128:0),R&&(I.buf[I.pos++]=R&127|((R>>>=7)?128:0),R&&(I.buf[I.pos++]=R&127)))))}function Vx(R,I,W){var se=I<=16383?1:I<=2097151?2:I<=268435455?3:Math.floor(Math.log(I)/(Math.LN2*7));W.realloc(se);for(var pe=W.pos-1;pe>=R;pe--)W.buf[pe+se]=W.buf[pe]}function X8(R,I){for(var W=0;W>>8,R[W+2]=I>>>16,R[W+3]=I>>>24}function Gx(R,I){return(R[I]|R[I+1]<<8|R[I+2]<<16)+(R[I+3]<<24)}function n6(R,I,W){for(var se="",pe=I;pe239?4:Me>223?3:Me>191?2:1;if(pe+$e>W)break;var dt,Tt,Ct;$e===1?Me<128&&(Pe=Me):$e===2?(dt=R[pe+1],(dt&192)===128&&(Pe=(Me&31)<<6|dt&63,Pe<=127&&(Pe=null))):$e===3?(dt=R[pe+1],Tt=R[pe+2],(dt&192)===128&&(Tt&192)===128&&(Pe=(Me&15)<<12|(dt&63)<<6|Tt&63,(Pe<=2047||Pe>=55296&&Pe<=57343)&&(Pe=null))):$e===4&&(dt=R[pe+1],Tt=R[pe+2],Ct=R[pe+3],(dt&192)===128&&(Tt&192)===128&&(Ct&192)===128&&(Pe=(Me&15)<<18|(dt&63)<<12|(Tt&63)<<6|Ct&63,(Pe<=65535||Pe>=1114112)&&(Pe=null))),Pe===null?(Pe=65533,$e=1):Pe>65535&&(Pe-=65536,se+=String.fromCharCode(Pe>>>10&1023|55296),Pe=56320|Pe&1023),se+=String.fromCharCode(Pe),pe+=$e}return se}function a6(R,I,W){return Hx.decode(R.subarray(I,W))}function i6(R,I,W){for(var se=0,pe,Me;se55295&&pe<57344)if(Me)if(pe<56320){R[W++]=239,R[W++]=191,R[W++]=189,Me=pe;continue}else pe=Me-55296<<10|pe-56320|65536,Me=null;else{pe>56319||se+1===I.length?(R[W++]=239,R[W++]=191,R[W++]=189):Me=pe;continue}else Me&&(R[W++]=239,R[W++]=191,R[W++]=189,Me=null);pe<128?R[W++]=pe:(pe<2048?R[W++]=pe>>6|192:(pe<65536?R[W++]=pe>>12|224:(R[W++]=pe>>18|240,R[W++]=pe>>12&63|128),R[W++]=pe>>6&63|128),R[W++]=pe&63|128)}return W}var Py=3;function o6(R,I,W){R===1&&W.readMessage(s6,I)}function s6(R,I,W){if(R===3){var se=W.readMessage(l6,{}),pe=se.id,Me=se.bitmap,Pe=se.width,$e=se.height,dt=se.left,Tt=se.top,Ct=se.advance;I.push({id:pe,bitmap:new ud({width:Pe+2*Py,height:$e+2*Py},Me),metrics:{width:Pe,height:$e,left:dt,top:Tt,advance:Ct}})}}function l6(R,I,W){R===1?I.id=W.readVarint():R===2?I.bitmap=W.readBytes():R===3?I.width=W.readVarint():R===4?I.height=W.readVarint():R===5?I.left=W.readSVarint():R===6?I.top=W.readSVarint():R===7&&(I.advance=W.readVarint())}function u6(R){return new w0(R).readFields(o6,[])}var Wx=Py;function jx(R){for(var I=0,W=0,se=0,pe=R;se=0;Qt--){var mr=$e[Qt];if(!(or.w>mr.w||or.h>mr.h)){if(or.x=mr.x,or.y=mr.y,Tt=Math.max(Tt,or.y+or.h),dt=Math.max(dt,or.x+or.w),or.w===mr.w&&or.h===mr.h){var Ur=$e.pop();Qt<$e.length&&($e[Qt]=Ur)}else or.h===mr.h?(mr.x+=or.w,mr.w-=or.w):or.w===mr.w?(mr.y+=or.h,mr.h-=or.h):($e.push({x:mr.x+or.w,y:mr.y,w:mr.w-or.w,h:or.h}),mr.y+=or.h,mr.h-=or.h);break}}return{w:dt,h:Tt,fill:I/(dt*Tt)||0}}var ll=1,A0=function(I,W){var se=W.pixelRatio,pe=W.version,Me=W.stretchX,Pe=W.stretchY,$e=W.content;this.paddedRect=I,this.pixelRatio=se,this.stretchX=Me,this.stretchY=Pe,this.content=$e,this.version=pe},ip={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ip.tl.get=function(){return[this.paddedRect.x+ll,this.paddedRect.y+ll]},ip.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-ll,this.paddedRect.y+this.paddedRect.h-ll]},ip.tlbr.get=function(){return this.tl.concat(this.br)},ip.displaySize.get=function(){return[(this.paddedRect.w-ll*2)/this.pixelRatio,(this.paddedRect.h-ll*2)/this.pixelRatio]},Object.defineProperties(A0.prototype,ip);var op=function(I,W){var se={},pe={};this.haveRenderCallbacks=[];var Me=[];this.addImages(I,se,Me),this.addImages(W,pe,Me);var Pe=jx(Me),$e=Pe.w,dt=Pe.h,Tt=new Ys({width:$e||1,height:dt||1});for(var Ct in I){var Wt=I[Ct],or=se[Ct].paddedRect;Ys.copy(Wt.data,Tt,{x:0,y:0},{x:or.x+ll,y:or.y+ll},Wt.data)}for(var Qt in W){var mr=W[Qt],Ur=pe[Qt].paddedRect,nn=Ur.x+ll,qr=Ur.y+ll,En=mr.data.width,wn=mr.data.height;Ys.copy(mr.data,Tt,{x:0,y:0},{x:nn,y:qr},mr.data),Ys.copy(mr.data,Tt,{x:0,y:wn-1},{x:nn,y:qr-1},{width:En,height:1}),Ys.copy(mr.data,Tt,{x:0,y:0},{x:nn,y:qr+wn},{width:En,height:1}),Ys.copy(mr.data,Tt,{x:En-1,y:0},{x:nn-1,y:qr},{width:1,height:wn}),Ys.copy(mr.data,Tt,{x:0,y:0},{x:nn+En,y:qr},{width:1,height:wn})}this.image=Tt,this.iconPositions=se,this.patternPositions=pe};op.prototype.addImages=function(I,W,se){for(var pe in I){var Me=I[pe],Pe={x:0,y:0,w:Me.data.width+2*ll,h:Me.data.height+2*ll};se.push(Pe),W[pe]=new A0(Pe,Me),Me.hasRenderCallback&&this.haveRenderCallbacks.push(pe)}},op.prototype.patchUpdatedImages=function(I,W){I.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var se in I.updatedImages)this.patchUpdatedImage(this.iconPositions[se],I.getImage(se),W),this.patchUpdatedImage(this.patternPositions[se],I.getImage(se),W)},op.prototype.patchUpdatedImage=function(I,W,se){if(!(!I||!W)&&I.version!==W.version){I.version=W.version;var pe=I.tl,Me=pe[0],Pe=pe[1];se.update(W.data,void 0,{x:Me,y:Pe})}},ce("ImagePosition",A0),ce("ImageAtlas",op);var Al={horizontal:1,vertical:2,horizontalOnly:3},sp=-17;function f6(R){for(var I=0,W=R;I=0&&pe>=I&&Rf[this.text.charCodeAt(pe)];pe--)se--;this.text=this.text.substring(I,se),this.sectionIndex=this.sectionIndex.slice(I,se)},hs.prototype.substring=function(I,W){var se=new hs;return se.text=this.text.substring(I,W),se.sectionIndex=this.sectionIndex.slice(I,W),se.sections=this.sections,se},hs.prototype.toString=function(){return this.text},hs.prototype.getMaxScale=function(){var I=this;return this.sectionIndex.reduce(function(W,se){return Math.max(W,I.sections[se].scale)},0)},hs.prototype.addTextSection=function(I,W){this.text+=I.text,this.sections.push(Xd.forText(I.scale,I.fontStack||W));for(var se=this.sections.length-1,pe=0;pe=Zx?null:++this.imageSectionID:(this.imageSectionID=Yx,this.imageSectionID)};function c6(R,I){for(var W=[],se=R.text,pe=0,Me=0,Pe=I;Me=0,Ct=0,Wt=0;Wt0&&Ro>Pa&&(Pa=Ro)}else{var bi=W[wa.fontStack],pi=bi&&bi[Sa];if(pi&&pi.rect)Wa=pi.rect,ei=pi.metrics;else{var Yi=I[wa.fontStack],$i=Yi&&Yi[Sa];if(!$i)continue;ei=$i.metrics}La=(Fn-wa.scale)*Qo}xi?(R.verticalizable=!0,qn.push({glyph:Sa,imageName:mi,x:or,y:Qt+La,vertical:xi,scale:wa.scale,fontStack:wa.fontStack,sectionIndex:Xa,metrics:ei,rect:Wa}),or+=Ni*wa.scale+Tt):(qn.push({glyph:Sa,imageName:mi,x:or,y:Qt+La,vertical:xi,scale:wa.scale,fontStack:wa.fontStack,sectionIndex:Xa,metrics:ei,rect:Wa}),or+=ei.advance*wa.scale+Tt)}if(qn.length!==0){var ds=or-Tt;mr=Math.max(ds,mr),p6(qn,0,qn.length-1,nn,Pa)}or=0;var vs=Me*Fn+Pa;ea.lineOffset=Math.max(Pa,Vn),Qt+=vs,Ur=Math.max(vs,Ur),++qr}var Wo=Qt-sp,Cs=Iy(Pe),Ls=Cs.horizontalAlign,Oo=Cs.verticalAlign;g6(R.positionedLines,nn,Ls,Oo,mr,Ur,Me,Wo,pe.length),R.top+=-Oo*Wo,R.bottom=R.top+Wo,R.left+=-Ls*mr,R.right=R.left+mr}function p6(R,I,W,se,pe){if(!(!se&&!pe))for(var Me=R[W],Pe=Me.metrics.advance*Me.scale,$e=(R[W].x+Pe)*se,dt=I;dt<=W;dt++)R[dt].x-=$e,R[dt].y+=pe}function g6(R,I,W,se,pe,Me,Pe,$e,dt){var Tt=(I-W)*pe,Ct=0;Me!==Pe?Ct=-$e*se-sp:Ct=(-se*dt+.5)*Pe;for(var Wt=0,or=R;Wt-W/2;){if(Pe--,Pe<0)return!1;$e-=R[Pe].dist(Me),Me=R[Pe]}$e+=R[Pe].dist(R[Pe+1]),Pe++;for(var dt=[],Tt=0;$ese;)Tt-=dt.shift().angleDelta;if(Tt>pe)return!1;Pe++,$e+=Wt.dist(or)}return!0}function r2(R){for(var I=0,W=0;WTt){var mr=(Tt-dt)/Qt,Ur=ro(Wt.x,or.x,mr),nn=ro(Wt.y,or.y,mr),qr=new Kd(Ur,nn,or.angleTo(Wt),Ct);return qr._round(),!Pe||t2(R,qr,$e,Pe,I)?qr:void 0}dt+=Qt}}function b6(R,I,W,se,pe,Me,Pe,$e,dt){var Tt=n2(se,Me,Pe),Ct=a2(se,pe),Wt=Ct*Pe,or=R[0].x===0||R[0].x===dt||R[0].y===0||R[0].y===dt;I-Wt=0&&Sn=0&&Fn=0&&or+Tt<=Ct){var Vn=new Kd(Sn,Fn,En,mr);Vn._round(),(!se||t2(R,Vn,Me,se,pe))&&Qt.push(Vn)}}Wt+=qr}return!$e&&!Qt.length&&!Pe&&(Qt=i2(R,Wt/2,W,se,pe,Me,Pe,!0,dt)),Qt}function o2(R,I,W,se,pe){for(var Me=[],Pe=0;Pe=se&&Wt.x>=se)&&(Ct.x>=se?Ct=new t(se,Ct.y+(Wt.y-Ct.y)*((se-Ct.x)/(Wt.x-Ct.x)))._round():Wt.x>=se&&(Wt=new t(se,Ct.y+(Wt.y-Ct.y)*((se-Ct.x)/(Wt.x-Ct.x)))._round()),!(Ct.y>=pe&&Wt.y>=pe)&&(Ct.y>=pe?Ct=new t(Ct.x+(Wt.x-Ct.x)*((pe-Ct.y)/(Wt.y-Ct.y)),pe)._round():Wt.y>=pe&&(Wt=new t(Ct.x+(Wt.x-Ct.x)*((pe-Ct.y)/(Wt.y-Ct.y)),pe)._round()),(!dt||!Ct.equals(dt[dt.length-1]))&&(dt=[Ct],Me.push(dt)),dt.push(Wt)))))}return Me}var $d=ll;function s2(R,I,W,se){var pe=[],Me=R.image,Pe=Me.pixelRatio,$e=Me.paddedRect.w-2*$d,dt=Me.paddedRect.h-2*$d,Tt=R.right-R.left,Ct=R.bottom-R.top,Wt=Me.stretchX||[[0,$e]],or=Me.stretchY||[[0,dt]],Qt=function(bi,pi){return bi+pi[1]-pi[0]},mr=Wt.reduce(Qt,0),Ur=or.reduce(Qt,0),nn=$e-mr,qr=dt-Ur,En=0,wn=mr,Sn=0,Fn=Ur,Vn=0,ea=nn,qn=0,Pa=qr;if(Me.content&&se){var ga=Me.content;En=S0(Wt,0,ga[0]),Sn=S0(or,0,ga[1]),wn=S0(Wt,ga[0],ga[2]),Fn=S0(or,ga[1],ga[3]),Vn=ga[0]-En,qn=ga[1]-Sn,ea=ga[2]-ga[0]-wn,Pa=ga[3]-ga[1]-Fn}var wa=function(bi,pi,Yi,$i){var fo=E0(bi.stretch-En,wn,Tt,R.left),po=C0(bi.fixed-Vn,ea,bi.stretch,mr),Go=E0(pi.stretch-Sn,Fn,Ct,R.top),Ro=C0(pi.fixed-qn,Pa,pi.stretch,Ur),ds=E0(Yi.stretch-En,wn,Tt,R.left),vs=C0(Yi.fixed-Vn,ea,Yi.stretch,mr),Wo=E0($i.stretch-Sn,Fn,Ct,R.top),Cs=C0($i.fixed-qn,Pa,$i.stretch,Ur),Ls=new t(fo,Go),Oo=new t(ds,Go),_s=new t(ds,Wo),Ml=new t(fo,Wo),bc=new t(po/Pe,Ro/Pe),hh=new t(vs/Pe,Cs/Pe),dh=I*Math.PI/180;if(dh){var vh=Math.sin(dh),av=Math.cos(dh),mu=[av,-vh,vh,av];Ls._matMult(mu),Oo._matMult(mu),Ml._matMult(mu),_s._matMult(mu)}var D0=bi.stretch+bi.fixed,Hy=Yi.stretch+Yi.fixed,k0=pi.stretch+pi.fixed,Vy=$i.stretch+$i.fixed,jl={x:Me.paddedRect.x+$d+D0,y:Me.paddedRect.y+$d+k0,w:Hy-D0,h:Vy-k0},iv=ea/Pe/Tt,F0=Pa/Pe/Ct;return{tl:Ls,tr:Oo,bl:Ml,br:_s,tex:jl,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:bc,pixelOffsetBR:hh,minFontScaleX:iv,minFontScaleY:F0,isSDF:W}};if(!se||!Me.stretchX&&!Me.stretchY)pe.push(wa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:$e+1},{fixed:0,stretch:dt+1}));else for(var Xa=l2(Wt,nn,mr),Sa=l2(or,qr,Ur),La=0;La0&&(mr=Math.max(10,mr),this.circleDiameter=mr)}else{var Ur=Pe.top*$e-dt,nn=Pe.bottom*$e+dt,qr=Pe.left*$e-dt,En=Pe.right*$e+dt,wn=Pe.collisionPadding;if(wn&&(qr-=wn[0]*$e,Ur-=wn[1]*$e,En+=wn[2]*$e,nn+=wn[3]*$e),Ct){var Sn=new t(qr,Ur),Fn=new t(En,Ur),Vn=new t(qr,nn),ea=new t(En,nn),qn=Ct*Math.PI/180;Sn._rotate(qn),Fn._rotate(qn),Vn._rotate(qn),ea._rotate(qn),qr=Math.min(Sn.x,Fn.x,Vn.x,ea.x),En=Math.max(Sn.x,Fn.x,Vn.x,ea.x),Ur=Math.min(Sn.y,Fn.y,Vn.y,ea.y),nn=Math.max(Sn.y,Fn.y,Vn.y,ea.y)}I.emplaceBack(W.x,W.y,qr,Ur,En,nn,se,pe,Me)}this.boxEndIndex=I.length},Jd=function(I,W){if(I===void 0&&(I=[]),W===void 0&&(W=T6),this.data=I,this.length=this.data.length,this.compare=W,this.length>0)for(var se=(this.length>>1)-1;se>=0;se--)this._down(se)};Jd.prototype.push=function(I){this.data.push(I),this.length++,this._up(this.length-1)},Jd.prototype.pop=function(){if(this.length!==0){var I=this.data[0],W=this.data.pop();return this.length--,this.length>0&&(this.data[0]=W,this._down(0)),I}},Jd.prototype.peek=function(){return this.data[0]},Jd.prototype._up=function(I){for(var W=this,se=W.data,pe=W.compare,Me=se[I];I>0;){var Pe=I-1>>1,$e=se[Pe];if(pe(Me,$e)>=0)break;se[I]=$e,I=Pe}se[I]=Me},Jd.prototype._down=function(I){for(var W=this,se=W.data,pe=W.compare,Me=this.length>>1,Pe=se[I];I=0)break;se[I]=dt,I=$e}se[I]=Pe};function T6(R,I){return RI?1:0}function A6(R,I,W){I===void 0&&(I=1),W===void 0&&(W=!1);for(var se=1/0,pe=1/0,Me=-1/0,Pe=-1/0,$e=R[0],dt=0;dt<$e.length;dt++){var Tt=$e[dt];(!dt||Tt.xMe)&&(Me=Tt.x),(!dt||Tt.y>Pe)&&(Pe=Tt.y)}var Ct=Me-se,Wt=Pe-pe,or=Math.min(Ct,Wt),Qt=or/2,mr=new Jd([],M6);if(or===0)return new t(se,pe);for(var Ur=se;Urqr.d||!qr.d)&&(qr=wn,W&&console.log("found best %d after %d probes",Math.round(1e4*wn.d)/1e4,En)),!(wn.max-qr.d<=I)&&(Qt=wn.h/2,mr.push(new Qd(wn.p.x-Qt,wn.p.y-Qt,Qt,R)),mr.push(new Qd(wn.p.x+Qt,wn.p.y-Qt,Qt,R)),mr.push(new Qd(wn.p.x-Qt,wn.p.y+Qt,Qt,R)),mr.push(new Qd(wn.p.x+Qt,wn.p.y+Qt,Qt,R)),En+=4)}return W&&(console.log("num probes: "+En),console.log("best distance: "+qr.d)),qr.p}function M6(R,I){return I.max-R.max}function Qd(R,I,W,se){this.p=new t(R,I),this.h=W,this.d=S6(this.p,se),this.max=this.d+this.h*Math.SQRT2}function S6(R,I){for(var W=!1,se=1/0,pe=0;peR.y!=Ct.y>R.y&&R.x<(Ct.x-Tt.x)*(R.y-Tt.y)/(Ct.y-Tt.y)+Tt.x&&(W=!W),se=Math.min(se,Yu(R,Tt,Ct))}return(W?1:-1)*Math.sqrt(se)}function E6(R){for(var I=0,W=0,se=0,pe=R[0],Me=0,Pe=pe.length,$e=Pe-1;Me=ka||mu.y<0||mu.y>=ka||_6(R,mu,av,W,se,pe,Sa,R.layers[0],R.collisionBoxArray,I.index,I.sourceLayerIndex,R.index,qr,Fn,qn,dt,wn,Vn,Pa,Qt,I,Me,Tt,Ct,Pe)};if(ga==="line")for(var ei=0,Wa=o2(I.geometry,0,0,ka,ka);ei1){var Go=x6(po,ea,W.vertical||mr,se,Ur,En);Go&&La(po,Go)}}else if(I.type==="Polygon")for(var Ro=0,ds=My(I.geometry,0);Rofh&&G(R.layerIds[0]+': Value for "text-size" is >= '+lp+'. Reduce your "text-size".')):nn.kind==="composite"&&(qr=[Ku*Qt.compositeTextSizes[0].evaluate(Pe,{},mr),Ku*Qt.compositeTextSizes[1].evaluate(Pe,{},mr)],(qr[0]>fh||qr[1]>fh)&&G(R.layerIds[0]+': Value for "text-size" is >= '+lp+'. Reduce your "text-size".')),R.addSymbols(R.text,Ur,qr,$e,Me,Pe,Tt,I,dt.lineStartIndex,dt.lineLength,or,mr);for(var En=0,wn=Ct;Enfh&&G(R.layerIds[0]+': Value for "icon-size" is >= '+lp+'. Reduce your "icon-size".')):Ls.kind==="composite"&&(Oo=[Ku*Fn.compositeIconSizes[0].evaluate(Sn,{},ea),Ku*Fn.compositeIconSizes[1].evaluate(Sn,{},ea)],(Oo[0]>fh||Oo[1]>fh)&&G(R.layerIds[0]+': Value for "icon-size" is >= '+lp+'. Reduce your "icon-size".')),R.addSymbols(R.icon,Wo,Oo,wn,En,Sn,!1,I,ga.lineStartIndex,ga.lineLength,-1,ea),xi=R.icon.placedSymbolArray.length-1,Cs&&(Wa=Cs.length*4,R.addSymbols(R.icon,Cs,Oo,wn,En,Sn,Al.vertical,I,ga.lineStartIndex,ga.lineLength,-1,ea),bi=R.icon.placedSymbolArray.length-1)}for(var _s in se.horizontal){var Ml=se.horizontal[_s];if(!wa){Yi=Ye(Ml.text);var bc=$e.layout.get("text-rotate").evaluate(Sn,{},ea);wa=new L0(dt,I,Tt,Ct,Wt,Ml,or,Qt,mr,bc)}var hh=Ml.positionedLines.length===1;if(mi+=f2(R,I,Ml,Me,$e,mr,Sn,Ur,ga,se.vertical?Al.horizontal:Al.horizontalOnly,hh?Object.keys(se.horizontal):[_s],pi,xi,Fn,ea),hh)break}se.vertical&&(Ni+=f2(R,I,se.vertical,Me,$e,mr,Sn,Ur,ga,Al.vertical,["vertical"],pi,bi,Fn,ea));var dh=wa?wa.boxStartIndex:R.collisionBoxArray.length,vh=wa?wa.boxEndIndex:R.collisionBoxArray.length,av=Sa?Sa.boxStartIndex:R.collisionBoxArray.length,mu=Sa?Sa.boxEndIndex:R.collisionBoxArray.length,D0=Xa?Xa.boxStartIndex:R.collisionBoxArray.length,Hy=Xa?Xa.boxEndIndex:R.collisionBoxArray.length,k0=La?La.boxStartIndex:R.collisionBoxArray.length,Vy=La?La.boxEndIndex:R.collisionBoxArray.length,jl=-1,iv=function(cp,C2){return cp&&cp.circleDiameter?Math.max(cp.circleDiameter,C2):C2};jl=iv(wa,jl),jl=iv(Sa,jl),jl=iv(Xa,jl),jl=iv(La,jl);var F0=jl>-1?1:0;F0&&(jl*=qn/Qo),R.glyphOffsetArray.length>=Bi.MAX_GLYPHS&&G("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Sn.sortKey!==void 0&&R.addToSortKeyRanges(R.symbolInstances.length,Sn.sortKey),R.symbolInstances.emplaceBack(I.x,I.y,pi.right>=0?pi.right:-1,pi.center>=0?pi.center:-1,pi.left>=0?pi.left:-1,pi.vertical||-1,xi,bi,Yi,dh,vh,av,mu,D0,Hy,k0,Vy,Tt,mi,Ni,ei,Wa,F0,0,or,$i,fo,jl)}function P6(R,I,W,se){var pe=R.compareText;if(!(I in pe))pe[I]=[];else for(var Me=pe[I],Pe=Me.length-1;Pe>=0;Pe--)if(se.dist(Me[Pe])0)&&(Pe.value.kind!=="constant"||Pe.value.value.length>0),Ct=dt.value.kind!=="constant"||!!dt.value.value||Object.keys(dt.parameters).length>0,Wt=Me.get("symbol-sort-key");if(this.features=[],!(!Tt&&!Ct)){for(var or=W.iconDependencies,Qt=W.glyphDependencies,mr=W.availableImages,Ur=new Un(this.zoom),nn=0,qr=I;nn=0;for(var Ni=0,xi=Pa.sections;Ni=0;dt--)Pe[dt]={x:W[dt].x,y:W[dt].y,tileUnitDistanceFromAnchor:Me},dt>0&&(Me+=W[dt-1].dist(W[dt]));for(var Tt=0;Tt0},Bi.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Bi.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Bi.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Bi.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Bi.prototype.addIndicesForPlacedSymbol=function(I,W){for(var se=I.placedSymbolArray.get(W),pe=se.vertexStartIndex+se.numGlyphs*4,Me=se.vertexStartIndex;Me1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(I),this.sortedAngle=I,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var se=0,pe=this.symbolInstanceIndexes;se=0&&Tt.indexOf($e)===dt&&W.addIndicesForPlacedSymbol(W.text,$e)}),Pe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,Pe.verticalPlacedTextSymbolIndex),Pe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Pe.placedIconSymbolIndex),Pe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,Pe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},ce("SymbolBucket",Bi,{omit:["layers","collisionBoxArray","features","compareText"]}),Bi.MAX_GLYPHS=65535,Bi.addDynamicAttributes=Oy;function k6(R,I){return I.replace(/{([^{}]+)}/g,function(W,se){return se in R?String(R[se]):""})}var F6=new Ao({"symbol-placement":new ba(Zt.layout_symbol["symbol-placement"]),"symbol-spacing":new ba(Zt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new ba(Zt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new _a(Zt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new ba(Zt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new ba(Zt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new ba(Zt.layout_symbol["icon-ignore-placement"]),"icon-optional":new ba(Zt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new ba(Zt.layout_symbol["icon-rotation-alignment"]),"icon-size":new _a(Zt.layout_symbol["icon-size"]),"icon-text-fit":new ba(Zt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new ba(Zt.layout_symbol["icon-text-fit-padding"]),"icon-image":new _a(Zt.layout_symbol["icon-image"]),"icon-rotate":new _a(Zt.layout_symbol["icon-rotate"]),"icon-padding":new ba(Zt.layout_symbol["icon-padding"]),"icon-keep-upright":new ba(Zt.layout_symbol["icon-keep-upright"]),"icon-offset":new _a(Zt.layout_symbol["icon-offset"]),"icon-anchor":new _a(Zt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new ba(Zt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new ba(Zt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new ba(Zt.layout_symbol["text-rotation-alignment"]),"text-field":new _a(Zt.layout_symbol["text-field"]),"text-font":new _a(Zt.layout_symbol["text-font"]),"text-size":new _a(Zt.layout_symbol["text-size"]),"text-max-width":new _a(Zt.layout_symbol["text-max-width"]),"text-line-height":new ba(Zt.layout_symbol["text-line-height"]),"text-letter-spacing":new _a(Zt.layout_symbol["text-letter-spacing"]),"text-justify":new _a(Zt.layout_symbol["text-justify"]),"text-radial-offset":new _a(Zt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new ba(Zt.layout_symbol["text-variable-anchor"]),"text-anchor":new _a(Zt.layout_symbol["text-anchor"]),"text-max-angle":new ba(Zt.layout_symbol["text-max-angle"]),"text-writing-mode":new ba(Zt.layout_symbol["text-writing-mode"]),"text-rotate":new _a(Zt.layout_symbol["text-rotate"]),"text-padding":new ba(Zt.layout_symbol["text-padding"]),"text-keep-upright":new ba(Zt.layout_symbol["text-keep-upright"]),"text-transform":new _a(Zt.layout_symbol["text-transform"]),"text-offset":new _a(Zt.layout_symbol["text-offset"]),"text-allow-overlap":new ba(Zt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new ba(Zt.layout_symbol["text-ignore-placement"]),"text-optional":new ba(Zt.layout_symbol["text-optional"])}),O6=new Ao({"icon-opacity":new _a(Zt.paint_symbol["icon-opacity"]),"icon-color":new _a(Zt.paint_symbol["icon-color"]),"icon-halo-color":new _a(Zt.paint_symbol["icon-halo-color"]),"icon-halo-width":new _a(Zt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new _a(Zt.paint_symbol["icon-halo-blur"]),"icon-translate":new ba(Zt.paint_symbol["icon-translate"]),"icon-translate-anchor":new ba(Zt.paint_symbol["icon-translate-anchor"]),"text-opacity":new _a(Zt.paint_symbol["text-opacity"]),"text-color":new _a(Zt.paint_symbol["text-color"],{runtimeType:On,getOverride:function(R){return R.textColor},hasOverride:function(R){return!!R.textColor}}),"text-halo-color":new _a(Zt.paint_symbol["text-halo-color"]),"text-halo-width":new _a(Zt.paint_symbol["text-halo-width"]),"text-halo-blur":new _a(Zt.paint_symbol["text-halo-blur"]),"text-translate":new ba(Zt.paint_symbol["text-translate"]),"text-translate-anchor":new ba(Zt.paint_symbol["text-translate-anchor"])}),zy={paint:O6,layout:F6},tv=function(I){this.type=I.property.overrides?I.property.overrides.runtimeType:Rr,this.defaultValue=I};tv.prototype.evaluate=function(I){if(I.formattedSection){var W=this.defaultValue.property.overrides;if(W&&W.hasOverride(I.formattedSection))return W.getOverride(I.formattedSection)}return I.feature&&I.featureState?this.defaultValue.evaluate(I.feature,I.featureState):this.defaultValue.property.specification.default},tv.prototype.eachChild=function(I){if(!this.defaultValue.isConstant()){var W=this.defaultValue.value;I(W._styleExpression.expression)}},tv.prototype.outputDefined=function(){return!1},tv.prototype.serialize=function(){return null},ce("FormatSectionOverride",tv,{omit:["defaultValue"]});var z6=function(R){function I(W){R.call(this,W,zy)}return R&&(I.__proto__=R),I.prototype=Object.create(R&&R.prototype),I.prototype.constructor=I,I.prototype.recalculate=function(se,pe){if(R.prototype.recalculate.call(this,se,pe),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")!=="point"?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){var Me=this.layout.get("text-writing-mode");if(Me){for(var Pe=[],$e=0,dt=Me;$e",targetMapId:pe,sourceMapId:Pe.mapId})}}},rv.prototype.receive=function(I){var W=I.data,se=W.id;if(se&&!(W.targetMapId&&this.mapId!==W.targetMapId))if(W.type===""){delete this.tasks[se];var pe=this.cancelCallbacks[se];delete this.cancelCallbacks[se],pe&&pe()}else k()||W.mustQueue?(this.tasks[se]=W,this.taskQueue.push(se),this.invoker.trigger()):this.processTask(se,W)},rv.prototype.process=function(){if(this.taskQueue.length){var I=this.taskQueue.shift(),W=this.tasks[I];delete this.tasks[I],this.taskQueue.length&&this.invoker.trigger(),W&&this.processTask(I,W)}},rv.prototype.processTask=function(I,W){var se=this;if(W.type===""){var pe=this.callbacks[I];delete this.callbacks[I],pe&&(W.error?pe(ot(W.error)):pe(null,ot(W.data)))}else{var Me=!1,Pe=ee(this.globalScope)?void 0:[],$e=W.hasCallback?function(or,Qt){Me=!0,delete se.cancelCallbacks[I],se.target.postMessage({id:I,type:"",sourceMapId:se.mapId,error:or?nt(or):null,data:nt(Qt,Pe)},Pe)}:function(or){Me=!0},dt=null,Tt=ot(W.data);if(this.parent[W.type])dt=this.parent[W.type](W.sourceMapId,Tt,$e);else if(this.parent.getWorkerSource){var Ct=W.type.split("."),Wt=this.parent.getWorkerSource(W.sourceMapId,Ct[0],Tt.source);dt=Wt[Ct[1]](Tt,$e)}else $e(new Error("Could not find function "+W.type));!Me&&dt&&dt.cancel&&(this.cancelCallbacks[I]=dt.cancel)}},rv.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};function X6(R,I,W){I=Math.pow(2,W)-I-1;var se=g2(R*256,I*256,W),pe=g2((R+1)*256,(I+1)*256,W);return se[0]+","+se[1]+","+pe[0]+","+pe[1]}function g2(R,I,W){var se=2*Math.PI*6378137/256/Math.pow(2,W),pe=R*se-2*Math.PI*6378137/2,Me=I*se-2*Math.PI*6378137/2;return[pe,Me]}var _o=function(I,W){I&&(W?this.setSouthWest(I).setNorthEast(W):I.length===4?this.setSouthWest([I[0],I[1]]).setNorthEast([I[2],I[3]]):this.setSouthWest(I[0]).setNorthEast(I[1]))};_o.prototype.setNorthEast=function(I){return this._ne=I instanceof eo?new eo(I.lng,I.lat):eo.convert(I),this},_o.prototype.setSouthWest=function(I){return this._sw=I instanceof eo?new eo(I.lng,I.lat):eo.convert(I),this},_o.prototype.extend=function(I){var W=this._sw,se=this._ne,pe,Me;if(I instanceof eo)pe=I,Me=I;else if(I instanceof _o){if(pe=I._sw,Me=I._ne,!pe||!Me)return this}else{if(Array.isArray(I))if(I.length===4||I.every(Array.isArray)){var Pe=I;return this.extend(_o.convert(Pe))}else{var $e=I;return this.extend(eo.convert($e))}return this}return!W&&!se?(this._sw=new eo(pe.lng,pe.lat),this._ne=new eo(Me.lng,Me.lat)):(W.lng=Math.min(pe.lng,W.lng),W.lat=Math.min(pe.lat,W.lat),se.lng=Math.max(Me.lng,se.lng),se.lat=Math.max(Me.lat,se.lat)),this},_o.prototype.getCenter=function(){return new eo((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},_o.prototype.getSouthWest=function(){return this._sw},_o.prototype.getNorthEast=function(){return this._ne},_o.prototype.getNorthWest=function(){return new eo(this.getWest(),this.getNorth())},_o.prototype.getSouthEast=function(){return new eo(this.getEast(),this.getSouth())},_o.prototype.getWest=function(){return this._sw.lng},_o.prototype.getSouth=function(){return this._sw.lat},_o.prototype.getEast=function(){return this._ne.lng},_o.prototype.getNorth=function(){return this._ne.lat},_o.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},_o.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},_o.prototype.isEmpty=function(){return!(this._sw&&this._ne)},_o.prototype.contains=function(I){var W=eo.convert(I),se=W.lng,pe=W.lat,Me=this._sw.lat<=pe&&pe<=this._ne.lat,Pe=this._sw.lng<=se&&se<=this._ne.lng;return this._sw.lng>this._ne.lng&&(Pe=this._sw.lng>=se&&se>=this._ne.lng),Me&&Pe},_o.convert=function(I){return!I||I instanceof _o?I:new _o(I)};var y2=63710088e-1,eo=function(I,W){if(isNaN(I)||isNaN(W))throw new Error("Invalid LngLat object: ("+I+", "+W+")");if(this.lng=+I,this.lat=+W,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};eo.prototype.wrap=function(){return new eo(g(this.lng,-180,180),this.lat)},eo.prototype.toArray=function(){return[this.lng,this.lat]},eo.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},eo.prototype.distanceTo=function(I){var W=Math.PI/180,se=this.lat*W,pe=I.lat*W,Me=Math.sin(se)*Math.sin(pe)+Math.cos(se)*Math.cos(pe)*Math.cos((I.lng-this.lng)*W),Pe=y2*Math.acos(Math.min(Me,1));return Pe},eo.prototype.toBounds=function(I){I===void 0&&(I=0);var W=40075017,se=360*I/W,pe=se/Math.cos(Math.PI/180*this.lat);return new _o(new eo(this.lng-pe,this.lat-se),new eo(this.lng+pe,this.lat+se))},eo.convert=function(I){if(I instanceof eo)return I;if(Array.isArray(I)&&(I.length===2||I.length===3))return new eo(Number(I[0]),Number(I[1]));if(!Array.isArray(I)&&typeof I=="object"&&I!==null)return new eo(Number("lng"in I?I.lng:I.lon),Number(I.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var m2=2*Math.PI*y2;function x2(R){return m2*Math.cos(R*Math.PI/180)}function b2(R){return(180+R)/360}function w2(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function T2(R,I){return R/x2(I)}function K6(R){return R*360-180}function Ny(R){var I=180-R*360;return 360/Math.PI*Math.atan(Math.exp(I*Math.PI/180))-90}function $6(R,I){return R*x2(Ny(I))}function J6(R){return 1/Math.cos(R*Math.PI/180)}var cd=function(I,W,se){se===void 0&&(se=0),this.x=+I,this.y=+W,this.z=+se};cd.fromLngLat=function(I,W){W===void 0&&(W=0);var se=eo.convert(I);return new cd(b2(se.lng),w2(se.lat),T2(W,se.lat))},cd.prototype.toLngLat=function(){return new eo(K6(this.x),Ny(this.y))},cd.prototype.toAltitude=function(){return $6(this.z,this.y)},cd.prototype.meterInMercatorCoordinateUnits=function(){return 1/m2*J6(Ny(this.y))};var hd=function(I,W,se){this.z=I,this.x=W,this.y=se,this.key=fp(0,I,I,W,se)};hd.prototype.equals=function(I){return this.z===I.z&&this.x===I.x&&this.y===I.y},hd.prototype.url=function(I,W){var se=X6(this.x,this.y,this.z),pe=Q6(this.z,this.x,this.y);return I[(this.x+this.y)%I.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(W==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",pe).replace("{bbox-epsg-3857}",se)},hd.prototype.getTilePoint=function(I){var W=Math.pow(2,this.z);return new t((I.x*W-this.x)*ka,(I.y*W-this.y)*ka)},hd.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var A2=function(I,W){this.wrap=I,this.canonical=W,this.key=fp(I,W.z,W.z,W.x,W.y)},Po=function(I,W,se,pe,Me){this.overscaledZ=I,this.wrap=W,this.canonical=new hd(se,+pe,+Me),this.key=fp(W,I,se,pe,Me)};Po.prototype.equals=function(I){return this.overscaledZ===I.overscaledZ&&this.wrap===I.wrap&&this.canonical.equals(I.canonical)},Po.prototype.scaledTo=function(I){var W=this.canonical.z-I;return I>this.canonical.z?new Po(I,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Po(I,this.wrap,I,this.canonical.x>>W,this.canonical.y>>W)},Po.prototype.calculateScaledKey=function(I,W){var se=this.canonical.z-I;return I>this.canonical.z?fp(this.wrap*+W,I,this.canonical.z,this.canonical.x,this.canonical.y):fp(this.wrap*+W,I,I,this.canonical.x>>se,this.canonical.y>>se)},Po.prototype.isChildOf=function(I){if(I.wrap!==this.wrap)return!1;var W=this.canonical.z-I.canonical.z;return I.overscaledZ===0||I.overscaledZ>W&&I.canonical.y===this.canonical.y>>W},Po.prototype.children=function(I){if(this.overscaledZ>=I)return[new Po(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var W=this.canonical.z+1,se=this.canonical.x*2,pe=this.canonical.y*2;return[new Po(W,this.wrap,W,se,pe),new Po(W,this.wrap,W,se+1,pe),new Po(W,this.wrap,W,se,pe+1),new Po(W,this.wrap,W,se+1,pe+1)]},Po.prototype.isLessThan=function(I){return this.wrapI.wrap?!1:this.overscaledZI.overscaledZ?!1:this.canonical.xI.canonical.x?!1:this.canonical.y0;Me--)pe=1<=this.dim+1||W<-1||W>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(W+1)*this.stride+(I+1)},mc.prototype._unpackMapbox=function(I,W,se){return(I*256*256+W*256+se)/10-1e4},mc.prototype._unpackTerrarium=function(I,W,se){return I*256+W+se/256-32768},mc.prototype.getPixels=function(){return new Ys({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},mc.prototype.backfillBorder=function(I,W,se){if(this.dim!==I.dim)throw new Error("dem dimension mismatch");var pe=W*this.dim,Me=W*this.dim+this.dim,Pe=se*this.dim,$e=se*this.dim+this.dim;switch(W){case-1:pe=Me-1;break;case 1:Me=pe+1;break}switch(se){case-1:Pe=$e-1;break;case 1:$e=Pe+1;break}for(var dt=-W*this.dim,Tt=-se*this.dim,Ct=Pe;Ct<$e;Ct++)for(var Wt=pe;Wt=0&&Wt[3]>=0&&dt.insert($e,Wt[0],Wt[1],Wt[2],Wt[3])}},xc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new jd.VectorTile(new w0(this.rawTileData)).layers,this.sourceLayerCoder=new R0(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},xc.prototype.query=function(I,W,se,pe){var Me=this;this.loadVTLayers();for(var Pe=I.params||{},$e=ka/I.tileSize/I.scale,dt=Uu(Pe.filter),Tt=I.queryGeometry,Ct=I.queryPadding*$e,Wt=S2(Tt),or=this.grid.query(Wt.minX-Ct,Wt.minY-Ct,Wt.maxX+Ct,Wt.maxY+Ct),Qt=S2(I.cameraQueryGeometry),mr=this.grid3D.query(Qt.minX-Ct,Qt.minY-Ct,Qt.maxX+Ct,Qt.maxY+Ct,function(Vn,ea,qn,Pa){return Pf(I.cameraQueryGeometry,Vn-Ct,ea-Ct,qn+Ct,Pa+Ct)}),Ur=0,nn=mr;Urpe)Me=!1;else if(!W)Me=!0;else if(this.expirationTime=vr.maxzoom)&&vr.visibility!=="none"){o(cr,this.zoom,Mt);var pr=$t[vr.id]=vr.createBucket({index:Jt.bucketLayerIDs.length,layers:cr,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:It,sourceID:this.source});pr.populate(kt,ir,this.tileID.canonical),Jt.bucketLayerIDs.push(cr.map(function(xr){return xr.id}))}}}}var dr,Yr,zr,Or,mn=a.mapObject(ir.glyphDependencies,function(xr){return Object.keys(xr).map(Number)});Object.keys(mn).length?Lt.send("getGlyphs",{uid:this.uid,stacks:mn},function(xr,br){dr||(dr=xr,Yr=br,Dn.call(Ot))}):Yr={};var Kr=Object.keys(ir.iconDependencies);Kr.length?Lt.send("getImages",{icons:Kr,source:this.source,tileID:this.tileID,type:"icons"},function(xr,br){dr||(dr=xr,zr=br,Dn.call(Ot))}):zr={};var kn=Object.keys(ir.patternDependencies);kn.length?Lt.send("getImages",{icons:kn,source:this.source,tileID:this.tileID,type:"patterns"},function(xr,br){dr||(dr=xr,Or=br,Dn.call(Ot))}):Or={},Dn.call(this);function Dn(){if(dr)return St(dr);if(Yr&&zr&&Or){var xr=new r(Yr),br=new a.ImageAtlas(zr,Or);for(var Br in $t){var Nr=$t[Br];Nr instanceof a.SymbolBucket?(o(Nr.layers,this.zoom,Mt),a.performSymbolLayout(Nr,Yr,xr.positions,zr,br.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Nr.hasPattern&&(Nr instanceof a.LineBucket||Nr instanceof a.FillBucket||Nr instanceof a.FillExtrusionBucket)&&(o(Nr.layers,this.zoom,Mt),Nr.addFeatures(ir,this.tileID.canonical,br.patternPositions))}this.status="done",St(null,{buckets:a.values($t).filter(function(en){return!en.isEmpty()}),featureIndex:Jt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:xr.image,imageAtlas:br,glyphMap:this.returnDependencies?Yr:null,iconMap:this.returnDependencies?zr:null,glyphPositions:this.returnDependencies?xr.positions:null})}}};function o(ct,ut,wt){for(var Mt=new a.EvaluationParameters(ut),Lt=0,St=ct;Lt=0!=!!ut&&ct.reverse()}var y=a.vectorTile.VectorTileFeature.prototype.toGeoJSON,T=function(ut){this._feature=ut,this.extent=a.EXTENT,this.type=ut.type,this.properties=ut.tags,"id"in ut&&!isNaN(ut.id)&&(this.id=parseInt(ut.id,10))};T.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ut=[],wt=0,Mt=this._feature.geometry;wt"u"&&(Mt.push(Vt),Jt=Mt.length-1,St[Vt]=Jt),ut.writeVarint(Jt);var $t=wt.properties[Vt],ir=typeof $t;ir!=="string"&&ir!=="boolean"&&ir!=="number"&&($t=JSON.stringify($t));var Cr=ir+":"+$t,je=Ot[Cr];typeof je>"u"&&(Lt.push($t),je=Lt.length-1,Ot[Cr]=je),ut.writeVarint(je)}}function V(ct,ut){return(ut<<3)+(ct&7)}function Z(ct){return ct<<1^ct>>31}function ee(ct,ut){for(var wt=ct.loadGeometry(),Mt=ct.type,Lt=0,St=0,Ot=wt.length,Vt=0;Vt>1;fe(ct,ut,Ot,Mt,Lt,St%2),ne(ct,ut,wt,Mt,Ot-1,St+1),ne(ct,ut,wt,Ot+1,Lt,St+1)}}function fe(ct,ut,wt,Mt,Lt,St){for(;Lt>Mt;){if(Lt-Mt>600){var Ot=Lt-Mt+1,Vt=wt-Mt+1,Jt=Math.log(Ot),$t=.5*Math.exp(2*Jt/3),ir=.5*Math.sqrt(Jt*$t*(Ot-$t)/Ot)*(Vt-Ot/2<0?-1:1),Cr=Math.max(Mt,Math.floor(wt-Vt*$t/Ot+ir)),je=Math.min(Lt,Math.floor(wt+(Ot-Vt)*$t/Ot+ir));fe(ct,ut,wt,Cr,je,St)}var We=ut[2*wt+St],It=Mt,kt=Lt;for($(ct,ut,Mt,wt),ut[2*Lt+St]>We&&$(ct,ut,Mt,Lt);ItWe;)kt--}ut[2*Mt+St]===We?$(ct,ut,Mt,kt):(kt++,$(ct,ut,kt,Lt)),kt<=wt&&(Mt=kt+1),wt<=kt&&(Lt=kt-1)}}function $(ct,ut,wt,Mt){Y(ct,wt,Mt),Y(ut,2*wt,2*Mt),Y(ut,2*wt+1,2*Mt+1)}function Y(ct,ut,wt){var Mt=ct[ut];ct[ut]=ct[wt],ct[wt]=Mt}function j(ct,ut,wt,Mt,Lt,St,Ot){for(var Vt=[0,ct.length-1,0],Jt=[],$t,ir;Vt.length;){var Cr=Vt.pop(),je=Vt.pop(),We=Vt.pop();if(je-We<=Ot){for(var It=We;It<=je;It++)$t=ut[2*It],ir=ut[2*It+1],$t>=wt&&$t<=Lt&&ir>=Mt&&ir<=St&&Jt.push(ct[It]);continue}var kt=Math.floor((We+je)/2);$t=ut[2*kt],ir=ut[2*kt+1],$t>=wt&&$t<=Lt&&ir>=Mt&&ir<=St&&Jt.push(ct[kt]);var Yt=(Cr+1)%2;(Cr===0?wt<=$t:Mt<=ir)&&(Vt.push(We),Vt.push(kt-1),Vt.push(Yt)),(Cr===0?Lt>=$t:St>=ir)&&(Vt.push(kt+1),Vt.push(je),Vt.push(Yt))}return Jt}function X(ct,ut,wt,Mt,Lt,St){for(var Ot=[0,ct.length-1,0],Vt=[],Jt=Lt*Lt;Ot.length;){var $t=Ot.pop(),ir=Ot.pop(),Cr=Ot.pop();if(ir-Cr<=St){for(var je=Cr;je<=ir;je++)re(ut[2*je],ut[2*je+1],wt,Mt)<=Jt&&Vt.push(ct[je]);continue}var We=Math.floor((Cr+ir)/2),It=ut[2*We],kt=ut[2*We+1];re(It,kt,wt,Mt)<=Jt&&Vt.push(ct[We]);var Yt=($t+1)%2;($t===0?wt-Lt<=It:Mt-Lt<=kt)&&(Ot.push(Cr),Ot.push(We-1),Ot.push(Yt)),($t===0?wt+Lt>=It:Mt+Lt>=kt)&&(Ot.push(We+1),Ot.push(ir),Ot.push(Yt))}return Vt}function re(ct,ut,wt,Mt){var Lt=ct-wt,St=ut-Mt;return Lt*Lt+St*St}var le=function(ct){return ct[0]},q=function(ct){return ct[1]},te=function(ut,wt,Mt,Lt,St){wt===void 0&&(wt=le),Mt===void 0&&(Mt=q),Lt===void 0&&(Lt=64),St===void 0&&(St=Float64Array),this.nodeSize=Lt,this.points=ut;for(var Ot=ut.length<65536?Uint16Array:Uint32Array,Vt=this.ids=new Ot(ut.length),Jt=this.coords=new St(ut.length*2),$t=0;$t=Lt;ir--){var Cr=+Date.now();Jt=this._cluster(Jt,ir),this.trees[ir]=new te(Jt,Ge,He,Ot,Float32Array),Mt&&console.log("z%d: %d clusters in %dms",ir,Jt.length,+Date.now()-Cr)}return Mt&&console.timeEnd("total time"),this},ae.prototype.getClusters=function(ut,wt){var Mt=((ut[0]+180)%360+360)%360-180,Lt=Math.max(-90,Math.min(90,ut[1])),St=ut[2]===180?180:((ut[2]+180)%360+360)%360-180,Ot=Math.max(-90,Math.min(90,ut[3]));if(ut[2]-ut[0]>=360)Mt=-180,St=180;else if(Mt>St){var Vt=this.getClusters([Mt,Lt,180,Ot],wt),Jt=this.getClusters([-180,Lt,St,Ot],wt);return Vt.concat(Jt)}for(var $t=this.trees[this._limitZoom(wt)],ir=$t.range(Be(Mt),Oe(Ot),Be(St),Oe(Lt)),Cr=[],je=0,We=ir;je1?this._map(ir,!0):null,ar=($t<<5)+(wt+1)+this.points.length,lr=0,rr=je;lr>5},ae.prototype._getOriginZoom=function(ut){return(ut-this.points.length)%32},ae.prototype._map=function(ut,wt){if(ut.numPoints)return wt?Ce({},ut.properties):ut.properties;var Mt=this.points[ut.index].properties,Lt=this.options.map(Mt);return wt&&Lt===Mt?Ce({},Lt):Lt};function de(ct,ut,wt,Mt,Lt){return{x:ct,y:ut,zoom:1/0,id:wt,parentId:-1,numPoints:Mt,properties:Lt}}function xe(ct,ut){var wt=ct.geometry.coordinates,Mt=wt[0],Lt=wt[1];return{x:Be(Mt),y:Oe(Lt),zoom:1/0,index:ut,parentId:-1}}function Se(ct){return{type:"Feature",id:ct.id,properties:Ae(ct),geometry:{type:"Point",coordinates:[Ee(ct.x),we(ct.y)]}}}function Ae(ct){var ut=ct.numPoints,wt=ut>=1e4?Math.round(ut/1e3)+"k":ut>=1e3?Math.round(ut/100)/10+"k":ut;return Ce(Ce({},ct.properties),{cluster:!0,cluster_id:ct.id,point_count:ut,point_count_abbreviated:wt})}function Be(ct){return ct/360+.5}function Oe(ct){var ut=Math.sin(ct*Math.PI/180),wt=.5-.25*Math.log((1+ut)/(1-ut))/Math.PI;return wt<0?0:wt>1?1:wt}function Ee(ct){return(ct-.5)*360}function we(ct){var ut=(180-ct*360)*Math.PI/180;return 360*Math.atan(Math.exp(ut))/Math.PI-90}function Ce(ct,ut){for(var wt in ut)ct[wt]=ut[wt];return ct}function Ge(ct){return ct.x}function He(ct){return ct.y}function De(ct,ut,wt,Mt){for(var Lt=Mt,St=wt-ut>>1,Ot=wt-ut,Vt,Jt=ct[ut],$t=ct[ut+1],ir=ct[wt],Cr=ct[wt+1],je=ut+3;jeLt)Vt=je,Lt=We;else if(We===Lt){var It=Math.abs(je-St);ItMt&&(Vt-ut>3&&De(ct,ut,Vt,Mt),ct[Vt+2]=Lt,wt-Vt>3&&De(ct,Vt,wt,Mt))}function Fe(ct,ut,wt,Mt,Lt,St){var Ot=Lt-wt,Vt=St-Mt;if(Ot!==0||Vt!==0){var Jt=((ct-wt)*Ot+(ut-Mt)*Vt)/(Ot*Ot+Vt*Vt);Jt>1?(wt=Lt,Mt=St):Jt>0&&(wt+=Ot*Jt,Mt+=Vt*Jt)}return Ot=ct-wt,Vt=ut-Mt,Ot*Ot+Vt*Vt}function qe(ct,ut,wt,Mt){var Lt={id:typeof ct>"u"?null:ct,type:ut,geometry:wt,tags:Mt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Qe(Lt),Lt}function Qe(ct){var ut=ct.geometry,wt=ct.type;if(wt==="Point"||wt==="MultiPoint"||wt==="LineString")Je(ct,ut);else if(wt==="Polygon"||wt==="MultiLineString")for(var Mt=0;Mt0&&(Mt?Ot+=(Lt*$t-Jt*St)/2:Ot+=Math.sqrt(Math.pow(Jt-Lt,2)+Math.pow($t-St,2))),Lt=Jt,St=$t}var ir=ut.length-3;ut[2]=1,De(ut,0,ir,wt),ut[ir+2]=1,ut.size=Math.abs(Ot),ut.start=0,ut.end=ut.size}function Et(ct,ut,wt,Mt){for(var Lt=0;Lt1?1:wt}function ze(ct,ut,wt,Mt,Lt,St,Ot,Vt){if(wt/=ut,Mt/=ut,St>=wt&&Ot=Mt)return null;for(var Jt=[],$t=0;$t=wt&&It=Mt)continue;var kt=[];if(je==="Point"||je==="MultiPoint")rt(Cr,kt,wt,Mt,Lt);else if(je==="LineString")it(Cr,kt,wt,Mt,Lt,!1,Vt.lineMetrics);else if(je==="MultiLineString")Ie(Cr,kt,wt,Mt,Lt,!1);else if(je==="Polygon")Ie(Cr,kt,wt,Mt,Lt,!0);else if(je==="MultiPolygon")for(var Yt=0;Yt=wt&&Ot<=Mt&&(ut.push(ct[St]),ut.push(ct[St+1]),ut.push(ct[St+2]))}}function it(ct,ut,wt,Mt,Lt,St,Ot){for(var Vt=Ze(ct),Jt=Lt===0?he:me,$t=ct.start,ir,Cr,je=0;jewt&&(Cr=Jt(Vt,We,It,Yt,ar,wt),Ot&&(Vt.start=$t+ir*Cr)):lr>Mt?rr=wt&&(Cr=Jt(Vt,We,It,Yt,ar,wt),Nt=!0),rr>Mt&&lr<=Mt&&(Cr=Jt(Vt,We,It,Yt,ar,Mt),Nt=!0),!St&&Nt&&(Ot&&(Vt.end=$t+ir*Cr),ut.push(Vt),Vt=Ze(ct)),Ot&&($t+=ir)}var cr=ct.length-3;We=ct[cr],It=ct[cr+1],kt=ct[cr+2],lr=Lt===0?We:It,lr>=wt&&lr<=Mt&&Te(Vt,We,It,kt),cr=Vt.length-3,St&&cr>=3&&(Vt[cr]!==Vt[0]||Vt[cr+1]!==Vt[1])&&Te(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&ut.push(Vt)}function Ze(ct){var ut=[];return ut.size=ct.size,ut.start=ct.start,ut.end=ct.end,ut}function Ie(ct,ut,wt,Mt,Lt,St){for(var Ot=0;OtOt.maxX&&(Ot.maxX=ir),Cr>Ot.maxY&&(Ot.maxY=Cr)}return Ot}function Ht(ct,ut,wt,Mt){var Lt=ut.geometry,St=ut.type,Ot=[];if(St==="Point"||St==="MultiPoint")for(var Vt=0;Vt0&&ut.size<(Lt?Ot:Mt)){wt.numPoints+=ut.length/3;return}for(var Vt=[],Jt=0;JtOt)&&(wt.numSimplified++,Vt.push(ut[Jt]),Vt.push(ut[Jt+1])),wt.numPoints++;Lt&&Rt(Vt,St),ct.push(Vt)}function Rt(ct,ut){for(var wt=0,Mt=0,Lt=ct.length,St=Lt-2;Mt0===ut)for(Mt=0,Lt=ct.length;Mt24)throw new Error("maxZoom should be in the 0-24 range");if(ut.promoteId&&ut.generateId)throw new Error("promoteId and generateId cannot be used together.");var Mt=tt(ct,ut);this.tiles={},this.tileCoords=[],wt&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",ut.indexMaxZoom,ut.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),Mt=Re(Mt,ut),Mt.length&&this.splitTile(Mt,0,0,0),wt&&(Mt.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)))}sr.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},sr.prototype.splitTile=function(ct,ut,wt,Mt,Lt,St,Ot){for(var Vt=[ct,ut,wt,Mt],Jt=this.options,$t=Jt.debug;Vt.length;){Mt=Vt.pop(),wt=Vt.pop(),ut=Vt.pop(),ct=Vt.pop();var ir=1<1&&console.time("creation"),je=this.tiles[Cr]=Ft(ct,ut,wt,Mt,Jt),this.tileCoords.push({z:ut,x:wt,y:Mt}),$t)){$t>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",ut,wt,Mt,je.numFeatures,je.numPoints,je.numSimplified),console.timeEnd("creation"));var We="z"+ut;this.stats[We]=(this.stats[We]||0)+1,this.total++}if(je.source=ct,Lt){if(ut===Jt.maxZoom||ut===Lt)continue;var It=1<1&&console.time("clipping");var kt=.5*Jt.buffer/Jt.extent,Yt=.5-kt,ar=.5+kt,lr=1+kt,rr,Nt,cr,vr,pr,dr;rr=Nt=cr=vr=null,pr=ze(ct,ir,wt-kt,wt+ar,0,je.minX,je.maxX,Jt),dr=ze(ct,ir,wt+Yt,wt+lr,0,je.minX,je.maxX,Jt),ct=null,pr&&(rr=ze(pr,ir,Mt-kt,Mt+ar,1,je.minY,je.maxY,Jt),Nt=ze(pr,ir,Mt+Yt,Mt+lr,1,je.minY,je.maxY,Jt),pr=null),dr&&(cr=ze(dr,ir,Mt-kt,Mt+ar,1,je.minY,je.maxY,Jt),vr=ze(dr,ir,Mt+Yt,Mt+lr,1,je.minY,je.maxY,Jt),dr=null),$t>1&&console.timeEnd("clipping"),Vt.push(rr||[],ut+1,wt*2,Mt*2),Vt.push(Nt||[],ut+1,wt*2,Mt*2+1),Vt.push(cr||[],ut+1,wt*2+1,Mt*2),Vt.push(vr||[],ut+1,wt*2+1,Mt*2+1)}}},sr.prototype.getTile=function(ct,ut,wt){var Mt=this.options,Lt=Mt.extent,St=Mt.debug;if(ct<0||ct>24)return null;var Ot=1<1&&console.log("drilling down to z%d-%d-%d",ct,ut,wt);for(var Jt=ct,$t=ut,ir=wt,Cr;!Cr&&Jt>0;)Jt--,$t=Math.floor($t/2),ir=Math.floor(ir/2),Cr=this.tiles[kr(Jt,$t,ir)];return!Cr||!Cr.source?null:(St>1&&console.log("found parent tile z%d-%d-%d",Jt,$t,ir),St>1&&console.time("drilling down"),this.splitTile(Cr.source,Jt,$t,ir,ct,ut,wt),St>1&&console.timeEnd("drilling down"),this.tiles[Vt]?ft(this.tiles[Vt],Lt):null)};function kr(ct,ut,wt){return((1<=0?0:ve.button},w.remove=function(ve){ve.parentNode&&ve.parentNode.removeChild(ve)};function i(ve,K,ge){var ie,ye,ke,Ye=a.browser.devicePixelRatio>1?"@2x":"",lt=a.getJSON(K.transformRequest(K.normalizeSpriteURL(ve,Ye,".json"),a.ResourceType.SpriteJSON),function(Kt,ur){lt=null,ke||(ke=Kt,ie=ur,Bt())}),bt=a.getImage(K.transformRequest(K.normalizeSpriteURL(ve,Ye,".png"),a.ResourceType.SpriteImage),function(Kt,ur){bt=null,ke||(ke=Kt,ye=ur,Bt())});function Bt(){if(ke)ge(ke);else if(ie&&ye){var Kt=a.browser.getImageData(ye),ur={};for(var yr in ie){var Dr=ie[yr],Gr=Dr.width,Wr=Dr.height,Vr=Dr.x,Qr=Dr.y,un=Dr.sdf,Cn=Dr.pixelRatio,zn=Dr.stretchX,Zn=Dr.stretchY,Kn=Dr.content,Xn=new a.RGBAImage({width:Gr,height:Wr});a.RGBAImage.copy(Kt,Xn,{x:Vr,y:Qr},{x:0,y:0},{width:Gr,height:Wr}),ur[yr]={data:Xn,pixelRatio:Cn,sdf:un,stretchX:zn,stretchY:Zn,content:Kn}}ge(null,ur)}}return{cancel:function(){lt&&(lt.cancel(),lt=null),bt&&(bt.cancel(),bt=null)}}}function g(ve){var K=ve.userImage;if(K&&K.render){var ge=K.render();if(ge)return ve.data.replace(new Uint8Array(K.data.buffer)),!0}return!1}var h=1,x=function(ve){function K(){ve.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.RGBAImage({width:1,height:1}),this.dirty=!0}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.isLoaded=function(){return this.loaded},K.prototype.setLoaded=function(ie){if(this.loaded!==ie&&(this.loaded=ie,ie)){for(var ye=0,ke=this.requestors;ye=0?1.2:1))}S.prototype.draw=function(ve){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(ve,this.buffer,this.middle);for(var K=this.ctx.getImageData(0,0,this.size,this.size),ge=new Uint8ClampedArray(this.size*this.size),ie=0;ie65535){Kt(new Error("glyphs > 65535 not supported"));return}if(Dr.ranges[Wr]){Kt(null,{stack:ur,id:yr,glyph:Gr});return}var Vr=Dr.requests[Wr];Vr||(Vr=Dr.requests[Wr]=[],M.loadGlyphRange(ur,Wr,ie.url,ie.requestManager,function(Qr,un){if(un){for(var Cn in un)ie._doesCharSupportLocalGlyph(+Cn)||(Dr.glyphs[+Cn]=un[+Cn]);Dr.ranges[Wr]=!0}for(var zn=0,Zn=Vr;zn1&&(Bt=K[++bt]);var ur=Math.abs(Kt-Bt.left),yr=Math.abs(Kt-Bt.right),Dr=Math.min(ur,yr),Gr=void 0,Wr=ke/ie*(ye+1);if(Bt.isDash){var Vr=ye-Math.abs(Wr);Gr=Math.sqrt(Dr*Dr+Vr*Vr)}else Gr=ye-Math.sqrt(Dr*Dr+Wr*Wr);this.data[lt+Kt]=Math.max(0,Math.min(255,Gr+128))}},D.prototype.addRegularDash=function(K){for(var ge=K.length-1;ge>=0;--ge){var ie=K[ge],ye=K[ge+1];ie.zeroLength?K.splice(ge,1):ye&&ye.isDash===ie.isDash&&(ye.left=ie.left,K.splice(ge,1))}var ke=K[0],Ye=K[K.length-1];ke.isDash===Ye.isDash&&(ke.left=Ye.left-this.width,Ye.right=ke.right+this.width);for(var lt=this.width*this.nextRow,bt=0,Bt=K[bt],Kt=0;Kt1&&(Bt=K[++bt]);var ur=Math.abs(Kt-Bt.left),yr=Math.abs(Kt-Bt.right),Dr=Math.min(ur,yr),Gr=Bt.isDash?Dr:-Dr;this.data[lt+Kt]=Math.max(0,Math.min(255,Gr+128))}},D.prototype.addDash=function(K,ge){var ie=ge?7:0,ye=2*ie+1;if(this.nextRow+ye>this.height)return a.warnOnce("LineAtlas out of space"),null;for(var ke=0,Ye=0;Ye=ie.minX&&K.x=ie.minY&&K.y0&&(Kt[new a.OverscaledTileID(ie.overscaledZ,lt,ye.z,Ye,ye.y-1).key]={backfilled:!1},Kt[new a.OverscaledTileID(ie.overscaledZ,ie.wrap,ye.z,ye.x,ye.y-1).key]={backfilled:!1},Kt[new a.OverscaledTileID(ie.overscaledZ,Bt,ye.z,bt,ye.y-1).key]={backfilled:!1}),ye.y+10&&(ke.resourceTiming=ie._resourceTiming,ie._resourceTiming=[]),ie.fire(new a.Event("data",ke))})},K.prototype.onAdd=function(ie){this.map=ie,this.load()},K.prototype.setData=function(ie){var ye=this;return this._data=ie,this.fire(new a.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(ke){if(ke){ye.fire(new a.ErrorEvent(ke));return}var Ye={dataType:"source",sourceDataType:"content"};ye._collectResourceTiming&&ye._resourceTiming&&ye._resourceTiming.length>0&&(Ye.resourceTiming=ye._resourceTiming,ye._resourceTiming=[]),ye.fire(new a.Event("data",Ye))}),this},K.prototype.getClusterExpansionZoom=function(ie,ye){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:ie,source:this.id},ye),this},K.prototype.getClusterChildren=function(ie,ye){return this.actor.send("geojson.getClusterChildren",{clusterId:ie,source:this.id},ye),this},K.prototype.getClusterLeaves=function(ie,ye,ke,Ye){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:ie,limit:ye,offset:ke},Ye),this},K.prototype._updateWorkerData=function(ie){var ye=this;this._loaded=!1;var ke=a.extend({},this.workerOptions),Ye=this._data;typeof Ye=="string"?(ke.request=this.map._requestManager.transformRequest(a.browser.resolveURL(Ye),a.ResourceType.Source),ke.request.collectResourceTiming=this._collectResourceTiming):ke.data=JSON.stringify(Ye),this.actor.send(this.type+".loadData",ke,function(lt,bt){ye._removed||bt&&bt.abandoned||(ye._loaded=!0,bt&&bt.resourceTiming&&bt.resourceTiming[ye.id]&&(ye._resourceTiming=bt.resourceTiming[ye.id].slice(0)),ye.actor.send(ye.type+".coalesce",{source:ke.source},null),ie(lt))})},K.prototype.loaded=function(){return this._loaded},K.prototype.loadTile=function(ie,ye){var ke=this,Ye=ie.actor?"reloadTile":"loadTile";ie.actor=this.actor;var lt={type:this.type,uid:ie.uid,tileID:ie.tileID,zoom:ie.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:a.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};ie.request=this.actor.send(Ye,lt,function(bt,Bt){return delete ie.request,ie.unloadVectorData(),ie.aborted?ye(null):bt?ye(bt):(ie.loadVectorData(Bt,ke.map.painter,Ye==="reloadTile"),ye(null))})},K.prototype.abortTile=function(ie){ie.request&&(ie.request.cancel(),delete ie.request),ie.aborted=!0},K.prototype.unloadTile=function(ie){ie.unloadVectorData(),this.actor.send("removeTile",{uid:ie.uid,type:this.type,source:this.id})},K.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},K.prototype.serialize=function(){return a.extend({},this._options,{type:this.type,data:this._data})},K.prototype.hasTransition=function(){return!1},K}(a.Evented),Z=a.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),ee=function(ve){function K(ge,ie,ye,ke){ve.call(this),this.id=ge,this.dispatcher=ye,this.coordinates=ie.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ke),this.options=ie}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.load=function(ie,ye){var ke=this;this._loaded=!1,this.fire(new a.Event("dataloading",{dataType:"source"})),this.url=this.options.url,a.getImage(this.map._requestManager.transformRequest(this.url,a.ResourceType.Image),function(Ye,lt){ke._loaded=!0,Ye?ke.fire(new a.ErrorEvent(Ye)):lt&&(ke.image=lt,ie&&(ke.coordinates=ie),ye&&ye(),ke._finishLoading())})},K.prototype.loaded=function(){return this._loaded},K.prototype.updateImage=function(ie){var ye=this;return!this.image||!ie.url?this:(this.options.url=ie.url,this.load(ie.coordinates,function(){ye.texture=null}),this)},K.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.Event("data",{dataType:"source",sourceDataType:"metadata"})))},K.prototype.onAdd=function(ie){this.map=ie,this.load()},K.prototype.setCoordinates=function(ie){var ye=this;this.coordinates=ie;var ke=ie.map(a.MercatorCoordinate.fromLngLat);this.tileID=Q(ke),this.minzoom=this.maxzoom=this.tileID.z;var Ye=ke.map(function(lt){return ye.tileID.getTilePoint(lt)._round()});return this._boundsArray=new a.StructArrayLayout4i8,this._boundsArray.emplaceBack(Ye[0].x,Ye[0].y,0,0),this._boundsArray.emplaceBack(Ye[1].x,Ye[1].y,a.EXTENT,0),this._boundsArray.emplaceBack(Ye[3].x,Ye[3].y,0,a.EXTENT),this._boundsArray.emplaceBack(Ye[2].x,Ye[2].y,a.EXTENT,a.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.Event("data",{dataType:"source",sourceDataType:"content"})),this},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var ie=this.map.painter.context,ye=ie.gl;this.boundsBuffer||(this.boundsBuffer=ie.createVertexBuffer(this._boundsArray,Z.members)),this.boundsSegments||(this.boundsSegments=a.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new a.Texture(ie,this.image,ye.RGBA),this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE));for(var ke in this.tiles){var Ye=this.tiles[ke];Ye.state!=="loaded"&&(Ye.state="loaded",Ye.texture=this.texture)}}},K.prototype.loadTile=function(ie,ye){this.tileID&&this.tileID.equals(ie.tileID.canonical)?(this.tiles[String(ie.tileID.wrap)]=ie,ie.buckets={},ye(null)):(ie.state="errored",ye(null))},K.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return!1},K}(a.Evented);function Q(ve){for(var K=1/0,ge=1/0,ie=-1/0,ye=-1/0,ke=0,Ye=ve;keye.end(0)?this.fire(new a.ErrorEvent(new a.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+ye.start(0)+" and "+ye.end(0)+"-second mark."))):this.video.currentTime=ie}},K.prototype.getVideo=function(){return this.video},K.prototype.onAdd=function(ie){this.map||(this.map=ie,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},K.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var ie=this.map.painter.context,ye=ie.gl;this.boundsBuffer||(this.boundsBuffer=ie.createVertexBuffer(this._boundsArray,Z.members)),this.boundsSegments||(this.boundsSegments=a.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE),ye.texSubImage2D(ye.TEXTURE_2D,0,0,0,ye.RGBA,ye.UNSIGNED_BYTE,this.video)):(this.texture=new a.Texture(ie,this.video,ye.RGBA),this.texture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE));for(var ke in this.tiles){var Ye=this.tiles[ke];Ye.state!=="loaded"&&(Ye.state="loaded",Ye.texture=this.texture)}}},K.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this.video&&!this.video.paused},K}(ee),fe=function(ve){function K(ge,ie,ye,ke){ve.call(this,ge,ie,ye,ke),ie.coordinates?(!Array.isArray(ie.coordinates)||ie.coordinates.length!==4||ie.coordinates.some(function(Ye){return!Array.isArray(Ye)||Ye.length!==2||Ye.some(function(lt){return typeof lt!="number"})}))&&this.fire(new a.ErrorEvent(new a.ValidationError("sources."+ge,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.ErrorEvent(new a.ValidationError("sources."+ge,null,'missing required property "coordinates"'))),ie.animate&&typeof ie.animate!="boolean"&&this.fire(new a.ErrorEvent(new a.ValidationError("sources."+ge,null,'optional "animate" property must be a boolean value'))),ie.canvas?typeof ie.canvas!="string"&&!(ie.canvas instanceof a.window.HTMLCanvasElement)&&this.fire(new a.ErrorEvent(new a.ValidationError("sources."+ge,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new a.ErrorEvent(new a.ValidationError("sources."+ge,null,'missing required property "canvas"'))),this.options=ie,this.animate=ie.animate!==void 0?ie.animate:!0}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof a.window.HTMLCanvasElement?this.options.canvas:a.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new a.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero.")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},K.prototype.getCanvas=function(){return this.canvas},K.prototype.onAdd=function(ie){this.map=ie,this.load(),this.canvas&&this.animate&&this.play()},K.prototype.onRemove=function(){this.pause()},K.prototype.prepare=function(){var ie=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,ie=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,ie=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var ye=this.map.painter.context,ke=ye.gl;this.boundsBuffer||(this.boundsBuffer=ye.createVertexBuffer(this._boundsArray,Z.members)),this.boundsSegments||(this.boundsSegments=a.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(ie||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new a.Texture(ye,this.canvas,ke.RGBA,{premultiply:!0});for(var Ye in this.tiles){var lt=this.tiles[Ye];lt.state!=="loaded"&&(lt.state="loaded",lt.texture=this.texture)}}},K.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},K.prototype.hasTransition=function(){return this._playing},K.prototype._hasInvalidDimensions=function(){for(var ie=0,ye=[this.canvas.width,this.canvas.height];iethis.max){var lt=this._getAndRemoveByKey(this.order[0]);lt&&this.onRemove(lt)}return this},xe.prototype.has=function(K){return K.wrapped().key in this.data},xe.prototype.getAndRemove=function(K){return this.has(K)?this._getAndRemoveByKey(K.wrapped().key):null},xe.prototype._getAndRemoveByKey=function(K){var ge=this.data[K].shift();return ge.timeout&&clearTimeout(ge.timeout),this.data[K].length===0&&delete this.data[K],this.order.splice(this.order.indexOf(K),1),ge.value},xe.prototype.getByKey=function(K){var ge=this.data[K];return ge?ge[0].value:null},xe.prototype.get=function(K){if(!this.has(K))return null;var ge=this.data[K.wrapped().key][0];return ge.value},xe.prototype.remove=function(K,ge){if(!this.has(K))return this;var ie=K.wrapped().key,ye=ge===void 0?0:this.data[ie].indexOf(ge),ke=this.data[ie][ye];return this.data[ie].splice(ye,1),ke.timeout&&clearTimeout(ke.timeout),this.data[ie].length===0&&delete this.data[ie],this.onRemove(ke.value),this.order.splice(this.order.indexOf(ie),1),this},xe.prototype.setMaxSize=function(K){for(this.max=K;this.order.length>this.max;){var ge=this._getAndRemoveByKey(this.order[0]);ge&&this.onRemove(ge)}return this},xe.prototype.filter=function(K){var ge=[];for(var ie in this.data)for(var ye=0,ke=this.data[ie];ye1||(Math.abs(ur)>1&&(Math.abs(ur+Dr)===1?ur+=Dr:Math.abs(ur-Dr)===1&&(ur-=Dr)),!(!Kt.dem||!Bt.dem)&&(Bt.dem.backfillBorder(Kt.dem,ur,yr),Bt.neighboringTiles&&Bt.neighboringTiles[Gr]&&(Bt.neighboringTiles[Gr].backfilled=!0)))}},K.prototype.getTile=function(ie){return this.getTileByID(ie.key)},K.prototype.getTileByID=function(ie){return this._tiles[ie]},K.prototype._retainLoadedChildren=function(ie,ye,ke,Ye){for(var lt in this._tiles){var bt=this._tiles[lt];if(!(Ye[lt]||!bt.hasData()||bt.tileID.overscaledZ<=ye||bt.tileID.overscaledZ>ke)){for(var Bt=bt.tileID;bt&&bt.tileID.overscaledZ>ye+1;){var Kt=bt.tileID.scaledTo(bt.tileID.overscaledZ-1);bt=this._tiles[Kt.key],bt&&bt.hasData()&&(Bt=Kt)}for(var ur=Bt;ur.overscaledZ>ye;)if(ur=ur.scaledTo(ur.overscaledZ-1),ie[ur.key]){Ye[Bt.key]=Bt;break}}}},K.prototype.findLoadedParent=function(ie,ye){if(ie.key in this._loadedParentTiles){var ke=this._loadedParentTiles[ie.key];return ke&&ke.tileID.overscaledZ>=ye?ke:null}for(var Ye=ie.overscaledZ-1;Ye>=ye;Ye--){var lt=ie.scaledTo(Ye),bt=this._getLoadedTile(lt);if(bt)return bt}},K.prototype._getLoadedTile=function(ie){var ye=this._tiles[ie.key];if(ye&&ye.hasData())return ye;var ke=this._cache.getByKey(ie.wrapped().key);return ke},K.prototype.updateCacheSize=function(ie){var ye=Math.ceil(ie.width/this._source.tileSize)+1,ke=Math.ceil(ie.height/this._source.tileSize)+1,Ye=ye*ke,lt=5,bt=Math.floor(Ye*lt),Bt=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,bt):bt;this._cache.setMaxSize(Bt)},K.prototype.handleWrapJump=function(ie){var ye=this._prevLng===void 0?ie:this._prevLng,ke=ie-ye,Ye=ke/360,lt=Math.round(Ye);if(this._prevLng=ie,lt){var bt={};for(var Bt in this._tiles){var Kt=this._tiles[Bt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+lt),bt[Kt.tileID.key]=Kt}this._tiles=bt;for(var ur in this._timers)clearTimeout(this._timers[ur]),delete this._timers[ur];for(var yr in this._tiles){var Dr=this._tiles[yr];this._setTileReloadTimer(yr,Dr)}}},K.prototype.update=function(ie){var ye=this;if(this.transform=ie,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(ie),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var ke;this.used?this._source.tileID?ke=ie.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(va){return new a.OverscaledTileID(va.canonical.z,va.wrap,va.canonical.z,va.canonical.x,va.canonical.y)}):(ke=ie.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(ke=ke.filter(function(va){return ye._source.hasTile(va)}))):ke=[];var Ye=ie.coveringZoomLevel(this._source),lt=Math.max(Ye-K.maxOverzooming,this._source.minzoom),bt=Math.max(Ye+K.maxUnderzooming,this._source.minzoom),Bt=this._updateRetainedTiles(ke,Ye);if(Jt(this._source.type)){for(var Kt={},ur={},yr=Object.keys(Bt),Dr=0,Gr=yr;Drthis._source.maxzoom){var un=Vr.children(this._source.maxzoom)[0],Cn=this.getTile(un);if(Cn&&Cn.hasData()){ke[un.key]=un;continue}}else{var zn=Vr.children(this._source.maxzoom);if(ke[zn[0].key]&&ke[zn[1].key]&&ke[zn[2].key]&&ke[zn[3].key])continue}for(var Zn=Qr.wasRequested(),Kn=Vr.overscaledZ-1;Kn>=lt;--Kn){var Xn=Vr.scaledTo(Kn);if(Ye[Xn.key]||(Ye[Xn.key]=!0,Qr=this.getTile(Xn),!Qr&&Zn&&(Qr=this._addTile(Xn)),Qr&&(ke[Xn.key]=Xn,Zn=Qr.wasRequested(),Qr.hasData())))break}}}return ke},K.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var ie in this._tiles){for(var ye=[],ke=void 0,Ye=this._tiles[ie].tileID;Ye.overscaledZ>0;){if(Ye.key in this._loadedParentTiles){ke=this._loadedParentTiles[Ye.key];break}ye.push(Ye.key);var lt=Ye.scaledTo(Ye.overscaledZ-1);if(ke=this._getLoadedTile(lt),ke)break;Ye=lt}for(var bt=0,Bt=ye;bt0)&&(ye.hasData()&&ye.state!=="reloading"?this._cache.add(ye.tileID,ye,ye.getExpiryTimeout()):(ye.aborted=!0,this._abortTile(ye),this._unloadTile(ye))))},K.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var ie in this._tiles)this._removeTile(ie);this._cache.reset()},K.prototype.tilesIn=function(ie,ye,ke){var Ye=this,lt=[],bt=this.transform;if(!bt)return lt;for(var Bt=ke?bt.getCameraQueryGeometry(ie):ie,Kt=ie.map(function(Kn){return bt.pointCoordinate(Kn)}),ur=Bt.map(function(Kn){return bt.pointCoordinate(Kn)}),yr=this.getIds(),Dr=1/0,Gr=1/0,Wr=-1/0,Vr=-1/0,Qr=0,un=ur;Qr=0&&xa[1].y+va>=0){var Ma=Kt.map(function($a){return oa.getTilePoint($a)}),Ua=ur.map(function($a){return oa.getTilePoint($a)});lt.push({tile:Xn,tileID:oa,queryGeometry:Ma,cameraQueryGeometry:Ua,scale:pa})}}},Zn=0;Zn=a.browser.now())return!0}return!1},K.prototype.setFeatureState=function(ie,ye,ke){ie=ie||"_geojsonTileLayer",this._state.updateState(ie,ye,ke)},K.prototype.removeFeatureState=function(ie,ye,ke){ie=ie||"_geojsonTileLayer",this._state.removeFeatureState(ie,ye,ke)},K.prototype.getFeatureState=function(ie,ye){return ie=ie||"_geojsonTileLayer",this._state.getState(ie,ye)},K.prototype.setDependencies=function(ie,ye,ke){var Ye=this._tiles[ie];Ye&&Ye.setDependencies(ye,ke)},K.prototype.reloadTilesForDependencies=function(ie,ye){for(var ke in this._tiles){var Ye=this._tiles[ke];Ye.hasDependency(ie,ye)&&this._reloadTile(ke,"reloading")}this._cache.filter(function(lt){return!lt.hasDependency(ie,ye)})},K}(a.Evented);Ot.maxOverzooming=10,Ot.maxUnderzooming=3;function Vt(ve,K){var ge=Math.abs(ve.wrap*2)-+(ve.wrap<0),ie=Math.abs(K.wrap*2)-+(K.wrap<0);return ve.overscaledZ-K.overscaledZ||ie-ge||K.canonical.y-ve.canonical.y||K.canonical.x-ve.canonical.x}function Jt(ve){return ve==="raster"||ve==="image"||ve==="video"}function $t(){return new a.window.Worker(d0.workerUrl)}var ir="mapboxgl_preloaded_worker_pool",Cr=function(){this.active={}};Cr.prototype.acquire=function(K){if(!this.workers)for(this.workers=[];this.workers.length0?(ye-Ye)/lt:0;return this.points[ke].mult(1-bt).add(this.points[ge].mult(bt))};var xr=function(K,ge,ie){var ye=this.boxCells=[],ke=this.circleCells=[];this.xCellCount=Math.ceil(K/ie),this.yCellCount=Math.ceil(ge/ie);for(var Ye=0;Yethis.width||ye<0||ge>this.height)return ke?!1:[];var lt=[];if(K<=0&&ge<=0&&this.width<=ie&&this.height<=ye){if(ke)return!0;for(var bt=0;bt0:lt}},xr.prototype._queryCircle=function(K,ge,ie,ye,ke){var Ye=K-ie,lt=K+ie,bt=ge-ie,Bt=ge+ie;if(lt<0||Ye>this.width||Bt<0||bt>this.height)return ye?!1:[];var Kt=[],ur={hitTest:ye,circle:{x:K,y:ge,radius:ie},seenUids:{box:{},circle:{}}};return this._forEachCell(Ye,bt,lt,Bt,this._queryCellCircle,Kt,ur,ke),ye?Kt.length>0:Kt},xr.prototype.query=function(K,ge,ie,ye,ke){return this._query(K,ge,ie,ye,!1,ke)},xr.prototype.hitTest=function(K,ge,ie,ye,ke){return this._query(K,ge,ie,ye,!0,ke)},xr.prototype.hitTestCircle=function(K,ge,ie,ye){return this._queryCircle(K,ge,ie,!0,ye)},xr.prototype._queryCell=function(K,ge,ie,ye,ke,Ye,lt,bt){var Bt=lt.seenUids,Kt=this.boxCells[ke];if(Kt!==null)for(var ur=this.bboxes,yr=0,Dr=Kt;yr=ur[Wr+0]&&ye>=ur[Wr+1]&&(!bt||bt(this.boxKeys[Gr]))){if(lt.hitTest)return Ye.push(!0),!0;Ye.push({key:this.boxKeys[Gr],x1:ur[Wr],y1:ur[Wr+1],x2:ur[Wr+2],y2:ur[Wr+3]})}}}var Vr=this.circleCells[ke];if(Vr!==null)for(var Qr=this.circles,un=0,Cn=Vr;unlt*lt+bt*bt},xr.prototype._circleAndRectCollide=function(K,ge,ie,ye,ke,Ye,lt){var bt=(Ye-ye)/2,Bt=Math.abs(K-(ye+bt));if(Bt>bt+ie)return!1;var Kt=(lt-ke)/2,ur=Math.abs(ge-(ke+Kt));if(ur>Kt+ie)return!1;if(Bt<=bt||ur<=Kt)return!0;var yr=Bt-bt,Dr=ur-Kt;return yr*yr+Dr*Dr<=ie*ie};function br(ve,K,ge,ie,ye){var ke=a.create();return K?(a.scale(ke,ke,[1/ye,1/ye,1]),ge||a.rotateZ(ke,ke,ie.angle)):a.multiply(ke,ie.labelPlaneMatrix,ve),ke}function Br(ve,K,ge,ie,ye){if(K){var ke=a.clone(ve);return a.scale(ke,ke,[ye,ye,1]),ge||a.rotateZ(ke,ke,-ie.angle),ke}else return ie.glCoordMatrix}function Nr(ve,K){var ge=[ve.x,ve.y,0,1];Sr(ge,ge,K);var ie=ge[3];return{point:new a.Point(ge[0]/ie,ge[1]/ie),signedDistanceFromCamera:ie}}function en(ve,K){return .5+.5*(ve/K)}function gn(ve,K){var ge=ve[0]/ve[3],ie=ve[1]/ve[3],ye=ge>=-K[0]&&ge<=K[0]&&ie>=-K[1]&&ie<=K[1];return ye}function hn(ve,K,ge,ie,ye,ke,Ye,lt){var bt=ie?ve.textSizeData:ve.iconSizeData,Bt=a.evaluateSizeForZoom(bt,ge.transform.zoom),Kt=[256/ge.width*2+1,256/ge.height*2+1],ur=ie?ve.text.dynamicLayoutVertexArray:ve.icon.dynamicLayoutVertexArray;ur.clear();for(var yr=ve.lineVertexArray,Dr=ie?ve.text.placedSymbolArray:ve.icon.placedSymbolArray,Gr=ge.transform.width/ge.transform.height,Wr=!1,Vr=0;Vrke)return{useVertical:!0}}return(ve===a.WritingMode.vertical?K.yge.x)?{needsFlipping:!0}:null}function Jn(ve,K,ge,ie,ye,ke,Ye,lt,bt,Bt,Kt,ur,yr,Dr){var Gr=K/24,Wr=ve.lineOffsetX*Gr,Vr=ve.lineOffsetY*Gr,Qr;if(ve.numGlyphs>1){var un=ve.glyphStartIndex+ve.numGlyphs,Cn=ve.lineStartIndex,zn=ve.lineStartIndex+ve.lineLength,Zn=Mn(Gr,lt,Wr,Vr,ge,Kt,ur,ve,bt,ke,yr);if(!Zn)return{notEnoughRoom:!0};var Kn=Nr(Zn.first.point,Ye).point,Xn=Nr(Zn.last.point,Ye).point;if(ie&&!ge){var oa=Rn(ve.writingMode,Kn,Xn,Dr);if(oa)return oa}Qr=[Zn.first];for(var pa=ve.glyphStartIndex+1;pa0?Ua.point:na(ur,Ma,va,1,ye),Ti=Rn(ve.writingMode,va,$a,Dr);if(Ti)return Ti}var qa=ha(Gr*lt.getoffsetX(ve.glyphStartIndex),Wr,Vr,ge,Kt,ur,ve.segment,ve.lineStartIndex,ve.lineStartIndex+ve.lineLength,bt,ke,yr);if(!qa)return{notEnoughRoom:!0};Qr=[qa]}for(var fi=0,ka=Qr;fi0?1:-1,Gr=0;ie&&(Dr*=-1,Gr=Math.PI),Dr<0&&(Gr+=Math.PI);for(var Wr=Dr>0?lt+Ye:lt+Ye+1,Vr=ye,Qr=ye,un=0,Cn=0,zn=Math.abs(yr),Zn=[];un+Cn<=zn;){if(Wr+=Dr,Wr=bt)return null;if(Qr=Vr,Zn.push(Vr),Vr=ur[Wr],Vr===void 0){var Kn=new a.Point(Bt.getx(Wr),Bt.gety(Wr)),Xn=Nr(Kn,Kt);if(Xn.signedDistanceFromCamera>0)Vr=ur[Wr]=Xn.point;else{var oa=Wr-Dr,pa=un===0?ke:new a.Point(Bt.getx(oa),Bt.gety(oa));Vr=na(pa,Kn,Qr,zn-un+1,Kt)}}un+=Cn,Cn=Qr.dist(Vr)}var va=(zn-un)/Cn,xa=Vr.sub(Qr),Ma=xa.mult(va)._add(Qr);Ma._add(xa._unit()._perp()._mult(ge*Dr));var Ua=Gr+Math.atan2(Vr.y-Qr.y,Vr.x-Qr.x);return Zn.push(Ma),{point:Ma,angle:Ua,path:Zn}}var ia=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function aa(ve,K){for(var ge=0;ge=1;Ai--)ka.push(qa.path[Ai]);for(var _i=1;_i0){for(var Ja=ka[0].clone(),vi=ka[0].clone(),uo=1;uo=Ua.x&&vi.x<=$a.x&&Ja.y>=Ua.y&&vi.y<=$a.y?Gi=[ka]:vi.x$a.x||vi.y$a.y?Gi=[]:Gi=a.clipLine([ka],Ua.x,Ua.y,$a.x,$a.y)}for(var Co=0,wl=Gi;Co=this.screenRightBoundary||yethis.screenBottomBoundary},an.prototype.isInsideGrid=function(K,ge,ie,ye){return ie>=0&&K=0&&ge0){var zn;return this.prevPlacement&&this.prevPlacement.variableOffsets[yr.crossTileID]&&this.prevPlacement.placements[yr.crossTileID]&&this.prevPlacement.placements[yr.crossTileID].text&&(zn=this.prevPlacement.variableOffsets[yr.crossTileID].anchor),this.variableOffsets[yr.crossTileID]={textOffset:Vr,width:ie,height:ye,anchor:K,textBoxScale:ke,prevAnchor:zn},this.markUsedJustification(Dr,K,yr,Gr),Dr.allowVerticalPlacement&&(this.markUsedOrientation(Dr,Gr,yr),this.placedOrientations[yr.crossTileID]=Gr),{shift:Qr,placedGlyphBoxes:un}}},Tr.prototype.placeLayerBucketPart=function(K,ge,ie){var ye=this,ke=K.parameters,Ye=ke.bucket,lt=ke.layout,bt=ke.posMatrix,Bt=ke.textLabelPlaneMatrix,Kt=ke.labelToScreenMatrix,ur=ke.textPixelRatio,yr=ke.holdingForFade,Dr=ke.collisionBoxArray,Gr=ke.partiallyEvaluatedTextSize,Wr=ke.collisionGroup,Vr=lt.get("text-optional"),Qr=lt.get("icon-optional"),un=lt.get("text-allow-overlap"),Cn=lt.get("icon-allow-overlap"),zn=lt.get("text-rotation-alignment")==="map",Zn=lt.get("text-pitch-alignment")==="map",Kn=lt.get("icon-text-fit")!=="none",Xn=lt.get("symbol-z-order")==="viewport-y",oa=un&&(Cn||!Ye.hasIconData()||Qr),pa=Cn&&(un||!Ye.hasTextData()||Vr);!Ye.collisionArrays&&Dr&&Ye.deserializeCollisionBoxes(Dr);var va=function(qa,fi){if(!ge[qa.crossTileID]){if(yr){ye.placements[qa.crossTileID]=new _n(!1,!1,!1);return}var ka=!1,Ai=!1,_i=!0,Ri=null,hi={box:null,offscreen:null},Gi={box:null,offscreen:null},Ja=null,vi=null,uo=null,Co=0,wl=0,Tl=0;fi.textFeatureIndex?Co=fi.textFeatureIndex:qa.useRuntimeCollisionCircles&&(Co=qa.featureIndex),fi.verticalTextFeatureIndex&&(wl=fi.verticalTextFeatureIndex);var du=fi.textBox;if(du){var vu=function(vo){var Ws=a.WritingMode.horizontal;if(Ye.allowVerticalPlacement&&!vo&&ye.prevPlacement){var js=ye.prevPlacement.placedOrientations[qa.crossTileID];js&&(ye.placedOrientations[qa.crossTileID]=js,Ws=js,ye.markUsedOrientation(Ye,Ws,qa))}return Ws},Yu=function(vo,Ws){if(Ye.allowVerticalPlacement&&qa.numVerticalGlyphVertices>0&&fi.verticalTextBox)for(var js=0,Hd=Ye.writingModes;js0&&(as=as.filter(function(vo){return vo!==sl.anchor}),as.unshift(sl.anchor))}var gu=function(vo,Ws,js){for(var Hd=vo.x2-vo.x1,$v=vo.y2-vo.y1,dy=qa.textBoxScale,vy=Kn&&!Cn?Ws:null,ld={box:[],offscreen:!1},py=un?as.length*2:as.length,Vd=0;Vd=as.length,Jv=ye.attemptAnchorPlacement(gy,vo,Hd,$v,dy,zn,Zn,ur,bt,Wr,yy,qa,Ye,js,vy);if(Jv&&(ld=Jv.placedGlyphBoxes,ld&&ld.box&&ld.box.length)){ka=!0,Ri=Jv.shift;break}}return ld},Wl=function(){return gu(du,fi.iconBox,a.WritingMode.horizontal)},yu=function(){var vo=fi.verticalTextBox,Ws=hi&&hi.box&&hi.box.length;return Ye.allowVerticalPlacement&&!Ws&&qa.numVerticalGlyphVertices>0&&vo?gu(vo,fi.verticalIconBox,a.WritingMode.vertical):{box:null,offscreen:null}};Yu(Wl,yu),hi&&(ka=hi.box,_i=hi.offscreen);var zd=vu(hi&&hi.box);if(!ka&&ye.prevPlacement){var gc=ye.prevPlacement.variableOffsets[qa.crossTileID];gc&&(ye.variableOffsets[qa.crossTileID]=gc,ye.markUsedJustification(Ye,gc.anchor,qa,zd))}}else{var pu=function(vo,Ws){var js=ye.collisionIndex.placeCollisionBox(vo,un,ur,bt,Wr.predicate);return js&&js.box&&js.box.length&&(ye.markUsedOrientation(Ye,Ws,qa),ye.placedOrientations[qa.crossTileID]=Ws),js},Es=function(){return pu(du,a.WritingMode.horizontal)},Pf=function(){var vo=fi.verticalTextBox;return Ye.allowVerticalPlacement&&qa.numVerticalGlyphVertices>0&&vo?pu(vo,a.WritingMode.vertical):{box:null,offscreen:null}};Yu(Es,Pf),vu(hi&&hi.box&&hi.box.length)}}if(Ja=hi,ka=Ja&&Ja.box&&Ja.box.length>0,_i=Ja&&Ja.offscreen,qa.useRuntimeCollisionCircles){var Jo=Ye.text.placedSymbolArray.get(qa.centerJustifiedTextSymbolIndex),od=a.evaluateSizeForFeature(Ye.textSizeData,Gr,Jo),cs=lt.get("text-padding"),sd=qa.collisionCircleDiameter;vi=ye.collisionIndex.placeCollisionCircles(un,Jo,Ye.lineVertexArray,Ye.glyphOffsetArray,od,bt,Bt,Kt,ie,Zn,Wr.predicate,sd,cs),ka=un||vi.circles.length>0&&!vi.collisionDetected,_i=_i&&vi.offscreen}if(fi.iconFeatureIndex&&(Tl=fi.iconFeatureIndex),fi.iconBox){var Bd=function(vo){var Ws=Kn&&Ri?Zt(vo,Ri.x,Ri.y,zn,Zn,ye.transform.angle):vo;return ye.collisionIndex.placeCollisionBox(Ws,Cn,ur,bt,Wr.predicate)};Gi&&Gi.box&&Gi.box.length&&fi.verticalIconBox?(uo=Bd(fi.verticalIconBox),Ai=uo.box.length>0):(uo=Bd(fi.iconBox),Ai=uo.box.length>0),_i=_i&&uo.offscreen}var Nd=Vr||qa.numHorizontalGlyphVertices===0&&qa.numVerticalGlyphVertices===0,v0=Qr||qa.numIconVertices===0;if(!Nd&&!v0?Ai=ka=Ai&&ka:v0?Nd||(Ai=Ai&&ka):ka=Ai&&ka,ka&&Ja&&Ja.box&&(Gi&&Gi.box&&wl?ye.collisionIndex.insertCollisionBox(Ja.box,lt.get("text-ignore-placement"),Ye.bucketInstanceId,wl,Wr.ID):ye.collisionIndex.insertCollisionBox(Ja.box,lt.get("text-ignore-placement"),Ye.bucketInstanceId,Co,Wr.ID)),Ai&&uo&&ye.collisionIndex.insertCollisionBox(uo.box,lt.get("icon-ignore-placement"),Ye.bucketInstanceId,Tl,Wr.ID),vi&&(ka&&ye.collisionIndex.insertCollisionCircles(vi.circles,lt.get("text-ignore-placement"),Ye.bucketInstanceId,Co,Wr.ID),ie)){var Ud=Ye.bucketInstanceId,sh=ye.collisionCircleArrays[Ud];sh===void 0&&(sh=ye.collisionCircleArrays[Ud]=new Gn);for(var lh=0;lh=0;--Ma){var Ua=xa[Ma];va(Ye.symbolInstances.get(Ua),Ye.collisionArrays[Ua])}else for(var $a=K.symbolInstanceStart;$a=0&&(Ye>=0&&Kt!==Ye?K.text.placedSymbolArray.get(Kt).crossTileID=0:K.text.placedSymbolArray.get(Kt).crossTileID=ie.crossTileID)}},Tr.prototype.markUsedOrientation=function(K,ge,ie){for(var ye=ge===a.WritingMode.horizontal||ge===a.WritingMode.horizontalOnly?ge:0,ke=ge===a.WritingMode.vertical?ge:0,Ye=[ie.leftJustifiedTextSymbolIndex,ie.centerJustifiedTextSymbolIndex,ie.rightJustifiedTextSymbolIndex],lt=0,bt=Ye;lt0||Zn>0,va=Cn.numIconVertices>0,xa=ye.placedOrientations[Cn.crossTileID],Ma=xa===a.WritingMode.vertical,Ua=xa===a.WritingMode.horizontal||xa===a.WritingMode.horizontalOnly;if(pa){var $a=Fr(oa.text),Ti=Ma?pn:$a;Gr(K.text,zn,Ti);var qa=Ua?pn:$a;Gr(K.text,Zn,qa);var fi=oa.text.isHidden();[Cn.rightJustifiedTextSymbolIndex,Cn.centerJustifiedTextSymbolIndex,Cn.leftJustifiedTextSymbolIndex].forEach(function(Tl){Tl>=0&&(K.text.placedSymbolArray.get(Tl).hidden=fi||Ma?1:0)}),Cn.verticalPlacedTextSymbolIndex>=0&&(K.text.placedSymbolArray.get(Cn.verticalPlacedTextSymbolIndex).hidden=fi||Ua?1:0);var ka=ye.variableOffsets[Cn.crossTileID];ka&&ye.markUsedJustification(K,ka.anchor,Cn,xa);var Ai=ye.placedOrientations[Cn.crossTileID];Ai&&(ye.markUsedJustification(K,"left",Cn,Ai),ye.markUsedOrientation(K,Ai,Cn))}if(va){var _i=Fr(oa.icon),Ri=!(yr&&Cn.verticalPlacedIconSymbolIndex&&Ma);if(Cn.placedIconSymbolIndex>=0){var hi=Ri?_i:pn;Gr(K.icon,Cn.numIconVertices,hi),K.icon.placedSymbolArray.get(Cn.placedIconSymbolIndex).hidden=oa.icon.isHidden()}if(Cn.verticalPlacedIconSymbolIndex>=0){var Gi=Ri?pn:_i;Gr(K.icon,Cn.numVerticalIconVertices,Gi),K.icon.placedSymbolArray.get(Cn.verticalPlacedIconSymbolIndex).hidden=oa.icon.isHidden()}}if(K.hasIconCollisionBoxData()||K.hasTextCollisionBoxData()){var Ja=K.collisionArrays[un];if(Ja){var vi=new a.Point(0,0);if(Ja.textBox||Ja.verticalTextBox){var uo=!0;if(Bt){var Co=ye.variableOffsets[Kn];Co?(vi=ii(Co.anchor,Co.width,Co.height,Co.textOffset,Co.textBoxScale),Kt&&vi._rotate(ur?ye.transform.angle:-ye.transform.angle)):uo=!1}Ja.textBox&&on(K.textCollisionBox.collisionVertexArray,oa.text.placed,!uo||Ma,vi.x,vi.y),Ja.verticalTextBox&&on(K.textCollisionBox.collisionVertexArray,oa.text.placed,!uo||Ua,vi.x,vi.y)}var wl=!!(!Ua&&Ja.verticalIconBox);Ja.iconBox&&on(K.iconCollisionBox.collisionVertexArray,oa.icon.placed,wl,yr?vi.x:0,yr?vi.y:0),Ja.verticalIconBox&&on(K.iconCollisionBox.collisionVertexArray,oa.icon.placed,!wl,yr?vi.x:0,yr?vi.y:0)}}},Vr=0;VrK},Tr.prototype.setStale=function(){this.stale=!0};function on(ve,K,ge,ie,ye){ve.emplaceBack(K?1:0,ge?1:0,ie||0,ye||0),ve.emplaceBack(K?1:0,ge?1:0,ie||0,ye||0),ve.emplaceBack(K?1:0,ge?1:0,ie||0,ye||0),ve.emplaceBack(K?1:0,ge?1:0,ie||0,ye||0)}var dn=Math.pow(2,25),vn=Math.pow(2,24),Pn=Math.pow(2,17),An=Math.pow(2,16),cn=Math.pow(2,9),Rr=Math.pow(2,8),Lr=Math.pow(2,1);function Fr(ve){if(ve.opacity===0&&!ve.placed)return 0;if(ve.opacity===1&&ve.placed)return 4294967295;var K=ve.placed?1:0,ge=Math.floor(ve.opacity*127);return ge*dn+K*vn+ge*Pn+K*An+ge*cn+K*Rr+ge*Lr+K}var pn=0,On=function(K){this._sortAcrossTiles=K.layout.get("symbol-z-order")!=="viewport-y"&&K.layout.get("symbol-sort-key").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};On.prototype.continuePlacement=function(K,ge,ie,ye,ke){for(var Ye=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var lt=K[this._currentPlacementIndex],bt=ge[lt],Bt=this.placement.collisionIndex.transform.zoom;if(bt.type==="symbol"&&(!bt.minzoom||bt.minzoom<=Bt)&&(!bt.maxzoom||bt.maxzoom>Bt)){this._inProgressLayer||(this._inProgressLayer=new On(bt));var Kt=this._inProgressLayer.continuePlacement(ie[bt.source],this.placement,this._showCollisionBoxes,bt,Ye);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Yn.prototype.commit=function(K){return this.placement.commit(K),this.placement};var xn=512/a.EXTENT/2,Bn=function(K,ge,ie){this.tileID=K,this.indexedSymbolInstances={},this.bucketInstanceId=ie;for(var ye=0;yeK.overscaledZ)for(var Bt in bt){var Kt=bt[Bt];Kt.tileID.isChildOf(K)&&Kt.findMatches(ge.symbolInstances,K,Ye)}else{var ur=K.scaledTo(Number(lt)),yr=bt[ur.key];yr&&yr.findMatches(ge.symbolInstances,K,Ye)}}for(var Dr=0;Dr0)throw new Error("Unimplemented: "+Ye.map(function(lt){return lt.command}).join(", ")+".");return ke.forEach(function(lt){lt.command!=="setTransition"&&ye[lt.command].apply(ye,lt.args)}),this.stylesheet=ie,!0},K.prototype.addImage=function(ie,ye){if(this.getImage(ie))return this.fire(new a.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(ie,ye),this._availableImages=this.imageManager.listImages(),this._changedImages[ie]=!0,this._changed=!0,this.fire(new a.Event("data",{dataType:"style"}))},K.prototype.updateImage=function(ie,ye){this.imageManager.updateImage(ie,ye)},K.prototype.getImage=function(ie){return this.imageManager.getImage(ie)},K.prototype.removeImage=function(ie){if(!this.getImage(ie))return this.fire(new a.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(ie),this._availableImages=this.imageManager.listImages(),this._changedImages[ie]=!0,this._changed=!0,this.fire(new a.Event("data",{dataType:"style"}))},K.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},K.prototype.addSource=function(ie,ye,ke){var Ye=this;if(ke===void 0&&(ke={}),this._checkLoaded(),this.sourceCaches[ie]!==void 0)throw new Error("There is already a source with this ID");if(!ye.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(ye).join(", ")+".");var lt=["vector","raster","geojson","video","image"],bt=lt.indexOf(ye.type)>=0;if(!(bt&&this._validate(a.validateStyle.source,"sources."+ie,ye,null,ke))){this.map&&this.map._collectResourceTiming&&(ye.collectResourceTiming=!0);var Bt=this.sourceCaches[ie]=new Ot(ie,ye,this.dispatcher);Bt.style=this,Bt.setEventedParent(this,function(){return{isSourceLoaded:Ye.loaded(),source:Bt.serialize(),sourceId:ie}}),Bt.onAdd(this.map),this._changed=!0}},K.prototype.removeSource=function(ie){if(this._checkLoaded(),this.sourceCaches[ie]===void 0)throw new Error("There is no source with this ID");for(var ye in this._layers)if(this._layers[ye].source===ie)return this.fire(new a.ErrorEvent(new Error('Source "'+ie+'" cannot be removed while layer "'+ye+'" is using it.')));var ke=this.sourceCaches[ie];delete this.sourceCaches[ie],delete this._updatedSources[ie],ke.fire(new a.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:ie})),ke.setEventedParent(null),ke.clearTiles(),ke.onRemove&&ke.onRemove(this.map),this._changed=!0},K.prototype.setGeoJSONSourceData=function(ie,ye){this._checkLoaded();var ke=this.sourceCaches[ie].getSource();ke.setData(ye),this._changed=!0},K.prototype.getSource=function(ie){return this.sourceCaches[ie]&&this.sourceCaches[ie].getSource()},K.prototype.addLayer=function(ie,ye,ke){ke===void 0&&(ke={}),this._checkLoaded();var Ye=ie.id;if(this.getLayer(Ye)){this.fire(new a.ErrorEvent(new Error('Layer with id "'+Ye+'" already exists on this map')));return}var lt;if(ie.type==="custom"){if(ca(this,a.validateCustomStyleLayer(ie)))return;lt=a.createStyleLayer(ie)}else{if(typeof ie.source=="object"&&(this.addSource(Ye,ie.source),ie=a.clone$1(ie),ie=a.extend(ie,{source:Ye})),this._validate(a.validateStyle.layer,"layers."+Ye,ie,{arrayIndex:-1},ke))return;lt=a.createStyleLayer(ie),this._validateLayer(lt),lt.setEventedParent(this,{layer:{id:Ye}}),this._serializedLayers[lt.id]=lt.serialize()}var bt=ye?this._order.indexOf(ye):this._order.length;if(ye&&bt===-1){this.fire(new a.ErrorEvent(new Error('Layer with id "'+ye+'" does not exist on this map.')));return}if(this._order.splice(bt,0,Ye),this._layerOrderChanged=!0,this._layers[Ye]=lt,this._removedLayers[Ye]&<.source&<.type!=="custom"){var Bt=this._removedLayers[Ye];delete this._removedLayers[Ye],Bt.type!==lt.type?this._updatedSources[lt.source]="clear":(this._updatedSources[lt.source]="reload",this.sourceCaches[lt.source].pause())}this._updateLayer(lt),lt.onAdd&<.onAdd(this.map)},K.prototype.moveLayer=function(ie,ye){this._checkLoaded(),this._changed=!0;var ke=this._layers[ie];if(!ke){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot be moved.")));return}if(ie!==ye){var Ye=this._order.indexOf(ie);this._order.splice(Ye,1);var lt=ye?this._order.indexOf(ye):this._order.length;if(ye&<===-1){this.fire(new a.ErrorEvent(new Error('Layer with id "'+ye+'" does not exist on this map.')));return}this._order.splice(lt,0,ie),this._layerOrderChanged=!0}},K.prototype.removeLayer=function(ie){this._checkLoaded();var ye=this._layers[ie];if(!ye){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot be removed.")));return}ye.setEventedParent(null);var ke=this._order.indexOf(ie);this._order.splice(ke,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[ie]=ye,delete this._layers[ie],delete this._serializedLayers[ie],delete this._updatedLayers[ie],delete this._updatedPaintProps[ie],ye.onRemove&&ye.onRemove(this.map)},K.prototype.getLayer=function(ie){return this._layers[ie]},K.prototype.hasLayer=function(ie){return ie in this._layers},K.prototype.setLayerZoomRange=function(ie,ye,ke){this._checkLoaded();var Ye=this.getLayer(ie);if(!Ye){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot have zoom extent.")));return}Ye.minzoom===ye&&Ye.maxzoom===ke||(ye!=null&&(Ye.minzoom=ye),ke!=null&&(Ye.maxzoom=ke),this._updateLayer(Ye))},K.prototype.setFilter=function(ie,ye,ke){ke===void 0&&(ke={}),this._checkLoaded();var Ye=this.getLayer(ie);if(!Ye){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot be filtered.")));return}if(!a.deepEqual(Ye.filter,ye)){if(ye==null){Ye.filter=void 0,this._updateLayer(Ye);return}this._validate(a.validateStyle.filter,"layers."+Ye.id+".filter",ye,null,ke)||(Ye.filter=a.clone$1(ye),this._updateLayer(Ye))}},K.prototype.getFilter=function(ie){return a.clone$1(this.getLayer(ie).filter)},K.prototype.setLayoutProperty=function(ie,ye,ke,Ye){Ye===void 0&&(Ye={}),this._checkLoaded();var lt=this.getLayer(ie);if(!lt){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot be styled.")));return}a.deepEqual(lt.getLayoutProperty(ye),ke)||(lt.setLayoutProperty(ye,ke,Ye),this._updateLayer(lt))},K.prototype.getLayoutProperty=function(ie,ye){var ke=this.getLayer(ie);if(!ke){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style.")));return}return ke.getLayoutProperty(ye)},K.prototype.setPaintProperty=function(ie,ye,ke,Ye){Ye===void 0&&(Ye={}),this._checkLoaded();var lt=this.getLayer(ie);if(!lt){this.fire(new a.ErrorEvent(new Error("The layer '"+ie+"' does not exist in the map's style and cannot be styled.")));return}if(!a.deepEqual(lt.getPaintProperty(ye),ke)){var bt=lt.setPaintProperty(ye,ke,Ye);bt&&this._updateLayer(lt),this._changed=!0,this._updatedPaintProps[ie]=!0}},K.prototype.getPaintProperty=function(ie,ye){return this.getLayer(ie).getPaintProperty(ye)},K.prototype.setFeatureState=function(ie,ye){this._checkLoaded();var ke=ie.source,Ye=ie.sourceLayer,lt=this.sourceCaches[ke];if(lt===void 0){this.fire(new a.ErrorEvent(new Error("The source '"+ke+"' does not exist in the map's style.")));return}var bt=lt.getSource().type;if(bt==="geojson"&&Ye){this.fire(new a.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));return}if(bt==="vector"&&!Ye){this.fire(new a.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}ie.id===void 0&&this.fire(new a.ErrorEvent(new Error("The feature id parameter must be provided."))),lt.setFeatureState(Ye,ie.id,ye)},K.prototype.removeFeatureState=function(ie,ye){this._checkLoaded();var ke=ie.source,Ye=this.sourceCaches[ke];if(Ye===void 0){this.fire(new a.ErrorEvent(new Error("The source '"+ke+"' does not exist in the map's style.")));return}var lt=Ye.getSource().type,bt=lt==="vector"?ie.sourceLayer:void 0;if(lt==="vector"&&!bt){this.fire(new a.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}if(ye&&typeof ie.id!="string"&&typeof ie.id!="number"){this.fire(new a.ErrorEvent(new Error("A feature id is requred to remove its specific state property.")));return}Ye.removeFeatureState(bt,ie.id,ye)},K.prototype.getFeatureState=function(ie){this._checkLoaded();var ye=ie.source,ke=ie.sourceLayer,Ye=this.sourceCaches[ye];if(Ye===void 0){this.fire(new a.ErrorEvent(new Error("The source '"+ye+"' does not exist in the map's style.")));return}var lt=Ye.getSource().type;if(lt==="vector"&&!ke){this.fire(new a.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));return}return ie.id===void 0&&this.fire(new a.ErrorEvent(new Error("The feature id parameter must be provided."))),Ye.getFeatureState(ke,ie.id)},K.prototype.getTransition=function(){return a.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},K.prototype.serialize=function(){return a.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:a.mapObject(this.sourceCaches,function(ie){return ie.serialize()}),layers:this._serializeLayers(this._order)},function(ie){return ie!==void 0})},K.prototype._updateLayer=function(ie){this._updatedLayers[ie.id]=!0,ie.source&&!this._updatedSources[ie.source]&&this.sourceCaches[ie.source].getSource().type!=="raster"&&(this._updatedSources[ie.source]="reload",this.sourceCaches[ie.source].pause()),this._changed=!0},K.prototype._flattenAndSortRenderedFeatures=function(ie){for(var ye=this,ke=function(Ua){return ye._layers[Ua].type==="fill-extrusion"},Ye={},lt=[],bt=this._order.length-1;bt>=0;bt--){var Bt=this._order[bt];if(ke(Bt)){Ye[Bt]=bt;for(var Kt=0,ur=ie;Kt=0;un--){var Cn=this._order[un];if(ke(Cn))for(var zn=lt.length-1;zn>=0;zn--){var Zn=lt[zn].feature;if(Ye[Zn.layer.id] 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`,Nh=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Uh=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`,Kf=`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Hh="uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}",Vh=`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Uc="uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}",Gh=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Wh=` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,$f=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Il=` +#define MAX_LINE_DISTANCE 32767.0 +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,Dl=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,ru=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`,uf=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,jh=` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`,qs=`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Hc="uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}",Jf=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,Yh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}`,ls=`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,kl=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Ru=`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,nu=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,Bs=ki(Uo,jf),el=ki(gi,Cu),Qf=ki(tu,wo),au=ki(Zo,Bc),cl=ki(Lu,Ji),ro=ki(_u,es),qf=ki(ho,ts),ff=ki(ko,ss),iu=ki(Fs,Js),Vc=ki(Mo,Nc),Gc=ki(Os,So),ou=ki(Yf,Qs),su=ki(zs,Zf),To=ki(Xf,zh),cf=ki(Pu,Bh),Zh=ki(Nh,Uh),ec=ki(Kf,Hh),Xh=ki(Vh,Uc),hf=ki(Gh,Wh),Iu=ki($f,Il),tc=ki(Dl,ru),rc=ki(uf,jh),Du=ki(qs,Hc),nc=ki(Jf,Yh),df=ki(ls,kl),ac=ki(Ru,nu);function ki(ve,K){var ge=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,ie={};return ve=ve.replace(ge,function(ye,ke,Ye,lt,bt){return ie[bt]=!0,ke==="define"?` +#ifndef HAS_UNIFORM_u_`+bt+` +varying `+Ye+" "+lt+" "+bt+`; +#else +uniform `+Ye+" "+lt+" u_"+bt+`; +#endif +`:` +#ifdef HAS_UNIFORM_u_`+bt+` + `+Ye+" "+lt+" "+bt+" = u_"+bt+`; +#endif +`}),K=K.replace(ge,function(ye,ke,Ye,lt,bt){var Bt=lt==="float"?"vec2":"vec4",Kt=bt.match(/color/)?"color":Bt;return ie[bt]?ke==="define"?` +#ifndef HAS_UNIFORM_u_`+bt+` +uniform lowp float u_`+bt+`_t; +attribute `+Ye+" "+Bt+" a_"+bt+`; +varying `+Ye+" "+lt+" "+bt+`; +#else +uniform `+Ye+" "+lt+" u_"+bt+`; +#endif +`:Kt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+bt+` + `+bt+" = a_"+bt+`; +#else + `+Ye+" "+lt+" "+bt+" = u_"+bt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+bt+` + `+bt+" = unpack_mix_"+Kt+"(a_"+bt+", u_"+bt+`_t); +#else + `+Ye+" "+lt+" "+bt+" = u_"+bt+`; +#endif +`:ke==="define"?` +#ifndef HAS_UNIFORM_u_`+bt+` +uniform lowp float u_`+bt+`_t; +attribute `+Ye+" "+Bt+" a_"+bt+`; +#else +uniform `+Ye+" "+lt+" u_"+bt+`; +#endif +`:Kt==="vec4"?` +#ifndef HAS_UNIFORM_u_`+bt+` + `+Ye+" "+lt+" "+bt+" = a_"+bt+`; +#else + `+Ye+" "+lt+" "+bt+" = u_"+bt+`; +#endif +`:` +#ifndef HAS_UNIFORM_u_`+bt+` + `+Ye+" "+lt+" "+bt+" = unpack_mix_"+Kt+"(a_"+bt+", u_"+bt+`_t); +#else + `+Ye+" "+lt+" "+bt+" = u_"+bt+`; +#endif +`}),{fragmentSource:ve,vertexSource:K}}var Wc=Object.freeze({__proto__:null,prelude:Bs,background:el,backgroundPattern:Qf,circle:au,clippingMask:cl,heatmap:ro,heatmapTexture:qf,collisionBox:ff,collisionCircle:iu,debug:Vc,fill:Gc,fillOutline:ou,fillOutlinePattern:su,fillPattern:To,fillExtrusion:cf,fillExtrusionPattern:Zh,hillshadePrepare:ec,hillshade:Xh,line:hf,lineGradient:Iu,linePattern:tc,lineSDF:rc,raster:Du,symbolIcon:nc,symbolSDF:df,symbolTextAndIcon:ac}),ws=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};ws.prototype.bind=function(K,ge,ie,ye,ke,Ye,lt,bt){this.context=K;for(var Bt=this.boundPaintVertexBuffers.length!==ye.length,Kt=0;!Bt&&Kt>16,lt>>16],u_pixel_coord_lower:[Ye&65535,lt&65535]}}function ic(ve,K,ge,ie){var ye=ge.imageManager.getPattern(ve.from.toString()),ke=ge.imageManager.getPattern(ve.to.toString()),Ye=ge.imageManager.getPixelSize(),lt=Ye.width,bt=Ye.height,Bt=Math.pow(2,ie.tileID.overscaledZ),Kt=ie.tileSize*Math.pow(2,ge.transform.tileZoom)/Bt,ur=Kt*(ie.tileID.canonical.x+ie.tileID.wrap*Bt),yr=Kt*ie.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:ye.tl,u_pattern_br_a:ye.br,u_pattern_tl_b:ke.tl,u_pattern_br_b:ke.br,u_texsize:[lt,bt],u_mix:K.t,u_pattern_size_a:ye.displaySize,u_pattern_size_b:ke.displaySize,u_scale_a:K.fromScale,u_scale_b:K.toScale,u_tile_units_to_pixels:1/yn(ie,1,ge.transform.tileZoom),u_pixel_coord_upper:[ur>>16,yr>>16],u_pixel_coord_lower:[ur&65535,yr&65535]}}var io=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_lightpos:new a.Uniform3f(ve,K.u_lightpos),u_lightintensity:new a.Uniform1f(ve,K.u_lightintensity),u_lightcolor:new a.Uniform3f(ve,K.u_lightcolor),u_vertical_gradient:new a.Uniform1f(ve,K.u_vertical_gradient),u_opacity:new a.Uniform1f(ve,K.u_opacity)}},ku=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_lightpos:new a.Uniform3f(ve,K.u_lightpos),u_lightintensity:new a.Uniform1f(ve,K.u_lightintensity),u_lightcolor:new a.Uniform3f(ve,K.u_lightcolor),u_vertical_gradient:new a.Uniform1f(ve,K.u_vertical_gradient),u_height_factor:new a.Uniform1f(ve,K.u_height_factor),u_image:new a.Uniform1i(ve,K.u_image),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new a.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new a.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new a.Uniform3f(ve,K.u_scale),u_fade:new a.Uniform1f(ve,K.u_fade),u_opacity:new a.Uniform1f(ve,K.u_opacity)}},Xo=function(ve,K,ge,ie){var ye=K.style.light,ke=ye.properties.get("position"),Ye=[ke.x,ke.y,ke.z],lt=a.create$1();ye.properties.get("anchor")==="viewport"&&a.fromRotation(lt,-K.transform.angle),a.transformMat3(Ye,Ye,lt);var bt=ye.properties.get("color");return{u_matrix:ve,u_lightpos:Ye,u_lightintensity:ye.properties.get("intensity"),u_lightcolor:[bt.r,bt.g,bt.b],u_vertical_gradient:+ge,u_opacity:ie}},tl=function(ve,K,ge,ie,ye,ke,Ye){return a.extend(Xo(ve,K,ge,ie),Fl(ke,K,Ye),{u_height_factor:-Math.pow(2,ye.overscaledZ)/Ye.tileSize/8})},rl=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix)}},hl=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_image:new a.Uniform1i(ve,K.u_image),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new a.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new a.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new a.Uniform3f(ve,K.u_scale),u_fade:new a.Uniform1f(ve,K.u_fade)}},dl=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_world:new a.Uniform2f(ve,K.u_world)}},vl=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_world:new a.Uniform2f(ve,K.u_world),u_image:new a.Uniform1i(ve,K.u_image),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_pixel_coord_upper:new a.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new a.Uniform2f(ve,K.u_pixel_coord_lower),u_scale:new a.Uniform3f(ve,K.u_scale),u_fade:new a.Uniform1f(ve,K.u_fade)}},Ts=function(ve){return{u_matrix:ve}},Ns=function(ve,K,ge,ie){return a.extend(Ts(ve),Fl(ge,K,ie))},Fu=function(ve,K){return{u_matrix:ve,u_world:K}},Ou=function(ve,K,ge,ie,ye){return a.extend(Ns(ve,K,ge,ie),{u_world:ye})},vf=function(ve,K){return{u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_scale_with_map:new a.Uniform1i(ve,K.u_scale_with_map),u_pitch_with_map:new a.Uniform1i(ve,K.u_pitch_with_map),u_extrude_scale:new a.Uniform2f(ve,K.u_extrude_scale),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix)}},Kh=function(ve,K,ge,ie){var ye=ve.transform,ke,Ye;if(ie.paint.get("circle-pitch-alignment")==="map"){var lt=yn(ge,1,ye.zoom);ke=!0,Ye=[lt,lt]}else ke=!1,Ye=ye.pixelsToGLUnits;return{u_camera_to_center_distance:ye.cameraToCenterDistance,u_scale_with_map:+(ie.paint.get("circle-pitch-scale")==="map"),u_matrix:ve.translatePosMatrix(K.posMatrix,ge,ie.paint.get("circle-translate"),ie.paint.get("circle-translate-anchor")),u_pitch_with_map:+ke,u_device_pixel_ratio:a.browser.devicePixelRatio,u_extrude_scale:Ye}},$h=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_pixels_to_tile_units:new a.Uniform1f(ve,K.u_pixels_to_tile_units),u_extrude_scale:new a.Uniform2f(ve,K.u_extrude_scale),u_overscale_factor:new a.Uniform1f(ve,K.u_overscale_factor)}},Jh=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_inv_matrix:new a.UniformMatrix4f(ve,K.u_inv_matrix),u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_viewport_size:new a.Uniform2f(ve,K.u_viewport_size)}},Qh=function(ve,K,ge){var ie=yn(ge,1,K.zoom),ye=Math.pow(2,K.zoom-ge.tileID.overscaledZ),ke=ge.tileID.overscaleFactor();return{u_matrix:ve,u_camera_to_center_distance:K.cameraToCenterDistance,u_pixels_to_tile_units:ie,u_extrude_scale:[K.pixelsToGLUnits[0]/(ie*ye),K.pixelsToGLUnits[1]/(ie*ye)],u_overscale_factor:ke}},pf=function(ve,K,ge){return{u_matrix:ve,u_inv_matrix:K,u_camera_to_center_distance:ge.cameraToCenterDistance,u_viewport_size:[ge.width,ge.height]}},jc=function(ve,K){return{u_color:new a.UniformColor(ve,K.u_color),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_overlay:new a.Uniform1i(ve,K.u_overlay),u_overlay_scale:new a.Uniform1f(ve,K.u_overlay_scale)}},uu=function(ve,K,ge){return ge===void 0&&(ge=1),{u_matrix:ve,u_color:K,u_overlay:0,u_overlay_scale:ge}},Eo=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix)}},Ko=function(ve){return{u_matrix:ve}},zu=function(ve,K){return{u_extrude_scale:new a.Uniform1f(ve,K.u_extrude_scale),u_intensity:new a.Uniform1f(ve,K.u_intensity),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix)}},Ol=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_world:new a.Uniform2f(ve,K.u_world),u_image:new a.Uniform1i(ve,K.u_image),u_color_ramp:new a.Uniform1i(ve,K.u_color_ramp),u_opacity:new a.Uniform1f(ve,K.u_opacity)}},Bu=function(ve,K,ge,ie){return{u_matrix:ve,u_extrude_scale:yn(K,1,ge),u_intensity:ie}},gf=function(ve,K,ge,ie){var ye=a.create();a.ortho(ye,0,ve.width,ve.height,0,0,1);var ke=ve.context.gl;return{u_matrix:ye,u_world:[ke.drawingBufferWidth,ke.drawingBufferHeight],u_image:ge,u_color_ramp:ie,u_opacity:K.paint.get("heatmap-opacity")}},qh=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_image:new a.Uniform1i(ve,K.u_image),u_latrange:new a.Uniform2f(ve,K.u_latrange),u_light:new a.Uniform2f(ve,K.u_light),u_shadow:new a.UniformColor(ve,K.u_shadow),u_highlight:new a.UniformColor(ve,K.u_highlight),u_accent:new a.UniformColor(ve,K.u_accent)}},Yc=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_image:new a.Uniform1i(ve,K.u_image),u_dimension:new a.Uniform2f(ve,K.u_dimension),u_zoom:new a.Uniform1f(ve,K.u_zoom),u_maxzoom:new a.Uniform1f(ve,K.u_maxzoom),u_unpack:new a.Uniform4f(ve,K.u_unpack)}},Zc=function(ve,K,ge){var ie=ge.paint.get("hillshade-shadow-color"),ye=ge.paint.get("hillshade-highlight-color"),ke=ge.paint.get("hillshade-accent-color"),Ye=ge.paint.get("hillshade-illumination-direction")*(Math.PI/180);ge.paint.get("hillshade-illumination-anchor")==="viewport"&&(Ye-=ve.transform.angle);var lt=!ve.options.moving;return{u_matrix:ve.transform.calculatePosMatrix(K.tileID.toUnwrapped(),lt),u_image:0,u_latrange:pl(ve,K.tileID),u_light:[ge.paint.get("hillshade-exaggeration"),Ye],u_shadow:ie,u_highlight:ye,u_accent:ke}},oc=function(ve,K,ge){var ie=K.stride,ye=a.create();return a.ortho(ye,0,a.EXTENT,-a.EXTENT,0,0,1),a.translate(ye,ye,[0,-a.EXTENT,0]),{u_matrix:ye,u_image:1,u_dimension:[ie,ie],u_zoom:ve.overscaledZ,u_maxzoom:ge,u_unpack:K.getUnpackVector()}};function pl(ve,K){var ge=Math.pow(2,K.canonical.z),ie=K.canonical.y;return[new a.MercatorCoordinate(0,ie/ge).toLngLat().lat,new a.MercatorCoordinate(0,(ie+1)/ge).toLngLat().lat]}var oo=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_ratio:new a.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new a.Uniform2f(ve,K.u_units_to_pixels)}},Us=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_ratio:new a.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new a.Uniform2f(ve,K.u_units_to_pixels),u_image:new a.Uniform1i(ve,K.u_image)}},sc=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_ratio:new a.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_image:new a.Uniform1i(ve,K.u_image),u_units_to_pixels:new a.Uniform2f(ve,K.u_units_to_pixels),u_scale:new a.Uniform3f(ve,K.u_scale),u_fade:new a.Uniform1f(ve,K.u_fade)}},Xc=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_ratio:new a.Uniform1f(ve,K.u_ratio),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_units_to_pixels:new a.Uniform2f(ve,K.u_units_to_pixels),u_patternscale_a:new a.Uniform2f(ve,K.u_patternscale_a),u_patternscale_b:new a.Uniform2f(ve,K.u_patternscale_b),u_sdfgamma:new a.Uniform1f(ve,K.u_sdfgamma),u_image:new a.Uniform1i(ve,K.u_image),u_tex_y_a:new a.Uniform1f(ve,K.u_tex_y_a),u_tex_y_b:new a.Uniform1f(ve,K.u_tex_y_b),u_mix:new a.Uniform1f(ve,K.u_mix)}},zl=function(ve,K,ge){var ie=ve.transform;return{u_matrix:al(ve,K,ge),u_ratio:1/yn(K,1,ie.zoom),u_device_pixel_ratio:a.browser.devicePixelRatio,u_units_to_pixels:[1/ie.pixelsToGLUnits[0],1/ie.pixelsToGLUnits[1]]}},yf=function(ve,K,ge){return a.extend(zl(ve,K,ge),{u_image:0})},As=function(ve,K,ge,ie){var ye=ve.transform,ke=nl(K,ye);return{u_matrix:al(ve,K,ge),u_texsize:K.imageAtlasTexture.size,u_ratio:1/yn(K,1,ye.zoom),u_device_pixel_ratio:a.browser.devicePixelRatio,u_image:0,u_scale:[ke,ie.fromScale,ie.toScale],u_fade:ie.t,u_units_to_pixels:[1/ye.pixelsToGLUnits[0],1/ye.pixelsToGLUnits[1]]}},mf=function(ve,K,ge,ie,ye){var ke=ve.transform,Ye=ve.lineAtlas,lt=nl(K,ke),bt=ge.layout.get("line-cap")==="round",Bt=Ye.getDash(ie.from,bt),Kt=Ye.getDash(ie.to,bt),ur=Bt.width*ye.fromScale,yr=Kt.width*ye.toScale;return a.extend(zl(ve,K,ge),{u_patternscale_a:[lt/ur,-Bt.height/2],u_patternscale_b:[lt/yr,-Kt.height/2],u_sdfgamma:Ye.width/(Math.min(ur,yr)*256*a.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:Bt.y,u_tex_y_b:Kt.y,u_mix:ye.t})};function nl(ve,K){return 1/yn(ve,1,K.tileZoom)}function al(ve,K,ge){return ve.translatePosMatrix(K.tileID.posMatrix,K,ge.paint.get("line-translate"),ge.paint.get("line-translate-anchor"))}var lc=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_tl_parent:new a.Uniform2f(ve,K.u_tl_parent),u_scale_parent:new a.Uniform1f(ve,K.u_scale_parent),u_buffer_scale:new a.Uniform1f(ve,K.u_buffer_scale),u_fade_t:new a.Uniform1f(ve,K.u_fade_t),u_opacity:new a.Uniform1f(ve,K.u_opacity),u_image0:new a.Uniform1i(ve,K.u_image0),u_image1:new a.Uniform1i(ve,K.u_image1),u_brightness_low:new a.Uniform1f(ve,K.u_brightness_low),u_brightness_high:new a.Uniform1f(ve,K.u_brightness_high),u_saturation_factor:new a.Uniform1f(ve,K.u_saturation_factor),u_contrast_factor:new a.Uniform1f(ve,K.u_contrast_factor),u_spin_weights:new a.Uniform3f(ve,K.u_spin_weights)}},fu=function(ve,K,ge,ie,ye){return{u_matrix:ve,u_tl_parent:K,u_scale_parent:ge,u_buffer_scale:1,u_fade_t:ie.mix,u_opacity:ie.opacity*ye.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:ye.paint.get("raster-brightness-min"),u_brightness_high:ye.paint.get("raster-brightness-max"),u_saturation_factor:xf(ye.paint.get("raster-saturation")),u_contrast_factor:Bl(ye.paint.get("raster-contrast")),u_spin_weights:Ci(ye.paint.get("raster-hue-rotate"))}};function Ci(ve){ve*=Math.PI/180;var K=Math.sin(ve),ge=Math.cos(ve);return[(2*ge+1)/3,(-Math.sqrt(3)*K-ge+1)/3,(Math.sqrt(3)*K-ge+1)/3]}function Bl(ve){return ve>0?1/(1-ve):1+ve}function xf(ve){return ve>0?1-1/(1.001-ve):-ve}var bf=function(ve,K){return{u_is_size_zoom_constant:new a.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new a.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new a.Uniform1f(ve,K.u_size_t),u_size:new a.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new a.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new a.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new a.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new a.Uniform1f(ve,K.u_fade_change),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new a.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new a.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new a.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new a.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_texture:new a.Uniform1i(ve,K.u_texture)}},yl=function(ve,K){return{u_is_size_zoom_constant:new a.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new a.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new a.Uniform1f(ve,K.u_size_t),u_size:new a.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new a.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new a.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new a.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new a.Uniform1f(ve,K.u_fade_change),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new a.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new a.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new a.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new a.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_texture:new a.Uniform1i(ve,K.u_texture),u_gamma_scale:new a.Uniform1f(ve,K.u_gamma_scale),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_is_halo:new a.Uniform1i(ve,K.u_is_halo)}},ed=function(ve,K){return{u_is_size_zoom_constant:new a.Uniform1i(ve,K.u_is_size_zoom_constant),u_is_size_feature_constant:new a.Uniform1i(ve,K.u_is_size_feature_constant),u_size_t:new a.Uniform1f(ve,K.u_size_t),u_size:new a.Uniform1f(ve,K.u_size),u_camera_to_center_distance:new a.Uniform1f(ve,K.u_camera_to_center_distance),u_pitch:new a.Uniform1f(ve,K.u_pitch),u_rotate_symbol:new a.Uniform1i(ve,K.u_rotate_symbol),u_aspect_ratio:new a.Uniform1f(ve,K.u_aspect_ratio),u_fade_change:new a.Uniform1f(ve,K.u_fade_change),u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_label_plane_matrix:new a.UniformMatrix4f(ve,K.u_label_plane_matrix),u_coord_matrix:new a.UniformMatrix4f(ve,K.u_coord_matrix),u_is_text:new a.Uniform1i(ve,K.u_is_text),u_pitch_with_map:new a.Uniform1i(ve,K.u_pitch_with_map),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_texsize_icon:new a.Uniform2f(ve,K.u_texsize_icon),u_texture:new a.Uniform1i(ve,K.u_texture),u_texture_icon:new a.Uniform1i(ve,K.u_texture_icon),u_gamma_scale:new a.Uniform1f(ve,K.u_gamma_scale),u_device_pixel_ratio:new a.Uniform1f(ve,K.u_device_pixel_ratio),u_is_halo:new a.Uniform1i(ve,K.u_is_halo)}},uc=function(ve,K,ge,ie,ye,ke,Ye,lt,bt,Bt){var Kt=ye.transform;return{u_is_size_zoom_constant:+(ve==="constant"||ve==="source"),u_is_size_feature_constant:+(ve==="constant"||ve==="camera"),u_size_t:K?K.uSizeT:0,u_size:K?K.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+ge,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:ye.options.fadeDuration?ye.symbolFadeChange:1,u_matrix:ke,u_label_plane_matrix:Ye,u_coord_matrix:lt,u_is_text:+bt,u_pitch_with_map:+ie,u_texsize:Bt,u_texture:0}},cu=function(ve,K,ge,ie,ye,ke,Ye,lt,bt,Bt,Kt){var ur=ye.transform;return a.extend(uc(ve,K,ge,ie,ye,ke,Ye,lt,bt,Bt),{u_gamma_scale:ie?Math.cos(ur._pitch)*ur.cameraToCenterDistance:1,u_device_pixel_ratio:a.browser.devicePixelRatio,u_is_halo:+Kt})},fc=function(ve,K,ge,ie,ye,ke,Ye,lt,bt,Bt){return a.extend(cu(ve,K,ge,ie,ye,ke,Ye,lt,!0,bt,!0),{u_texsize_icon:Bt,u_texture_icon:1})},Kc=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_opacity:new a.Uniform1f(ve,K.u_opacity),u_color:new a.UniformColor(ve,K.u_color)}},il=function(ve,K){return{u_matrix:new a.UniformMatrix4f(ve,K.u_matrix),u_opacity:new a.Uniform1f(ve,K.u_opacity),u_image:new a.Uniform1i(ve,K.u_image),u_pattern_tl_a:new a.Uniform2f(ve,K.u_pattern_tl_a),u_pattern_br_a:new a.Uniform2f(ve,K.u_pattern_br_a),u_pattern_tl_b:new a.Uniform2f(ve,K.u_pattern_tl_b),u_pattern_br_b:new a.Uniform2f(ve,K.u_pattern_br_b),u_texsize:new a.Uniform2f(ve,K.u_texsize),u_mix:new a.Uniform1f(ve,K.u_mix),u_pattern_size_a:new a.Uniform2f(ve,K.u_pattern_size_a),u_pattern_size_b:new a.Uniform2f(ve,K.u_pattern_size_b),u_scale_a:new a.Uniform1f(ve,K.u_scale_a),u_scale_b:new a.Uniform1f(ve,K.u_scale_b),u_pixel_coord_upper:new a.Uniform2f(ve,K.u_pixel_coord_upper),u_pixel_coord_lower:new a.Uniform2f(ve,K.u_pixel_coord_lower),u_tile_units_to_pixels:new a.Uniform1f(ve,K.u_tile_units_to_pixels)}},ml=function(ve,K,ge){return{u_matrix:ve,u_opacity:K,u_color:ge}},Nl=function(ve,K,ge,ie,ye,ke){return a.extend(ic(ie,ke,ge,ye),{u_matrix:ve,u_opacity:K})},Ul={fillExtrusion:io,fillExtrusionPattern:ku,fill:rl,fillPattern:hl,fillOutline:dl,fillOutlinePattern:vl,circle:vf,collisionBox:$h,collisionCircle:Jh,debug:jc,clippingMask:Eo,heatmap:zu,heatmapTexture:Ol,hillshade:qh,hillshadePrepare:Yc,line:oo,lineGradient:Us,linePattern:sc,lineSDF:Xc,raster:lc,symbolIcon:bf,symbolSDF:yl,symbolTextAndIcon:ed,background:Kc,backgroundPattern:il},$o;function rs(ve,K,ge,ie,ye,ke,Ye){for(var lt=ve.context,bt=lt.gl,Bt=ve.useProgram("collisionBox"),Kt=[],ur=0,yr=0,Dr=0;Dr0){var zn=a.create(),Zn=Qr;a.mul(zn,Vr.placementInvProjMatrix,ve.transform.glCoordMatrix),a.mul(zn,zn,Vr.placementViewportMatrix),Kt.push({circleArray:Cn,circleOffset:yr,transform:Zn,invTransform:zn}),ur+=Cn.length/4,yr=ur}un&&Bt.draw(lt,bt.LINES,kr.disabled,jt.disabled,ve.colorModeForRenderPass(),Lt.disabled,Qh(Qr,ve.transform,Wr),ge.id,un.layoutVertexBuffer,un.indexBuffer,un.segments,null,ve.transform.zoom,null,null,un.collisionVertexBuffer)}}if(!(!Ye||!Kt.length)){var Kn=ve.useProgram("collisionCircle"),Xn=new a.StructArrayLayout2f1f2i16;Xn.resize(ur*4),Xn._trim();for(var oa=0,pa=0,va=Kt;pa=0&&(Gr[Vr.associatedIconIndex]={shiftedAnchor:Ua,angle:$a})}}if(Kt){Dr.clear();for(var qa=ve.icon.placedSymbolArray,fi=0;fi0){var Ye=a.browser.now(),lt=(Ye-ve.timeAdded)/ke,bt=K?(Ye-K.timeAdded)/ke:-1,Bt=ge.getSource(),Kt=ye.coveringZoomLevel({tileSize:Bt.tileSize,roundZoom:Bt.roundZoom}),ur=!K||Math.abs(K.tileID.overscaledZ-Kt)>Math.abs(ve.tileID.overscaledZ-Kt),yr=ur&&ve.refreshedUponExpiration?1:a.clamp(ur?lt:1-bt,0,1);return ve.refreshedUponExpiration&<>=1&&(ve.refreshedUponExpiration=!1),K?{opacity:1,mix:1-yr}:{opacity:yr,mix:0}}else return{opacity:1,mix:0}}function Mf(ve,K,ge){var ie=ge.paint.get("background-color"),ye=ge.paint.get("background-opacity");if(ye!==0){var ke=ve.context,Ye=ke.gl,lt=ve.transform,bt=lt.tileSize,Bt=ge.paint.get("background-pattern");if(!ve.isPatternMissing(Bt)){var Kt=!Bt&&ie.a===1&&ye===1&&ve.opaquePassEnabledForLayer()?"opaque":"translucent";if(ve.renderPass===Kt){var ur=jt.disabled,yr=ve.depthModeForSublayer(0,Kt==="opaque"?kr.ReadWrite:kr.ReadOnly),Dr=ve.colorModeForRenderPass(),Gr=ve.useProgram(Bt?"backgroundPattern":"background"),Wr=lt.coveringTiles({tileSize:bt});Bt&&(ke.activeTexture.set(Ye.TEXTURE0),ve.imageManager.bind(ve.context));for(var Vr=ge.getCrossfadeParameters(),Qr=0,un=Wr;Qr "+ge.overscaledZ);var Qr=Vr+" "+Dr+"kb";gr(ve,Qr),Ye.draw(ie,ye.TRIANGLES,lt,bt,ut.alphaBlended,Lt.disabled,uu(ke,a.Color.transparent,Wr),Kt,ve.debugBuffer,ve.quadTriangleIndexBuffer,ve.debugSegments)}function gr(ve,K){ve.initDebugOverlayCanvas();var ge=ve.debugOverlayCanvas,ie=ve.context.gl,ye=ve.debugOverlayCanvas.getContext("2d");ye.clearRect(0,0,ge.width,ge.height),ye.shadowColor="white",ye.shadowBlur=2,ye.lineWidth=1.5,ye.strokeStyle="white",ye.textBaseline="top",ye.font="bold 36px Open Sans, sans-serif",ye.fillText(K,5,5),ye.strokeText(K,5,5),ve.debugOverlayTexture.update(ge),ve.debugOverlayTexture.bind(ie.LINEAR,ie.CLAMP_TO_EDGE)}function nr(ve,K,ge){var ie=ve.context,ye=ge.implementation;if(ve.renderPass==="offscreen"){var ke=ye.prerender;ke&&(ve.setCustomLayerDefaults(),ie.setColorMode(ve.colorModeForRenderPass()),ke.call(ye,ie.gl,ve.transform.customLayerMatrix()),ie.setDirty(),ve.setBaseState())}else if(ve.renderPass==="translucent"){ve.setCustomLayerDefaults(),ie.setColorMode(ve.colorModeForRenderPass()),ie.setStencilMode(jt.disabled);var Ye=ye.renderingMode==="3d"?new kr(ve.context.gl.LEQUAL,kr.ReadWrite,ve.depthRangeFor3D):ve.depthModeForSublayer(0,kr.ReadOnly);ie.setDepthMode(Ye),ye.render(ie.gl,ve.transform.customLayerMatrix()),ie.setDirty(),ve.setBaseState(),ie.bindFramebuffer.set(null)}}var Mr={symbol:hu,circle:ol,heatmap:td,line:Qc,fill:Uu,"fill-extrusion":Hu,hillshade:Af,raster:vc,background:Mf,debug:zt,custom:nr},Pr=function(K,ge){this.context=new St(K),this.transform=ge,this._tileTextures={},this.setup(),this.numSublayers=Ot.maxUnderzooming+Ot.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new fa,this.gpuTimers={}};Pr.prototype.resize=function(K,ge){if(this.width=K*a.browser.devicePixelRatio,this.height=ge*a.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var ie=0,ye=this.style._order;ie256&&this.clearStencil(),ie.setColorMode(ut.disabled),ie.setDepthMode(kr.disabled);var ke=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var Ye=0,lt=ge;Ye256&&this.clearStencil();var K=this.nextStencilID++,ge=this.context.gl;return new jt({func:ge.NOTEQUAL,mask:255},K,255,ge.KEEP,ge.KEEP,ge.REPLACE)},Pr.prototype.stencilModeForClipping=function(K){var ge=this.context.gl;return new jt({func:ge.EQUAL,mask:255},this._tileClippingMaskIDs[K.key],0,ge.KEEP,ge.KEEP,ge.REPLACE)},Pr.prototype.stencilConfigForOverlap=function(K){var ge,ie=this.context.gl,ye=K.sort(function(Bt,Kt){return Kt.overscaledZ-Bt.overscaledZ}),ke=ye[ye.length-1].overscaledZ,Ye=ye[0].overscaledZ-ke+1;if(Ye>1){this.currentStencilSource=void 0,this.nextStencilID+Ye>256&&this.clearStencil();for(var lt={},bt=0;bt=0;this.currentLayer--){var zn=this.style._layers[ye[this.currentLayer]],Zn=ke[zn.source],Kn=bt[zn.source];this._renderTileClippingMasks(zn,Kn),this.renderLayer(this,Zn,zn,Kn)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?ge.pop():null},Pr.prototype.isPatternMissing=function(K){if(!K)return!1;if(!K.from||!K.to)return!0;var ge=this.imageManager.getPattern(K.from.toString()),ie=this.imageManager.getPattern(K.to.toString());return!ge||!ie},Pr.prototype.useProgram=function(K,ge){this.cache=this.cache||{};var ie=""+K+(ge?ge.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[ie]||(this.cache[ie]=new lu(this.context,Wc[K],ge,Ul[K],this._showOverdrawInspector)),this.cache[ie]},Pr.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Pr.prototype.setBaseState=function(){var K=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(K.FUNC_ADD)},Pr.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=a.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var K=this.context.gl;this.debugOverlayTexture=new a.Texture(this.context,this.debugOverlayCanvas,K.RGBA)}},Pr.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var jr=function(K,ge){this.points=K,this.planes=ge};jr.fromInvProjectionMatrix=function(K,ge,ie){var ye=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],ke=Math.pow(2,ie),Ye=ye.map(function(Bt){return a.transformMat4([],Bt,K)}).map(function(Bt){return a.scale$1([],Bt,1/Bt[3]/ge*ke)}),lt=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],bt=lt.map(function(Bt){var Kt=a.sub([],Ye[Bt[0]],Ye[Bt[1]]),ur=a.sub([],Ye[Bt[2]],Ye[Bt[1]]),yr=a.normalize([],a.cross([],Kt,ur)),Dr=-a.dot(yr,Ye[Bt[1]]);return yr.concat(Dr)});return new jr(Ye,bt)};var Jr=function(K,ge){this.min=K,this.max=ge,this.center=a.scale$2([],a.add([],this.min,this.max),.5)};Jr.prototype.quadrant=function(K){for(var ge=[K%2===0,K<2],ie=a.clone$2(this.min),ye=a.clone$2(this.max),ke=0;ke=0;if(Ye===0)return 0;Ye!==ge.length&&(ie=!1)}if(ie)return 2;for(var bt=0;bt<3;bt++){for(var Bt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ur=0;urthis.max[bt]-this.min[bt])return 0}return 1};var bn=function(K,ge,ie,ye){if(K===void 0&&(K=0),ge===void 0&&(ge=0),ie===void 0&&(ie=0),ye===void 0&&(ye=0),isNaN(K)||K<0||isNaN(ge)||ge<0||isNaN(ie)||ie<0||isNaN(ye)||ye<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=K,this.bottom=ge,this.left=ie,this.right=ye};bn.prototype.interpolate=function(K,ge,ie){return ge.top!=null&&K.top!=null&&(this.top=a.number(K.top,ge.top,ie)),ge.bottom!=null&&K.bottom!=null&&(this.bottom=a.number(K.bottom,ge.bottom,ie)),ge.left!=null&&K.left!=null&&(this.left=a.number(K.left,ge.left,ie)),ge.right!=null&&K.right!=null&&(this.right=a.number(K.right,ge.right,ie)),this},bn.prototype.getCenter=function(K,ge){var ie=a.clamp((this.left+K-this.right)/2,0,K),ye=a.clamp((this.top+ge-this.bottom)/2,0,ge);return new a.Point(ie,ye)},bn.prototype.equals=function(K){return this.top===K.top&&this.bottom===K.bottom&&this.left===K.left&&this.right===K.right},bn.prototype.clone=function(){return new bn(this.top,this.bottom,this.left,this.right)},bn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Tn=function(K,ge,ie,ye,ke){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=ke===void 0?!0:ke,this._minZoom=K||0,this._maxZoom=ge||22,this._minPitch=ie??0,this._maxPitch=ye??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new bn,this._posMatrixCache={},this._alignedPosMatrixCache={}},In={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Tn.prototype.clone=function(){var K=new Tn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return K.tileSize=this.tileSize,K.latRange=this.latRange,K.width=this.width,K.height=this.height,K._center=this._center,K.zoom=this.zoom,K.angle=this.angle,K._fov=this._fov,K._pitch=this._pitch,K._unmodified=this._unmodified,K._edgeInsets=this._edgeInsets.clone(),K._calcMatrices(),K},In.minZoom.get=function(){return this._minZoom},In.minZoom.set=function(ve){this._minZoom!==ve&&(this._minZoom=ve,this.zoom=Math.max(this.zoom,ve))},In.maxZoom.get=function(){return this._maxZoom},In.maxZoom.set=function(ve){this._maxZoom!==ve&&(this._maxZoom=ve,this.zoom=Math.min(this.zoom,ve))},In.minPitch.get=function(){return this._minPitch},In.minPitch.set=function(ve){this._minPitch!==ve&&(this._minPitch=ve,this.pitch=Math.max(this.pitch,ve))},In.maxPitch.get=function(){return this._maxPitch},In.maxPitch.set=function(ve){this._maxPitch!==ve&&(this._maxPitch=ve,this.pitch=Math.min(this.pitch,ve))},In.renderWorldCopies.get=function(){return this._renderWorldCopies},In.renderWorldCopies.set=function(ve){ve===void 0?ve=!0:ve===null&&(ve=!1),this._renderWorldCopies=ve},In.worldSize.get=function(){return this.tileSize*this.scale},In.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},In.size.get=function(){return new a.Point(this.width,this.height)},In.bearing.get=function(){return-this.angle/Math.PI*180},In.bearing.set=function(ve){var K=-a.wrap(ve,-180,180)*Math.PI/180;this.angle!==K&&(this._unmodified=!1,this.angle=K,this._calcMatrices(),this.rotationMatrix=a.create$2(),a.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},In.pitch.get=function(){return this._pitch/Math.PI*180},In.pitch.set=function(ve){var K=a.clamp(ve,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==K&&(this._unmodified=!1,this._pitch=K,this._calcMatrices())},In.fov.get=function(){return this._fov/Math.PI*180},In.fov.set=function(ve){ve=Math.max(.01,Math.min(60,ve)),this._fov!==ve&&(this._unmodified=!1,this._fov=ve/180*Math.PI,this._calcMatrices())},In.zoom.get=function(){return this._zoom},In.zoom.set=function(ve){var K=Math.min(Math.max(ve,this.minZoom),this.maxZoom);this._zoom!==K&&(this._unmodified=!1,this._zoom=K,this.scale=this.zoomScale(K),this.tileZoom=Math.floor(K),this.zoomFraction=K-this.tileZoom,this._constrain(),this._calcMatrices())},In.center.get=function(){return this._center},In.center.set=function(ve){ve.lat===this._center.lat&&ve.lng===this._center.lng||(this._unmodified=!1,this._center=ve,this._constrain(),this._calcMatrices())},In.padding.get=function(){return this._edgeInsets.toJSON()},In.padding.set=function(ve){this._edgeInsets.equals(ve)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,ve,1),this._calcMatrices())},In.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Tn.prototype.isPaddingEqual=function(K){return this._edgeInsets.equals(K)},Tn.prototype.interpolatePadding=function(K,ge,ie){this._unmodified=!1,this._edgeInsets.interpolate(K,ge,ie),this._constrain(),this._calcMatrices()},Tn.prototype.coveringZoomLevel=function(K){var ge=(K.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/K.tileSize));return Math.max(0,ge)},Tn.prototype.getVisibleUnwrappedCoordinates=function(K){var ge=[new a.UnwrappedTileID(0,K)];if(this._renderWorldCopies)for(var ie=this.pointCoordinate(new a.Point(0,0)),ye=this.pointCoordinate(new a.Point(this.width,0)),ke=this.pointCoordinate(new a.Point(this.width,this.height)),Ye=this.pointCoordinate(new a.Point(0,this.height)),lt=Math.floor(Math.min(ie.x,ye.x,ke.x,Ye.x)),bt=Math.floor(Math.max(ie.x,ye.x,ke.x,Ye.x)),Bt=1,Kt=lt-Bt;Kt<=bt+Bt;Kt++)Kt!==0&&ge.push(new a.UnwrappedTileID(Kt,K));return ge},Tn.prototype.coveringTiles=function(K){var ge=this.coveringZoomLevel(K),ie=ge;if(K.minzoom!==void 0&&geK.maxzoom&&(ge=K.maxzoom);var ye=a.MercatorCoordinate.fromLngLat(this.center),ke=Math.pow(2,ge),Ye=[ke*ye.x,ke*ye.y,0],lt=jr.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,ge),bt=K.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(bt=ge);var Bt=3,Kt=function(Ma){return{aabb:new Jr([Ma*ke,0,0],[(Ma+1)*ke,ke,0]),zoom:0,x:0,y:0,wrap:Ma,fullyVisible:!1}},ur=[],yr=[],Dr=ge,Gr=K.reparseOverscaled?ie:ge;if(this._renderWorldCopies)for(var Wr=1;Wr<=3;Wr++)ur.push(Kt(-Wr)),ur.push(Kt(Wr));for(ur.push(Kt(0));ur.length>0;){var Vr=ur.pop(),Qr=Vr.x,un=Vr.y,Cn=Vr.fullyVisible;if(!Cn){var zn=Vr.aabb.intersects(lt);if(zn===0)continue;Cn=zn===2}var Zn=Vr.aabb.distanceX(Ye),Kn=Vr.aabb.distanceY(Ye),Xn=Math.max(Math.abs(Zn),Math.abs(Kn)),oa=Bt+(1<oa&&Vr.zoom>=bt){yr.push({tileID:new a.OverscaledTileID(Vr.zoom===Dr?Gr:Vr.zoom,Vr.wrap,Vr.zoom,Qr,un),distanceSq:a.sqrLen([Ye[0]-.5-Qr,Ye[1]-.5-un])});continue}for(var pa=0;pa<4;pa++){var va=(Qr<<1)+pa%2,xa=(un<<1)+(pa>>1);ur.push({aabb:Vr.aabb.quadrant(pa),zoom:Vr.zoom+1,x:va,y:xa,wrap:Vr.wrap,fullyVisible:Cn})}}return yr.sort(function(Ma,Ua){return Ma.distanceSq-Ua.distanceSq}).map(function(Ma){return Ma.tileID})},Tn.prototype.resize=function(K,ge){this.width=K,this.height=ge,this.pixelsToGLUnits=[2/K,-2/ge],this._constrain(),this._calcMatrices()},In.unmodified.get=function(){return this._unmodified},Tn.prototype.zoomScale=function(K){return Math.pow(2,K)},Tn.prototype.scaleZoom=function(K){return Math.log(K)/Math.LN2},Tn.prototype.project=function(K){var ge=a.clamp(K.lat,-this.maxValidLatitude,this.maxValidLatitude);return new a.Point(a.mercatorXfromLng(K.lng)*this.worldSize,a.mercatorYfromLat(ge)*this.worldSize)},Tn.prototype.unproject=function(K){return new a.MercatorCoordinate(K.x/this.worldSize,K.y/this.worldSize).toLngLat()},In.point.get=function(){return this.project(this.center)},Tn.prototype.setLocationAtPoint=function(K,ge){var ie=this.pointCoordinate(ge),ye=this.pointCoordinate(this.centerPoint),ke=this.locationCoordinate(K),Ye=new a.MercatorCoordinate(ke.x-(ie.x-ye.x),ke.y-(ie.y-ye.y));this.center=this.coordinateLocation(Ye),this._renderWorldCopies&&(this.center=this.center.wrap())},Tn.prototype.locationPoint=function(K){return this.coordinatePoint(this.locationCoordinate(K))},Tn.prototype.pointLocation=function(K){return this.coordinateLocation(this.pointCoordinate(K))},Tn.prototype.locationCoordinate=function(K){return a.MercatorCoordinate.fromLngLat(K)},Tn.prototype.coordinateLocation=function(K){return K.toLngLat()},Tn.prototype.pointCoordinate=function(K){var ge=0,ie=[K.x,K.y,0,1],ye=[K.x,K.y,1,1];a.transformMat4(ie,ie,this.pixelMatrixInverse),a.transformMat4(ye,ye,this.pixelMatrixInverse);var ke=ie[3],Ye=ye[3],lt=ie[0]/ke,bt=ye[0]/Ye,Bt=ie[1]/ke,Kt=ye[1]/Ye,ur=ie[2]/ke,yr=ye[2]/Ye,Dr=ur===yr?0:(ge-ur)/(yr-ur);return new a.MercatorCoordinate(a.number(lt,bt,Dr)/this.worldSize,a.number(Bt,Kt,Dr)/this.worldSize)},Tn.prototype.coordinatePoint=function(K){var ge=[K.x*this.worldSize,K.y*this.worldSize,0,1];return a.transformMat4(ge,ge,this.pixelMatrix),new a.Point(ge[0]/ge[3],ge[1]/ge[3])},Tn.prototype.getBounds=function(){return new a.LngLatBounds().extend(this.pointLocation(new a.Point(0,0))).extend(this.pointLocation(new a.Point(this.width,0))).extend(this.pointLocation(new a.Point(this.width,this.height))).extend(this.pointLocation(new a.Point(0,this.height)))},Tn.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new a.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},Tn.prototype.setMaxBounds=function(K){K?(this.lngRange=[K.getWest(),K.getEast()],this.latRange=[K.getSouth(),K.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Tn.prototype.calculatePosMatrix=function(K,ge){ge===void 0&&(ge=!1);var ie=K.key,ye=ge?this._alignedPosMatrixCache:this._posMatrixCache;if(ye[ie])return ye[ie];var ke=K.canonical,Ye=this.worldSize/this.zoomScale(ke.z),lt=ke.x+Math.pow(2,ke.z)*K.wrap,bt=a.identity(new Float64Array(16));return a.translate(bt,bt,[lt*Ye,ke.y*Ye,0]),a.scale(bt,bt,[Ye/a.EXTENT,Ye/a.EXTENT,1]),a.multiply(bt,ge?this.alignedProjMatrix:this.projMatrix,bt),ye[ie]=new Float32Array(bt),ye[ie]},Tn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Tn.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var K=-90,ge=90,ie=-180,ye=180,ke,Ye,lt,bt,Bt=this.size,Kt=this._unmodified;if(this.latRange){var ur=this.latRange;K=a.mercatorYfromLat(ur[1])*this.worldSize,ge=a.mercatorYfromLat(ur[0])*this.worldSize,ke=ge-Kge&&(bt=ge-Vr)}if(this.lngRange){var Qr=Dr.x,un=Bt.x/2;Qr-unye&&(lt=ye-un)}(lt!==void 0||bt!==void 0)&&(this.center=this.unproject(new a.Point(lt!==void 0?lt:Dr.x,bt!==void 0?bt:Dr.y))),this._unmodified=Kt,this._constraining=!1}},Tn.prototype._calcMatrices=function(){if(this.height){var K=this._fov/2,ge=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(K)*this.height;var ie=Math.PI/2+this._pitch,ye=this._fov*(.5+ge.y/this.height),ke=Math.sin(ye)*this.cameraToCenterDistance/Math.sin(a.clamp(Math.PI-ie-ye,.01,Math.PI-.01)),Ye=this.point,lt=Ye.x,bt=Ye.y,Bt=Math.cos(Math.PI/2-this._pitch)*ke+this.cameraToCenterDistance,Kt=Bt*1.01,ur=this.height/50,yr=new Float64Array(16);a.perspective(yr,this._fov,this.width/this.height,ur,Kt),yr[8]=-ge.x*2/this.width,yr[9]=ge.y*2/this.height,a.scale(yr,yr,[1,-1,1]),a.translate(yr,yr,[0,0,-this.cameraToCenterDistance]),a.rotateX(yr,yr,this._pitch),a.rotateZ(yr,yr,this.angle),a.translate(yr,yr,[-lt,-bt,0]),this.mercatorMatrix=a.scale([],yr,[this.worldSize,this.worldSize,this.worldSize]),a.scale(yr,yr,[1,1,a.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=yr,this.invProjMatrix=a.invert([],this.projMatrix);var Dr=this.width%2/2,Gr=this.height%2/2,Wr=Math.cos(this.angle),Vr=Math.sin(this.angle),Qr=lt-Math.round(lt)+Wr*Dr+Vr*Gr,un=bt-Math.round(bt)+Wr*Gr+Vr*Dr,Cn=new Float64Array(yr);if(a.translate(Cn,Cn,[Qr>.5?Qr-1:Qr,un>.5?un-1:un,0]),this.alignedProjMatrix=Cn,yr=a.create(),a.scale(yr,yr,[this.width/2,-this.height/2,1]),a.translate(yr,yr,[1,-1,0]),this.labelPlaneMatrix=yr,yr=a.create(),a.scale(yr,yr,[1,-1,1]),a.translate(yr,yr,[-1,-1,0]),a.scale(yr,yr,[2/this.width,2/this.height,1]),this.glCoordMatrix=yr,this.pixelMatrix=a.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),yr=a.invert(new Float64Array(16),this.pixelMatrix),!yr)throw new Error("failed to invert matrix");this.pixelMatrixInverse=yr,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Tn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var K=this.pointCoordinate(new a.Point(0,0)),ge=[K.x*this.worldSize,K.y*this.worldSize,0,1],ie=a.transformMat4(ge,ge,this.pixelMatrix);return ie[3]/this.cameraToCenterDistance},Tn.prototype.getCameraPoint=function(){var K=this._pitch,ge=Math.tan(K)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.Point(0,ge))},Tn.prototype.getCameraQueryGeometry=function(K){var ge=this.getCameraPoint();if(K.length===1)return[K[0],ge];for(var ie=ge.x,ye=ge.y,ke=ge.x,Ye=ge.y,lt=0,bt=K;lt=3&&!K.some(function(ie){return isNaN(ie)})){var ge=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(K[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+K[2],+K[1]],zoom:+K[0],bearing:ge,pitch:+(K[4]||0)}),!0}return!1},Da.prototype._updateHashUnthrottled=function(){var K=this.getHashString();try{a.window.history.replaceState(a.window.history.state,"",K)}catch{}};var Ba={linearity:.3,easing:a.bezier(0,0,.3,1)},Na=a.extend({deceleration:2500,maxSpeed:1400},Ba),Ha=a.extend({deceleration:20,maxSpeed:1400},Ba),wi=a.extend({deceleration:1e3,maxSpeed:360},Ba),Qi=a.extend({deceleration:1e3,maxSpeed:90},Ba),Fi=function(K){this._map=K,this.clear()};Fi.prototype.clear=function(){this._inertiaBuffer=[]},Fi.prototype.record=function(K){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.browser.now(),settings:K})},Fi.prototype._drainInertiaBuffer=function(){for(var K=this._inertiaBuffer,ge=a.browser.now(),ie=160;K.length>0&&ge-K[0].time>ie;)K.shift()},Fi.prototype._onMoveEnd=function(K){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var ge={zoom:0,bearing:0,pitch:0,pan:new a.Point(0,0),pinchAround:void 0,around:void 0},ie=0,ye=this._inertiaBuffer;ie=this._clickTolerance||this._map.fire(new Ve(K.type,this._map,K))},ot.prototype.dblclick=function(K){return this._firePreventable(new Ve(K.type,this._map,K))},ot.prototype.mouseover=function(K){this._map.fire(new Ve(K.type,this._map,K))},ot.prototype.mouseout=function(K){this._map.fire(new Ve(K.type,this._map,K))},ot.prototype.touchstart=function(K){return this._firePreventable(new et(K.type,this._map,K))},ot.prototype.touchmove=function(K){this._map.fire(new et(K.type,this._map,K))},ot.prototype.touchend=function(K){this._map.fire(new et(K.type,this._map,K))},ot.prototype.touchcancel=function(K){this._map.fire(new et(K.type,this._map,K))},ot.prototype._firePreventable=function(K){if(this._map.fire(K),K.defaultPrevented)return{}},ot.prototype.isEnabled=function(){return!0},ot.prototype.isActive=function(){return!1},ot.prototype.enable=function(){},ot.prototype.disable=function(){};var Pt=function(K){this._map=K};Pt.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Pt.prototype.mousemove=function(K){this._map.fire(new Ve(K.type,this._map,K))},Pt.prototype.mousedown=function(){this._delayContextMenu=!0},Pt.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ve("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Pt.prototype.contextmenu=function(K){this._delayContextMenu?this._contextMenuEvent=K:this._map.fire(new Ve(K.type,this._map,K)),this._map.listens("contextmenu")&&K.preventDefault()},Pt.prototype.isEnabled=function(){return!0},Pt.prototype.isActive=function(){return!1},Pt.prototype.enable=function(){},Pt.prototype.disable=function(){};var vt=function(K,ge){this._map=K,this._el=K.getCanvasContainer(),this._container=K.getContainer(),this._clickTolerance=ge.clickTolerance||1};vt.prototype.isEnabled=function(){return!!this._enabled},vt.prototype.isActive=function(){return!!this._active},vt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},vt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},vt.prototype.mousedown=function(K,ge){this.isEnabled()&&K.shiftKey&&K.button===0&&(w.disableDrag(),this._startPos=this._lastPos=ge,this._active=!0)},vt.prototype.mousemoveWindow=function(K,ge){if(this._active){var ie=ge;if(!(this._lastPos.equals(ie)||!this._box&&ie.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=K.timeStamp),ie.length===this.numTouches&&(this.centroid=er(ge),this.touches=Ut(ie,ge)))},$r.prototype.touchmove=function(K,ge,ie){if(!(this.aborted||!this.centroid)){var ye=Ut(ie,ge);for(var ke in this.touches){var Ye=this.touches[ke],lt=ye[ke];(!lt||lt.dist(Ye)>Er)&&(this.aborted=!0)}}},$r.prototype.touchend=function(K,ge,ie){if((!this.centroid||K.timeStamp-this.startTime>_r)&&(this.aborted=!0),ie.length===0){var ye=!this.aborted&&this.centroid;if(this.reset(),ye)return ye}};var tn=function(K){this.singleTap=new $r(K),this.numTaps=K.numTaps,this.reset()};tn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},tn.prototype.touchstart=function(K,ge,ie){this.singleTap.touchstart(K,ge,ie)},tn.prototype.touchmove=function(K,ge,ie){this.singleTap.touchmove(K,ge,ie)},tn.prototype.touchend=function(K,ge,ie){var ye=this.singleTap.touchend(K,ge,ie);if(ye){var ke=K.timeStamp-this.lastTime0&&(this._active=!0);var ye=Ut(ie,ge),ke=new a.Point(0,0),Ye=new a.Point(0,0),lt=0;for(var bt in ye){var Bt=ye[bt],Kt=this._touches[bt];Kt&&(ke._add(Bt),Ye._add(Bt.sub(Kt)),lt++,ye[bt]=Bt)}if(this._touches=ye,!(ltMath.abs(ve.x)}var Li=100,Un=function(ve){function K(){ve.apply(this,arguments)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.reset=function(){ve.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},K.prototype._start=function(ie){this._lastPoints=ie,yi(ie[0].sub(ie[1]))&&(this._valid=!1)},K.prototype._move=function(ie,ye,ke){var Ye=ie[0].sub(this._lastPoints[0]),lt=ie[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(Ye,lt,ke.timeStamp),!!this._valid){this._lastPoints=ie,this._active=!0;var bt=(Ye.y+lt.y)/2,Bt=-.5;return{pitchDelta:bt*Bt}}},K.prototype.gestureBeginsVertically=function(ie,ye,ke){if(this._valid!==void 0)return this._valid;var Ye=2,lt=ie.mag()>=Ye,bt=ye.mag()>=Ye;if(!(!lt&&!bt)){if(!lt||!bt)return this._firstMove===void 0&&(this._firstMove=ke),ke-this._firstMove0==ye.y>0;return yi(ie)&&yi(ye)&&Bt}},K}(Qn),Za={panStep:100,bearingStep:15,pitchStep:10},Ga=function(){var K=Za;this._panStep=K.panStep,this._bearingStep=K.bearingStep,this._pitchStep=K.pitchStep};Ga.prototype.reset=function(){this._active=!1},Ga.prototype.keydown=function(K){var ge=this;if(!(K.altKey||K.ctrlKey||K.metaKey)){var ie=0,ye=0,ke=0,Ye=0,lt=0;switch(K.keyCode){case 61:case 107:case 171:case 187:ie=1;break;case 189:case 109:case 173:ie=-1;break;case 37:K.shiftKey?ye=-1:(K.preventDefault(),Ye=-1);break;case 39:K.shiftKey?ye=1:(K.preventDefault(),Ye=1);break;case 38:K.shiftKey?ke=1:(K.preventDefault(),lt=-1);break;case 40:K.shiftKey?ke=-1:(K.preventDefault(),lt=1);break;default:return}return{cameraAnimation:function(bt){var Bt=bt.getZoom();bt.easeTo({duration:300,easeId:"keyboardHandler",easing:ni,zoom:ie?Math.round(Bt)+ie*(K.shiftKey?2:1):Bt,bearing:bt.getBearing()+ye*ge._bearingStep,pitch:bt.getPitch()+ke*ge._pitchStep,offset:[-Ye*ge._panStep,-lt*ge._panStep],center:bt.getCenter()},{originalEvent:K})}}}},Ga.prototype.enable=function(){this._enabled=!0},Ga.prototype.disable=function(){this._enabled=!1,this.reset()},Ga.prototype.isEnabled=function(){return this._enabled},Ga.prototype.isActive=function(){return this._active};function ni(ve){return ve*(2-ve)}var ji=4.000244140625,no=1/100,lo=1/450,Ui=2,Pi=function(K,ge){this._map=K,this._el=K.getCanvasContainer(),this._handler=ge,this._delta=0,this._defaultZoomRate=no,this._wheelZoomRate=lo,a.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};Pi.prototype.setZoomRate=function(K){this._defaultZoomRate=K},Pi.prototype.setWheelZoomRate=function(K){this._wheelZoomRate=K},Pi.prototype.isEnabled=function(){return!!this._enabled},Pi.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},Pi.prototype.isZooming=function(){return!!this._zooming},Pi.prototype.enable=function(K){this.isEnabled()||(this._enabled=!0,this._aroundCenter=K&&K.around==="center")},Pi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Pi.prototype.wheel=function(K){if(this.isEnabled()){var ge=K.deltaMode===a.window.WheelEvent.DOM_DELTA_LINE?K.deltaY*40:K.deltaY,ie=a.browser.now(),ye=ie-(this._lastWheelEventTime||0);this._lastWheelEventTime=ie,ge!==0&&ge%ji===0?this._type="wheel":ge!==0&&Math.abs(ge)<4?this._type="trackpad":ye>400?(this._type=null,this._lastValue=ge,this._timeout=setTimeout(this._onTimeout,40,K)):this._type||(this._type=Math.abs(ye*ge)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,ge+=this._lastValue)),K.shiftKey&&ge&&(ge=ge/4),this._type&&(this._lastWheelEvent=K,this._delta-=ge,this._active||this._start(K)),K.preventDefault()}},Pi.prototype._onTimeout=function(K){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(K)},Pi.prototype._start=function(K){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var ge=w.mousePos(this._el,K);this._around=a.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(ge)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},Pi.prototype.renderFrame=function(){return this._onScrollFrame()},Pi.prototype._onScrollFrame=function(){var K=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var ge=this._map.transform;if(this._delta!==0){var ie=this._type==="wheel"&&Math.abs(this._delta)>ji?this._wheelZoomRate:this._defaultZoomRate,ye=Ui/(1+Math.exp(-Math.abs(this._delta*ie)));this._delta<0&&ye!==0&&(ye=1/ye);var ke=typeof this._targetZoom=="number"?ge.zoomScale(this._targetZoom):ge.scale;this._targetZoom=Math.min(ge.maxZoom,Math.max(ge.minZoom,ge.scaleZoom(ke*ye))),this._type==="wheel"&&(this._startZoom=ge.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var Ye=typeof this._targetZoom=="number"?this._targetZoom:ge.zoom,lt=this._startZoom,bt=this._easing,Bt=!1,Kt;if(this._type==="wheel"&<&&bt){var ur=Math.min((a.browser.now()-this._lastWheelEventTime)/200,1),yr=bt(ur);Kt=a.number(lt,Ye,yr),ur<1?this._frameId||(this._frameId=!0):Bt=!0}else Kt=Ye,Bt=!0;return this._active=!0,Bt&&(this._active=!1,this._finishTimeout=setTimeout(function(){K._zooming=!1,K._handler._triggerRenderFrame(),delete K._targetZoom,delete K._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!Bt,zoomDelta:Kt-ge.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},Pi.prototype._smoothOutEasing=function(K){var ge=a.ease;if(this._prevEase){var ie=this._prevEase,ye=(a.browser.now()-ie.start)/ie.duration,ke=ie.easing(ye+.01)-ie.easing(ye),Ye=.27/Math.sqrt(ke*ke+1e-4)*.01,lt=Math.sqrt(.27*.27-Ye*Ye);ge=a.bezier(Ye,lt,.25,1)}return this._prevEase={start:a.browser.now(),duration:K,easing:ge},ge},Pi.prototype.reset=function(){this._active=!1};var ba=function(K,ge){this._clickZoom=K,this._tapZoom=ge};ba.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},ba.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},ba.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},ba.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var _a=function(){this.reset()};_a.prototype.reset=function(){this._active=!1},_a.prototype.dblclick=function(K,ge){return K.preventDefault(),{cameraAnimation:function(ie){ie.easeTo({duration:300,zoom:ie.getZoom()+(K.shiftKey?-1:1),around:ie.unproject(ge)},{originalEvent:K})}}},_a.prototype.enable=function(){this._enabled=!0},_a.prototype.disable=function(){this._enabled=!1,this.reset()},_a.prototype.isEnabled=function(){return this._enabled},_a.prototype.isActive=function(){return this._active};var Hi=function(){this._tap=new tn({numTouches:1,numTaps:1}),this.reset()};Hi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},Hi.prototype.touchstart=function(K,ge,ie){this._swipePoint||(this._tapTime&&K.timeStamp-this._tapTime>tr&&this.reset(),this._tapTime?ie.length>0&&(this._swipePoint=ge[0],this._swipeTouch=ie[0].identifier):this._tap.touchstart(K,ge,ie))},Hi.prototype.touchmove=function(K,ge,ie){if(!this._tapTime)this._tap.touchmove(K,ge,ie);else if(this._swipePoint){if(ie[0].identifier!==this._swipeTouch)return;var ye=ge[0],ke=ye.y-this._swipePoint.y;return this._swipePoint=ye,K.preventDefault(),this._active=!0,{zoomDelta:ke/128}}},Hi.prototype.touchend=function(K,ge,ie){if(this._tapTime)this._swipePoint&&ie.length===0&&this.reset();else{var ye=this._tap.touchend(K,ge,ie);ye&&(this._tapTime=K.timeStamp)}},Hi.prototype.touchcancel=function(){this.reset()},Hi.prototype.enable=function(){this._enabled=!0},Hi.prototype.disable=function(){this._enabled=!1,this.reset()},Hi.prototype.isEnabled=function(){return this._enabled},Hi.prototype.isActive=function(){return this._active};var so=function(K,ge,ie){this._el=K,this._mousePan=ge,this._touchPan=ie};so.prototype.enable=function(K){this._inertiaOptions=K||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},so.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},so.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},so.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var ns=function(K,ge,ie){this._pitchWithRotate=K.pitchWithRotate,this._mouseRotate=ge,this._mousePitch=ie};ns.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},ns.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},ns.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},ns.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Ao=function(K,ge,ie,ye){this._el=K,this._touchZoom=ge,this._touchRotate=ie,this._tapDragZoom=ye,this._rotationDisabled=!1,this._enabled=!0};Ao.prototype.enable=function(K){this._touchZoom.enable(K),this._rotationDisabled||this._touchRotate.enable(K),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},Ao.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},Ao.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Ao.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Ao.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Ao.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ho=function(ve){return ve.zoom||ve.drag||ve.pitch||ve.rotate},Xi=function(ve){function K(){ve.apply(this,arguments)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K}(a.Event);function us(ve){return ve.panDelta&&ve.panDelta.mag()||ve.zoomDelta||ve.bearingDelta||ve.pitchDelta}var Oi=function(K,ge){this._map=K,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Fi(K),this._bearingSnap=ge.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(ge),a.bindAll(["handleEvent","handleWindowEvent"],this);var ie=this._el;this._listeners=[[ie,"touchstart",{passive:!1}],[ie,"touchmove",{passive:!1}],[ie,"touchend",void 0],[ie,"touchcancel",void 0],[ie,"mousedown",void 0],[ie,"mousemove",void 0],[ie,"mouseup",void 0],[a.window.document,"mousemove",{capture:!0}],[a.window.document,"mouseup",void 0],[ie,"mouseover",void 0],[ie,"mouseout",void 0],[ie,"dblclick",void 0],[ie,"click",void 0],[ie,"keydown",{capture:!1}],[ie,"keyup",void 0],[ie,"wheel",{passive:!1}],[ie,"contextmenu",void 0],[a.window,"blur",void 0]];for(var ye=0,ke=this._listeners;yelt?Math.min(2,Zn):Math.max(.5,Zn),Ma=Math.pow(xa,1-pa),Ua=Ye.unproject(Cn.add(zn.mult(pa*Ma)).mult(va));Ye.setLocationAtPoint(Ye.renderWorldCopies?Ua.wrap():Ua,Vr)}ke._fireMoveEvents(ye)},function(pa){ke._afterEase(ye,pa)},ie),this},K.prototype._prepareEase=function(ie,ye,ke){ke===void 0&&(ke={}),this._moving=!0,!ye&&!ke.moving&&this.fire(new a.Event("movestart",ie)),this._zooming&&!ke.zooming&&this.fire(new a.Event("zoomstart",ie)),this._rotating&&!ke.rotating&&this.fire(new a.Event("rotatestart",ie)),this._pitching&&!ke.pitching&&this.fire(new a.Event("pitchstart",ie))},K.prototype._fireMoveEvents=function(ie){this.fire(new a.Event("move",ie)),this._zooming&&this.fire(new a.Event("zoom",ie)),this._rotating&&this.fire(new a.Event("rotate",ie)),this._pitching&&this.fire(new a.Event("pitch",ie))},K.prototype._afterEase=function(ie,ye){if(!(this._easeId&&ye&&this._easeId===ye)){delete this._easeId;var ke=this._zooming,Ye=this._rotating,lt=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,ke&&this.fire(new a.Event("zoomend",ie)),Ye&&this.fire(new a.Event("rotateend",ie)),lt&&this.fire(new a.Event("pitchend",ie)),this.fire(new a.Event("moveend",ie))}},K.prototype.flyTo=function(ie,ye){var ke=this;if(!ie.essential&&a.browser.prefersReducedMotion){var Ye=a.pick(ie,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ye,ye)}this.stop(),ie=a.extend({offset:[0,0],speed:1.2,curve:1.42,easing:a.ease},ie);var lt=this.transform,bt=this.getZoom(),Bt=this.getBearing(),Kt=this.getPitch(),ur=this.getPadding(),yr="zoom"in ie?a.clamp(+ie.zoom,lt.minZoom,lt.maxZoom):bt,Dr="bearing"in ie?this._normalizeBearing(ie.bearing,Bt):Bt,Gr="pitch"in ie?+ie.pitch:Kt,Wr="padding"in ie?ie.padding:lt.padding,Vr=lt.zoomScale(yr-bt),Qr=a.Point.convert(ie.offset),un=lt.centerPoint.add(Qr),Cn=lt.pointLocation(un),zn=a.LngLat.convert(ie.center||Cn);this._normalizeCenter(zn);var Zn=lt.project(Cn),Kn=lt.project(zn).sub(Zn),Xn=ie.curve,oa=Math.max(lt.width,lt.height),pa=oa/Vr,va=Kn.mag();if("minZoom"in ie){var xa=a.clamp(Math.min(ie.minZoom,bt,yr),lt.minZoom,lt.maxZoom),Ma=oa/lt.zoomScale(xa-bt);Xn=Math.sqrt(Ma/va*2)}var Ua=Xn*Xn;function $a(Ja){var vi=(pa*pa-oa*oa+(Ja?-1:1)*Ua*Ua*va*va)/(2*(Ja?pa:oa)*Ua*va);return Math.log(Math.sqrt(vi*vi+1)-vi)}function Ti(Ja){return(Math.exp(Ja)-Math.exp(-Ja))/2}function qa(Ja){return(Math.exp(Ja)+Math.exp(-Ja))/2}function fi(Ja){return Ti(Ja)/qa(Ja)}var ka=$a(0),Ai=function(Ja){return qa(ka)/qa(ka+Xn*Ja)},_i=function(Ja){return oa*((qa(ka)*fi(ka+Xn*Ja)-Ti(ka))/Ua)/va},Ri=($a(1)-ka)/Xn;if(Math.abs(va)<1e-6||!isFinite(Ri)){if(Math.abs(oa-pa)<1e-6)return this.easeTo(ie,ye);var hi=paie.maxDuration&&(ie.duration=0),this._zooming=!0,this._rotating=Bt!==Dr,this._pitching=Gr!==Kt,this._padding=!lt.isPaddingEqual(Wr),this._prepareEase(ye,!1),this._ease(function(Ja){var vi=Ja*Ri,uo=1/Ai(vi);lt.zoom=Ja===1?yr:bt+lt.scaleZoom(uo),ke._rotating&&(lt.bearing=a.number(Bt,Dr,Ja)),ke._pitching&&(lt.pitch=a.number(Kt,Gr,Ja)),ke._padding&&(lt.interpolatePadding(ur,Wr,Ja),un=lt.centerPoint.add(Qr));var Co=Ja===1?zn:lt.unproject(Zn.add(Kn.mult(_i(vi))).mult(uo));lt.setLocationAtPoint(lt.renderWorldCopies?Co.wrap():Co,un),ke._fireMoveEvents(ye)},function(){return ke._afterEase(ye)},ie),this},K.prototype.isEasing=function(){return!!this._easeFrameId},K.prototype.stop=function(){return this._stop()},K.prototype._stop=function(ie,ye){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var ke=this._onEaseEnd;delete this._onEaseEnd,ke.call(this,ye)}if(!ie){var Ye=this.handlers;Ye&&Ye.stop()}return this},K.prototype._ease=function(ie,ye,ke){ke.animate===!1||ke.duration===0?(ie(1),ye()):(this._easeStart=a.browser.now(),this._easeOptions=ke,this._onEaseFrame=ie,this._onEaseEnd=ye,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},K.prototype._renderFrameCallback=function(){var ie=Math.min((a.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(ie)),ie<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},K.prototype._normalizeBearing=function(ie,ye){ie=a.wrap(ie,-180,180);var ke=Math.abs(ie-ye);return Math.abs(ie-360-ye)180?-360:ke<-180?360:0}},K}(a.Evented),fs=function(K){K===void 0&&(K={}),this.options=K,a.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};fs.prototype.getDefaultPosition=function(){return"bottom-right"},fs.prototype.onAdd=function(K){var ge=this.options&&this.options.compact;return this._map=K,this._container=w.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=w.create("div","mapboxgl-ctrl-attrib-inner",this._container),ge&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),ge===void 0&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},fs.prototype.onRemove=function(){w.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},fs.prototype._updateEditLink=function(){var K=this._editLink;K||(K=this._editLink=this._container.querySelector(".mapbox-improve-map"));var ge=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||a.config.ACCESS_TOKEN}];if(K){var ie=ge.reduce(function(ye,ke,Ye){return ke.value&&(ye+=ke.key+"="+ke.value+(Ye=0)return!1;return!0});var lt=K.join(" | ");lt!==this._attribHTML&&(this._attribHTML=lt,K.length?(this._innerContainer.innerHTML=lt,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},fs.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ui=function(){a.bindAll(["_updateLogo"],this),a.bindAll(["_updateCompact"],this)};ui.prototype.onAdd=function(K){this._map=K,this._container=w.create("div","mapboxgl-ctrl");var ge=w.create("a","mapboxgl-ctrl-logo");return ge.target="_blank",ge.rel="noopener nofollow",ge.href="https://www.mapbox.com/",ge.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),ge.setAttribute("rel","noopener nofollow"),this._container.appendChild(ge),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ui.prototype.onRemove=function(){w.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ui.prototype.getDefaultPosition=function(){return"bottom-left"},ui.prototype._updateLogo=function(K){(!K||K.sourceDataType==="metadata")&&(this._container.style.display=this._logoRequired()?"block":"none")},ui.prototype._logoRequired=function(){if(this._map.style){var K=this._map.style.sourceCaches;for(var ge in K){var ie=K[ge].getSource();if(ie.mapbox_logo)return!0}return!1}},ui.prototype._updateCompact=function(){var K=this._container.children;if(K.length){var ge=K[0];this._map.getCanvasContainer().offsetWidth<250?ge.classList.add("mapboxgl-compact"):ge.classList.remove("mapboxgl-compact")}};var Vi=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Vi.prototype.add=function(K){var ge=++this._id,ie=this._queue;return ie.push({callback:K,id:ge,cancelled:!1}),ge},Vi.prototype.remove=function(K){for(var ge=this._currentlyRunning,ie=ge?this._queue.concat(ge):this._queue,ye=0,ke=ie;yeie.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(ie.minPitch!=null&&ie.maxPitch!=null&&ie.minPitch>ie.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(ie.minPitch!=null&&ie.minPitchEf)throw new Error("maxPitch must be less than or equal to "+Ef);var ke=new Tn(ie.minZoom,ie.maxZoom,ie.minPitch,ie.maxPitch,ie.renderWorldCopies);if(ve.call(this,ke,ie),this._interactive=ie.interactive,this._maxTileCacheSize=ie.maxTileCacheSize,this._failIfMajorPerformanceCaveat=ie.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=ie.preserveDrawingBuffer,this._antialias=ie.antialias,this._trackResize=ie.trackResize,this._bearingSnap=ie.bearingSnap,this._refreshExpiredTiles=ie.refreshExpiredTiles,this._fadeDuration=ie.fadeDuration,this._crossSourceCollisions=ie.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=ie.collectResourceTiming,this._renderTaskQueue=new Vi,this._controls=[],this._mapId=a.uniqueId(),this._locale=a.extend({},rh,ie.locale),this._requestManager=new a.RequestManager(ie.transformRequest,ie.accessToken),typeof ie.container=="string"){if(this._container=a.window.document.getElementById(ie.container),!this._container)throw new Error("Container '"+ie.container+"' not found.")}else if(ie.container instanceof rd)this._container=ie.container;else throw new Error("Invalid type: 'container' must be a String or HTMLElement.");if(ie.maxBounds&&this.setMaxBounds(ie.maxBounds),a.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return ye._update(!1)}),this.on("moveend",function(){return ye._update(!1)}),this.on("zoom",function(){return ye._update(!0)}),typeof a.window<"u"&&(a.window.addEventListener("online",this._onWindowOnline,!1),a.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new Oi(this,ie);var Ye=typeof ie.hash=="string"&&ie.hash||void 0;this._hash=ie.hash&&new Da(Ye).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:ie.center,zoom:ie.zoom,bearing:ie.bearing,pitch:ie.pitch}),ie.bounds&&(this.resize(),this.fitBounds(ie.bounds,a.extend({},ie.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=ie.localIdeographFontFamily,ie.style&&this.setStyle(ie.style,{localIdeographFontFamily:ie.localIdeographFontFamily}),ie.attributionControl&&this.addControl(new fs({customAttribution:ie.customAttribution})),this.addControl(new ui,ie.logoPosition),this.on("style.load",function(){ye.transform.unmodified&&ye.jumpTo(ye.style.stylesheet)}),this.on("data",function(lt){ye._update(lt.dataType==="style"),ye.fire(new a.Event(lt.dataType+"data",lt))}),this.on("dataloading",function(lt){ye.fire(new a.Event(lt.dataType+"dataloading",lt))})}ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K;var ge={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return K.prototype._getMapId=function(){return this._mapId},K.prototype.addControl=function(ye,ke){if(ke===void 0&&ye.getDefaultPosition&&(ke=ye.getDefaultPosition()),ke===void 0&&(ke="top-right"),!ye||!ye.onAdd)return this.fire(new a.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var Ye=ye.onAdd(this);this._controls.push(ye);var lt=this._controlPositions[ke];return ke.indexOf("bottom")!==-1?lt.insertBefore(Ye,lt.firstChild):lt.appendChild(Ye),this},K.prototype.removeControl=function(ye){if(!ye||!ye.onRemove)return this.fire(new a.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var ke=this._controls.indexOf(ye);return ke>-1&&this._controls.splice(ke,1),ye.onRemove(this),this},K.prototype.resize=function(ye){var ke=this._containerDimensions(),Ye=ke[0],lt=ke[1];this._resizeCanvas(Ye,lt),this.transform.resize(Ye,lt),this.painter.resize(Ye,lt);var bt=!this._moving;return bt&&(this.stop(),this.fire(new a.Event("movestart",ye)).fire(new a.Event("move",ye))),this.fire(new a.Event("resize",ye)),bt&&this.fire(new a.Event("moveend",ye)),this},K.prototype.getBounds=function(){return this.transform.getBounds()},K.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},K.prototype.setMaxBounds=function(ye){return this.transform.setMaxBounds(a.LngLatBounds.convert(ye)),this._update()},K.prototype.setMinZoom=function(ye){if(ye=ye??nh,ye>=nh&&ye<=this.transform.maxZoom)return this.transform.minZoom=ye,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=ye,this._update(),this.getZoom()>ye&&this.setZoom(ye),this;throw new Error("maxZoom must be greater than the current minZoom")},K.prototype.getMaxZoom=function(){return this.transform.maxZoom},K.prototype.setMinPitch=function(ye){if(ye=ye??Ss,ye=Ss&&ye<=this.transform.maxPitch)return this.transform.minPitch=ye,this._update(),this.getPitch()Ef)throw new Error("maxPitch must be less than or equal to "+Ef);if(ye>=this.transform.minPitch)return this.transform.maxPitch=ye,this._update(),this.getPitch()>ye&&this.setPitch(ye),this;throw new Error("maxPitch must be greater than the current minPitch")},K.prototype.getMaxPitch=function(){return this.transform.maxPitch},K.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},K.prototype.setRenderWorldCopies=function(ye){return this.transform.renderWorldCopies=ye,this._update()},K.prototype.project=function(ye){return this.transform.locationPoint(a.LngLat.convert(ye))},K.prototype.unproject=function(ye){return this.transform.pointLocation(a.Point.convert(ye))},K.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},K.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},K.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},K.prototype._createDelegatedListener=function(ye,ke,Ye){var lt=this,bt;if(ye==="mouseenter"||ye==="mouseover"){var Bt=!1,Kt=function(Vr){var Qr=lt.getLayer(ke)?lt.queryRenderedFeatures(Vr.point,{layers:[ke]}):[];Qr.length?Bt||(Bt=!0,Ye.call(lt,new Ve(ye,lt,Vr.originalEvent,{features:Qr}))):Bt=!1},ur=function(){Bt=!1};return{layer:ke,listener:Ye,delegates:{mousemove:Kt,mouseout:ur}}}else if(ye==="mouseleave"||ye==="mouseout"){var yr=!1,Dr=function(Vr){var Qr=lt.getLayer(ke)?lt.queryRenderedFeatures(Vr.point,{layers:[ke]}):[];Qr.length?yr=!0:yr&&(yr=!1,Ye.call(lt,new Ve(ye,lt,Vr.originalEvent)))},Gr=function(Vr){yr&&(yr=!1,Ye.call(lt,new Ve(ye,lt,Vr.originalEvent)))};return{layer:ke,listener:Ye,delegates:{mousemove:Dr,mouseout:Gr}}}else{var Wr=function(Vr){var Qr=lt.getLayer(ke)?lt.queryRenderedFeatures(Vr.point,{layers:[ke]}):[];Qr.length&&(Vr.features=Qr,Ye.call(lt,Vr),delete Vr.features)};return{layer:ke,listener:Ye,delegates:(bt={},bt[ye]=Wr,bt)}}},K.prototype.on=function(ye,ke,Ye){if(Ye===void 0)return ve.prototype.on.call(this,ye,ke);var lt=this._createDelegatedListener(ye,ke,Ye);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[ye]=this._delegatedListeners[ye]||[],this._delegatedListeners[ye].push(lt);for(var bt in lt.delegates)this.on(bt,lt.delegates[bt]);return this},K.prototype.once=function(ye,ke,Ye){if(Ye===void 0)return ve.prototype.once.call(this,ye,ke);var lt=this._createDelegatedListener(ye,ke,Ye);for(var bt in lt.delegates)this.once(bt,lt.delegates[bt]);return this},K.prototype.off=function(ye,ke,Ye){var lt=this;if(Ye===void 0)return ve.prototype.off.call(this,ye,ke);var bt=function(Bt){for(var Kt=Bt[ye],ur=0;ur180;){var Ye=ge.locationPoint(ve);if(Ye.x>=0&&Ye.y>=0&&Ye.x<=ge.width&&Ye.y<=ge.height)break;ve.lng>ge.center.lng?ve.lng-=360:ve.lng+=360}return ve}var ad={center:"translate(-50%,-50%)",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%)"};function Od(ve,K,ge){var ie=ve.classList;for(var ye in ad)ie.remove("mapboxgl-"+ge+"-anchor-"+ye);ie.add("mapboxgl-"+ge+"-anchor-"+K)}var ah=function(ve){function K(ge,ie){var ye=this;if(ve.call(this),(ge instanceof a.window.HTMLElement||ie)&&(ge=a.extend({element:ge},ie)),a.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=ge&&ge.anchor||"center",this._color=ge&&ge.color||"#3FB1CE",this._draggable=ge&&ge.draggable||!1,this._state="inactive",this._rotation=ge&&ge.rotation||0,this._rotationAlignment=ge&&ge.rotationAlignment||"auto",this._pitchAlignment=ge&&ge.pitchAlignment&&ge.pitchAlignment!=="auto"?ge.pitchAlignment:this._rotationAlignment,!ge||!ge.element){this._defaultMarker=!0,this._element=w.create("div"),this._element.setAttribute("aria-label","Map marker");var ke=w.createNS("http://www.w3.org/2000/svg","svg");ke.setAttributeNS(null,"display","block"),ke.setAttributeNS(null,"height","41px"),ke.setAttributeNS(null,"width","27px"),ke.setAttributeNS(null,"viewBox","0 0 27 41");var Ye=w.createNS("http://www.w3.org/2000/svg","g");Ye.setAttributeNS(null,"stroke","none"),Ye.setAttributeNS(null,"stroke-width","1"),Ye.setAttributeNS(null,"fill","none"),Ye.setAttributeNS(null,"fill-rule","evenodd");var lt=w.createNS("http://www.w3.org/2000/svg","g");lt.setAttributeNS(null,"fill-rule","nonzero");var bt=w.createNS("http://www.w3.org/2000/svg","g");bt.setAttributeNS(null,"transform","translate(3.0, 29.0)"),bt.setAttributeNS(null,"fill","#000000");for(var Bt=[{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"}],Kt=0,ur=Bt;Ktye.getEast()||ke.latitudeye.getNorth())},K.prototype._setErrorState=function(){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");break}},K.prototype._onSuccess=function(ie){if(this._map){if(this._isOutOfMapMaxBounds(ie)){this._setErrorState(),this.fire(new a.Event("outofmaxbounds",ie)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=ie,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");break}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(ie),(!this.options.trackUserLocation||this._watchState==="ACTIVE_LOCK")&&this._updateCamera(ie),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new a.Event("geolocate",ie)),this._finish()}},K.prototype._updateCamera=function(ie){var ye=new a.LngLat(ie.coords.longitude,ie.coords.latitude),ke=ie.coords.accuracy,Ye=this._map.getBearing(),lt=a.extend({bearing:Ye},this.options.fitBoundsOptions);this._map.fitBounds(ye.toBounds(ke),lt,{geolocateSource:!0})},K.prototype._updateMarker=function(ie){if(ie){var ye=new a.LngLat(ie.coords.longitude,ie.coords.latitude);this._accuracyCircleMarker.setLngLat(ye).addTo(this._map),this._userLocationDotMarker.setLngLat(ye).addTo(this._map),this._accuracy=ie.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},K.prototype._updateCircleRadius=function(){var ie=this._map._container.clientHeight/2,ye=this._map.unproject([0,ie]),ke=this._map.unproject([1,ie]),Ye=ye.distanceTo(ke),lt=Math.ceil(2*this._accuracy/Ye);this._circleElement.style.width=lt+"px",this._circleElement.style.height=lt+"px"},K.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},K.prototype._onError=function(ie){if(this._map){if(this.options.trackUserLocation)if(ie.code===1){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._geolocateButton.disabled=!0;var ye=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=ye,this._geolocateButton.setAttribute("aria-label",ye),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(ie.code===3&&Lf)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new a.Event("error",ie)),this._finish()}},K.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},K.prototype._setupUI=function(ie){var ye=this;if(this._container.addEventListener("contextmenu",function(lt){return lt.preventDefault()}),this._geolocateButton=w.create("button","mapboxgl-ctrl-geolocate",this._container),w.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",ie===!1){a.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var ke=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=ke,this._geolocateButton.setAttribute("aria-label",ke)}else{var Ye=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=Ye,this._geolocateButton.setAttribute("aria-label",Ye)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=w.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new ah(this._dotElement),this._circleElement=w.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ah({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(lt){var bt=lt.originalEvent&<.originalEvent.type==="resize";!lt.geolocateSource&&ye._watchState==="ACTIVE_LOCK"&&!bt&&(ye._watchState="BACKGROUND",ye._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),ye._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),ye.fire(new a.Event("trackuserlocationend")))})},K.prototype.trigger=function(){if(!this._setup)return a.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new a.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":ih--,Lf=!1,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(new a.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.Event("trackuserlocationstart"));break}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");break}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),ih++;var ie;ih>1?(ie={maximumAge:6e5,timeout:0},Lf=!0):(ie=this.options.positionOptions,Lf=!1),this._geolocationWatchID=a.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,ie)}}else a.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},K.prototype._clearWatch=function(){a.window.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)},K}(a.Evented),l0={maxWidth:100,unit:"metric"},_f=function(K){this.options=a.extend({},l0,K),a.bindAll(["_onMove","setUnit"],this)};_f.prototype.getDefaultPosition=function(){return"bottom-left"},_f.prototype._onMove=function(){Xv(this._map,this._container,this.options)},_f.prototype.onAdd=function(K){return this._map=K,this._container=w.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",K.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},_f.prototype.onRemove=function(){w.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},_f.prototype.setUnit=function(K){this.options.unit=K,Xv(this._map,this._container,this.options)};function Xv(ve,K,ge){var ie=ge&&ge.maxWidth||100,ye=ve._container.clientHeight/2,ke=ve.unproject([0,ye]),Ye=ve.unproject([ie,ye]),lt=ke.distanceTo(Ye);if(ge&&ge.unit==="imperial"){var bt=3.2808*lt;if(bt>5280){var Bt=bt/5280;oh(K,ie,Bt,ve._getUIString("ScaleControl.Miles"))}else oh(K,ie,bt,ve._getUIString("ScaleControl.Feet"))}else if(ge&&ge.unit==="nautical"){var Kt=lt/1852;oh(K,ie,Kt,ve._getUIString("ScaleControl.NauticalMiles"))}else lt>=1e3?oh(K,ie,lt/1e3,ve._getUIString("ScaleControl.Kilometers")):oh(K,ie,lt,ve._getUIString("ScaleControl.Meters"))}function oh(ve,K,ge,ie){var ye=f0(ge),ke=ye/ge;ve.style.width=K*ke+"px",ve.innerHTML=ye+" "+ie}function u0(ve){var K=Math.pow(10,Math.ceil(-Math.log(ve)/Math.LN10));return Math.round(ve*K)/K}function f0(ve){var K=Math.pow(10,(""+Math.floor(ve)).length-1),ge=ve/K;return ge=ge>=10?10:ge>=5?5:ge>=3?3:ge>=2?2:ge>=1?1:u0(ge),K*ge}var Gl=function(K){this._fullscreen=!1,K&&K.container&&(K.container instanceof a.window.HTMLElement?this._container=K.container:a.warnOnce("Full screen control 'container' must be a DOM element.")),a.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in a.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in a.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in a.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in a.window.document&&(this._fullscreenchange="MSFullscreenChange")};Gl.prototype.onAdd=function(K){return this._map=K,this._container||(this._container=this._map.getContainer()),this._controlContainer=w.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",a.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Gl.prototype.onRemove=function(){w.remove(this._controlContainer),this._map=null,a.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(a.window.document.fullscreenEnabled||a.window.document.mozFullScreenEnabled||a.window.document.msFullscreenEnabled||a.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var K=this._fullscreenButton=w.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);w.create("span","mapboxgl-ctrl-icon",K).setAttribute("aria-hidden",!0),K.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),a.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var K=this._getTitle();this._fullscreenButton.setAttribute("aria-label",K),this._fullscreenButton.title=K},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var K=a.window.document.fullscreenElement||a.window.document.mozFullScreenElement||a.window.document.webkitFullscreenElement||a.window.document.msFullscreenElement;K===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?a.window.document.exitFullscreen?a.window.document.exitFullscreen():a.window.document.mozCancelFullScreen?a.window.document.mozCancelFullScreen():a.window.document.msExitFullscreen?a.window.document.msExitFullscreen():a.window.document.webkitCancelFullScreen&&a.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var c0={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},h0=function(ve){function K(ge){ve.call(this),this.options=a.extend(Object.create(c0),ge),a.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return ve&&(K.__proto__=ve),K.prototype=Object.create(ve&&ve.prototype),K.prototype.constructor=K,K.prototype.addTo=function(ie){return this._map&&this.remove(),this._map=ie,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new a.Event("open")),this},K.prototype.isOpen=function(){return!!this._map},K.prototype.remove=function(){return this._content&&w.remove(this._content),this._container&&(w.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new a.Event("close")),this},K.prototype.getLngLat=function(){return this._lngLat},K.prototype.setLngLat=function(ie){return this._lngLat=a.LngLat.convert(ie),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},K.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},K.prototype.getElement=function(){return this._container},K.prototype.setText=function(ie){return this.setDOMContent(a.window.document.createTextNode(ie))},K.prototype.setHTML=function(ie){var ye=a.window.document.createDocumentFragment(),ke=a.window.document.createElement("body"),Ye;for(ke.innerHTML=ie;Ye=ke.firstChild,!!Ye;)ye.appendChild(Ye);return this.setDOMContent(ye)},K.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},K.prototype.setMaxWidth=function(ie){return this.options.maxWidth=ie,this._update(),this},K.prototype.setDOMContent=function(ie){return this._createContent(),this._content.appendChild(ie),this._update(),this},K.prototype.addClassName=function(ie){this._container&&this._container.classList.add(ie)},K.prototype.removeClassName=function(ie){this._container&&this._container.classList.remove(ie)},K.prototype.toggleClassName=function(ie){if(this._container)return this._container.classList.toggle(ie)},K.prototype._createContent=function(){this._content&&w.remove(this._content),this._content=w.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=w.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._onClose))},K.prototype._onMouseUp=function(ie){this._update(ie.point)},K.prototype._onMouseMove=function(ie){this._update(ie.point)},K.prototype._onDrag=function(ie){this._update(ie.point)},K.prototype._update=function(ie){var ye=this,ke=this._lngLat||this._trackPointer;if(!(!this._map||!ke||!this._content)&&(this._container||(this._container=w.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=w.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(Dr){return ye._container.classList.add(Dr)}),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ju(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!ie))){var Ye=this._pos=this._trackPointer&&ie?ie:this._map.project(this._lngLat),lt=this.options.anchor,bt=Kv(this.options.offset);if(!lt){var Bt=this._container.offsetWidth,Kt=this._container.offsetHeight,ur;Ye.y+bt.bottom.ythis._map.transform.height-Kt?ur=["bottom"]:ur=[],Ye.xthis._map.transform.width-Bt/2&&ur.push("right"),ur.length===0?lt="bottom":lt=ur.join("-")}var yr=Ye.add(bt[lt]).round();w.setTransform(this._container,ad[lt]+" translate("+yr.x+"px,"+yr.y+"px)"),Od(this._container,lt,"popup")}},K.prototype._onClose=function(){this.remove()},K}(a.Evented);function Kv(ve){if(ve)if(typeof ve=="number"){var K=Math.round(Math.sqrt(.5*Math.pow(ve,2)));return{center:new a.Point(0,0),top:new a.Point(0,ve),"top-left":new a.Point(K,K),"top-right":new a.Point(-K,K),bottom:new a.Point(0,-ve),"bottom-left":new a.Point(K,-K),"bottom-right":new a.Point(-K,-K),left:new a.Point(ve,0),right:new a.Point(-ve,0)}}else if(ve instanceof a.Point||Array.isArray(ve)){var ge=a.Point.convert(ve);return{center:ge,top:ge,"top-left":ge,"top-right":ge,bottom:ge,"bottom-left":ge,"bottom-right":ge,left:ge,right:ge}}else return{center:a.Point.convert(ve.center||[0,0]),top:a.Point.convert(ve.top||[0,0]),"top-left":a.Point.convert(ve["top-left"]||[0,0]),"top-right":a.Point.convert(ve["top-right"]||[0,0]),bottom:a.Point.convert(ve.bottom||[0,0]),"bottom-left":a.Point.convert(ve["bottom-left"]||[0,0]),"bottom-right":a.Point.convert(ve["bottom-right"]||[0,0]),left:a.Point.convert(ve.left||[0,0]),right:a.Point.convert(ve.right||[0,0])};else return Kv(new a.Point(0,0))}var d0={version:a.version,supported:C,setRTLTextPlugin:a.setRTLTextPlugin,getRTLTextPluginStatus:a.getRTLTextPluginStatus,Map:jv,NavigationControl:Wu,GeolocateControl:Zv,AttributionControl:fs,ScaleControl:_f,FullscreenControl:Gl,Popup:h0,Marker:ah,Style:No,LngLat:a.LngLat,LngLatBounds:a.LngLatBounds,Point:a.Point,MercatorCoordinate:a.MercatorCoordinate,Evented:a.Evented,config:a.config,prewarm:kt,clearPrewarmedResources:Yt,get accessToken(){return a.config.ACCESS_TOKEN},set accessToken(ve){a.config.ACCESS_TOKEN=ve},get baseApiUrl(){return a.config.API_URL},set baseApiUrl(ve){a.config.API_URL=ve},get workerCount(){return Cr.workerCount},set workerCount(ve){Cr.workerCount=ve},get maxParallelImageRequests(){return a.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(ve){a.config.MAX_PARALLEL_IMAGE_REQUESTS=ve},clearStorage:function(K){a.clearTileCache(K)},workerUrl:""};return d0}),v})},27084:function(U){U.exports=Math.log2||function(B){return Math.log(B)*Math.LOG2E}},16825:function(U,B,e){U.exports=E;var v=e(74311);function E(a,C){C||(C=a,a=window);var w=0,d=0,p=0,t={shift:!1,alt:!1,control:!1,meta:!1},r=!1;function c(T){var S=!1;return"altKey"in T&&(S=S||T.altKey!==t.alt,t.alt=!!T.altKey),"shiftKey"in T&&(S=S||T.shiftKey!==t.shift,t.shift=!!T.shiftKey),"ctrlKey"in T&&(S=S||T.ctrlKey!==t.control,t.control=!!T.ctrlKey),"metaKey"in T&&(S=S||T.metaKey!==t.meta,t.meta=!!T.metaKey),S}function o(T,S){var L=v.x(S),m=v.y(S);"buttons"in S&&(T=S.buttons|0),(T!==w||L!==d||m!==p||c(S))&&(w=T|0,d=L||0,p=m||0,C&&C(w,d,p,t))}function n(T){o(0,T)}function u(){(w||d||p||t.shift||t.alt||t.meta||t.control)&&(d=p=0,w=0,t.shift=t.alt=t.control=t.meta=!1,C&&C(0,0,0,t))}function i(T){c(T)&&C&&C(w,d,p,t)}function g(T){v.buttons(T)===0?o(0,T):o(w,T)}function h(T){o(w|v.buttons(T),T)}function x(T){o(w&~v.buttons(T),T)}function f(){r||(r=!0,a.addEventListener("mousemove",g),a.addEventListener("mousedown",h),a.addEventListener("mouseup",x),a.addEventListener("mouseleave",n),a.addEventListener("mouseenter",n),a.addEventListener("mouseout",n),a.addEventListener("mouseover",n),a.addEventListener("blur",u),a.addEventListener("keyup",i),a.addEventListener("keydown",i),a.addEventListener("keypress",i),a!==window&&(window.addEventListener("blur",u),window.addEventListener("keyup",i),window.addEventListener("keydown",i),window.addEventListener("keypress",i)))}function l(){r&&(r=!1,a.removeEventListener("mousemove",g),a.removeEventListener("mousedown",h),a.removeEventListener("mouseup",x),a.removeEventListener("mouseleave",n),a.removeEventListener("mouseenter",n),a.removeEventListener("mouseout",n),a.removeEventListener("mouseover",n),a.removeEventListener("blur",u),a.removeEventListener("keyup",i),a.removeEventListener("keydown",i),a.removeEventListener("keypress",i),a!==window&&(window.removeEventListener("blur",u),window.removeEventListener("keyup",i),window.removeEventListener("keydown",i),window.removeEventListener("keypress",i)))}f();var y={element:a};return Object.defineProperties(y,{enabled:{get:function(){return r},set:function(T){T?f():l()},enumerable:!0},buttons:{get:function(){return w},enumerable:!0},x:{get:function(){return d},enumerable:!0},y:{get:function(){return p},enumerable:!0},mods:{get:function(){return t},enumerable:!0}}),y}},48956:function(U){var B={left:0,top:0};U.exports=e;function e(E,a,C){a=a||E.currentTarget||E.srcElement,Array.isArray(C)||(C=[0,0]);var w=E.clientX||0,d=E.clientY||0,p=v(a);return C[0]=w-p.left,C[1]=d-p.top,C}function v(E){return E===window||E===document||E===document.body?B:E.getBoundingClientRect()}},74311:function(U,B){function e(C){if(typeof C=="object"){if("buttons"in C)return C.buttons;if("which"in C){var w=C.which;if(w===2)return 4;if(w===3)return 2;if(w>0)return 1<=0)return 1<0&&t(c,T))}catch(S){u.call(new g(T),S)}}}function u(l){var y=this;y.triggered||(y.triggered=!0,y.def&&(y=y.def),y.msg=l,y.state=2,y.chain.length>0&&t(c,y))}function i(l,y,T,S){for(var L=0;L7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var S=h,L=x;(t=="C"||t=="S")&&(S+=S-c,L+=L-o),y=["C",S,L,y[1],y[2],y[3],y[4]];break;case"T":t=="Q"||t=="T"?(i=h*2-i,g=x*2-g):(i=h,g=x),y=a(h,x,i,g,y[1],y[2]);break;case"Q":i=y[1],g=y[2],y=a(h,x,y[1],y[2],y[3],y[4]);break;case"L":y=E(h,x,y[1],y[2]);break;case"H":y=E(h,x,y[1],x);break;case"V":y=E(h,x,h,y[1]);break;case"Z":y=E(h,x,n,u);break}t=T,h=y[y.length-2],x=y[y.length-1],y.length>4?(c=y[y.length-4],o=y[y.length-3]):(c=h,o=x),r.push(y)}return r}function E(p,t,r,c){return["C",p,t,r,c,r,c]}function a(p,t,r,c,o,n){return["C",p/3+.6666666666666666*r,t/3+.6666666666666666*c,o/3+.6666666666666666*r,n/3+.6666666666666666*c,o,n]}function C(p,t,r,c,o,n,u,i,g,h){if(h)b=h[0],s=h[1],m=h[2],M=h[3];else{var x=w(p,t,-o);p=x.x,t=x.y,x=w(i,g,-o),i=x.x,g=x.y;var f=(p-i)/2,l=(t-g)/2,y=f*f/(r*r)+l*l/(c*c);y>1&&(y=Math.sqrt(y),r=y*r,c=y*c);var T=r*r,S=c*c,L=(n==u?-1:1)*Math.sqrt(Math.abs((T*S-T*l*l-S*f*f)/(T*l*l+S*f*f)));L==1/0&&(L=1);var m=L*r*l/c+(p+i)/2,M=L*-c*f/r+(t+g)/2,b=Math.asin(((t-M)/c).toFixed(9)),s=Math.asin(((g-M)/c).toFixed(9));b=ps&&(b=b-B*2),!u&&s>b&&(s=s-B*2)}if(Math.abs(s-b)>e){var _=s,A=i,D=g;s=b+e*(u&&s>b?1:-1),i=m+r*Math.cos(s),g=M+c*Math.sin(s);var F=C(i,g,r,c,o,0,u,A,D,[s,_,m,M])}var G=Math.tan((s-b)/4),O=4/3*r*G,H=4/3*c*G,z=[2*p-(p+O*Math.sin(b)),2*t-(t-H*Math.cos(b)),i+O*Math.sin(s),g-H*Math.cos(s),i,g];if(h)return z;F&&(z=z.concat(F));for(var k=0;k"u")return!1;for(var u in window)try{if(!c["$"+u]&&E.call(window,u)&&window[u]!==null&&typeof window[u]=="object")try{r(window[u])}catch{return!0}}catch{return!0}return!1}(),n=function(u){if(typeof window>"u"||!o)return r(u);try{return r(u)}catch{return!1}};v=function(i){var g=i!==null&&typeof i=="object",h=a.call(i)==="[object Function]",x=C(i),f=g&&a.call(i)==="[object String]",l=[];if(!g&&!h&&!x)throw new TypeError("Object.keys called on a non-object");var y=p&&h;if(f&&i.length>0&&!E.call(i,0))for(var T=0;T0)for(var S=0;S=0&&B.call(v.callee)==="[object Function]"),a}},88641:function(U){function B(E,a){if(typeof E!="string")return[E];var C=[E];typeof a=="string"||Array.isArray(a)?a={brackets:a}:a||(a={});var w=a.brackets?Array.isArray(a.brackets)?a.brackets:[a.brackets]:["{}","[]","()"],d=a.escape||"___",p=!!a.flat;w.forEach(function(c){var o=new RegExp(["\\",c[0],"[^\\",c[0],"\\",c[1],"]*\\",c[1]].join("")),n=[];function u(i,g,h){var x=C.push(i.slice(c[0].length,-c[1].length))-1;return n.push(x),d+x+d}C.forEach(function(i,g){for(var h,x=0;i!=h;)if(h=i,i=i.replace(o,u),x++>1e4)throw Error("References have circular dependency. Please, check them.");C[g]=i}),n=n.reverse(),C=C.map(function(i){return n.forEach(function(g){i=i.replace(new RegExp("(\\"+d+g+"\\"+d+")","g"),c[0]+"$1"+c[1])}),i})});var t=new RegExp("\\"+d+"([0-9]+)\\"+d);function r(c,o,n){for(var u=[],i,g=0;i=t.exec(c);){if(g++>1e4)throw Error("Circular references in parenthesis");u.push(c.slice(0,i.index)),u.push(r(o[i[1]],o)),c=c.slice(i.index+i[0].length)}return u.push(c),u}return p?C:r(C[0],C)}function e(E,a){if(a&&a.flat){var C=a&&a.escape||"___",w=E[0],d;if(!w)return"";for(var p=new RegExp("\\"+C+"([0-9]+)\\"+C),t=0;w!=d;){if(t++>1e4)throw Error("Circular references in "+E);d=w,w=w.replace(p,r)}return w}return E.reduce(function c(o,n){return Array.isArray(n)&&(n=n.reduce(c,"")),o+n},"");function r(c,o){if(E[o]==null)throw Error("Reference "+o+"is undefined");return E[o]}}function v(E,a){return Array.isArray(E)?e(E,a):B(E,a)}v.parse=B,v.stringify=e,U.exports=v},18863:function(U,B,e){var v=e(71299);U.exports=E;function E(a){var C;return arguments.length>1&&(a=arguments),typeof a=="string"?a=a.split(/\s/).map(parseFloat):typeof a=="number"&&(a=[a]),a.length&&typeof a[0]=="number"?a.length===1?C={width:a[0],height:a[0],x:0,y:0}:a.length===2?C={width:a[0],height:a[1],x:0,y:0}:C={x:a[0],y:a[1],width:a[2]-a[0]||0,height:a[3]-a[1]||0}:a&&(a=v(a,{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"}),C={x:a.left||0,y:a.top||0},a.width==null?a.right?C.width=a.right-C.x:C.width=0:C.width=a.width,a.height==null?a.bottom?C.height=a.bottom-C.y:C.height=0:C.height=a.height),C}},95616:function(U){U.exports=v;var B={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},e=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function v(C){var w=[];return C.replace(e,function(d,p,t){var r=p.toLowerCase();for(t=a(t),r=="m"&&t.length>2&&(w.push([p].concat(t.splice(0,2))),r="l",p=p=="m"?"l":"L");;){if(t.length==B[r])return t.unshift(p),w.push(t);if(t.lengthw!=u>w&&C<(n-c)*(w-o)/(u-o)+c;i&&(d=!d)}return d}},52142:function(U,B,e){/* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + */var v=e(69444),E=e(29023),a=e(87263),C=e(11328),w=e(55968),d=e(10670),p=!1,t=E(),r;r={buildLog:function(o){return o===!0?p=v():o===!1&&(p=!1),p===!1?!1:p.list},epsilon:function(o){return t.epsilon(o)},segments:function(o){var n=a(!0,t,p);return o.regions.forEach(n.addRegion),{segments:n.calculate(o.inverted),inverted:o.inverted}},combine:function(o,n){var u=a(!1,t,p);return{combined:u.calculate(o.segments,o.inverted,n.segments,n.inverted),inverted1:o.inverted,inverted2:n.inverted}},selectUnion:function(o){return{segments:w.union(o.combined,p),inverted:o.inverted1||o.inverted2}},selectIntersect:function(o){return{segments:w.intersect(o.combined,p),inverted:o.inverted1&&o.inverted2}},selectDifference:function(o){return{segments:w.difference(o.combined,p),inverted:o.inverted1&&!o.inverted2}},selectDifferenceRev:function(o){return{segments:w.differenceRev(o.combined,p),inverted:!o.inverted1&&o.inverted2}},selectXor:function(o){return{segments:w.xor(o.combined,p),inverted:o.inverted1!==o.inverted2}},polygon:function(o){return{regions:C(o.segments,t,p),inverted:o.inverted}},polygonFromGeoJSON:function(o){return d.toPolygon(r,o)},polygonToGeoJSON:function(o){return d.fromPolygon(r,t,o)},union:function(o,n){return c(o,n,r.selectUnion)},intersect:function(o,n){return c(o,n,r.selectIntersect)},difference:function(o,n){return c(o,n,r.selectDifference)},differenceRev:function(o,n){return c(o,n,r.selectDifferenceRev)},xor:function(o,n){return c(o,n,r.selectXor)}};function c(o,n,u){var i=r.segments(o),g=r.segments(n),h=r.combine(i,g),x=u(h);return r.polygon(x)}typeof window=="object"&&(window.PolyBool=r),U.exports=r},69444:function(U){function B(){var e,v=0,E=!1;function a(C,w){return e.list.push({type:C,data:w?JSON.parse(JSON.stringify(w)):void 0}),e}return e={list:[],segmentId:function(){return v++},checkIntersection:function(C,w){return a("check",{seg1:C,seg2:w})},segmentChop:function(C,w){return a("div_seg",{seg:C,pt:w}),a("chop",{seg:C,pt:w})},statusRemove:function(C){return a("pop_seg",{seg:C})},segmentUpdate:function(C){return a("seg_update",{seg:C})},segmentNew:function(C,w){return a("new_seg",{seg:C,primary:w})},segmentRemove:function(C){return a("rem_seg",{seg:C})},tempStatus:function(C,w,d){return a("temp_status",{seg:C,above:w,below:d})},rewind:function(C){return a("rewind",{seg:C})},status:function(C,w,d){return a("status",{seg:C,above:w,below:d})},vert:function(C){return C===E?e:(E=C,a("vert",{x:C}))},log:function(C){return typeof C!="string"&&(C=JSON.stringify(C,!1," ")),a("log",{txt:C})},reset:function(){return a("reset")},selected:function(C){return a("selected",{segs:C})},chainStart:function(C){return a("chain_start",{seg:C})},chainRemoveHead:function(C,w){return a("chain_rem_head",{index:C,pt:w})},chainRemoveTail:function(C,w){return a("chain_rem_tail",{index:C,pt:w})},chainNew:function(C,w){return a("chain_new",{pt1:C,pt2:w})},chainMatch:function(C){return a("chain_match",{index:C})},chainClose:function(C){return a("chain_close",{index:C})},chainAddHead:function(C,w){return a("chain_add_head",{index:C,pt:w})},chainAddTail:function(C,w){return a("chain_add_tail",{index:C,pt:w})},chainConnect:function(C,w){return a("chain_con",{index1:C,index2:w})},chainReverse:function(C){return a("chain_rev",{index:C})},chainJoin:function(C,w){return a("chain_join",{index1:C,index2:w})},done:function(){return a("done")}},e}U.exports=B},29023:function(U){function B(e){typeof e!="number"&&(e=1e-10);var v={epsilon:function(E){return typeof E=="number"&&(e=E),e},pointAboveOrOnLine:function(E,a,C){var w=a[0],d=a[1],p=C[0],t=C[1],r=E[0],c=E[1];return(p-w)*(c-d)-(t-d)*(r-w)>=-e},pointBetween:function(E,a,C){var w=E[1]-a[1],d=C[0]-a[0],p=E[0]-a[0],t=C[1]-a[1],r=p*d+w*t;if(r-e)},pointsSameX:function(E,a){return Math.abs(E[0]-a[0])e!=p-w>e&&(d-c)*(w-o)/(p-o)+c-C>e&&(t=!t),d=c,p=o}return t}};return v}U.exports=B},10670:function(U){var B={toPolygon:function(e,v){function E(w){if(w.length<=0)return e.segments({inverted:!1,regions:[]});function d(r){var c=r.slice(0,r.length-1);return e.segments({inverted:!1,regions:[c]})}for(var p=d(w[0]),t=1;t0})}function S(H,z){var k=H.seg,V=z.seg,Z=k.start,ee=k.end,Q=V.start,ne=V.end;w&&w.checkIntersection(k,V);var fe=C.linesIntersect(Z,ee,Q,ne);if(fe===!1){if(!C.pointsCollinear(Z,ee,Q)||C.pointsSame(Z,ne)||C.pointsSame(ee,Q))return!1;var $=C.pointsSame(Z,Q),Y=C.pointsSame(ee,ne);if($&&Y)return z;var j=!$&&C.pointBetween(Z,Q,ne),X=!Y&&C.pointBetween(ee,Q,ne);if($)return X?g(z,ee):g(H,ne),z;j&&(Y||(X?g(z,ee):g(H,ne)),g(z,Z))}else fe.alongA===0&&(fe.alongB===-1?g(H,Q):fe.alongB===0?g(H,fe.pt):fe.alongB===1&&g(H,ne)),fe.alongB===0&&(fe.alongA===-1?g(z,Z):fe.alongA===0?g(z,fe.pt):fe.alongA===1&&g(z,ee));return!1}for(var L=[];!t.isEmpty();){var m=t.getHead();if(w&&w.vert(m.pt[0]),m.isStart){let H=function(){if(b){var z=S(m,b);if(z)return z}return s?S(m,s):!1};var O=H;w&&w.segmentNew(m.seg,m.primary);var M=T(m),b=M.before?M.before.ev:null,s=M.after?M.after.ev:null;w&&w.tempStatus(m.seg,b?b.seg:!1,s?s.seg:!1);var _=H();if(_){if(a){var A;m.seg.myFill.below===null?A=!0:A=m.seg.myFill.above!==m.seg.myFill.below,A&&(_.seg.myFill.above=!_.seg.myFill.above)}else _.seg.otherFill=m.seg.myFill;w&&w.segmentUpdate(_.seg),m.other.remove(),m.remove()}if(t.getHead()!==m){w&&w.rewind(m.seg);continue}if(a){var A;m.seg.myFill.below===null?A=!0:A=m.seg.myFill.above!==m.seg.myFill.below,s?m.seg.myFill.below=s.seg.myFill.above:m.seg.myFill.below=x,A?m.seg.myFill.above=!m.seg.myFill.below:m.seg.myFill.above=m.seg.myFill.below}else if(m.seg.otherFill===null){var D;s?m.primary===s.primary?D=s.seg.otherFill.above:D=s.seg.myFill.above:D=m.primary?f:x,m.seg.otherFill={above:D,below:D}}w&&w.status(m.seg,b?b.seg:!1,s?s.seg:!1),m.other.status=M.insert(v.node({ev:m}))}else{var F=m.status;if(F===null)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(l.exists(F.prev)&&l.exists(F.next)&&S(F.prev.ev,F.next.ev),w&&w.statusRemove(F.ev.seg),F.remove(),!m.primary){var G=m.seg.myFill;m.seg.myFill=m.seg.otherFill,m.seg.otherFill=G}L.push(m.seg)}t.getHead().remove()}return w&&w.done(),L}return a?{addRegion:function(x){for(var f,l=x[x.length-1],y=0;y0&&!this.aborted;){var C=this.ifds_to_read.shift();C.offset&&this.scan_ifd(C.id,C.offset,E)}},v.prototype.read_uint16=function(E){var a=this.input;if(E+2>a.length)throw B("unexpected EOF","EBADDATA");return this.big_endian?a[E]*256+a[E+1]:a[E]+a[E+1]*256},v.prototype.read_uint32=function(E){var a=this.input;if(E+4>a.length)throw B("unexpected EOF","EBADDATA");return this.big_endian?a[E]*16777216+a[E+1]*65536+a[E+2]*256+a[E+3]:a[E]+a[E+1]*256+a[E+2]*65536+a[E+3]*16777216},v.prototype.is_subifd_link=function(E,a){return E===0&&a===34665||E===0&&a===34853||E===34665&&a===40965},v.prototype.exif_format_length=function(E){switch(E){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},v.prototype.exif_format_read=function(E,a){var C;switch(E){case 1:case 2:return C=this.input[a],C;case 6:return C=this.input[a],C|(C&128)*33554430;case 3:return C=this.read_uint16(a),C;case 8:return C=this.read_uint16(a),C|(C&32768)*131070;case 4:return C=this.read_uint32(a),C;case 9:return C=this.read_uint32(a),C|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}},v.prototype.scan_ifd=function(E,a,C){var w=this.read_uint16(a);a+=2;for(var d=0;dthis.input.length)throw B("unexpected EOF","EBADDATA");for(var i=[],g=n,h=0;h0&&(this.ifds_to_read.push({id:p,offset:i[0]}),u=!0);var f={is_big_endian:this.big_endian,ifd:E,tag:p,format:t,count:r,entry_offset:a+this.start,data_length:o,data_offset:n+this.start,value:i,is_subifd_link:u};if(C(f)===!1){this.aborted=!0;return}a+=12}E===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(a)})},U.exports.ExifParser=v,U.exports.get_orientation=function(E){var a=0;try{return new v(E,0,E.length).each(function(C){if(C.ifd===0&&C.tag===274&&Array.isArray(C.value))return a=C.value[0],!1}),a}catch{return-1}}},76767:function(U,B,e){var v=e(14847).n8,E=e(14847).Ag;function a(o,n){if(o.length<4+n)return null;var u=E(o,n);return o.length>4&15,i=o[4]&15,g=o[5]>>4&15,h=v(o,6),x=8,f=0;fh.width||g.width===h.width&&g.height>h.height?g:h}),u=o.reduce(function(g,h){return g.height>h.height||g.height===h.height&&g.width>h.width?g:h}),i;return n.width>u.height||n.width===u.height&&n.height>u.width?i=n:i=u,i}U.exports.readSizeFromMeta=function(o){var n={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(r(o,n),!!n.sizes.length){var u=c(n.sizes),i=1;n.transforms.forEach(function(h){var x={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},f={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(h.type==="imir"&&(h.value===0?i=f[i]:(i=f[i],i=x[i],i=x[i])),h.type==="irot")for(var l=0;l1&&(i.variants=u.variants),u.orientation&&(i.orientation=u.orientation),u.exif_location&&u.exif_location.offset+u.exif_location.length<=p.length){var g=a(p,u.exif_location.offset),h=p.slice(u.exif_location.offset+g+4,u.exif_location.offset+u.exif_location.length),x=w.get_orientation(h);x>0&&(i.orientation=x)}return i}}}}}}},2504:function(U,B,e){var v=e(14847).eG,E=e(14847).OF,a=e(14847).mP,C=v("BM");U.exports=function(w){if(!(w.length<26)&&E(w,0,C))return{width:a(w,18),height:a(w,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(U,B,e){var v=e(14847).eG,E=e(14847).OF,a=e(14847).mP,C=v("GIF87a"),w=v("GIF89a");U.exports=function(d){if(!(d.length<10)&&!(!E(d,0,C)&&!E(d,0,w)))return{width:a(d,6),height:a(d,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(U,B,e){var v=e(14847).mP,E=0,a=1,C=16;U.exports=function(w){var d=v(w,0),p=v(w,2),t=v(w,4);if(!(d!==E||p!==a||!t)){for(var r=[],c={width:0,height:0},o=0;oc.width||u>c.height)&&(c=i)}return{width:c.width,height:c.height,variants:r,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(U,B,e){var v=e(14847).n8,E=e(14847).eG,a=e(14847).OF,C=e(71371),w=E("Exif\0\0");U.exports=function(d){if(!(d.length<2)&&!(d[0]!==255||d[1]!==216||d[2]!==255))for(var p=2;;){for(;;){if(d.length-p<2)return;if(d[p++]===255)break}for(var t=d[p++],r;t===255;)t=d[p++];if(208<=t&&t<=217||t===1)r=0;else if(192<=t&&t<=254){if(d.length-p<2)return;r=v(d,p)-2,p+=2}else return;if(t===217||t===218)return;var c;if(t===225&&r>=10&&a(d,p,w)&&(c=C.get_orientation(d.slice(p+6,p+r))),r>=5&&192<=t&&t<=207&&t!==196&&t!==200&&t!==204){if(d.length-p0&&(o.orientation=c),o}p+=r}}},6303:function(U,B,e){var v=e(14847).eG,E=e(14847).OF,a=e(14847).Ag,C=v(`‰PNG\r + +`),w=v("IHDR");U.exports=function(d){if(!(d.length<24)&&E(d,0,C)&&E(d,12,w))return{width:a(d,16),height:a(d,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(U,B,e){var v=e(14847).eG,E=e(14847).OF,a=e(14847).Ag,C=v("8BPS\0");U.exports=function(w){if(!(w.length<22)&&E(w,0,C))return{width:a(w,18),height:a(w,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(U){function B(c){return c===32||c===9||c===13||c===10}function e(c){return typeof c=="number"&&isFinite(c)&&c>0}function v(c){var o=0,n=c.length;for(c[0]===239&&c[1]===187&&c[2]===191&&(o=3);o]*>/,a=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,C=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,w=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,d=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,p=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function t(c){var o=c.match(C),n=c.match(w),u=c.match(d);return{width:o&&(o[1]||o[2]),height:n&&(n[1]||n[2]),viewbox:u&&(u[1]||u[2])}}function r(c){return p.test(c)?c.match(p)[0]:"px"}U.exports=function(c){if(v(c)){for(var o="",n=0;n>14&16383)+1,type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function c(o,n){return{width:(o[n+6]<<16|o[n+5]<<8|o[n+4])+1,height:(o[n+9]<o.length)){for(;n+8=10?u=u||t(o,n+8):h==="VP8L"&&x>=9?u=u||r(o,n+8):h==="VP8X"&&x>=10?u=u||c(o,n+8):h==="EXIF"&&(i=w.get_orientation(o.slice(n+8,n+8+x)),n=1/0),n+=8+x}if(u)return i>0&&(u.orientation=i),u}}}},91497:function(U,B,e){U.exports={avif:e(24461),bmp:e(2504),gif:e(47342),ico:e(31355),jpeg:e(54261),png:e(6303),psd:e(38689),svg:e(6881),tiff:e(66278),webp:e(90784)}},33575:function(U,B,e){var v=e(91497);function E(a){for(var C=Object.keys(v),w=0;w1)for(var h=1;h"u"?e.g:window,a=["moz","webkit"],C="AnimationFrame",w=E["request"+C],d=E["cancel"+C]||E["cancelRequest"+C],p=0;!w&&p1&&(_.scaleRatio=[_.scale[0]*_.viewport.width,_.scale[1]*_.viewport.height],g(_),_.after&&_.after(_))}function b(_){if(_){_.length!=null?typeof _[0]=="number"&&(_=[{positions:_}]):Array.isArray(_)||(_=[_]);var A=0,D=0;if(L.groups=S=_.map(function(V,Z){var ee=S[Z];if(V)typeof V=="function"?V={after:V}:typeof V[0]=="number"&&(V={positions:V});else return ee;return V=C(V,{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"}),ee||(S[Z]=ee={id:Z,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},V=w({},T,V)),a(ee,V,[{lineWidth:function(Q){return+Q*.5},capSize:function(Q){return+Q*.5},opacity:parseFloat,errors:function(Q){return Q=d(Q),D+=Q.length,Q},positions:function(Q,ne){return Q=d(Q,"float64"),ne.count=Math.floor(Q.length/2),ne.bounds=v(Q,2),ne.offset=A,A+=ne.count,Q}},{color:function(Q,ne){var fe=ne.count;if(Q||(Q="transparent"),!Array.isArray(Q)||typeof Q[0]=="number"){var $=Q;Q=Array(fe);for(var Y=0;Y 0. && baClipping < length(normalWidth * endBotJoin)) { + //handle miter clipping + bTopCoord -= normalWidth * endTopJoin; + bTopCoord += normalize(endTopJoin * normalWidth) * baClipping; + } + + if (nextReverse) { + //make join rectangular + vec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5; + float normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.); + bBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5; + bTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5; + } + else if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) { + //handle miter clipping + aBotCoord -= normalWidth * startBotJoin; + aBotCoord += normalize(startBotJoin * normalWidth) * abClipping; + } + + vec2 aTopPosition = (aTopCoord) * adjustedScale + translate; + vec2 aBotPosition = (aBotCoord) * adjustedScale + translate; + + vec2 bTopPosition = (bTopCoord) * adjustedScale + translate; + vec2 bBotPosition = (bBotCoord) * adjustedScale + translate; + + //position is normalized 0..1 coord on the screen + vec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd; + + startCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy; + endCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + enableStartMiter = step(dot(currTangent, prevTangent), .5); + enableEndMiter = step(dot(currTangent, nextTangent), .5); + + //bevel miter cutoffs + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } + + //round miter cutoffs + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + vec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5; + startCutoff = vec4(aCoord, aCoord); + startCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio; + startCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + startCutoff += viewport.xyxy; + startCutoff += startMiterWidth.xyxy; + } + + if (enableEndMiter == 1.) { + vec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5; + endCutoff = vec4(bCoord, bCoord); + endCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio; + endCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw; + endCutoff += viewport.xyxy; + endCutoff += endMiterWidth.xyxy; + } + } +} +`]),frag:C([`precision highp float; +#define GLSLIFY 1 + +uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode; +uniform sampler2D dashTexture; + +varying vec4 fragColor; +varying vec2 tangent; +varying vec4 startCutoff, endCutoff; +varying vec2 startCoord, endCoord; +varying float enableStartMiter, enableEndMiter; + +float distToLine(vec2 p, vec2 a, vec2 b) { + vec2 diff = b - a; + vec2 perp = normalize(vec2(-diff.y, diff.x)); + return dot(p - a, perp); +} + +void main() { + float alpha = 1., distToStart, distToEnd; + float cutoff = thickness * .5; + + //bevel miter + if (miterMode == 1.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < -1.) { + discard; + return; + } + alpha *= min(max(distToStart + 1., 0.), 1.); + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < -1.) { + discard; + return; + } + alpha *= min(max(distToEnd + 1., 0.), 1.); + } + } + + // round miter + else if (miterMode == 2.) { + if (enableStartMiter == 1.) { + distToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw); + if (distToStart < 0.) { + float radius = length(gl_FragCoord.xy - startCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + + if (enableEndMiter == 1.) { + distToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw); + if (distToEnd < 0.) { + float radius = length(gl_FragCoord.xy - endCoord); + + if(radius > cutoff + .5) { + discard; + return; + } + + alpha -= smoothstep(cutoff - .5, cutoff + .5, radius); + } + } + } + + float t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25; + float dash = texture2D(dashTexture, vec2(t, .5)).r; + + gl_FragColor = fragColor; + gl_FragColor.a *= alpha * opacity * dash; +} +`]),attributes:{lineEnd:{buffer:x,divisor:0,stride:8,offset:0},lineTop:{buffer:x,divisor:0,stride:8,offset:4},aColor:{buffer:h.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:h.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:h.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:h.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:h.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:h.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},f))}catch{y=l}var T=h({primitive:"triangle",elements:function(S,L){return L.triangles},offset:0,vert:C([`precision highp float; +#define GLSLIFY 1 + +attribute vec2 position, positionFract; + +uniform vec4 color; +uniform vec2 scale, scaleFract, translate, translateFract; +uniform float pixelRatio, id; +uniform vec4 viewport; +uniform float opacity; + +varying vec4 fragColor; + +const float MAX_LINES = 256.; + +void main() { + float depth = (MAX_LINES - 4. - id) / (MAX_LINES); + + vec2 position = position * scale + translate + + positionFract * scale + translateFract + + position * scaleFract + + positionFract * scaleFract; + + gl_Position = vec4(position * 2.0 - 1.0, depth, 1); + + fragColor = color / 255.; + fragColor.a *= opacity; +} +`]),frag:C([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor; + +void main() { + gl_FragColor = fragColor; +} +`]),uniforms:{scale:h.prop("scale"),color:h.prop("fill"),scaleFract:h.prop("scaleFract"),translateFract:h.prop("translateFract"),translate:h.prop("translate"),opacity:h.prop("opacity"),pixelRatio:h.context("pixelRatio"),id:h.prop("id"),viewport:function(S,L){return[L.viewport.x,L.viewport.y,S.viewportWidth,S.viewportHeight]}},attributes:{position:{buffer:h.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:h.prop("positionFractBuffer"),stride:8,offset:8}},blend:f.blend,depth:{enable:!1},scissor:f.scissor,stencil:f.stencil,viewport:f.viewport});return{fill:T,rect:l,miter:y}},g.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},g.prototype.render=function(){for(var h,x=[],f=arguments.length;f--;)x[f]=arguments[f];x.length&&(h=this).update.apply(h,x),this.draw()},g.prototype.draw=function(){for(var h=this,x=[],f=arguments.length;f--;)x[f]=arguments[f];return(x.length?x:this.passes).forEach(function(l,y){var T;if(l&&Array.isArray(l))return(T=h).draw.apply(T,l);typeof l=="number"&&(l=h.passes[l]),l&&l.count>1&&l.opacity&&(h.regl._refresh(),l.fill&&l.triangles&&l.triangles.length>2&&h.shaders.fill(l),l.thickness&&(l.scale[0]*l.viewport.width>g.precisionThreshold||l.scale[1]*l.viewport.height>g.precisionThreshold||l.join==="rect"||!l.join&&(l.thickness<=2||l.count>=g.maxPoints)?h.shaders.rect(l):h.shaders.miter(l)))}),this},g.prototype.update=function(h){var x=this;if(h){h.length!=null?typeof h[0]=="number"&&(h=[{positions:h}]):Array.isArray(h)||(h=[h]);var f=this,l=f.regl,y=f.gl;if(h.forEach(function(M,b){var s=x.passes[b];if(M!==void 0){if(M===null){x.passes[b]=null;return}if(typeof M[0]=="number"&&(M={positions:M}),M=w(M,{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",splitNull:"splitNull"}),s||(x.passes[b]=s={id:b,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:l.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:l.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:l.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:l.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},M=a({},g.defaults,M)),M.thickness!=null&&(s.thickness=parseFloat(M.thickness)),M.opacity!=null&&(s.opacity=parseFloat(M.opacity)),M.miterLimit!=null&&(s.miterLimit=parseFloat(M.miterLimit)),M.overlay!=null&&(s.overlay=!!M.overlay,b=j});fe=fe.slice(0,X),fe.push(j)}for(var re=function(Ze){var Ie=H.slice(Y*2,fe[Ze]*2).concat(j?H.slice(j*2):[]),Te=(s.hole||[]).map(function(me){return me-j+(fe[Ze]-Y)}),he=p(Ie,Te);he=he.map(function(me){return me+Y+(me+Ys.length)&&(_=s.length);for(var A=0,D=new Array(_);A<_;A++)D[A]=s[A];return D}function r(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=e(25075),n=e(21527),u=e(6475),i=e(88294),g=e(56131),h=e(56068),x=e(71299),f=e(93447),l=e(30120),y=e(62683),T=e(57060),S=e(18863),L=m;function m(s,_){var A=this;if(!(this instanceof m))return new m(s,_);typeof s=="function"?(_||(_={}),_.regl=s):(_=s,s=null),_&&_.length&&(_.positions=_),s=_.regl;var D=s._gl,F,G=[],O={},H=[],z=[null],k=[null],V=255,Z=100;this.tooManyColors=y,F=s.texture({data:new Uint8Array(V*4),width:V,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),g(this,{regl:s,gl:D,groups:H,markerCache:k,markerTextures:z,palette:G,paletteIds:O,paletteTexture:F,maxColors:V,maxSize:Z,canvas:D.canvas}),this.update(_);var ee={uniforms:{constPointSize:!!_.constPointSize,opacity:s.prop("opacity"),paletteSize:function($,Y){return[A.tooManyColors?0:V,F.height]},pixelRatio:s.context("pixelRatio"),scale:s.prop("scale"),scaleFract:s.prop("scaleFract"),translate:s.prop("translate"),translateFract:s.prop("translateFract"),markerTexture:s.prop("markerTexture"),paletteTexture:F},attributes:{x:function($,Y){return Y.xAttr||{buffer:Y.positionBuffer,stride:8,offset:0}},y:function($,Y){return Y.yAttr||{buffer:Y.positionBuffer,stride:8,offset:4}},xFract:function($,Y){return Y.xAttr?{constant:[0,0]}:{buffer:Y.positionFractBuffer,stride:8,offset:0}},yFract:function($,Y){return Y.yAttr?{constant:[0,0]}:{buffer:Y.positionFractBuffer,stride:8,offset:4}},size:function($,Y){return Y.size.length?{buffer:Y.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(Y.size*255/A.maxSize)]}},borderSize:function($,Y){return Y.borderSize.length?{buffer:Y.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(Y.borderSize*255/A.maxSize)]}},colorId:function($,Y){return Y.color.length?{buffer:Y.colorBuffer,stride:A.tooManyColors?8:4,offset:0}:{constant:A.tooManyColors?G.slice(Y.color*4,Y.color*4+4):[Y.color]}},borderColorId:function($,Y){return Y.borderColor.length?{buffer:Y.colorBuffer,stride:A.tooManyColors?8:4,offset:A.tooManyColors?4:2}:{constant:A.tooManyColors?G.slice(Y.borderColor*4,Y.borderColor*4+4):[Y.borderColor]}},isActive:function($,Y){return Y.activation===!0?{constant:[1]}:Y.activation?Y.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:s.prop("viewport")},viewport:s.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:s.prop("elements"),count:s.prop("count"),offset:s.prop("offset"),primitive:"points"},Q=g({},ee);Q.frag=h([`precision highp float; +#define GLSLIFY 1 + +uniform float opacity; +uniform sampler2D markerTexture; + +varying vec4 fragColor, fragBorderColor; +varying float fragWidth, fragBorderColorLevel, fragColorLevel; + +float smoothStep(float x, float y) { + return 1.0 / (1.0 + exp(50.0*(x - y))); +} + +void main() { + float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth; + + // max-distance alpha + if (dist < 0.003) discard; + + // null-border case + if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) { + float colorAmt = smoothstep(.5 - delta, .5 + delta, dist); + gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity); + } + else { + float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist); + float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist); + + vec4 color = fragBorderColor; + color.a *= borderColorAmt; + color = mix(color, fragColor, colorAmt); + color.a *= opacity; + + gl_FragColor = color; + } + +} +`]),Q.vert=h([`precision highp float; +#define GLSLIFY 1 + +attribute float x, y, xFract, yFract; +attribute float size, borderSize; +attribute vec4 colorId, borderColorId; +attribute float isActive; + +uniform bool constPointSize; +uniform float pixelRatio; +uniform vec2 scale, scaleFract, translate, translateFract, paletteSize; +uniform sampler2D paletteTexture; + +const float maxSize = 100.; +const float borderLevel = .5; + +varying vec4 fragColor, fragBorderColor; +varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel; + +float pointSizeScale = (constPointSize) ? 2. : pixelRatio; + +bool isDirect = (paletteSize.x < 1.); + +vec4 getColor(vec4 id) { + return isDirect ? id / 255. : texture2D(paletteTexture, + vec2( + (id.x + .5) / paletteSize.x, + (id.y + .5) / paletteSize.y + ) + ); +} + +void main() { + // ignore inactive points + if (isActive == 0.) return; + + vec2 position = vec2(x, y); + vec2 positionFract = vec2(xFract, yFract); + + vec4 color = getColor(colorId); + vec4 borderColor = getColor(borderColorId); + + float size = size * maxSize / 255.; + float borderSize = borderSize * maxSize / 255.; + + gl_PointSize = 2. * size * pointSizeScale; + fragPointSize = size * pixelRatio; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + gl_Position = vec4(pos * 2. - 1., 0., 1.); + + fragColor = color; + fragBorderColor = borderColor; + fragWidth = 1. / gl_PointSize; + + fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.); + fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.); +}`]),this.drawMarker=s(Q);var ne=g({},ee);ne.frag=h([`precision highp float; +#define GLSLIFY 1 + +varying vec4 fragColor, fragBorderColor; +varying float fragBorderRadius, fragWidth; + +uniform float opacity; + +float smoothStep(float edge0, float edge1, float x) { + float t; + t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return t * t * (3.0 - 2.0 * t); +} + +void main() { + float radius, alpha = 1.0, delta = fragWidth; + + radius = length(2.0 * gl_PointCoord.xy - 1.0); + + if (radius > 1.0 + delta) { + discard; + } + + alpha -= smoothstep(1.0 - delta, 1.0 + delta, radius); + + float borderRadius = fragBorderRadius; + float ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius); + vec4 color = mix(fragColor, fragBorderColor, ratio); + color.a *= alpha * opacity; + gl_FragColor = color; +} +`]),ne.vert=h([`precision highp float; +#define GLSLIFY 1 + +attribute float x, y, xFract, yFract; +attribute float size, borderSize; +attribute vec4 colorId, borderColorId; +attribute float isActive; + +uniform bool constPointSize; +uniform float pixelRatio; +uniform vec2 paletteSize, scale, scaleFract, translate, translateFract; +uniform sampler2D paletteTexture; + +const float maxSize = 100.; + +varying vec4 fragColor, fragBorderColor; +varying float fragBorderRadius, fragWidth; + +float pointSizeScale = (constPointSize) ? 2. : pixelRatio; + +bool isDirect = (paletteSize.x < 1.); + +vec4 getColor(vec4 id) { + return isDirect ? id / 255. : texture2D(paletteTexture, + vec2( + (id.x + .5) / paletteSize.x, + (id.y + .5) / paletteSize.y + ) + ); +} + +void main() { + // ignore inactive points + if (isActive == 0.) return; + + vec2 position = vec2(x, y); + vec2 positionFract = vec2(xFract, yFract); + + vec4 color = getColor(colorId); + vec4 borderColor = getColor(borderColorId); + + float size = size * maxSize / 255.; + float borderSize = borderSize * maxSize / 255.; + + gl_PointSize = (size + borderSize) * pointSizeScale; + + vec2 pos = (position + translate) * scale + + (positionFract + translateFract) * scale + + (position + translate) * scaleFract + + (positionFract + translateFract) * scaleFract; + + gl_Position = vec4(pos * 2. - 1., 0., 1.); + + fragBorderRadius = 1. - 2. * borderSize / (size + borderSize); + fragColor = color; + fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor; + fragWidth = 1. / gl_PointSize; +} +`]),y&&(ne.frag=ne.frag.replace("smoothstep","smoothStep"),Q.frag=Q.frag.replace("smoothstep","smoothStep")),this.drawCircle=s(ne)}m.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},m.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},m.prototype.draw=function(){for(var s=this,_=arguments.length,A=new Array(_),D=0;D<_;D++)A[D]=arguments[D];var F=this.groups;if(A.length===1&&Array.isArray(A[0])&&(A[0][0]===null||Array.isArray(A[0][0]))&&(A=A[0]),this.regl._refresh(),A.length)for(var G=0;GHe)?Ce.tree=i(we,{bounds:Je}):He&&He.length&&(Ce.tree=He),Ce.tree){var tt={primitive:"points",usage:"static",data:Ce.tree,type:"uint32"};Ce.elements?Ce.elements(tt):Ce.elements=O.elements(tt)}var ht=T.float32(we);De({data:ht,usage:"dynamic"});var gt=T.fract32(we,ht);return Fe({data:gt,usage:"dynamic"}),qe({data:new Uint8Array(Qe),type:"uint8",usage:"stream"}),we}},{marker:function(we,Ce,Ge){var He=Ce.activation;if(He.forEach(function(gt){return gt&>.destroy&>.destroy()}),He.length=0,!we||typeof we[0]=="number"){var De=s.addMarker(we);He[De]=!0}else{for(var Fe=[],qe=0,Qe=Math.min(we.length,Ce.count);qe=0)return F;var G;if(s instanceof Uint8Array||s instanceof Uint8ClampedArray)G=s;else{G=new Uint8Array(s.length);for(var O=0,H=s.length;OD*4&&(this.tooManyColors=!0),this.updatePalette(A),F.length===1?F[0]:F},m.prototype.updatePalette=function(s){if(!this.tooManyColors){var _=this.maxColors,A=this.paletteTexture,D=Math.ceil(s.length*.25/_);if(D>1){s=s.slice();for(var F=s.length*.25%_;FD)&&!(!x.lower&&A2?(l[0],l[2],g=l[1],h=l[3]):l.length?(g=l[0],h=l[1]):(l.x,g=l.y,l.x+l.width,h=l.y+l.height),y.length>2?(x=y[0],f=y[2],y[1],y[3]):y.length?(x=y[0],f=y[1]):(x=y.x,y.y,f=y.x+y.width,y.y+y.height),[x,g,f,h]}function o(n){if(typeof n=="number")return[n,n,n,n];if(n.length===2)return[n[0],n[1],n[0],n[1]];var u=d(n);return[u.x,u.y,u.x+u.width,u.y+u.height]}},98580:function(U){(function(B,e){U.exports=e()})(this,function(){function B(xt,Xt){this.id=de++,this.type=xt,this.data=Xt}function e(xt){if(xt.length===0)return[];var Xt=xt.charAt(0),jt=xt.charAt(xt.length-1);if(1"u"?1:window.devicePixelRatio,Lt=!1,St={},Ot=function(Jt){},Vt=function(){};if(typeof Xt=="string"?jt=document.querySelector(Xt):typeof Xt=="object"&&(typeof Xt.nodeName=="string"&&typeof Xt.appendChild=="function"&&typeof Xt.getBoundingClientRect=="function"?jt=Xt:typeof Xt.drawArrays=="function"||typeof Xt.drawElements=="function"?(ct=Xt,hr=ct.canvas):("gl"in Xt?ct=Xt.gl:"canvas"in Xt?hr=p(Xt.canvas):"container"in Xt&&(wr=p(Xt.container)),"attributes"in Xt&&(xt=Xt.attributes),"extensions"in Xt&&(ut=d(Xt.extensions)),"optionalExtensions"in Xt&&(wt=d(Xt.optionalExtensions)),"onDone"in Xt&&(Ot=Xt.onDone),"profile"in Xt&&(Lt=!!Xt.profile),"pixelRatio"in Xt&&(Mt=+Xt.pixelRatio),"cachedCode"in Xt&&(St=Xt.cachedCode))),jt&&(jt.nodeName.toLowerCase()==="canvas"?hr=jt:wr=jt),!ct){if(!hr){if(jt=C(wr||document.body,Ot,Mt),!jt)return null;hr=jt.canvas,Vt=jt.onDestroy}xt.premultipliedAlpha===void 0&&(xt.premultipliedAlpha=!0),ct=w(hr,xt)}return ct?{gl:ct,canvas:hr,container:wr,extensions:ut,optionalExtensions:wt,pixelRatio:Mt,profile:Lt,cachedCode:St,onDone:Ot,onDestroy:Vt}:(Vt(),Ot("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function r(xt,Xt){function jt(ut){ut=ut.toLowerCase();var wt;try{wt=wr[ut]=xt.getExtension(ut)}catch{}return!!wt}for(var wr={},hr=0;hr>>=Xt,jt=(255>>=jt,Xt|=jt,jt=(15>>=jt,Xt|=jt,jt=(3>>jt>>1}function n(){function xt(wr){e:{for(var hr=16;268435456>=hr;hr*=16)if(wr<=hr){wr=hr;break e}wr=0}return hr=jt[o(wr)>>2],0>2].push(wr)}var jt=c(8,function(){return[]});return{alloc:xt,free:Xt,allocType:function(wr,hr){var ct=null;switch(wr){case 5120:ct=new Int8Array(xt(hr),0,hr);break;case 5121:ct=new Uint8Array(xt(hr),0,hr);break;case 5122:ct=new Int16Array(xt(2*hr),0,hr);break;case 5123:ct=new Uint16Array(xt(2*hr),0,hr);break;case 5124:ct=new Int32Array(xt(4*hr),0,hr);break;case 5125:ct=new Uint32Array(xt(4*hr),0,hr);break;case 5126:ct=new Float32Array(xt(4*hr),0,hr);break;default:return null}return ct.length!==hr?ct.subarray(0,hr):ct},freeType:function(wr){Xt(wr.buffer)}}}function u(xt){return!!xt&&typeof xt=="object"&&Array.isArray(xt.shape)&&Array.isArray(xt.stride)&&typeof xt.offset=="number"&&xt.shape.length===xt.stride.length&&(Array.isArray(xt.data)||Ee(xt.data))}function i(xt,Xt,jt,wr,hr,ct){for(var ut=0;utVt&&(Vt=Ot.buffer.byteLength,We===5123?Vt>>=1:We===5125&&(Vt>>=2)),Ot.vertCount=Vt,Vt=$t,0>$t&&(Vt=4,$t=Ot.buffer.dimension,$t===1&&(Vt=0),$t===2&&(Vt=1),$t===3&&(Vt=4)),Ot.primType=Vt}function ut(Ot){wr.elementsCount--,delete wt[Ot.id],Ot.buffer.destroy(),Ot.buffer=null}var wt={},Mt=0,Lt={uint8:5121,uint16:5123};Xt.oes_element_index_uint&&(Lt.uint32=5125),hr.prototype.bind=function(){this.buffer.bind()};var St=[];return{create:function(Ot,Vt){function Jt(Cr){if(Cr)if(typeof Cr=="number")$t(Cr),ir.primType=4,ir.vertCount=Cr|0,ir.type=5121;else{var je=null,We=35044,It=-1,kt=-1,Yt=0,ar=0;Array.isArray(Cr)||Ee(Cr)||u(Cr)?je=Cr:("data"in Cr&&(je=Cr.data),"usage"in Cr&&(We=De[Cr.usage]),"primitive"in Cr&&(It=Je[Cr.primitive]),"count"in Cr&&(kt=Cr.count|0),"type"in Cr&&(ar=Lt[Cr.type]),"length"in Cr?Yt=Cr.length|0:(Yt=kt,ar===5123||ar===5122?Yt*=2:(ar===5125||ar===5124)&&(Yt*=4))),ct(ir,je,We,It,kt,Yt,ar)}else $t(),ir.primType=4,ir.vertCount=0,ir.type=5121;return Jt}var $t=jt.create(null,34963,!0),ir=new hr($t._buffer);return wr.elementsCount++,Jt(Ot),Jt._reglType="elements",Jt._elements=ir,Jt.subdata=function(Cr,je){return $t.subdata(Cr,je),Jt},Jt.destroy=function(){ut(ir)},Jt},createStream:function(Ot){var Vt=St.pop();return Vt||(Vt=new hr(jt.create(null,34963,!0,!1)._buffer)),ct(Vt,Ot,35040,-1,-1,0,0),Vt},destroyStream:function(Ot){St.push(Ot)},getElements:function(Ot){return typeof Ot=="function"&&Ot._elements instanceof hr?Ot._elements:null},clear:function(){we(wt).forEach(ut)}}}function T(xt){for(var Xt=Be.allocType(5123,xt.length),jt=0;jt>>31<<15,hr=(ct<<1>>>24)-127,ct=ct>>13&1023;Xt[jt]=-24>hr?wr:-14>hr?wr+(ct+1024>>-14-hr):15>=Hn,an.height>>=Hn,Vt(an,yn[Hn]),Sr.mipmask|=1<ln;++ln)Sr.images[ln]=null;return Sr}function Yt(Sr){for(var ln=Sr.images,an=0;anSr){for(var ln=0;ln=--this.refCount&&pr(this)}}),ut.profile&&(ct.getTotalTextureSize=function(){var Sr=0;return Object.keys(ha).forEach(function(ln){Sr+=ha[ln].stats.size}),Sr}),{create2D:function(Sr,ln){function an(Hn,Ln){var _n=yn.texInfo;ar.call(_n);var Gn=kt();return typeof Hn=="number"?typeof Ln=="number"?je(Gn,Hn|0,Ln|0):je(Gn,Hn|0,Hn|0):Hn?(lr(_n,Hn),We(Gn,Hn)):je(Gn,1,1),_n.genMipmaps&&(Gn.mipmask=(Gn.width<<1)-1),yn.mipmask=Gn.mipmask,Mt(yn,Gn),yn.internalformat=Gn.internalformat,an.width=Gn.width,an.height=Gn.height,cr(yn),It(Gn,3553),rr(_n,3553),vr(),Yt(Gn),ut.profile&&(yn.stats.size=A(yn.internalformat,yn.type,Gn.width,Gn.height,_n.genMipmaps,!1)),an.format=Br[yn.internalformat],an.type=Nr[yn.type],an.mag=en[_n.magFilter],an.min=gn[_n.minFilter],an.wrapS=hn[_n.wrapS],an.wrapT=hn[_n.wrapT],an}var yn=new Nt(3553);return ha[yn.id]=yn,ct.textureCount++,an(Sr,ln),an.subimage=function(Hn,Ln,_n,Gn){Ln|=0,_n|=0,Gn|=0;var la=$t();return Mt(la,yn),la.width=0,la.height=0,Vt(la,Hn),la.width=la.width||(yn.width>>Gn)-Ln,la.height=la.height||(yn.height>>Gn)-_n,cr(yn),Jt(la,3553,Ln,_n,Gn),vr(),ir(la),an},an.resize=function(Hn,Ln){var _n=Hn|0,Gn=Ln|0||_n;if(_n===yn.width&&Gn===yn.height)return an;an.width=yn.width=_n,an.height=yn.height=Gn,cr(yn);for(var la=0;yn.mipmask>>la;++la){var Fa=_n>>la,ii=Gn>>la;if(!Fa||!ii)break;xt.texImage2D(3553,la,yn.format,Fa,ii,0,yn.format,yn.type,null)}return vr(),ut.profile&&(yn.stats.size=A(yn.internalformat,yn.type,_n,Gn,!1,!1)),an},an._reglType="texture2d",an._texture=yn,ut.profile&&(an.stats=yn.stats),an.destroy=function(){yn.decRef()},an},createCube:function(Sr,ln,an,yn,Hn,Ln){function _n(Fa,ii,Zt,Tr,on,dn){var vn,Pn=Gn.texInfo;for(ar.call(Pn),vn=0;6>vn;++vn)la[vn]=kt();if(typeof Fa=="number"||!Fa)for(Fa=Fa|0||1,vn=0;6>vn;++vn)je(la[vn],Fa,Fa);else if(typeof Fa=="object")if(ii)We(la[0],Fa),We(la[1],ii),We(la[2],Zt),We(la[3],Tr),We(la[4],on),We(la[5],dn);else if(lr(Pn,Fa),Lt(Gn,Fa),"faces"in Fa)for(Fa=Fa.faces,vn=0;6>vn;++vn)Mt(la[vn],Gn),We(la[vn],Fa[vn]);else for(vn=0;6>vn;++vn)We(la[vn],Fa);for(Mt(Gn,la[0]),Gn.mipmask=Pn.genMipmaps?(la[0].width<<1)-1:la[0].mipmask,Gn.internalformat=la[0].internalformat,_n.width=la[0].width,_n.height=la[0].height,cr(Gn),vn=0;6>vn;++vn)It(la[vn],34069+vn);for(rr(Pn,34067),vr(),ut.profile&&(Gn.stats.size=A(Gn.internalformat,Gn.type,_n.width,_n.height,Pn.genMipmaps,!0)),_n.format=Br[Gn.internalformat],_n.type=Nr[Gn.type],_n.mag=en[Pn.magFilter],_n.min=gn[Pn.minFilter],_n.wrapS=hn[Pn.wrapS],_n.wrapT=hn[Pn.wrapT],vn=0;6>vn;++vn)Yt(la[vn]);return _n}var Gn=new Nt(34067);ha[Gn.id]=Gn,ct.cubeCount++;var la=Array(6);return _n(Sr,ln,an,yn,Hn,Ln),_n.subimage=function(Fa,ii,Zt,Tr,on){Zt|=0,Tr|=0,on|=0;var dn=$t();return Mt(dn,Gn),dn.width=0,dn.height=0,Vt(dn,ii),dn.width=dn.width||(Gn.width>>on)-Zt,dn.height=dn.height||(Gn.height>>on)-Tr,cr(Gn),Jt(dn,34069+Fa,Zt,Tr,on),vr(),ir(dn),_n},_n.resize=function(Fa){if(Fa|=0,Fa!==Gn.width){_n.width=Gn.width=Fa,_n.height=Gn.height=Fa,cr(Gn);for(var ii=0;6>ii;++ii)for(var Zt=0;Gn.mipmask>>Zt;++Zt)xt.texImage2D(34069+ii,Zt,Gn.format,Fa>>Zt,Fa>>Zt,0,Gn.format,Gn.type,null);return vr(),ut.profile&&(Gn.stats.size=A(Gn.internalformat,Gn.type,_n.width,_n.height,!1,!0)),_n}},_n._reglType="textureCube",_n._texture=Gn,ut.profile&&(_n.stats=Gn.stats),_n.destroy=function(){Gn.decRef()},_n},clear:function(){for(var Sr=0;Sryn;++yn)if(an.mipmask&1<>yn,an.height>>yn,0,an.internalformat,an.type,null);else for(var Hn=0;6>Hn;++Hn)xt.texImage2D(34069+Hn,yn,an.internalformat,an.width>>yn,an.height>>yn,0,an.internalformat,an.type,null);rr(an.texInfo,an.target)})},refresh:function(){for(var Sr=0;Srdr;++dr){for(Kr=0;Krpr;++pr)vr[pr].resize(dr);return cr.width=cr.height=dr,cr},_reglType:"framebufferCube",destroy:function(){vr.forEach(function(pr){pr.destroy()})}})},clear:function(){we(rr).forEach(Cr)},restore:function(){It.cur=null,It.next=null,It.dirty=!0,we(rr).forEach(function(Nt){Nt.framebuffer=xt.createFramebuffer(),je(Nt)})}})}function G(){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 O(xt,Xt,jt,wr,hr,ct,ut){function wt(je){if(je!==Cr.currentVAO){var We=Xt.oes_vertex_array_object;je?We.bindVertexArrayOES(je.vao):We.bindVertexArrayOES(null),Cr.currentVAO=je}}function Mt(je){if(je!==Cr.currentVAO){if(je)je.bindAttrs();else{for(var We=Xt.angle_instanced_arrays,It=0;It=cr.byteLength?vr.subdata(cr):(vr.destroy(),It.buffers[lr]=null)),It.buffers[lr]||(vr=It.buffers[lr]=hr.create(rr,34962,!1,!0)),Nt.buffer=hr.getBuffer(vr),Nt.size=Nt.buffer.dimension|0,Nt.normalized=!1,Nt.type=Nt.buffer.dtype,Nt.offset=0,Nt.stride=0,Nt.divisor=0,Nt.state=1,kt[lr]=1}else hr.getBuffer(rr)?(Nt.buffer=hr.getBuffer(rr),Nt.size=Nt.buffer.dimension|0,Nt.normalized=!1,Nt.type=Nt.buffer.dtype,Nt.offset=0,Nt.stride=0,Nt.divisor=0,Nt.state=1):hr.getBuffer(rr.buffer)?(Nt.buffer=hr.getBuffer(rr.buffer),Nt.size=(+rr.size||Nt.buffer.dimension)|0,Nt.normalized=!!rr.normalized||!1,Nt.type="type"in rr?He[rr.type]:Nt.buffer.dtype,Nt.offset=(rr.offset||0)|0,Nt.stride=(rr.stride||0)|0,Nt.divisor=(rr.divisor||0)|0,Nt.state=1):"x"in rr&&(Nt.x=+rr.x||0,Nt.y=+rr.y||0,Nt.z=+rr.z||0,Nt.w=+rr.w||0,Nt.state=2)}for(vr=0;vr$t&&($t=ir.stats.uniformsCount)}),$t},jt.getMaxAttributesCount=function(){var $t=0;return Vt.forEach(function(ir){ir.stats.attributesCount>$t&&($t=ir.stats.attributesCount)}),$t}),{clear:function(){var $t=xt.deleteShader.bind(xt);we(Lt).forEach($t),Lt={},we(St).forEach($t),St={},Vt.forEach(function(ir){xt.deleteProgram(ir.program)}),Vt.length=0,Ot={},jt.shaderCount=0},program:function($t,ir,Cr,je){var We=Ot[ir];We||(We=Ot[ir]={});var It=We[$t];if(It&&(It.refCount++,!je))return It;var kt=new wt(ir,$t);return jt.shaderCount++,Mt(kt,Cr,je),It||(We[$t]=kt),Vt.push(kt),ae(kt,{destroy:function(){if(kt.refCount--,0>=kt.refCount){xt.deleteProgram(kt.program);var Yt=Vt.indexOf(kt);Vt.splice(Yt,1),jt.shaderCount--}0>=We[kt.vertId].refCount&&(xt.deleteShader(St[kt.vertId]),delete St[kt.vertId],delete Ot[kt.fragId][kt.vertId]),Object.keys(Ot[kt.fragId]).length||(xt.deleteShader(Lt[kt.fragId]),delete Lt[kt.fragId],delete Ot[kt.fragId])}})},restore:function(){Lt={},St={};for(var $t=0;$t>2),wr=0;wr>5]|=(xt.charCodeAt(wr/8)&255)<<24-wr%32;var jt=8*xt.length;xt=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225];var wr=Array(64),hr,ct,ut,wt,Mt,Lt,St,Ot,Vt,Jt,$t;for(Xt[jt>>5]|=128<<24-jt%32,Xt[(jt+64>>9<<4)+15]=jt,Ot=0;OtVt;Vt++){if(16>Vt)wr[Vt]=Xt[Vt+Ot];else{Jt=Vt,$t=wr[Vt-2],$t=ee($t,17)^ee($t,19)^$t>>>10,$t=Q($t,wr[Vt-7]);var ir;ir=wr[Vt-15],ir=ee(ir,7)^ee(ir,18)^ir>>>3,wr[Jt]=Q(Q($t,ir),wr[Vt-16])}Jt=wt,Jt=ee(Jt,6)^ee(Jt,11)^ee(Jt,25),Jt=Q(Q(Q(Q(St,Jt),wt&Mt^~wt&Lt),ft[Vt]),wr[Vt]),St=jt,St=ee(St,2)^ee(St,13)^ee(St,22),$t=Q(St,jt&hr^jt&ct^hr&ct),St=Lt,Lt=Mt,Mt=wt,wt=Q(ut,Jt),ut=ct,ct=hr,hr=jt,jt=Q(Jt,$t)}xt[0]=Q(jt,xt[0]),xt[1]=Q(hr,xt[1]),xt[2]=Q(ct,xt[2]),xt[3]=Q(ut,xt[3]),xt[4]=Q(wt,xt[4]),xt[5]=Q(Mt,xt[5]),xt[6]=Q(Lt,xt[6]),xt[7]=Q(St,xt[7])}for(Xt="",wr=0;wr<32*xt.length;wr+=8)Xt+=String.fromCharCode(xt[wr>>5]>>>24-wr%32&255);return Xt}function V(xt){for(var Xt="",jt,wr=0;wr>>4&15)+"0123456789abcdef".charAt(jt&15);return Xt}function Z(xt){for(var Xt="",jt=-1,wr,hr;++jt=wr&&56320<=hr&&57343>=hr&&(wr=65536+((wr&1023)<<10)+(hr&1023),jt++),127>=wr?Xt+=String.fromCharCode(wr):2047>=wr?Xt+=String.fromCharCode(192|wr>>>6&31,128|wr&63):65535>=wr?Xt+=String.fromCharCode(224|wr>>>12&15,128|wr>>>6&63,128|wr&63):2097151>=wr&&(Xt+=String.fromCharCode(240|wr>>>18&7,128|wr>>>12&63,128|wr>>>6&63,128|wr&63));return Xt}function ee(xt,Xt){return xt>>>Xt|xt<<32-Xt}function Q(xt,Xt){var jt=(xt&65535)+(Xt&65535);return(xt>>16)+(Xt>>16)+(jt>>16)<<16|jt&65535}function ne(xt){return Array.prototype.slice.call(xt)}function fe(xt){return ne(xt).join("")}function $(xt){function Xt(){var St=[],Ot=[];return ae(function(){St.push.apply(St,ne(arguments))},{def:function(){var Vt="v"+hr++;return Ot.push(Vt),0"+ca+"?"+Fr+".constant["+ca+"]:0;"}).join(""),"}}else{","if(",On,"(",Fr,".buffer)){",ta,"=",Yn,".createStream(",34962,",",Fr,".buffer);","}else{",ta,"=",Yn,".getBuffer(",Fr,".buffer);","}",da,'="type" in ',Fr,"?",pn.glTypes,"[",Fr,".type]:",ta,".dtype;",xn.normalized,"=!!",Fr,".normalized;"),Lr("size"),Lr("offset"),Lr("stride"),Lr("divisor"),Rr("}}"),Rr.exit("if(",xn.isStream,"){",Yn,".destroyStream(",ta,");","}"),xn})}),vn}function dr(Zt){var Tr=Zt.static,on=Zt.dynamic,dn={};return Object.keys(Tr).forEach(function(vn){var Pn=Tr[vn];dn[vn]=le(function(An,cn){return typeof Pn=="number"||typeof Pn=="boolean"?""+Pn:An.link(Pn)})}),Object.keys(on).forEach(function(vn){var Pn=on[vn];dn[vn]=q(Pn,function(An,cn){return An.invoke(cn,Pn)})}),dn}function Yr(Zt,Tr,on,dn,vn){function Pn(Bn){var ta=cn[Bn];ta&&(Lr[Bn]=ta)}var An=lr(Zt,Tr),On=Yt(Zt),cn=ar(Zt,On),Rr=Nt(Zt),Lr=cr(Zt),Fr=rr(Zt,vn,An);Pn("viewport"),Pn(Cr("scissor.box"));var pn=0"u"?"Date.now()":"performance.now()"}function An(Bn){Yn=Tr.def(),Bn(Yn,"=",Pn(),";"),typeof vn=="string"?Bn(Fr,".count+=",vn,";"):Bn(Fr,".count++;"),Jt&&(dn?(xn=Tr.def(),Bn(xn,"=",On,".getNumPendingQueries();")):Bn(On,".beginQuery(",Fr,");"))}function cn(Bn){Bn(Fr,".cpuTime+=",Pn(),"-",Yn,";"),Jt&&(dn?Bn(On,".pushScopeStats(",xn,",",On,".getNumPendingQueries(),",Fr,");"):Bn(On,".endQuery();"))}function Rr(Bn){var ta=Tr.def(pn,".profile");Tr(pn,".profile=",Bn,";"),Tr.exit(pn,".profile=",ta,";")}var Lr=Zt.shared,Fr=Zt.stats,pn=Lr.current,On=Lr.timer;on=on.profile;var Yn,xn;if(on){if(re(on)){on.enable?(An(Tr),cn(Tr.exit),Rr("true")):Rr("false");return}on=on.append(Zt,Tr),Rr(on)}else on=Tr.def(pn,".profile");Lr=Zt.block(),An(Lr),Tr("if(",on,"){",Lr,"}"),Zt=Zt.block(),cn(Zt),Tr.exit("if(",on,"){",Zt,"}")}function xr(Zt,Tr,on,dn,vn){function Pn(Rr){switch(Rr){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}}function An(Rr,Lr,Fr){function pn(){Tr("if(!",Bn,".buffer){",Yn,".enableVertexAttribArray(",xn,");}");var ca=Fr.type,ma;ma=Fr.size?Tr.def(Fr.size,"||",Lr):Lr,Tr("if(",Bn,".type!==",ca,"||",Bn,".size!==",ma,"||",fa.map(function(bo){return Bn+"."+bo+"!=="+Fr[bo]}).join("||"),"){",Yn,".bindBuffer(",34962,",",ta,".buffer);",Yn,".vertexAttribPointer(",[xn,ma,ca,Fr.normalized,Fr.stride,Fr.offset],");",Bn,".type=",ca,";",Bn,".size=",ma,";",fa.map(function(bo){return Bn+"."+bo+"="+Fr[bo]+";"}).join(""),"}"),Sr&&(ca=Fr.divisor,Tr("if(",Bn,".divisor!==",ca,"){",Zt.instancing,".vertexAttribDivisorANGLE(",[xn,ca],");",Bn,".divisor=",ca,";}"))}function On(){Tr("if(",Bn,".buffer){",Yn,".disableVertexAttribArray(",xn,");",Bn,".buffer=null;","}if(",At.map(function(ca,ma){return Bn+"."+ca+"!=="+da[ma]}).join("||"),"){",Yn,".vertexAttrib4f(",xn,",",da,");",At.map(function(ca,ma){return Bn+"."+ca+"="+da[ma]+";"}).join(""),"}")}var Yn=cn.gl,xn=Tr.def(Rr,".location"),Bn=Tr.def(cn.attributes,"[",xn,"]");Rr=Fr.state;var ta=Fr.buffer,da=[Fr.x,Fr.y,Fr.z,Fr.w],fa=["buffer","normalized","offset","stride"];Rr===1?pn():Rr===2?On():(Tr("if(",Rr,"===",1,"){"),pn(),Tr("}else{"),On(),Tr("}"))}var cn=Zt.shared;dn.forEach(function(Rr){var Lr=Rr.name,Fr=on.attributes[Lr],pn;if(Fr){if(!vn(Fr))return;pn=Fr.append(Zt,Tr)}else{if(!vn(sr))return;var On=Zt.scopeAttrib(Lr);pn={},Object.keys(new ia).forEach(function(Yn){pn[Yn]=Tr.def(On,".",Yn)})}An(Zt.link(Rr),Pn(Rr.info.type),pn)})}function br(Zt,Tr,on,dn,vn,Pn){for(var An=Zt.shared,cn=An.gl,Rr,Lr=0;Lr>1)",Bn],");")}function ma(){on(ta,".drawArraysInstancedANGLE(",[On,Yn,xn,Bn],");")}pn&&pn!=="null"?fa?ca():(on("if(",pn,"){"),ca(),on("}else{"),ma(),on("}")):ma()}function An(){function ca(){on(Rr+".drawElements("+[On,xn,da,Yn+"<<(("+da+"-5121)>>1)"]+");")}function ma(){on(Rr+".drawArrays("+[On,Yn,xn]+");")}pn&&pn!=="null"?fa?ca():(on("if(",pn,"){"),ca(),on("}else{"),ma(),on("}")):ma()}var cn=Zt.shared,Rr=cn.gl,Lr=cn.draw,Fr=dn.draw,pn=function(){var ca=Fr.elements,ma=Tr;return ca?((ca.contextDep&&dn.contextDynamic||ca.propDep)&&(ma=on),ca=ca.append(Zt,ma),Fr.elementsActive&&ma("if("+ca+")"+Rr+".bindBuffer(34963,"+ca+".buffer.buffer);")):(ca=ma.def(),ma(ca,"=",Lr,".","elements",";","if(",ca,"){",Rr,".bindBuffer(",34963,",",ca,".buffer.buffer);}","else if(",cn.vao,".currentVAO){",ca,"=",Zt.shared.elements+".getElements("+cn.vao,".currentVAO.elements);",an?"":"if("+ca+")"+Rr+".bindBuffer(34963,"+ca+".buffer.buffer);","}")),ca}(),On=vn("primitive"),Yn=vn("offset"),xn=function(){var ca=Fr.count,ma=Tr;return ca?((ca.contextDep&&dn.contextDynamic||ca.propDep)&&(ma=on),ca=ca.append(Zt,ma)):ca=ma.def(Lr,".","count"),ca}();if(typeof xn=="number"){if(xn===0)return}else on("if(",xn,"){"),on.exit("}");var Bn,ta;Sr&&(Bn=vn("instances"),ta=Zt.instancing);var da=pn+".type",fa=Fr.elements&&re(Fr.elements)&&!Fr.vaoActive;Sr&&(typeof Bn!="number"||0<=Bn)?typeof Bn=="string"?(on("if(",Bn,">0){"),Pn(),on("}else if(",Bn,"<0){"),An(),on("}")):Pn():An()}function Nr(Zt,Tr,on,dn,vn){return Tr=It(),vn=Tr.proc("body",vn),Sr&&(Tr.instancing=vn.def(Tr.shared.extensions,".angle_instanced_arrays")),Zt(Tr,vn,on,dn),Tr.compile().body}function en(Zt,Tr,on,dn){kn(Zt,Tr),on.useVAO?on.drawVAO?Tr(Zt.shared.vao,".setVAO(",on.drawVAO.append(Zt,Tr),");"):Tr(Zt.shared.vao,".setVAO(",Zt.shared.vao,".targetVAO);"):(Tr(Zt.shared.vao,".setVAO(null);"),xr(Zt,Tr,on,dn.attributes,function(){return!0})),br(Zt,Tr,on,dn.uniforms,function(){return!0},!1),Br(Zt,Tr,Tr,on)}function gn(Zt,Tr){var on=Zt.proc("draw",1);kn(Zt,on),zr(Zt,on,Tr.context),Or(Zt,on,Tr.framebuffer),mn(Zt,on,Tr),Kr(Zt,on,Tr.state),Dn(Zt,on,Tr,!1,!0);var dn=Tr.shader.progVar.append(Zt,on);if(on(Zt.shared.gl,".useProgram(",dn,".program);"),Tr.shader.program)en(Zt,on,Tr,Tr.shader.program);else{on(Zt.shared.vao,".setVAO(null);");var vn=Zt.global.def("{}"),Pn=on.def(dn,".id"),An=on.def(vn,"[",Pn,"]");on(Zt.cond(An).then(An,".call(this,a0);").else(An,"=",vn,"[",Pn,"]=",Zt.link(function(cn){return Nr(en,Zt,Tr,cn,1)}),"(",dn,");",An,".call(this,a0);"))}0=--this.refCount&&ut(this)},hr.profile&&(wr.getTotalRenderbufferSize=function(){var Ot=0;return Object.keys(St).forEach(function(Vt){Ot+=St[Vt].stats.size}),Ot}),{create:function(Ot,Vt){function Jt(ir,Cr){var je=0,We=0,It=32854;if(typeof ir=="object"&&ir?("shape"in ir?(We=ir.shape,je=We[0]|0,We=We[1]|0):("radius"in ir&&(je=We=ir.radius|0),"width"in ir&&(je=ir.width|0),"height"in ir&&(We=ir.height|0)),"format"in ir&&(It=wt[ir.format])):typeof ir=="number"?(je=ir|0,We=typeof Cr=="number"?Cr|0:je):ir||(je=We=1),je!==$t.width||We!==$t.height||It!==$t.format)return Jt.width=$t.width=je,Jt.height=$t.height=We,$t.format=It,xt.bindRenderbuffer(36161,$t.renderbuffer),xt.renderbufferStorage(36161,It,je,We),hr.profile&&($t.stats.size=me[$t.format]*$t.width*$t.height),Jt.format=Mt[$t.format],Jt}var $t=new ct(xt.createRenderbuffer());return St[$t.id]=$t,wr.renderbufferCount++,Jt(Ot,Vt),Jt.resize=function(ir,Cr){var je=ir|0,We=Cr|0||je;return je===$t.width&&We===$t.height||(Jt.width=$t.width=je,Jt.height=$t.height=We,xt.bindRenderbuffer(36161,$t.renderbuffer),xt.renderbufferStorage(36161,$t.format,je,We),hr.profile&&($t.stats.size=me[$t.format]*$t.width*$t.height)),Jt},Jt._reglType="renderbuffer",Jt._renderbuffer=$t,hr.profile&&(Jt.stats=$t.stats),Jt.destroy=function(){$t.decRef()},Jt},clear:function(){we(St).forEach(ut)},restore:function(){we(St).forEach(function(Ot){Ot.renderbuffer=xt.createRenderbuffer(),xt.bindRenderbuffer(36161,Ot.renderbuffer),xt.renderbufferStorage(36161,Ot.format,Ot.width,Ot.height)}),xt.bindRenderbuffer(36161,null)}}},Ne=[];Ne[6408]=4,Ne[6407]=3;var st=[];st[5121]=1,st[5126]=4,st[36193]=2;var ft=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],At=["x","y","z","w"],Ft="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Ht={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},Gt={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},Rt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},qt={cw:2304,ccw:2305},sr=new X(!1,!1,!1,function(){}),kr=function(xt,Xt){function jt(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function wr(St,Ot,Vt){var Jt=ut.pop()||new jt;Jt.startQueryIndex=St,Jt.endQueryIndex=Ot,Jt.sum=0,Jt.stats=Vt,wt.push(Jt)}if(!Xt.ext_disjoint_timer_query)return null;var hr=[],ct=[],ut=[],wt=[],Mt=[],Lt=[];return{beginQuery:function(St){var Ot=hr.pop()||Xt.ext_disjoint_timer_query.createQueryEXT();Xt.ext_disjoint_timer_query.beginQueryEXT(35007,Ot),ct.push(Ot),wr(ct.length-1,ct.length,St)},endQuery:function(){Xt.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:wr,update:function(){var St,Ot;if(St=ct.length,St!==0){Lt.length=Math.max(Lt.length,St+1),Mt.length=Math.max(Mt.length,St+1),Mt[0]=0;var Vt=Lt[0]=0;for(Ot=St=0;Ot=Dn.length&&wr()}var Mn=ue(Dn,gn);Dn[Mn]=hn}}}function Lt(){var gn=Kr.viewport,hn=Kr.scissor_box;gn[0]=gn[1]=hn[0]=hn[1]=0,ar.viewportWidth=ar.framebufferWidth=ar.drawingBufferWidth=gn[2]=hn[2]=Jt.drawingBufferWidth,ar.viewportHeight=ar.framebufferHeight=ar.drawingBufferHeight=gn[3]=hn[3]=Jt.drawingBufferHeight}function St(){ar.tick+=1,ar.time=Vt(),Lt(),Or.procs.poll()}function Ot(){dr.refresh(),Lt(),Or.procs.refresh(),It&&It.update()}function Vt(){return(Ae()-kt)/1e3}if(xt=t(xt),!xt)return null;var Jt=xt.gl,$t=Jt.getContextAttributes();Jt.isContextLost();var ir=r(Jt,xt);if(!ir)return null;var mn=a(),Cr={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},je=xt.cachedCode||{},We=ir.extensions,It=kr(Jt,We),kt=Ae(),lr=Jt.drawingBufferWidth,Yt=Jt.drawingBufferHeight,ar={tick:0,time:0,viewportWidth:lr,viewportHeight:Yt,framebufferWidth:lr,framebufferHeight:Yt,drawingBufferWidth:lr,drawingBufferHeight:Yt,pixelRatio:xt.pixelRatio},lr={elements:null,primitive:4,count:-1,offset:0,instances:-1},rr=Oe(Jt,We),Nt=l(Jt,Cr,xt,function(gn){return vr.destroyBuffer(gn)}),cr=y(Jt,We,Nt,Cr),vr=O(Jt,We,rr,Cr,Nt,cr,lr),pr=H(Jt,mn,Cr,xt),dr=D(Jt,We,rr,function(){Or.procs.poll()},ar,Cr,xt),Yr=Re(Jt,We,rr,Cr,xt),zr=F(Jt,We,rr,dr,Yr,Cr),Or=te(Jt,mn,We,rr,Nt,cr,dr,zr,{},vr,pr,lr,ar,It,je,xt),mn=z(Jt,zr,Or.procs.poll,ar),Kr=Or.next,kn=Jt.canvas,Dn=[],xr=[],br=[],Br=[xt.onDestroy],Nr=null;kn&&(kn.addEventListener("webglcontextlost",hr,!1),kn.addEventListener("webglcontextrestored",ct,!1));var en=zr.setFBO=ut({framebuffer:xe.define.call(null,1,"framebuffer")});return Ot(),$t=ae(ut,{clear:function(gn){if("framebuffer"in gn)if(gn.framebuffer&&gn.framebuffer_reglType==="framebufferCube")for(var hn=0;6>hn;++hn)en(ae({framebuffer:gn.framebuffer.faces[hn]},gn),wt);else en(gn,wt);else wt(null,gn)},prop:xe.define.bind(null,1),context:xe.define.bind(null,2),this:xe.define.bind(null,3),draw:ut({}),buffer:function(gn){return Nt.create(gn,34962,!1,!1)},elements:function(gn){return cr.create(gn,!1)},texture:dr.create2D,cube:dr.createCube,renderbuffer:Yr.create,framebuffer:zr.create,framebufferCube:zr.createCube,vao:vr.createVAO,attributes:$t,frame:Mt,on:function(gn,hn){var Mn;switch(gn){case"frame":return Mt(hn);case"lost":Mn=xr;break;case"restore":Mn=br;break;case"destroy":Mn=Br}return Mn.push(hn),{cancel:function(){for(var Rn=0;Rn2?"one of ".concat(p," ").concat(d.slice(0,t-1).join(", "),", or ")+d[t-1]:t===2?"one of ".concat(p," ").concat(d[0]," or ").concat(d[1]):"of ".concat(p," ").concat(d[0])}else return"of ".concat(p," ").concat(String(d))}function a(d,p,t){return d.substr(!t||t<0?0:+t,p.length)===p}function C(d,p,t){return(t===void 0||t>d.length)&&(t=d.length),d.substring(t-p.length,t)===p}function w(d,p,t){return typeof t!="number"&&(t=0),t+p.length>d.length?!1:d.indexOf(p,t)!==-1}v("ERR_INVALID_OPT_VALUE",function(d,p){return'The value "'+p+'" is invalid for option "'+d+'"'},TypeError),v("ERR_INVALID_ARG_TYPE",function(d,p,t){var r;typeof p=="string"&&a(p,"not ")?(r="must not be",p=p.replace(/^not /,"")):r="must be";var c;if(C(d," argument"))c="The ".concat(d," ").concat(r," ").concat(E(p,"type"));else{var o=w(d,".")?"property":"argument";c='The "'.concat(d,'" ').concat(o," ").concat(r," ").concat(E(p,"type"))}return c+=". Received type ".concat(typeof t),c},TypeError),v("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),v("ERR_METHOD_NOT_IMPLEMENTED",function(d){return"The "+d+" method is not implemented"}),v("ERR_STREAM_PREMATURE_CLOSE","Premature close"),v("ERR_STREAM_DESTROYED",function(d){return"Cannot call "+d+" after a stream was destroyed"}),v("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),v("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),v("ERR_STREAM_WRITE_AFTER_END","write after end"),v("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),v("ERR_UNKNOWN_ENCODING",function(d){return"Unknown encoding: "+d},TypeError),v("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),U.exports.q=e},37865:function(U,B,e){var v=e(90386),E=Object.keys||function(o){var n=[];for(var u in o)n.push(u);return n};U.exports=t;var a=e(40410),C=e(37493);e(42018)(t,a);for(var w=E(C.prototype),d=0;d0)if(typeof te!="string"&&!xe.objectMode&&Object.getPrototypeOf(te)!==w.prototype&&(te=p(te)),ae)xe.endEmitted?L(q,new l):A(q,xe,te,!0);else if(xe.ended)L(q,new x);else{if(xe.destroyed)return!1;xe.reading=!1,xe.decoder&&!ue?(te=xe.decoder.write(te),xe.objectMode||te.length!==0?A(q,xe,te,!1):V(q,xe)):A(q,xe,te,!1)}else ae||(xe.reading=!1,V(q,xe))}return!xe.ended&&(xe.length=F?q=F:(q--,q|=q>>>1,q|=q>>>2,q|=q>>>4,q|=q>>>8,q|=q>>>16,q++),q}function O(q,te){return q<=0||te.length===0&&te.ended?0:te.objectMode?1:q!==q?te.flowing&&te.length?te.buffer.head.data.length:te.length:(q>te.highWaterMark&&(te.highWaterMark=G(q)),q<=te.length?q:te.ended?te.length:(te.needReadable=!0,0))}s.prototype.read=function(q){c("read",q),q=parseInt(q,10);var te=this._readableState,ue=q;if(q!==0&&(te.emittedReadable=!1),q===0&&te.needReadable&&((te.highWaterMark!==0?te.length>=te.highWaterMark:te.length>0)||te.ended))return c("read: emitReadable",te.length,te.ended),te.length===0&&te.ended?X(this):z(this),null;if(q=O(q,te),q===0&&te.ended)return te.length===0&&X(this),null;var ae=te.needReadable;c("need readable",ae),(te.length===0||te.length-q0?de=j(q,te):de=null,de===null?(te.needReadable=te.length<=te.highWaterMark,q=0):(te.length-=q,te.awaitDrain=0),te.length===0&&(te.ended||(te.needReadable=!0),ue!==q&&te.ended&&X(this)),de!==null&&this.emit("data",de),de};function H(q,te){if(c("onEofChunk"),!te.ended){if(te.decoder){var ue=te.decoder.end();ue&&ue.length&&(te.buffer.push(ue),te.length+=te.objectMode?1:ue.length)}te.ended=!0,te.sync?z(q):(te.needReadable=!1,te.emittedReadable||(te.emittedReadable=!0,k(q)))}}function z(q){var te=q._readableState;c("emitReadable",te.needReadable,te.emittedReadable),te.needReadable=!1,te.emittedReadable||(c("emitReadable",te.flowing),te.emittedReadable=!0,v.nextTick(k,q))}function k(q){var te=q._readableState;c("emitReadable_",te.destroyed,te.length,te.ended),!te.destroyed&&(te.length||te.ended)&&(q.emit("readable"),te.emittedReadable=!1),te.needReadable=!te.flowing&&!te.ended&&te.length<=te.highWaterMark,Y(q)}function V(q,te){te.readingMore||(te.readingMore=!0,v.nextTick(Z,q,te))}function Z(q,te){for(;!te.reading&&!te.ended&&(te.length1&&le(ae.pipes,q)!==-1)&&!Oe&&(c("false write response, pause",ae.awaitDrain),ae.awaitDrain++),ue.pause())}function Ce(Fe){c("onerror",Fe),De(),q.removeListener("error",Ce),a(q,"error")===0&&L(q,Fe)}M(q,"error",Ce);function Ge(){q.removeListener("finish",He),De()}q.once("close",Ge);function He(){c("onfinish"),q.removeListener("close",Ge),De()}q.once("finish",He);function De(){c("unpipe"),ue.unpipe(q)}return q.emit("pipe",ue),ae.flowing||(c("pipe resume"),ue.resume()),q};function ee(q){return function(){var ue=q._readableState;c("pipeOnDrain",ue.awaitDrain),ue.awaitDrain&&ue.awaitDrain--,ue.awaitDrain===0&&a(q,"data")&&(ue.flowing=!0,Y(q))}}s.prototype.unpipe=function(q){var te=this._readableState,ue={hasUnpiped:!1};if(te.pipesCount===0)return this;if(te.pipesCount===1)return q&&q!==te.pipes?this:(q||(q=te.pipes),te.pipes=null,te.pipesCount=0,te.flowing=!1,q&&q.emit("unpipe",this,ue),this);if(!q){var ae=te.pipes,de=te.pipesCount;te.pipes=null,te.pipesCount=0,te.flowing=!1;for(var xe=0;xe0,ae.flowing!==!1&&this.resume()):q==="readable"&&!ae.endEmitted&&!ae.readableListening&&(ae.readableListening=ae.needReadable=!0,ae.flowing=!1,ae.emittedReadable=!1,c("on readable",ae.length,ae.reading),ae.length?z(this):ae.reading||v.nextTick(ne,this)),ue},s.prototype.addListener=s.prototype.on,s.prototype.removeListener=function(q,te){var ue=C.prototype.removeListener.call(this,q,te);return q==="readable"&&v.nextTick(Q,this),ue},s.prototype.removeAllListeners=function(q){var te=C.prototype.removeAllListeners.apply(this,arguments);return(q==="readable"||q===void 0)&&v.nextTick(Q,this),te};function Q(q){var te=q._readableState;te.readableListening=q.listenerCount("readable")>0,te.resumeScheduled&&!te.paused?te.flowing=!0:q.listenerCount("data")>0&&q.resume()}function ne(q){c("readable nexttick read 0"),q.read(0)}s.prototype.resume=function(){var q=this._readableState;return q.flowing||(c("resume"),q.flowing=!q.readableListening,fe(this,q)),q.paused=!1,this};function fe(q,te){te.resumeScheduled||(te.resumeScheduled=!0,v.nextTick($,q,te))}function $(q,te){c("resume",te.reading),te.reading||q.read(0),te.resumeScheduled=!1,q.emit("resume"),Y(q),te.flowing&&!te.reading&&q.read(0)}s.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Y(q){var te=q._readableState;for(c("flow",te.flowing);te.flowing&&q.read()!==null;);}s.prototype.wrap=function(q){var te=this,ue=this._readableState,ae=!1;q.on("end",function(){if(c("wrapped end"),ue.decoder&&!ue.ended){var Se=ue.decoder.end();Se&&Se.length&&te.push(Se)}te.push(null)}),q.on("data",function(Se){if(c("wrapped data"),ue.decoder&&(Se=ue.decoder.write(Se)),!(ue.objectMode&&Se==null)&&!(!ue.objectMode&&(!Se||!Se.length))){var Ae=te.push(Se);Ae||(ae=!0,q.pause())}});for(var de in q)this[de]===void 0&&typeof q[de]=="function"&&(this[de]=function(Ae){return function(){return q[Ae].apply(q,arguments)}}(de));for(var xe=0;xe=te.length?(te.decoder?ue=te.buffer.join(""):te.buffer.length===1?ue=te.buffer.first():ue=te.buffer.concat(te.length),te.buffer.clear()):ue=te.buffer.consume(q,te.decoder),ue}function X(q){var te=q._readableState;c("endReadable",te.endEmitted),te.endEmitted||(te.ended=!0,v.nextTick(re,te,q))}function re(q,te){if(c("endReadableNT",q.endEmitted,q.length),!q.endEmitted&&q.length===0&&(q.endEmitted=!0,te.readable=!1,te.emit("end"),q.autoDestroy)){var ue=te._writableState;(!ue||ue.autoDestroy&&ue.finished)&&te.destroy()}}typeof Symbol=="function"&&(s.from=function(q,te){return S===void 0&&(S=e(31748)),S(s,q,te)});function le(q,te){for(var ue=0,ae=q.length;ue-1))throw new T(j);return this._writableState.defaultEncoding=j,this},Object.defineProperty(b.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function A(Y,j,X){return!Y.objectMode&&Y.decodeStrings!==!1&&typeof j=="string"&&(j=d.from(j,X)),j}Object.defineProperty(b.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function D(Y,j,X,re,le,q){if(!X){var te=A(j,re,le);re!==te&&(X=!0,le="buffer",re=te)}var ue=j.objectMode?1:re.length;j.length+=ue;var ae=j.length0?this.tail.next=h:this.head=h,this.tail=h,++this.length}},{key:"unshift",value:function(g){var h={data:g,next:this.head};this.length===0&&(this.tail=h),this.head=h,++this.length}},{key:"shift",value:function(){if(this.length!==0){var g=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,g}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(g){if(this.length===0)return"";for(var h=this.head,x=""+h.data;h=h.next;)x+=g+h.data;return x}},{key:"concat",value:function(g){if(this.length===0)return t.alloc(0);for(var h=t.allocUnsafe(g>>>0),x=this.head,f=0;x;)n(x.data,h,f),f+=x.data.length,x=x.next;return h}},{key:"consume",value:function(g,h){var x;return gl.length?l.length:g;if(y===l.length?f+=l:f+=l.slice(0,g),g-=y,g===0){y===l.length?(++x,h.next?this.head=h.next:this.head=this.tail=null):(this.head=h,h.data=l.slice(y));break}++x}return this.length-=x,f}},{key:"_getBuffer",value:function(g){var h=t.allocUnsafe(g),x=this.head,f=1;for(x.data.copy(h),g-=x.data.length;x=x.next;){var l=x.data,y=g>l.length?l.length:g;if(l.copy(h,h.length-g,0,y),g-=y,g===0){y===l.length?(++f,x.next?this.head=x.next:this.head=this.tail=null):(this.head=x,x.data=l.slice(y));break}++f}return this.length-=f,h}},{key:o,value:function(g,h){return c(this,E({},h,{depth:0,customInspect:!1}))}}]),u}()},65756:function(U,B,e){var v=e(90386);function E(t,r){var c=this,o=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return o||n?(r?r(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,v.nextTick(d,this,t)):v.nextTick(d,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(u){!r&&u?c._writableState?c._writableState.errorEmitted?v.nextTick(C,c):(c._writableState.errorEmitted=!0,v.nextTick(a,c,u)):v.nextTick(a,c,u):r?(v.nextTick(C,c),r(u)):v.nextTick(C,c)}),this)}function a(t,r){d(t,r),C(t)}function C(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function w(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function d(t,r){t.emit("error",r)}function p(t,r){var c=t._readableState,o=t._writableState;c&&c.autoDestroy||o&&o.autoDestroy?t.destroy(r):t.emit("error",r)}U.exports={destroy:E,undestroy:w,errorOrDestroy:p}},12726:function(U,B,e){var v=e(74322).q.ERR_STREAM_PREMATURE_CLOSE;function E(d){var p=!1;return function(){if(!p){p=!0;for(var t=arguments.length,r=new Array(t),c=0;c0;return t(l,T,S,function(L){x||(x=L),L&&f.forEach(r),!T&&(f.forEach(r),h(x))})});return i.reduce(c)}U.exports=n},56306:function(U,B,e){var v=e(74322).q.ERR_INVALID_OPT_VALUE;function E(C,w,d){return C.highWaterMark!=null?C.highWaterMark:w?C[d]:null}function a(C,w,d,p){var t=E(w,p,d);if(t!=null){if(!(isFinite(t)&&Math.floor(t)===t)||t<0){var r=p?d:"highWaterMark";throw new v(r,t)}return Math.floor(t)}return C.objectMode?16:16384}U.exports={getHighWaterMark:a}},71405:function(U,B,e){U.exports=e(15398).EventEmitter},68019:function(U,B,e){var v=e(71665).Buffer,E=v.isEncoding||function(f){switch(f=""+f,f&&f.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(f){if(!f)return"utf8";for(var l;;)switch(f){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return f;default:if(l)return;f=(""+f).toLowerCase(),l=!0}}function C(f){var l=a(f);if(typeof l!="string"&&(v.isEncoding===E||!E(f)))throw new Error("Unknown encoding: "+f);return l||f}B.s=w;function w(f){this.encoding=C(f);var l;switch(this.encoding){case"utf16le":this.text=n,this.end=u,l=4;break;case"utf8":this.fillLast=r,l=4;break;case"base64":this.text=i,this.end=g,l=3;break;default:this.write=h,this.end=x;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=v.allocUnsafe(l)}w.prototype.write=function(f){if(f.length===0)return"";var l,y;if(this.lastNeed){if(l=this.fillLast(f),l===void 0)return"";y=this.lastNeed,this.lastNeed=0}else y=0;return y>5===6?2:f>>4===14?3:f>>3===30?4:f>>6===2?-1:-2}function p(f,l,y){var T=l.length-1;if(T=0?(S>0&&(f.lastNeed=S-1),S):--T=0?(S>0&&(f.lastNeed=S-2),S):--T=0?(S>0&&(S===2?S=0:f.lastNeed=S-3),S):0))}function t(f,l,y){if((l[0]&192)!==128)return f.lastNeed=0,"�";if(f.lastNeed>1&&l.length>1){if((l[1]&192)!==128)return f.lastNeed=1,"�";if(f.lastNeed>2&&l.length>2&&(l[2]&192)!==128)return f.lastNeed=2,"�"}}function r(f){var l=this.lastTotal-this.lastNeed,y=t(this,f);if(y!==void 0)return y;if(this.lastNeed<=f.length)return f.copy(this.lastChar,l,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);f.copy(this.lastChar,l,0,f.length),this.lastNeed-=f.length}function c(f,l){var y=p(this,f,l);if(!this.lastNeed)return f.toString("utf8",l);this.lastTotal=y;var T=f.length-(y-this.lastNeed);return f.copy(this.lastChar,0,T),f.toString("utf8",l,T)}function o(f){var l=f&&f.length?this.write(f):"";return this.lastNeed?l+"�":l}function n(f,l){if((f.length-l)%2===0){var y=f.toString("utf16le",l);if(y){var T=y.charCodeAt(y.length-1);if(T>=55296&&T<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=f[f.length-2],this.lastChar[1]=f[f.length-1],y.slice(0,-1)}return y}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=f[f.length-1],f.toString("utf16le",l,f.length-1)}function u(f){var l=f&&f.length?this.write(f):"";if(this.lastNeed){var y=this.lastTotal-this.lastNeed;return l+this.lastChar.toString("utf16le",0,y)}return l}function i(f,l){var y=(f.length-l)%3;return y===0?f.toString("base64",l):(this.lastNeed=3-y,this.lastTotal=3,y===1?this.lastChar[0]=f[f.length-1]:(this.lastChar[0]=f[f.length-2],this.lastChar[1]=f[f.length-1]),f.toString("base64",l,f.length-y))}function g(f){var l=f&&f.length?this.write(f):"";return this.lastNeed?l+this.lastChar.toString("base64",0,3-this.lastNeed):l}function h(f){return f.toString(this.encoding)}function x(f){return f&&f.length?this.write(f):""}},90715:function(U,B,e){var v=e(32791),E=e(41633)("stream-parser");U.exports=p;var a=-1,C=0,w=1,d=2;function p(f){var l=f&&typeof f._transform=="function",y=f&&typeof f._write=="function";if(!l&&!y)throw new Error("must pass a Writable or Transform stream in");E("extending Parser into stream"),f._bytes=r,f._skipBytes=c,l&&(f._passthrough=o),l?f._transform=u:f._write=n}function t(f){E("initializing parser stream"),f._parserBytesLeft=0,f._parserBuffers=[],f._parserBuffered=0,f._parserState=a,f._parserCallback=null,typeof f.push=="function"&&(f._parserOutput=f.push.bind(f)),f._parserInit=!0}function r(f,l){v(!this._parserCallback,'there is already a "callback" set!'),v(isFinite(f)&&f>0,'can only buffer a finite number of bytes > 0, got "'+f+'"'),this._parserInit||t(this),E("buffering %o bytes",f),this._parserBytesLeft=f,this._parserCallback=l,this._parserState=C}function c(f,l){v(!this._parserCallback,'there is already a "callback" set!'),v(f>0,'can only skip > 0 bytes, got "'+f+'"'),this._parserInit||t(this),E("skipping %o bytes",f),this._parserBytesLeft=f,this._parserCallback=l,this._parserState=w}function o(f,l){v(!this._parserCallback,'There is already a "callback" set!'),v(f>0,'can only pass through > 0 bytes, got "'+f+'"'),this._parserInit||t(this),E("passing through %o bytes",f),this._parserBytesLeft=f,this._parserCallback=l,this._parserState=d}function n(f,l,y){this._parserInit||t(this),E("write(%o bytes)",f.length),typeof l=="function"&&(y=l),h(this,f,null,y)}function u(f,l,y){this._parserInit||t(this),E("transform(%o bytes)",f.length),typeof l!="function"&&(l=this._parserOutput),h(this,f,l,y)}function i(f,l,y,T){return f._parserBytesLeft<=0?T(new Error("got data but not currently parsing anything")):l.length<=f._parserBytesLeft?function(){return g(f,l,y,T)}:function(){var S=l.slice(0,f._parserBytesLeft);return g(f,S,y,function(L){if(L)return T(L);if(l.length>S.length)return function(){return i(f,l.slice(S.length),y,T)}})}}function g(f,l,y,T){if(f._parserBytesLeft-=l.length,E("%o bytes left for stream piece",f._parserBytesLeft),f._parserState===C?(f._parserBuffers.push(l),f._parserBuffered+=l.length):f._parserState===d&&y(l),f._parserBytesLeft===0){var S=f._parserCallback;if(S&&f._parserState===C&&f._parserBuffers.length>1&&(l=Buffer.concat(f._parserBuffers,f._parserBuffered)),f._parserState!==C&&(l=null),f._parserCallback=null,f._parserBuffered=0,f._parserState=a,f._parserBuffers.splice(0),S){var L=[];l&&L.push(l),y&&L.push(y);var m=S.length>L.length;m&&L.push(x(T));var M=S.apply(f,L);if(!m||T===M)return T}}else return T}var h=x(i);function x(f){return function(){for(var l=f.apply(this,arguments);typeof l=="function";)l=l();return l}}},41633:function(U,B,e){var v=e(90386);B=U.exports=e(74469),B.log=C,B.formatArgs=a,B.save=w,B.load=d,B.useColors=E,B.storage=typeof chrome<"u"&&typeof chrome.storage<"u"?chrome.storage.local:p(),B.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"];function E(){return typeof window<"u"&&window.process&&window.process.type==="renderer"?!0:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}B.formatters.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}};function a(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+B.humanize(this.diff),!!r){var c="color: "+this.color;t.splice(1,0,c,"color: inherit");var o=0,n=0;t[0].replace(/%[a-zA-Z%]/g,function(u){u!=="%%"&&(o++,u==="%c"&&(n=o))}),t.splice(n,0,c)}}function C(){return typeof console=="object"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function w(t){try{t==null?B.storage.removeItem("debug"):B.storage.debug=t}catch{}}function d(){var t;try{t=B.storage.debug}catch{}return!t&&typeof v<"u"&&"env"in v&&(t={}.DEBUG),t}B.enable(d());function p(){try{return window.localStorage}catch{}}},74469:function(U,B,e){B=U.exports=a.debug=a.default=a,B.coerce=p,B.disable=w,B.enable=C,B.enabled=d,B.humanize=e(11375),B.names=[],B.skips=[],B.formatters={};var v;function E(t){var r=0,c;for(c in t)r=(r<<5)-r+t.charCodeAt(c),r|=0;return B.colors[Math.abs(r)%B.colors.length]}function a(t){function r(){if(r.enabled){var c=r,o=+new Date,n=o-(v||o);c.diff=n,c.prev=v,c.curr=o,v=o;for(var u=new Array(arguments.length),i=0;i0)return C(t);if(c==="number"&&isNaN(t)===!1)return r.long?d(t):w(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function C(t){if(t=String(t),!(t.length>100)){var r=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(r){var c=parseFloat(r[1]),o=(r[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return c*a;case"days":case"day":case"d":return c*E;case"hours":case"hour":case"hrs":case"hr":case"h":return c*v;case"minutes":case"minute":case"mins":case"min":case"m":return c*e;case"seconds":case"second":case"secs":case"sec":case"s":return c*B;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}}}function w(t){return t>=E?Math.round(t/E)+"d":t>=v?Math.round(t/v)+"h":t>=e?Math.round(t/e)+"m":t>=B?Math.round(t/B)+"s":t+"ms"}function d(t){return p(t,E,"day")||p(t,v,"hour")||p(t,e,"minute")||p(t,B,"second")||t+" ms"}function p(t,r,c){if(!(t",'""',"''","``","“”","«»"]:(typeof w.ignore=="string"&&(w.ignore=[w.ignore]),w.ignore=w.ignore.map(function(u){return u.length===1&&(u=u+u),u}));var d=v.parse(a,{flat:!0,brackets:w.ignore}),p=d[0],t=p.split(C);if(w.escape){for(var r=[],c=0;c0;){h=f[f.length-1];var l=e[h];if(w[h]=0&&p[h].push(d[T])}w[h]=y}else{if(a[h]===E[h]){for(var S=[],L=[],m=0,y=x.length-1;y>=0;--y){var M=x[y];if(C[M]=!1,S.push(M),L.push(p[M]),m+=p[M].length,d[M]=c.length,M===h){x.length=y;break}}c.push(S);for(var b=new Array(m),y=0;y1&&(i=1),i<-1&&(i=-1),u*Math.acos(i)},d=function(r,c,o,n,u,i,g,h,x,f,l,y){var T=Math.pow(u,2),S=Math.pow(i,2),L=Math.pow(l,2),m=Math.pow(y,2),M=T*S-T*m-S*L;M<0&&(M=0),M/=T*m+S*L,M=Math.sqrt(M)*(g===h?-1:1);var b=M*u/i*y,s=M*-i/u*l,_=f*b-x*s+(r+o)/2,A=x*b+f*s+(c+n)/2,D=(l-b)/u,F=(y-s)/i,G=(-l-b)/u,O=(-y-s)/i,H=w(1,0,D,F),z=w(D,F,G,O);return h===0&&z>0&&(z-=E),h===1&&z<0&&(z+=E),[_,A,H,z]},p=function(r){var c=r.px,o=r.py,n=r.cx,u=r.cy,i=r.rx,g=r.ry,h=r.xAxisRotation,x=h===void 0?0:h,f=r.largeArcFlag,l=f===void 0?0:f,y=r.sweepFlag,T=y===void 0?0:y,S=[];if(i===0||g===0)return[];var L=Math.sin(x*E/360),m=Math.cos(x*E/360),M=m*(c-n)/2+L*(o-u)/2,b=-L*(c-n)/2+m*(o-u)/2;if(M===0&&b===0)return[];i=Math.abs(i),g=Math.abs(g);var s=Math.pow(M,2)/Math.pow(i,2)+Math.pow(b,2)/Math.pow(g,2);s>1&&(i*=Math.sqrt(s),g*=Math.sqrt(s));var _=d(c,o,n,u,i,g,l,T,L,m,M,b),A=v(_,4),D=A[0],F=A[1],G=A[2],O=A[3],H=Math.abs(O)/(E/4);Math.abs(1-H)<1e-7&&(H=1);var z=Math.max(Math.ceil(H),1);O/=z;for(var k=0;kt[2]&&(t[2]=o[n+0]),o[n+1]>t[3]&&(t[3]=o[n+1]);return t}},29988:function(U,B,e){U.exports=E;var v=e(7095);function E(w){for(var d,p=[],t=0,r=0,c=0,o=0,n=null,u=null,i=0,g=0,h=0,x=w.length;h4?(t=f[f.length-4],r=f[f.length-3]):(t=i,r=g),p.push(f)}return p}function a(w,d,p,t){return["C",w,d,p,t,p,t]}function C(w,d,p,t,r,c){return["C",w/3+.6666666666666666*p,d/3+.6666666666666666*t,r/3+.6666666666666666*p,c/3+.6666666666666666*t,r,c]}},82019:function(U,B,e){var v=e(1750),E=e(95616),a=e(31457),C=e(89546),w=e(44781),d=document.createElement("canvas"),p=d.getContext("2d");U.exports=t;function t(o,n){if(!C(o))throw Error("Argument should be valid svg path string");n||(n={});var u,i;n.shape?(u=n.shape[0],i=n.shape[1]):(u=d.width=n.w||n.width||200,i=d.height=n.h||n.height||200);var g=Math.min(u,i),h=n.stroke||0,x=n.viewbox||n.viewBox||v(o),f=[u/(x[2]-x[0]),i/(x[3]-x[1])],l=Math.min(f[0]||0,f[1]||0)/2;if(p.fillStyle="black",p.fillRect(0,0,u,i),p.fillStyle="white",h&&(typeof h!="number"&&(h=1),h>0?p.strokeStyle="white":p.strokeStyle="black",p.lineWidth=Math.abs(h)),p.translate(u*.5,i*.5),p.scale(l,l),c()){var y=new Path2D(o);p.fill(y),h&&p.stroke(y)}else{var T=E(o);a(p,T),p.fill(),h&&p.stroke()}p.setTransform(1,0,0,1,0,0);var S=w(p,{cutoff:n.cutoff!=null?n.cutoff:.5,radius:n.radius!=null?n.radius:g*.5});return S}var r;function c(){if(r!=null)return r;var o=document.createElement("canvas").getContext("2d");if(o.canvas.width=o.canvas.height=1,!window.Path2D)return r=!1;var n=new Path2D("M0,0h1v1h-1v-1Z");o.fillStyle="black",o.fill(n);var u=o.getImageData(0,0,1,1);return r=u&&u.data&&u.data[3]===255}},84267:function(U,B,e){var v;(function(E){var a=/^\s+/,C=/\s+$/,w=0,d=E.round,p=E.min,t=E.max,r=E.random;function c(te,ue){if(te=te||"",ue=ue||{},te instanceof c)return te;if(!(this instanceof c))return new c(te,ue);var ae=o(te);this._originalInput=te,this._r=ae.r,this._g=ae.g,this._b=ae.b,this._a=ae.a,this._roundA=d(100*this._a)/100,this._format=ue.format||ae.format,this._gradientType=ue.gradientType,this._r<1&&(this._r=d(this._r)),this._g<1&&(this._g=d(this._g)),this._b<1&&(this._b=d(this._b)),this._ok=ae.ok,this._tc_id=w++}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 te=this.toRgb();return(te.r*299+te.g*587+te.b*114)/1e3},getLuminance:function(){var te=this.toRgb(),ue,ae,de,xe,Se,Ae;return ue=te.r/255,ae=te.g/255,de=te.b/255,ue<=.03928?xe=ue/12.92:xe=E.pow((ue+.055)/1.055,2.4),ae<=.03928?Se=ae/12.92:Se=E.pow((ae+.055)/1.055,2.4),de<=.03928?Ae=de/12.92:Ae=E.pow((de+.055)/1.055,2.4),.2126*xe+.7152*Se+.0722*Ae},setAlpha:function(te){return this._a=k(te),this._roundA=d(100*this._a)/100,this},toHsv:function(){var te=g(this._r,this._g,this._b);return{h:te.h*360,s:te.s,v:te.v,a:this._a}},toHsvString:function(){var te=g(this._r,this._g,this._b),ue=d(te.h*360),ae=d(te.s*100),de=d(te.v*100);return this._a==1?"hsv("+ue+", "+ae+"%, "+de+"%)":"hsva("+ue+", "+ae+"%, "+de+"%, "+this._roundA+")"},toHsl:function(){var te=u(this._r,this._g,this._b);return{h:te.h*360,s:te.s,l:te.l,a:this._a}},toHslString:function(){var te=u(this._r,this._g,this._b),ue=d(te.h*360),ae=d(te.s*100),de=d(te.l*100);return this._a==1?"hsl("+ue+", "+ae+"%, "+de+"%)":"hsla("+ue+", "+ae+"%, "+de+"%, "+this._roundA+")"},toHex:function(te){return x(this._r,this._g,this._b,te)},toHexString:function(te){return"#"+this.toHex(te)},toHex8:function(te){return f(this._r,this._g,this._b,this._a,te)},toHex8String:function(te){return"#"+this.toHex8(te)},toRgb:function(){return{r:d(this._r),g:d(this._g),b:d(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+d(this._r)+", "+d(this._g)+", "+d(this._b)+")":"rgba("+d(this._r)+", "+d(this._g)+", "+d(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:d(V(this._r,255)*100)+"%",g:d(V(this._g,255)*100)+"%",b:d(V(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+d(V(this._r,255)*100)+"%, "+d(V(this._g,255)*100)+"%, "+d(V(this._b,255)*100)+"%)":"rgba("+d(V(this._r,255)*100)+"%, "+d(V(this._g,255)*100)+"%, "+d(V(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:H[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(te){var ue="#"+l(this._r,this._g,this._b,this._a),ae=ue,de=this._gradientType?"GradientType = 1, ":"";if(te){var xe=c(te);ae="#"+l(xe._r,xe._g,xe._b,xe._a)}return"progid:DXImageTransform.Microsoft.gradient("+de+"startColorstr="+ue+",endColorstr="+ae+")"},toString:function(te){var ue=!!te;te=te||this._format;var ae=!1,de=this._a<1&&this._a>=0,xe=!ue&&de&&(te==="hex"||te==="hex6"||te==="hex3"||te==="hex4"||te==="hex8"||te==="name");return xe?te==="name"&&this._a===0?this.toName():this.toRgbString():(te==="rgb"&&(ae=this.toRgbString()),te==="prgb"&&(ae=this.toPercentageRgbString()),(te==="hex"||te==="hex6")&&(ae=this.toHexString()),te==="hex3"&&(ae=this.toHexString(!0)),te==="hex4"&&(ae=this.toHex8String(!0)),te==="hex8"&&(ae=this.toHex8String()),te==="name"&&(ae=this.toName()),te==="hsl"&&(ae=this.toHslString()),te==="hsv"&&(ae=this.toHsvString()),ae||this.toHexString())},clone:function(){return c(this.toString())},_applyModification:function(te,ue){var ae=te.apply(null,[this].concat([].slice.call(ue)));return this._r=ae._r,this._g=ae._g,this._b=ae._b,this.setAlpha(ae._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(M,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(T,arguments)},greyscale:function(){return this._applyModification(S,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(te,ue){return te.apply(null,[this].concat([].slice.call(ue)))},analogous:function(){return this._applyCombination(F,arguments)},complement:function(){return this._applyCombination(s,arguments)},monochromatic:function(){return this._applyCombination(G,arguments)},splitcomplement:function(){return this._applyCombination(D,arguments)},triad:function(){return this._applyCombination(_,arguments)},tetrad:function(){return this._applyCombination(A,arguments)}},c.fromRatio=function(te,ue){if(typeof te=="object"){var ae={};for(var de in te)te.hasOwnProperty(de)&&(de==="a"?ae[de]=te[de]:ae[de]=$(te[de]));te=ae}return c(te,ue)};function o(te){var ue={r:0,g:0,b:0},ae=1,de=null,xe=null,Se=null,Ae=!1,Be=!1;return typeof te=="string"&&(te=le(te)),typeof te=="object"&&(re(te.r)&&re(te.g)&&re(te.b)?(ue=n(te.r,te.g,te.b),Ae=!0,Be=String(te.r).substr(-1)==="%"?"prgb":"rgb"):re(te.h)&&re(te.s)&&re(te.v)?(de=$(te.s),xe=$(te.v),ue=h(te.h,de,xe),Ae=!0,Be="hsv"):re(te.h)&&re(te.s)&&re(te.l)&&(de=$(te.s),Se=$(te.l),ue=i(te.h,de,Se),Ae=!0,Be="hsl"),te.hasOwnProperty("a")&&(ae=te.a)),ae=k(ae),{ok:Ae,format:te.format||Be,r:p(255,t(ue.r,0)),g:p(255,t(ue.g,0)),b:p(255,t(ue.b,0)),a:ae}}function n(te,ue,ae){return{r:V(te,255)*255,g:V(ue,255)*255,b:V(ae,255)*255}}function u(te,ue,ae){te=V(te,255),ue=V(ue,255),ae=V(ae,255);var de=t(te,ue,ae),xe=p(te,ue,ae),Se,Ae,Be=(de+xe)/2;if(de==xe)Se=Ae=0;else{var Oe=de-xe;switch(Ae=Be>.5?Oe/(2-de-xe):Oe/(de+xe),de){case te:Se=(ue-ae)/Oe+(ue1&&(Ce-=1),Ce<.16666666666666666?Ee+(we-Ee)*6*Ce:Ce<.5?we:Ce<.6666666666666666?Ee+(we-Ee)*(.6666666666666666-Ce)*6:Ee}if(ue===0)de=xe=Se=ae;else{var Be=ae<.5?ae*(1+ue):ae+ue-ae*ue,Oe=2*ae-Be;de=Ae(Oe,Be,te+.3333333333333333),xe=Ae(Oe,Be,te),Se=Ae(Oe,Be,te-.3333333333333333)}return{r:de*255,g:xe*255,b:Se*255}}function g(te,ue,ae){te=V(te,255),ue=V(ue,255),ae=V(ae,255);var de=t(te,ue,ae),xe=p(te,ue,ae),Se,Ae,Be=de,Oe=de-xe;if(Ae=de===0?0:Oe/de,de==xe)Se=0;else{switch(de){case te:Se=(ue-ae)/Oe+(ue>1)+720)%360;--ue;)de.h=(de.h+xe)%360,Se.push(c(de));return Se}function G(te,ue){ue=ue||6;for(var ae=c(te).toHsv(),de=ae.h,xe=ae.s,Se=ae.v,Ae=[],Be=1/ue;ue--;)Ae.push(c({h:de,s:xe,v:Se})),Se=(Se+Be)%1;return Ae}c.mix=function(te,ue,ae){ae=ae===0?0:ae||50;var de=c(te).toRgb(),xe=c(ue).toRgb(),Se=ae/100,Ae={r:(xe.r-de.r)*Se+de.r,g:(xe.g-de.g)*Se+de.g,b:(xe.b-de.b)*Se+de.b,a:(xe.a-de.a)*Se+de.a};return c(Ae)},c.readability=function(te,ue){var ae=c(te),de=c(ue);return(E.max(ae.getLuminance(),de.getLuminance())+.05)/(E.min(ae.getLuminance(),de.getLuminance())+.05)},c.isReadable=function(te,ue,ae){var de=c.readability(te,ue),xe,Se;switch(Se=!1,xe=q(ae),xe.level+xe.size){case"AAsmall":case"AAAlarge":Se=de>=4.5;break;case"AAlarge":Se=de>=3;break;case"AAAsmall":Se=de>=7;break}return Se},c.mostReadable=function(te,ue,ae){var de=null,xe=0,Se,Ae,Be,Oe;ae=ae||{},Ae=ae.includeFallbackColors,Be=ae.level,Oe=ae.size;for(var Ee=0;Eexe&&(xe=Se,de=c(ue[Ee]));return c.isReadable(te,de,{level:Be,size:Oe})||!Ae?de:(ae.includeFallbackColors=!1,c.mostReadable(te,["#fff","#000"],ae))};var O=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"},H=c.hexNames=z(O);function z(te){var ue={};for(var ae in te)te.hasOwnProperty(ae)&&(ue[te[ae]]=ae);return ue}function k(te){return te=parseFloat(te),(isNaN(te)||te<0||te>1)&&(te=1),te}function V(te,ue){Q(te)&&(te="100%");var ae=ne(te);return te=p(ue,t(0,parseFloat(te))),ae&&(te=parseInt(te*ue,10)/100),E.abs(te-ue)<1e-6?1:te%ue/parseFloat(ue)}function Z(te){return p(1,t(0,te))}function ee(te){return parseInt(te,16)}function Q(te){return typeof te=="string"&&te.indexOf(".")!=-1&&parseFloat(te)===1}function ne(te){return typeof te=="string"&&te.indexOf("%")!=-1}function fe(te){return te.length==1?"0"+te:""+te}function $(te){return te<=1&&(te=te*100+"%"),te}function Y(te){return E.round(parseFloat(te)*255).toString(16)}function j(te){return ee(te)/255}var X=function(){var te="[-\\+]?\\d+%?",ue="[-\\+]?\\d*\\.\\d+%?",ae="(?:"+ue+")|(?:"+te+")",de="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?",xe="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?";return{CSS_UNIT:new RegExp(ae),rgb:new RegExp("rgb"+de),rgba:new RegExp("rgba"+xe),hsl:new RegExp("hsl"+de),hsla:new RegExp("hsla"+xe),hsv:new RegExp("hsv"+de),hsva:new RegExp("hsva"+xe),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 re(te){return!!X.CSS_UNIT.exec(te)}function le(te){te=te.replace(a,"").replace(C,"").toLowerCase();var ue=!1;if(O[te])te=O[te],ue=!0;else if(te=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ae;return(ae=X.rgb.exec(te))?{r:ae[1],g:ae[2],b:ae[3]}:(ae=X.rgba.exec(te))?{r:ae[1],g:ae[2],b:ae[3],a:ae[4]}:(ae=X.hsl.exec(te))?{h:ae[1],s:ae[2],l:ae[3]}:(ae=X.hsla.exec(te))?{h:ae[1],s:ae[2],l:ae[3],a:ae[4]}:(ae=X.hsv.exec(te))?{h:ae[1],s:ae[2],v:ae[3]}:(ae=X.hsva.exec(te))?{h:ae[1],s:ae[2],v:ae[3],a:ae[4]}:(ae=X.hex8.exec(te))?{r:ee(ae[1]),g:ee(ae[2]),b:ee(ae[3]),a:j(ae[4]),format:ue?"name":"hex8"}:(ae=X.hex6.exec(te))?{r:ee(ae[1]),g:ee(ae[2]),b:ee(ae[3]),format:ue?"name":"hex"}:(ae=X.hex4.exec(te))?{r:ee(ae[1]+""+ae[1]),g:ee(ae[2]+""+ae[2]),b:ee(ae[3]+""+ae[3]),a:j(ae[4]+""+ae[4]),format:ue?"name":"hex8"}:(ae=X.hex3.exec(te))?{r:ee(ae[1]+""+ae[1]),g:ee(ae[2]+""+ae[2]),b:ee(ae[3]+""+ae[3]),format:ue?"name":"hex"}:!1}function q(te){var ue,ae;return te=te||{level:"AA",size:"small"},ue=(te.level||"AA").toUpperCase(),ae=(te.size||"small").toLowerCase(),ue!=="AA"&&ue!=="AAA"&&(ue="AA"),ae!=="small"&&ae!=="large"&&(ae="small"),{level:ue,size:ae}}U.exports?U.exports=c:(v=function(){return c}.call(B,e,B,U),v!==void 0&&(U.exports=v))})(Math)},57060:function(U){U.exports=v,U.exports.float32=U.exports.float=v,U.exports.fract32=U.exports.fract=e;var B=new Float32Array(1);function e(E,a){if(E.length){if(E instanceof Float32Array)return new Float32Array(E.length);a instanceof Float32Array||(a=v(E));for(var C=0,w=a.length;C":(C.length>100&&(C=C.slice(0,99)+"…"),C=C.replace(E,function(w){switch(w){case` +`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}}),C)}},47403:function(U,B,e){var v=e(24582),E={object:!0,function:!0,undefined:!0};U.exports=function(a){return v(a)?hasOwnProperty.call(E,typeof a):!1}},82527:function(U,B,e){var v=e(69190),E=e(84985);U.exports=function(a){return E(a)?a:v(a,"%v is not a plain function",arguments[1])}},84985:function(U,B,e){var v=e(73116),E=/^\s*class[\s{/}]/,a=Function.prototype.toString;U.exports=function(C){return!(!v(C)||E.test(a.call(C)))}},24511:function(U,B,e){var v=e(47403);U.exports=function(E){if(!v(E))return!1;try{return E.constructor?E.constructor.prototype===E:!1}catch{return!1}}},9234:function(U,B,e){var v=e(24582),E=e(47403),a=Object.prototype.toString;U.exports=function(C){if(!v(C))return null;if(E(C)){var w=C.toString;if(typeof w!="function"||w===a)return null}try{return""+C}catch{return null}}},10424:function(U,B,e){var v=e(69190),E=e(24582);U.exports=function(a){return E(a)?a:v(a,"Cannot use %v",arguments[1])}},24582:function(U){var B=void 0;U.exports=function(e){return e!==B&&e!==null}},58404:function(U,B,e){var v=e(13547),E=e(12129),a=e(12856).Buffer;e.g.__TYPEDARRAY_POOL||(e.g.__TYPEDARRAY_POOL={UINT8:E([32,0]),UINT16:E([32,0]),UINT32:E([32,0]),BIGUINT64:E([32,0]),INT8:E([32,0]),INT16:E([32,0]),INT32:E([32,0]),BIGINT64:E([32,0]),FLOAT:E([32,0]),DOUBLE:E([32,0]),DATA:E([32,0]),UINT8C:E([32,0]),BUFFER:E([32,0])});var C=typeof Uint8ClampedArray<"u",w=typeof BigUint64Array<"u",d=typeof BigInt64Array<"u",p=e.g.__TYPEDARRAY_POOL;p.UINT8C||(p.UINT8C=E([32,0])),p.BIGUINT64||(p.BIGUINT64=E([32,0])),p.BIGINT64||(p.BIGINT64=E([32,0])),p.BUFFER||(p.BUFFER=E([32,0]));var t=p.DATA,r=p.BUFFER;B.free=function(s){if(a.isBuffer(s))r[v.log2(s.length)].push(s);else{if(Object.prototype.toString.call(s)!=="[object ArrayBuffer]"&&(s=s.buffer),!s)return;var _=s.length||s.byteLength,A=v.log2(_)|0;t[A].push(s)}};function c(b){if(b){var s=b.length||b.byteLength,_=v.log2(s);t[_].push(b)}}function o(b){c(b.buffer)}B.freeUint8=B.freeUint16=B.freeUint32=B.freeBigUint64=B.freeInt8=B.freeInt16=B.freeInt32=B.freeBigInt64=B.freeFloat32=B.freeFloat=B.freeFloat64=B.freeDouble=B.freeUint8Clamped=B.freeDataView=o,B.freeArrayBuffer=c,B.freeBuffer=function(s){r[v.log2(s.length)].push(s)},B.malloc=function(s,_){if(_===void 0||_==="arraybuffer")return n(s);switch(_){case"uint8":return u(s);case"uint16":return i(s);case"uint32":return g(s);case"int8":return h(s);case"int16":return x(s);case"int32":return f(s);case"float":case"float32":return l(s);case"double":case"float64":return y(s);case"uint8_clamped":return T(s);case"bigint64":return L(s);case"biguint64":return S(s);case"buffer":return M(s);case"data":case"dataview":return m(s);default:return null}return null};function n(s){var s=v.nextPow2(s),_=v.log2(s),A=t[_];return A.length>0?A.pop():new ArrayBuffer(s)}B.mallocArrayBuffer=n;function u(b){return new Uint8Array(n(b),0,b)}B.mallocUint8=u;function i(b){return new Uint16Array(n(2*b),0,b)}B.mallocUint16=i;function g(b){return new Uint32Array(n(4*b),0,b)}B.mallocUint32=g;function h(b){return new Int8Array(n(b),0,b)}B.mallocInt8=h;function x(b){return new Int16Array(n(2*b),0,b)}B.mallocInt16=x;function f(b){return new Int32Array(n(4*b),0,b)}B.mallocInt32=f;function l(b){return new Float32Array(n(4*b),0,b)}B.mallocFloat32=B.mallocFloat=l;function y(b){return new Float64Array(n(8*b),0,b)}B.mallocFloat64=B.mallocDouble=y;function T(b){return C?new Uint8ClampedArray(n(b),0,b):u(b)}B.mallocUint8Clamped=T;function S(b){return w?new BigUint64Array(n(8*b),0,b):null}B.mallocBigUint64=S;function L(b){return d?new BigInt64Array(n(8*b),0,b):null}B.mallocBigInt64=L;function m(b){return new DataView(n(b),0,b)}B.mallocDataView=m;function M(b){b=v.nextPow2(b);var s=v.log2(b),_=r[s];return _.length>0?_.pop():new a(b)}B.mallocBuffer=M,B.clearCache=function(){for(var s=0;s<32;++s)p.UINT8[s].length=0,p.UINT16[s].length=0,p.UINT32[s].length=0,p.INT8[s].length=0,p.INT16[s].length=0,p.INT32[s].length=0,p.FLOAT[s].length=0,p.DOUBLE[s].length=0,p.BIGUINT64[s].length=0,p.BIGINT64[s].length=0,p.UINT8C[s].length=0,t[s].length=0,r[s].length=0}},90448:function(U){var B=/[\'\"]/;U.exports=function(v){return v?(B.test(v.charAt(0))&&(v=v.substr(1)),B.test(v.charAt(v.length-1))&&(v=v.substr(0,v.length-1)),v):""}},93447:function(U){U.exports=function(e,v,E){Array.isArray(E)||(E=[].slice.call(arguments,2));for(var a=0,C=E.length;a"u"?!1:_.working?_(Se):Se instanceof Map}B.isMap=A;function D(Se){return t(Se)==="[object Set]"}D.working=typeof Set<"u"&&D(new Set);function F(Se){return typeof Set>"u"?!1:D.working?D(Se):Se instanceof Set}B.isSet=F;function G(Se){return t(Se)==="[object WeakMap]"}G.working=typeof WeakMap<"u"&&G(new WeakMap);function O(Se){return typeof WeakMap>"u"?!1:G.working?G(Se):Se instanceof WeakMap}B.isWeakMap=O;function H(Se){return t(Se)==="[object WeakSet]"}H.working=typeof WeakSet<"u"&&H(new WeakSet);function z(Se){return H(Se)}B.isWeakSet=z;function k(Se){return t(Se)==="[object ArrayBuffer]"}k.working=typeof ArrayBuffer<"u"&&k(new ArrayBuffer);function V(Se){return typeof ArrayBuffer>"u"?!1:k.working?k(Se):Se instanceof ArrayBuffer}B.isArrayBuffer=V;function Z(Se){return t(Se)==="[object DataView]"}Z.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&Z(new DataView(new ArrayBuffer(1),0,1));function ee(Se){return typeof DataView>"u"?!1:Z.working?Z(Se):Se instanceof DataView}B.isDataView=ee;var Q=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function ne(Se){return t(Se)==="[object SharedArrayBuffer]"}function fe(Se){return typeof Q>"u"?!1:(typeof ne.working>"u"&&(ne.working=ne(new Q)),ne.working?ne(Se):Se instanceof Q)}B.isSharedArrayBuffer=fe;function $(Se){return t(Se)==="[object AsyncFunction]"}B.isAsyncFunction=$;function Y(Se){return t(Se)==="[object Map Iterator]"}B.isMapIterator=Y;function j(Se){return t(Se)==="[object Set Iterator]"}B.isSetIterator=j;function X(Se){return t(Se)==="[object Generator]"}B.isGeneratorObject=X;function re(Se){return t(Se)==="[object WebAssembly.Module]"}B.isWebAssemblyCompiledModule=re;function le(Se){return i(Se,r)}B.isNumberObject=le;function q(Se){return i(Se,c)}B.isStringObject=q;function te(Se){return i(Se,o)}B.isBooleanObject=te;function ue(Se){return d&&i(Se,n)}B.isBigIntObject=ue;function ae(Se){return p&&i(Se,u)}B.isSymbolObject=ae;function de(Se){return le(Se)||q(Se)||te(Se)||ue(Se)||ae(Se)}B.isBoxedPrimitive=de;function xe(Se){return typeof Uint8Array<"u"&&(V(Se)||fe(Se))}B.isAnyArrayBuffer=xe,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(Se){Object.defineProperty(B,Se,{enumerable:!1,value:function(){throw new Error(Se+" is not supported in userland")}})})},43827:function(U,B,e){var v=e(90386),E=Object.getOwnPropertyDescriptors||function(Q){for(var ne=Object.keys(Q),fe={},$=0;$=$)return X;switch(X){case"%s":return String(fe[ne++]);case"%d":return Number(fe[ne++]);case"%j":try{return JSON.stringify(fe[ne++])}catch{return"[Circular]"}default:return X}}),j=fe[ne];ne<$;j=fe[++ne])l(j)||!b(j)?Y+=" "+j:Y+=" "+p(j);return Y},B.deprecate=function(ee,Q){if(typeof v<"u"&&v.noDeprecation===!0)return ee;if(typeof v>"u")return function(){return B.deprecate(ee,Q).apply(this,arguments)};var ne=!1;function fe(){if(!ne){if(v.throwDeprecation)throw new Error(Q);v.traceDeprecation?console.trace(Q):console.error(Q),ne=!0}return ee.apply(this,arguments)}return fe};var C={},w=/^$/;if({}.NODE_DEBUG){var d={}.NODE_DEBUG;d=d.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+d+"$","i")}B.debuglog=function(ee){if(ee=ee.toUpperCase(),!C[ee])if(w.test(ee)){var Q=v.pid;C[ee]=function(){var ne=B.format.apply(B,arguments);console.error("%s %d: %s",ee,Q,ne)}}else C[ee]=function(){};return C[ee]};function p(ee,Q){var ne={seen:[],stylize:r};return arguments.length>=3&&(ne.depth=arguments[2]),arguments.length>=4&&(ne.colors=arguments[3]),f(Q)?ne.showHidden=Q:Q&&B._extend(ne,Q),m(ne.showHidden)&&(ne.showHidden=!1),m(ne.depth)&&(ne.depth=2),m(ne.colors)&&(ne.colors=!1),m(ne.customInspect)&&(ne.customInspect=!0),ne.colors&&(ne.stylize=t),o(ne,ee,ne.depth)}B.inspect=p,p.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]},p.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function t(ee,Q){var ne=p.styles[Q];return ne?"\x1B["+p.colors[ne][0]+"m"+ee+"\x1B["+p.colors[ne][1]+"m":ee}function r(ee,Q){return ee}function c(ee){var Q={};return ee.forEach(function(ne,fe){Q[ne]=!0}),Q}function o(ee,Q,ne){if(ee.customInspect&&Q&&A(Q.inspect)&&Q.inspect!==B.inspect&&!(Q.constructor&&Q.constructor.prototype===Q)){var fe=Q.inspect(ne,ee);return S(fe)||(fe=o(ee,fe,ne)),fe}var $=n(ee,Q);if($)return $;var Y=Object.keys(Q),j=c(Y);if(ee.showHidden&&(Y=Object.getOwnPropertyNames(Q)),_(Q)&&(Y.indexOf("message")>=0||Y.indexOf("description")>=0))return u(Q);if(Y.length===0){if(A(Q)){var X=Q.name?": "+Q.name:"";return ee.stylize("[Function"+X+"]","special")}if(M(Q))return ee.stylize(RegExp.prototype.toString.call(Q),"regexp");if(s(Q))return ee.stylize(Date.prototype.toString.call(Q),"date");if(_(Q))return u(Q)}var re="",le=!1,q=["{","}"];if(x(Q)&&(le=!0,q=["[","]"]),A(Q)){var te=Q.name?": "+Q.name:"";re=" [Function"+te+"]"}if(M(Q)&&(re=" "+RegExp.prototype.toString.call(Q)),s(Q)&&(re=" "+Date.prototype.toUTCString.call(Q)),_(Q)&&(re=" "+u(Q)),Y.length===0&&(!le||Q.length==0))return q[0]+re+q[1];if(ne<0)return M(Q)?ee.stylize(RegExp.prototype.toString.call(Q),"regexp"):ee.stylize("[Object]","special");ee.seen.push(Q);var ue;return le?ue=i(ee,Q,ne,j,Y):ue=Y.map(function(ae){return g(ee,Q,ne,j,ae,le)}),ee.seen.pop(),h(ue,re,q)}function n(ee,Q){if(m(Q))return ee.stylize("undefined","undefined");if(S(Q)){var ne="'"+JSON.stringify(Q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ee.stylize(ne,"string")}if(T(Q))return ee.stylize(""+Q,"number");if(f(Q))return ee.stylize(""+Q,"boolean");if(l(Q))return ee.stylize("null","null")}function u(ee){return"["+Error.prototype.toString.call(ee)+"]"}function i(ee,Q,ne,fe,$){for(var Y=[],j=0,X=Q.length;j-1&&(Y?X=X.split(` +`).map(function(le){return" "+le}).join(` +`).slice(2):X=` +`+X.split(` +`).map(function(le){return" "+le}).join(` +`))):X=ee.stylize("[Circular]","special")),m(j)){if(Y&&$.match(/^\d+$/))return X;j=JSON.stringify(""+$),j.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(j=j.slice(1,-1),j=ee.stylize(j,"name")):(j=j.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),j=ee.stylize(j,"string"))}return j+": "+X}function h(ee,Q,ne){var fe=ee.reduce(function($,Y){return Y.indexOf(` +`)>=0,$+Y.replace(/\u001b\[\d\d?m/g,"").length+1},0);return fe>60?ne[0]+(Q===""?"":Q+` + `)+" "+ee.join(`, + `)+" "+ne[1]:ne[0]+Q+" "+ee.join(", ")+" "+ne[1]}B.types=e(4936);function x(ee){return Array.isArray(ee)}B.isArray=x;function f(ee){return typeof ee=="boolean"}B.isBoolean=f;function l(ee){return ee===null}B.isNull=l;function y(ee){return ee==null}B.isNullOrUndefined=y;function T(ee){return typeof ee=="number"}B.isNumber=T;function S(ee){return typeof ee=="string"}B.isString=S;function L(ee){return typeof ee=="symbol"}B.isSymbol=L;function m(ee){return ee===void 0}B.isUndefined=m;function M(ee){return b(ee)&&F(ee)==="[object RegExp]"}B.isRegExp=M,B.types.isRegExp=M;function b(ee){return typeof ee=="object"&&ee!==null}B.isObject=b;function s(ee){return b(ee)&&F(ee)==="[object Date]"}B.isDate=s,B.types.isDate=s;function _(ee){return b(ee)&&(F(ee)==="[object Error]"||ee instanceof Error)}B.isError=_,B.types.isNativeError=_;function A(ee){return typeof ee=="function"}B.isFunction=A;function D(ee){return ee===null||typeof ee=="boolean"||typeof ee=="number"||typeof ee=="string"||typeof ee=="symbol"||typeof ee>"u"}B.isPrimitive=D,B.isBuffer=e(45920);function F(ee){return Object.prototype.toString.call(ee)}function G(ee){return ee<10?"0"+ee.toString(10):ee.toString(10)}var O=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function H(){var ee=new Date,Q=[G(ee.getHours()),G(ee.getMinutes()),G(ee.getSeconds())].join(":");return[ee.getDate(),O[ee.getMonth()],Q].join(" ")}B.log=function(){console.log("%s - %s",H(),B.format.apply(B,arguments))},B.inherits=e(42018),B._extend=function(ee,Q){if(!Q||!b(Q))return ee;for(var ne=Object.keys(Q),fe=ne.length;fe--;)ee[ne[fe]]=Q[ne[fe]];return ee};function z(ee,Q){return Object.prototype.hasOwnProperty.call(ee,Q)}var k=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;B.promisify=function(Q){if(typeof Q!="function")throw new TypeError('The "original" argument must be of type Function');if(k&&Q[k]){var ne=Q[k];if(typeof ne!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(ne,k,{value:ne,enumerable:!1,writable:!1,configurable:!0}),ne}function ne(){for(var fe,$,Y=new Promise(function(re,le){fe=re,$=le}),j=[],X=0;X"u"?e.g:globalThis,t=E(),r=a("String.prototype.slice"),c={},o=Object.getPrototypeOf;d&&C&&o&&v(t,function(i){if(typeof p[i]=="function"){var g=new p[i];if(Symbol.toStringTag in g){var h=o(g),x=C(h,Symbol.toStringTag);if(!x){var f=o(h);x=C(f,Symbol.toStringTag)}c[i]=x.get}}});var n=function(g){var h=!1;return v(c,function(x,f){if(!h)try{var l=x.call(g);l===f&&(h=l)}catch{}}),h},u=e(9187);U.exports=function(g){return u(g)?!d||!(Symbol.toStringTag in g)?r(w(g),8,-1):n(g):!1}},3961:function(U,B,e){var v=e(63489),E=e(56131),a=v.instance();function C(u){this.local=this.regionalOptions[u||""]||this.regionalOptions[""]}C.prototype=new v.baseCalendar,E(C.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(u,i){if(typeof u=="string"){var g=u.match(d);return g?g[0]:""}var h=this._validateYear(u),x=u.month(),f=""+this.toChineseMonth(h,x);return i&&f.length<2&&(f="0"+f),this.isIntercalaryMonth(h,x)&&(f+="i"),f},monthNames:function(u){if(typeof u=="string"){var i=u.match(p);return i?i[0]:""}var g=this._validateYear(u),h=u.month(),x=this.toChineseMonth(g,h),f=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][x-1];return this.isIntercalaryMonth(g,h)&&(f="闰"+f),f},monthNamesShort:function(u){if(typeof u=="string"){var i=u.match(t);return i?i[0]:""}var g=this._validateYear(u),h=u.month(),x=this.toChineseMonth(g,h),f=["一","二","三","四","五","六","七","八","九","十","十一","十二"][x-1];return this.isIntercalaryMonth(g,h)&&(f="闰"+f),f},parseMonth:function(u,i){u=this._validateYear(u);var g=parseInt(i),h;if(isNaN(g))i[0]==="闰"&&(h=!0,i=i.substring(1)),i[i.length-1]==="月"&&(i=i.substring(0,i.length-1)),g=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(i);else{var x=i[i.length-1];h=x==="i"||x==="I"}var f=this.toMonthIndex(u,g,h);return f},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(u,i){if(u.year&&(u=u.year()),typeof u!="number"||u<1888||u>2111)throw i.replace(/\{0\}/,this.local.name);return u},toMonthIndex:function(u,i,g){var h=this.intercalaryMonth(u),x=g&&i!==h;if(x||i<1||i>12)throw v.local.invalidMonth.replace(/\{0\}/,this.local.name);var f;return h?!g&&i<=h?f=i-1:f=i:f=i-1,f},toChineseMonth:function(u,i){u.year&&(u=u.year(),i=u.month());var g=this.intercalaryMonth(u),h=g?12:11;if(i<0||i>h)throw v.local.invalidMonth.replace(/\{0\}/,this.local.name);var x;return g?i>13;return g},isIntercalaryMonth:function(u,i){u.year&&(u=u.year(),i=u.month());var g=this.intercalaryMonth(u);return!!g&&g===i},leapYear:function(u){return this.intercalaryMonth(u)!==0},weekOfYear:function(u,i,g){var h=this._validateYear(u,v.local.invalidyear),x=c[h-c[0]],f=x>>9&4095,l=x>>5&15,y=x&31,T;T=a.newDate(f,l,y),T.add(4-(T.dayOfWeek()||7),"d");var S=this.toJD(u,i,g)-T.toJD();return 1+Math.floor(S/7)},monthsInYear:function(u){return this.leapYear(u)?13:12},daysInMonth:function(u,i){u.year&&(i=u.month(),u=u.year()),u=this._validateYear(u);var g=r[u-r[0]],h=g>>13,x=h?12:11;if(i>x)throw v.local.invalidMonth.replace(/\{0\}/,this.local.name);var f=g&1<<12-i?30:29;return f},weekDay:function(u,i,g){return(this.dayOfWeek(u,i,g)||7)<6},toJD:function(u,i,g){var h=this._validate(u,f,g,v.local.invalidDate);u=this._validateYear(h.year()),i=h.month(),g=h.day();var x=this.isIntercalaryMonth(u,i),f=this.toChineseMonth(u,i),l=n(u,f,g,x);return a.toJD(l.year,l.month,l.day)},fromJD:function(u){var i=a.fromJD(u),g=o(i.year(),i.month(),i.day()),h=this.toMonthIndex(g.year,g.month,g.isIntercalary);return this.newDate(g.year,h,g.day)},fromString:function(u){var i=u.match(w),g=this._validateYear(+i[1]),h=+i[2],x=!!i[3],f=this.toMonthIndex(g,h,x),l=+i[4];return this.newDate(g,f,l)},add:function(u,i,g){var h=u.year(),x=u.month(),f=this.isIntercalaryMonth(h,x),l=this.toChineseMonth(h,x),y=Object.getPrototypeOf(C.prototype).add.call(this,u,i,g);if(g==="y"){var T=y.year(),S=y.month(),L=this.isIntercalaryMonth(T,l),m=f&&L?this.toMonthIndex(T,l,!0):this.toMonthIndex(T,l,!1);m!==S&&y.month(m)}return y}});var w=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,d=/^\d?\d[iI]?/m,p=/^闰?十?[一二三四五六七八九]?月/m,t=/^闰?十?[一二三四五六七八九]?/m;v.calendars.chinese=C;var r=[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],c=[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];function o(u,i,g,h){var x,f;if(typeof u=="object")x=u,f=i||{};else{var l=typeof u=="number"&&u>=1888&&u<=2111;if(!l)throw new Error("Solar year outside range 1888-2111");var y=typeof i=="number"&&i>=1&&i<=12;if(!y)throw new Error("Solar month outside range 1 - 12");var T=typeof g=="number"&&g>=1&&g<=31;if(!T)throw new Error("Solar day outside range 1 - 31");x={year:u,month:i,day:g},f=h||{}}var S=c[x.year-c[0]],L=x.year<<9|x.month<<5|x.day;f.year=L>=S?x.year:x.year-1,S=c[f.year-c[0]];var m=S>>9&4095,M=S>>5&15,b=S&31,s,_=new Date(m,M-1,b),A=new Date(x.year,x.month-1,x.day);s=Math.round((A-_)/864e5);var D=r[f.year-r[0]],F;for(F=0;F<13;F++){var G=D&1<<12-F?30:29;if(s>13;return!O||F=1888&&u<=2111;if(!y)throw new Error("Lunar year outside range 1888-2111");var T=typeof i=="number"&&i>=1&&i<=12;if(!T)throw new Error("Lunar month outside range 1 - 12");var S=typeof g=="number"&&g>=1&&g<=30;if(!S)throw new Error("Lunar day outside range 1 - 30");var L;typeof h=="object"?(L=!1,f=h):(L=!!h,f=x||{}),l={year:u,month:i,day:g,isIntercalary:L}}var m;m=l.day-1;var M=r[l.year-r[0]],b=M>>13,s;b&&(l.month>b||l.isIntercalary)?s=l.month:s=l.month-1;for(var _=0;_>9&4095,G=D>>5&15,O=D&31,H=new Date(F,G-1,O+m);return f.year=H.getFullYear(),f.month=1+H.getMonth(),f.day=H.getDate(),f}},38751:function(U,B,e){var v=e(63489),E=e(56131);function a(C){this.local=this.regionalOptions[C||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Coptic",jdEpoch:18250295e-1,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(d){var w=this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),d=w.year()+(w.year()<0?1:0);return d%4===3||d%4===-1},monthsInYear:function(C){return this._validate(C,this.minMonth,this.minDay,v.local.invalidYear||v.regionalOptions[""].invalidYear),13},weekOfYear:function(C,w,d){var p=this.newDate(C,w,d);return p.add(-p.dayOfWeek(),"d"),Math.floor((p.dayOfYear()-1)/7)+1},daysInMonth:function(C,w){var d=this._validate(C,w,this.minDay,v.local.invalidMonth);return this.daysPerMonth[d.month()-1]+(d.month()===13&&this.leapYear(d.year())?1:0)},weekDay:function(C,w,d){return(this.dayOfWeek(C,w,d)||7)<6},toJD:function(C,w,d){var p=this._validate(C,w,d,v.local.invalidDate);return C=p.year(),C<0&&C++,p.day()+(p.month()-1)*30+(C-1)*365+Math.floor(C/4)+this.jdEpoch-1},fromJD:function(C){var w=Math.floor(C)+.5-this.jdEpoch,d=Math.floor((w-Math.floor((w+366)/1461))/365)+1;d<=0&&d--,w=Math.floor(C)+.5-this.newDate(d,1,1).toJD();var p=Math.floor(w/30)+1,t=w-(p-1)*30+1;return this.newDate(d,p,t)}}),v.calendars.coptic=a},86825:function(U,B,e){var v=e(63489),E=e(56131);function a(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Discworld",jdEpoch:17214255e-1,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(w){return this._validate(w,this.minMonth,this.minDay,v.local.invalidYear),!1},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,v.local.invalidYear),13},daysInYear:function(w){return this._validate(w,this.minMonth,this.minDay,v.local.invalidYear),400},weekOfYear:function(w,d,p){var t=this.newDate(w,d,p);return t.add(-t.dayOfWeek(),"d"),Math.floor((t.dayOfYear()-1)/8)+1},daysInMonth:function(w,d){var p=this._validate(w,d,this.minDay,v.local.invalidMonth);return this.daysPerMonth[p.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);return(t.day()+1)%8},weekDay:function(w,d,p){var t=this.dayOfWeek(w,d,p);return t>=2&&t<=6},extraInfo:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);return{century:C[Math.floor((t.year()-1)/100)+1]||""}},toJD:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);return w=t.year()+(t.year()<0?1:0),d=t.month(),p=t.day(),p+(d>1?16:0)+(d>2?(d-2)*32:0)+(w-1)*400+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w+.5)-Math.floor(this.jdEpoch)-1;var d=Math.floor(w/400)+1;w-=(d-1)*400,w+=w>15?16:0;var p=Math.floor(w/32)+1,t=w-(p-1)*32+1;return this.newDate(d<=0?d-1:d,p,t)}});var C={20:"Fruitbat",21:"Anchovy"};v.calendars.discworld=a},37715:function(U,B,e){var v=e(63489),E=e(56131);function a(C){this.local=this.regionalOptions[C||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,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(d){var w=this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),d=w.year()+(w.year()<0?1:0);return d%4===3||d%4===-1},monthsInYear:function(C){return this._validate(C,this.minMonth,this.minDay,v.local.invalidYear||v.regionalOptions[""].invalidYear),13},weekOfYear:function(C,w,d){var p=this.newDate(C,w,d);return p.add(-p.dayOfWeek(),"d"),Math.floor((p.dayOfYear()-1)/7)+1},daysInMonth:function(C,w){var d=this._validate(C,w,this.minDay,v.local.invalidMonth);return this.daysPerMonth[d.month()-1]+(d.month()===13&&this.leapYear(d.year())?1:0)},weekDay:function(C,w,d){return(this.dayOfWeek(C,w,d)||7)<6},toJD:function(C,w,d){var p=this._validate(C,w,d,v.local.invalidDate);return C=p.year(),C<0&&C++,p.day()+(p.month()-1)*30+(C-1)*365+Math.floor(C/4)+this.jdEpoch-1},fromJD:function(C){var w=Math.floor(C)+.5-this.jdEpoch,d=Math.floor((w-Math.floor((w+366)/1461))/365)+1;d<=0&&d--,w=Math.floor(C)+.5-this.newDate(d,1,1).toJD();var p=Math.floor(w/30)+1,t=w-(p-1)*30+1;return this.newDate(d,p,t)}}),v.calendars.ethiopian=a},99384:function(U,B,e){var v=e(63489),E=e(56131);function a(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(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(w){var d=this._validate(w,this.minMonth,this.minDay,v.local.invalidYear);return this._leapYear(d.year())},_leapYear:function(w){return w=w<0?w+1:w,C(w*7+1,19)<7},monthsInYear:function(w){return this._validate(w,this.minMonth,this.minDay,v.local.invalidYear),this._leapYear(w.year?w.year():w)?13:12},weekOfYear:function(w,d,p){var t=this.newDate(w,d,p);return t.add(-t.dayOfWeek(),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(w){var d=this._validate(w,this.minMonth,this.minDay,v.local.invalidYear);return w=d.year(),this.toJD(w===-1?1:w+1,7,1)-this.toJD(w,7,1)},daysInMonth:function(w,d){return w.year&&(d=w.month(),w=w.year()),this._validate(w,d,this.minDay,v.local.invalidMonth),d===12&&this.leapYear(w)||d===8&&C(this.daysInYear(w),10)===5?30:d===9&&C(this.daysInYear(w),10)===3?29:this.daysPerMonth[d-1]},weekDay:function(w,d,p){return this.dayOfWeek(w,d,p)!==6},extraInfo:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);return{yearType:(this.leapYear(t)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(t)%10-3]}},toJD:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);w=t.year(),d=t.month(),p=t.day();var r=w<=0?w+1:w,c=this.jdEpoch+this._delay1(r)+this._delay2(r)+p+1;if(d<7){for(var o=7;o<=this.monthsInYear(w);o++)c+=this.daysInMonth(w,o);for(var o=1;o=this.toJD(d===-1?1:d+1,7,1);)d++;for(var p=wthis.toJD(d,p,this.daysInMonth(d,p));)p++;var t=w-this.toJD(d,p,1)+1;return this.newDate(d,p,t)}});function C(w,d){return w-d*Math.floor(w/d)}v.calendars.hebrew=a},43805:function(U,B,e){var v=e(63489),E=e(56131);function a(C){this.local=this.regionalOptions[C||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Islamic",jdEpoch:19484395e-1,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īs","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(C){var w=this._validate(C,this.minMonth,this.minDay,v.local.invalidYear);return(w.year()*11+14)%30<11},weekOfYear:function(C,w,d){var p=this.newDate(C,w,d);return p.add(-p.dayOfWeek(),"d"),Math.floor((p.dayOfYear()-1)/7)+1},daysInYear:function(C){return this.leapYear(C)?355:354},daysInMonth:function(C,w){var d=this._validate(C,w,this.minDay,v.local.invalidMonth);return this.daysPerMonth[d.month()-1]+(d.month()===12&&this.leapYear(d.year())?1:0)},weekDay:function(C,w,d){return this.dayOfWeek(C,w,d)!==5},toJD:function(C,w,d){var p=this._validate(C,w,d,v.local.invalidDate);return C=p.year(),w=p.month(),d=p.day(),C=C<=0?C+1:C,d+Math.ceil(29.5*(w-1))+(C-1)*354+Math.floor((3+11*C)/30)+this.jdEpoch-1},fromJD:function(C){C=Math.floor(C)+.5;var w=Math.floor((30*(C-this.jdEpoch)+10646)/10631);w=w<=0?w-1:w;var d=Math.min(12,Math.ceil((C-29-this.toJD(w,1,1))/29.5)+1),p=C-this.toJD(w,d,1)+1;return this.newDate(w,d,p)}}),v.calendars.islamic=a},88874:function(U,B,e){var v=e(63489),E=e(56131);function a(C){this.local=this.regionalOptions[C||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Julian",jdEpoch:17214235e-1,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(d){var w=this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),d=w.year()<0?w.year()+1:w.year();return d%4===0},weekOfYear:function(C,w,d){var p=this.newDate(C,w,d);return p.add(4-(p.dayOfWeek()||7),"d"),Math.floor((p.dayOfYear()-1)/7)+1},daysInMonth:function(C,w){var d=this._validate(C,w,this.minDay,v.local.invalidMonth);return this.daysPerMonth[d.month()-1]+(d.month()===2&&this.leapYear(d.year())?1:0)},weekDay:function(C,w,d){return(this.dayOfWeek(C,w,d)||7)<6},toJD:function(C,w,d){var p=this._validate(C,w,d,v.local.invalidDate);return C=p.year(),w=p.month(),d=p.day(),C<0&&C++,w<=2&&(C--,w+=12),Math.floor(365.25*(C+4716))+Math.floor(30.6001*(w+1))+d-1524.5},fromJD:function(C){var w=Math.floor(C+.5),d=w+1524,p=Math.floor((d-122.1)/365.25),t=Math.floor(365.25*p),r=Math.floor((d-t)/30.6001),c=r-Math.floor(r<14?1:13),o=p-Math.floor(c>2?4716:4715),n=d-t-Math.floor(30.6001*r);return o<=0&&o--,this.newDate(o,c,n)}}),v.calendars.julian=a},83290:function(U,B,e){var v=e(63489),E=e(56131);function a(d){this.local=this.regionalOptions[d||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(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(d){return this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),!1},formatYear:function(d){var p=this._validate(d,this.minMonth,this.minDay,v.local.invalidYear);d=p.year();var t=Math.floor(d/400);d=d%400,d+=d<0?400:0;var r=Math.floor(d/20);return t+"."+r+"."+d%20},forYear:function(d){if(d=d.split("."),d.length<3)throw"Invalid Mayan year";for(var p=0,t=0;t19||t>0&&r<0)throw"Invalid Mayan year";p=p*20+r}return p},monthsInYear:function(d){return this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),18},weekOfYear:function(d,p,t){return this._validate(d,p,t,v.local.invalidDate),0},daysInYear:function(d){return this._validate(d,this.minMonth,this.minDay,v.local.invalidYear),360},daysInMonth:function(d,p){return this._validate(d,p,this.minDay,v.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(d,p,t){var r=this._validate(d,p,t,v.local.invalidDate);return r.day()},weekDay:function(d,p,t){return this._validate(d,p,t,v.local.invalidDate),!0},extraInfo:function(d,p,t){var r=this._validate(d,p,t,v.local.invalidDate),c=r.toJD(),o=this._toHaab(c),n=this._toTzolkin(c);return{haabMonthName:this.local.haabMonths[o[0]-1],haabMonth:o[0],haabDay:o[1],tzolkinDayName:this.local.tzolkinMonths[n[0]-1],tzolkinDay:n[0],tzolkinTrecena:n[1]}},_toHaab:function(d){d-=this.jdEpoch;var p=C(d+8+(18-1)*20,365);return[Math.floor(p/20)+1,C(p,20)]},_toTzolkin:function(d){return d-=this.jdEpoch,[w(d+20,20),w(d+4,13)]},toJD:function(d,p,t){var r=this._validate(d,p,t,v.local.invalidDate);return r.day()+r.month()*20+r.year()*360+this.jdEpoch},fromJD:function(d){d=Math.floor(d)+.5-this.jdEpoch;var p=Math.floor(d/360);d=d%360,d+=d<0?360:0;var t=Math.floor(d/20),r=d%20;return this.newDate(p,t,r)}});function C(d,p){return d-p*Math.floor(d/p)}function w(d,p){return C(d-1,p)+1}v.calendars.mayan=a},29108:function(U,B,e){var v=e(63489),E=e(56131);function a(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar;var C=v.instance("gregorian");E(a.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,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(w){var d=this._validate(w,this.minMonth,this.minDay,v.local.invalidYear||v.regionalOptions[""].invalidYear);return C.leapYear(d.year()+(d.year()<1?1:0)+1469)},weekOfYear:function(w,d,p){var t=this.newDate(w,d,p);return t.add(1-(t.dayOfWeek()||7),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(w,d){var p=this._validate(w,d,this.minDay,v.local.invalidMonth);return this.daysPerMonth[p.month()-1]+(p.month()===12&&this.leapYear(p.year())?1:0)},weekDay:function(w,d,p){return(this.dayOfWeek(w,d,p)||7)<6},toJD:function(r,d,p){var t=this._validate(r,d,p,v.local.invalidMonth),r=t.year();r<0&&r++;for(var c=t.day(),o=1;o=this.toJD(d+1,1,1);)d++;for(var p=w-Math.floor(this.toJD(d,1,1)+.5)+1,t=1;p>this.daysInMonth(d,t);)p-=this.daysInMonth(d,t),t++;return this.newDate(d,t,p)}}),v.calendars.nanakshahi=a},55422:function(U,B,e){var v=e(63489),E=e(56131);function a(C){this.local=this.regionalOptions[C||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Nepali",jdEpoch:17007095e-1,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(C){return this.daysInYear(C)!==this.daysPerYear},weekOfYear:function(C,w,d){var p=this.newDate(C,w,d);return p.add(-p.dayOfWeek(),"d"),Math.floor((p.dayOfYear()-1)/7)+1},daysInYear:function(C){var w=this._validate(C,this.minMonth,this.minDay,v.local.invalidYear);if(C=w.year(),typeof this.NEPALI_CALENDAR_DATA[C]>"u")return this.daysPerYear;for(var d=0,p=this.minMonth;p<=12;p++)d+=this.NEPALI_CALENDAR_DATA[C][p];return d},daysInMonth:function(C,w){return C.year&&(w=C.month(),C=C.year()),this._validate(C,w,this.minDay,v.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[C]>"u"?this.daysPerMonth[w-1]:this.NEPALI_CALENDAR_DATA[C][w]},weekDay:function(C,w,d){return this.dayOfWeek(C,w,d)!==6},toJD:function(C,w,d){var p=this._validate(C,w,d,v.local.invalidDate);C=p.year(),w=p.month(),d=p.day();var t=v.instance(),r=0,c=w,o=C;this._createMissingCalendarData(C);var n=C-(c>9||c===9&&d>=this.NEPALI_CALENDAR_DATA[o][0]?56:57);for(w!==9&&(r=d,c--);c!==9;)c<=0&&(c=12,o--),r+=this.NEPALI_CALENDAR_DATA[o][c],c--;return w===9?(r+=d-this.NEPALI_CALENDAR_DATA[o][0],r<0&&(r+=t.daysInYear(n))):r+=this.NEPALI_CALENDAR_DATA[o][9]-this.NEPALI_CALENDAR_DATA[o][0],t.newDate(n,1,1).add(r,"d").toJD()},fromJD:function(C){var w=v.instance(),d=w.fromJD(C),p=d.year(),t=d.dayOfYear(),r=p+56;this._createMissingCalendarData(r);for(var c=9,o=this.NEPALI_CALENDAR_DATA[r][0],n=this.NEPALI_CALENDAR_DATA[r][c]-o+1;t>n;)c++,c>12&&(c=1,r++),n+=this.NEPALI_CALENDAR_DATA[r][c];var u=this.NEPALI_CALENDAR_DATA[r][c]-(n-t);return this.newDate(r,c,u)},_createMissingCalendarData:function(C){var w=this.daysPerMonth.slice(0);w.unshift(17);for(var d=C-1;d"u"&&(this.NEPALI_CALENDAR_DATA[d]=w)},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],2e3:[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]}}),v.calendars.nepali=a},94320:function(U,B,e){var v=e(63489),E=e(56131);function a(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(a.prototype,{name:"Persian",jdEpoch:19483205e-1,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æharshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Chæ","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(w){var d=this._validate(w,this.minMonth,this.minDay,v.local.invalidYear);return((d.year()-(d.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(w,d,p){var t=this.newDate(w,d,p);return t.add(-((t.dayOfWeek()+1)%7),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInMonth:function(w,d){var p=this._validate(w,d,this.minDay,v.local.invalidMonth);return this.daysPerMonth[p.month()-1]+(p.month()===12&&this.leapYear(p.year())?1:0)},weekDay:function(w,d,p){return this.dayOfWeek(w,d,p)!==5},toJD:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate);w=t.year(),d=t.month(),p=t.day();var r=w-(w>=0?474:473),c=474+C(r,2820);return p+(d<=7?(d-1)*31:(d-1)*30+6)+Math.floor((c*682-110)/2816)+(c-1)*365+Math.floor(r/2820)*1029983+this.jdEpoch-1},fromJD:function(w){w=Math.floor(w)+.5;var d=w-this.toJD(475,1,1),p=Math.floor(d/1029983),t=C(d,1029983),r=2820;if(t!==1029982){var c=Math.floor(t/366),o=C(t,366);r=Math.floor((2134*c+2816*o+2815)/1028522)+c+1}var n=r+2820*p+474;n=n<=0?n-1:n;var u=w-this.toJD(n,1,1)+1,i=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),g=w-this.toJD(n,i,1)+1;return this.newDate(n,i,g)}});function C(w,d){return w-d*Math.floor(w/d)}v.calendars.persian=a,v.calendars.jalali=a},31320:function(U,B,e){var v=e(63489),E=e(56131),a=v.instance();function C(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}C.prototype=new v.baseCalendar,E(C.prototype,{name:"Taiwan",jdEpoch:24194025e-1,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(p){var d=this._validate(p,this.minMonth,this.minDay,v.local.invalidYear),p=this._t2gYear(d.year());return a.leapYear(p)},weekOfYear:function(r,d,p){var t=this._validate(r,this.minMonth,this.minDay,v.local.invalidYear),r=this._t2gYear(t.year());return a.weekOfYear(r,t.month(),t.day())},daysInMonth:function(w,d){var p=this._validate(w,d,this.minDay,v.local.invalidMonth);return this.daysPerMonth[p.month()-1]+(p.month()===2&&this.leapYear(p.year())?1:0)},weekDay:function(w,d,p){return(this.dayOfWeek(w,d,p)||7)<6},toJD:function(r,d,p){var t=this._validate(r,d,p,v.local.invalidDate),r=this._t2gYear(t.year());return a.toJD(r,t.month(),t.day())},fromJD:function(w){var d=a.fromJD(w),p=this._g2tYear(d.year());return this.newDate(p,d.month(),d.day())},_t2gYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)},_g2tYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)}}),v.calendars.taiwan=C},51367:function(U,B,e){var v=e(63489),E=e(56131),a=v.instance();function C(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}C.prototype=new v.baseCalendar,E(C.prototype,{name:"Thai",jdEpoch:15230985e-1,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(p){var d=this._validate(p,this.minMonth,this.minDay,v.local.invalidYear),p=this._t2gYear(d.year());return a.leapYear(p)},weekOfYear:function(r,d,p){var t=this._validate(r,this.minMonth,this.minDay,v.local.invalidYear),r=this._t2gYear(t.year());return a.weekOfYear(r,t.month(),t.day())},daysInMonth:function(w,d){var p=this._validate(w,d,this.minDay,v.local.invalidMonth);return this.daysPerMonth[p.month()-1]+(p.month()===2&&this.leapYear(p.year())?1:0)},weekDay:function(w,d,p){return(this.dayOfWeek(w,d,p)||7)<6},toJD:function(r,d,p){var t=this._validate(r,d,p,v.local.invalidDate),r=this._t2gYear(t.year());return a.toJD(r,t.month(),t.day())},fromJD:function(w){var d=a.fromJD(w),p=this._g2tYear(d.year());return this.newDate(p,d.month(),d.day())},_t2gYear:function(w){return w-this.yearsOffset-(w>=1&&w<=this.yearsOffset?1:0)},_g2tYear:function(w){return w+this.yearsOffset+(w>=-this.yearsOffset&&w<=-1?1:0)}}),v.calendars.thai=C},21457:function(U,B,e){var v=e(63489),E=e(56131);function a(w){this.local=this.regionalOptions[w||""]||this.regionalOptions[""]}a.prototype=new v.baseCalendar,E(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āthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(w){var d=this._validate(w,this.minMonth,this.minDay,v.local.invalidYear);return this.daysInYear(d.year())===355},weekOfYear:function(w,d,p){var t=this.newDate(w,d,p);return t.add(-t.dayOfWeek(),"d"),Math.floor((t.dayOfYear()-1)/7)+1},daysInYear:function(w){for(var d=0,p=1;p<=12;p++)d+=this.daysInMonth(w,p);return d},daysInMonth:function(w,d){for(var p=this._validate(w,d,this.minDay,v.local.invalidMonth),t=p.toJD()-24e5+.5,r=0,c=0;ct)return C[r]-C[r-1];r++}return 30},weekDay:function(w,d,p){return this.dayOfWeek(w,d,p)!==5},toJD:function(w,d,p){var t=this._validate(w,d,p,v.local.invalidDate),r=12*(t.year()-1)+t.month()-15292,c=t.day()+C[r-1]-1;return c+24e5-.5},fromJD:function(w){for(var d=w-24e5+.5,p=0,t=0;td);t++)p++;var r=p+15292,c=Math.floor((r-1)/12),o=c+1,n=r-12*c,u=d-C[p-1]+1;return this.newDate(o,n,u)},isValid:function(w,d,p){var t=v.baseCalendar.prototype.isValid.apply(this,arguments);return t&&(w=w.year!=null?w.year:w,t=w>=1276&&w<=1500),t},_validate:function(w,d,p,t){var r=v.baseCalendar.prototype._validate.apply(this,arguments);if(r.year<1276||r.year>1500)throw t.replace(/\{0\}/,this.local.name);return r}}),v.calendars.ummalqura=a;var C=[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]},63489:function(U,B,e){var v=e(56131);function E(){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={}}v(E.prototype,{instance:function(t,r){t=(t||"gregorian").toLowerCase(),r=r||"";var c=this._localCals[t+"-"+r];if(!c&&this.calendars[t]&&(c=new this.calendars[t](r),this._localCals[t+"-"+r]=c),!c)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return c},newDate:function(t,r,c,o,n){return o=(t!=null&&t.year?t.calendar():typeof o=="string"?this.instance(o,n):o)||this.instance(),o.newDate(t,r,c)},substituteDigits:function(t){return function(r){return(r+"").replace(/[0-9]/g,function(c){return t[c]})}},substituteChineseDigits:function(t,r){return function(c){for(var o="",n=0;c>0;){var u=c%10;o=(u===0?"":t[u]+r[n])+o,n++,c=Math.floor(c/10)}return o.indexOf(t[1]+r[1])===0&&(o=o.substr(1)),o||t[0]}}});function a(t,r,c,o){if(this._calendar=t,this._year=r,this._month=c,this._day=o,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(p.local.invalidDate||p.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function C(t,r){return t=""+t,"000000".substring(0,r-t.length)+t}v(a.prototype,{newDate:function(t,r,c){return this._calendar.newDate(t??this,r,c)},year:function(t){return arguments.length===0?this._year:this.set(t,"y")},month:function(t){return arguments.length===0?this._month:this.set(t,"m")},day:function(t){return arguments.length===0?this._day:this.set(t,"d")},date:function(t,r,c){if(!this._calendar.isValid(t,r,c))throw(p.local.invalidDate||p.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=r,this._day=c,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,r){return this._calendar.add(this,t,r)},set:function(t,r){return this._calendar.set(this,t,r)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(p.local.differentCalendars||p.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var r=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return r===0?0:r<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?"-":"")+C(Math.abs(this.year()),4)+"-"+C(this.month(),2)+"-"+C(this.day(),2)}});function w(){this.shortYearCutoff="+10"}v(w.prototype,{_validateLevel:0,newDate:function(t,r,c){return t==null?this.today():(t.year&&(this._validate(t,r,c,p.local.invalidDate||p.regionalOptions[""].invalidDate),c=t.day(),r=t.month(),t=t.year()),new a(this,t,r,c))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){var r=this._validate(t,this.minMonth,this.minDay,p.local.invalidYear||p.regionalOptions[""].invalidYear);return r.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,p.local.invalidYear||p.regionalOptions[""].invalidYear);return(r.year()<0?"-":"")+C(Math.abs(r.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,p.local.invalidYear||p.regionalOptions[""].invalidYear),12},monthOfYear:function(t,r){var c=this._validate(t,r,this.minDay,p.local.invalidMonth||p.regionalOptions[""].invalidMonth);return(c.month()+this.monthsInYear(c)-this.firstMonth)%this.monthsInYear(c)+this.minMonth},fromMonthOfYear:function(t,r){var c=(r+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,c,this.minDay,p.local.invalidMonth||p.regionalOptions[""].invalidMonth),c},daysInYear:function(t){var r=this._validate(t,this.minMonth,this.minDay,p.local.invalidYear||p.regionalOptions[""].invalidYear);return this.leapYear(r)?366:365},dayOfYear:function(t,r,c){var o=this._validate(t,r,c,p.local.invalidDate||p.regionalOptions[""].invalidDate);return o.toJD()-this.newDate(o.year(),this.fromMonthOfYear(o.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,r,c){var o=this._validate(t,r,c,p.local.invalidDate||p.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(o))+2)%this.daysInWeek()},extraInfo:function(t,r,c){return this._validate(t,r,c,p.local.invalidDate||p.regionalOptions[""].invalidDate),{}},add:function(t,r,c){return this._validate(t,this.minMonth,this.minDay,p.local.invalidDate||p.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,r,c),r,c)},_add:function(t,r,c){if(this._validateLevel++,c==="d"||c==="w"){var o=t.toJD()+r*(c==="w"?this.daysInWeek():1),n=t.calendar().fromJD(o);return this._validateLevel--,[n.year(),n.month(),n.day()]}try{var u=t.year()+(c==="y"?r:0),i=t.monthOfYear()+(c==="m"?r:0),n=t.day(),g=function(f){for(;il-1+f.minMonth;)u++,i-=l,l=f.monthsInYear(u)};c==="y"?(t.month()!==this.fromMonthOfYear(u,i)&&(i=this.newDate(u,t.month(),this.minDay).monthOfYear()),i=Math.min(i,this.monthsInYear(u)),n=Math.min(n,this.daysInMonth(u,this.fromMonthOfYear(u,i)))):c==="m"&&(g(this),n=Math.min(n,this.daysInMonth(u,this.fromMonthOfYear(u,i))));var h=[u,this.fromMonthOfYear(u,i),n];return this._validateLevel--,h}catch(x){throw this._validateLevel--,x}},_correctAdd:function(t,r,c,o){if(!this.hasYearZero&&(o==="y"||o==="m")&&(r[0]===0||t.year()>0!=r[0]>0)){var n={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[o],u=c<0?-1:1;r=this._add(t,c*n[0]+u*n[1],n[2])}return t.date(r[0],r[1],r[2])},set:function(t,r,c){this._validate(t,this.minMonth,this.minDay,p.local.invalidDate||p.regionalOptions[""].invalidDate);var o=c==="y"?r:t.year(),n=c==="m"?r:t.month(),u=c==="d"?r:t.day();return(c==="y"||c==="m")&&(u=Math.min(u,this.daysInMonth(o,n))),t.date(o,n,u)},isValid:function(t,r,c){this._validateLevel++;var o=this.hasYearZero||t!==0;if(o){var n=this.newDate(t,r,this.minDay);o=r>=this.minMonth&&r-this.minMonth=this.minDay&&c-this.minDay13.5?13:1),x=n-(h>2.5?4716:4715);return x<=0&&x--,this.newDate(x,h,g)},toJSDate:function(t,r,c){var o=this._validate(t,r,c,p.local.invalidDate||p.regionalOptions[""].invalidDate),n=new Date(o.year(),o.month()-1,o.day());return n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),n.setHours(n.getHours()>12?n.getHours()+2:0),n},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var p=U.exports=new E;p.cdate=a,p.baseCalendar=w,p.calendars.gregorian=d},94338:function(U,B,e){var v=e(56131),E=e(63489);v(E.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"}),E.local=E.regionalOptions[""],v(E.cdate.prototype,{formatDate:function(a,C){return typeof a!="string"&&(C=a,a=""),this._calendar.formatDate(a||"",this,C)}}),v(E.baseCalendar.prototype,{UNIX_EPOCH:E.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:E.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(a,C,w){if(typeof a!="string"&&(w=C,C=a,a=""),!C)return"";if(C.calendar()!==this)throw E.local.invalidFormat||E.regionalOptions[""].invalidFormat;a=a||this.local.dateFormat,w=w||{};var d=w.dayNamesShort||this.local.dayNamesShort,p=w.dayNames||this.local.dayNames,t=w.monthNumbers||this.local.monthNumbers,r=w.monthNamesShort||this.local.monthNamesShort,c=w.monthNames||this.local.monthNames;w.calculateWeek||this.local.calculateWeek;for(var o=function(S,L){for(var m=1;T+m1},n=function(S,L,m,M){var b=""+L;if(o(S,M))for(;b.length1},T=function(F,G){var O=y(F,G),H=[2,3,O?4:2,O?4:2,10,11,20]["oyYJ@!".indexOf(F)+1],z=new RegExp("^-?\\d{1,"+H+"}"),k=C.substring(s).match(z);if(!k)throw(E.local.missingNumberAt||E.regionalOptions[""].missingNumberAt).replace(/\{0\}/,s);return s+=k[0].length,parseInt(k[0],10)},S=this,L=function(){if(typeof c=="function"){y("m");var F=c.call(S,C.substring(s));return s+=F.length,F}return T("m")},m=function(F,G,O,H){for(var z=y(F,H)?O:G,k=0;k-1){g=1,h=x;for(var D=this.daysInMonth(i,g);h>D;D=this.daysInMonth(i,g))g++,h-=D}return u>-1?this.fromJD(u):this.newDate(i,g,h)},determineDate:function(a,C,w,d,p){w&&typeof w!="object"&&(p=d,d=w,w=null),typeof d!="string"&&(p=d,d="");var t=this,r=function(c){try{return t.parseDate(d,c,p)}catch{}c=c.toLowerCase();for(var o=(c.match(/^c/)&&w?w.newDate():null)||t.today(),n=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,u=n.exec(c);u;)o.add(parseInt(u[1],10),u[2]||"d"),u=n.exec(c);return o};return C=C?C.newDate():null,a=a==null?C:typeof a=="string"?r(a):typeof a=="number"?isNaN(a)||a===1/0||a===-1/0?C:t.today().add(a,"d"):t.newDate(a),a}})},69862:function(){},40964:function(){},72077:function(U,B,e){var v=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],E=typeof globalThis>"u"?e.g:globalThis;U.exports=function(){for(var C=[],w=0;w>8&15|Ce>>4&240,Ce>>4&15|Ce&240,(Ce&15)<<4|Ce&15,1):Ge===8?L(Ce>>24&255,Ce>>16&255,Ce>>8&255,(Ce&255)/255):Ge===4?L(Ce>>12&15|Ce>>8&240,Ce>>8&15|Ce>>4&240,Ce>>4&15|Ce&240,((Ce&15)<<4|Ce&15)/255):null):(Ce=c.exec(we))?new b(Ce[1],Ce[2],Ce[3],1):(Ce=o.exec(we))?new b(Ce[1]*255/100,Ce[2]*255/100,Ce[3]*255/100,1):(Ce=n.exec(we))?L(Ce[1],Ce[2],Ce[3],Ce[4]):(Ce=u.exec(we))?L(Ce[1]*255/100,Ce[2]*255/100,Ce[3]*255/100,Ce[4]):(Ce=i.exec(we))?O(Ce[1],Ce[2]/100,Ce[3]/100,1):(Ce=g.exec(we))?O(Ce[1],Ce[2]/100,Ce[3]/100,Ce[4]):h.hasOwnProperty(we)?S(h[we]):we==="transparent"?new b(NaN,NaN,NaN,0):null}function S(we){return new b(we>>16&255,we>>8&255,we&255,1)}function L(we,Ce,Ge,He){return He<=0&&(we=Ce=Ge=NaN),new b(we,Ce,Ge,He)}function m(we){return we instanceof a||(we=T(we)),we?(we=we.rgb(),new b(we.r,we.g,we.b,we.opacity)):new b}function M(we,Ce,Ge,He){return arguments.length===1?m(we):new b(we,Ce,Ge,He??1)}function b(we,Ce,Ge,He){this.r=+we,this.g=+Ce,this.b=+Ge,this.opacity=+He}v(b,M,E(a,{brighter:function(Ce){return Ce=Ce==null?w:Math.pow(w,Ce),new b(this.r*Ce,this.g*Ce,this.b*Ce,this.opacity)},darker:function(Ce){return Ce=Ce==null?C:Math.pow(C,Ce),new b(this.r*Ce,this.g*Ce,this.b*Ce,this.opacity)},rgb:function(){return this},clamp:function(){return new b(F(this.r),F(this.g),F(this.b),D(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:s,formatHex:s,formatHex8:_,formatRgb:A,toString:A}));function s(){return"#".concat(G(this.r)).concat(G(this.g)).concat(G(this.b))}function _(){return"#".concat(G(this.r)).concat(G(this.g)).concat(G(this.b)).concat(G((isNaN(this.opacity)?1:this.opacity)*255))}function A(){var we=D(this.opacity);return"".concat(we===1?"rgb(":"rgba(").concat(F(this.r),", ").concat(F(this.g),", ").concat(F(this.b)).concat(we===1?")":", ".concat(we,")"))}function D(we){return isNaN(we)?1:Math.max(0,Math.min(1,we))}function F(we){return Math.max(0,Math.min(255,Math.round(we)||0))}function G(we){return we=F(we),(we<16?"0":"")+we.toString(16)}function O(we,Ce,Ge,He){return He<=0?we=Ce=Ge=NaN:Ge<=0||Ge>=1?we=Ce=NaN:Ce<=0&&(we=NaN),new k(we,Ce,Ge,He)}function H(we){if(we instanceof k)return new k(we.h,we.s,we.l,we.opacity);if(we instanceof a||(we=T(we)),!we)return new k;if(we instanceof k)return we;we=we.rgb();var Ce=we.r/255,Ge=we.g/255,He=we.b/255,De=Math.min(Ce,Ge,He),Fe=Math.max(Ce,Ge,He),qe=NaN,Qe=Fe-De,Je=(Fe+De)/2;return Qe?(Ce===Fe?qe=(Ge-He)/Qe+(Ge0&&Je<1?0:qe,new k(qe,Qe,Je,we.opacity)}function z(we,Ce,Ge,He){return arguments.length===1?H(we):new k(we,Ce,Ge,He??1)}function k(we,Ce,Ge,He){this.h=+we,this.s=+Ce,this.l=+Ge,this.opacity=+He}v(k,z,E(a,{brighter:function(Ce){return Ce=Ce==null?w:Math.pow(w,Ce),new k(this.h,this.s,this.l*Ce,this.opacity)},darker:function(Ce){return Ce=Ce==null?C:Math.pow(C,Ce),new k(this.h,this.s,this.l*Ce,this.opacity)},rgb:function(){var Ce=this.h%360+(this.h<0)*360,Ge=isNaN(Ce)||isNaN(this.s)?0:this.s,He=this.l,De=He+(He<.5?He:1-He)*Ge,Fe=2*He-De;return new b(ee(Ce>=240?Ce-240:Ce+120,Fe,De),ee(Ce,Fe,De),ee(Ce<120?Ce+240:Ce-120,Fe,De),this.opacity)},clamp:function(){return new k(V(this.h),Z(this.s),Z(this.l),D(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},formatHsl:function(){var Ce=D(this.opacity);return"".concat(Ce===1?"hsl(":"hsla(").concat(V(this.h),", ").concat(Z(this.s)*100,"%, ").concat(Z(this.l)*100,"%").concat(Ce===1?")":", ".concat(Ce,")"))}}));function V(we){return we=(we||0)%360,we<0?we+360:we}function Z(we){return Math.max(0,Math.min(1,we||0))}function ee(we,Ce,Ge){return(we<60?Ce+(Ge-Ce)*we/60:we<180?Ge:we<240?Ce+(Ge-Ce)*(240-we)/60:Ce)*255}var Q=function(we){return function(){return we}};function ne(we,Ce){return function(Ge){return we+Ge*Ce}}function fe(we,Ce,Ge){return we=Math.pow(we,Ge),Ce=Math.pow(Ce,Ge)-we,Ge=1/Ge,function(He){return Math.pow(we+He*Ce,Ge)}}function $(we){return(we=+we)==1?Y:function(Ce,Ge){return Ge-Ce?fe(Ce,Ge,we):Q(isNaN(Ce)?Ge:Ce)}}function Y(we,Ce){var Ge=Ce-we;return Ge?ne(we,Ge):Q(isNaN(we)?Ce:we)}var j=function we(Ce){var Ge=$(Ce);function He(De,Fe){var qe=Ge((De=M(De)).r,(Fe=M(Fe)).r),Qe=Ge(De.g,Fe.g),Je=Ge(De.b,Fe.b),tt=Y(De.opacity,Fe.opacity);return function(ht){return De.r=qe(ht),De.g=Qe(ht),De.b=Je(ht),De.opacity=tt(ht),De+""}}return He.gamma=we,He}(1);function X(we,Ce){var Ge=Ce?Ce.length:0,He=we?Math.min(Ge,we.length):0,De=new Array(He),Fe=new Array(Ge),qe;for(qe=0;qeGe&&(Fe=Ce.slice(Ge,Fe),Qe[qe]?Qe[qe]+=Fe:Qe[++qe]=Fe),(He=He[0])===(De=De[0])?Qe[qe]?Qe[qe]+=De:Qe[++qe]=De:(Qe[++qe]=null,Je.push({i:qe,x:le(He,De)})),Ge=ae.lastIndex;return Ge +mean_precisions: %{x}
+engine: %{customdata[0]}
+version: %{customdata[1]}
+remark: %{customdata[2]}
+dataset: %{customdata[3]}
+dataset_tag: %{customdata[4]}
+benchmark_run_at: %{customdata[5]}
+monthly_cost: %{customdata[6]}
+index_type: %{customdata[7]}
+index_create_parameter: %{customdata[8]}
+index_search_params: %{customdata[9]}
+`;function mm(P,N){return P.reduce((J,oe)=>{const be=N(oe),_e=J;return _e[be]||(_e[be]=[]),_e[be].push(oe),_e},{})}function QH(P,N){return P.filter((oe,be,_e)=>{let U=-1;return N==="rps"?U=_e.findIndex((B,e)=>e>be&&B[N]>oe[N]):N==="mean_time"||N==="p95_time"||N==="cost"?U=_e.findIndex((B,e)=>e>be&&B[N]e>be&&B[N]<=oe[N])),U===-1})}function Tw(P){const N=[];return Object.keys(P).forEach(J=>{const oe=P[J];Array.isArray(oe)&&oe.length>0&&N.push(oe[oe.length-1])}),N}function qH(P,N,J,oe){console.log("filtered_data is",P);const be=[],_e=[],U=mm(P,p=>p.hash_code);let B=0,e=0,v=[];for(const p in U){const t=mm(U[p],c=>c.search_parallel);v=Array.from(new Set(v.concat(Object.keys(t))));let r=!0;for(const c in t){let o=[],n=[];if(oe==="total_upload"){const f=mm(t[c],l=>JSON.stringify(l.index_create_parameter));o=Tw(f),n=Tw(f),console.log("total upload each_data is ",o)}else o=QH(t[c],oe),n=t[c];console.log("parallel: ",c," each_data: ",o);const u=`${o[0].engine}-${o[0].index_type}${o[0].dataset_tag==="no-filter"?"":"-"+o[0].dataset_tag}`,i=o.map(f=>[f.engine,f.version,f.remark,f.dataset,f.dataset_tag,new Date(f.time_stamp).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),f.monthly_cost,f.index_type,JSON.stringify(f.index_create_parameter),JSON.stringify(f.index_search_params)]),g=n.map(f=>[f.engine,f.version,f.remark,f.dataset,f.dataset_tag,new Date(f.time_stamp).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),f.monthly_cost,f.index_type,JSON.stringify(f.index_create_parameter),JSON.stringify(f.index_search_params)]),h={x:o.map(f=>f.mean_precisions),y:o.map(f=>f[oe]),xaxis:"x"+c,yaxis:"y",mode:"lines+markers",type:"scatter",name:u,legendgroup:u,showlegend:r,line:{color:ym[e]},customdata:i,hovertemplate:ww,marker:{size:8}},x={x:n.map(f=>f.mean_precisions),y:n.map(f=>f[oe]),xaxis:"x"+c,yaxis:"y",mode:"markers",type:"scatter",name:u,legendgroup:u,showlegend:r,line:{color:ym[e]},customdata:g,hovertemplate:ww,marker:{size:8}};be.push(h),be.sort((f,l)=>f.legendgroup.localeCompare(l.legendgroup)),_e.push(x),_e.sort((f,l)=>f.legendgroup.localeCompare(l.legendgroup)),r=!1}B+=1,e=B%ym.length}let E={paper_bgcolor:uv.value?kf.paper_bgcolor:Ff.paper_bgcolor,plot_bgcolor:uv.value?kf.plot_bgcolor:Ff.plot_bgcolor,font:{color:uv.value?kf.font_color:Ff.font_color},yaxis:{autorange:!0,gridcolor:uv.value?kf.gridcolor:Ff.gridcolor,rangemode:"tozero",title:oe==="rps"?"Throughput (QPS)":oe==="cost"?"Monthly Cost ($) Per 100 QPS":"Time (s)",showline:!0}};v.sort((p,t)=>p-t);let a={},C=[],w=.02,d=(1-(v.length-1)*w)/v.length;for(let p=0;pN.value,p=>{var t=e.value.layout;let r=Object.keys(t).filter(c=>c.includes("axis"));if(p){t.paper_bgcolor=kf.paper_bgcolor,t.plot_bgcolor=kf.plot_bgcolor,t.font.color=kf.font_color;for(let c of r)t[c]={...t[c],gridcolor:kf.gridcolor}}else{t.paper_bgcolor=Ff.paper_bgcolor,t.plot_bgcolor=Ff.plot_bgcolor,t.font.color=Ff.font_color;for(let c of r)t[c]={...t[c],gridcolor:Ff.gridcolor}}kg.react(e.value,e.value.data,t),kg.react(v.value,v.value.data,t),console.log(t)});function oe(p,t){return p.filter(r=>t.includes(r))}const be=ra([]),_e=ra(),U=xs(KH),B=ra($H),e=ra(),v=ra(),E=ra(!1);let a="🚀",C=[];const w=ra(!0);ja(()=>U.datasets_selected,p=>{console.log("dataset updated",p),U.dataset_tag_candidates=Object.keys(B.value[p]),U.dataset_tag_selected=U.dataset_tag_candidates;const t=new Set,r=new Set,c=B.value[p];if(c)for(const o in c){const n=c[o].valid_parallel,u=c[o].valid_topk;n.forEach(i=>t.add(i)),u.forEach(i=>r.add(i))}U.parallel_candidates=Array.from(t),U.parallel_selected=Array.from(t),U.topk_candidates=Array.from(r),U.topk_candidates.includes(U.topk)||(U.topk=U.topk_candidates[0])}),ja(()=>U.dataset_tag_selected,(p,t)=>{if(p.length===0&&t.length!=0){bw({message:"👽 dataset-tag can't be empty.",type:"warning"}),U.dataset_tag_selected=t;return}console.log("datasets tag updated",p);const r=new Set,c=new Set,o=B.value[U.datasets_selected];if(o){for(const n in o)if(p.includes(n)){const u=o[n].valid_parallel,i=o[n].valid_topk;u.forEach(g=>r.add(g)),i.forEach(g=>c.add(g))}}U.parallel_candidates=Array.from(r),U.parallel_selected=oe(U.parallel_candidates,U.parallel_selected),U.topk_candidates=Array.from(c),U.topk_candidates.includes(U.topk)||(U.topk=U.topk_candidates[0])}),ja(()=>[U.datasets_selected,U.dataset_tag_selected,U.parallel_selected,U.indicator_selected,U.topk,U.indicator_selected],(p,t)=>{if(U.dataset_tag_selected.length===0)return;if(p[2].length===0){bw({message:"👽 search-parallel can't be empty.",type:"warning"}),U.parallel_selected=t[2];return}U.indicator_selected==="total_upload"&&t[3]!=p[3]&&(E.value=!0,a=U.topk,C=U.parallel_selected,U.parallel_selected=[U.parallel_candidates[0]],console.log("you clicked_total_upload",E)),t[3]==="total_upload"&&p[3]!="total_upload"&&(E.value=!1,U.topk=a,U.parallel_selected=C,console.log("you cancel clicked_total_upload",E));let r=be.value.filter(c=>c.dataset_group===U.datasets_selected&&U.dataset_tag_selected.includes(c.dataset_tag)&&U.topk===c.search_top.toString()&&U.parallel_selected.includes(c.search_parallel.toString()));qH(r,e.value,v.value,U.indicator_selected)});function d(p){const t={};p.forEach(r=>{const{dataset_group:c,dataset_tag:o,search_parallel:n,search_top:u}=r;t[c]||(t[c]={}),t[c][o]||(t[c][o]={valid_parallel:new Set,valid_topk:new Set}),t[c][o].valid_parallel.add(n),t[c][o].valid_topk.add(u)});for(const r in t)for(const c in t[r])t[r][c].valid_parallel=Array.from(t[r][c].valid_parallel).sort((o,n)=>o-n).map(String),t[r][c].valid_topk=Array.from(t[r][c].valid_topk).sort((o,n)=>o-n).map(String);return t}return xo(async()=>{w.value=!0,Ii(async()=>{setTimeout(async()=>{try{const p=await f5.get(J);be.value=p.data,w.value=!1,B.value=d(be.value),U.datasets_selected="",Object.keys(B.value).includes("laion-768-5m-ip")?U.datasets_selected="laion-768-5m-ip":U.datasets_selected=Object.keys(B.value)[0],U.datasets_candidates=Object.keys(B.value),console.log("loading benchmark json finished")}catch(p){console.error(p)}},500)})}),(p,t)=>{const r=kH,c=DH,o=_z,n=RU,u=dU,i=vU,g=EU,h=JN,x=QN,f=Lz,l=RN;return Wn(),Oa("div",eV,[Ia(f,{ref_key:"formRef",ref:_e,inline:!0,model:U,class:"bg-bg_color w-[99/100] pt-4 mb-5 mt-5"},{default:Ea(()=>[Ia(g,{class:"max-w-full"},{default:Ea(()=>[Ia(n,{span:7},{default:Ea(()=>[za("div",tV,[za("div",rV,[Ia(o,{label:"Datasets",class:"font-bold"},{default:Ea(()=>[Ia(c,{modelValue:U.datasets_selected,"onUpdate:modelValue":t[0]||(t[0]=y=>U.datasets_selected=y)},{default:Ea(()=>[(Wn(!0),Oa(qi,null,Ap(U.datasets_candidates,(y,T)=>(Wn(),ri(r,{key:T,label:y,value:y},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})])])]),_:1}),Ia(n,{span:8},{default:Ea(()=>[za("div",nV,[Ia(o,{label:"Dataset Tag",class:"font-bold"},{default:Ea(()=>[Ia(c,{modelValue:U.dataset_tag_selected,"onUpdate:modelValue":t[1]||(t[1]=y=>U.dataset_tag_selected=y),multiple:""},{default:Ea(()=>[(Wn(!0),Oa(qi,null,Ap(U.dataset_tag_candidates,(y,T)=>(Wn(),ri(r,{key:T,label:y,value:y},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})])]),_:1}),Ia(n,{span:9},{default:Ea(()=>[za("div",aV,[za("div",iV,[Ia(o,{label:"Plot Values",class:"font-bold"},{default:Ea(()=>[Ia(i,{modelValue:U.indicator_selected,"onUpdate:modelValue":t[2]||(t[2]=y=>U.indicator_selected=y)},{default:Ea(()=>[Ia(u,{label:"rps",class:"!w-[100px]"},{default:Ea(()=>[Ps("Throughput")]),_:1}),Ia(u,{label:"mean_time",class:"!w-[100px]"},{default:Ea(()=>[Ps("Mean Latency")]),_:1}),Ia(u,{label:"p95_time",class:"!w-[100px]"},{default:Ea(()=>[Ps("P95 Latency")]),_:1}),Ia(u,{label:"total_upload",class:"!w-[150px]"},{default:Ea(()=>[Ps(" Upload and Build Time ")]),_:1}),Ia(u,{label:"cost",class:"!w-[200px]"},{default:Ea(()=>[Ps("Monthly Cost Per 100 QPS")]),_:1})]),_:1},8,["modelValue"])]),_:1})])])]),_:1})]),_:1}),Ia(g,{class:"max-w-2xl"},{default:Ea(()=>[Ia(n,{span:16},{default:Ea(()=>[za("div",oV,[Ia(o,{label:"Search Threads",class:"font-bold"},{default:Ea(()=>[Ia(x,{modelValue:U.parallel_selected,"onUpdate:modelValue":t[3]||(t[3]=y=>U.parallel_selected=y)},{default:Ea(()=>[Ia(h,{label:"1",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("1")||E.value},null,8,["disabled"]),Ia(h,{label:"2",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("2")||E.value},null,8,["disabled"]),Ia(h,{label:"4",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("4")||E.value},null,8,["disabled"]),Ia(h,{label:"8",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("8")||E.value},null,8,["disabled"]),Ia(h,{label:"16",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("16")||E.value},null,8,["disabled"]),Ia(h,{label:"32",class:"!w-[15px]",disabled:!U.parallel_candidates.includes("32")||E.value},null,8,["disabled"])]),_:1},8,["modelValue"])]),_:1})])]),_:1}),Ia(n,{span:8},{default:Ea(()=>[za("div",sV,[Ia(o,{label:"TopK",class:"font-bold"},{default:Ea(()=>[Ia(i,{modelValue:U.topk,"onUpdate:modelValue":t[4]||(t[4]=y=>U.topk=y)},{default:Ea(()=>[Ia(u,{label:"10",class:"!w-[25px]",disabled:!U.topk_candidates.includes("10")||E.value},{default:Ea(()=>[Ps("10")]),_:1},8,["disabled"]),Ia(u,{label:"100",class:"!w-[25px]",disabled:!U.topk_candidates.includes("100")||E.value},{default:Ea(()=>[Ps("100")]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1})])]),_:1})]),_:1})]),_:1},8,["model"]),Ia(l,{class:"results-card",shadow:"hover"},{default:Ea(()=>[za("div",lV,[w.value?(Wn(),Oa("div",uV,cV)):ai("",!0),za("div",{ref_key:"plotlyLineChart",ref:e},null,512),za("div",{ref_key:"plotlyScatterChart",ref:v},null,512),za("a",{href:J,download:"benchmark.json"},"⏬ raw data")])]),_:1})])}}}),dV=[{path:"/",name:"Home",component:t_},{path:"/benchmark",name:"Benchmark",component:hV}],vV=VC({history:aC(),routes:dV}),pV=za("button",{class:"border-none w-full bg-transparent cursor-pointer",style:{height:"var(--ep-menu-item-height)"}},[za("i",{"inline-flex":"",i:"dark:ep-moon ep-sunny"})],-1),gV=Ca({__name:"BaseHeader",setup(P){const N=n0();function J(){N.value=!N.value}return(oe,be)=>{const _e=pH,U=vH;return Wn(),ri(U,{class:"el-menu-demo",mode:"horizontal",router:!0},{default:Ea(()=>[Ia(_e,{index:"/"},{default:Ea(()=>[Ps("Home")]),_:1}),Ia(_e,{index:"/benchmark"},{default:Ea(()=>[Ps("Benchmark")]),_:1}),Ia(_e,{h:"full",onClick:be[0]||(be[0]=B=>J())},{default:Ea(()=>[pV]),_:1})]),_:1})}}}),yV={class:"sub-container"},mV=Ca({__name:"App",setup(P){const N=n0(),J=sn(()=>({"background-color":N.value?"#303030":"#e5e5f7",opacity:1,"background-size":"32px 32px","background-position":"0 0,16px 16px"}));return(oe,be)=>{const _e=gV,U=ZU,B=qu("router-view"),e=XU,v=YU,E=RO;return Wn(),Oa("div",{class:"main",style:ao(J.value)},[Ia(E,{namespace:"ep"},{default:Ea(()=>[Ia(v,null,{default:Ea(()=>[Ia(U,{class:"header-container"},{default:Ea(()=>[Ia(_e)]),_:1}),Ia(e,{class:"main-container"},{default:Ea(()=>[za("div",yV,[Ia(B)])]),_:1})]),_:1})]),_:1})],4)}}});var f4={exports:{}};(function(P){(function(){function N(n){var u={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:`Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as
(GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex:
foo
",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(n===!1)return JSON.parse(JSON.stringify(u));var i={};for(var g in u)u.hasOwnProperty(g)&&(i[g]=u[g].defaultValue);return i}function J(){var n=N(!0),u={};for(var i in n)n.hasOwnProperty(i)&&(u[i]=!0);return u}var oe={},be={},_e={},U=N(!0),B="vanilla",e={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:N(!0),allOn:J()};oe.helper={},oe.extensions={},oe.setOption=function(n,u){return U[n]=u,this},oe.getOption=function(n){return U[n]},oe.getOptions=function(){return U},oe.resetOptions=function(){U=N(!0)},oe.setFlavor=function(n){if(!e.hasOwnProperty(n))throw Error(n+" flavor was not found");oe.resetOptions();var u=e[n];B=n;for(var i in u)u.hasOwnProperty(i)&&(U[i]=u[i])},oe.getFlavor=function(){return B},oe.getFlavorOptions=function(n){if(e.hasOwnProperty(n))return e[n]},oe.getDefaultOptions=function(n){return N(n)},oe.subParser=function(n,u){if(oe.helper.isString(n))if(typeof u<"u")be[n]=u;else{if(be.hasOwnProperty(n))return be[n];throw Error("SubParser named "+n+" not registered!")}},oe.extension=function(n,u){if(!oe.helper.isString(n))throw Error("Extension 'name' must be a string");if(n=oe.helper.stdExtName(n),oe.helper.isUndefined(u)){if(!_e.hasOwnProperty(n))throw Error("Extension named "+n+" is not registered!");return _e[n]}else{typeof u=="function"&&(u=u()),oe.helper.isArray(u)||(u=[u]);var i=v(u,n);if(i.valid)_e[n]=u;else throw Error(i.error)}},oe.getAllExtensions=function(){return _e},oe.removeExtension=function(n){delete _e[n]},oe.resetExtensions=function(){_e={}};function v(n,u){var i=u?"Error in "+u+" extension->":"Error in unnamed extension",g={valid:!0,error:""};oe.helper.isArray(n)||(n=[n]);for(var h=0;h"u"},oe.helper.forEach=function(n,u){if(oe.helper.isUndefined(n))throw new Error("obj param is required");if(oe.helper.isUndefined(u))throw new Error("callback param is required");if(!oe.helper.isFunction(u))throw new Error("callback param must be a function/closure");if(typeof n.forEach=="function")n.forEach(u);else if(oe.helper.isArray(n))for(var i=0;i").replace(/&/g,"&")};var a=function(n,u,i,g){var h=g||"",x=h.indexOf("g")>-1,f=new RegExp(u+"|"+i,"g"+h.replace(/g/g,"")),l=new RegExp(u,h.replace(/g/g,"")),y=[],T,S,L,m,M;do for(T=0;L=f.exec(n);)if(l.test(L[0]))T++||(S=f.lastIndex,m=S-L[0].length);else if(T&&!--T){M=L.index+L[0].length;var b={left:{start:m,end:S},match:{start:S,end:L.index},right:{start:L.index,end:M},wholeMatch:{start:m,end:M}};if(y.push(b),!x)return y}while(T&&(f.lastIndex=S));return y};oe.helper.matchRecursiveRegExp=function(n,u,i,g){for(var h=a(n,u,i,g),x=[],f=0;f0){var T=[];f[0].wholeMatch.start!==0&&T.push(n.slice(0,f[0].wholeMatch.start));for(var S=0;S=0?g+(i||0):g},oe.helper.splitAtIndex=function(n,u){if(!oe.helper.isString(n))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[n.substring(0,u),n.substring(u)]},oe.helper.encodeEmailAddress=function(n){var u=[function(i){return"&#"+i.charCodeAt(0)+";"},function(i){return"&#x"+i.charCodeAt(0).toString(16)+";"},function(i){return i}];return n=n.replace(/./g,function(i){if(i==="@")i=u[Math.floor(Math.random()*2)](i);else{var g=Math.random();i=g>.9?u[2](i):g>.45?u[1](i):u[0](i)}return i}),n},oe.helper.padEnd=function(u,i,g){return i=i>>0,g=String(g||" "),u.length>i?String(u):(i=i-u.length,i>g.length&&(g+=g.repeat(i/g.length)),String(u)+g.slice(0,i))},typeof console>"u"&&(console={warn:function(n){alert(n)},log:function(n){alert(n)},error:function(n){throw n}}),oe.helper.regexes={asteriskDashAndColon:/([*_:~])/g},oe.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:`S`},oe.Converter=function(n){var u={},i=[],g=[],h={},x=B,f={parsed:{},raw:"",format:""};l();function l(){n=n||{};for(var m in U)U.hasOwnProperty(m)&&(u[m]=U[m]);if(typeof n=="object")for(var M in n)n.hasOwnProperty(M)&&(u[M]=n[M]);else throw Error("Converter expects the passed parameter to be an object, but "+typeof n+" was passed instead.");u.extensions&&oe.helper.forEach(u.extensions,y)}function y(m,M){if(M=M||null,oe.helper.isString(m))if(m=oe.helper.stdExtName(m),M=m,oe.extensions[m]){console.warn("DEPRECATION WARNING: "+m+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),T(oe.extensions[m],m);return}else if(!oe.helper.isUndefined(_e[m]))m=_e[m];else throw Error('Extension "'+m+'" could not be loaded. It was either not found or is not a valid extension.');typeof m=="function"&&(m=m()),oe.helper.isArray(m)||(m=[m]);var b=v(m,M);if(!b.valid)throw Error(b.error);for(var s=0;s[ \t]+¨NBSP;<"),!M)if(window&&window.document)M=window.document;else throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");var b=M.createElement("div");b.innerHTML=m;var s={preList:G(b)};F(b);for(var _=b.childNodes,A="",D=0;D<_.length;D++)A+=oe.subParser("makeMarkdown.node")(_[D],s);function F(O){for(var H=0;H'}else z.push(H[k].innerHTML),H[k].innerHTML="",H[k].setAttribute("prenum",k.toString());return z}return A},this.setOption=function(m,M){u[m]=M},this.getOption=function(m){return u[m]},this.getOptions=function(){return u},this.addExtension=function(m,M){M=M||null,y(m,M)},this.useExtension=function(m){y(m)},this.setFlavor=function(m){if(!e.hasOwnProperty(m))throw Error(m+" flavor was not found");var M=e[m];x=m;for(var b in M)M.hasOwnProperty(b)&&(u[b]=M[b])},this.getFlavor=function(){return x},this.removeExtension=function(m){oe.helper.isArray(m)||(m=[m]);for(var M=0;M? ?(['"].*['"])?\)$/m)>-1)l="";else if(!l)if(f||(f=x.toLowerCase().replace(/ ?\n/g," ")),l="#"+f,!oe.helper.isUndefined(i.gUrls[f]))l=i.gUrls[f],oe.helper.isUndefined(i.gTitles[f])||(S=i.gTitles[f]);else return h;l=l.replace(oe.helper.regexes.asteriskDashAndColon,oe.helper.escapeCharactersCallback);var L='
",L};return n=n.replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,g),n=n.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,g),n=n.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,g),n=n.replace(/\[([^\[\]]+)]()()()()()/g,g),u.ghMentions&&(n=n.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gmi,function(h,x,f,l,y){if(f==="\\")return x+l;if(!oe.helper.isString(u.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var T=u.ghMentionsLink.replace(/\{u}/g,y),S="";return u.openLinksInNewWindow&&(S=' rel="noopener noreferrer" target="¨E95Eblank"'),x+'"+l+""})),n=i.converter._dispatch("anchors.after",n,u,i),n});var C=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,w=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,d=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,p=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gmi,t=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,r=function(n){return function(u,i,g,h,x,f,l){g=g.replace(oe.helper.regexes.asteriskDashAndColon,oe.helper.escapeCharactersCallback);var y=g,T="",S="",L=i||"",m=l||"";return/^www\./i.test(g)&&(g=g.replace(/^www\./i,"http://www.")),n.excludeTrailingPunctuationFromURLs&&f&&(T=f),n.openLinksInNewWindow&&(S=' rel="noopener noreferrer" target="¨E95Eblank"'),L+'"+y+""+T+m}},c=function(n,u){return function(i,g,h){var x="mailto:";return g=g||"",h=oe.subParser("unescapeSpecialChars")(h,n,u),n.encodeEmails?(x=oe.helper.encodeEmailAddress(x+h),h=oe.helper.encodeEmailAddress(h)):x=x+h,g+''+h+""}};oe.subParser("autoLinks",function(n,u,i){return n=i.converter._dispatch("autoLinks.before",n,u,i),n=n.replace(d,r(u)),n=n.replace(t,c(u,i)),n=i.converter._dispatch("autoLinks.after",n,u,i),n}),oe.subParser("simplifiedAutoLinks",function(n,u,i){return u.simplifiedAutoLink&&(n=i.converter._dispatch("simplifiedAutoLinks.before",n,u,i),u.excludeTrailingPunctuationFromURLs?n=n.replace(w,r(u)):n=n.replace(C,r(u)),n=n.replace(p,c(u,i)),n=i.converter._dispatch("simplifiedAutoLinks.after",n,u,i)),n}),oe.subParser("blockGamut",function(n,u,i){return n=i.converter._dispatch("blockGamut.before",n,u,i),n=oe.subParser("blockQuotes")(n,u,i),n=oe.subParser("headers")(n,u,i),n=oe.subParser("horizontalRule")(n,u,i),n=oe.subParser("lists")(n,u,i),n=oe.subParser("codeBlocks")(n,u,i),n=oe.subParser("tables")(n,u,i),n=oe.subParser("hashHTMLBlocks")(n,u,i),n=oe.subParser("paragraphs")(n,u,i),n=i.converter._dispatch("blockGamut.after",n,u,i),n}),oe.subParser("blockQuotes",function(n,u,i){n=i.converter._dispatch("blockQuotes.before",n,u,i),n=n+` + +`;var g=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return u.splitAdjacentBlockquotes&&(g=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),n=n.replace(g,function(h){return h=h.replace(/^[ \t]*>[ \t]?/gm,""),h=h.replace(/¨0/g,""),h=h.replace(/^[ \t]+$/gm,""),h=oe.subParser("githubCodeBlocks")(h,u,i),h=oe.subParser("blockGamut")(h,u,i),h=h.replace(/(^|\n)/g,"$1 "),h=h.replace(/(\s*
[^\r]+?<\/pre>)/gm,function(x,f){var l=f;return l=l.replace(/^  /mg,"¨0"),l=l.replace(/¨0/g,""),l}),oe.subParser("hashBlock")(`
+`+h+` +
`,u,i)}),n=i.converter._dispatch("blockQuotes.after",n,u,i),n}),oe.subParser("codeBlocks",function(n,u,i){n=i.converter._dispatch("codeBlocks.before",n,u,i),n+="¨0";var g=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g;return n=n.replace(g,function(h,x,f){var l=x,y=f,T=` +`;return l=oe.subParser("outdent")(l,u,i),l=oe.subParser("encodeCode")(l,u,i),l=oe.subParser("detab")(l,u,i),l=l.replace(/^\n+/g,""),l=l.replace(/\n+$/g,""),u.omitExtraWLInCodeBlocks&&(T=""),l="
"+l+T+"
",oe.subParser("hashBlock")(l,u,i)+y}),n=n.replace(/¨0/,""),n=i.converter._dispatch("codeBlocks.after",n,u,i),n}),oe.subParser("codeSpans",function(n,u,i){return n=i.converter._dispatch("codeSpans.before",n,u,i),typeof n>"u"&&(n=""),n=n.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(g,h,x,f){var l=f;return l=l.replace(/^([ \t]*)/g,""),l=l.replace(/[ \t]*$/g,""),l=oe.subParser("encodeCode")(l,u,i),l=h+""+l+"",l=oe.subParser("hashHTMLSpans")(l,u,i),l}),n=i.converter._dispatch("codeSpans.after",n,u,i),n}),oe.subParser("completeHTMLDocument",function(n,u,i){if(!u.completeHTMLDocument)return n;n=i.converter._dispatch("completeHTMLDocument.before",n,u,i);var g="html",h=` +`,x="",f=` +`,l="",y="";typeof i.metadata.parsed.doctype<"u"&&(h=" +`,g=i.metadata.parsed.doctype.toString().toLowerCase(),(g==="html"||g==="html5")&&(f=''));for(var T in i.metadata.parsed)if(i.metadata.parsed.hasOwnProperty(T))switch(T.toLowerCase()){case"doctype":break;case"title":x=""+i.metadata.parsed.title+` +`;break;case"charset":g==="html"||g==="html5"?f=' +`:f=' +`;break;case"language":case"lang":l=' lang="'+i.metadata.parsed[T]+'"',y+=' +`;break;default:y+=' +`}return n=h+" + +`+x+f+y+` + +`+n.trim()+` + +`,n=i.converter._dispatch("completeHTMLDocument.after",n,u,i),n}),oe.subParser("detab",function(n,u,i){return n=i.converter._dispatch("detab.before",n,u,i),n=n.replace(/\t(?=\t)/g," "),n=n.replace(/\t/g,"¨A¨B"),n=n.replace(/¨B(.+?)¨A/g,function(g,h){for(var x=h,f=4-x.length%4,l=0;l/g,">"),n=i.converter._dispatch("encodeAmpsAndAngles.after",n,u,i),n}),oe.subParser("encodeBackslashEscapes",function(n,u,i){return n=i.converter._dispatch("encodeBackslashEscapes.before",n,u,i),n=n.replace(/\\(\\)/g,oe.helper.escapeCharactersCallback),n=n.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g,oe.helper.escapeCharactersCallback),n=i.converter._dispatch("encodeBackslashEscapes.after",n,u,i),n}),oe.subParser("encodeCode",function(n,u,i){return n=i.converter._dispatch("encodeCode.before",n,u,i),n=n.replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,oe.helper.escapeCharactersCallback),n=i.converter._dispatch("encodeCode.after",n,u,i),n}),oe.subParser("escapeSpecialCharsWithinTagAttributes",function(n,u,i){n=i.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",n,u,i);var g=/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,h=/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;return n=n.replace(g,function(x){return x.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,oe.helper.escapeCharactersCallback)}),n=n.replace(h,function(x){return x.replace(/([\\`*_~=|])/g,oe.helper.escapeCharactersCallback)}),n=i.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",n,u,i),n}),oe.subParser("githubCodeBlocks",function(n,u,i){return u.ghCodeBlocks?(n=i.converter._dispatch("githubCodeBlocks.before",n,u,i),n+="¨0",n=n.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(g,h,x,f){var l=u.omitExtraWLInCodeBlocks?"":` +`;return f=oe.subParser("encodeCode")(f,u,i),f=oe.subParser("detab")(f,u,i),f=f.replace(/^\n+/g,""),f=f.replace(/\n+$/g,""),f="
"+f+l+"
",f=oe.subParser("hashBlock")(f,u,i),` + +¨G`+(i.ghCodeBlocks.push({text:g,codeblock:f})-1)+`G + +`}),n=n.replace(/¨0/,""),i.converter._dispatch("githubCodeBlocks.after",n,u,i)):n}),oe.subParser("hashBlock",function(n,u,i){return n=i.converter._dispatch("hashBlock.before",n,u,i),n=n.replace(/(^\n+|\n+$)/g,""),n=` + +¨K`+(i.gHtmlBlocks.push(n)-1)+`K + +`,n=i.converter._dispatch("hashBlock.after",n,u,i),n}),oe.subParser("hashCodeTags",function(n,u,i){n=i.converter._dispatch("hashCodeTags.before",n,u,i);var g=function(h,x,f,l){var y=f+oe.subParser("encodeCode")(x,u,i)+l;return"¨C"+(i.gHtmlSpans.push(y)-1)+"C"};return n=oe.helper.replaceRecursiveRegExp(n,g,"]*>","","gim"),n=i.converter._dispatch("hashCodeTags.after",n,u,i),n}),oe.subParser("hashElement",function(n,u,i){return function(g,h){var x=h;return x=x.replace(/\n\n/g,` +`),x=x.replace(/^\n/,""),x=x.replace(/\n+$/g,""),x=` + +¨K`+(i.gHtmlBlocks.push(x)-1)+`K + +`,x}}),oe.subParser("hashHTMLBlocks",function(n,u,i){n=i.converter._dispatch("hashHTMLBlocks.before",n,u,i);var g=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],h=function(m,M,b,s){var _=m;return b.search(/\bmarkdown\b/)!==-1&&(_=b+i.converter.makeHtml(M)+s),` + +¨K`+(i.gHtmlBlocks.push(_)-1)+`K + +`};u.backslashEscapesHTMLTags&&(n=n.replace(/\\<(\/?[^>]+?)>/g,function(m,M){return"<"+M+">"}));for(var x=0;x]*>)","im"),y="<"+g[x]+"\\b[^>]*>",T="";(f=oe.helper.regexIndexOf(n,l))!==-1;){var S=oe.helper.splitAtIndex(n,f),L=oe.helper.replaceRecursiveRegExp(S[1],h,y,T,"im");if(L===S[1])break;n=S[0].concat(L)}return n=n.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,oe.subParser("hashElement")(n,u,i)),n=oe.helper.replaceRecursiveRegExp(n,function(m){return` + +¨K`+(i.gHtmlBlocks.push(m)-1)+`K + +`},"^ {0,3}","gm"),n=n.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,oe.subParser("hashElement")(n,u,i)),n=i.converter._dispatch("hashHTMLBlocks.after",n,u,i),n}),oe.subParser("hashHTMLSpans",function(n,u,i){n=i.converter._dispatch("hashHTMLSpans.before",n,u,i);function g(h){return"¨C"+(i.gHtmlSpans.push(h)-1)+"C"}return n=n.replace(/<[^>]+?\/>/gi,function(h){return g(h)}),n=n.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(h){return g(h)}),n=n.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(h){return g(h)}),n=n.replace(/<[^>]+?>/gi,function(h){return g(h)}),n=i.converter._dispatch("hashHTMLSpans.after",n,u,i),n}),oe.subParser("unhashHTMLSpans",function(n,u,i){n=i.converter._dispatch("unhashHTMLSpans.before",n,u,i);for(var g=0;g]*>\\s*]*>","^ {0,3}\\s*
","gim"),n=i.converter._dispatch("hashPreCodeTags.after",n,u,i),n}),oe.subParser("headers",function(n,u,i){n=i.converter._dispatch("headers.before",n,u,i);var g=isNaN(parseInt(u.headerLevelStart))?1:parseInt(u.headerLevelStart),h=u.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,x=u.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;n=n.replace(h,function(y,T){var S=oe.subParser("spanGamut")(T,u,i),L=u.noHeaderId?"":' id="'+l(T)+'"',m=g,M=""+S+"";return oe.subParser("hashBlock")(M,u,i)}),n=n.replace(x,function(y,T){var S=oe.subParser("spanGamut")(T,u,i),L=u.noHeaderId?"":' id="'+l(T)+'"',m=g+1,M=""+S+"";return oe.subParser("hashBlock")(M,u,i)});var f=u.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;n=n.replace(f,function(y,T,S){var L=S;u.customizedHeaderId&&(L=S.replace(/\s?\{([^{]+?)}\s*$/,""));var m=oe.subParser("spanGamut")(L,u,i),M=u.noHeaderId?"":' id="'+l(S)+'"',b=g-1+T.length,s=""+m+"";return oe.subParser("hashBlock")(s,u,i)});function l(y){var T,S;if(u.customizedHeaderId){var L=y.match(/\{([^{]+?)}\s*$/);L&&L[1]&&(y=L[1])}return T=y,oe.helper.isString(u.prefixHeaderId)?S=u.prefixHeaderId:u.prefixHeaderId===!0?S="section-":S="",u.rawPrefixHeaderId||(T=S+T),u.ghCompatibleHeaderId?T=T.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():u.rawHeaderId?T=T.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():T=T.replace(/[^\w]/g,"").toLowerCase(),u.rawPrefixHeaderId&&(T=S+T),i.hashLinkCounts[T]?T=T+"-"+i.hashLinkCounts[T]++:i.hashLinkCounts[T]=1,T}return n=i.converter._dispatch("headers.after",n,u,i),n}),oe.subParser("horizontalRule",function(n,u,i){n=i.converter._dispatch("horizontalRule.before",n,u,i);var g=oe.subParser("hashBlock")("
",u,i);return n=n.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,g),n=n.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,g),n=n.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,g),n=i.converter._dispatch("horizontalRule.after",n,u,i),n}),oe.subParser("images",function(n,u,i){n=i.converter._dispatch("images.before",n,u,i);var g=/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,h=/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,x=/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,f=/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,l=/!\[([^\[\]]+)]()()()()()/g;function y(S,L,m,M,b,s,_,A){return M=M.replace(/\s/g,""),T(S,L,m,M,b,s,_,A)}function T(S,L,m,M,b,s,_,A){var D=i.gUrls,F=i.gTitles,G=i.gDimensions;if(m=m.toLowerCase(),A||(A=""),S.search(/\(? ?(['"].*['"])?\)$/m)>-1)M="";else if(M===""||M===null)if((m===""||m===null)&&(m=L.toLowerCase().replace(/ ?\n/g," ")),M="#"+m,!oe.helper.isUndefined(D[m]))M=D[m],oe.helper.isUndefined(F[m])||(A=F[m]),oe.helper.isUndefined(G[m])||(b=G[m].width,s=G[m].height);else return S;L=L.replace(/"/g,""").replace(oe.helper.regexes.asteriskDashAndColon,oe.helper.escapeCharactersCallback),M=M.replace(oe.helper.regexes.asteriskDashAndColon,oe.helper.escapeCharactersCallback);var O=''+L+'","
")}),n=n.replace(/\b__(\S[\s\S]*?)__\b/g,function(h,x){return g(x,"","")}),n=n.replace(/\b_(\S[\s\S]*?)_\b/g,function(h,x){return g(x,"","")})):(n=n.replace(/___(\S[\s\S]*?)___/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h}),n=n.replace(/__(\S[\s\S]*?)__/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h}),n=n.replace(/_([^\s_][\s\S]*?)_/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h})),u.literalMidWordAsterisks?(n=n.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(h,x,f){return g(f,x+"","")}),n=n.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(h,x,f){return g(f,x+"","")}),n=n.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(h,x,f){return g(f,x+"","")})):(n=n.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h}),n=n.replace(/\*\*(\S[\s\S]*?)\*\*/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h}),n=n.replace(/\*([^\s*][\s\S]*?)\*/g,function(h,x){return/\S$/.test(x)?g(x,"",""):h})),n=i.converter._dispatch("italicsAndBold.after",n,u,i),n}),oe.subParser("lists",function(n,u,i){function g(f,l){i.gListLevel++,f=f.replace(/\n{2,}$/,` +`),f+="¨0";var y=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,T=/\n[ \t]*\n(?!¨0)/.test(f);return u.disableForced4SpacesIndentedSublists&&(y=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),f=f.replace(y,function(S,L,m,M,b,s,_){_=_&&_.trim()!=="";var A=oe.subParser("outdent")(b,u,i),D="";return s&&u.tasklists&&(D=' class="task-list-item" style="list-style-type: none;"',A=A.replace(/^[ \t]*\[(x|X| )?]/m,function(){var F='-1?(A=oe.subParser("githubCodeBlocks")(A,u,i),A=oe.subParser("blockGamut")(A,u,i)):(A=oe.subParser("lists")(A,u,i),A=A.replace(/\n$/,""),A=oe.subParser("hashHTMLBlocks")(A,u,i),A=A.replace(/\n\n+/g,` + +`),T?A=oe.subParser("paragraphs")(A,u,i):A=oe.subParser("spanGamut")(A,u,i)),A=A.replace("¨A",""),A=""+A+` +`,A}),f=f.replace(/¨0/g,""),i.gListLevel--,l&&(f=f.replace(/\s+$/,"")),f}function h(f,l){if(l==="ol"){var y=f.match(/^ *(\d+)\./);if(y&&y[1]!=="1")return' start="'+y[1]+'"'}return""}function x(f,l,y){var T=u.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,S=u.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,L=l==="ul"?T:S,m="";if(f.search(L)!==-1)(function b(s){var _=s.search(L),A=h(f,l);_!==-1?(m+=` + +<`+l+A+`> +`+g(s.slice(0,_),!!y)+" +`,l=l==="ul"?"ol":"ul",L=l==="ul"?T:S,b(s.slice(_))):m+=` + +<`+l+A+`> +`+g(s,!!y)+" +`})(f);else{var M=h(f,l);m=` + +<`+l+M+`> +`+g(f,!!y)+" +`}return m}return n=i.converter._dispatch("lists.before",n,u,i),n+="¨0",i.gListLevel?n=n.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(f,l,y){var T=y.search(/[*+-]/g)>-1?"ul":"ol";return x(l,T,!0)}):n=n.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(f,l,y,T){var S=T.search(/[*+-]/g)>-1?"ul":"ol";return x(y,S,!1)}),n=n.replace(/¨0/,""),n=i.converter._dispatch("lists.after",n,u,i),n}),oe.subParser("metadata",function(n,u,i){if(!u.metadata)return n;n=i.converter._dispatch("metadata.before",n,u,i);function g(h){i.metadata.raw=h,h=h.replace(/&/g,"&").replace(/"/g,"""),h=h.replace(/\n {4}/g," "),h.replace(/^([\S ]+): +([\s\S]+?)$/gm,function(x,f,l){return i.metadata.parsed[f]=l,""})}return n=n.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(h,x,f){return g(f),"¨M"}),n=n.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(h,x,f){return x&&(i.metadata.format=x),g(f),"¨M"}),n=n.replace(/¨M/g,""),n=i.converter._dispatch("metadata.after",n,u,i),n}),oe.subParser("outdent",function(n,u,i){return n=i.converter._dispatch("outdent.before",n,u,i),n=n.replace(/^(\t|[ ]{1,4})/gm,"¨0"),n=n.replace(/¨0/g,""),n=i.converter._dispatch("outdent.after",n,u,i),n}),oe.subParser("paragraphs",function(n,u,i){n=i.converter._dispatch("paragraphs.before",n,u,i),n=n.replace(/^\n+/g,""),n=n.replace(/\n+$/g,"");for(var g=n.split(/\n{2,}/g),h=[],x=g.length,f=0;f=0?h.push(l):l.search(/\S/)>=0&&(l=oe.subParser("spanGamut")(l,u,i),l=l.replace(/^([ \t]*)/g,"

"),l+="

",h.push(l))}for(x=h.length,f=0;f]*>\s*]*>/.test(T)&&(S=!0)}h[f]=T}return n=h.join(` +`),n=n.replace(/^\n+/g,""),n=n.replace(/\n+$/g,""),i.converter._dispatch("paragraphs.after",n,u,i)}),oe.subParser("runExtension",function(n,u,i,g){if(n.filter)u=n.filter(u,g.converter,i);else if(n.regex){var h=n.regex;h instanceof RegExp||(h=new RegExp(h,"g")),u=u.replace(h,n.replace)}return u}),oe.subParser("spanGamut",function(n,u,i){return n=i.converter._dispatch("spanGamut.before",n,u,i),n=oe.subParser("codeSpans")(n,u,i),n=oe.subParser("escapeSpecialCharsWithinTagAttributes")(n,u,i),n=oe.subParser("encodeBackslashEscapes")(n,u,i),n=oe.subParser("images")(n,u,i),n=oe.subParser("anchors")(n,u,i),n=oe.subParser("autoLinks")(n,u,i),n=oe.subParser("simplifiedAutoLinks")(n,u,i),n=oe.subParser("emoji")(n,u,i),n=oe.subParser("underline")(n,u,i),n=oe.subParser("italicsAndBold")(n,u,i),n=oe.subParser("strikethrough")(n,u,i),n=oe.subParser("ellipsis")(n,u,i),n=oe.subParser("hashHTMLSpans")(n,u,i),n=oe.subParser("encodeAmpsAndAngles")(n,u,i),u.simpleLineBreaks?/\n\n¨K/.test(n)||(n=n.replace(/\n+/g,`
+`)):n=n.replace(/ +\n/g,`
+`),n=i.converter._dispatch("spanGamut.after",n,u,i),n}),oe.subParser("strikethrough",function(n,u,i){function g(h){return u.simplifiedAutoLink&&(h=oe.subParser("simplifiedAutoLinks")(h,u,i)),""+h+""}return u.strikethrough&&(n=i.converter._dispatch("strikethrough.before",n,u,i),n=n.replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(h,x){return g(x)}),n=i.converter._dispatch("strikethrough.after",n,u,i)),n}),oe.subParser("stripLinkDefinitions",function(n,u,i){var g=/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,h=/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;n+="¨0";var x=function(f,l,y,T,S,L,m){return l=l.toLowerCase(),n.toLowerCase().split(l).length-1<2?f:(y.match(/^data:.+?\/.+?;base64,/)?i.gUrls[l]=y.replace(/\s/g,""):i.gUrls[l]=oe.subParser("encodeAmpsAndAngles")(y,u,i),L?L+m:(m&&(i.gTitles[l]=m.replace(/"|'/g,""")),u.parseImgDimensions&&T&&S&&(i.gDimensions[l]={width:T,height:S}),""))};return n=n.replace(h,x),n=n.replace(g,x),n=n.replace(/¨0/,""),n}),oe.subParser("tables",function(n,u,i){if(!u.tables)return n;var g=/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,h=/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;function x(S){return/^:[ \t]*--*$/.test(S)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(S)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(S)?' style="text-align:center;"':""}function f(S,L){var m="";return S=S.trim(),(u.tablesHeaderId||u.tableHeaderId)&&(m=' id="'+S.replace(/ /g,"_").toLowerCase()+'"'),S=oe.subParser("spanGamut")(S,u,i),""+S+` +`}function l(S,L){var m=oe.subParser("spanGamut")(S,u,i);return""+m+` +`}function y(S,L){for(var m=` + + +`,M=S.length,b=0;b + + +`,b=0;b +`;for(var s=0;s +`}return m+=` +
+`,m}function T(S){var L,m=S.split(` +`);for(L=0;L"+h+""}),n=n.replace(/\b__(\S[\s\S]*?)__\b/g,function(g,h){return""+h+""})):(n=n.replace(/___(\S[\s\S]*?)___/g,function(g,h){return/\S$/.test(h)?""+h+"":g}),n=n.replace(/__(\S[\s\S]*?)__/g,function(g,h){return/\S$/.test(h)?""+h+"":g})),n=n.replace(/(_)/g,oe.helper.escapeCharactersCallback),n=i.converter._dispatch("underline.after",n,u,i)),n}),oe.subParser("unescapeSpecialChars",function(n,u,i){return n=i.converter._dispatch("unescapeSpecialChars.before",n,u,i),n=n.replace(/¨E(\d+)E/g,function(g,h){var x=parseInt(h);return String.fromCharCode(x)}),n=i.converter._dispatch("unescapeSpecialChars.after",n,u,i),n}),oe.subParser("makeMarkdown.blockquote",function(n,u){var i="";if(n.hasChildNodes())for(var g=n.childNodes,h=g.length,x=0;x "+i.split(` +`).join(` +> `),i}),oe.subParser("makeMarkdown.codeBlock",function(n,u){var i=n.getAttribute("language"),g=n.getAttribute("precodenum");return"```"+i+` +`+u.preList[g]+"\n```"}),oe.subParser("makeMarkdown.codeSpan",function(n){return"`"+n.innerHTML+"`"}),oe.subParser("makeMarkdown.emphasis",function(n,u){var i="";if(n.hasChildNodes()){i+="*";for(var g=n.childNodes,h=g.length,x=0;x",n.hasAttribute("width")&&n.hasAttribute("height")&&(u+=" ="+n.getAttribute("width")+"x"+n.getAttribute("height")),n.hasAttribute("title")&&(u+=' "'+n.getAttribute("title")+'"'),u+=")"),u}),oe.subParser("makeMarkdown.links",function(n,u){var i="";if(n.hasChildNodes()&&n.hasAttribute("href")){var g=n.childNodes,h=g.length;i="[";for(var x=0;x",n.hasAttribute("title")&&(i+=' "'+n.getAttribute("title")+'"'),i+=")"}return i}),oe.subParser("makeMarkdown.list",function(n,u,i){var g="";if(!n.hasChildNodes())return"";for(var h=n.childNodes,x=h.length,f=n.getAttribute("start")||1,l=0;l"u"||h[l].tagName.toLowerCase()!=="li")){var y="";i==="ol"?y=f.toString()+". ":y="- ",g+=y+oe.subParser("makeMarkdown.listItem")(h[l],u),++f}return g+=` + +`,g.trim()}),oe.subParser("makeMarkdown.listItem",function(n,u){for(var i="",g=n.childNodes,h=g.length,x=0;x + +`;if(n.nodeType!==1)return"";var h=n.tagName.toLowerCase();switch(h){case"h1":i||(g=oe.subParser("makeMarkdown.header")(n,u,1)+` + +`);break;case"h2":i||(g=oe.subParser("makeMarkdown.header")(n,u,2)+` + +`);break;case"h3":i||(g=oe.subParser("makeMarkdown.header")(n,u,3)+` + +`);break;case"h4":i||(g=oe.subParser("makeMarkdown.header")(n,u,4)+` + +`);break;case"h5":i||(g=oe.subParser("makeMarkdown.header")(n,u,5)+` + +`);break;case"h6":i||(g=oe.subParser("makeMarkdown.header")(n,u,6)+` + +`);break;case"p":i||(g=oe.subParser("makeMarkdown.paragraph")(n,u)+` + +`);break;case"blockquote":i||(g=oe.subParser("makeMarkdown.blockquote")(n,u)+` + +`);break;case"hr":i||(g=oe.subParser("makeMarkdown.hr")(n,u)+` + +`);break;case"ol":i||(g=oe.subParser("makeMarkdown.list")(n,u,"ol")+` + +`);break;case"ul":i||(g=oe.subParser("makeMarkdown.list")(n,u,"ul")+` + +`);break;case"precode":i||(g=oe.subParser("makeMarkdown.codeBlock")(n,u)+` + +`);break;case"pre":i||(g=oe.subParser("makeMarkdown.pre")(n,u)+` + +`);break;case"table":i||(g=oe.subParser("makeMarkdown.table")(n,u)+` + +`);break;case"code":g=oe.subParser("makeMarkdown.codeSpan")(n,u);break;case"em":case"i":g=oe.subParser("makeMarkdown.emphasis")(n,u);break;case"strong":case"b":g=oe.subParser("makeMarkdown.strong")(n,u);break;case"del":g=oe.subParser("makeMarkdown.strikethrough")(n,u);break;case"a":g=oe.subParser("makeMarkdown.links")(n,u);break;case"img":g=oe.subParser("makeMarkdown.image")(n,u);break;default:g=n.outerHTML+` + +`}return g}),oe.subParser("makeMarkdown.paragraph",function(n,u){var i="";if(n.hasChildNodes())for(var g=n.childNodes,h=g.length,x=0;x"+u.preList[i]+""}),oe.subParser("makeMarkdown.strikethrough",function(n,u){var i="";if(n.hasChildNodes()){i+="~~";for(var g=n.childNodes,h=g.length,x=0;xtr>th"),x=n.querySelectorAll("tbody>tr"),f,l;for(f=0;fb&&(b=s)}for(f=0;f/g,"\\$1>"),u=u.replace(/^#/gm,"\\#"),u=u.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),u=u.replace(/^( {0,3}\d+)\./gm,"$1\\."),u=u.replace(/^( {0,3})([+-])/gm,"$1\\$2"),u=u.replace(/]([\s]*)\(/g,"\\]$1\\("),u=u.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:"),u});var o=this;P.exports?P.exports=oe:o.showdown=oe}).call(SN)})(f4);var xV=f4.exports;const i1=zA(xV);/*! + * vue-showdown - Use showdown as a vue component + * + * @version v4.1.0 + * @link https://vue-showdown.js.org + * @license MIT + * @copyright 2018-2023 meteorlxy + */const bV=Ca({name:"VueShowdown",props:{markdown:{type:String,required:!1,default:null},tag:{type:String,required:!1,default:"div"},flavor:{type:String,required:!1,default:null},options:{type:Object,required:!1,default:()=>({})},extensions:{type:Array,required:!1,default:null},vueTemplate:{type:Boolean,required:!1,default:!1},vueTemplateData:{type:Object,required:!1,default:()=>({})}},setup(P,{slots:N}){const J=sn(()=>{const _e=new i1.Converter({extensions:P.extensions||void 0});return P.flavor!==null&&_e.setFlavor(P.flavor),Object.entries(P.options).forEach(([U,B])=>{_e.setOption(U,B)}),_e}),oe=sn(()=>{var U;if(P.markdown!==null)return P.markdown;const _e=(U=N.default)==null?void 0:U.call(N)[0];return(_e==null?void 0:_e.type)===zv?_e.children:""}),be=sn(()=>J.value.makeHtml(oe.value));return()=>P.vueTemplate?zo({setup:()=>P.vueTemplateData,template:`<${P.tag}>${be.value}`}):zo(P.tag,{innerHTML:be.value})}}),wV={install(P,{flavor:N=null,options:J={}}={}){N!==null&&i1.setFlavor(N),Object.entries(J).forEach(([oe,be])=>{i1.setOption(oe,be)}),P.component("VueShowdown",bV)}},TV=BE(mV);TV.use(wV,{}).use(vV).mount("#app")});export default AV(); diff --git a/benchmark.json b/benchmark.json new file mode 100644 index 0000000..dd4eb0f --- /dev/null +++ b/benchmark.json @@ -0,0 +1,49322 @@ +[ + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 160.57533103518801, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01034, + "rps": 204.88825891188972, + "p95_time": 0.011313762332429178, + "mean_time": 0.009471970485028578, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 323.7597462009405, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01037, + "rps": 101.6185624867049, + "p95_time": 0.01120288415113464, + "mean_time": 0.009442120615043677, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 86.90756654706784, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.010472500000000001, + "rps": 378.5631252508014, + "p95_time": 0.012539280689088628, + "mean_time": 0.010219982876798895, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 156.6241761880927, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.010545, + "rps": 210.056970773719, + "p95_time": 0.011069300649978686, + "mean_time": 0.009276134478990571, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 86.74882871878907, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01057, + "rps": 379.2558410978768, + "p95_time": 0.012425519606040323, + "mean_time": 0.010195888582620683, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 301.4726561649572, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01061, + "rps": 109.13095873609866, + "p95_time": 0.010527441106387413, + "mean_time": 0.008773115723277443, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 60.259988719479956, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01072625, + "rps": 545.9675764818817, + "p95_time": 0.01975858484802302, + "mean_time": 0.014172572834366293, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 55.8111505738927, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.010734375, + "rps": 589.4879367598979, + "p95_time": 0.04468096234631957, + "mean_time": 0.02610069611349354, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 59.3165302162064, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.010758750000000001, + "rps": 554.6514585408283, + "p95_time": 0.019526473549922225, + "mean_time": 0.013967765277071522, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 54.7298470625863, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.0107625, + "rps": 601.1345137211367, + "p95_time": 0.04411579239022103, + "mean_time": 0.025785709242964912, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 354.7058941928292, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013120000000000001, + "rps": 92.75289905984629, + "p95_time": 0.012110632799158338, + "mean_time": 0.01016130836305092, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 172.140428621709, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013185, + "rps": 191.1230282358604, + "p95_time": 0.012236792503972537, + "mean_time": 0.010181341138624702, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 96.03892710877044, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01343, + "rps": 342.56942461194484, + "p95_time": 0.013932210988423321, + "mean_time": 0.011323344991673366, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 173.95680465582336, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013540000000000003, + "rps": 189.12741048039618, + "p95_time": 0.012419703811610816, + "mean_time": 0.010291372575891728, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 96.10964685973777, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.0135925, + "rps": 342.31735392820866, + "p95_time": 0.013990013148577419, + "mean_time": 0.011350795116835798, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 351.22822242683463, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013609999999999999, + "rps": 93.6712880664181, + "p95_time": 0.011411218900320819, + "mean_time": 0.009507600587778142, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 69.52033415905171, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013640000000000001, + "rps": 473.2428346033251, + "p95_time": 0.023604834709840358, + "mean_time": 0.016449438969510084, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 65.85918819598574, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01368125, + "rps": 499.55064587336244, + "p95_time": 0.05458104905119398, + "mean_time": 0.031230517703779697, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 69.00343497169615, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.01368375, + "rps": 476.787858655079, + "p95_time": 0.02335547334078, + "mean_time": 0.016232088556698727, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 65.22591522940183, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.013730625, + "rps": 504.40074139687493, + "p95_time": 0.05453427379543427, + "mean_time": 0.03095804485649296, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 480.6860070630355, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026510000000000002, + "rps": 68.44384799344826, + "p95_time": 0.017319970045355147, + "mean_time": 0.013810640066280029, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 140.0593209802624, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026517500000000003, + "rps": 234.9004676713831, + "p95_time": 0.021264208597131073, + "mean_time": 0.016679029534585426, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 241.4753220090963, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026539999999999998, + "rps": 136.24580651252086, + "p95_time": 0.018120288669888397, + "mean_time": 0.014353813675916172, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 136.98146611056907, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026645000000000002, + "rps": 240.17847767407952, + "p95_time": 0.02096674894346506, + "mean_time": 0.016337621127109743, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 112.05767174995744, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.02673125, + "rps": 293.598818235419, + "p95_time": 0.04044478628784417, + "mean_time": 0.02679695785721924, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 111.62548954436062, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026768750000000004, + "rps": 294.7355495083885, + "p95_time": 0.04017852485849289, + "mean_time": 0.02672337118116775, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 236.9303863170513, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.02679, + "rps": 138.85935236679376, + "p95_time": 0.017734081498201704, + "mean_time": 0.014071255530972849, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 504.2951853088379, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.0268, + "rps": 65.23956793252259, + "p95_time": 0.017106394348229515, + "mean_time": 0.013764296838940936, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 116.56045360524148, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026810625, + "rps": 282.2569660840832, + "p95_time": 0.0949768068618141, + "mean_time": 0.05610512962740722, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 115.06032354467533, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.026844375, + "rps": 285.9369675527261, + "p95_time": 0.09484973764629102, + "mean_time": 0.05539713209275032, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 709.7546728441695, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.052440000000000014, + "rps": 46.35404493803646, + "p95_time": 0.027403921746008558, + "mean_time": 0.02093586383666843, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 697.7508427683686, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.053040000000000004, + "rps": 47.151501629818554, + "p95_time": 0.027006388697918732, + "mean_time": 0.020714866501060896, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 364.18179876281647, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05304500000000001, + "rps": 90.33949558096131, + "p95_time": 0.02856000589672476, + "mean_time": 0.02178538909816416, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 223.81550678364437, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05326250000000001, + "rps": 146.9960704367255, + "p95_time": 0.03651709693076555, + "mean_time": 0.02683192682876688, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 219.73529416083073, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05338750000000001, + "rps": 149.72560564585277, + "p95_time": 0.03577945145007106, + "mean_time": 0.02640700639808347, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 362.39118147116386, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05342500000000001, + "rps": 90.78587361436088, + "p95_time": 0.028475463602808303, + "mean_time": 0.0216889565150268, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 204.40754028272823, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05346000000000001, + "rps": 160.95296658085144, + "p95_time": 0.07614832886902148, + "mean_time": 0.04926794424971013, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 202.1842354045726, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05346125000000001, + "rps": 162.7228746799511, + "p95_time": 0.07551861484171239, + "mean_time": 0.04874907048542809, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 216.91860752082826, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05347687500000001, + "rps": 151.669791614539, + "p95_time": 0.16504237520421156, + "mean_time": 0.10498197721435464, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 215.1582403437772, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.05351187500000001, + "rps": 152.91071328447742, + "p95_time": 0.16367786884948143, + "mean_time": 0.10411535122793157, + "total_upload": 33466.765292435 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 112.35844799543119, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.089675, + "rps": 292.81287332606985, + "p95_time": 0.007378556988260242, + "mean_time": 0.006220865790324751, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 58.03158032724677, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09010750000000002, + "rps": 566.9326910360377, + "p95_time": 0.007888107943290378, + "mean_time": 0.0064309665831606255, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 218.22145764297164, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09024000000000001, + "rps": 150.76427568285754, + "p95_time": 0.0070379219963797365, + "mean_time": 0.006047627665975597, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 37.27046614877545, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09031875000000002, + "rps": 882.7364774207675, + "p95_time": 0.01148802250390871, + "mean_time": 0.008160262634410173, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 33.23410115733859, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09032750000000002, + "rps": 989.9470379608923, + "p95_time": 0.023791407032695132, + "mean_time": 0.013977061063322253, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 161.4029560159848, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09805000000000001, + "rps": 203.83765460120625, + "p95_time": 0.011439150718797465, + "mean_time": 0.00951716714563372, + "total_upload": 37829.601222026 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 125.84999707931983, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09859250000000001, + "rps": 261.4223342354472, + "p95_time": 0.02207733500072208, + "mean_time": 0.015014426443671255, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 119.44866892289218, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09869625000000003, + "rps": 275.43211905724934, + "p95_time": 0.10168239150152657, + "mean_time": 0.05765854970010423, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 150.0945413094616, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09870375, + "rps": 219.19518000436477, + "p95_time": 0.06288875749996803, + "mean_time": 0.03617741517144259, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 210.63079155508186, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09882500000000002, + "rps": 156.19748545357555, + "p95_time": 0.0179497255008755, + "mean_time": 0.012452946977484317, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 371.9637837964734, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09883000000000002, + "rps": 88.449471247453, + "p95_time": 0.015399969499412691, + "mean_time": 0.010993779024984178, + "total_upload": 4294.389953205 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 160.92524164979912, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.0989, + "rps": 204.44275654155007, + "p95_time": 0.011456353691755794, + "mean_time": 0.009474949672207003, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 671.229475555534, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09930000000000001, + "rps": 49.01453407237631, + "p95_time": 0.03510740880010416, + "mean_time": 0.020047271539457144, + "total_upload": 37829.601222026 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 680.7466325549636, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09931, + "rps": 48.3292879121861, + "p95_time": 0.13150154470240522, + "mean_time": 0.08237171584199314, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 991.2103693243503, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09940500000000002, + "rps": 33.19174316389163, + "p95_time": 0.08901203454861388, + "mean_time": 0.0598980194589858, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 734.3298782527669, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09942500000000001, + "rps": 44.80275278772648, + "p95_time": 0.29326301834516927, + "mean_time": 0.17807132812438886, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 654.6478050257447, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09942500000000001, + "rps": 50.256030414256365, + "p95_time": 0.4881813990992668, + "mean_time": 0.3177598529795441, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1594.721407435844, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.09947000000000002, + "rps": 20.630562709319857, + "p95_time": 0.07280297790048278, + "mean_time": 0.04812507692502913, + "total_upload": 4294.389953205 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 716.4165227140038, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10010000000000001, + "rps": 45.92300562159676, + "p95_time": 0.06839716130853048, + "mean_time": 0.020676134074223227, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 87.16789119401218, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10045000000000001, + "rps": 377.4325562927005, + "p95_time": 0.012652583364979363, + "mean_time": 0.01028928526447271, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 86.06374110421893, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.101025, + "rps": 382.27480676397425, + "p95_time": 0.012530277802579804, + "mean_time": 0.010191654067359196, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 55.79747961016273, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10299375000000001, + "rps": 589.6323674449217, + "p95_time": 0.04429061190166976, + "mean_time": 0.026070169220538446, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 162.1637108258743, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10307500000000001, + "rps": 202.88139579715752, + "p95_time": 0.011609660263638943, + "mean_time": 0.009574279158565333, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 60.212509339467225, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10310000000000001, + "rps": 546.3980883858495, + "p95_time": 0.01999886094708927, + "mean_time": 0.014228056310486863, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 161.89095906753136, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.103165, + "rps": 203.2232077041193, + "p95_time": 0.011921819907729513, + "mean_time": 0.009552989136529504, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 88.8024097145717, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10335500000000002, + "rps": 370.48544184495705, + "p95_time": 0.012821607691876123, + "mean_time": 0.01044092842509417, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 54.80425644151964, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10345, + "rps": 600.318335403507, + "p95_time": 0.044193895309581406, + "mean_time": 0.02577756849625075, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 352.9946376397449, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10353000000000001, + "rps": 93.20254896783077, + "p95_time": 0.013002819250687024, + "mean_time": 0.0101880305763043, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 355.61375511822405, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10356, + "rps": 92.51610638363066, + "p95_time": 0.013102439302747371, + "mean_time": 0.010245549054205185, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 59.94649687469992, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1035625, + "rps": 548.8227288538234, + "p95_time": 0.01962916895718081, + "mean_time": 0.014057755737760089, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 87.33926785328877, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10362, + "rps": 376.6919600844942, + "p95_time": 0.012710855344630541, + "mean_time": 0.010306000677341217, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 60.82393297391828, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10362750000000003, + "rps": 540.9055020185516, + "p95_time": 0.01990571938367793, + "mean_time": 0.014328617008322908, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 56.335104678915194, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10373625000000002, + "rps": 584.0053051736609, + "p95_time": 0.045289280846191105, + "mean_time": 0.02646327408738216, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 60.349780004015884, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.10397250000000002, + "rps": 545.1552598503378, + "p95_time": 0.020050268957129445, + "mean_time": 0.014208339193566644, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 55.816949599840704, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.104160625, + "rps": 589.4266927136752, + "p95_time": 0.04419628354808081, + "mean_time": 0.02621813096039659, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 358.09688018390733, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.12580000000000002, + "rps": 91.87457869809866, + "p95_time": 0.012442746742453891, + "mean_time": 0.010442108177463523, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 173.32242127921344, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.12585000000000002, + "rps": 189.8196422435145, + "p95_time": 0.01232433836266864, + "mean_time": 0.010227365615326563, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 174.30157360951705, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.12785000000000002, + "rps": 188.75331598385307, + "p95_time": 0.012502860346285161, + "mean_time": 0.010304298392489726, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 388.64578676599484, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.12810000000000002, + "rps": 84.65291821061017, + "p95_time": 0.012356497294240399, + "mean_time": 0.010161277155159042, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 97.44578517192932, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.12955, + "rps": 337.62363289446125, + "p95_time": 0.014100815932033583, + "mean_time": 0.011391307830621372, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 94.78253824057174, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13050000000000003, + "rps": 347.1103497618418, + "p95_time": 0.013887093697121593, + "mean_time": 0.011236864727059584, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 389.357955793888, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13169999999999998, + "rps": 84.49808077741211, + "p95_time": 0.013724027351418044, + "mean_time": 0.01106501006623148, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 69.64417027721902, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1317625, + "rps": 472.4013491587503, + "p95_time": 0.023338659200817343, + "mean_time": 0.01646587119040487, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 177.76228832068443, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13182, + "rps": 185.07862556679154, + "p95_time": 0.012783281835436356, + "mean_time": 0.010509367321952595, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 65.92476269319613, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13192500000000001, + "rps": 499.0537493947702, + "p95_time": 0.054325971518119326, + "mean_time": 0.03128296823132405, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 98.54062586941001, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13196499999999997, + "rps": 333.872448137283, + "p95_time": 0.01430591231182916, + "mean_time": 0.011619073916728666, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 177.19660623056117, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13204500000000002, + "rps": 185.66947019962578, + "p95_time": 0.0128679712441226, + "mean_time": 0.010472217141366855, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 70.99620086439828, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13226375, + "rps": 463.40507801028014, + "p95_time": 0.02420588181121275, + "mean_time": 0.016800503397738795, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 97.20719424842865, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1323675, + "rps": 338.45231574032215, + "p95_time": 0.014257313844427699, + "mean_time": 0.01151405103662546, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 68.86112343490512, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.132375, + "rps": 477.77321017860805, + "p95_time": 0.023280746803357025, + "mean_time": 0.01627075272080583, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 67.35531870428822, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.132434375, + "rps": 488.454373505999, + "p95_time": 0.05567848145001335, + "mean_time": 0.0319428922586103, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 386.9638562203312, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13246, + "rps": 85.0208604011514, + "p95_time": 0.01394695729977684, + "mean_time": 0.011157064391009044, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 65.16657210319444, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13261250000000002, + "rps": 504.8600676417542, + "p95_time": 0.054752796141838186, + "mean_time": 0.030984738845148057, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 70.14439536620485, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13275375, + "rps": 469.0324840386467, + "p95_time": 0.023983232841419518, + "mean_time": 0.016615375305949785, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 66.40775482596537, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.13300125000000002, + "rps": 495.4240673581112, + "p95_time": 0.055188151401671326, + "mean_time": 0.031508806111542075, + "total_upload": 33466.765292435 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 739.4125172116619, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1443, + "rps": 65.9983417430174, + "p95_time": 0.03542206989295664, + "mean_time": 0.03007745927882934, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 816.7891959955566, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14435000000000003, + "rps": 59.7461379744615, + "p95_time": 0.038614978607074586, + "mean_time": 0.03325174173956475, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1691.163366527163, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14485000000000003, + "rps": 28.855875763328388, + "p95_time": 0.08233755564142484, + "mean_time": 0.06908565774943418, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1109.949967612355, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14505, + "rps": 43.965945694809164, + "p95_time": 0.05305747779857484, + "mean_time": 0.045267607726971616, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 2221.5390311865717, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1453, + "rps": 21.96675337004314, + "p95_time": 0.05223947820195462, + "mean_time": 0.045313673987955556, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 3344.2318397263416, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1459, + "rps": 14.59228975105784, + "p95_time": 0.0804820458892209, + "mean_time": 0.06831800685205963, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 371.39030177073147, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.146, + "rps": 131.39815382181268, + "p95_time": 0.03528427073688363, + "mean_time": 0.030175057701650077, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 416.17480067587167, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14622500000000002, + "rps": 117.25842103065432, + "p95_time": 0.03990102649768232, + "mean_time": 0.0338437928890271, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 3113.029520556703, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14649, + "rps": 15.676047939074182, + "p95_time": 0.07681909510793047, + "mean_time": 0.06357522158123902, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 853.2474545411707, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1465, + "rps": 57.193255884064655, + "p95_time": 0.0835065073602891, + "mean_time": 0.069670222573106, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 582.3315704801876, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.146675, + "rps": 83.80105505830599, + "p95_time": 0.055955307299882406, + "mean_time": 0.047465368638415384, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 2906.240291157889, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14679999999999999, + "rps": 16.791453944283926, + "p95_time": 0.07319470879083383, + "mean_time": 0.05933544067910407, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 183.50752765551076, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14719374999999998, + "rps": 265.92914537876464, + "p95_time": 0.09101707350782817, + "mean_time": 0.05946989109598508, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 3661.527155007934, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14722000000000002, + "rps": 13.327772247504813, + "p95_time": 0.0897622234544542, + "mean_time": 0.07479658894901513, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 207.1311028195298, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14731875000000003, + "rps": 235.5995759966513, + "p95_time": 0.10261790308941268, + "mean_time": 0.06725975371507412, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1408.5459107946488, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14744, + "rps": 34.64565806908549, + "p95_time": 0.07117685719276778, + "mean_time": 0.05750530923550105, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1479.0931087074393, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14745, + "rps": 32.99319002482927, + "p95_time": 0.07477718540249043, + "mean_time": 0.060393314819026274, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 4508.854919912747, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14746, + "rps": 10.823147088738962, + "p95_time": 0.10898565471070469, + "mean_time": 0.09216940005909419, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 214.73035057148957, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14752500000000002, + "rps": 227.26177212546932, + "p95_time": 0.04778830935538281, + "mean_time": 0.03467893780318809, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 281.4937381602445, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14753625, + "rps": 173.3608723197241, + "p95_time": 0.1274850106994563, + "mean_time": 0.09162134780305678, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 231.80917522348756, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14756250000000004, + "rps": 210.51798296142442, + "p95_time": 0.04962342469298164, + "mean_time": 0.03767450014568021, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 336.84533663291944, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14758249999999998, + "rps": 144.8736102087715, + "p95_time": 0.07151388634592876, + "mean_time": 0.054894702159821465, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 369.88355172032897, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14759, + "rps": 131.93341464639647, + "p95_time": 0.0828719379576796, + "mean_time": 0.060284296812133105, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 291.64499040346783, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1476125, + "rps": 167.32672120473956, + "p95_time": 0.13854744720592863, + "mean_time": 0.09492122652106082, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 306.5349523848505, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1476525, + "rps": 159.19881116438643, + "p95_time": 0.14018739415550951, + "mean_time": 0.09991761810181288, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 711.810805587843, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14772000000000002, + "rps": 68.55754312369412, + "p95_time": 0.07696505180720123, + "mean_time": 0.058067638196014744, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 442.56456007554226, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14774375, + "rps": 110.26639817628015, + "p95_time": 0.20777130030328408, + "mean_time": 0.1444057864316337, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 660.7775835463806, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14776999999999998, + "rps": 73.85238424416781, + "p95_time": 0.06741338639621972, + "mean_time": 0.053877221774786446, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 321.5222966236659, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1478625, + "rps": 151.77796536182132, + "p95_time": 0.06589353675954043, + "mean_time": 0.05239734822821811, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 473.18665796524584, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.147975, + "rps": 103.13054939005532, + "p95_time": 0.09551975340000353, + "mean_time": 0.07725304471807248, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1782.4297171780665, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14799500000000002, + "rps": 27.37835861335386, + "p95_time": 0.08797945076003089, + "mean_time": 0.07282687474459817, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 449.1022725875606, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14799875, + "rps": 108.66121812039052, + "p95_time": 0.09397167580245863, + "mean_time": 0.07329970747544394, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 399.15278105092585, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.148056875, + "rps": 122.25895024836082, + "p95_time": 0.18216958756165696, + "mean_time": 0.1302049142201813, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 598.1143116682827, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.148115, + "rps": 81.58975474752515, + "p95_time": 0.12240633250912651, + "mean_time": 0.09772072626344926, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 871.6309493769804, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1481175, + "rps": 55.98699774816509, + "p95_time": 0.08931784655651426, + "mean_time": 0.07116441019909325, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 550.9940714346703, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14819062500000002, + "rps": 88.56719614593179, + "p95_time": 0.25195452009866126, + "mean_time": 0.18007177320536175, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 2322.347054833808, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.148195, + "rps": 21.013224487023205, + "p95_time": 0.11263858519741916, + "mean_time": 0.0949530061384794, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1168.1928672743204, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.14832749999999997, + "rps": 41.77392395303896, + "p95_time": 0.12255140999186545, + "mean_time": 0.09546450135890336, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 2610.9375415315735, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1587, + "rps": 18.69060413117886, + "p95_time": 0.08194141484564166, + "mean_time": 0.053275500731979265, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 63.793692306913734, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.18777375000000002, + "rps": 515.7249691978468, + "p95_time": 0.023108180511917445, + "mean_time": 0.014649000677789445, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 163.7392371622962, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.18777500000000003, + "rps": 200.9292370611813, + "p95_time": 0.013142836105544118, + "mean_time": 0.009330599278473527, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 52.42831958842489, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.18784500000000004, + "rps": 627.5234502702554, + "p95_time": 0.04121951849665493, + "mean_time": 0.024209222400468206, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 85.80311993778233, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.18806000000000003, + "rps": 383.43594060281833, + "p95_time": 0.013665672004572115, + "mean_time": 0.009808341027608549, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 489.5325092176557, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.18983000000000005, + "rps": 67.20697682076108, + "p95_time": 0.01746486299962271, + "mean_time": 0.014265175073989667, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 218.57855787094357, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19746000000000002, + "rps": 150.51796626559002, + "p95_time": 0.03943894450421794, + "mean_time": 0.026255833356963194, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 718.3535295264643, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19757000000000005, + "rps": 45.799176377246376, + "p95_time": 0.027896744700137782, + "mean_time": 0.021505375802975322, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 326.8716055475383, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19774500000000006, + "rps": 100.65114081992422, + "p95_time": 0.027372453049792966, + "mean_time": 0.0195589156089045, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 249.5615433933786, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19776125000000006, + "rps": 131.83120905828196, + "p95_time": 0.0972043725530966, + "mean_time": 0.0603043008299619, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 181.59124853114835, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19778125000000002, + "rps": 181.17613192332152, + "p95_time": 0.14765430300831212, + "mean_time": 0.08785891765680935, + "total_upload": 4294.389953205 + }, + { + "hash_code": 43700171819454999634601274328084429283, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705052828808, + "cost": 1935.4554129094465, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.1983, + "rps": 25.213704058747638, + "p95_time": 0.0473495654106955, + "mean_time": 0.03925860163495236, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1263.3058122688292, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19840000000000002, + "rps": 26.042783687437783, + "p95_time": 0.22480192200018792, + "mean_time": 0.15309679986129596, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1820.6362595921667, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19858000000000003, + "rps": 18.070605716360827, + "p95_time": 0.15332685695266263, + "mean_time": 0.11025893845653445, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1386.1053439750722, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19862750000000007, + "rps": 23.735569697501777, + "p95_time": 0.5278018031480314, + "mean_time": 0.3364819005021091, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1396.9594021311204, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19863062500000003, + "rps": 23.551149696841343, + "p95_time": 0.9489657792095386, + "mean_time": 0.6785632061174174, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 2934.092334541204, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.19881000000000004, + "rps": 11.213007720544175, + "p95_time": 0.12534661060008145, + "mean_time": 0.08880102042900398, + "total_upload": 4294.389953205 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 486.88237332266584, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.2553, + "rps": 67.57278924574369, + "p95_time": 0.01832829192862846, + "mean_time": 0.014412061819981318, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 479.3343947208894, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.25570000000000004, + "rps": 68.63684384500985, + "p95_time": 0.018001039858791045, + "mean_time": 0.014223667083104375, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 244.67688513098545, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.25635, + "rps": 134.4630490223353, + "p95_time": 0.018490438307344446, + "mean_time": 0.014532322951301467, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 238.80437714371806, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.2575, + "rps": 137.76966902160262, + "p95_time": 0.01817908524899394, + "mean_time": 0.014237351100833621, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 140.30966073223607, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.258025, + "rps": 234.4813595037169, + "p95_time": 0.02141831244371133, + "mean_time": 0.01670742809789226, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 138.5587906215056, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.25889999999999996, + "rps": 237.44433573955874, + "p95_time": 0.02129109189772862, + "mean_time": 0.016568661891938972, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 112.84300728889866, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.2604375, + "rps": 291.5555052141601, + "p95_time": 0.040511733852326856, + "mean_time": 0.026977101690943528, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 111.8133586364418, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26078749999999995, + "rps": 294.2403340818469, + "p95_time": 0.0406780526478542, + "mean_time": 0.026757178871865107, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 116.75124795969785, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.260925, + "rps": 281.79570304342246, + "p95_time": 0.094745665701339, + "mean_time": 0.056094275337580254, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 115.15184472562223, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26130625, + "rps": 285.7097085886239, + "p95_time": 0.0944786992462468, + "mean_time": 0.05546132585995019, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 621.4927645134042, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26250999999999997, + "rps": 52.93706037874625, + "p95_time": 0.02355725204979535, + "mean_time": 0.018423902306123636, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 268.0984213523902, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.262625, + "rps": 122.71612728653872, + "p95_time": 0.020916205138200892, + "mean_time": 0.015954296175928903, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 271.47360203487335, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26283500000000004, + "rps": 121.19042055431116, + "p95_time": 0.021329833599884294, + "mean_time": 0.01615709047013661, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 634.3537041387244, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26291999999999993, + "rps": 51.86381002483312, + "p95_time": 0.023500735747802533, + "mean_time": 0.018941989347833442, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 150.0552412395089, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26294999999999996, + "rps": 219.25258810178482, + "p95_time": 0.02314155320054851, + "mean_time": 0.017866209998988778, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 150.27006679044862, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.2634675, + "rps": 218.93914538468263, + "p95_time": 0.02364465000355267, + "mean_time": 0.01793491502409597, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 116.72322353001799, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26382375, + "rps": 281.86336022101915, + "p95_time": 0.042042861113441174, + "mean_time": 0.027928220523826895, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 119.62698949934203, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.264048125, + "rps": 275.0215493818889, + "p95_time": 0.09661755369888851, + "mean_time": 0.05752533084012976, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 115.9849542209393, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.2643375, + "rps": 283.65748144650655, + "p95_time": 0.0416483930493996, + "mean_time": 0.027821282156392044, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 118.21443776449625, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.26461687500000003, + "rps": 278.3077991331527, + "p95_time": 0.09623242090237907, + "mean_time": 0.056828947220974445, + "total_upload": 33466.765292435 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10575.383419904945, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.31614, + "rps": 1.0833649755370267, + "p95_time": 1.4431103476323186, + "mean_time": 0.9225882337377407, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10157.050236184241, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.31825625, + "rps": 1.1279849694141237, + "p95_time": 8.55757005707128, + "mean_time": 7.0886830996224885, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10196.424148946135, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.31879250000000003, + "rps": 1.1236292088912516, + "p95_time": 5.099045411357656, + "mean_time": 3.558691516137158, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10247.128996082054, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.31925, + "rps": 1.1180692664628828, + "p95_time": 2.827609674388077, + "mean_time": 1.7878031319159782, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 13126.051737022459, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.35863, + "rps": 0.8728443426506658, + "p95_time": 1.9078048890805803, + "mean_time": 1.1452298187962733, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 13092.824073764874, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.36219125, + "rps": 0.8750594933110951, + "p95_time": 11.544660920766182, + "mean_time": 9.138137748318725, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12862.380937170827, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.36291999999999996, + "rps": 0.8907371081578345, + "p95_time": 3.7129133300855752, + "mean_time": 2.244387287579826, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12868.888536322072, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.363145, + "rps": 0.8902866760919518, + "p95_time": 6.708586429757998, + "mean_time": 4.4918540479149085, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 14586.79988282774, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.395, + "rps": 0.7854361540592405, + "p95_time": 2.2076607944560234, + "mean_time": 1.2727136903938372, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 14194.198927195323, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.3966075, + "rps": 0.8071607322657006, + "p95_time": 12.5165139914141, + "mean_time": 9.907094280923339, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 14393.724506079443, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.3981225, + "rps": 0.7959718831050944, + "p95_time": 7.605606268439442, + "mean_time": 5.024433020197961, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 14375.80698188694, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.398625, + "rps": 0.7969639557929135, + "p95_time": 4.282448694272898, + "mean_time": 2.5081976244441466, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1568.5255977641323, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.3991, + "rps": 31.1120201478142, + "p95_time": 0.03591358123521786, + "mean_time": 0.03185829141223803, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1734.0112182780636, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4001, + "rps": 28.142839841866873, + "p95_time": 0.040007228788454086, + "mean_time": 0.03530638130923035, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1733.9871997479963, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.40121249999999997, + "rps": 28.143229665762355, + "p95_time": 0.8901121171715203, + "mean_time": 0.5677092827855668, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 3497.2234532189086, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4014, + "rps": 13.953926780138564, + "p95_time": 0.08126631124177948, + "mean_time": 0.07140349676349433, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2406.8692021966913, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4014, + "rps": 20.27530202117399, + "p95_time": 0.05615396702196449, + "mean_time": 0.048994123343378305, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 896.3946281440091, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.40565, + "rps": 54.44030839524409, + "p95_time": 0.0475736260501435, + "mean_time": 0.03648745247197803, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1001.0683352276451, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.40655, + "rps": 48.74792087885067, + "p95_time": 0.05302636665292084, + "mean_time": 0.040774654635199116, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 997.9280689308856, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4069375, + "rps": 48.90132016456968, + "p95_time": 0.403690201352583, + "mean_time": 0.3266698625452846, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1399.915484491363, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.40725, + "rps": 34.85924724786561, + "p95_time": 0.07109557978692464, + "mean_time": 0.05711629143147729, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2020.175911802426, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4074, + "rps": 24.156312187912405, + "p95_time": 0.10093499613285531, + "mean_time": 0.08249904483646969, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1108.639900264563, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.40916250000000004, + "rps": 44.0178997601967, + "p95_time": 0.5612476678477832, + "mean_time": 0.3628375233832994, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1013.5998845012741, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.409745, + "rps": 48.145230426906835, + "p95_time": 0.21534444163844438, + "mean_time": 0.16577453170928494, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1762.893951062922, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4101, + "rps": 27.681755882466128, + "p95_time": 0.41533262318116615, + "mean_time": 0.2885625317496233, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1085.0248327612499, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.410108125, + "rps": 44.9759291460733, + "p95_time": 0.43661167946120255, + "mean_time": 0.35515021456793694, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 630.2384449795994, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4103625, + "rps": 77.43101105420448, + "p95_time": 0.2997655643732287, + "mean_time": 0.20596224872716265, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1089.877170642832, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4108175, + "rps": 44.77568786142823, + "p95_time": 0.23180276726488952, + "mean_time": 0.1782201961785613, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 730.4834501255594, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.411025, + "rps": 66.80507271124621, + "p95_time": 0.35779483637597864, + "mean_time": 0.23875390083255843, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 685.2233590077259, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4113, + "rps": 71.21765386204497, + "p95_time": 0.07537153663579373, + "mean_time": 0.055867882502861906, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1762.0825640710304, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4113, + "rps": 27.694502513693138, + "p95_time": 0.19168170299672055, + "mean_time": 0.14409357186229318, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1448.6886530685008, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41136312499999994, + "rps": 33.68563693560766, + "p95_time": 0.5837050498608732, + "mean_time": 0.4744470112775889, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1114.632734092168, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.411375, + "rps": 43.781237090391045, + "p95_time": 0.26578457113355397, + "mean_time": 0.18231840883078984, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 782.8447457904579, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.411875, + "rps": 62.336753567561374, + "p95_time": 0.08704802016436587, + "mean_time": 0.06386236160993576, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1090.065611647605, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41213, + "rps": 44.7679474323019, + "p95_time": 0.12048644304159095, + "mean_time": 0.08901914012260385, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2523.534453884326, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41214999999999996, + "rps": 19.33795669993135, + "p95_time": 0.06550074694678186, + "mean_time": 0.05143264457781333, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1462.3239647559355, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.412525, + "rps": 33.37153816537829, + "p95_time": 0.08147751046635672, + "mean_time": 0.05963891418790445, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2074.2244119848474, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41254625, + "rps": 23.526866098978537, + "p95_time": 0.4735683925624471, + "mean_time": 0.3396208719698698, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1147.0024669051286, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4126, + "rps": 42.54568007309819, + "p95_time": 0.1259393426880706, + "mean_time": 0.09370620195636002, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1483.6565082462678, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4130325, + "rps": 32.891710263639965, + "p95_time": 0.33508891313103945, + "mean_time": 0.24279714339576458, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 637.6110237189628, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4130375, + "rps": 76.53569054588583, + "p95_time": 0.155753197465674, + "mean_time": 0.1041094799868224, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 750.4699269558301, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4136875, + "rps": 65.02592342100895, + "p95_time": 0.1843250118399737, + "mean_time": 0.12262618598630798, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1151.4220621466636, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4140775, + "rps": 42.38237359202524, + "p95_time": 0.12784086204774206, + "mean_time": 0.09405541464331327, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2644.012315077381, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41425, + "rps": 18.4567975427799, + "p95_time": 0.06635329171549528, + "mean_time": 0.05389096891065128, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1531.2549979734235, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.414655, + "rps": 31.869283734313058, + "p95_time": 0.08177023876924062, + "mean_time": 0.062472745836304966, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2135.3508694749557, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41522000000000003, + "rps": 22.853387093241047, + "p95_time": 0.23000815717387013, + "mean_time": 0.17464012849572463, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1500.2159478673245, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.416545, + "rps": 32.528650338221674, + "p95_time": 0.16416865401552053, + "mean_time": 0.12260040985685192, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 3249.944859771524, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41714, + "rps": 15.01563937408794, + "p95_time": 0.07895540451863779, + "mean_time": 0.06633469479827908, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 1840.4365590282016, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.417735, + "rps": 26.515448066173857, + "p95_time": 0.09386573729570954, + "mean_time": 0.07514219638786744, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 4319.48653469989, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41795000000000004, + "rps": 11.297639107790511, + "p95_time": 0.10190223189420067, + "mean_time": 0.08801906203664839, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 279171069415382837532184118862797704855, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695282672759, + "cost": 2476.8793677031063, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.41857000000000005, + "rps": 19.702211030670373, + "p95_time": 0.12255011788511183, + "mean_time": 0.10121470594679705, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 286.12403841058256, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.47939, + "rps": 114.9850959142032, + "p95_time": 0.02707822750235209, + "mean_time": 0.016778171371523057, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 914.929000319683, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.47964, + "rps": 35.959074407417944, + "p95_time": 0.03208340943965595, + "mean_time": 0.027163826339383378, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 185.85883995974874, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.48085749999999994, + "rps": 177.01606233593796, + "p95_time": 0.041259088559309015, + "mean_time": 0.021942321367685508, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 106.3407437317339, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.481005625, + "rps": 309.3828277428351, + "p95_time": 0.09766725704539564, + "mean_time": 0.05068260097149141, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 173.30836656795728, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.48111249999999994, + "rps": 189.83503596232515, + "p95_time": 0.07862598899373552, + "mean_time": 0.04136807939688879, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1457.0748042130417, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49304000000000003, + "rps": 22.579485902077014, + "p95_time": 0.05652887935002581, + "mean_time": 0.04394260467102504, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 633.5737095404313, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49367, + "rps": 51.92765972543957, + "p95_time": 0.0511866965018271, + "mean_time": 0.03817748205101816, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 471.6892880235948, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4938325, + "rps": 69.74930496694739, + "p95_time": 0.07898932994903589, + "mean_time": 0.05698334282922951, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 346.3755274932807, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49443312500000003, + "rps": 94.98361572509832, + "p95_time": 0.257118504607206, + "mean_time": 0.1678540413506762, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 501.85782564429337, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49446749999999995, + "rps": 65.55641522130782, + "p95_time": 0.18097131765462102, + "mean_time": 0.12157097099548264, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3182.651020718604, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.4950375, + "rps": 10.33729421976387, + "p95_time": 0.514467617750779, + "mean_time": 0.38638889256160835, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 4221.663109339538, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49535500000000005, + "rps": 7.793137241864634, + "p95_time": 0.32962740770126403, + "mean_time": 0.2561512890685535, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3629.181447140596, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.495479375, + "rps": 9.065405100073367, + "p95_time": 2.2710578505473675, + "mean_time": 1.7638382647847792, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3469.4477208209937, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49551625, + "rps": 9.482777273904187, + "p95_time": 1.1416863370053758, + "mean_time": 0.8429556326936191, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6565.165399475166, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.49569, + "rps": 5.011297964043694, + "p95_time": 0.2684321362998162, + "mean_time": 0.1991103308480142, + "total_upload": 4294.389953205 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 739.2522273884737, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5022, + "rps": 44.5044313443931, + "p95_time": 0.028942191408714273, + "mean_time": 0.022144572345598135, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 706.0575374493682, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5035, + "rps": 46.596769037904764, + "p95_time": 0.027790236799046398, + "mean_time": 0.021043652915250278, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 370.2042229860046, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.50885, + "rps": 88.86986683899543, + "p95_time": 0.029337777994805945, + "mean_time": 0.022152833844680572, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 367.64034936162136, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5096499999999999, + "rps": 89.48963316221484, + "p95_time": 0.029079742452449864, + "mean_time": 0.022030311865491967, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 223.34113061609898, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.51405, + "rps": 147.30828983109163, + "p95_time": 0.0361886496131774, + "mean_time": 0.026790287268115207, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 222.13789284911363, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5142749999999999, + "rps": 148.10620366488848, + "p95_time": 0.03598576434014831, + "mean_time": 0.026637589489771928, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 203.9894051189236, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5163875, + "rps": 161.2828861421487, + "p95_time": 0.07604932703834491, + "mean_time": 0.049163308760082146, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 202.41884914972744, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5164375, + "rps": 162.53427058892208, + "p95_time": 0.0749829849526577, + "mean_time": 0.048811592192772875, + "total_upload": 33466.765292435 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 216.97938038021692, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5165125, + "rps": 151.62731104839884, + "p95_time": 0.16350097164686303, + "mean_time": 0.10501826371404423, + "total_upload": 37829.601222026 + }, + { + "hash_code": 252965507737377274896907163572421153742, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1695261104789, + "cost": 214.75305337580937, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.51680625, + "rps": 153.19921874370883, + "p95_time": 0.1644043347521801, + "mean_time": 0.10394308424912288, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 951.9435004097905, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.51858, + "rps": 34.560874658881836, + "p95_time": 0.036820009931398084, + "mean_time": 0.028599840014707296, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 998.5371248221315, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.51922, + "rps": 32.948199102622695, + "p95_time": 0.037971599946467906, + "mean_time": 0.030019238033739383, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 413.0053479818045, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5201800000000001, + "rps": 79.65998542335934, + "p95_time": 0.03337551265140064, + "mean_time": 0.024745376391758327, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 422.9395358488124, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5204249999999999, + "rps": 77.78889702040227, + "p95_time": 0.03484754370147129, + "mean_time": 0.025378473083954304, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 241.30120834101908, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5220225000000001, + "rps": 136.3441162445571, + "p95_time": 0.039125049438735, + "mean_time": 0.0289638804952192, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 242.52981234513936, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5222775, + "rps": 135.65342619892297, + "p95_time": 0.039529670443153, + "mean_time": 0.029121196335156127, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 211.1421079824944, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.52354125, + "rps": 155.81922674906565, + "p95_time": 0.07730008554208319, + "mean_time": 0.05089830980476109, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 223.05442123826543, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.523625625, + "rps": 147.49763675321375, + "p95_time": 0.16811066525115165, + "mean_time": 0.10794735197348382, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 209.57613488881086, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.52393875, + "rps": 156.98352304023004, + "p95_time": 0.07626647619908908, + "mean_time": 0.0505341128224718, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 221.58130976190287, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5240724999999999, + "rps": 148.47822695583955, + "p95_time": 0.16715878255563438, + "mean_time": 0.10725535246651544, + "total_upload": 33466.765292435 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 8413.563143842908, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5553999999999999, + "rps": 1.3617298407493732, + "p95_time": 1.102448739495594, + "mean_time": 0.7339292108567897, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 8048.096103271784, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.5600625, + "rps": 1.423566499826263, + "p95_time": 6.672105138585903, + "mean_time": 5.6163120194728835, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 8047.550967912599, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.561775, + "rps": 1.4236629312049893, + "p95_time": 3.9014367366442455, + "mean_time": 2.8090572781602385, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 8101.818284296857, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.56315, + "rps": 1.4141270018615744, + "p95_time": 2.198090164235327, + "mean_time": 1.4133907270769124, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 151.8534309350711, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.67115, + "rps": 216.6562836111833, + "p95_time": 0.012459630485682282, + "mean_time": 0.008626070631638868, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 76.36549846578563, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.677375, + "rps": 430.8228278604156, + "p95_time": 0.012434792052954434, + "mean_time": 0.008678641241822334, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 34.75371437989124, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.677875, + "rps": 946.6614025876953, + "p95_time": 0.027942552541207987, + "mean_time": 0.015024411817152214, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 59.17258821712348, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.6781500000000001, + "rps": 556.0006920650351, + "p95_time": 0.02791531354014296, + "mean_time": 0.013592419360003986, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 928.6332896948502, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.6798, + "rps": 35.42840900180412, + "p95_time": 0.05797948857070876, + "mean_time": 0.0275887472172908, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1179.494654939646, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.72095, + "rps": 9.713481915343014, + "p95_time": 0.1500791227677836, + "mean_time": 0.10258192255464382, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1035.8927001180703, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.72357375, + "rps": 11.060025810293036, + "p95_time": 0.7888547029229812, + "mean_time": 0.7218405653885857, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10813.31739168044, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.724, + "rps": 1.0595268394521367, + "p95_time": 1.4732557194656692, + "mean_time": 0.9433798349704593, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1146.9547973373928, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7251375, + "rps": 9.989059748995288, + "p95_time": 0.49910660675959656, + "mean_time": 0.39974039625300795, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1223.896421810113, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7251949999999999, + "rps": 9.361086278081748, + "p95_time": 0.28571559995179996, + "mean_time": 0.21321323137439321, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10489.221066918544, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7305499999999999, + "rps": 1.092264137337489, + "p95_time": 8.940088783355895, + "mean_time": 7.320870625095704, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10507.086032476582, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7315, + "rps": 1.0904069848278872, + "p95_time": 2.898856538522523, + "mean_time": 1.8332524152124534, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 10482.577720351428, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7315250000000001, + "rps": 1.0929563610825204, + "p95_time": 5.30612132322276, + "mean_time": 3.658870664564485, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 133.8568399017109, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7958999999999999, + "rps": 245.78497463527438, + "p95_time": 0.009962028599693437, + "mean_time": 0.007552499990080832, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 71.3926575438585, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7971, + "rps": 460.83170359344876, + "p95_time": 0.011007562014856375, + "mean_time": 0.008061575909523526, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 56.99946653536863, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7974875, + "rps": 577.1983844723403, + "p95_time": 0.02080721955717307, + "mean_time": 0.013009426535398234, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 49.97514722182532, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.7983562500000001, + "rps": 658.3272252098899, + "p95_time": 0.03952385855664031, + "mean_time": 0.023014636889536633, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 313.66574243752694, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8066, + "rps": 104.8887256361849, + "p95_time": 0.016727539052953943, + "mean_time": 0.008932338118029293, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 182.5782582099513, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8287500000000001, + "rps": 180.1967020748301, + "p95_time": 0.014279032844206086, + "mean_time": 0.010786374555929797, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 460.7051651131318, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8289000000000001, + "rps": 71.41226643708455, + "p95_time": 0.016808852194662903, + "mean_time": 0.013669208915074706, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 482.836224298703, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8311000000000001, + "rps": 68.13904662556276, + "p95_time": 0.017480661346053236, + "mean_time": 0.01380009970680112, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 179.26631764382472, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.83145, + "rps": 183.52583146917405, + "p95_time": 0.013642765986151061, + "mean_time": 0.010563240955976654, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 93.51422790926699, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8349500000000001, + "rps": 351.81812153677316, + "p95_time": 0.014479409400519214, + "mean_time": 0.01107177277340088, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 92.56887267166167, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8375, + "rps": 355.4110474769966, + "p95_time": 0.013914334507717282, + "mean_time": 0.010918748698182754, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 55.11485824333868, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8387625000000001, + "rps": 596.935219441962, + "p95_time": 0.04426136514739483, + "mean_time": 0.02582196948207729, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 61.467471840632236, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8388875, + "rps": 535.2424463674118, + "p95_time": 0.020593362756335408, + "mean_time": 0.014501365306712614, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 55.662720469924174, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8413875000000001, + "rps": 591.0598641648609, + "p95_time": 0.044383877197105896, + "mean_time": 0.02614846835687422, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 61.594880742461825, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8416875, + "rps": 534.1352983141607, + "p95_time": 0.020511427405290286, + "mean_time": 0.014521983327780617, + "total_upload": 37829.601222026 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12505.722171552292, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8455, + "rps": 0.9161406148988421, + "p95_time": 1.7607063169358297, + "mean_time": 1.091089534914354, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12245.606499378204, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8476500000000001, + "rps": 0.9356008622832812, + "p95_time": 3.5176758374203927, + "mean_time": 2.136409779289388, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12155.742572634308, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8484125000000001, + "rps": 0.9425174917567474, + "p95_time": 10.52628332991153, + "mean_time": 8.483980706258182, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 66284366467554307875760321011364349018, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1683981768608, + "cost": 12154.498477098685, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8492500000000001, + "rps": 0.9426139648285035, + "p95_time": 6.212376268394291, + "mean_time": 4.242540443631587, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 78.33109279279344, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8663125000000002, + "rps": 585.5401522525386, + "p95_time": 0.061926906050575777, + "mean_time": 0.02523835265112166, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 81.14755669501028, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.871465, + "rps": 147.87875924720078, + "p95_time": 0.031204180602071557, + "mean_time": 0.026713378274835123, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 156.12799783199443, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.87176, + "rps": 76.8600133648861, + "p95_time": 0.028647251447182498, + "mean_time": 0.025734654108582618, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 106.43676637499813, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8733474999999999, + "rps": 112.74299669835504, + "p95_time": 0.19644121434794215, + "mean_time": 0.14114745110145577, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 92.38823632349886, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8736112500000001, + "rps": 129.88666606841386, + "p95_time": 0.08728171724615094, + "mean_time": 0.061112839439653725, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 284.0160703919828, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8771199999999999, + "rps": 42.251130309064145, + "p95_time": 0.024694135001846005, + "mean_time": 0.02333633321904199, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 661.790081809502, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8775, + "rps": 49.71364924364393, + "p95_time": 0.025579863550137815, + "mean_time": 0.01979793535200406, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 134.35166170037556, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.87985, + "rps": 244.87974010602085, + "p95_time": 0.02349887044965726, + "mean_time": 0.016046773029470388, + "total_upload": 4294.389953205 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 1013.6522892596433, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8805, + "rps": 48.142741369077164, + "p95_time": 0.04683619319985155, + "mean_time": 0.04131393616038986, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 236.32237010270694, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8805499999999999, + "rps": 139.21661324614124, + "p95_time": 0.020305570498931048, + "mean_time": 0.0140701734999966, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 149.88722776220112, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8817875000000002, + "rps": 219.49835547159805, + "p95_time": 0.0615554580974276, + "mean_time": 0.036109011982337506, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 119.64820481352754, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8819562500000002, + "rps": 274.9727841823858, + "p95_time": 0.10318145204728352, + "mean_time": 0.05770652969878211, + "total_upload": 4294.389953205 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 427.7803113676564, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8820450000000001, + "rps": 76.9086354040358, + "p95_time": 0.04187742299545789, + "mean_time": 0.025349265118333277, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 111.4310906326435, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8826625000000001, + "rps": 411.608642970274, + "p95_time": 0.05190987140040305, + "mean_time": 0.018822336374860242, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 319.32366251065974, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.88299, + "rps": 103.03026008572641, + "p95_time": 0.06839076049363939, + "mean_time": 0.03811824394519499, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 1310.7227821614622, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.88363, + "rps": 25.100654728642073, + "p95_time": 0.044310273547307585, + "mean_time": 0.03916270317358431, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 1103.7063575085137, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.88455, + "rps": 44.21465878855697, + "p95_time": 0.05095913409022614, + "mean_time": 0.045009886534986436, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 515.6737494518078, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8845500000000001, + "rps": 94.63347717791983, + "p95_time": 0.04802935154366423, + "mean_time": 0.042009291306694646, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 169.25893178425775, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.884756875, + "rps": 194.37674368603055, + "p95_time": 0.1618500007971305, + "mean_time": 0.0813050786652475, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 281.8265146299644, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.88508875, + "rps": 116.73848375550256, + "p95_time": 0.1259044310369063, + "mean_time": 0.06768669143493752, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 209.73098463998684, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8861312500000001, + "rps": 232.6790201446272, + "p95_time": 0.09961703355729695, + "mean_time": 0.06805184038145944, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2213.8306395990194, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8862000000000001, + "rps": 22.043239951200114, + "p95_time": 0.05099998870427953, + "mean_time": 0.04515058934011904, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 273.95111810214, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8869625000000001, + "rps": 178.13396907475075, + "p95_time": 0.05982847131308514, + "mean_time": 0.04458381651349555, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 552.6654592802778, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.888125, + "rps": 88.29934851284357, + "p95_time": 0.0515058674980537, + "mean_time": 0.04504257595595845, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 228.8961170911578, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8899125, + "rps": 213.1971508305028, + "p95_time": 0.1071687610441586, + "mean_time": 0.07420912011290602, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 303.46780353722136, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8906499999999999, + "rps": 160.80783342149348, + "p95_time": 0.06400718765435152, + "mean_time": 0.04944071825436367, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2411.8947789916538, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8911, + "rps": 20.233055117106694, + "p95_time": 0.05589988715728395, + "mean_time": 0.04920671389563359, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 1387.4531971309975, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8921500000000001, + "rps": 35.172357598014536, + "p95_time": 0.06687170770819648, + "mean_time": 0.05663288180847303, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2751.177889436553, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8944000000000001, + "rps": 17.737857005674883, + "p95_time": 0.0648343479486357, + "mean_time": 0.05616453763296886, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 709.8712468917307, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8949750000000002, + "rps": 68.74486072464202, + "p95_time": 0.06658696230006171, + "mean_time": 0.05792194308094622, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 141.38498160438147, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8950500000000001, + "rps": 324.4050356659567, + "p95_time": 0.028225352200388437, + "mean_time": 0.011903803441245146, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 167.82447516971004, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8953000000000001, + "rps": 196.0381521630284, + "p95_time": 0.013422769532189703, + "mean_time": 0.009631974245479796, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 1993.8214324693952, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8956000000000001, + "rps": 24.475612111140787, + "p95_time": 0.09435646830461338, + "mean_time": 0.08147802204450272, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 95.10319480078252, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8962, + "rps": 345.94000831325695, + "p95_time": 0.015519052540184928, + "mean_time": 0.010940284402407997, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 316.984959768298, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.89659375, + "rps": 153.95052192908662, + "p95_time": 0.14456291475798935, + "mean_time": 0.10321912745235567, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 383.73910883684, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8973625000000002, + "rps": 127.16973296758505, + "p95_time": 0.07677543895770213, + "mean_time": 0.06259852534686433, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 339.3363630595617, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8977, + "rps": 96.9539477094745, + "p95_time": 0.014994849653157871, + "mean_time": 0.009696740280021914, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 3968.287080355373, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8977, + "rps": 12.297497386612918, + "p95_time": 0.09399077539419522, + "mean_time": 0.08108872914312815, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 94.66161549141326, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8977125000000001, + "rps": 347.5537558619455, + "p95_time": 0.037835671506763896, + "mean_time": 0.02227125482851261, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 87.90060286220432, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8980875, + "rps": 374.2863976891609, + "p95_time": 0.0715698285086546, + "mean_time": 0.04171567502525795, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 995.9193136615999, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8984000000000001, + "rps": 48.99995344058725, + "p95_time": 0.09635903813832555, + "mean_time": 0.08136722276392538, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 457.87107193952835, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.8999250000000002, + "rps": 106.58022091958036, + "p95_time": 0.20725139350033714, + "mean_time": 0.1493119894299407, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 538.7354589472118, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9006375000000001, + "rps": 90.58249125714536, + "p95_time": 0.10746920664460047, + "mean_time": 0.08799613204703564, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 373.0873526511714, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.901, + "rps": 88.18310180232989, + "p95_time": 0.013077083029202184, + "mean_time": 0.010549399912240916, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 367.76577682820937, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9013000000000001, + "rps": 89.45911249204745, + "p95_time": 0.013198047802143264, + "mean_time": 0.01061211212494527, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 172.61515088102678, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.90195, + "rps": 190.59740603347146, + "p95_time": 0.01252167870698031, + "mean_time": 0.010234525381456479, + "total_upload": 33466.765292435 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 529.2203352603101, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9034, + "rps": 62.16692331714223, + "p95_time": 0.020913839551212732, + "mean_time": 0.015458428717975039, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 177.22874380616122, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9034000000000001, + "rps": 185.6358020343665, + "p95_time": 0.012628200493054463, + "mean_time": 0.010461960886037559, + "total_upload": 37829.601222026 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 275.67029185181747, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9038200000000001, + "rps": 119.34546801903818, + "p95_time": 0.021944800450000912, + "mean_time": 0.016113522227911743, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 223.75505656781837, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9047000000000002, + "rps": 204.9830770465667, + "p95_time": 0.01393372110051132, + "mean_time": 0.009415664214010576, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 383.55372554348014, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9051000000000001, + "rps": 119.58168294418137, + "p95_time": 0.008841488699454203, + "mean_time": 0.007208539189990915, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 198.00366965558135, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.90538, + "rps": 166.15853664342737, + "p95_time": 0.03380506106332177, + "mean_time": 0.02339168201450957, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 74.08171551735877, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.90595, + "rps": 619.1271311644061, + "p95_time": 0.05842453309869596, + "mean_time": 0.024164363710182442, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 168.79043528866933, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.907218125, + "rps": 194.91625780651407, + "p95_time": 0.1325814410112798, + "mean_time": 0.08106796948405827, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 199.94927414252524, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9075312500000001, + "rps": 164.54173260238318, + "p95_time": 0.07611280048440676, + "mean_time": 0.047794934150453626, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 94.67883100040126, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9077750000000001, + "rps": 347.4905599527371, + "p95_time": 0.013963459192746086, + "mean_time": 0.011247197613902244, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 96.87374595459842, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9093500000000001, + "rps": 339.61729956658394, + "p95_time": 0.014241801586467772, + "mean_time": 0.011427587499842047, + "total_upload": 37829.601222026 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 108.75337569268373, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9098125000000001, + "rps": 421.743230569767, + "p95_time": 0.05482335460083049, + "mean_time": 0.018390966942618433, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 64.77420533166814, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9111312500000002, + "rps": 507.918234296194, + "p95_time": 0.054208447055134446, + "mean_time": 0.03076650108436661, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 68.76416972992483, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9113625000000001, + "rps": 478.44684418086644, + "p95_time": 0.023414412148849796, + "mean_time": 0.016247839446190484, + "total_upload": 33466.765292435 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 87.17964460191575, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9138975, + "rps": 526.1090499902325, + "p95_time": 0.06291249114883612, + "mean_time": 0.028904256623615766, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 86.45306042975429, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9138975, + "rps": 530.5306691515855, + "p95_time": 0.062347852350558244, + "mean_time": 0.028836543364189424, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 65.54354178988596, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.91396875, + "rps": 501.95639572649407, + "p95_time": 0.05456038065458415, + "mean_time": 0.031062366480033233, + "total_upload": 37829.601222026 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 103.12345375266861, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9141775, + "rps": 444.76788093235376, + "p95_time": 0.05264896389999194, + "mean_time": 0.017401616147132017, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 69.49177556074646, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.914425, + "rps": 473.4373202371316, + "p95_time": 0.023354056602693154, + "mean_time": 0.016421475395094604, + "total_upload": 37829.601222026 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 1514.593081619197, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9146500000000001, + "rps": 21.722005995714568, + "p95_time": 0.06901058375333377, + "mean_time": 0.04527543177498592, + "total_upload": 39244.325722507 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 96.29500857063536, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.91532125, + "rps": 476.30713866498985, + "p95_time": 0.050249640400215866, + "mean_time": 0.01623159881549509, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 397.17196920759886, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9156150000000001, + "rps": 82.83565445375983, + "p95_time": 0.04175924309965921, + "mean_time": 0.023345076936991973, + "total_upload": 39244.325722507 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 101.4824558365933, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.91673, + "rps": 451.9598941698186, + "p95_time": 0.05185325979973641, + "mean_time": 0.017128765215144084, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 88.45459906099663, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9167850000000001, + "rps": 518.5258933610866, + "p95_time": 0.06258714855093785, + "mean_time": 0.029078325776441375, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 296.41319881268083, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9185025, + "rps": 110.99370787733123, + "p95_time": 0.07261922084726392, + "mean_time": 0.0350566956959683, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 265.5097761498239, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9199475, + "rps": 123.912574810183, + "p95_time": 0.14402260640272288, + "mean_time": 0.06326974674515895, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 109.46496979849148, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.920086875, + "rps": 300.55277099663886, + "p95_time": 0.2240367953465464, + "mean_time": 0.05038242901087051, + "total_upload": 39244.325722507 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 316.5946758617267, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9218800000000001, + "rps": 86.32488820480488, + "p95_time": 0.09792181169614196, + "mean_time": 0.09207561708998692, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 320.49440250129, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9218800000000001, + "rps": 85.27450023059295, + "p95_time": 0.05044971675961278, + "mean_time": 0.046478976499763666, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 752.9611724482837, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9218800000000001, + "rps": 36.29669231301184, + "p95_time": 0.03164613929693587, + "mean_time": 0.027167315974872326, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 388.5272373566351, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9218800000000001, + "rps": 70.34255869920743, + "p95_time": 0.03826614398421952, + "mean_time": 0.028042356404886233, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 80.34560062606715, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92329375, + "rps": 570.8588851487076, + "p95_time": 0.06041467044969977, + "mean_time": 0.026583162558173057, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 92.11418777300315, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9247625000000002, + "rps": 497.92546738866673, + "p95_time": 0.049879833049544686, + "mean_time": 0.01537650372851249, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1685.7178558761254, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9248, + "rps": 28.9490912313063, + "p95_time": 0.038888056448195124, + "mean_time": 0.034173417577461805, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 163.34649421387252, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9250000000000002, + "rps": 280.7896197634142, + "p95_time": 0.03696301630097878, + "mean_time": 0.0138460657490009, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 983.1994690512773, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92545, + "rps": 49.63387546078395, + "p95_time": 0.05149931268242654, + "mean_time": 0.04005266272838344, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1726.448271074414, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9254625000000001, + "rps": 28.266123473036632, + "p95_time": 0.8629009473865151, + "mean_time": 0.5654384186490897, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 538.0884385008787, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9255300000000001, + "rps": 50.79090730167281, + "p95_time": 0.16769631016650235, + "mean_time": 0.15689274037276918, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1022.6803131723166, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9255300000000001, + "rps": 26.72389372121905, + "p95_time": 0.043124991509830575, + "mean_time": 0.03703479882898391, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 646.0128864430532, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9255300000000001, + "rps": 42.30565763243358, + "p95_time": 0.06128041304036741, + "mean_time": 0.046887228834370034, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 536.2788938769635, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9255300000000001, + "rps": 50.962289047814416, + "p95_time": 0.08497186981112463, + "mean_time": 0.0780641268215666, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 180.8407109280088, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9257150000000001, + "rps": 66.35673979835825, + "p95_time": 0.03257612170236825, + "mean_time": 0.029789701650563074, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 92.6921457480057, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.926115, + "rps": 129.46080709603362, + "p95_time": 0.035885584497009404, + "mean_time": 0.03055994054876828, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 3902.3714128746947, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9261500000000001, + "rps": 12.505216658516705, + "p95_time": 0.1965084588424361, + "mean_time": 0.1596820637545243, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1094.6645017587573, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9264400000000002, + "rps": 24.966553639119468, + "p95_time": 0.10491865989170036, + "mean_time": 0.0797203644063382, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 902.8725744377501, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9264400000000002, + "rps": 30.270052246319846, + "p95_time": 0.27963513307040555, + "mean_time": 0.26362610576195294, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1561.2740114379367, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9264400000000002, + "rps": 17.504934944013456, + "p95_time": 0.08494692842505168, + "mean_time": 0.05671841113494884, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 903.0656034264092, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9264400000000002, + "rps": 30.263582065693328, + "p95_time": 0.14313912059442374, + "mean_time": 0.13173366019724345, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1097.505441413837, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92667, + "rps": 29.97707233015383, + "p95_time": 0.08590133735087874, + "mean_time": 0.0663399134945339, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 641.8427984259615, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9268000000000002, + "rps": 76.03107820119793, + "p95_time": 0.2932571381184969, + "mean_time": 0.2098349044353781, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 2254.3560935819114, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92728, + "rps": 14.593967693775346, + "p95_time": 0.08893043990119621, + "mean_time": 0.06813959102599255, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 858.7454899789335, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92732, + "rps": 38.31170047927366, + "p95_time": 0.13580975235454387, + "mean_time": 0.10395989281552466, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 737.517366917606, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.927525, + "rps": 66.16793337891912, + "p95_time": 0.08150867469666989, + "mean_time": 0.06014257919471129, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 558.3508682619024, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9276000000000001, + "rps": 58.9235225914752, + "p95_time": 0.02445526564983993, + "mean_time": 0.016657897917995795, + "total_upload": 4294.389953205 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 8331.743831084017, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92763, + "rps": 5.857117188113402, + "p95_time": 0.1974433322553523, + "mean_time": 0.17048720251796476, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 134.01244487400254, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9277850000000001, + "rps": 89.54392266540847, + "p95_time": 0.2681075537977448, + "mean_time": 0.17803298020031844, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 2312.866401759912, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9279000000000001, + "rps": 14.224773197001626, + "p95_time": 0.08614694815046278, + "mean_time": 0.0699588699309943, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1824.1282908907624, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9279000000000001, + "rps": 26.752504329709108, + "p95_time": 0.04204597881180234, + "mean_time": 0.037133252925938, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 68.85253247999208, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9279000000000001, + "rps": 174.2855283280552, + "p95_time": 0.02664945829710632, + "mean_time": 0.02264724859873604, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 994.4014191527544, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9281000000000001, + "rps": 33.085230336890824, + "p95_time": 0.08956240119878202, + "mean_time": 0.06009013817900541, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 117.28658628899574, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92812125, + "rps": 102.31349022668148, + "p95_time": 0.09638213415018981, + "mean_time": 0.07772126111432044, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 138.36621668997395, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9281500000000001, + "rps": 86.72637213813134, + "p95_time": 0.02519057710414927, + "mean_time": 0.02273312233607794, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 188.23906431132568, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92832, + "rps": 243.65824473151298, + "p95_time": 0.0449319302004369, + "mean_time": 0.01599513942349813, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1108.4948154794636, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.928675, + "rps": 44.02366102081611, + "p95_time": 0.5347921436041361, + "mean_time": 0.3628320488508944, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 651.9195426431427, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9287750000000001, + "rps": 74.8558630443034, + "p95_time": 0.1536471517232712, + "mean_time": 0.1064285248673841, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2222.876838741827, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9288425000000001, + "rps": 21.95353298459007, + "p95_time": 0.2493082475106348, + "mean_time": 0.18188196475008953, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 682.0588268063653, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9288500000000002, + "rps": 48.236308522021695, + "p95_time": 0.13196328054891637, + "mean_time": 0.08252281966299052, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1059.787607764802, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9290000000000002, + "rps": 46.04696228041775, + "p95_time": 0.05559578183456324, + "mean_time": 0.04317278333034483, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 708.6878155335515, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9291175, + "rps": 46.42382623049684, + "p95_time": 0.4888286804474773, + "mean_time": 0.3440289012566691, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 733.1939603749547, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9292812500000001, + "rps": 66.55810418165983, + "p95_time": 0.33438142482191324, + "mean_time": 0.2397980752108597, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 901.5310239113057, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92937375, + "rps": 36.49347512996598, + "p95_time": 0.3025041310553206, + "mean_time": 0.21862704703310556, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 211.38044540323926, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.92945, + "rps": 155.64353617118374, + "p95_time": 0.03811003154951321, + "mean_time": 0.025388561305007898, + "total_upload": 4294.389953205 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 97.55972724524872, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9298, + "rps": 123.00157389569182, + "p95_time": 0.18994398130344053, + "mean_time": 0.1291300024083298, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2124.947415442858, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9298150000000001, + "rps": 22.965274173539793, + "p95_time": 1.011402676446596, + "mean_time": 0.695920552613099, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 653.5657423037248, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93, + "rps": 50.33923578067641, + "p95_time": 0.48796394814999067, + "mean_time": 0.3172585574084678, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 739.5230892720996, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 10 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9301375000000001, + "rps": 44.48813090120408, + "p95_time": 0.3079093323496634, + "mean_time": 0.1793566823389974, + "total_upload": 4294.389953205 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 83.28590416649968, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9301750000000001, + "rps": 144.08200427302071, + "p95_time": 0.08371228705000248, + "mean_time": 0.05503654766899399, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 427.2561044116563, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9303000000000001, + "rps": 107.35013385744078, + "p95_time": 0.010182004849411896, + "mean_time": 0.008417146493029578, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2181.4196619406125, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93030375, + "rps": 22.370752795263172, + "p95_time": 0.5009099918992433, + "mean_time": 0.3572122061383798, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 808.0248840385466, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9303250000000001, + "rps": 60.39417963973497, + "p95_time": 0.08760247341706416, + "mean_time": 0.0659265991050488, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 265.3439770080631, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93065, + "rps": 172.8548750839227, + "p95_time": 0.015795169748980698, + "mean_time": 0.011262273466486476, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 305.8555741125573, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9307000000000002, + "rps": 107.56710939619016, + "p95_time": 0.02573618459864519, + "mean_time": 0.018305055544506104, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 330.0580252200016, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93107, + "rps": 36.35724352407838, + "p95_time": 0.028742670649444337, + "mean_time": 0.027113846939049835, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 746.9442941689515, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9319375, + "rps": 65.33285063017286, + "p95_time": 0.1785941296315286, + "mean_time": 0.12204317895998247, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 196.86562147035002, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.932145, + "rps": 167.11907215834066, + "p95_time": 0.01418893644840864, + "mean_time": 0.011290523450523324, + "total_upload": 39244.325722507 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 736.7005970998434, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9322000000000001, + "rps": 81.4442125284016, + "p95_time": 0.03503724975525983, + "mean_time": 0.011120225035090699, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 419.9972087375165, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93225, + "rps": 78.3338539293992, + "p95_time": 0.014885979000609945, + "mean_time": 0.011532603844090772, + "total_upload": 39244.325722507 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 226.20947468725788, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9326250000000001, + "rps": 145.44041555061008, + "p95_time": 0.09065152655493874, + "mean_time": 0.05464030482791805, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 173.85857750704756, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93275, + "rps": 189.23426426094142, + "p95_time": 0.14165522499752115, + "mean_time": 0.08409670250149612, + "total_upload": 4294.389953205 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 268.20317725196946, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9329000000000001, + "rps": 44.742199264575945, + "p95_time": 0.02207651074968453, + "mean_time": 0.021923255039117066, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1755.78022722365, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9332750000000001, + "rps": 27.793911358237374, + "p95_time": 0.4153208789066411, + "mean_time": 0.28742907018849656, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2483.8357654411343, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9335, + "rps": 19.64703169145848, + "p95_time": 0.05751172268937807, + "mean_time": 0.0506603095390019, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2312.1563215358883, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9338800000000002, + "rps": 21.105839404311467, + "p95_time": 0.13725614358554594, + "mean_time": 0.09444779567114893, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 263.32819215357296, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.933955, + "rps": 174.17808410445835, + "p95_time": 0.05731617429928519, + "mean_time": 0.02252946579348418, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 111.07338802737758, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.934385, + "rps": 296.20056238755177, + "p95_time": 0.016019817250344202, + "mean_time": 0.012606990543528809, + "total_upload": 39244.325722507 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1443.3756324299145, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9344000000000001, + "rps": 33.809632713450675, + "p95_time": 0.07297330816800239, + "mean_time": 0.05889463533597882, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 390.0349928702053, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9348500000000001, + "rps": 153.8323511910292, + "p95_time": 0.03877098690136336, + "mean_time": 0.01195904979257466, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 230.10954410987327, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.935125, + "rps": 260.74537773779196, + "p95_time": 0.04366352215292861, + "mean_time": 0.013761117827343697, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 90.74592123600816, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93547, + "rps": 132.23734837393857, + "p95_time": 0.016263491900372174, + "mean_time": 0.014253751372515581, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 3330.4676161897837, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9356400000000001, + "rps": 14.652597059577348, + "p95_time": 0.07944291822204831, + "mean_time": 0.06796614260080969, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 66.69882343799873, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9357150000000001, + "rps": 179.91321857655927, + "p95_time": 0.025138096848968415, + "mean_time": 0.021400010127003044, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1141.668295437726, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9357375000000001, + "rps": 42.74446456559401, + "p95_time": 0.2757319149619434, + "mean_time": 0.18675696150910517, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 128.11318266741802, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9358500000000002, + "rps": 256.80417358304527, + "p95_time": 0.02091326501686126, + "mean_time": 0.014941193078659126, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1162.943323747837, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9359000000000001, + "rps": 41.96249206945995, + "p95_time": 0.12700582034012767, + "mean_time": 0.09501437154873565, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1968.1411668239625, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9361275, + "rps": 24.794969396808945, + "p95_time": 0.26296772992645856, + "mean_time": 0.16096607356572348, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1420.5775440568948, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.936511875, + "rps": 34.35222540589839, + "p95_time": 0.7061632778233615, + "mean_time": 0.465230194994936, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1704.2749575969472, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9365875000000001, + "rps": 28.63387728750572, + "p95_time": 0.45203387649671634, + "mean_time": 0.27883436173164955, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 75.74931994450188, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9365887500000001, + "rps": 434.3273315734629, + "p95_time": 0.05879391594571643, + "mean_time": 0.034108179498557094, + "total_upload": 39244.325722507 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 118.31009906913788, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93678125, + "rps": 278.0827694242226, + "p95_time": 0.09827127052703871, + "mean_time": 0.05650873291175412, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 387.1894638574566, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9368000000000001, + "rps": 84.97132042857474, + "p95_time": 0.015303374012000858, + "mean_time": 0.01116942145419307, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 81.08316646559814, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93684375, + "rps": 405.7562307209446, + "p95_time": 0.025893676650593986, + "mean_time": 0.018029086331987857, + "total_upload": 39244.325722507 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 188.3290432898567, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.937, + "rps": 243.5418308232351, + "p95_time": 0.04315718014986486, + "mean_time": 0.016029225625241453, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 214.8067502926337, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9370499999999999, + "rps": 153.16092234149977, + "p95_time": 0.01703471550135873, + "mean_time": 0.012486859283075318, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 274.8763477603209, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9370550000000001, + "rps": 166.86048244497547, + "p95_time": 0.01961732630024926, + "mean_time": 0.011651012046017968, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 143.42469738497968, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.937075, + "rps": 229.38866596796805, + "p95_time": 0.054564333557209445, + "mean_time": 0.03410475959138785, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 69.41199042075004, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9372275, + "rps": 172.880793754226, + "p95_time": 0.10525393204952706, + "mean_time": 0.0908732793531209, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 181.23752435254573, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93725, + "rps": 331.0572698139882, + "p95_time": 0.048200937400542876, + "mean_time": 0.018256832279865194, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 99.9653714969827, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.937335, + "rps": 120.04156859820405, + "p95_time": 0.036527322602341886, + "mean_time": 0.032994471874691955, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 3572.07978656278, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9375000000000001, + "rps": 13.661508957211064, + "p95_time": 0.08288315169629641, + "mean_time": 0.072936165142979, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 68.48799540600157, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9375975000000001, + "rps": 175.21318778368632, + "p95_time": 0.05096075195042431, + "mean_time": 0.0446520284411356, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 176.47487600396562, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93782, + "rps": 67.99834781994886, + "p95_time": 0.03200886454505962, + "mean_time": 0.0291099244358993, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1778.1774532206941, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9379750000000001, + "rps": 27.44383014845443, + "p95_time": 0.1941045455459971, + "mean_time": 0.14540846263886487, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2092.6818904267625, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.938, + "rps": 23.319358868274133, + "p95_time": 0.10514280871429946, + "mean_time": 0.08547909653891111, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 169.19630961600342, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.93815, + "rps": 70.9235327131803, + "p95_time": 0.014130737600044085, + "mean_time": 0.013454836982032248, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 237.8064761504187, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9385125000000001, + "rps": 192.87111411965324, + "p95_time": 0.050275672700172434, + "mean_time": 0.020326199378223917, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 122.81734400925234, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.938588125, + "rps": 97.70606991058193, + "p95_time": 0.20740803519693143, + "mean_time": 0.16308130275762825, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 381.2194131753364, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9386500000000001, + "rps": 120.3139148081753, + "p95_time": 0.04141685140048138, + "mean_time": 0.016298026642009973, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 106.49964892349453, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9387925, + "rps": 112.67642777508462, + "p95_time": 0.09245842244963569, + "mean_time": 0.07051992681237698, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8157.26209227059, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9396300000000001, + "rps": 4.033216001625641, + "p95_time": 0.6182738347508347, + "mean_time": 0.49533965422248366, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6431.077231267509, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.940165, + "rps": 5.1157836886240755, + "p95_time": 0.9859145869009807, + "mean_time": 0.781186080918269, + "total_upload": 4294.389953205 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 730.1979566664813, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94041, + "rps": 45.0562750821653, + "p95_time": 0.032015877102094234, + "mean_time": 0.021543980204907713, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 153.95030153398696, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94045, + "rps": 77.94723284352133, + "p95_time": 0.028151846450782614, + "mean_time": 0.025374061207043268, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 452.87574934712404, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9405, + "rps": 101.27722684670456, + "p95_time": 0.01105290644973138, + "mean_time": 0.009179286819044136, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1245.0064771462746, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9405050000000001, + "rps": 26.425565331524464, + "p95_time": 0.09563542555079038, + "mean_time": 0.07529838765245041, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 7247.476856911862, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9410293750000001, + "rps": 4.539510873859987, + "p95_time": 4.301063481145683, + "mean_time": 3.5229633004618663, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 986.723059520613, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9410350000000001, + "rps": 33.342688895893495, + "p95_time": 0.15451980750003708, + "mean_time": 0.11952555163270336, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6930.400134497634, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9410449999999999, + "rps": 4.747200646645611, + "p95_time": 2.151788713748101, + "mean_time": 1.6843070492671577, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 84.57206104800571, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94105, + "rps": 141.89083074596502, + "p95_time": 0.03583504059643018, + "mean_time": 0.027883605489796535, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 2001.6278475115844, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94109, + "rps": 16.436621843016997, + "p95_time": 0.08299882314904607, + "mean_time": 0.060470558692008125, + "total_upload": 4294.389953205 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 318.38068208404, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94121, + "rps": 37.690728977182324, + "p95_time": 0.027834952796183643, + "mean_time": 0.0262694472760777, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 12328.461333222298, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94132, + "rps": 2.6686217453059005, + "p95_time": 0.49457527494951137, + "mean_time": 0.37424312413304506, + "total_upload": 4294.389953205 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 400.39811052148144, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.942005, + "rps": 82.16821991779831, + "p95_time": 0.03304273351823213, + "mean_time": 0.02369200793444179, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 395.61776210881385, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9420500000000002, + "rps": 29.12912690919663, + "p95_time": 0.07342184459866985, + "mean_time": 0.06832092798050507, + "total_upload": 4851.50449722 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 261.89679455769766, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94211, + "rps": 104.35408362349779, + "p95_time": 0.042362768332532136, + "mean_time": 0.03791193278480787, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 248.38722449290424, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94211, + "rps": 110.02981355339695, + "p95_time": 0.07785477041034027, + "mean_time": 0.07206574706680258, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 322.1610321327863, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94211, + "rps": 84.83335125626023, + "p95_time": 0.036952324130106684, + "mean_time": 0.023193945391711896, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 619.3342419394659, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94211, + "rps": 44.12802998654683, + "p95_time": 0.025344225848675704, + "mean_time": 0.022256793097555055, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 3849.0856683918046, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.942185, + "rps": 12.678335637146066, + "p95_time": 0.19462077984790085, + "mean_time": 0.1574998166994119, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 276.1618464573189, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9422200000000001, + "rps": 166.0837678643224, + "p95_time": 0.01579834144913548, + "mean_time": 0.011708629342962013, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 280.30058824433405, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9422200000000001, + "rps": 163.63147964576964, + "p95_time": 0.015679753950644228, + "mean_time": 0.011888772242983578, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 914.8175704610879, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9425631250000001, + "rps": 35.96345442230376, + "p95_time": 0.6171883875926142, + "mean_time": 0.4441789086082736, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1072.1250731083617, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9428425000000001, + "rps": 30.686718205940828, + "p95_time": 0.3624006782520154, + "mean_time": 0.2601609309112482, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 124.56321440324609, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9431, + "rps": 96.33662761104279, + "p95_time": 0.21435468650124676, + "mean_time": 0.16540787580252891, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 285.90729863994056, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9433, + "rps": 41.971646254166764, + "p95_time": 0.025105153049298678, + "mean_time": 0.02346569627603458, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 343.9790011663121, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9434000000000001, + "rps": 95.64537337583877, + "p95_time": 0.05858524212235351, + "mean_time": 0.04109284660712729, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 107.79926097300267, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9435375, + "rps": 111.3180173192958, + "p95_time": 0.09342289979758789, + "mean_time": 0.07138608333034153, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 9470.823037074471, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9435500000000001, + "rps": 5.152667282343634, + "p95_time": 0.22294731650181346, + "mean_time": 0.1938463790427777, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2231.9878733201417, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9436550000000001, + "rps": 21.863918072013846, + "p95_time": 0.13594045397476293, + "mean_time": 0.09116268302127718, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 434.51049095150665, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9439, + "rps": 75.71738930389091, + "p95_time": 0.017083183547947554, + "mean_time": 0.012595109242101898, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 3245.887199867601, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94415, + "rps": 11.23883787504631, + "p95_time": 0.10109401380250346, + "mean_time": 0.08825406229207874, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 301.48046514988965, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9442562500000001, + "rps": 38.224698884786825, + "p95_time": 0.6127458741020746, + "mean_time": 0.41602714497337956, + "total_upload": 4851.50449722 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2148.206781332026, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9443775000000001, + "rps": 22.716621334628165, + "p95_time": 0.23234394516111928, + "mean_time": 0.17574043607293424, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 237.96920672260293, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.944560625, + "rps": 138.25318180074882, + "p95_time": 0.17987673044990515, + "mean_time": 0.11465930019431653, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 855.8576822832925, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9446500000000001, + "rps": 42.62390903903222, + "p95_time": 0.07271206040095421, + "mean_time": 0.04616439539074781, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 354.2929229665415, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9447875, + "rps": 32.52675753020417, + "p95_time": 0.4058797623513783, + "mean_time": 0.24476818776973483, + "total_upload": 4851.50449722 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 324.6152307859258, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.945125, + "rps": 101.35075892879648, + "p95_time": 0.11358457561436805, + "mean_time": 0.07809161140714786, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 393.68936054103216, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94515, + "rps": 29.271809591610523, + "p95_time": 0.14393573994875622, + "mean_time": 0.13617332654225767, + "total_upload": 4851.50449722 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 3419.6330423940904, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94521, + "rps": 14.270537041551991, + "p95_time": 0.08155894377850927, + "mean_time": 0.06980061956145801, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2110.33790365768, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9453987500000001, + "rps": 23.12425887599273, + "p95_time": 0.9937776380000285, + "mean_time": 0.6911345960611898, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 144.33892201332347, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94555, + "rps": 227.93574692876746, + "p95_time": 0.023583603567385564, + "mean_time": 0.01690845868756878, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 192719162666258501182945558846961902620, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684315062235, + "cost": 598.7079981659772, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94557, + "rps": 100.21579832539078, + "p95_time": 0.045953839566209326, + "mean_time": 0.01963678611750074, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 192719162666258501182945558846961902620, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684315062235, + "cost": 477.87620748602785, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9456200000000001, + "rps": 125.55552894261696, + "p95_time": 0.08945203725888858, + "mean_time": 0.06311196675767132, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 192719162666258501182945558846961902620, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684315062235, + "cost": 505.77152216399554, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9456200000000001, + "rps": 118.63064124940017, + "p95_time": 0.0568336855387315, + "mean_time": 0.03329749271934561, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 192719162666258501182945558846961902620, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684315062235, + "cost": 1141.2684491100956, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9456200000000001, + "rps": 52.57308221110031, + "p95_time": 0.04313739424396772, + "mean_time": 0.01859478231550893, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1742.7109211095142, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9456725000000001, + "rps": 28.0023493333771, + "p95_time": 0.2218691616668366, + "mean_time": 0.1425041996967775, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 241.96810268330447, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9457000000000001, + "rps": 135.9683348141989, + "p95_time": 0.018850128015037625, + "mean_time": 0.014104413979526725, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2127.74928084757, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9457537500000001, + "rps": 22.93503301317576, + "p95_time": 0.4787240946505335, + "mean_time": 0.3484309594773804, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1509.5218141798746, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94597, + "rps": 32.32811844227181, + "p95_time": 0.675304467260139, + "mean_time": 0.4943488424617026, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1573.846375274332, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94607375, + "rps": 31.006838257319636, + "p95_time": 0.3659643308055819, + "mean_time": 0.25756538807004836, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 6768.585712003405, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94617, + "rps": 10.19415324498816, + "p95_time": 0.22487261540954934, + "mean_time": 0.19498316876689206, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 132.74226873297084, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9464937500000001, + "rps": 247.84870948817994, + "p95_time": 0.10887684153422013, + "mean_time": 0.06350868595358952, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 548.6360117981233, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9466975, + "rps": 66.4921718872206, + "p95_time": 0.09886592144175664, + "mean_time": 0.059118271166691556, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 161.52543362334654, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.946725, + "rps": 203.68309350413472, + "p95_time": 0.0651590390029014, + "mean_time": 0.038522488146558315, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 78.53336607600795, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94675, + "rps": 152.8012945272954, + "p95_time": 0.01442172094966736, + "mean_time": 0.012402231883022068, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 3291.3141689253393, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9475525, + "rps": 20.964270336590044, + "p95_time": 0.20816275129327544, + "mean_time": 0.18953197246522177, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 730.6207665654947, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9476749999999999, + "rps": 49.9301438850217, + "p95_time": 0.1886449088473455, + "mean_time": 0.15906592868808547, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 44.53782627599685, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.948, + "rps": 269.4338948119536, + "p95_time": 0.01592048079983215, + "mean_time": 0.01377648859849296, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 874.5640798128146, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.948055625, + "rps": 41.71220936470192, + "p95_time": 0.5220294206497783, + "mean_time": 0.38228644069478285, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 12664.13551661256, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94807, + "rps": 5.448457173368619, + "p95_time": 0.19739621246699243, + "mean_time": 0.18253384154895322, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 413.0454455925533, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.94863, + "rps": 66.16705326648136, + "p95_time": 0.13200476767233338, + "mean_time": 0.12031032793729682, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 776.8064791422238, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9486300000000001, + "rps": 35.182507785180576, + "p95_time": 0.03145302819320932, + "mean_time": 0.028009547557798213, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 419.4571722101397, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9486300000000001, + "rps": 65.15563878904952, + "p95_time": 0.06727711806452133, + "mean_time": 0.0609616428225796, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 482.6706942371906, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9486300000000001, + "rps": 56.62245569557965, + "p95_time": 0.05787734775367414, + "mean_time": 0.034917749673011714, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1832.6929859882657, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.948955, + "rps": 37.649513872500734, + "p95_time": 0.23565914413775316, + "mean_time": 0.21091287048334198, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 36.556768693499635, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9491124999999999, + "rps": 328.2565836332736, + "p95_time": 0.06947780690015862, + "mean_time": 0.03606994371324527, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 30.773603212498525, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9495750000000001, + "rps": 389.94458715599046, + "p95_time": 0.03575594124931739, + "mean_time": 0.017987099635127835, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 613.454822267031, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95, + "rps": 53.63068119412214, + "p95_time": 0.02357578170413035, + "mean_time": 0.017727056577081384, + "total_upload": 39244.325722507 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 3384.7162599948797, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95, + "rps": 3.4047167073370677, + "p95_time": 0.67475190320024, + "mean_time": 0.2933615550209979, + "total_upload": 4851.50449722 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 1072.1320242004003, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9500600000000001, + "rps": 55.96325699229831, + "p95_time": 0.04260472154346644, + "mean_time": 0.016793920813361184, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 567.1392977337908, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9501000000000002, + "rps": 80.87254786129988, + "p95_time": 0.01516905094940739, + "mean_time": 0.011779350706989135, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 473.0087202655608, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9501000000000002, + "rps": 96.96649984433586, + "p95_time": 0.012335455900847591, + "mean_time": 0.009673097574999701, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 259564285117078876583943949134134230766, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712644964686, + "cost": 531.7508932457386, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9501000000000002, + "rps": 86.25467410132568, + "p95_time": 0.012774844348859915, + "mean_time": 0.011097717717024351, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 186.38224405296603, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9502, + "rps": 176.5189606293746, + "p95_time": 0.014243561799594318, + "mean_time": 0.010664753340446623, + "total_upload": 39244.325722507 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 582.6467054701061, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9502650000000001, + "rps": 102.97835624349621, + "p95_time": 0.043969222197483754, + "mean_time": 0.01828610606217262, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 100.45246942101657, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95035, + "rps": 327.51808083591715, + "p95_time": 0.015041257903067162, + "mean_time": 0.011417503771996053, + "total_upload": 39244.325722507 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 758.8711343736476, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9510900000000001, + "rps": 36.01401972227797, + "p95_time": 0.08007349864783461, + "mean_time": 0.05514168399767659, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1164.1603810279307, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9510900000000001, + "rps": 23.476146796773953, + "p95_time": 0.05371646325074829, + "mean_time": 0.04217343062897271, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 691.8658421258187, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9510900000000001, + "rps": 39.50187787277685, + "p95_time": 0.22663353308889783, + "mean_time": 0.20189189939527133, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 700.9036124686537, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9510900000000001, + "rps": 38.99252267189916, + "p95_time": 0.11489342760905856, + "mean_time": 0.10215056705593888, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 148.27329306000323, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9514000000000001, + "rps": 80.9316347694783, + "p95_time": 0.01166133130077469, + "mean_time": 0.011197229968983265, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1563.197366712231, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9514112500000002, + "rps": 7.329208866374144, + "p95_time": 1.1766232035821302, + "mean_time": 1.089867812179349, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 369.8344896301569, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.951455, + "rps": 162.2347338670371, + "p95_time": 0.05081374384608352, + "mean_time": 0.022498614979700505, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 10266.917565631295, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95148, + "rps": 3.20446714310178, + "p95_time": 0.7724842715020713, + "mean_time": 0.6236064882410228, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8287.637135864807, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9517, + "rps": 3.969768398476934, + "p95_time": 1.2603659977514325, + "mean_time": 1.0068559620254747, + "total_upload": 4294.389953205 + }, + { + "hash_code": 328143661374485122078909322968554661248, + "engine": "pinecone-5-pods", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218475974, + "cost": 299.51326313996105, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9519387500000001, + "rps": 200.32501856841745, + "p95_time": 0.059354983947559954, + "mean_time": 0.031038183836682946, + "total_upload": 3151.8334131189913 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 9184.015312857944, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9524181250000001, + "rps": 3.5823111002372614, + "p95_time": 5.388503389943798, + "mean_time": 4.464505527585603, + "total_upload": 4294.389953205 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1806.7516781300676, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9524400000000001, + "rps": 6.341214533619608, + "p95_time": 0.3936234916094691, + "mean_time": 0.3149431470355485, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1742.89027416031, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9525, + "rps": 6.573563562697459, + "p95_time": 0.19422376435250044, + "mean_time": 0.15176048999442718, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8957.059178070429, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.952555, + "rps": 3.6730805665043587, + "p95_time": 2.751995503645594, + "mean_time": 2.177167424444002, + "total_upload": 4294.389953205 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1725.7517051358752, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9528700000000001, + "rps": 6.638846113206039, + "p95_time": 0.7816036681528203, + "mean_time": 0.6018239872786216, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 607.1492621696351, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9529150000000001, + "rps": 45.01364277762082, + "p95_time": 0.07383807290607365, + "mean_time": 0.043513632219419375, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 64.081955300753, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9529625, + "rps": 513.4050583443013, + "p95_time": 0.019252654796218845, + "mean_time": 0.014183286210254664, + "total_upload": 39244.325722507 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 15477.43180404819, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95305, + "rps": 2.125675655789022, + "p95_time": 0.630222624250382, + "mean_time": 0.4699587513740189, + "total_upload": 4294.389953205 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 54.6882683386737, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9531375000000001, + "rps": 601.5915478664778, + "p95_time": 0.03887032274760713, + "mean_time": 0.023459175823414627, + "total_upload": 39244.325722507 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 338.7922576891998, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9539000000000001, + "rps": 80.66890367096852, + "p95_time": 0.031077113047649617, + "mean_time": 0.023949135882972768, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 293.61579215633117, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.954075, + "rps": 93.08082443143442, + "p95_time": 0.05885530670057051, + "mean_time": 0.042046001511303985, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1188.502609685593, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9543800000000001, + "rps": 22.99532182535964, + "p95_time": 0.0696970169483393, + "mean_time": 0.04248871752510604, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 933.5303773802949, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.955, + "rps": 35.24255963938218, + "p95_time": 0.03828257970026243, + "mean_time": 0.028052771037002457, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 308.56968027204283, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9550075, + "rps": 88.56994626272154, + "p95_time": 0.06494916440060478, + "mean_time": 0.044069761990474944, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 605.4393295088269, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9552999999999999, + "rps": 45.14077409238005, + "p95_time": 0.026503869951557135, + "mean_time": 0.021211527052131713, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 175.88764651296202, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9560425000000001, + "rps": 155.3832832596684, + "p95_time": 0.06910190320013498, + "mean_time": 0.049756444252662735, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1803.578164236819, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95625, + "rps": 18.241516033169308, + "p95_time": 0.15186705290043392, + "mean_time": 0.10921867110448329, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 125.84434702728015, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9562625, + "rps": 217.1730446825354, + "p95_time": 0.03845731965084269, + "mean_time": 0.03564021115650667, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 2757.009946450897, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9564000000000001, + "rps": 11.933217739149697, + "p95_time": 0.11814192055035164, + "mean_time": 0.08343237985800533, + "total_upload": 4294.389953205 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 97.4157190380769, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.956825, + "rps": 337.72783617334255, + "p95_time": 0.013731427646780502, + "mean_time": 0.011036005464689878, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 177.19430346102163, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95685, + "rps": 185.6718831101542, + "p95_time": 0.012206840300132171, + "mean_time": 0.010046772965481069, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 356.3957091580945, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.957, + "rps": 92.31312037319114, + "p95_time": 0.012224077900100383, + "mean_time": 0.009987490609004453, + "total_upload": 39244.325722507 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1248.865692030074, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9570250000000001, + "rps": 26.343905681739024, + "p95_time": 0.21979832059896579, + "mean_time": 0.15135743442076546, + "total_upload": 4294.389953205 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 442.05010041848436, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9571, + "rps": 74.42595300590115, + "p95_time": 0.016697240008215885, + "mean_time": 0.01275785707612522, + "total_upload": 33466.765292435 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 231.51101149402453, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9573500000000001, + "rps": 142.10987109288826, + "p95_time": 0.017699726451974127, + "mean_time": 0.01380151441792259, + "total_upload": 33466.765292435 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 568.6407058527847, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9579500000000001, + "rps": 57.85727201970215, + "p95_time": 0.04573652900016896, + "mean_time": 0.03423448653398373, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1386.4632023046847, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95810625, + "rps": 23.729443338496914, + "p95_time": 0.9432527690994902, + "mean_time": 0.6735271671705395, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 1363.3454976820685, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 20 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9582125000000001, + "rps": 24.131814023617558, + "p95_time": 0.5167258035518897, + "mean_time": 0.3309846290007581, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 393.4254088012515, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9584750000000001, + "rps": 83.62449212480895, + "p95_time": 0.0676416539996353, + "mean_time": 0.047483474408750226, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2345.00425606661, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.959375, + "rps": 20.810196772032565, + "p95_time": 0.13114771236432715, + "mean_time": 0.09579717573168454, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 1054.9871637382398, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95938, + "rps": 31.18521355598507, + "p95_time": 0.043441440060269086, + "mean_time": 0.03137700658274116, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 63.626128329921954, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.95985, + "rps": 517.0831679306796, + "p95_time": 0.04843696564748825, + "mean_time": 0.027949660349062013, + "total_upload": 39244.325722507 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 550.9727385320772, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9599500000000001, + "rps": 20.915735378673517, + "p95_time": 0.1001293442493079, + "mean_time": 0.09520307190152198, + "total_upload": 4851.50449722 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 264.77675230582497, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.960195, + "rps": 124.25562181531528, + "p95_time": 0.020346484700712607, + "mean_time": 0.015361505353583198, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 69.03505728787677, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9603, + "rps": 476.5694603946908, + "p95_time": 0.021040074503980575, + "mean_time": 0.015171530284741493, + "total_upload": 39244.325722507 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 473.4579277945799, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9604000000000001, + "rps": 69.48875088701521, + "p95_time": 0.017958325802464967, + "mean_time": 0.013815625971124974, + "total_upload": 37829.601222026 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 613.6168494042591, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9605000000000001, + "rps": 53.61651987219965, + "p95_time": 0.024678495101397854, + "mean_time": 0.018047327785461677, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 531.7662983387628, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96051, + "rps": 61.8692837488565, + "p95_time": 0.021438210095948304, + "mean_time": 0.015439981182120392, + "total_upload": 39244.325722507 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 235.98343938560134, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96055, + "rps": 139.41656281329463, + "p95_time": 0.017991855232685337, + "mean_time": 0.014033169134461787, + "total_upload": 37829.601222026 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 68.45130345040256, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9607093750000001, + "rps": 670.0529820185662, + "p95_time": 0.033130471800041035, + "mean_time": 0.008803684219060984, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 324.12396480703103, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9607625000000001, + "rps": 101.50437354913635, + "p95_time": 0.24268957410095024, + "mean_time": 0.15710986923195105, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 416.34168374547676, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9608125, + "rps": 79.02163363520633, + "p95_time": 0.15629698100019593, + "mean_time": 0.10080787797595622, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1793.4337372208247, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9608150000000001, + "rps": 27.210372475552063, + "p95_time": 0.21346583301783537, + "mean_time": 0.14665900781928212, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 4163.816169986595, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96099, + "rps": 11.72001788930012, + "p95_time": 0.09859138053143396, + "mean_time": 0.08504703069396782, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1615.7353940574947, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96106875, + "rps": 30.202965274810023, + "p95_time": 0.6815400756371673, + "mean_time": 0.5292098720826871, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 2296.960424480404, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9611300000000002, + "rps": 14.32327681807679, + "p95_time": 0.17351299460187875, + "mean_time": 0.1391976159210444, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 1678.6310066060048, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9611637500000001, + "rps": 29.07130858893634, + "p95_time": 0.3675896375701995, + "mean_time": 0.2747460866200563, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 615.5139258488591, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.961185, + "rps": 53.45126831148037, + "p95_time": 0.04770103623595787, + "mean_time": 0.03672966315147642, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1734.825538874248, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9612325, + "rps": 18.964442972951193, + "p95_time": 0.26602467089833226, + "mean_time": 0.21039684731002853, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3615.2383747494027, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9614100000000001, + "rps": 9.100368105680037, + "p95_time": 0.1498238419505469, + "mean_time": 0.10947740492699995, + "total_upload": 4294.389953205 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 384.404967762664, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9615750000000001, + "rps": 29.978800916836875, + "p95_time": 0.7016320743508911, + "mean_time": 0.5315228181945636, + "total_upload": 4851.50449722 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 224.29967144980984, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9616, + "rps": 146.67877035817162, + "p95_time": 0.037777968996670096, + "mean_time": 0.026599112143332604, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 133.78779384793597, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9619249999999999, + "rps": 245.91182090493504, + "p95_time": 0.020643027147161774, + "mean_time": 0.015941840488685556, + "total_upload": 33466.765292435 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 496.5554715685772, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9619975, + "rps": 66.25644441309176, + "p95_time": 0.07935727863223291, + "mean_time": 0.059609165388101244, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 145.2866289659869, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.962, + "rps": 82.59535020810019, + "p95_time": 0.02643990050164575, + "mean_time": 0.023886249400518863, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 1154.0242223495472, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9621000000000001, + "rps": 9.98592557835363, + "p95_time": 0.2121076600497872, + "mean_time": 0.09983916589601631, + "total_upload": 4851.50449722 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 114.10295397972622, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.962125, + "rps": 401.9703119005093, + "p95_time": 0.0728017256003568, + "mean_time": 0.03313580938881347, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 454.7609079470079, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.962175, + "rps": 25.34078853000896, + "p95_time": 0.5380405882504418, + "mean_time": 0.31476886612511773, + "total_upload": 4851.50449722 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1856.2533155220872, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9623268750000002, + "rps": 17.723874066588046, + "p95_time": 1.1844400287256576, + "mean_time": 0.9018979085860592, + "total_upload": 4294.389953205 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 76.03335157199037, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9624250000000001, + "rps": 157.82547726622425, + "p95_time": 0.029901489848271002, + "mean_time": 0.02496113022275131, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 357.144540728566, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9625, + "rps": 92.11956574468368, + "p95_time": 0.027845455486385617, + "mean_time": 0.021075877349168878, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1586.6368274652036, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9625, + "rps": 20.735684077471426, + "p95_time": 0.0662404285998491, + "mean_time": 0.04788446055600707, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1860.8971044826649, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9625075000000001, + "rps": 17.67964489855354, + "p95_time": 0.5864730947010685, + "mean_time": 0.45191804048877204, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 200.40404271602165, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96251, + "rps": 59.879031567264086, + "p95_time": 0.035736106198601195, + "mean_time": 0.03306506614747923, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 198.00493420611767, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9625125, + "rps": 166.15747547862625, + "p95_time": 0.15454988111741833, + "mean_time": 0.09525734316283342, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 154.00468028557717, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9627275, + "rps": 213.62987111165836, + "p95_time": 0.023694004444041634, + "mean_time": 0.017819857209537077, + "total_upload": 39244.325722507 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 360.60762256601936, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9628262500000001, + "rps": 91.23489893499611, + "p95_time": 0.2601639735497883, + "mean_time": 0.1743950120758509, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 233.7201334412701, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.962875, + "rps": 140.76664904980132, + "p95_time": 0.08536449054954573, + "mean_time": 0.0560293430030506, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 560.1384230985423, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.962975, + "rps": 20.573485989859762, + "p95_time": 0.24357004245011915, + "mean_time": 0.1939597736382466, + "total_upload": 4851.50449722 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 110.76569577598275, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9631975, + "rps": 108.33679069979671, + "p95_time": 0.044276588796856226, + "mean_time": 0.03655750517398519, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 257.465522915998, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9632999999999999, + "rps": 46.608182191116825, + "p95_time": 0.022653568698297023, + "mean_time": 0.021218292484969425, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1567.9805903964186, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96345, + "rps": 62.67934730949235, + "p95_time": 0.04401529020251473, + "mean_time": 0.030829941108600906, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 106.94321855597411, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9634625000000001, + "rps": 307.6398900672709, + "p95_time": 0.03901726484837126, + "mean_time": 0.025589388449261605, + "total_upload": 33466.765292435 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 536.9145240365527, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96348625, + "rps": 61.27604772665861, + "p95_time": 0.17305285152833674, + "mean_time": 0.12965361691380167, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 109.07786605436995, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96369375, + "rps": 301.61939530061, + "p95_time": 0.08998454134343772, + "mean_time": 0.052352692679909524, + "total_upload": 33466.765292435 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 111.18912768600057, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9638812500000001, + "rps": 107.92422109730138, + "p95_time": 0.20107603189644577, + "mean_time": 0.14745079066219205, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 135.20899348146412, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.964075, + "rps": 243.32700919417965, + "p95_time": 0.02085749631805811, + "mean_time": 0.01610324302832305, + "total_upload": 37829.601222026 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4445.128716341474, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9641000000000002, + "rps": 22.109595980583556, + "p95_time": 0.03632407055119982, + "mean_time": 0.04452078116209304, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 96.16499702849615, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9641375000000001, + "rps": 124.7855287349938, + "p95_time": 0.08922592800518032, + "mean_time": 0.063660118615795, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 166.2791083762495, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96416, + "rps": 72.16781541098294, + "p95_time": 0.29803400874989167, + "mean_time": 0.22112590144148908, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 1287.6199248442892, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9642000000000001, + "rps": 28.331341645254128, + "p95_time": 0.04203358000086155, + "mean_time": 0.034550860881063274, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 145.2989420925005, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96430875, + "rps": 82.58835079721733, + "p95_time": 0.1058914908036968, + "mean_time": 0.09640617118710725, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 121.63385393034964, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.964320625, + "rps": 270.48390671596496, + "p95_time": 0.09609759119666701, + "mean_time": 0.057225666683542384, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 121.2179926231851, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9644925000000001, + "rps": 271.4118530429062, + "p95_time": 0.04271701519865017, + "mean_time": 0.027812906253606343, + "total_upload": 39244.325722507 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 322.3042167200589, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9647500000000001, + "rps": 35.755039500489396, + "p95_time": 0.08723882890008099, + "mean_time": 0.05516170424448137, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1412.3573930221733, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.964975, + "rps": 69.58578649112297, + "p95_time": 0.07524658535257912, + "mean_time": 0.05508906066247255, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 281.0855124697031, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9649750000000001, + "rps": 40.998199796021574, + "p95_time": 0.15530296789547718, + "mean_time": 0.09659312271921226, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1904.0076273868913, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.965, + "rps": 17.279342543996425, + "p95_time": 0.07965264004969867, + "mean_time": 0.057521135341000444, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 360.6169466039864, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96509, + "rps": 33.276306377187176, + "p95_time": 0.03143023969969363, + "mean_time": 0.02975924322807987, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 242.00217031003257, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96535625, + "rps": 47.61940764926377, + "p95_time": 0.460482498199417, + "mean_time": 0.3304756311450828, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 260.2838455637238, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9653624999999999, + "rps": 44.274741580835624, + "p95_time": 0.2774878946980607, + "mean_time": 0.17810171232288485, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1412.1400686079305, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9657250000000001, + "rps": 69.59649554939912, + "p95_time": 0.2640360696947027, + "mean_time": 0.22388242494471616, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 278.06934640660654, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9657250000000001, + "rps": 131.19029649049187, + "p95_time": 0.03573172635369701, + "mean_time": 0.029410673112550283, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 614.6539218797163, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96575, + "rps": 59.35047138142055, + "p95_time": 0.05814743604205432, + "mean_time": 0.032819352487887955, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1418.240695910157, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.965775, + "rps": 69.29712303660045, + "p95_time": 0.15054970275523374, + "mean_time": 0.11100684173774698, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 108.68023475649242, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9657875, + "rps": 302.7229382943028, + "p95_time": 0.03903733281913444, + "mean_time": 0.02585929983382448, + "total_upload": 37829.601222026 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 110.25780977199267, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96579375, + "rps": 298.39156126931476, + "p95_time": 0.09103017915040254, + "mean_time": 0.05302530811588258, + "total_upload": 37829.601222026 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 171.82798260601703, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9658499999999999, + "rps": 69.83728620916595, + "p95_time": 0.031451831056256194, + "mean_time": 0.028369072975518064, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 343.82457508807425, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9659000000000001, + "rps": 34.90151917420701, + "p95_time": 0.02932095319665677, + "mean_time": 0.027817372691053607, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 16425.53550289381, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9660000000000001, + "rps": 2.002978837079848, + "p95_time": 2.4394591981479605, + "mean_time": 1.995998545729006, + "total_upload": 4294.389953205 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 1269.540119650802, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96603, + "rps": 28.734814627232222, + "p95_time": 0.04337468294397695, + "mean_time": 0.03407621091506735, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 19901.976292751664, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9660350000000001, + "rps": 1.6531021601097091, + "p95_time": 1.468912579649259, + "mean_time": 1.2092873365494998, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 458.056285855282, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9662000000000001, + "rps": 59.66515654068466, + "p95_time": 0.048312306301522764, + "mean_time": 0.032687573525992775, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 156.29992086358837, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9662875000000001, + "rps": 233.39743103157505, + "p95_time": 0.03929892944943276, + "mean_time": 0.03315775340642358, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2826.002061381261, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9663600000000001, + "rps": 17.26821104162539, + "p95_time": 0.1384266906272387, + "mean_time": 0.11550129942430067, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 89.97362577732945, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9663687500000001, + "rps": 405.4521498364672, + "p95_time": 0.049704865551757384, + "mean_time": 0.03754207653708272, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 17948.070760711613, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9665243750000001, + "rps": 1.833066095996134, + "p95_time": 10.13084528446343, + "mean_time": 8.724939376624723, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 384.91540669574334, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.966525, + "rps": 71.00261388498544, + "p95_time": 0.09228481304489831, + "mean_time": 0.055422678017474025, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 985.8561002619152, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9665499999999999, + "rps": 33.372010368713404, + "p95_time": 0.07661999354768341, + "mean_time": 0.059572101013989597, + "total_upload": 4294.389953205 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1923.378700745583, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9666000000000001, + "rps": 35.874370436385036, + "p95_time": 0.06200758213526569, + "mean_time": 0.054608927864639556, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 968.6988754011691, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9666750000000002, + "rps": 71.22956550499235, + "p95_time": 0.06402886851574294, + "mean_time": 0.05498915299246437, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 17660.63203978961, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9667100000000001, + "rps": 1.8629004854342655, + "p95_time": 5.264995782387268, + "mean_time": 4.292987420199545, + "total_upload": 4294.389953205 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 710.54334416902, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9668000000000002, + "rps": 16.218574270760794, + "p95_time": 0.12752034620052655, + "mean_time": 0.1229196084230407, + "total_upload": 4851.50449722 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 101.29469963038477, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9669875, + "rps": 452.79763074831067, + "p95_time": 0.061106129899462756, + "mean_time": 0.02855244410168507, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 3837.8904765240154, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9671000000000002, + "rps": 17.978626649735308, + "p95_time": 0.06557083063526079, + "mean_time": 0.05469918073760346, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 719.965288111791, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96713, + "rps": 37.96016342909632, + "p95_time": 0.08946818109834567, + "mean_time": 0.05175925908148929, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 678.3892549167891, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9672000000000001, + "rps": 48.49723040503567, + "p95_time": 0.10994849954749952, + "mean_time": 0.08209112170724348, + "total_upload": 4294.389953205 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2250.0236752565716, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9672450000000001, + "rps": 21.68866067350838, + "p95_time": 0.23139574195374735, + "mean_time": 0.184073186885842, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 503.0143676916487, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96735, + "rps": 137.17302015972928, + "p95_time": 0.06733116054674611, + "mean_time": 0.05688319432432763, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 1207.1043084039175, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9674, + "rps": 9.546813742415933, + "p95_time": 0.18533802715000977, + "mean_time": 0.10444070102497426, + "total_upload": 4851.50449722 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 2163.8692061509355, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9674437500000002, + "rps": 22.552194865236263, + "p95_time": 0.4469146611780161, + "mean_time": 0.35425766435684636, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 29509.39183971031, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96745, + "rps": 1.1148992896467287, + "p95_time": 1.1726809754001806, + "mean_time": 0.8964556453380265, + "total_upload": 4294.389953205 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 666.6848390082037, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9675499999999999, + "rps": 54.718508454863944, + "p95_time": 0.04351184045081027, + "mean_time": 0.0358595168142856, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 835.8818047123589, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9677, + "rps": 32.69601018460345, + "p95_time": 0.038892202501301654, + "mean_time": 0.029574910920026013, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 458.36599773300065, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9678187500000002, + "rps": 25.14148094971206, + "p95_time": 0.7590498504530842, + "mean_time": 0.634431834340681, + "total_upload": 4851.50449722 + }, + { + "hash_code": 77857905252468790188205690886688598804, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695282672759, + "cost": 5224.502811878407, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9679000000000001, + "rps": 9.340601729421703, + "p95_time": 0.12162029840110335, + "mean_time": 0.1067724599041394, + "total_upload": 3044.461535763985 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1259.1656212482724, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96802, + "rps": 21.70484925796055, + "p95_time": 0.07956724855539506, + "mean_time": 0.04517671762192913, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 242.58975637548755, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96805, + "rps": 135.61990618052485, + "p95_time": 0.0177671548048238, + "mean_time": 0.013861760449086432, + "total_upload": 39244.325722507 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 547.8714600191144, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96825, + "rps": 21.034130888288917, + "p95_time": 0.5857103926497074, + "mean_time": 0.3793041210066449, + "total_upload": 4851.50449722 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 99.6953251740124, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9684, + "rps": 120.36672711638883, + "p95_time": 0.044094793952172036, + "mean_time": 0.03291052023678094, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 203.88269719265338, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.968425, + "rps": 134.04766748879757, + "p95_time": 0.06459882844574168, + "mean_time": 0.0584998713459845, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2423.1359433975317, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96845, + "rps": 40.559012080106186, + "p95_time": 0.06733799974463181, + "mean_time": 0.048275265989530455, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 466.9147624043195, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9686, + "rps": 70.46253973762907, + "p95_time": 0.017149381603667274, + "mean_time": 0.013439914887989289, + "total_upload": 39244.325722507 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1219.0180652905092, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9687, + "rps": 26.988935551303303, + "p95_time": 0.09333938709914946, + "mean_time": 0.07372423770147907, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2470.535778503428, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9689, + "rps": 39.78084464720236, + "p95_time": 0.0317266544981976, + "mean_time": 0.024437231166062702, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 6878.518451179436, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9689350000000001, + "rps": 10.031229906516979, + "p95_time": 0.22477762788766995, + "mean_time": 0.1981754528786405, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 96.22338394410636, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.969, + "rps": 476.66168159958244, + "p95_time": 0.05560112864991424, + "mean_time": 0.026790736222000986, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 12982.372886881465, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96918, + "rps": 5.314898948074715, + "p95_time": 0.2037139819469303, + "mean_time": 0.1871724147234345, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 4082.6551117152153, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96921, + "rps": 11.95300574372985, + "p95_time": 0.20331291215261443, + "mean_time": 0.1670686734444389, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 704.0607886735369, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9692250000000001, + "rps": 16.367904853374128, + "p95_time": 0.2516388417507187, + "mean_time": 0.24385669254952427, + "total_upload": 4851.50449722 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 829.292049218506, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96925, + "rps": 39.67239289343692, + "p95_time": 0.13231613100015238, + "mean_time": 0.10041357307723774, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3279.870817945399, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9692675000000001, + "rps": 10.030882868920266, + "p95_time": 0.49241649369978396, + "mean_time": 0.39821073573651666, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 330.6931735386785, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.969275, + "rps": 82.6445847295467, + "p95_time": 0.07207764109916752, + "mean_time": 0.04736078556706343, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 6550.938030335293, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9692999999999999, + "rps": 5.022181533033995, + "p95_time": 0.26134284135023333, + "mean_time": 0.19866948831399167, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 155.39142385649575, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96935, + "rps": 77.2243390412718, + "p95_time": 0.29457181200305055, + "mean_time": 0.20655937778511724, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 139.91696210465724, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.969375, + "rps": 235.1394677608205, + "p95_time": 0.020886335448449245, + "mean_time": 0.015990824504235206, + "total_upload": 39244.325722507 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 401.9107557795556, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9694800000000001, + "rps": 68.00017070205074, + "p95_time": 0.12719273410184542, + "mean_time": 0.11705479533725884, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 751.2105135725175, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9694800000000001, + "rps": 36.381279955770644, + "p95_time": 0.030158234345435624, + "mean_time": 0.0271113713916362, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 410.6186934271139, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9694800000000001, + "rps": 66.55809985633584, + "p95_time": 0.06690652596880682, + "mean_time": 0.05966569181926024, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 417.2159196975982, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9694800000000001, + "rps": 65.5056499756985, + "p95_time": 0.03517284060217207, + "mean_time": 0.030161919730051886, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 1114.7571917821772, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9695, + "rps": 43.776349109695175, + "p95_time": 0.05042218483868055, + "mean_time": 0.04513009476801381, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 142.88330687756178, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9695375000000002, + "rps": 321.0032088584222, + "p95_time": 0.05254581334957037, + "mean_time": 0.023406219937002676, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 4376.082405829747, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96954, + "rps": 7.518139959195272, + "p95_time": 0.32940947420174777, + "mean_time": 0.26554893759750486, + "total_upload": 4294.389953205 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 5381.982885088574, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.969645, + "rps": 9.067290075411838, + "p95_time": 0.35374608879938024, + "mean_time": 0.22002226713643178, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 654.1844593089304, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.96965625, + "rps": 50.2916257514815, + "p95_time": 0.45689652644796297, + "mean_time": 0.31753270284532026, + "total_upload": 4294.389953205 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 135.55298913150182, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9697, + "rps": 88.52626619954972, + "p95_time": 0.1027792821983894, + "mean_time": 0.08993224688051578, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 116.06548443600697, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9698450000000001, + "rps": 103.38991008663075, + "p95_time": 0.020440796449383923, + "mean_time": 0.018464422626027953, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 720.8535219448389, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9699249999999999, + "rps": 45.64034023339012, + "p95_time": 0.23587870714472947, + "mean_time": 0.1747935587423699, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 462.968382616353, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97, + "rps": 24.891548608297875, + "p95_time": 0.15709357654523043, + "mean_time": 0.07954241747096603, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2172.985182024991, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9701500000000001, + "rps": 45.22810409061947, + "p95_time": 0.09866855555374059, + "mean_time": 0.08612697324199871, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 8579.233822863922, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9701900000000001, + "rps": 5.6881536285847, + "p95_time": 0.20800183545143228, + "mean_time": 0.17558081776901963, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 191.08386785089618, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9702000000000001, + "rps": 240.03072847462715, + "p95_time": 0.011776057849692732, + "mean_time": 0.007489207749494199, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6178.726480027491, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9702000000000001, + "rps": 5.324721867256636, + "p95_time": 0.252699866699686, + "mean_time": 0.1873738904360116, + "total_upload": 4294.389953205 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2147.3577641293173, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970235, + "rps": 22.725602978312647, + "p95_time": 0.22851841139781748, + "mean_time": 0.17567139954379674, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4357.53514196904, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9702600000000001, + "rps": 22.55403497574324, + "p95_time": 0.10020622074698621, + "mean_time": 0.08771309275196108, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 209.8777833770766, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97026625, + "rps": 130.21864229858764, + "p95_time": 0.0883002430975466, + "mean_time": 0.06007274195574064, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 145.1179586196192, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9702750000000001, + "rps": 316.0601240279517, + "p95_time": 0.033157331249276466, + "mean_time": 0.011479405043256747, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 644.6798560913521, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9702999999999999, + "rps": 51.033082062576526, + "p95_time": 0.02545072205903125, + "mean_time": 0.019201083570966147, + "total_upload": 33466.765292435 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2162.4226901058746, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9703, + "rps": 45.44902365743679, + "p95_time": 0.3784075547991961, + "mean_time": 0.3412815295309006, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3713.7473766308694, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970304375, + "rps": 8.858976301680231, + "p95_time": 2.2684830011567096, + "mean_time": 1.8049171787163176, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 317.9928731093447, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970325, + "rps": 36.23980590293723, + "p95_time": 0.18942865860117306, + "mean_time": 0.10950640672977897, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 555.4288209877326, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970375, + "rps": 87.86004282820213, + "p95_time": 0.05082980895531363, + "mean_time": 0.04483353512697795, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3615.6684843454414, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9704, + "rps": 9.09928555188212, + "p95_time": 0.15006009450007696, + "mean_time": 0.10950984483298634, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2165.7486353303, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9704250000000001, + "rps": 45.37922748593178, + "p95_time": 0.19253044109864276, + "mean_time": 0.17110782827122875, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5002.6927333215435, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9705000000000001, + "rps": 19.645420024576822, + "p95_time": 0.03577555719966767, + "mean_time": 0.0502075493180455, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 102.80202282600112, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9705050000000001, + "rps": 116.72922059433357, + "p95_time": 0.036252435150345264, + "mean_time": 0.03341294218801068, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3503.632121185225, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9705137500000001, + "rps": 9.3902552728254, + "p95_time": 1.0762434093463524, + "mean_time": 0.8512261001454899, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 237.96608644581949, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9705999999999999, + "rps": 114.84829795787957, + "p95_time": 0.01901297394942958, + "mean_time": 0.016597075985046103, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3166.9538827032775, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97075, + "rps": 10.388531446475286, + "p95_time": 0.5120047515494661, + "mean_time": 0.3844284829227181, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 32364.05916606275, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9707650000000001, + "rps": 1.0165597532493464, + "p95_time": 4.687836839500596, + "mean_time": 3.933842038191309, + "total_upload": 4294.389953205 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 868.8763877453002, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9707775000000002, + "rps": 41.9852587945958, + "p95_time": 0.10805568920259247, + "mean_time": 0.09432885356659608, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 296.9201424999048, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97079375, + "rps": 38.81178253174149, + "p95_time": 0.5574154342502878, + "mean_time": 0.4063866962451375, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4504.404290677137, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9708000000000001, + "rps": 21.818645409652113, + "p95_time": 0.028667233490705255, + "mean_time": 0.04513652158688637, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 18370.77855948955, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970875, + "rps": 1.985762328029152, + "p95_time": 1.4145639728987582, + "mean_time": 1.006217856548552, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 340.8832043971876, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709, + "rps": 134.55048359190562, + "p95_time": 0.008401540999466304, + "mean_time": 0.0064726479999935695, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2133.0324302013687, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709106250000001, + "rps": 22.87822693600258, + "p95_time": 0.9946843892525067, + "mean_time": 0.6985380268974904, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 216.09872936400646, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709300000000001, + "rps": 55.53017380211736, + "p95_time": 0.01826848499981679, + "mean_time": 0.017162395701986497, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 38911.9655968145, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709350000000001, + "rps": 0.8454982804233703, + "p95_time": 2.802295411698469, + "mean_time": 2.3646567864814787, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 325.1922748632165, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709375, + "rps": 35.437496185440644, + "p95_time": 0.34198964225470263, + "mean_time": 0.2231169013012377, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 4191.302276429442, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9709500000000001, + "rps": 7.849588941608719, + "p95_time": 0.3291191032007191, + "mean_time": 0.25430859585649157, + "total_upload": 4294.389953205 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3297.4427754497733, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.970985, + "rps": 14.799347046543861, + "p95_time": 0.3015994752946426, + "mean_time": 0.26963265045447043, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2133.5252655249847, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97108, + "rps": 22.872942162225606, + "p95_time": 0.4762768359563778, + "mean_time": 0.34936245173752467, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 468.5415830039882, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9711000000000001, + "rps": 58.3299348262273, + "p95_time": 0.017678232698381178, + "mean_time": 0.0161091027999355, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1565.352943982258, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9711000000000002, + "rps": 62.78456266225537, + "p95_time": 0.04369849454742507, + "mean_time": 0.030776711797465394, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 1082.6329296310992, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9712000000000001, + "rps": 33.69563127220816, + "p95_time": 0.03120314855041215, + "mean_time": 0.02819024380701012, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 35203.33027325263, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9712081250000001, + "rps": 0.9345706711446362, + "p95_time": 19.37279279294744, + "mean_time": 17.1137010308946, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 435.52286828990253, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97125, + "rps": 26.460149027878682, + "p95_time": 0.13104831035525422, + "mean_time": 0.07486705627794436, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 3304.2708461634465, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97133, + "rps": 20.882065427570854, + "p95_time": 0.20698859199183062, + "mean_time": 0.19022516793888644, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 102.94894198574957, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971339375, + "rps": 116.56263550198571, + "p95_time": 0.15662461319843715, + "mean_time": 0.13597928655062502, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 406.9592034124434, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9713600000000001, + "rps": 28.317334768125892, + "p95_time": 0.04353345694871678, + "mean_time": 0.03443367079801828, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 34892.16400871237, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9713687500000001, + "rps": 0.9429051173720572, + "p95_time": 10.265419681656931, + "mean_time": 8.48198038483207, + "total_upload": 4294.389953205 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3351.8718917265887, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97143, + "rps": 14.559028977346312, + "p95_time": 0.6146060493469122, + "mean_time": 0.548652597190412, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 165.98943403433356, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971475, + "rps": 164.6490341930259, + "p95_time": 0.025952880403201553, + "mean_time": 0.023366338371066376, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2044.9371425794052, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9715, + "rps": 48.06015693765207, + "p95_time": 0.0588177157973405, + "mean_time": 0.04047840648753845, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3867.5320134469534, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9715, + "rps": 25.411554360323844, + "p95_time": 0.09488202275133517, + "mean_time": 0.07775202450848155, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3465.8935111991127, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971525625, + "rps": 14.080063291706967, + "p95_time": 1.4255987165422992, + "mean_time": 1.1334862597730135, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 357.50349380970584, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97155, + "rps": 92.02707265711986, + "p95_time": 0.05792641200678189, + "mean_time": 0.04275725499638065, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 102.95234356949915, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971565, + "rps": 116.55878422912505, + "p95_time": 0.07941134759985288, + "mean_time": 0.06768014757037485, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 860.1657845910587, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9715874999999999, + "rps": 38.248440695233384, + "p95_time": 0.5874981800065143, + "mean_time": 0.4177046010188142, + "total_upload": 4294.389953205 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 344.98671381366216, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9716, + "rps": 95.3659914502397, + "p95_time": 0.027588887051388154, + "mean_time": 0.02070524921746255, + "total_upload": 33466.765292435 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 319.7161991656641, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971625, + "rps": 152.63536889075112, + "p95_time": 0.14168343762867153, + "mean_time": 0.10283818575406621, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 685.901580230752, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9716437499999999, + "rps": 53.18547303496129, + "p95_time": 0.3815771132503869, + "mean_time": 0.2995204950876505, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3521.081242682367, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9716875000000001, + "rps": 9.343720787009365, + "p95_time": 2.1931873669447666, + "mean_time": 1.7113331431923997, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3891.617987002189, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9717, + "rps": 25.254277354110894, + "p95_time": 0.05950081414848682, + "mean_time": 0.03888628567091655, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2493.6076757019587, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9717100000000001, + "rps": 39.41277569749775, + "p95_time": 0.11626416260332915, + "mean_time": 0.10027098735932669, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 556.0197624059685, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9717100000000001, + "rps": 49.15292917240855, + "p95_time": 0.06385916290309979, + "mean_time": 0.03978848880052101, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 678.7871524436856, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97173, + "rps": 40.26298951241183, + "p95_time": 0.11078042791050392, + "mean_time": 0.09892177634221153, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1056.8077104109955, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97173, + "rps": 25.860901402177777, + "p95_time": 0.043330936206621117, + "mean_time": 0.038289123014450886, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 675.1101350032262, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97173, + "rps": 40.48228367934277, + "p95_time": 0.0568246680588345, + "mean_time": 0.049021279271977254, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 666.2494911583868, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9717300000000001, + "rps": 41.020669227802635, + "p95_time": 0.2102622605671058, + "mean_time": 0.19440569099760324, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 8829.135788706319, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718, + "rps": 5.527154771186318, + "p95_time": 0.274276466135052, + "mean_time": 0.1803961934169638, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 953.6504854245344, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718000000000001, + "rps": 34.49901248186749, + "p95_time": 0.03855180649406975, + "mean_time": 0.028336362264992202, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8306.904580065186, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718300000000002, + "rps": 11.83112181592301, + "p95_time": 0.09512663985260587, + "mean_time": 0.08371421089309297, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 158.39958119049618, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.971875, + "rps": 289.3505125173269, + "p95_time": 0.01382045709947306, + "mean_time": 0.011824296308749127, + "total_upload": 2752.150063756 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 804.7653342270933, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718825, + "rps": 45.32998434262312, + "p95_time": 0.20828965989858259, + "mean_time": 0.17533579392066348, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 892.4282274830991, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718875, + "rps": 36.865709742045404, + "p95_time": 0.2964292866505275, + "mean_time": 0.21649411754996437, + "total_upload": 4294.389953205 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 107.6620977790396, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9718875, + "rps": 305.58572309748547, + "p95_time": 0.0871364648493909, + "mean_time": 0.05023843910437745, + "total_upload": 39244.325722507 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 805.8127895433836, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9719000000000001, + "rps": 33.916066305533114, + "p95_time": 0.0866161796497181, + "mean_time": 0.05809682213404449, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 332.56257379202583, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9719375, + "rps": 146.73930215165458, + "p95_time": 0.06875966177030932, + "mean_time": 0.05384080062084831, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 3368.2683466969174, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 50 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9719875, + "rps": 9.767630311362598, + "p95_time": 1.1083443369541777, + "mean_time": 0.8183643770812551, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 1825.563635714166, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.972, + "rps": 6.312570964140495, + "p95_time": 0.4620956532500711, + "mean_time": 0.15764354868898225, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1002.3309007666206, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97201, + "rps": 27.266444623324475, + "p95_time": 0.06151175775084994, + "mean_time": 0.0357593351580872, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 366.32903390431466, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9720250000000001, + "rps": 31.458058011885772, + "p95_time": 0.20864042655448425, + "mean_time": 0.1262413397497512, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2436.072203716545, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9721531250000001, + "rps": 40.343631789756095, + "p95_time": 0.4794077686510718, + "mean_time": 0.3952017306415055, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 57731.50399479123, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97218, + "rps": 0.5698794890735632, + "p95_time": 2.2102663296000173, + "mean_time": 1.7542558804570199, + "total_upload": 4294.389953205 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 347.28442591393593, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9721875, + "rps": 33.18317534589322, + "p95_time": 0.6463682197500019, + "mean_time": 0.47555468475575574, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 9589.104086771118, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9722000000000001, + "rps": 5.089109426533729, + "p95_time": 0.2126803611885407, + "mean_time": 0.1958990488612035, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 108.66203098495473, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.972225, + "rps": 302.7736524136505, + "p95_time": 0.0371061133526382, + "mean_time": 0.02471508838468799, + "total_upload": 39244.325722507 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2420.0667058767704, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9722337500000001, + "rps": 40.61045084473982, + "p95_time": 0.2459148270001605, + "mean_time": 0.19582475495063045, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2171.0638007521716, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97225, + "rps": 45.26813075044161, + "p95_time": 0.10001926374789036, + "mean_time": 0.0858464843119982, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 412.15629160756805, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9723, + "rps": 66.30979693019484, + "p95_time": 0.13503057314701433, + "mean_time": 0.05939089049680115, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11186.764290762765, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97230625, + "rps": 3.260996571646959, + "p95_time": 3.4156578508518574, + "mean_time": 2.4522363726948933, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 12040.534068939696, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.972321875, + "rps": 3.029765938215768, + "p95_time": 7.7360853486956325, + "mean_time": 5.278842427748883, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1556.2371291176062, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.972325, + "rps": 63.1523295268795, + "p95_time": 0.081959827549872, + "mean_time": 0.061030413177388255, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 375.368214102177, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9723625, + "rps": 30.700521693248945, + "p95_time": 0.39962635690135356, + "mean_time": 0.25798774906398464, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3341.478905102837, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724, + "rps": 29.412126423995886, + "p95_time": 0.0481696611001098, + "mean_time": 0.033254120434023204, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1103.616175167918, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724, + "rps": 24.764044434054863, + "p95_time": 0.34684061444568215, + "mean_time": 0.32238050930170287, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1093.065808740728, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724, + "rps": 25.003069148677945, + "p95_time": 0.1761217741543078, + "mean_time": 0.1595471294167626, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1100.7139653264342, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724, + "rps": 24.82933882999736, + "p95_time": 0.09187440477835479, + "mean_time": 0.080155771012482, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1527.928050214205, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724, + "rps": 17.886967908055958, + "p95_time": 0.06286546245974023, + "mean_time": 0.05550861898540752, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2052.4951935039758, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724312500000001, + "rps": 47.88318155923108, + "p95_time": 0.37131979314835917, + "mean_time": 0.32839750447735194, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 320.60569792629536, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9724312500000001, + "rps": 102.61826353305622, + "p95_time": 0.23607386850053444, + "mean_time": 0.15485185798162274, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 546.3311004997697, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97245, + "rps": 66.77269510490805, + "p95_time": 0.03370886925404193, + "mean_time": 0.029177633438652265, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10381.053161267535, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9725675000000001, + "rps": 3.514094324852274, + "p95_time": 2.0081669333500027, + "mean_time": 1.137490520496478, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1407.5813859430286, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9725875, + "rps": 69.82189518949623, + "p95_time": 0.264217101403483, + "mean_time": 0.22323618276341586, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 582.2077831623362, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9726500000000001, + "rps": 56.50903500688264, + "p95_time": 0.04442046406911686, + "mean_time": 0.03472899955624598, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 76.75090961803704, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9726637500000002, + "rps": 597.5955233398452, + "p95_time": 0.04457028600031659, + "mean_time": 0.014323734078562609, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1844.629218259695, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9727125000000001, + "rps": 37.405891285348744, + "p95_time": 0.2442044031748082, + "mean_time": 0.21227739173383453, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 6483.910464449576, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9728000000000001, + "rps": 5.074098444200665, + "p95_time": 0.263904466448821, + "mean_time": 0.19665575541401267, + "total_upload": 4294.389953205 + }, + { + "hash_code": 238845836174288334123168323009114435314, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1698393974408, + "cost": 387.3309401827046, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9728125, + "rps": 84.94028384223843, + "p95_time": 0.1536820991066633, + "mean_time": 0.09334688270708648, + "total_upload": 4280.608269575023 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 1406.8730137398331, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97285, + "rps": 69.8570510914459, + "p95_time": 0.15032017080375226, + "mean_time": 0.11017652528418875, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2050.806303921373, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9728875, + "rps": 47.9226145404749, + "p95_time": 0.18765627010325261, + "mean_time": 0.1622925164768485, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 183182506060216857367307579873844542605, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684315062235, + "cost": 1380.1268487480702, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9728900000000001, + "rps": 43.474264741988556, + "p95_time": 0.04626606069650733, + "mean_time": 0.02259755670980376, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 3376.2992851737117, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9729000000000001, + "rps": 3.413204525619264, + "p95_time": 0.7624430583997309, + "mean_time": 0.29213376671822333, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 34290.813228387546, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97291, + "rps": 1.0638417863417757, + "p95_time": 1.059414437241503, + "mean_time": 0.9394953604848997, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 183182506060216857367307579873844542605, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684315062235, + "cost": 719.1956415841123, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9729900000000001, + "rps": 83.4265344932333, + "p95_time": 0.07331044398160884, + "mean_time": 0.047547521053178936, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 183182506060216857367307579873844542605, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684315062235, + "cost": 827.295391686028, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9730200000000001, + "rps": 72.52548557984834, + "p95_time": 0.050897396566870146, + "mean_time": 0.027246164810939808, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 183182506060216857367307579873844542605, + "engine": "pinecone-5-pod", + "version": "2023-4-3", + "remark": "client:54.89.39.161, us-east-1; server:us-east-1;", + "index_type": "p2.x1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684315062235, + "cost": 690.3047550240881, + "monthly_cost": 600, + "index_create_parameter": { + "pod_type": "p2.x1", + "pods": 5 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9730300000000001, + "rps": 86.91813226450441, + "p95_time": 0.12397361340117641, + "mean_time": 0.09144393108195217, + "total_upload": 4381.804938672023 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3483.639609071891, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9730562500000001, + "rps": 28.211873508403382, + "p95_time": 0.5953692052014957, + "mean_time": 0.5566535139063894, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 722.1900770259331, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97309, + "rps": 45.55587378808391, + "p95_time": 0.029134724497635035, + "mean_time": 0.021257282590027897, + "total_upload": 39244.325722507 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1577.9328417937147, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.973125, + "rps": 20.850063531601847, + "p95_time": 0.24389146010034893, + "mean_time": 0.19131173547553318, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3481.312063868743, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9731875, + "rps": 28.23073548045634, + "p95_time": 0.3029905211991718, + "mean_time": 0.27826996629772655, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 251.0797785123737, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97322, + "rps": 182.54357348710684, + "p95_time": 0.010658311150245936, + "mean_time": 0.009592365751003853, + "total_upload": 2752.150063756 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3498.4095384173265, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97325, + "rps": 28.092765847094523, + "p95_time": 0.17404310125129996, + "mean_time": 0.14025973329526822, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 2266.0150932793654, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9732999999999999, + "rps": 14.518879462707941, + "p95_time": 0.1713039825017404, + "mean_time": 0.1373273447935171, + "total_upload": 4294.389953205 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 241.76581977991182, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9733, + "rps": 189.57601219942273, + "p95_time": 0.010210520750069918, + "mean_time": 0.009162109820494606, + "total_upload": 2752.150063756 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 1193.2501663692994, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97335, + "rps": 40.8967049621151, + "p95_time": 0.0536954712937586, + "mean_time": 0.048341832570687984, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1200.1543000865654, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9733999999999999, + "rps": 22.772071889446824, + "p95_time": 0.06265960449854902, + "mean_time": 0.04297595192695008, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5577.453329961129, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9734, + "rps": 17.62094529273003, + "p95_time": 0.08043930555031693, + "mean_time": 0.05593155926684267, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 125.79843081442087, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9734, + "rps": 364.336818061056, + "p95_time": 0.025543167350406293, + "mean_time": 0.01846884927687688, + "total_upload": 2752.150063756 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 428.44899268466327, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9735400000000001, + "rps": 106.97422746360127, + "p95_time": 0.008743962850121533, + "mean_time": 0.008071630150995589, + "total_upload": 2752.150063756 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 11960.296238599127, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9736, + "rps": 2.7507679863164896, + "p95_time": 0.4765184912998847, + "mean_time": 0.36307577773498995, + "total_upload": 4294.389953205 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1923.7426689823042, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9736, + "rps": 35.86758307778363, + "p95_time": 0.061506029777228834, + "mean_time": 0.05454985209193546, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 959.6446788780391, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9736999999999999, + "rps": 50.85215504665136, + "p95_time": 0.04987410855537746, + "mean_time": 0.03867288307682611, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 416.3061897049438, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9738, + "rps": 110.09444762876106, + "p95_time": 0.008372770600544754, + "mean_time": 0.007772289525992165, + "total_upload": 2752.150063756 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 163.7838702519916, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9738125, + "rps": 166.86624853809542, + "p95_time": 0.05683945551136268, + "mean_time": 0.04680590452341676, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 603.4647748088173, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.973825, + "rps": 80.86636045237313, + "p95_time": 0.0557454153400613, + "mean_time": 0.0487900216871858, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 95.20245667200652, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9738500000000001, + "rps": 126.04716747323705, + "p95_time": 0.016754243300965754, + "mean_time": 0.01516908364151459, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 675.3583929287154, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9739000000000001, + "rps": 72.25793076825046, + "p95_time": 0.07277520100760736, + "mean_time": 0.054525155808456474, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 2456.7759126095566, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9739000000000001, + "rps": 19.863431479253332, + "p95_time": 0.055616444672341454, + "mean_time": 0.04952601168473484, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 2897.930092788418, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9739000000000001, + "rps": 23.810098170314212, + "p95_time": 0.04739906893810257, + "mean_time": 0.04103939484374132, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3334.4639797833293, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9739500000000001, + "rps": 29.474002597078933, + "p95_time": 0.08631912364944583, + "mean_time": 0.06682306543546292, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 171.7851472540338, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9739625000000001, + "rps": 266.9963074990058, + "p95_time": 0.05523206779980683, + "mean_time": 0.02858586240575812, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 4846.676030861735, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.974, + "rps": 20.277815016764364, + "p95_time": 0.06715659574911112, + "mean_time": 0.04897614833903208, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 342.2133997984081, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9740850000000001, + "rps": 33.674894106392635, + "p95_time": 0.1030424167478486, + "mean_time": 0.05858069828904627, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2327.1616964231407, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9741000000000001, + "rps": 42.23170231404928, + "p95_time": 0.02814543775457422, + "mean_time": 0.02298484419818851, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 684.0789933863532, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9741000000000001, + "rps": 48.093860969384835, + "p95_time": 0.026311104094202162, + "mean_time": 0.019866418206889648, + "total_upload": 37829.601222026 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 374.36664766684373, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.974105, + "rps": 87.88176031449885, + "p95_time": 0.029615331751847405, + "mean_time": 0.021958400111558148, + "total_upload": 39244.325722507 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 308.7616007422115, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9742000000000001, + "rps": 88.51489283091948, + "p95_time": 0.06690903105045436, + "mean_time": 0.0441541735397077, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 279.3443377008126, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9742250000000001, + "rps": 130.59151404411617, + "p95_time": 0.035420195297774626, + "mean_time": 0.029659511467576522, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6396.291211090366, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9742750000000001, + "rps": 5.143605710596092, + "p95_time": 0.9810668787475151, + "mean_time": 0.7769968852977881, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2407.212613817057, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97435, + "rps": 40.82730351107618, + "p95_time": 0.06822281929271412, + "mean_time": 0.04798356849937409, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 347.023074332744, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97435, + "rps": 94.80637581019684, + "p95_time": 0.027722523585543966, + "mean_time": 0.0207573100659356, + "total_upload": 37829.601222026 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 340.64816911074024, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9743875000000001, + "rps": 80.22940522869911, + "p95_time": 0.11052456225224885, + "mean_time": 0.09863652411398652, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 4704.636174370441, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.974395, + "rps": 10.372746837651107, + "p95_time": 0.21108327210386052, + "mean_time": 0.1922536168830993, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5094.3223788906125, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9744, + "rps": 19.29206530141156, + "p95_time": 0.03749582351010758, + "mean_time": 0.05116672913204821, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 8499.576035746213, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9744, + "rps": 11.562929678688565, + "p95_time": 0.11698464255969154, + "mean_time": 0.08615083243184199, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8085.878064396641, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97445, + "rps": 4.068822178368449, + "p95_time": 0.6155978346507254, + "mean_time": 0.4910041462684694, + "total_upload": 4294.389953205 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 165.80965924030536, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97448, + "rps": 276.4193606693018, + "p95_time": 0.014483403349458968, + "mean_time": 0.012631181368997659, + "total_upload": 2752.150063756 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 670.1566010279669, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9745, + "rps": 49.09300296308955, + "p95_time": 0.026227879347788984, + "mean_time": 0.019663652676041237, + "total_upload": 39244.325722507 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 355.34006931257676, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9745, + "rps": 92.58736303971207, + "p95_time": 0.027730504097416998, + "mean_time": 0.020733243298553135, + "total_upload": 39244.325722507 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 133.77043842916703, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.974605, + "rps": 342.8709701380442, + "p95_time": 0.04998567164993801, + "mean_time": 0.02178678976351125, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 951.4607364386023, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9746100000000001, + "rps": 28.72425414242367, + "p95_time": 0.11753282709723861, + "mean_time": 0.06866189406746707, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3335.0328744722524, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9746750000000001, + "rps": 29.46897487946117, + "p95_time": 0.1713043262465362, + "mean_time": 0.13342848444895208, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 15204.995659527809, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9747, + "rps": 2.163762538096095, + "p95_time": 0.6050362392496935, + "mean_time": 0.46169139241300583, + "total_upload": 4294.389953205 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 4772.9144537142265, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9748000000000001, + "rps": 20.5911924366295, + "p95_time": 0.1171033098573389, + "mean_time": 0.09677636444914242, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 613.0576608649426, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9748187500000002, + "rps": 79.60099533076499, + "p95_time": 0.24532258378167168, + "mean_time": 0.19933061395340337, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3324.684232013944, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97485, + "rps": 29.560702052136364, + "p95_time": 0.5807317087506817, + "mean_time": 0.5309597248080595, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2807.331786916461, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97485, + "rps": 35.008330849254385, + "p95_time": 0.07920634810434421, + "mean_time": 0.056027927891809666, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4143.2238838977755, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9749000000000001, + "rps": 23.72065878022073, + "p95_time": 0.061208490495482694, + "mean_time": 0.041362033602796146, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 173.77293934800036, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9749000000000001, + "rps": 69.05563113004963, + "p95_time": 0.014557820050413284, + "mean_time": 0.013749674423991564, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4078.4669276962054, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9749200000000001, + "rps": 11.965280303882603, + "p95_time": 0.188950003037462, + "mean_time": 0.16622376587503823, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5927.7190397442955, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975, + "rps": 16.579733172414244, + "p95_time": 0.16829561599952286, + "mean_time": 0.11965569175809287, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 982.3935263737511, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975, + "rps": 70.23661918324672, + "p95_time": 0.06365538528189063, + "mean_time": 0.055737723307014674, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 616.0810237113386, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9750125000000001, + "rps": 79.21036052372386, + "p95_time": 0.1299642861384199, + "mean_time": 0.09971665070836025, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4166.652076774277, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9751000000000001, + "rps": 11.712041010580322, + "p95_time": 0.09867530326882841, + "mean_time": 0.08468787817948033, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3487.5544971097515, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9751000000000002, + "rps": 28.18020480581674, + "p95_time": 0.052043918248091355, + "mean_time": 0.034791653987020256, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 3207.3515069257073, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9751000000000002, + "rps": 3.5929956461323194, + "p95_time": 0.6440834305522, + "mean_time": 0.27736758118591387, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1507.715582567715, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9751700000000001, + "rps": 18.12676098595177, + "p95_time": 0.09371233985038996, + "mean_time": 0.05413501330997678, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 241.54295607817997, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9752000000000001, + "rps": 189.88754938129762, + "p95_time": 0.014188387899957888, + "mean_time": 0.009678393682495425, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 595.5243026406544, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9752000000000001, + "rps": 45.89233366096767, + "p95_time": 0.03169432399299694, + "mean_time": 0.020821722096865416, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 122.01030991800508, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9752274999999999, + "rps": 98.35234422455277, + "p95_time": 0.04600435470165394, + "mean_time": 0.04035211284174693, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 62.81176346751808, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97526625, + "rps": 730.2135375281852, + "p95_time": 0.01185704380027345, + "mean_time": 0.005881631416564972, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 226.1818154594245, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9752750000000001, + "rps": 202.78376449864533, + "p95_time": 0.04785098899960757, + "mean_time": 0.0186517134132539, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 131.679452878971, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9752787500000001, + "rps": 348.06493342682666, + "p95_time": 0.028950586249993644, + "mean_time": 0.019967920866484634, + "total_upload": 2752.150063756 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 54.024859215000106, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9753, + "rps": 222.1199679992535, + "p95_time": 0.02011904615001185, + "mean_time": 0.01712729200825652, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3325.1061947061894, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9753000000000001, + "rps": 29.55695073933846, + "p95_time": 0.29669572394814164, + "mean_time": 0.26537607249262235, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4633.290184995765, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9753000000000001, + "rps": 10.532472185323442, + "p95_time": 0.1594176407321356, + "mean_time": 0.0942568581388914, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2522.208045578321, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9753499999999999, + "rps": 38.96585778175377, + "p95_time": 0.12554348439298288, + "mean_time": 0.10028017801702663, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 7042.4340370976, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97535, + "rps": 4.67168024956881, + "p95_time": 4.155317456609191, + "mean_time": 3.42331800885326, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4742.873050144514, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975355, + "rps": 20.721617247799923, + "p95_time": 0.10740540540136863, + "mean_time": 0.09554772582452278, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 192.6627612419834, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975365, + "rps": 62.28499956422853, + "p95_time": 0.03468344940483803, + "mean_time": 0.031810531317514684, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 275.36200729609266, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9754, + "rps": 177.22125313942126, + "p95_time": 0.1299748614343116, + "mean_time": 0.08806800730512987, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 207.52657468850305, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9754, + "rps": 158.5339133042736, + "p95_time": 0.033760984412219835, + "mean_time": 0.02485007162982947, + "total_upload": 33466.765292435 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1783.874106014526, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9754312500000001, + "rps": 18.44300552885098, + "p95_time": 1.148300362096779, + "mean_time": 0.8667760063629439, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8200.431742380353, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97545, + "rps": 4.011983884942388, + "p95_time": 1.2498305229495599, + "mean_time": 0.996278417188757, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6929.75338168901, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9755, + "rps": 14.18232288896346, + "p95_time": 0.0937266274508147, + "mean_time": 0.06973363751683792, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 215.02729459520813, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975525, + "rps": 153.00383173184923, + "p95_time": 0.034373858598701186, + "mean_time": 0.025160246398043457, + "total_upload": 39244.325722507 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 6835.701639718281, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9755250000000001, + "rps": 4.812966061718853, + "p95_time": 2.131530505253976, + "mean_time": 1.6613039600918518, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 279.8727118016925, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97555, + "rps": 97.65153531425754, + "p95_time": 0.022462802545487645, + "mean_time": 0.019629050521441968, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3282.6254965544913, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9755575, + "rps": 14.866149078297676, + "p95_time": 0.30164157978870204, + "mean_time": 0.2684369608045599, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 184.9275920990454, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9755862500000001, + "rps": 147.7875729077915, + "p95_time": 0.07551839274237862, + "mean_time": 0.052640443907423104, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2340.8007814573493, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9756000000000001, + "rps": 41.9856319164471, + "p95_time": 0.10511964979377807, + "mean_time": 0.09299598567916109, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 161.1894408180307, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97561, + "rps": 284.54717484738256, + "p95_time": 0.03606593880035689, + "mean_time": 0.012886483115000602, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 10260.67825240218, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9756500000000001, + "rps": 3.2064157154813433, + "p95_time": 0.7708102163000149, + "mean_time": 0.623208816088536, + "total_upload": 4294.389953205 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 340.1616142903804, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975675, + "rps": 143.46121946123432, + "p95_time": 0.06910671775694936, + "mean_time": 0.05507584968023366, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3230.528637148584, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9756750000000001, + "rps": 10.184091737084579, + "p95_time": 0.4848094172510173, + "mean_time": 0.39217063253009654, + "total_upload": 4294.389953205 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 1705.4182599145936, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9756875, + "rps": 19.2914552243903, + "p95_time": 0.5693214413968235, + "mean_time": 0.4141279935321263, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2156.492960802196, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9757250000000001, + "rps": 45.57399527213885, + "p95_time": 0.3795363438039203, + "mean_time": 0.3400703643741899, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 96.66641374690225, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9757374999999999, + "rps": 377.3802977269241, + "p95_time": 0.06351718384976265, + "mean_time": 0.040001749842990646, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4489.421903890338, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97575, + "rps": 21.89145999284113, + "p95_time": 0.10719019400057732, + "mean_time": 0.09041304626314377, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 73.88342429249951, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975775, + "rps": 162.4180269784574, + "p95_time": 0.16485326459960561, + "mean_time": 0.09595573785506496, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 8543.5434515336, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9758000000000001, + "rps": 11.503423673974334, + "p95_time": 0.2496681384502153, + "mean_time": 0.17350844828155096, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 303.31003597463604, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9758225000000001, + "rps": 37.994126910339624, + "p95_time": 0.17428918455188974, + "mean_time": 0.10434675891185544, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5604.859720933117, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.975825, + "rps": 17.5347831869801, + "p95_time": 0.27595108329660434, + "mean_time": 0.22607702834952761, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 4291.080481167942, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97585, + "rps": 7.667066638434455, + "p95_time": 0.3182976566522484, + "mean_time": 0.2603788965684689, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3912.533966037136, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9758500000000001, + "rps": 25.11927074707143, + "p95_time": 0.09702438204913051, + "mean_time": 0.07868934907370567, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 181.56181839346468, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9758600000000002, + "rps": 252.6191927677397, + "p95_time": 0.008682861700299326, + "mean_time": 0.0070663542609941035, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 379.89264954906463, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9759000000000001, + "rps": 120.73410752864864, + "p95_time": 0.008848725950156221, + "mean_time": 0.007179227226981311, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 4603.163233185426, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9759000000000001, + "rps": 1.6755868973741654, + "p95_time": 1.75725192480495, + "mean_time": 0.5922231298520492, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2157.2072859354453, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9759125000000001, + "rps": 45.558904163158395, + "p95_time": 0.1924626757085207, + "mean_time": 0.1700619612669543, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 55.16150616300092, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9759625, + "rps": 217.54300842584482, + "p95_time": 0.06520505710059296, + "mean_time": 0.03501576887038732, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 150.35705577975023, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97597875, + "rps": 79.8100224679721, + "p95_time": 0.28181456065176463, + "mean_time": 0.1998945911407509, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16767.847647271064, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.976, + "rps": 5.861217376697414, + "p95_time": 0.2459227327526605, + "mean_time": 0.1702352181977476, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5585.733849530857, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9760125000000001, + "rps": 17.594823285082672, + "p95_time": 0.9777937813491008, + "mean_time": 0.8990435471582364, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2526.2294353282186, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9760250000000001, + "rps": 38.903829804845515, + "p95_time": 0.4580137759483477, + "mean_time": 0.4054156301478897, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 521.3017610933907, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.976075, + "rps": 52.426448632510684, + "p95_time": 0.10769373109360457, + "mean_time": 0.07536688715823767, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 133.03001008799401, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97607875, + "rps": 90.20521002789131, + "p95_time": 0.10177696694954647, + "mean_time": 0.08820596184818078, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 144.08329179068562, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9761875, + "rps": 253.18688618660696, + "p95_time": 0.035271257412387055, + "mean_time": 0.030396882868368266, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 279.23092236967267, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9762112500000001, + "rps": 41.27050078194213, + "p95_time": 0.5295243040956847, + "mean_time": 0.38125484599481163, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2522.428499681999, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9762375, + "rps": 38.962452260744, + "p95_time": 0.2477956201051711, + "mean_time": 0.20079171266961565, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3346.480778240998, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97625625, + "rps": 14.582483281332523, + "p95_time": 0.6122587213205406, + "mean_time": 0.5478340303984333, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3476.7923323869168, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97629875, + "rps": 14.035926030272108, + "p95_time": 1.4404975223049405, + "mean_time": 1.1370345571178677, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 29693.434731434594, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9763, + "rps": 1.1079890318370886, + "p95_time": 1.180514980051521, + "mean_time": 0.9020520641479898, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8966.660524837822, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97633125, + "rps": 3.6691474946404377, + "p95_time": 5.236993294595595, + "mean_time": 4.35852295759505, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1028.100898681878, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97635, + "rps": 26.58299397952052, + "p95_time": 0.06454674475098728, + "mean_time": 0.03658914442321111, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5589.635464216448, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9764125, + "rps": 17.582541943775368, + "p95_time": 0.5020692004472949, + "mean_time": 0.4502269676527285, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 302.43761462146324, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9764650000000001, + "rps": 38.10372600122396, + "p95_time": 0.31649777630482273, + "mean_time": 0.20736902919836483, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 8738.190236911732, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9764875000000001, + "rps": 3.7650816825919304, + "p95_time": 2.6851053832979233, + "mean_time": 2.123806386166368, + "total_upload": 4294.389953205 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 192.6247892050619, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9765, + "rps": 238.11057854642266, + "p95_time": 0.053581040799735996, + "mean_time": 0.03232951348037545, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4217.36791660901, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97651, + "rps": 11.571198189234062, + "p95_time": 0.42525957060570363, + "mean_time": 0.3447168088351609, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 742.8602242312045, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9765250000000001, + "rps": 65.69203520151284, + "p95_time": 0.08029539135168302, + "mean_time": 0.06008039271335292, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 663.0638408592475, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.976535, + "rps": 41.21775056317918, + "p95_time": 0.08988033335626823, + "mean_time": 0.047617854464020636, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 7080.062098554925, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9765499999999999, + "rps": 13.88123418014362, + "p95_time": 0.18622474025250993, + "mean_time": 0.14314741131737538, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 226.89092391138217, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9765874999999999, + "rps": 145.00359658656907, + "p95_time": 0.03645628960111935, + "mean_time": 0.026665398939254372, + "total_upload": 39244.325722507 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 394.37158809634445, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9766175, + "rps": 69.30012410864475, + "p95_time": 0.09103845979843753, + "mean_time": 0.0566978896736855, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 501.4685458134772, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9766375, + "rps": 137.59586832723255, + "p95_time": 0.0670716266846284, + "mean_time": 0.0566639834811067, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8489.350844793067, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9767, + "rps": 11.57685691130081, + "p95_time": 0.09731974240021372, + "mean_time": 0.08552887066996481, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 9681.779721667035, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9767100000000001, + "rps": 5.040395609372269, + "p95_time": 0.21447277872066478, + "mean_time": 0.1978655814481608, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4134.08985991087, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9767250000000001, + "rps": 23.77306815534941, + "p95_time": 0.19569804765269508, + "mean_time": 0.16606497792654773, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 359.12555265198574, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9767600000000001, + "rps": 127.71577979149512, + "p95_time": 0.00805559909999829, + "mean_time": 0.006613605725980051, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4391.7418436833605, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9768000000000001, + "rps": 22.378364552860972, + "p95_time": 0.10655924585298635, + "mean_time": 0.08843333382000855, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 14019.561564552214, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9768000000000001, + "rps": 7.010204958798158, + "p95_time": 0.44494792759505786, + "mean_time": 0.28484405324410184, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 57394.1681115264, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9768000000000001, + "rps": 0.573228972254983, + "p95_time": 2.2014105603986533, + "mean_time": 1.7440100567189838, + "total_upload": 4294.389953205 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 3000.0228647483045, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9769, + "rps": 16.266542689865204, + "p95_time": 0.1263911763962823, + "mean_time": 0.06076368272968102, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3295.7366227857246, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9769275000000001, + "rps": 29.820344053138786, + "p95_time": 0.15993806929982382, + "mean_time": 0.1327575460377193, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 351.2213405400398, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9769500000000001, + "rps": 34.166488806029655, + "p95_time": 0.03043722404654545, + "mean_time": 0.028869697583155357, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 4763.020370635801, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97695625, + "rps": 20.633965919167572, + "p95_time": 0.8547195661536534, + "mean_time": 0.772511775439596, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 482.1957779930404, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9769750000000001, + "rps": 56.678223342707206, + "p95_time": 0.19641576485300902, + "mean_time": 0.14001670454702253, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4209.816760290062, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.976986875, + "rps": 11.591953469404121, + "p95_time": 1.4798645897069946, + "mean_time": 1.378658116307146, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 4775.556129991962, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770250000000001, + "rps": 20.579802084781573, + "p95_time": 0.2481841671971777, + "mean_time": 0.19388487058943793, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 290.3452807191593, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770700000000001, + "rps": 94.12930677676604, + "p95_time": 0.09462325525091728, + "mean_time": 0.08434677590396895, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 635.0132320720496, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770700000000001, + "rps": 43.03847324696235, + "p95_time": 0.025854856242949607, + "mean_time": 0.022875888255727478, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 305.90835632775156, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770700000000001, + "rps": 89.34048199297479, + "p95_time": 0.02614276116073596, + "mean_time": 0.022041164897420095, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 278.8274209664988, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770700000000001, + "rps": 98.01761930467991, + "p95_time": 0.045924512062629215, + "mean_time": 0.04041480203845422, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3495.3725801276946, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9770812500000001, + "rps": 28.11717427742984, + "p95_time": 0.6038847197014547, + "mean_time": 0.5584293411749449, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3219.9574672628974, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.977095, + "rps": 30.52214229510995, + "p95_time": 0.6129047594502481, + "mean_time": 0.5227351377283217, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 14246.882071334043, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9771, + "rps": 6.898351478443683, + "p95_time": 0.1927109487456619, + "mean_time": 0.1446126535766525, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1021.150030742539, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9771, + "rps": 47.78925577127448, + "p95_time": 0.05260924265894573, + "mean_time": 0.04117374742787797, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3210.646956253957, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9772112500000001, + "rps": 30.610653036317895, + "p95_time": 0.32027117794968935, + "mean_time": 0.2599593447538664, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3501.131994245565, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97725, + "rps": 28.07092110823936, + "p95_time": 0.1768903109594248, + "mean_time": 0.14029307306269767, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 4766.382343993706, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9772750000000001, + "rps": 20.619411727186815, + "p95_time": 0.5974877146909418, + "mean_time": 0.3869717156529514, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 16521.324296739505, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9772750000000001, + "rps": 1.9913657893933379, + "p95_time": 2.458950015051414, + "mean_time": 2.0077196654774863, + "total_upload": 4294.389953205 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 193.23584085590718, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9772812500000001, + "rps": 170.25827017531904, + "p95_time": 0.15131578145665117, + "mean_time": 0.09344232954749714, + "total_upload": 33466.765292435 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 342.72014875198744, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97729875, + "rps": 79.74436314737248, + "p95_time": 0.13783360404813716, + "mean_time": 0.09911664541824666, + "total_upload": 9717.524868532004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 618.5912735309502, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9773000000000001, + "rps": 44.18103062463035, + "p95_time": 0.024362250148260496, + "mean_time": 0.02163134844286833, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3486.4549030992157, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9773000000000002, + "rps": 28.18909256868228, + "p95_time": 0.30819620914189727, + "mean_time": 0.2784832524052599, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 185.14478542505748, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97735, + "rps": 177.69876653273172, + "p95_time": 0.06970377004836335, + "mean_time": 0.04458937410960607, + "total_upload": 33466.765292435 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4239.191137052985, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 100 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9773587499999999, + "rps": 11.511630030894278, + "p95_time": 0.7878655625332612, + "mean_time": 0.6938241383722925, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4124.817311781755, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9773625, + "rps": 23.826509775180078, + "p95_time": 0.7117021270583791, + "mean_time": 0.6613002257950893, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 106.22572133944533, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9774, + "rps": 107.85523369984041, + "p95_time": 0.018997825426049497, + "mean_time": 0.0072665805760771035, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16431.846881306086, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97745, + "rps": 5.981068391758784, + "p95_time": 0.41963472894203735, + "mean_time": 0.33402572172682266, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 20150.968241640156, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9775, + "rps": 4.877184997836146, + "p95_time": 0.24858588526840322, + "mean_time": 0.20469171855883905, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1193.3172361103295, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97755, + "rps": 6.463495009207163, + "p95_time": 0.37419748314932805, + "mean_time": 0.30903646594151357, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 689.094466517726, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9775625, + "rps": 70.81757635728263, + "p95_time": 0.2706494792335434, + "mean_time": 0.2242371231486759, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4124.87036232467, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9776125, + "rps": 23.82620333905765, + "p95_time": 0.3816003937063215, + "mean_time": 0.3306849874402051, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 242.68744380588157, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.977625, + "rps": 188.99206024307892, + "p95_time": 0.04585073244988962, + "mean_time": 0.02016058072826422, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6952.316957037404, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.977625, + "rps": 14.136294505462265, + "p95_time": 0.3243222176941344, + "mean_time": 0.28116537424450505, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 209.93535328812504, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.977625, + "rps": 156.71491001730666, + "p95_time": 0.0343020407424774, + "mean_time": 0.025149312767556695, + "total_upload": 37829.601222026 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4063.3025923883074, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9777, + "rps": 12.009934995098797, + "p95_time": 0.09381363152351696, + "mean_time": 0.08254018923651893, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3634.0190871123627, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9777250000000001, + "rps": 9.053337148579137, + "p95_time": 2.2146998319469273, + "mean_time": 1.7662624400797495, + "total_upload": 4294.389953205 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 18344.399651305488, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97775, + "rps": 5.357493396792947, + "p95_time": 0.5584550821600714, + "mean_time": 0.3729491068287898, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 19954.484347071375, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97775, + "rps": 1.648752201648778, + "p95_time": 1.467532052946808, + "mean_time": 1.212407119796577, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 312.2800816068009, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97775, + "rps": 87.51758952853048, + "p95_time": 0.025674548544338906, + "mean_time": 0.021992770079363254, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 8528.593517608027, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9777625000000001, + "rps": 11.523588244309257, + "p95_time": 2.476102511893987, + "mean_time": 1.3849690854241572, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 691.2049382315251, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9777625000000001, + "rps": 70.60134744531298, + "p95_time": 0.14972483119927335, + "mean_time": 0.1121450488865521, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 273.60906275346963, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.977775, + "rps": 99.88704220892417, + "p95_time": 0.044871422660799, + "mean_time": 0.03915577053889501, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 282.0859509835085, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9778, + "rps": 162.59583236983485, + "p95_time": 0.017276570350577454, + "mean_time": 0.011470010270006242, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 207.21164259893084, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9779156250000001, + "rps": 158.7748622005748, + "p95_time": 0.15833127990299542, + "mean_time": 0.09921017720562486, + "total_upload": 39244.325722507 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 102.9176219925445, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.978, + "rps": 111.32204357413117, + "p95_time": 0.06604126641759649, + "mean_time": 0.017129152911133132, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 7892.584712715187, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9780100000000002, + "rps": 12.452194506277268, + "p95_time": 0.08433402570954059, + "mean_time": 0.07951331993711938, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 166784500821453953308212910131125342838, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1698393973407, + "cost": 3509.8637929904608, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9780249999999999, + "rps": 9.373583119010059, + "p95_time": 1.0802885442946715, + "mean_time": 0.8527873021005716, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 17655.89828106617, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97803125, + "rps": 1.863399951464452, + "p95_time": 9.934562578103213, + "mean_time": 8.583021897120112, + "total_upload": 4294.389953205 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 537.2204449159763, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9780325000000001, + "rps": 50.872970786274784, + "p95_time": 0.12995781029167117, + "mean_time": 0.0776101373278434, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6929.21378403477, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97805625, + "rps": 14.183427306925019, + "p95_time": 1.2055864182395453, + "mean_time": 1.1181001248746425, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 8565.316402488192, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.978075, + "rps": 11.474182082923408, + "p95_time": 0.5852253959514201, + "mean_time": 0.3481811657018989, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 566.4241223589843, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9780900000000001, + "rps": 20.345178718741785, + "p95_time": 0.05507872630441851, + "mean_time": 0.04839999562007142, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21697.786996833765, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9781000000000002, + "rps": 4.529494183639163, + "p95_time": 0.26318767084012507, + "mean_time": 0.22042782635556069, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2435.9924393125334, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.978125, + "rps": 40.34495280606692, + "p95_time": 0.11342383685114328, + "mean_time": 0.09791879247641919, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 8527.884980435707, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.978125, + "rps": 11.524545678731547, + "p95_time": 1.2106692476932948, + "mean_time": 0.6928887111665717, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 32280.14087933584, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9781749999999999, + "rps": 1.0192024911843234, + "p95_time": 4.678367084304409, + "mean_time": 3.923760447082738, + "total_upload": 4294.389953205 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 17338.29815567534, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9782000000000001, + "rps": 1.8975334086771865, + "p95_time": 5.162049429801115, + "mean_time": 4.214654294694118, + "total_upload": 4294.389953205 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5532.780608688062, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.978205, + "rps": 17.76322015112474, + "p95_time": 0.12592002665478502, + "mean_time": 0.11161874774535317, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 199.14752666071328, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9782150000000001, + "rps": 165.20416071273422, + "p95_time": 0.07430423859877919, + "mean_time": 0.04710504211423176, + "total_upload": 39244.325722507 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 410.42932815465457, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9783100000000001, + "rps": 28.07791551303961, + "p95_time": 0.12932812405560978, + "mean_time": 0.07037753883743061, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6927.145297466973, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9783125, + "rps": 14.187662562230033, + "p95_time": 0.6193125619960481, + "mean_time": 0.5592004388987043, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 192.6771927426951, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97834375, + "rps": 170.75191688066218, + "p95_time": 0.14950601709897451, + "mean_time": 0.09219947862647222, + "total_upload": 39244.325722507 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 446.75729947941255, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9783999999999999, + "rps": 102.66424309898399, + "p95_time": 0.010008997000431917, + "mean_time": 0.00815821055498509, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 4659.633813388659, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9784, + "rps": 7.828941384874701, + "p95_time": 0.3128715238082804, + "mean_time": 0.25494529432453417, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2413.168914107597, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9784043750000001, + "rps": 40.726531584857774, + "p95_time": 0.4760153379022085, + "mean_time": 0.3914506420714533, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 2408.930191497277, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9785400000000001, + "rps": 40.7981934665005, + "p95_time": 0.24378418830092413, + "mean_time": 0.1948770369623053, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4090.1752582784975, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9785400000000001, + "rps": 11.93102909251358, + "p95_time": 0.18991055543010588, + "mean_time": 0.16675795940789975, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 38763.25912080824, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9785499999999999, + "rps": 0.8487418433384303, + "p95_time": 2.8012421269508194, + "mean_time": 2.3555596118194715, + "total_upload": 4294.389953205 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1143.0927294727794, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9785750000000001, + "rps": 6.747484085177772, + "p95_time": 0.6718008418509271, + "mean_time": 0.5920858531005615, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 3185.655370151159, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9785999999999999, + "rps": 21.6595933905826, + "p95_time": 0.05769776547676882, + "mean_time": 0.04523963474482298, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21376.26344204437, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9786000000000001, + "rps": 4.597622978705242, + "p95_time": 0.6263364854923565, + "mean_time": 0.4346429623680742, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4140.461792654537, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9786650000000001, + "rps": 23.736482769713138, + "p95_time": 0.10242837769692414, + "mean_time": 0.08319615166506264, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 269080721119445704836923557024261042919, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695190722638, + "cost": 186.61563971670483, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9787125000000001, + "rps": 176.29819263778975, + "p95_time": 0.06875489270023535, + "mean_time": 0.044033154521200234, + "total_upload": 39244.325722507 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 496.3245957065787, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97879125, + "rps": 55.06477058847428, + "p95_time": 0.2114658393897116, + "mean_time": 0.14405573372864638, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 2055.8806123874388, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9788, + "rps": 33.56226017418014, + "p95_time": 0.06616961040417664, + "mean_time": 0.0585392856975086, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 34330.81320867752, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97901875, + "rps": 0.9583227696943728, + "p95_time": 18.88830908865275, + "mean_time": 16.689752210844514, + "total_upload": 4294.389953205 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 99.53073065617494, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9790500000000001, + "rps": 115.11017677121012, + "p95_time": 0.08412181860767305, + "mean_time": 0.03371864876849577, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 289428609464126736155757477853608022244, + "engine": "pgvecto.rs-1*r6a.xlarge", + "version": "v0.1.3", + "remark": "Client resource: 4c 8g, us-east-2:3.145.5.237, Server resource: 4c 32g us-east-2:3.147.74.86", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1698393973407, + "cost": 34319.58771729616, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9791875, + "rps": 0.9586362246251365, + "p95_time": 9.991449697395, + "mean_time": 8.342826657782657, + "total_upload": 4294.389953205 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 595.2159743296635, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9792000000000001, + "rps": 61.28867767886109, + "p95_time": 0.03701972174749244, + "mean_time": 0.03191411513205094, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 708.9107628023365, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9792000000000001, + "rps": 38.552101948578176, + "p95_time": 0.02946594509485294, + "mean_time": 0.02503480398035026, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 417.5982228119974, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9793, + "rps": 28.73575447518702, + "p95_time": 0.036078228547557954, + "mean_time": 0.034515146332021684, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 6712.427483405569, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979365, + "rps": 10.279440659967124, + "p95_time": 0.21214656035299412, + "mean_time": 0.1934797446365119, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 9993.833376771145, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9794200000000001, + "rps": 9.834064296932752, + "p95_time": 0.11107493405033893, + "mean_time": 0.10087892889780778, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 194.87386114762884, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9794250000000001, + "rps": 168.82715725058807, + "p95_time": 0.15149227727524703, + "mean_time": 0.09425369301740284, + "total_upload": 37829.601222026 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 265.51050156933394, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9794375, + "rps": 102.93378167139352, + "p95_time": 0.08564922389341519, + "mean_time": 0.07664910197787321, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16451.0284311357, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9794437500000002, + "rps": 5.974094593015983, + "p95_time": 4.808482223948522, + "mean_time": 2.6743493939603677, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 13477.019452292472, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97946, + "rps": 5.119826401101093, + "p95_time": 0.213158795889467, + "mean_time": 0.19427375725284218, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 175450360001410000298822909285351089267, + "engine": "pgvector-1*r6a.xlarge", + "version": "v0.5.0", + "remark": "Client resource: 4c 8g, us-east-2:18.188.133.198, Server resource: 4c 32g us-east-2:3.144.154.36", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1695261104789, + "cost": 186.89999690062504, + "monthly_cost": 329, + "index_create_parameter": { + "m": 12, + "ef_construction": 128 + }, + "index_search_params": { + "hnsw.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9795, + "rps": 176.02996546593295, + "p95_time": 0.06976649753196394, + "mean_time": 0.04500368022269322, + "total_upload": 37829.601222026 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 1145.8418716319932, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9795, + "rps": 31.836853673397776, + "p95_time": 0.03706090186024084, + "mean_time": 0.030803880808001848, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2360.6045692910766, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979565, + "rps": 15.453668299454096, + "p95_time": 0.33229998160386454, + "mean_time": 0.25825095214415705, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 682.9141553694798, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9795700000000002, + "rps": 16.874741736412133, + "p95_time": 0.10715336725079395, + "mean_time": 0.05848961775189673, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4527.847750519941, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979595, + "rps": 21.70567682818273, + "p95_time": 0.8370341131001622, + "mean_time": 0.7353513540632953, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 671.8839095289912, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9796050000000001, + "rps": 54.29509396284466, + "p95_time": 0.041974074958852726, + "mean_time": 0.03598939152964158, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1101.8946530537373, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9796400000000001, + "rps": 24.802734022040095, + "p95_time": 0.06733269090254908, + "mean_time": 0.03937956715184555, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 1335.6953339769411, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9796500000000001, + "rps": 27.311617456492346, + "p95_time": 0.04244513589510461, + "mean_time": 0.03590727092584711, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8277.811648372124, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9796600000000001, + "rps": 11.872703097723573, + "p95_time": 0.09024863134691258, + "mean_time": 0.08341308637588372, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4658.902685097542, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979665, + "rps": 21.0950961294746, + "p95_time": 0.21060451650300818, + "mean_time": 0.1881201457282077, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16486.482737677674, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9797, + "rps": 5.961247257148067, + "p95_time": 1.0967229555055382, + "mean_time": 0.6704859566660707, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4519.170628920659, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9797250000000001, + "rps": 21.747353235802212, + "p95_time": 0.41089739795061175, + "mean_time": 0.36583236984320955, + "total_upload": 6160.992648056999 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1118.4933763926806, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9797625000000001, + "rps": 6.89588348290059, + "p95_time": 1.281768382502196, + "mean_time": 1.1580459541152595, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 410.92285306566833, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9797850000000001, + "rps": 28.044193487964474, + "p95_time": 0.07873482890026935, + "mean_time": 0.07058242588241047, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16445.90894563476, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9797875, + "rps": 5.975954282909153, + "p95_time": 2.373670300747471, + "mean_time": 1.3374608124804053, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2277.6989793074786, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9798025000000001, + "rps": 16.01616382648226, + "p95_time": 1.2124157455444218, + "mean_time": 0.9980936750884739, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3062.3787997925674, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9798381250000001, + "rps": 32.09269865852554, + "p95_time": 0.5934868199441553, + "mean_time": 0.49705111633412025, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 596.5193297412874, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979885, + "rps": 45.81578272049143, + "p95_time": 0.07003398159649805, + "mean_time": 0.042760355123115004, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 357.61288343015593, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9798875000000001, + "rps": 32.224789804729475, + "p95_time": 0.17206806369686065, + "mean_time": 0.12319773833621547, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3065.2005548701395, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9798975000000001, + "rps": 32.06315483789404, + "p95_time": 0.14909553774887171, + "mean_time": 0.12331154909288489, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2061.5044298333, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.97989875, + "rps": 17.695814509091253, + "p95_time": 0.6747032033483265, + "mean_time": 0.451388751595774, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 840.6065913622331, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9799, + "rps": 32.5122361409405, + "p95_time": 0.035013754345709455, + "mean_time": 0.029872924410927225, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 12791.174791097417, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9799375, + "rps": 7.6834224850404125, + "p95_time": 2.9149497190635847, + "mean_time": 2.0798235311412174, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 12832.780611260529, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.979975, + "rps": 7.6585116645539095, + "p95_time": 0.8741633094963618, + "mean_time": 0.5218610729100109, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4205.541706649878, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9800774999999999, + "rps": 11.603737022233442, + "p95_time": 0.4244539220031583, + "mean_time": 0.343728849955427, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3041.168352636969, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9800987500000001, + "rps": 32.31652726978509, + "p95_time": 0.3073055175966146, + "mean_time": 0.24597483948527316, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 200.89073180649973, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.980125, + "rps": 228.14890257927314, + "p95_time": 0.01781907460049297, + "mean_time": 0.015153624216762864, + "total_upload": 2752.150063756 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 342.9844604338805, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.980133125, + "rps": 33.59918984499171, + "p95_time": 0.6424866902001668, + "mean_time": 0.4704388456076031, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1052.4940770124085, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98015, + "rps": 65.55856370789488, + "p95_time": 0.07219412542181086, + "mean_time": 0.05982310466183117, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 299.21524882368743, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9801500000000001, + "rps": 121.91892005308806, + "p95_time": 0.0376207428460475, + "mean_time": 0.03186932054426143, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2158.423126630912, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9802000000000001, + "rps": 3.573442067422267, + "p95_time": 0.35127857019942876, + "mean_time": 0.279501148411895, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 387.254299220359, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98025, + "rps": 70.57378073018742, + "p95_time": 0.03295380039926385, + "mean_time": 0.02747606845196424, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 373.8787651847313, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9803475, + "rps": 30.822825667315065, + "p95_time": 0.39090121455265014, + "mean_time": 0.2568986992831833, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 12811.528066358658, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.980425, + "rps": 7.671216071256168, + "p95_time": 1.8164323475808486, + "mean_time": 1.0417377713291425, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 485.9386691974691, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98045, + "rps": 56.24166532195447, + "p95_time": 0.04188362080094521, + "mean_time": 0.03464202793622826, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 4801.054481418978, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9805600000000001, + "rps": 10.164433706983656, + "p95_time": 0.23457401159830624, + "mean_time": 0.19648503646381868, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4768.961381156255, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98058, + "rps": 20.60826082348597, + "p95_time": 0.10920667285317905, + "mean_time": 0.09606369346240536, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4221.094079334592, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9805918750000001, + "rps": 11.56098373616273, + "p95_time": 1.483595826011151, + "mean_time": 1.3822202699114094, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 18388.446767302627, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9807125000000001, + "rps": 5.344660223002432, + "p95_time": 5.297446661282445, + "mean_time": 2.9894182333020507, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 18349.898667503247, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9807250000000001, + "rps": 5.355887886947787, + "p95_time": 1.1743183649188722, + "mean_time": 0.7464068937217889, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 814.1491993719952, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9807250000000001, + "rps": 33.56878569810222, + "p95_time": 0.16722684955748263, + "mean_time": 0.11820387422163912, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 211.95098489399246, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98075, + "rps": 56.61686359231506, + "p95_time": 0.03819792529793631, + "mean_time": 0.03504725035495721, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 463.80973215699873, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9808000000000001, + "rps": 58.925024865042815, + "p95_time": 0.07797830694544246, + "mean_time": 0.06695845645267036, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 5659.803313753689, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98084, + "rps": 17.364561019492182, + "p95_time": 0.15399988479039164, + "mean_time": 0.11476340853582952, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4208.053605740122, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9809612500000001, + "rps": 11.596810443059208, + "p95_time": 0.7874645979842171, + "mean_time": 0.6886832780690311, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 283.69292019917924, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981, + "rps": 161.55849066596693, + "p95_time": 0.012360572149236759, + "mean_time": 0.01090365703449288, + "total_upload": 2752.150063756 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 1558.609258108714, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98105, + "rps": 31.309964153052764, + "p95_time": 0.07229219393921085, + "mean_time": 0.06333421789153362, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5432.472263099758, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9810800000000002, + "rps": 18.091210638583476, + "p95_time": 0.12964984150057718, + "mean_time": 0.10946479064455707, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 169.39552978800202, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9810999999999999, + "rps": 70.8401220210354, + "p95_time": 0.03024990120175062, + "mean_time": 0.02789037621296302, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 8927.383132125333, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98118, + "rps": 5.466327509165862, + "p95_time": 0.21577796589626813, + "mean_time": 0.18270397355101886, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 9664.918771829107, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98119, + "rps": 10.168735228945986, + "p95_time": 0.1130571389061515, + "mean_time": 0.09799938623839989, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 9687.309521094028, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98119, + "rps": 3.765751462835489, + "p95_time": 0.3315225037571508, + "mean_time": 0.265076646599191, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 18336.982651414113, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98125, + "rps": 5.359660412419098, + "p95_time": 2.6231109059852313, + "mean_time": 1.491180256339423, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 420.4333287429799, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981265, + "rps": 27.409815569223994, + "p95_time": 0.16467145174865427, + "mean_time": 0.14493484415816602, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3348.3126672578974, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9813, + "rps": 14.574505086457409, + "p95_time": 0.09057048267131902, + "mean_time": 0.06793736794168945, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 162.99983869581857, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981325, + "rps": 281.18432733869787, + "p95_time": 0.03305877284979033, + "mean_time": 0.024945325203129413, + "total_upload": 2752.150063756 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2276.6735227626546, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9813975, + "rps": 21.434781716432976, + "p95_time": 0.22225314919705852, + "mean_time": 0.18627715052084023, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 783.5560780025612, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981425, + "rps": 62.280162671191086, + "p95_time": 0.07281479715020396, + "mean_time": 0.06357301999449555, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21388.723693730393, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9814250000000001, + "rps": 4.594944579550041, + "p95_time": 6.299541646789294, + "mean_time": 3.477302585862477, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21410.902843547432, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98145, + "rps": 4.590184763255721, + "p95_time": 1.365072662352759, + "mean_time": 0.8709006465496714, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 251.99175703800574, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9814900000000001, + "rps": 47.62060529698257, + "p95_time": 0.044736541303791455, + "mean_time": 0.0416605610440638, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 997.35807430592, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9815, + "rps": 27.402395091672023, + "p95_time": 0.04395005800470243, + "mean_time": 0.03564778819930507, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 135.1019488934339, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9815, + "rps": 84.80262567520091, + "p95_time": 0.03995884618489071, + "mean_time": 0.010350345389684662, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 398.21081513240955, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9815112500000002, + "rps": 28.93944504286791, + "p95_time": 0.7342495658427651, + "mean_time": 0.546986699069238, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 125.01601669559196, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98153125, + "rps": 291.8026102913442, + "p95_time": 0.08877245484036392, + "mean_time": 0.052623655474587396, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8569.959589048318, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98155, + "rps": 11.467965394561896, + "p95_time": 0.0946087706463004, + "mean_time": 0.08629499044790281, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 95.22586993550168, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9815875, + "rps": 120.31394418092528, + "p95_time": 0.09840554165421053, + "mean_time": 0.06425296042565605, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 450.9723272190524, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9816, + "rps": 101.63151314102112, + "p95_time": 0.009491280999964146, + "mean_time": 0.008659966786984115, + "total_upload": 2752.150063756 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2223.999055180589, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981635, + "rps": 21.94245536495403, + "p95_time": 1.0213176254954304, + "mean_time": 0.7283757443241738, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 806.8736375636248, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9816625, + "rps": 33.87147469896726, + "p95_time": 0.2863440949025971, + "mean_time": 0.23501786759591778, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 3970.468972862372, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9817, + "rps": 12.290739540729701, + "p95_time": 0.12734525047126222, + "mean_time": 0.08071848853421397, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 288738377656940062726449744507821403561, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712630646583, + "cost": 436.54834833706525, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9817175000000001, + "rps": 26.397992442070024, + "p95_time": 0.4850616990002887, + "mean_time": 0.30040279847270174, + "total_upload": 4683.909638985999 + }, + { + "hash_code": 130587840284706111114999197079146604954, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705052828808, + "cost": 2131.146279561131, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9817225, + "rps": 22.898475092028608, + "p95_time": 0.4700047453967272, + "mean_time": 0.3489774088433332, + "total_upload": 3830.6138227610063 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8742.630597999872, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98179, + "rps": 11.241467759427508, + "p95_time": 0.09574469674880674, + "mean_time": 0.08818473035885836, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 531.3441002889305, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9818250000000001, + "rps": 129.8593509601023, + "p95_time": 0.07338521977653727, + "mean_time": 0.06020024141947215, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3274.477971464948, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9818925000000002, + "rps": 30.013944468843416, + "p95_time": 0.15815152704017235, + "mean_time": 0.13187419086128285, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 318.28209284393233, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9819, + "rps": 37.70240384175219, + "p95_time": 0.027416242798790336, + "mean_time": 0.026284745653989375, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21393.150940943167, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9819125000000001, + "rps": 4.593993669810806, + "p95_time": 3.0675434773031154, + "mean_time": 1.7400719204587731, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 165.63577155895757, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9819249999999999, + "rps": 46.566028143592035, + "p95_time": 0.12700992450008924, + "mean_time": 0.08434523842673343, + "total_upload": 4820.190272667 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 160.2919770679821, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981925, + "rps": 227.5846905583323, + "p95_time": 0.040407698495982906, + "mean_time": 0.0339725209242788, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 3439.0777147776103, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9819300000000001, + "rps": 20.063518688021833, + "p95_time": 0.21929769091075285, + "mean_time": 0.1981406909908983, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1182.4544896501066, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98197, + "rps": 23.112940277377668, + "p95_time": 0.07154157779659727, + "mean_time": 0.0423169051528821, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3204.4411379205826, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.981986875, + "rps": 30.669934559564286, + "p95_time": 0.6127139837532013, + "mean_time": 0.5202278351330278, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 169.9257614405194, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9819975000000002, + "rps": 269.9178724354569, + "p95_time": 0.05208266329968864, + "mean_time": 0.028353154310123727, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 91.96055696400435, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982, + "rps": 130.49072772250713, + "p95_time": 0.038893584547258796, + "mean_time": 0.03031696895620189, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 935.3036362042114, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982025, + "rps": 39.003376644667576, + "p95_time": 0.11712091769295511, + "mean_time": 0.10165839964572661, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 354.6612401509009, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9820399999999999, + "rps": 77.05944971142509, + "p95_time": 0.07928241659974447, + "mean_time": 0.05087815330380181, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 9406.822433610221, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982075, + "rps": 10.44773627796452, + "p95_time": 0.24632793339769704, + "mean_time": 0.19104939790050413, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3195.507770287501, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9821087500000001, + "rps": 30.75567548726621, + "p95_time": 0.3199126058505497, + "mean_time": 0.2587018991622517, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1055.9451725147433, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982125, + "rps": 46.21452066851383, + "p95_time": 0.11492047347128387, + "mean_time": 0.08566816877781822, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 498.2885716025844, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9821799999999999, + "rps": 91.9808372337197, + "p95_time": 0.01024157795022802, + "mean_time": 0.009562925359001382, + "total_upload": 2752.150063756 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5656.031539441926, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98218, + "rps": 17.37614072952945, + "p95_time": 0.13601429403715884, + "mean_time": 0.11411301824317342, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 5651.754648006228, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98219375, + "rps": 17.389289896841202, + "p95_time": 1.0739006470466848, + "mean_time": 0.919327706643664, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 629.83867957734, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9822000000000001, + "rps": 43.39206353337983, + "p95_time": 0.05597005434465245, + "mean_time": 0.04523019316857244, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4356.640885977611, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98224, + "rps": 22.55866447848074, + "p95_time": 0.8093337429017993, + "mean_time": 0.707436958916629, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 5653.429394476429, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9822637500000001, + "rps": 17.384138571894525, + "p95_time": 0.5445360994024666, + "mean_time": 0.4596605202339706, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 945.2564643707424, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982265, + "rps": 28.91278825391963, + "p95_time": 0.12375131590451927, + "mean_time": 0.06826671408332186, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4748.435048120754, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9822900000000001, + "rps": 20.69734533673266, + "p95_time": 0.10989489894491271, + "mean_time": 0.09561465911692357, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 146.40191329500522, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9822975000000002, + "rps": 81.96614190293785, + "p95_time": 0.06167308960175433, + "mean_time": 0.048444279739036575, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8064.545007436941, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982325, + "rps": 12.186676360460313, + "p95_time": 0.1983433742992929, + "mean_time": 0.1630824382535393, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 455.3559292992263, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9823375000000001, + "rps": 60.018983484105995, + "p95_time": 0.1493042145993968, + "mean_time": 0.13220977043239146, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1332.2245010468644, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9823500000000001, + "rps": 36.63046277984895, + "p95_time": 0.06791833087336271, + "mean_time": 0.053898667664965615, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 5652.203335653518, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982375, + "rps": 17.38790948656427, + "p95_time": 0.275975509356067, + "mean_time": 0.22957467906205783, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 13262.656714430463, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824100000000001, + "rps": 7.4102800152450765, + "p95_time": 0.17679467694979392, + "mean_time": 0.13460310802210007, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 460.71933446607204, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824700000000001, + "rps": 59.32028016942844, + "p95_time": 0.1468993179427343, + "mean_time": 0.13427062428535427, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 474.4049356287909, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824700000000001, + "rps": 57.60901278098209, + "p95_time": 0.04101040287932846, + "mean_time": 0.03433878778468643, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 850.8980005382542, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824700000000001, + "rps": 32.11900836846697, + "p95_time": 0.03505115971638588, + "mean_time": 0.03075808002326812, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 464.09473769304014, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824700000000001, + "rps": 58.88883837781525, + "p95_time": 0.07696242465026444, + "mean_time": 0.06750905571718759, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4471.512473151478, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824725000000001, + "rps": 21.97914029986664, + "p95_time": 0.20673295595224772, + "mean_time": 0.18046451076708037, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4348.670213819357, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9824837500000001, + "rps": 22.60001222619328, + "p95_time": 0.4027074714471382, + "mean_time": 0.35181904667123215, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 343.05389380062843, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9825125, + "rps": 142.25170121042538, + "p95_time": 0.1547760318397195, + "mean_time": 0.11021614383784617, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 135.0828483419973, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9825499999999999, + "rps": 88.83437199679773, + "p95_time": 0.05876617640096811, + "mean_time": 0.0446618259762854, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 752.7176071373025, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9825750000000001, + "rps": 48.46439043552986, + "p95_time": 0.4014694815086841, + "mean_time": 0.3288291284188954, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1252.0846143955287, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9825900000000002, + "rps": 21.827598299492053, + "p95_time": 0.07654738455676124, + "mean_time": 0.04493661892718228, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 138.86352308849928, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9826000000000001, + "rps": 86.41578243951268, + "p95_time": 0.2774973515010061, + "mean_time": 0.1845210331447356, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 213.2732506125103, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9826324999999999, + "rps": 56.26584658665158, + "p95_time": 0.18467454129859107, + "mean_time": 0.14171414256114712, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 292.4766252901406, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98264, + "rps": 156.70654006805867, + "p95_time": 0.012842884499832508, + "mean_time": 0.011390183148002051, + "total_upload": 2752.150063756 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 225.69388343422722, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98267, + "rps": 203.22216668918497, + "p95_time": 0.010261690749939588, + "mean_time": 0.00875759803999199, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 208.203871152687, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9826775000000001, + "rps": 220.29369456999206, + "p95_time": 0.04178083164965754, + "mean_time": 0.017077357099757592, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 235.22371903725067, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.982705625, + "rps": 51.015263465414584, + "p95_time": 0.39984352214924, + "mean_time": 0.3129832300701032, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 18667.694233273018, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9827250000000001, + "rps": 1.95417814027501, + "p95_time": 1.388920142803545, + "mean_time": 1.0229337073165807, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 122.09149332749801, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9827875, + "rps": 98.2869459038495, + "p95_time": 0.09839426264843495, + "mean_time": 0.08096615073112935, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 10050.08346804006, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9828100000000002, + "rps": 9.779023260108932, + "p95_time": 0.11246015599535894, + "mean_time": 0.10147355935303494, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 227.91947866949704, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9828499999999999, + "rps": 52.65017307889265, + "p95_time": 0.40134547490306427, + "mean_time": 0.30330350598389944, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 425.6519568581367, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9828625, + "rps": 114.64765805426403, + "p95_time": 0.08371732704545137, + "mean_time": 0.06908469102459276, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 329435745164388728989633747112188501295, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705545610664, + "cost": 796.267503554629, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9828850000000001, + "rps": 45.813749571782246, + "p95_time": 0.2032227979536401, + "mean_time": 0.17345976240343225, + "total_upload": 4255.125206026001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 7566.229612927684, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98297, + "rps": 12.989296522547832, + "p95_time": 0.08715867274950143, + "mean_time": 0.07619177312392275, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 240.6030979403137, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9829749999999999, + "rps": 190.49214408440315, + "p95_time": 0.021541470300098807, + "mean_time": 0.018450979705744202, + "total_upload": 2752.150063756 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 207.43381183799647, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9829874999999999, + "rps": 57.849778171033506, + "p95_time": 0.18293078419956146, + "mean_time": 0.13783912103934562, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 270.758026133542, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9829925, + "rps": 100.93883601633449, + "p95_time": 0.11301616375058073, + "mean_time": 0.07805738781155924, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1394.3062135254422, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.983, + "rps": 19.601146243834982, + "p95_time": 0.26299344029757776, + "mean_time": 0.20308186239085263, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 700.6393574059016, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98302, + "rps": 39.007229198754395, + "p95_time": 0.08285850245301844, + "mean_time": 0.05034061768975516, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 94783557865022552925472243888683623268, + "engine": "weaviate-standard", + "version": "v1.18.4", + "remark": "Client us-east-1(AWS) 4c8GB; Server us-east-1(GCP) standard", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1683519258391, + "cost": 1855.9450343492938, + "monthly_cost": 690, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9830612500000001, + "rps": 37.17782516344394, + "p95_time": 0.24858498474932272, + "mean_time": 0.21356701962494118, + "total_upload": 4301.106083501014 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 449.00693477995816, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9830700000000001, + "rps": 26.725645130360316, + "p95_time": 0.0390531158522208, + "mean_time": 0.03712914754790836, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 227449966405871535861157197797624817869, + "engine": "pinecone-1-pod", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "s1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218474972, + "cost": 883.8619588320142, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9830999999999999, + "rps": 9.051187145299993, + "p95_time": 0.4862308416959422, + "mean_time": 0.4407806409496916, + "total_upload": 3222.7964908949943 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8784.572161070759, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9831400000000001, + "rps": 11.187795853682255, + "p95_time": 0.09572167985024863, + "mean_time": 0.0885127803497453, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 428.9472176807776, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98318, + "rps": 106.92690874179645, + "p95_time": 0.009762132949981605, + "mean_time": 0.008080429982009264, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 204.47923203692196, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9832000000000001, + "rps": 37.72021208788233, + "p95_time": 0.09288363350078725, + "mean_time": 0.052375161075487994, + "total_upload": 4820.190272667 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2451.4922495834467, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9832000000000001, + "rps": 3.146246944615297, + "p95_time": 0.3848772845005442, + "mean_time": 0.3175033115749102, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3552.8416326833544, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98323, + "rps": 27.662364428490463, + "p95_time": 0.1736089862490189, + "mean_time": 0.14315499176304367, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 5126.802101807343, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9833, + "rps": 9.518604196326717, + "p95_time": 0.23337720799609088, + "mean_time": 0.20957442097003515, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6623.21545138483, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98333625, + "rps": 14.838714023631967, + "p95_time": 1.2090117334431851, + "mean_time": 1.0761452761694217, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1005.5143446973321, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98334375, + "rps": 48.53237575112784, + "p95_time": 0.417497233391623, + "mean_time": 0.32831837544148584, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 9454.945491728096, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9833475, + "rps": 10.394560189266326, + "p95_time": 1.7599197894582173, + "mean_time": 1.5386616985325137, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3532.5983965012947, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98335625, + "rps": 27.820881110441835, + "p95_time": 0.6819067246884515, + "mean_time": 0.5734649012560412, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 476.80912090540113, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9833999999999999, + "rps": 96.1244195852815, + "p95_time": 0.010577966199934962, + "mean_time": 0.00960728857801405, + "total_upload": 2752.150063756 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 222.88252061178162, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9834, + "rps": 205.7855406251876, + "p95_time": 0.015714300698891744, + "mean_time": 0.009384644105986809, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 224.73032541510577, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9834, + "rps": 204.09350591772434, + "p95_time": 0.013375245251245357, + "mean_time": 0.00945292703701307, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 9452.59139505274, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9834212500000001, + "rps": 10.397148876173512, + "p95_time": 0.8841777654539328, + "mean_time": 0.7689346007022323, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 276.15477839207983, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98345, + "rps": 166.08801870840796, + "p95_time": 0.02554245055007412, + "mean_time": 0.0117293887800015, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 1607.3617450211605, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835, + "rps": 4.798546452838754, + "p95_time": 0.5003780272006224, + "mean_time": 0.20672341752997817, + "total_upload": 4820.190272667 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 2229.996366079396, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835050000000001, + "rps": 5.137676533591305, + "p95_time": 0.48561383412452414, + "mean_time": 0.38881597088777925, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1025.4428059523693, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.983525, + "rps": 47.589197287973086, + "p95_time": 0.2471645400801208, + "mean_time": 0.16698826322342938, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4636.963134948597, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835300000000001, + "rps": 21.194906480767067, + "p95_time": 0.21145731019787486, + "mean_time": 0.18723174696683417, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6606.386449245731, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98354375, + "rps": 14.87651392407129, + "p95_time": 0.5938059512507606, + "mean_time": 0.5356131739255606, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6152.273014796495, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835550000000001, + "rps": 15.974583664221687, + "p95_time": 0.15131568319775396, + "mean_time": 0.12417137075393112, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 802.6343897662465, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835725, + "rps": 34.05037255874296, + "p95_time": 0.1874668931945052, + "mean_time": 0.11650016383864567, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 3521.087043160041, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835825, + "rps": 27.91183483831103, + "p95_time": 0.34798430275550335, + "mean_time": 0.28484551121627555, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4529.320819808554, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9835987500000001, + "rps": 21.69861749915832, + "p95_time": 0.8442556734909885, + "mean_time": 0.7355833294387248, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 164.7414603581484, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9836, + "rps": 69.54533470258457, + "p95_time": 0.04745967580238357, + "mean_time": 0.013046310089761391, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 9432.345808602857, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9836025, + "rps": 10.419465315866901, + "p95_time": 0.4559497600981558, + "mean_time": 0.38342586557837055, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 6748.188162198219, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9836325, + "rps": 14.563909250566203, + "p95_time": 0.30996835860205463, + "mean_time": 0.27311780391074897, + "total_upload": 7842.3396115840005 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 390.88138048914226, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 117.33994579788906, + "p95_time": 0.008950132949394172, + "mean_time": 0.007324265928007662, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 373.80930680199174, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 122.69892473355512, + "p95_time": 0.009249590750914648, + "mean_time": 0.007546270782995634, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 394.40583506258616, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 116.29138294245006, + "p95_time": 0.009148232000461574, + "mean_time": 0.007422271069992348, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 533.1113725239497, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 21.616496278143625, + "p95_time": 0.13356369070061191, + "mean_time": 0.0921189299959924, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 533.6168854603478, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 21.596018255790987, + "p95_time": 0.1325516387504649, + "mean_time": 0.09226842033100001, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 534.1878341176091, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 21.57293607975135, + "p95_time": 0.13342818274977616, + "mean_time": 0.09235815542348882, + "total_upload": 4851.50449722 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 129.91692682356424, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 88.18712295711369, + "p95_time": 0.07193326655542479, + "mean_time": 0.021953427754342555, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 133.5278385120317, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837, + "rps": 85.80233251486095, + "p95_time": 0.07198186684399843, + "mean_time": 0.022605316996341572, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 4516.26269627562, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9837212500000001, + "rps": 21.761355928442235, + "p95_time": 0.41290835804174997, + "mean_time": 0.36566046983928024, + "total_upload": 6638.766762443003 + }, + { + "hash_code": 227449966405871535861157197797624817869, + "engine": "pinecone-1-pod", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "s1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218474972, + "cost": 943.4306599919217, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9838, + "rps": 8.479690494761428, + "p95_time": 0.14180502790550234, + "mean_time": 0.1169893176110636, + "total_upload": 3222.7964908949943 + }, + { + "hash_code": 227449966405871535861157197797624817869, + "engine": "pinecone-1-pod", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "s1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218474972, + "cost": 899.1318249320029, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9838, + "rps": 8.897471736811232, + "p95_time": 0.256044033895887, + "mean_time": 0.2237119210295641, + "total_upload": 3222.7964908949943 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 1735.579530110135, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9838000000000001, + "rps": 6.639857062193353, + "p95_time": 0.4265692955001666, + "mean_time": 0.14799726240399105, + "total_upload": 4851.50449722 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1349.2123795711643, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9838375000000001, + "rps": 20.25626240450492, + "p95_time": 0.47371045080653856, + "mean_time": 0.3937094543573203, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 318.53045750425923, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98385, + "rps": 143.8889089574335, + "p95_time": 0.014274589050137365, + "mean_time": 0.012472409253001387, + "total_upload": 2752.150063756 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 625.4704061451338, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9839000000000001, + "rps": 18.424532778495642, + "p95_time": 0.08549472270078695, + "mean_time": 0.053984568841981856, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 1833.119271339088, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9839000000000001, + "rps": 6.286552206492135, + "p95_time": 0.5058452326006315, + "mean_time": 0.15874534618701364, + "total_upload": 4851.50449722 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 131.71286646315406, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9839000000000001, + "rps": 86.98466829893972, + "p95_time": 0.03761506635928526, + "mean_time": 0.010164889175910503, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 13242.340196371553, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9839037500000001, + "rps": 2.7548000926600302, + "p95_time": 9.20340105251089, + "mean_time": 5.8063230903431196, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11770.593551195263, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98395125, + "rps": 3.0992489751118444, + "p95_time": 3.474739452151696, + "mean_time": 2.580150173821505, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 152.42330064708807, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9839625000000001, + "rps": 50.602499534229516, + "p95_time": 0.22016271610063995, + "mean_time": 0.15485093700325683, + "total_upload": 4820.190272667 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 129.23520642572785, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.983975, + "rps": 88.65231322692549, + "p95_time": 0.08741721459664405, + "mean_time": 0.044096087997721044, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1344.615033845136, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98408, + "rps": 20.325520176466878, + "p95_time": 0.08329662340256619, + "mean_time": 0.04823553141292359, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1844.715179554588, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9841500000000001, + "rps": 4.181133264085964, + "p95_time": 0.5491662528540473, + "mean_time": 0.4778734106414995, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 17538.78607053316, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984165, + "rps": 5.60358052175115, + "p95_time": 0.4589809991477523, + "mean_time": 0.3564703149639536, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 9136.803112917612, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9841700000000001, + "rps": 10.756497517282794, + "p95_time": 0.21449894919933285, + "mean_time": 0.18495311597942055, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10532.876748331686, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9841775, + "rps": 3.463441267911742, + "p95_time": 2.029609407099633, + "mean_time": 1.153952645542071, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 206.9171156539731, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9841825, + "rps": 221.50415085355428, + "p95_time": 0.01886529165049069, + "mean_time": 0.015971739767257985, + "total_upload": 2752.150063756 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 9941.50626723024, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98419, + "rps": 9.885825885756985, + "p95_time": 0.11269877985760103, + "mean_time": 0.10033161114710674, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 816.686446607221, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9842012499999999, + "rps": 33.464495601142445, + "p95_time": 0.30256115129741373, + "mean_time": 0.23785654343300666, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 34698.384151856306, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98422, + "rps": 1.0513457871797867, + "p95_time": 1.0483272129524266, + "mean_time": 0.9506778018471086, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3295.0822640737224, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984235, + "rps": 14.809948914497927, + "p95_time": 0.30305882659158667, + "mean_time": 0.2694353306990306, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 395.28165312289127, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9843, + "rps": 19.51266885033509, + "p95_time": 0.08048952884992103, + "mean_time": 0.049625332252082446, + "total_upload": 4820.190272667 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 4351.962595051714, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9843000000000001, + "rps": 11.213331671436418, + "p95_time": 0.10285041774186539, + "mean_time": 0.08826516484626336, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 772.7083939835089, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98435, + "rps": 35.36909940774278, + "p95_time": 0.12691751261008902, + "mean_time": 0.1126709302629577, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 778.4275748536926, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98435, + "rps": 35.10923929581598, + "p95_time": 0.06661826017079875, + "mean_time": 0.056591601200631704, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 764.9848792928916, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98435, + "rps": 35.72619634686413, + "p95_time": 0.24332490258675535, + "mean_time": 0.22330232851766632, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 19242383228689246000696724133546403219, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684314581827, + "cost": 1197.4283499119958, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98435, + "rps": 22.82391259736635, + "p95_time": 0.049799940710363436, + "mean_time": 0.04342930234875239, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 164.891796347621, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9843500000000001, + "rps": 69.48192847536588, + "p95_time": 0.07694747670320794, + "mean_time": 0.027991109504248015, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4502.380991034396, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9843700000000001, + "rps": 10.838709584367821, + "p95_time": 0.10472339746775104, + "mean_time": 0.09158116347034229, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2458.193052609089, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9843999999999999, + "rps": 3.1376705714034694, + "p95_time": 0.7129838818033022, + "mean_time": 0.6368992854545541, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 2166.315635904604, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98445, + "rps": 5.288702998820308, + "p95_time": 0.2162925145123154, + "mean_time": 0.18870695707574486, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1978.6984427206655, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9844700000000001, + "rps": 5.7901698170070235, + "p95_time": 1.4839748781989328, + "mean_time": 1.3799119618542317, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 221.2705758662582, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984475, + "rps": 34.85777523651378, + "p95_time": 0.16515807860068882, + "mean_time": 0.11305052832698402, + "total_upload": 4820.190272667 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1535.147916322862, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984475, + "rps": 17.80284473529008, + "p95_time": 0.17502592900127636, + "mean_time": 0.11142383858210086, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 17334.05985057608, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9845, + "rps": 2.104527174503071, + "p95_time": 1.3430671120004263, + "mean_time": 0.9494504611076482, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 13852.559268703777, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9845100000000001, + "rps": 7.094717885238569, + "p95_time": 0.3487281664973125, + "mean_time": 0.28151986672374185, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 197.14699630625782, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9845499999999999, + "rps": 232.48135076225444, + "p95_time": 0.03887792140044438, + "mean_time": 0.030871502479502853, + "total_upload": 2752.150063756 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 3714.067185396608, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9846, + "rps": 13.139234581398364, + "p95_time": 0.09215846340521239, + "mean_time": 0.07545857289835112, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 12426.583868242815, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9846600000000001, + "rps": 7.908850979645568, + "p95_time": 0.1494913942588027, + "mean_time": 0.12555644979186764, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5244.154197756956, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9846875, + "rps": 18.740867696460295, + "p95_time": 0.24927049095422263, + "mean_time": 0.21190738792679986, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 32333.364507290964, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9847, + "rps": 1.1282463348895844, + "p95_time": 1.0298301727467332, + "mean_time": 0.8858335227211355, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 2135.488843548875, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9847175000000001, + "rps": 5.365047930177951, + "p95_time": 0.94282539881533, + "mean_time": 0.7448851296687499, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 216.92061340957346, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98475, + "rps": 35.556786783729414, + "p95_time": 0.060719877600422474, + "mean_time": 0.02716211834500973, + "total_upload": 4820.190272667 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 21206.110987675725, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98476, + "rps": 4.634513139024738, + "p95_time": 0.30187771680648434, + "mean_time": 0.21542367053493217, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5150.486740282047, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98480875, + "rps": 19.08169168388502, + "p95_time": 0.9517854612997324, + "mean_time": 0.8365711631591748, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 227449966405871535861157197797624817869, + "engine": "pinecone-1-pod", + "version": "2023-4-3", + "remark": "Client us-east-1 4c8GB; Server us-east-1", + "index_type": "s1", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684218474972, + "cost": 884.3659663059952, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9848125, + "rps": 9.046028798932724, + "p95_time": 0.9448786689448753, + "mean_time": 0.8828398954006352, + "total_upload": 3222.7964908949943 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 173.3587735804801, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9848125, + "rps": 264.38235027500633, + "p95_time": 0.03656186109947157, + "mean_time": 0.026897948315001374, + "total_upload": 2752.150063756 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3461.9574991799, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9848318750000001, + "rps": 14.096071373366133, + "p95_time": 1.4301215540617704, + "mean_time": 1.1320050029412432, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3345.20403556519, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984835, + "rps": 14.588048884663916, + "p95_time": 0.6116243265933008, + "mean_time": 0.5475939368761538, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 156.70561245463293, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.984975, + "rps": 292.68894254364017, + "p95_time": 0.037786515250718335, + "mean_time": 0.013289464374502132, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 266.18157841985766, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98499, + "rps": 28.97646052663348, + "p95_time": 0.12510409284950574, + "mean_time": 0.06825397991202135, + "total_upload": 4820.190272667 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 240.60363696154823, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98499125, + "rps": 190.62887236126866, + "p95_time": 0.07522407585011016, + "mean_time": 0.04069100807337145, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 10502.704580754275, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985, + "rps": 4.64642222627339, + "p95_time": 0.2322136147558922, + "mean_time": 0.21465244749063278, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 178.73419098288633, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9850000000000001, + "rps": 256.615702612779, + "p95_time": 0.04261613999988185, + "mean_time": 0.015204548608284768, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 5143.230990400097, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98503375, + "rps": 19.108610945812234, + "p95_time": 0.4719454698955815, + "mean_time": 0.4164810567851309, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 159.11063182543856, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9851, + "rps": 288.26483481204406, + "p95_time": 0.03780332975102281, + "mean_time": 0.013505484947477726, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 479.85036239874177, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985155, + "rps": 56.955255516280225, + "p95_time": 0.1088410443611792, + "mean_time": 0.06921229112070432, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 851.4372877021954, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9852000000000001, + "rps": 13.456070300749243, + "p95_time": 0.10021206417586653, + "mean_time": 0.07398463934590109, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 160.4420883003425, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9852249999999999, + "rps": 285.8726191231088, + "p95_time": 0.060366529850125514, + "mean_time": 0.02747630831349511, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 293.9786289427629, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9852249999999999, + "rps": 26.236601033681623, + "p95_time": 0.22779803049979816, + "mean_time": 0.15068394086825357, + "total_upload": 4820.190272667 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4088.9024913260714, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985225, + "rps": 11.934742905589241, + "p95_time": 0.19345976408512797, + "mean_time": 0.16670109434152255, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 133.50811833276745, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985225, + "rps": 57.77176771209849, + "p95_time": 0.3788886170006663, + "mean_time": 0.27127163950213357, + "total_upload": 4820.190272667 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 159.97583156750096, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985275, + "rps": 71.61706795170356, + "p95_time": 0.09198312138905748, + "mean_time": 0.054787012542481535, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1224.311377244671, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98528125, + "rps": 6.299867944834597, + "p95_time": 2.6939965540004778, + "mean_time": 2.535784600529713, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 206.8931678846811, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9852875, + "rps": 221.68929244471218, + "p95_time": 0.0778065743998922, + "mean_time": 0.03561795566275873, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 2193.8577198205285, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853, + "rps": 22.243922000553507, + "p95_time": 0.1048460722056916, + "mean_time": 0.08931160269732936, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 1778.9449069416637, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853, + "rps": 4.335716058379839, + "p95_time": 0.900352622549962, + "mean_time": 0.22987042481002026, + "total_upload": 4820.190272667 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 575.8728664080554, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853, + "rps": 20.837932641016234, + "p95_time": 0.049788099799479825, + "mean_time": 0.04770907034601987, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 516.7275287371929, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853, + "rps": 22.30188902101458, + "p95_time": 0.25713117025125026, + "mean_time": 0.1789048953192564, + "total_upload": 4851.50449722 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2661.6359725629354, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853000000000001, + "rps": 36.92465874864341, + "p95_time": 0.03528462230460718, + "mean_time": 0.026785433075769107, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2788.4850014870144, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853000000000001, + "rps": 35.244944816841496, + "p95_time": 0.03745596750013647, + "mean_time": 0.027828257096218296, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 5205.99620500593, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853000000000001, + "rps": 18.878231202991827, + "p95_time": 0.038757685297605336, + "mean_time": 0.05264019893182558, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 517.8937961714012, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853000000000001, + "rps": 22.25166643275649, + "p95_time": 0.2533125913999356, + "mean_time": 0.17936042625600065, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 519.233216312338, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853000000000001, + "rps": 22.194265771063247, + "p95_time": 0.25734561635053976, + "mean_time": 0.179735486337991, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 470.74448199890196, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98530625, + "rps": 24.480371922929688, + "p95_time": 0.7944748806517962, + "mean_time": 0.6516309014148732, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 470.1200638190114, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98530625, + "rps": 24.51288699823829, + "p95_time": 0.7957509514002594, + "mean_time": 0.6505712221615708, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 473.5540277833444, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98530625, + "rps": 24.33513247462514, + "p95_time": 0.7977648884014342, + "mean_time": 0.6556064452590663, + "total_upload": 4851.50449722 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 123.29740016870625, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853125, + "rps": 371.9948671848891, + "p95_time": 0.0728306171499753, + "mean_time": 0.04218029406144467, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 122.33843895476501, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98531875, + "rps": 374.91078349429563, + "p95_time": 0.07233336340013921, + "mean_time": 0.04182565042799854, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 128.94951355010585, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98531875, + "rps": 355.6895930606041, + "p95_time": 0.07557297304920212, + "mean_time": 0.04414402584618847, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2585.7093826417854, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98535, + "rps": 38.008911852107914, + "p95_time": 0.07229322005441645, + "mean_time": 0.052276281680031386, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 143.51267717120092, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853500000000001, + "rps": 319.59545946791144, + "p95_time": 0.05868357580138763, + "mean_time": 0.02457133514113434, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2560.6313254589013, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853500000000001, + "rps": 38.38115976433539, + "p95_time": 0.0711224058890366, + "mean_time": 0.0517853612293693, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2634.3375007953605, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853500000000001, + "rps": 37.30729261923624, + "p95_time": 0.07422565848683008, + "mean_time": 0.05327191948668042, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 894.0448490879336, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853500000000001, + "rps": 12.81479336488314, + "p95_time": 0.19968303074128926, + "mean_time": 0.15563530922285282, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 8091.664304691297, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853575000000001, + "rps": 12.145832587619866, + "p95_time": 0.37915233164749224, + "mean_time": 0.3278638226825606, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 16085.480908114874, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853800000000001, + "rps": 6.109857738255079, + "p95_time": 0.20671675394987687, + "mean_time": 0.16331068967372994, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 499.80116000149764, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853999999999999, + "rps": 23.057169375048005, + "p95_time": 0.46455935975009194, + "mean_time": 0.3460634945711395, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 499.1914783029853, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853999999999999, + "rps": 23.085329980343705, + "p95_time": 0.4697704520993284, + "mean_time": 0.34552902983812694, + "total_upload": 4851.50449722 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1227.799455824238, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9853999999999999, + "rps": 9.331328455679078, + "p95_time": 0.16412247696425766, + "mean_time": 0.1068062098894734, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 501.5725853203187, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9854, + "rps": 22.975737385328667, + "p95_time": 0.45768779614863875, + "mean_time": 0.3472298662687549, + "total_upload": 4851.50449722 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 7967.144797017964, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985444375, + "rps": 12.335661332123069, + "p95_time": 1.4685310482498606, + "mean_time": 1.2949307028206887, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 262.9023301457738, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9854499999999999, + "rps": 29.337891359590852, + "p95_time": 0.11413601634903899, + "mean_time": 0.06746169356802784, + "total_upload": 4820.190272667 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 17365.467617727547, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9854700000000001, + "rps": 5.659507832640844, + "p95_time": 3.1823218472556616, + "mean_time": 2.826089077467232, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11366.332028052353, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9854812500000001, + "rps": 3.2094786523890537, + "p95_time": 6.057487287649564, + "mean_time": 4.983833738907527, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2769.27612305591, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855, + "rps": 35.489418762455344, + "p95_time": 0.0776412377905217, + "mean_time": 0.05598145746675436, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2598.98201290622, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855, + "rps": 37.8148057631618, + "p95_time": 0.07323167966096662, + "mean_time": 0.05249657424988982, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2613.659513218408, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855, + "rps": 37.60244955509908, + "p95_time": 0.07294067590264602, + "mean_time": 0.052811260136470084, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1812.4245373828103, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855, + "rps": 26.92525895200498, + "p95_time": 0.09027075915655586, + "mean_time": 0.0735431535926764, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 244.62789420258122, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855025000000001, + "rps": 187.49292736836242, + "p95_time": 0.04441886004974546, + "mean_time": 0.02034817731300336, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1576.8613243690925, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985525, + "rps": 30.94755337443833, + "p95_time": 0.17887866885284892, + "mean_time": 0.1283216035541409, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11119.971515941477, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985525, + "rps": 3.2805839428367825, + "p95_time": 3.3958788986892614, + "mean_time": 2.4373913855275897, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 17368.54981752617, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.985545, + "rps": 5.658503503892311, + "p95_time": 1.6057385280546441, + "mean_time": 1.4131381976829653, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1277.0235052559174, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9855499999999999, + "rps": 8.971643789519755, + "p95_time": 0.29150192680535836, + "mean_time": 0.22248716042318847, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 264.9885138568947, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856050000000003, + "rps": 173.08674754396952, + "p95_time": 0.012266786900227089, + "mean_time": 0.010539379318513965, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 127.21980218472831, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856225, + "rps": 90.05673490486937, + "p95_time": 0.08768989527598021, + "mean_time": 0.04334545115882065, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 17356.321586560334, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856525, + "rps": 5.662490148609713, + "p95_time": 0.8433562298429023, + "mean_time": 0.7058816340623016, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 19527.423443661613, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98567, + "rps": 5.032922048499983, + "p95_time": 0.4297435242726351, + "mean_time": 0.39700238397251814, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10198.271449194224, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856750000000001, + "rps": 3.577076780289303, + "p95_time": 2.08923139509061, + "mean_time": 1.1173367461292583, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 120012130903368327451199322246594764862, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1709749259867, + "cost": 7952.238958748167, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 32, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856825000000001, + "rps": 12.358783546347448, + "p95_time": 0.7144086532491201, + "mean_time": 0.6452380742779132, + "total_upload": 8653.858150323998 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 13712.566347972734, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98568625, + "rps": 7.167148548712744, + "p95_time": 2.5042071867967026, + "mean_time": 2.2315581548017946, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 1107.8273494409746, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9856999999999999, + "rps": 44.050185278983385, + "p95_time": 0.10575736813771072, + "mean_time": 0.09024186595447826, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2917.1395958773687, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9857, + "rps": 33.69053717514707, + "p95_time": 0.04183660254348069, + "mean_time": 0.02936163497035159, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2874.691927074955, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9857, + "rps": 34.18801126978551, + "p95_time": 0.04121438601432601, + "mean_time": 0.028943326109059853, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 5908.233846944229, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9857, + "rps": 16.634412676612477, + "p95_time": 0.050816056028997955, + "mean_time": 0.059776319599564885, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 124.97428002243362, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9857, + "rps": 91.67486300335878, + "p95_time": 0.10819866256788371, + "mean_time": 0.08475662353402004, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1612.5775949927915, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9857, + "rps": 7.104774390748753, + "p95_time": 0.18783030388876795, + "mean_time": 0.1403887726624962, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 515.3344689773618, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98572, + "rps": 88.93835510547501, + "p95_time": 0.011188849550262604, + "mean_time": 0.010165534312018281, + "total_upload": 2752.150063756 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 13696.67670776889, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9858000000000001, + "rps": 7.175463223444167, + "p95_time": 1.281634511843731, + "mean_time": 1.1142159058727157, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1307.1973187711553, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9858475000000001, + "rps": 20.907325625248266, + "p95_time": 0.2722219042545475, + "mean_time": 0.19027092199490653, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 13705.91157785836, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9859750000000002, + "rps": 7.170628486963937, + "p95_time": 0.6552231727022444, + "mean_time": 0.557418838325626, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 351.18048833468237, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986, + "rps": 21.963065307459075, + "p95_time": 0.14248109949885474, + "mean_time": 0.09029958353400071, + "total_upload": 4820.190272667 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 22626.415974937514, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986025, + "rps": 4.34359556143851, + "p95_time": 0.49782670058630174, + "mean_time": 0.46007362285559067, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1631.6428425319757, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98605, + "rps": 7.021757275152863, + "p95_time": 0.3743309753714129, + "mean_time": 0.28437276514922266, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 462.65273556379844, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98606625, + "rps": 59.07238388355162, + "p95_time": 0.17927263130695792, + "mean_time": 0.13426068428375584, + "total_upload": 9917.984139715008 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 6770.3798071651445, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98611, + "rps": 5.38817629719871, + "p95_time": 0.45371921075129645, + "mean_time": 0.37067082382876104, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2628.7941142982295, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986125, + "rps": 2.9340449136158484, + "p95_time": 1.5204192273573427, + "mean_time": 1.362582684061912, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2051.528929032494, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986125, + "rps": 3.7596350170102006, + "p95_time": 1.184448189901741, + "mean_time": 1.0632605830018764, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 207.28455384110262, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9861375, + "rps": 37.209718992918916, + "p95_time": 0.27776112314913914, + "mean_time": 0.21112269522225233, + "total_upload": 4820.190272667 + }, + { + "hash_code": 226085769684157714857298885577780322475, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1712633925295, + "cost": 487.18375525413853, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9861900000000001, + "rps": 94.14517521437898, + "p95_time": 0.011346265200290872, + "mean_time": 0.009425142885001151, + "total_upload": 2962.6874267679996 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 20034.904829547213, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9862000000000001, + "rps": 4.90543882469848, + "p95_time": 0.22971185830974716, + "mean_time": 0.20349958991212772, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 331.6511919175522, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9863200000000001, + "rps": 138.1963976520066, + "p95_time": 0.015041164949934682, + "mean_time": 0.013166521886988448, + "total_upload": 2752.150063756 + }, + { + "hash_code": 189290653797812033097705082179691865596, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "Client us-east-1 4c8GB; Server us-east-1 4c32GB", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684230666412, + "cost": 1296.9592034789046, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9863587500000001, + "rps": 21.07236675347324, + "p95_time": 0.4735071686569426, + "mean_time": 0.3783486691236103, + "total_upload": 9664.873547729992 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4212.204721741448, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9863800000000001, + "rps": 11.585381818722395, + "p95_time": 0.42318864294793457, + "mean_time": 0.34430875660486343, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 203.73267392028725, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9863999999999999, + "rps": 37.858434052742076, + "p95_time": 0.5285877235500266, + "mean_time": 0.4165544407196271, + "total_upload": 4820.190272667 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 121.94190784199576, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98643375, + "rps": 93.9545739668533, + "p95_time": 0.10639998082770033, + "mean_time": 0.08273599559240392, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2582.5317734361633, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98645, + "rps": 38.055678931390055, + "p95_time": 0.3067553251588833, + "mean_time": 0.20877262899894414, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2555.559267251372, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98645, + "rps": 38.457335448809566, + "p95_time": 0.30249010035186064, + "mean_time": 0.20678762706478845, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2637.4467922680983, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98645, + "rps": 37.26331097488536, + "p95_time": 0.31464085814368403, + "mean_time": 0.21338478993501303, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1550.546645782946, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986525, + "rps": 31.472771317601037, + "p95_time": 0.693157587366295, + "mean_time": 0.5070714096924966, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2571.6820321728696, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9865375000000001, + "rps": 38.216233099766654, + "p95_time": 0.4563217496470315, + "mean_time": 0.41379888453321745, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2621.8416811286306, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9865375000000001, + "rps": 37.48510091490084, + "p95_time": 0.4638528217095882, + "mean_time": 0.4221032427153095, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2543.3304268513084, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9865375000000002, + "rps": 38.64224599462387, + "p95_time": 0.4532457579523907, + "mean_time": 0.4097589114001612, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 297.3060512640004, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98662, + "rps": 40.36244788487099, + "p95_time": 0.02525287610055784, + "mean_time": 0.023895858521986155, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 510.4673828536965, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98665625, + "rps": 95.59866435969019, + "p95_time": 0.2271942956605926, + "mean_time": 0.16509221748816344, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 155.96183284200015, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9866849999999999, + "rps": 76.94190162638579, + "p95_time": 0.027671140599795762, + "mean_time": 0.025107892728461593, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2501.39425447527, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867, + "rps": 39.29008784767385, + "p95_time": 0.29926426610909396, + "mean_time": 0.2024526152764229, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2611.0815596036123, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867, + "rps": 37.63957492577132, + "p95_time": 0.30735974395211085, + "mean_time": 0.2111226181904167, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2549.744812476315, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867, + "rps": 38.54503380852076, + "p95_time": 0.30885508235369336, + "mean_time": 0.20618516138106133, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 196.84921152792052, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867075, + "rps": 39.18227530673147, + "p95_time": 0.13883296554949992, + "mean_time": 0.10037949597876059, + "total_upload": 4820.190272667 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 271.62071094778554, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867374999999999, + "rps": 28.396214607812773, + "p95_time": 0.6547792467505131, + "mean_time": 0.5574493908531867, + "total_upload": 4820.190272667 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 22561.615418313602, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867500000000001, + "rps": 4.3560710604181585, + "p95_time": 0.2735097585609765, + "mean_time": 0.22920079321024242, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 19275.299919594847, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867556250000001, + "rps": 5.098753348065454, + "p95_time": 3.38145038709481, + "mean_time": 3.136840359266731, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2517.7409274342763, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98675625, + "rps": 3.0634605474916725, + "p95_time": 5.796450881646888, + "mean_time": 5.218405355942894, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2599.322073304291, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867625000000001, + "rps": 37.809858581728285, + "p95_time": 0.45877375934651354, + "mean_time": 0.4180965058584206, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2533.901548270342, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867625000000001, + "rps": 38.78603731352016, + "p95_time": 0.4509014763520099, + "mean_time": 0.40726042495348336, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2491.1162923518364, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867625000000001, + "rps": 39.45219269840466, + "p95_time": 0.44613608627987555, + "mean_time": 0.40106586574198444, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 1549.4848450770078, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867625000000001, + "rps": 31.494338363518935, + "p95_time": 0.3770923163217958, + "mean_time": 0.2529393469927236, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 130.8927989715021, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98679625, + "rps": 91.67807621420513, + "p95_time": 0.10125786830094512, + "mean_time": 0.08608579529601139, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 315.5105841360055, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867999999999999, + "rps": 38.03358937343041, + "p95_time": 0.0555187229441799, + "mean_time": 0.052266732668453185, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 17663.15676358543, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9867999999999999, + "rps": 2.065315984468167, + "p95_time": 1.3670395446053585, + "mean_time": 0.9675907508799064, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 278.92329919187836, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98685, + "rps": 27.652763402508132, + "p95_time": 0.3582068874511605, + "mean_time": 0.2851945253466247, + "total_upload": 4820.190272667 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 19268.016520748093, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98685625, + "rps": 5.100680700277094, + "p95_time": 1.6973332363384543, + "mean_time": 1.5679409180983495, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 124.90189678499883, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9868875, + "rps": 96.07540244690058, + "p95_time": 0.04607737430078487, + "mean_time": 0.04082332303125759, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 138.0161814495004, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9868981250000001, + "rps": 86.94632668409793, + "p95_time": 0.22104736585006313, + "mean_time": 0.18263836917918536, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1974.479302691735, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869124999999999, + "rps": 3.906346341278508, + "p95_time": 4.355582778349344, + "mean_time": 4.0913526674140135, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 2674.6855085408815, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869125, + "rps": 2.883703514065721, + "p95_time": 3.003367258761864, + "mean_time": 2.772042785022566, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 153.63977461259358, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869125, + "rps": 74.57053376242645, + "p95_time": 0.16901074356865137, + "mean_time": 0.104743144559121, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2554.7304753898657, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869249999999999, + "rps": 38.46981156984943, + "p95_time": 0.12090558244381087, + "mean_time": 0.10351794718353631, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2589.172653674818, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869249999999999, + "rps": 37.9580712242233, + "p95_time": 0.14246796655133948, + "mean_time": 0.10488420761048838, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2636.0336423420667, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.986925, + "rps": 37.28328744419212, + "p95_time": 0.14741867129851013, + "mean_time": 0.10681424961065931, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4220.14215306704, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9869268750000001, + "rps": 11.563591516587659, + "p95_time": 1.4914657237677602, + "mean_time": 1.3819542567969365, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1977.7904824305408, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98695, + "rps": 3.8998064094844676, + "p95_time": 2.2039590795568076, + "mean_time": 2.049446868476918, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2417.1817108480977, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98695, + "rps": 4.767535658689335, + "p95_time": 0.491925513899605, + "mean_time": 0.41892853905849825, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2434.3156801842356, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98695, + "rps": 4.733979283708936, + "p95_time": 0.4936068678990523, + "mean_time": 0.42192008271047055, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2486.5914524961113, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98695, + "rps": 4.634456532226828, + "p95_time": 0.572821880200172, + "mean_time": 0.43101404733398246, + "total_upload": 4851.50449722 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2550.391986387072, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987, + "rps": 38.53525282567449, + "p95_time": 0.12272352303698383, + "mean_time": 0.10326607288070955, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2611.487186299086, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987, + "rps": 37.63372859557438, + "p95_time": 0.14445248900883598, + "mean_time": 0.1057398129166977, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 2507.630704847924, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987, + "rps": 39.192373825220095, + "p95_time": 0.10987300209526438, + "mean_time": 0.10152631996370473, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 19235.47359391763, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9870175000000001, + "rps": 5.1093101253860835, + "p95_time": 0.8358619254664518, + "mean_time": 0.7824731497820175, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 620.0420663546363, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987025, + "rps": 78.7043374119855, + "p95_time": 0.12600979104172433, + "mean_time": 0.10096530346943473, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 184.58291138648215, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98709, + "rps": 62.06966784704777, + "p95_time": 0.05066952342167497, + "mean_time": 0.014925878738984466, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 32132.901191385285, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9870999999999999, + "rps": 1.1352849773110483, + "p95_time": 0.9936518120055551, + "mean_time": 0.8803575720773223, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 19097.759360278218, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987125, + "rps": 1.9101717280968273, + "p95_time": 1.4164030948442812, + "mean_time": 1.0461692814559356, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 22357.71565737873, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9871812500000001, + "rps": 4.395797920775712, + "p95_time": 3.8787726048307376, + "mean_time": 3.638426564332289, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4200.784554458875, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98722875, + "rps": 11.61687760163796, + "p95_time": 0.7883902742527424, + "mean_time": 0.6876068481779511, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 22338.33667842242, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9872700000000001, + "rps": 4.39961136833133, + "p95_time": 1.9077768702249158, + "mean_time": 1.8176679453194156, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 3398.252728193784, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9872725, + "rps": 10.734928481728785, + "p95_time": 0.4678366278028988, + "mean_time": 0.37204103111846415, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 315.6310268518678, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9873099999999999, + "rps": 24.436761103400244, + "p95_time": 0.06953213994920589, + "mean_time": 0.040123585824007026, + "total_upload": 4820.190272667 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 180.91269959801338, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987360625, + "rps": 42.633822927512696, + "p95_time": 0.4692373575006968, + "mean_time": 0.3692573872768846, + "total_upload": 4820.190272667 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 824.5977565375625, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9874, + "rps": 13.894047017672312, + "p95_time": 0.3801812924561091, + "mean_time": 0.2873840662734583, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 3654.0290567523753, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9874075, + "rps": 9.983500249563605, + "p95_time": 1.972943933047645, + "mean_time": 1.6016248457424227, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 295970055599340221923889578697091853938, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1709749260869, + "cost": 22340.620405254605, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9874825, + "rps": 4.399161626544808, + "p95_time": 0.9615817365978728, + "mean_time": 0.9088510794270551, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 184.58927388525535, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9875137500000001, + "rps": 41.784659734858515, + "p95_time": 0.2387660625502576, + "mean_time": 0.1879425122428736, + "total_upload": 4820.190272667 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 249.41115523853134, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987535, + "rps": 183.76483584371488, + "p95_time": 0.022735237100278027, + "mean_time": 0.01956950811125148, + "total_upload": 2752.150063756 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2928.2690699506074, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9875525, + "rps": 12.457871571417899, + "p95_time": 0.8906173009083431, + "mean_time": 0.6414373463810825, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2927.1747357593927, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9875700000000001, + "rps": 3.9369019755530053, + "p95_time": 0.4032206814004894, + "mean_time": 0.25364659821298663, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2417.445259801588, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876300000000001, + "rps": 4.767015903783416, + "p95_time": 0.25521363134948843, + "mean_time": 0.2093509288589976, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2437.8043130581677, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876300000000001, + "rps": 4.727204697387467, + "p95_time": 0.2571575610491891, + "mean_time": 0.2111075448220072, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2502.3927718727846, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876612500000002, + "rps": 4.605192330129481, + "p95_time": 1.9280769230499573, + "mean_time": 1.7360365652188765, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2491.002380212624, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876612500000002, + "rps": 4.626250095761188, + "p95_time": 1.9099876576488894, + "mean_time": 1.7279949932383543, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2485.675910923515, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876612500000002, + "rps": 4.636163527737787, + "p95_time": 1.903750116599258, + "mean_time": 1.7243300925475027, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2513.0496462542437, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876725000000002, + "rps": 4.585663485469448, + "p95_time": 3.789407675900293, + "mean_time": 3.486779306782951, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2466.1079017013544, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876725000000002, + "rps": 4.672950438238998, + "p95_time": 3.6922543314034555, + "mean_time": 3.421855149070639, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2453.7670558702953, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9876725000000002, + "rps": 4.69645232722089, + "p95_time": 3.6763395795493126, + "mean_time": 3.404457531610202, + "total_upload": 4851.50449722 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11563.162223340232, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987675, + "rps": 3.154846338345505, + "p95_time": 6.195538899677922, + "mean_time": 5.070144316670568, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1200.8742628152338, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9877250000000001, + "rps": 9.5405492104903, + "p95_time": 0.5081432532402685, + "mean_time": 0.4186525918444386, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10257.032903641428, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98775, + "rps": 3.556584086519695, + "p95_time": 2.0671654846039016, + "mean_time": 1.124029066509549, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 716.7091317807443, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9877750000000001, + "rps": 15.985564424906652, + "p95_time": 0.5668841088190674, + "mean_time": 0.4993210062206781, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11244.166040793802, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98785, + "rps": 3.244349102250062, + "p95_time": 3.409862279456865, + "mean_time": 2.4645513714935694, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2401.8290022190536, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9878850000000001, + "rps": 4.7980101786400935, + "p95_time": 0.914834307750516, + "mean_time": 0.8328295564730093, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2448.530834012783, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9878850000000001, + "rps": 4.706495764692435, + "p95_time": 0.9341355825993557, + "mean_time": 0.8490379194722696, + "total_upload": 4851.50449722 + }, + { + "hash_code": 3080156166007542585676909978852063851, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1712577693362, + "cost": 2404.04408668056, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9878850000000001, + "rps": 4.793589295574038, + "p95_time": 0.9131361485505294, + "mean_time": 0.8336580202429945, + "total_upload": 4851.50449722 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3440.4787415816522, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.987965, + "rps": 28.56579196731756, + "p95_time": 0.08223749019016395, + "mean_time": 0.06965347676916281, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3429.784826231323, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9879650000000001, + "rps": 28.65485882622873, + "p95_time": 0.08146883790104767, + "mean_time": 0.06941058407747187, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3460.951266612501, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9879650000000001, + "rps": 28.396817068214364, + "p95_time": 0.08134511194875813, + "mean_time": 0.07006862916587124, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 13254.32495410018, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98799625, + "rps": 2.752309161449602, + "p95_time": 8.83319551599852, + "mean_time": 5.811547195696332, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 33177.38018729663, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.988, + "rps": 1.0995443218861483, + "p95_time": 1.0354304522472375, + "mean_time": 0.9089921189141169, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1082.5435114989264, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9880125000000001, + "rps": 10.583408314125176, + "p95_time": 0.8105966860312037, + "mean_time": 0.7542721510422998, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11429.797427958001, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98802125, + "rps": 3.1916576151006524, + "p95_time": 3.462277958802588, + "mean_time": 2.505345054571377, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 17942.388391146236, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98805, + "rps": 2.0331741351670463, + "p95_time": 1.3694689526921138, + "mean_time": 0.9828021825706892, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 180.9947667096087, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98805, + "rps": 63.30017275240791, + "p95_time": 0.0785788219072856, + "mean_time": 0.030855959979235195, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1540.5844498168815, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98805, + "rps": 7.436788032854553, + "p95_time": 0.6870227884384803, + "mean_time": 0.5372943072787603, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 5403.895806581713, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98807, + "rps": 9.03052200609858, + "p95_time": 0.12673245884943754, + "mean_time": 0.10993625282438006, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 369.4868251966618, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.988115, + "rps": 20.87489857289148, + "p95_time": 0.15360023159882985, + "mean_time": 0.09497745842298537, + "total_upload": 4820.190272667 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 224.2122101840826, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9881400000000001, + "rps": 51.09891201105229, + "p95_time": 0.05433913393644616, + "mean_time": 0.018180691044777632, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 101366527273925907394070177480754888737, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "client:3.135.182.21, us-east-2; server:us-east-2 1cu;", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1683981768608, + "cost": 1415.5316987608066, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9881875, + "rps": 8.093778479160697, + "p95_time": 1.0833280979073607, + "mean_time": 0.9867733491583786, + "total_upload": 5967.833041057922 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 555.9856413546679, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9883, + "rps": 13.872660418364674, + "p95_time": 0.19692451474948025, + "mean_time": 0.07124146284199924, + "total_upload": 4820.190272667 + }, + { + "hash_code": 154313158561030963874349967994728287270, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684408731538, + "cost": 195.2701754497093, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98833625, + "rps": 234.71582331734024, + "p95_time": 0.03878793054946072, + "mean_time": 0.03081733197575727, + "total_upload": 2752.150063756 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 140.18655653399765, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98835, + "rps": 85.6002194268164, + "p95_time": 0.02453729509979894, + "mean_time": 0.02250867588396977, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10653.269662037237, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9883500000000001, + "rps": 3.4243008163020527, + "p95_time": 2.0047539244515065, + "mean_time": 1.167183257970104, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 136.3356979184996, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.988375, + "rps": 88.01803330462654, + "p95_time": 0.23184357654999974, + "mean_time": 0.1803654901626278, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 121.7794604339979, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9883875000000001, + "rps": 98.53878443240244, + "p95_time": 0.09902212889892326, + "mean_time": 0.07999631539098505, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 5701.811631556333, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9884200000000001, + "rps": 8.558683301622828, + "p95_time": 0.258355870952073, + "mean_time": 0.23313387679259176, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 78.98031803400409, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98845, + "rps": 151.93658747782627, + "p95_time": 0.029818494600112887, + "mean_time": 0.025528887079517518, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 10727.528569254773, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9884700000000001, + "rps": 3.4005968629673125, + "p95_time": 0.7228198498945858, + "mean_time": 0.5875477820884698, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 35483.174587212, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9884700000000001, + "rps": 1.0280929038730162, + "p95_time": 1.101361661058763, + "mean_time": 0.9721911324458924, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4042.2350314896553, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98853, + "rps": 12.07252908844741, + "p95_time": 0.19566830044786912, + "mean_time": 0.16472154770907946, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 6659.625779875848, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9886000000000001, + "rps": 14.757585973822117, + "p95_time": 0.08106506520198309, + "mean_time": 0.06741754645288166, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 6397.560943465013, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9886000000000001, + "rps": 15.362104537728731, + "p95_time": 0.0787760258979688, + "mean_time": 0.06475574472022709, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 6400.802308380335, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9886000000000001, + "rps": 15.354325171287607, + "p95_time": 0.0759457640524488, + "mean_time": 0.06464466275091399, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11916.463104473862, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.988625, + "rps": 3.0613110350087114, + "p95_time": 6.790833416569502, + "mean_time": 5.224176635505724, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 13979.222573533143, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9886900000000001, + "rps": 2.609587178980008, + "p95_time": 0.46699081594197195, + "mean_time": 0.38271044592018005, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 426.0826511456347, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9887350000000001, + "rps": 18.102121687568317, + "p95_time": 0.16593154099919047, + "mean_time": 0.10964947292299349, + "total_upload": 4820.190272667 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 390.84139943099757, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9887874999999999, + "rps": 30.70299107891353, + "p95_time": 0.610860398749719, + "mean_time": 0.520492431642966, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 219.64847616299812, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9887999999999999, + "rps": 54.63274869749137, + "p95_time": 0.08959966265101683, + "mean_time": 0.07287833611199676, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 11459.464827269758, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.988825, + "rps": 3.1833947352575835, + "p95_time": 3.4744415225482954, + "mean_time": 2.5120607093601883, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3464.6176675173115, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9889000000000001, + "rps": 28.36676638851924, + "p95_time": 0.08174534026766196, + "mean_time": 0.07013943368615583, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3462.7674749685198, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9889000000000001, + "rps": 28.381923045783914, + "p95_time": 0.08251473574637203, + "mean_time": 0.07006234443929861, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3621.9953461093005, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9889000000000001, + "rps": 27.134214875668206, + "p95_time": 0.09033139800012577, + "mean_time": 0.0733280320619815, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3357.3608120952235, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98899, + "rps": 29.272993133754525, + "p95_time": 0.3126803960491088, + "mean_time": 0.2726001481262374, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3305.303101327521, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98899, + "rps": 29.734035574688278, + "p95_time": 0.3068640948942629, + "mean_time": 0.2683215228217032, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3263.456746281954, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98899, + "rps": 30.115306449815854, + "p95_time": 0.30320115595386593, + "mean_time": 0.2648911470985713, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3291.9809945697693, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9890050000000001, + "rps": 29.85436433628143, + "p95_time": 0.6038835670427943, + "mean_time": 0.5351696408816079, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3346.292015406174, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9890050000000001, + "rps": 29.369821745240227, + "p95_time": 0.6113223575492157, + "mean_time": 0.5439602392876696, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3252.5373928769595, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9890050000000001, + "rps": 30.216408953585805, + "p95_time": 0.5981049889043788, + "mean_time": 0.5287343446135264, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 265693990262286361763103215273633130167, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1705545611666, + "cost": 10044.665865858758, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98905, + "rps": 3.631778347549959, + "p95_time": 1.9778402164556605, + "mean_time": 1.1005500523118426, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 373.6603638105043, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.989125, + "rps": 32.11472546252083, + "p95_time": 0.29253618610055127, + "mean_time": 0.24864849059120298, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3364.840746802131, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.989165, + "rps": 29.207920194559907, + "p95_time": 0.16772077234199967, + "mean_time": 0.13650466531825078, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3313.801511994012, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.989165, + "rps": 29.65778114479223, + "p95_time": 0.1654781363038637, + "mean_time": 0.13440308580752752, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3272.6110430122376, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 128 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9891650000000001, + "rps": 30.031066542371402, + "p95_time": 0.16368725154097774, + "mean_time": 0.132728727255384, + "total_upload": 6448.281701351007 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3276.0009791727757, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9891925000000001, + "rps": 14.896210443845014, + "p95_time": 0.3025101212173467, + "mean_time": 0.2678825877264899, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 250.1701282439899, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9892, + "rps": 47.96735759073701, + "p95_time": 0.021097071199710625, + "mean_time": 0.01989588915400873, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 287.7478937283857, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9892799999999999, + "rps": 26.80471401566728, + "p95_time": 0.225069539649121, + "mean_time": 0.14740751378799133, + "total_upload": 4820.190272667 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 176.4014208833434, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9893075, + "rps": 64.94845643888925, + "p95_time": 0.09539447939023375, + "mean_time": 0.060505110635771416, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 4471.352702664784, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98935, + "rps": 8.158604884436667, + "p95_time": 0.2970240259593993, + "mean_time": 0.24460122975531703, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 220.64949494847957, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.989395, + "rps": 51.92398016897861, + "p95_time": 0.08165706737199799, + "mean_time": 0.03782294078439009, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 6202.302348847518, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98945, + "rps": 15.845728645953855, + "p95_time": 0.07553655631199944, + "mean_time": 0.0627586743144202, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 5427.408053469155, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98945, + "rps": 18.108091197819597, + "p95_time": 0.059207597299246115, + "mean_time": 0.054899361009476705, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 5668.196637350117, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98945, + "rps": 17.33884801250401, + "p95_time": 0.06407808740914334, + "mean_time": 0.057331291433481965, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3449.824903347275, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9895562500000001, + "rps": 14.145645465267132, + "p95_time": 1.4352962971301164, + "mean_time": 1.1284212053302236, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 301901989582125706553329070411516252303, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1687336495572, + "cost": 776.4267581598833, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896, + "rps": 10.303611919506546, + "p95_time": 0.1151147743075853, + "mean_time": 0.09682438434998039, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 5695.90981336404, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896356250000001, + "rps": 6.4045957880879225, + "p95_time": 3.067870188840607, + "mean_time": 2.4969453359386717, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 3350.887433698287, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896375000000001, + "rps": 14.563306277985205, + "p95_time": 0.615242676490743, + "mean_time": 0.5485049481928072, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 5152.628587055518, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896425000000001, + "rps": 7.079881536900485, + "p95_time": 0.7012513219568063, + "mean_time": 0.564320472938547, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4172.028993278951, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896925, + "rps": 11.696946516578803, + "p95_time": 0.4119651769899064, + "mean_time": 0.3410247935783118, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2026.1078202513827, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9896999999999999, + "rps": 18.004964807585544, + "p95_time": 0.6547324344443035, + "mean_time": 0.44360705896154107, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 301901989582125706553329070411516252303, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1687336495572, + "cost": 733.7788075080607, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9897, + "rps": 10.90246804369874, + "p95_time": 0.2119714392843889, + "mean_time": 0.18314050547077204, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2105.4644934968364, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9897125, + "rps": 17.32634300539194, + "p95_time": 1.1186885823553894, + "mean_time": 0.9225387033155221, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 98858038577937078042976461630987161849, + "engine": "opensearch-v2.11-1*r6g.2xlarge.search", + "version": "v2.11", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1705134238750, + "cost": 11642.627237111445, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98976, + "rps": 4.191493810301476, + "p95_time": 0.2594125310497475, + "mean_time": 0.23806047342420789, + "total_upload": 3583.3111332420085 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 4464.777500227959, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9897674999999999, + "rps": 8.170619924091948, + "p95_time": 1.246722539501934, + "mean_time": 0.9780070083248847, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 266.6083851633301, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9898631250000001, + "rps": 28.93007283051074, + "p95_time": 0.6458176665008977, + "mean_time": 0.5472145237958825, + "total_upload": 4820.190272667 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3259.2082316422498, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9899600000000001, + "rps": 30.15456301498069, + "p95_time": 0.6000106856547063, + "mean_time": 0.5297823153618901, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3193.2359391380287, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9899600000000001, + "rps": 30.777556645729526, + "p95_time": 0.5922863276864518, + "mean_time": 0.5190864176527975, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3325.768023116835, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9899600000000001, + "rps": 29.551068901039642, + "p95_time": 0.6115120379341533, + "mean_time": 0.5406702428746667, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3207.0487198644605, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98998, + "rps": 30.644997499181613, + "p95_time": 0.3001044489021297, + "mean_time": 0.260192350967176, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3273.6601013612326, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98998, + "rps": 30.021442958947947, + "p95_time": 0.3064155573170865, + "mean_time": 0.2656830575773529, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3336.6862197108876, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.98998, + "rps": 29.45437285035319, + "p95_time": 0.31022642320021987, + "mean_time": 0.27083070488793964, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 170.7144108044845, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9900074999999999, + "rps": 67.11208471510616, + "p95_time": 0.17683691411511973, + "mean_time": 0.11660193020143197, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3213.335621034618, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 128 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9900125000000001, + "rps": 30.58504046594304, + "p95_time": 0.16066454798565247, + "mean_time": 0.1302365165747542, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3345.3857610487958, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 512 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9900125000000001, + "rps": 29.377777936493846, + "p95_time": 0.16645092194958122, + "mean_time": 0.13563790674231133, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 271047396699642419255507584412370045606, + "engine": "elastic-v8.12.2-VectorSearch(ARM)", + "version": "v8.12.2", + "remark": "Vector Search Optimized (ARM) 3.9vCPU 30GB AWS Ohio us-east-2; client 4c 8GB us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1709749260869, + "cost": 3280.333033570552, + "monthly_cost": 982.8, + "index_create_parameter": { + "m": 16, + "ef_construction": 256 + }, + "index_search_params": { + "num_candidates": 256 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9900125000000001, + "rps": 29.960372618942575, + "p95_time": 0.1641467291628942, + "mean_time": 0.13296990566023306, + "total_upload": 7665.097942644003 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 272.48729125506907, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99002375, + "rps": 28.305907275433402, + "p95_time": 0.3532364105491979, + "mean_time": 0.27881237478888715, + "total_upload": 4820.190272667 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4178.989338266672, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.990055625, + "rps": 11.677464585310686, + "p95_time": 1.481801664480008, + "mean_time": 1.3684864661992178, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 371.3106677016695, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9901475000000001, + "rps": 20.772363066597993, + "p95_time": 0.2697424492002028, + "mean_time": 0.19061954995025052, + "total_upload": 4820.190272667 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 6513.167487011533, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9902000000000001, + "rps": 5.60096144813532, + "p95_time": 0.4354328135392279, + "mean_time": 0.35659325333547165, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 336.57021058799, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.990235, + "rps": 35.65377927843327, + "p95_time": 0.05952646449804888, + "mean_time": 0.05575888096250128, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 217.8653426760138, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99035, + "rps": 55.07989408781334, + "p95_time": 0.03877044204855338, + "mean_time": 0.0359822826478703, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 170880665943275421133505982548230375373, + "engine": "opensearch-v2.7-1*r6g.2xlarge.search", + "version": "v2.7", + "remark": "r6g.2xlarge AWS us-east-2; client us-east-2", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1695312244473, + "cost": 4168.287394841027, + "monthly_cost": 488, + "index_create_parameter": { + "m": 12, + "ef_construction": 100 + }, + "index_search_params": { + "knn.algo_param.ef_search": 512 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99035375, + "rps": 11.707446098941833, + "p95_time": 0.7858310705662006, + "mean_time": 0.6822310528226517, + "total_upload": 2734.639871392981 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2456.9018826091706, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9904749999999999, + "rps": 14.847967783418, + "p95_time": 0.3535868219485564, + "mean_time": 0.268818666874693, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 1839.318704462419, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9905499999999999, + "rps": 24.918465673623263, + "p95_time": 0.08865504959430837, + "mean_time": 0.0796701667054258, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 340.2711852962307, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.990628125, + "rps": 22.66721466081612, + "p95_time": 0.7782066105501144, + "mean_time": 0.6996525243414978, + "total_upload": 4820.190272667 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2844.164048848544, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99065, + "rps": 12.826264369233158, + "p95_time": 0.8460382374454639, + "mean_time": 0.6229969056710488, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 214.78590736646942, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9906600000000001, + "rps": 53.341488463914786, + "p95_time": 0.10353329919744281, + "mean_time": 0.07394510559813353, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 2955.8431441893813, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99068125, + "rps": 12.34165624509293, + "p95_time": 1.5615138622517406, + "mean_time": 1.295433960780426, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 12257.044616959049, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9907999999999999, + "rps": 2.9762476306503505, + "p95_time": 0.31751740244217214, + "mean_time": 0.3355252763909812, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 10339.10057572704, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99085, + "rps": 3.5283533352643444, + "p95_time": 0.6990790628093236, + "mean_time": 0.5662814969395767, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 176789450951998801483845294032012039277, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693833081037, + "cost": 342.90849342149977, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99088875, + "rps": 22.492881185416586, + "p95_time": 0.44485754630059093, + "mean_time": 0.3514787653928672, + "total_upload": 4820.190272667 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 1733.2598402321312, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9909, + "rps": 26.44323657430481, + "p95_time": 0.08216091120120836, + "mean_time": 0.0750370093459569, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 1585.0417248378885, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9909000000000001, + "rps": 28.91595803554484, + "p95_time": 0.07429178510319616, + "mean_time": 0.06855400422602179, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 22193.773563797993, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99092, + "rps": 1.643704253138159, + "p95_time": 0.7438819810507993, + "mean_time": 0.6078895324174227, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 4639.1334629760195, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9909749999999999, + "rps": 7.863537509998249, + "p95_time": 2.4923922959264018, + "mean_time": 2.0334362574014175, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 4627.550748668887, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9909874999999999, + "rps": 7.883219867549472, + "p95_time": 1.2905633816466433, + "mean_time": 1.013884527004062, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 629.3638543320412, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99105, + "rps": 19.066871917415536, + "p95_time": 0.054245798051124436, + "mean_time": 0.05216501542707556, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 396.1324615199701, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9911, + "rps": 30.292897365582466, + "p95_time": 0.033928597449630615, + "mean_time": 0.03223894396407559, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 127.69484170499346, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.991125, + "rps": 93.97403872995086, + "p95_time": 0.056537811650559884, + "mean_time": 0.04225530330175389, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 377.05425048599864, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9911275, + "rps": 31.82565899875886, + "p95_time": 0.2939058111016493, + "mean_time": 0.25063332150200496, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 229.81181415899482, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9911550000000001, + "rps": 52.21663665949665, + "p95_time": 0.09275836525521299, + "mean_time": 0.07625592103720191, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 145680235624851528157057027452335962220, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883073737, + "cost": 390.81088471574185, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9911868750000001, + "rps": 30.70538838427762, + "p95_time": 0.6058111844475207, + "mean_time": 0.5204259604791605, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 181.462013152508, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9912000000000001, + "rps": 66.12954299098796, + "p95_time": 0.17204975740132794, + "mean_time": 0.12050311860654346, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 301901989582125706553329070411516252303, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1687336495572, + "cost": 731.2649578379933, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9912000000000001, + "rps": 10.939947161767794, + "p95_time": 0.4048426583438413, + "mean_time": 0.365194549550477, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 13006.223287366955, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9913, + "rps": 2.8048111426345654, + "p95_time": 0.4315612730948487, + "mean_time": 0.35602962017594836, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 201.93321101549733, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99133125, + "rps": 59.42558898386982, + "p95_time": 0.37510490200002095, + "mean_time": 0.26855850427777295, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 3482.8794734558837, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99135, + "rps": 10.474091991418456, + "p95_time": 0.48934473249973937, + "mean_time": 0.38134507585311805, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 190581728639617235682084340948619560350, + "engine": "zilliz-capacity-1cu", + "version": "v1.0.0", + "remark": "Client us-east-2 4c8GB; Server us-east-2 1CU capacity optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1684165623339, + "cost": 207.94445790309115, + "monthly_cost": 114.57, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9914525, + "rps": 55.09644313453803, + "p95_time": 0.18811578648164867, + "mean_time": 0.14264285842204116, + "total_upload": 6086.823213248979 + }, + { + "hash_code": 301901989582125706553329070411516252303, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1687336495572, + "cost": 734.4952989420271, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9915375000000001, + "rps": 10.89183281570796, + "p95_time": 0.7910895400069421, + "mean_time": 0.7338132299886929, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 3364.376886593255, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9915999999999999, + "rps": 13.623027842879452, + "p95_time": 0.07833317420117965, + "mean_time": 0.07269588300431497, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 5272.869692734053, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.991625, + "rps": 6.918433817977518, + "p95_time": 0.7217277627009024, + "mean_time": 0.5775538212717293, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 3564.1157824819707, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9919, + "rps": 12.859571012051388, + "p95_time": 0.08436173855079687, + "mean_time": 0.07707298883395561, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 3113.2435661305203, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9919000000000001, + "rps": 14.721944822635981, + "p95_time": 0.07103671444892824, + "mean_time": 0.06731163499891409, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 71141409511760638501505137681283141421, + "engine": "weaviate-v1.23.3-standard-HNSW", + "version": "v1.23.3", + "remark": "client: AWS EC2 c5.xlarge us-east-2; server: GCP us-east-4;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1705545611666, + "cost": 20766.736899333, + "monthly_cost": 364.8, + "index_create_parameter": { + "ef": 100, + "efConstruction": 128, + "maxConnections": 32 + }, + "index_search_params": { + "ef": 512 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.992, + "rps": 1.7566553752203453, + "p95_time": 0.6905946350401792, + "mean_time": 0.5687832063837995, + "total_upload": 4380.049966331004 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 793.9087404866772, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9922000000000001, + "rps": 57.73081673329825, + "p95_time": 0.07644001509688678, + "mean_time": 0.0686537848861899, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 577.4039681074686, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9923375, + "rps": 79.37770180247426, + "p95_time": 0.12496060089906676, + "mean_time": 0.09987182833236694, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 618.4628791799626, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924000000000001, + "rps": 18.63329293955362, + "p95_time": 0.3254066237506776, + "mean_time": 0.21414754458924246, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 617.3446694215319, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924000000000001, + "rps": 18.66704382626044, + "p95_time": 0.31247340814925334, + "mean_time": 0.21373088466251694, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 625.3575950326835, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924000000000001, + "rps": 18.42785646410469, + "p95_time": 0.3279595492511362, + "mean_time": 0.21645713359599358, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 603.1445468964525, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924112500000001, + "rps": 19.106531028586804, + "p95_time": 0.5495411989488275, + "mean_time": 0.41773892502137644, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 604.6760561033489, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924112500000001, + "rps": 19.05813845890131, + "p95_time": 0.5522685009009364, + "mean_time": 0.4188046378562658, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 599.8855865128057, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924112500000001, + "rps": 19.210329868050593, + "p95_time": 0.5490165534485634, + "mean_time": 0.41550205429775405, + "total_upload": 4851.50449722 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 166.88925340324369, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924125000000001, + "rps": 274.82896031164427, + "p95_time": 0.036757447650234094, + "mean_time": 0.014145967506747183, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 226.46796343465076, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924125000000001, + "rps": 202.5275421052436, + "p95_time": 0.0512227742996401, + "mean_time": 0.019302880154251852, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 562.2433672620792, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.992421875, + "rps": 20.49646233466068, + "p95_time": 0.9192943169475256, + "mean_time": 0.7785760142804871, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 549.8832267510078, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924218750000001, + "rps": 20.957176795680247, + "p95_time": 0.9136748150525817, + "mean_time": 0.7613300593873032, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 574.6969998316042, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924218750000001, + "rps": 20.052305829640183, + "p95_time": 0.9377110981502482, + "mean_time": 0.7956195101625713, + "total_upload": 4851.50449722 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 145.0713930828535, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924425000000001, + "rps": 316.1615741416705, + "p95_time": 0.05848887890106197, + "mean_time": 0.024835294782375287, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 140.74013472917832, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924425000000001, + "rps": 325.891403246547, + "p95_time": 0.05782448369936901, + "mean_time": 0.024055951466742498, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 163.8519180121477, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924425000000001, + "rps": 279.9234855255071, + "p95_time": 0.06418852774977493, + "mean_time": 0.028085998881628937, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 190.65817260508516, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99245, + "rps": 240.56666112605282, + "p95_time": 0.04610502069890572, + "mean_time": 0.01618112383374546, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 126.57378142053379, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924537500000001, + "rps": 362.3657244434609, + "p95_time": 0.0733420748498247, + "mean_time": 0.043246501999249516, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 127.7051958504497, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924537500000001, + "rps": 359.15531623092136, + "p95_time": 0.07371355215036601, + "mean_time": 0.043521266733566565, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 126.61727554633607, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9924537500000001, + "rps": 362.2412486929176, + "p95_time": 0.07340248910049922, + "mean_time": 0.04320266453894408, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 239.9381254925813, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925050000000001, + "rps": 191.15761576381135, + "p95_time": 0.01478032979994168, + "mean_time": 0.010085947588501768, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 219.55546552818723, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925050000000001, + "rps": 208.90393181358345, + "p95_time": 0.011813593350871088, + "mean_time": 0.009200086426491907, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 639.4327024313602, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925050000000001, + "rps": 18.02222494436315, + "p95_time": 0.16376585819862155, + "mean_time": 0.11062873290748758, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 631.299053113283, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925050000000001, + "rps": 18.25442307123512, + "p95_time": 0.1580328163992817, + "mean_time": 0.10915092141404875, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 642.2567394145999, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925050000000001, + "rps": 17.942980264409247, + "p95_time": 0.16208086434880895, + "mean_time": 0.11105120543648536, + "total_upload": 4851.50449722 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 279.51636571189977, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925150000000001, + "rps": 164.09057080856059, + "p95_time": 0.026506189301017002, + "mean_time": 0.011825019173497821, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 1003.4057953898222, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9925750000000001, + "rps": 45.67743201263246, + "p95_time": 0.10224629735203052, + "mean_time": 0.08685019967074367, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 411.8164469800289, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 111.3748621172099, + "p95_time": 0.009802039951227925, + "mean_time": 0.008424060604009355, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 407.26535923502007, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 112.61944813119293, + "p95_time": 0.009428261049652064, + "mean_time": 0.008149299596952915, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 110903745155659112170352528625724746078, + "engine": "zilliz-2024-04-03-performance-4cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 4CU performance-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712644964686, + "cost": 407.4883312442539, + "monthly_cost": 458.66, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 112.55782431842769, + "p95_time": 0.009653976400750252, + "mean_time": 0.008256969943011427, + "total_upload": 2898.0931240160007 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 687.218972985077, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 16.769036439641845, + "p95_time": 0.08828127249989848, + "mean_time": 0.059319295407014576, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 640.6613191480758, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 17.9876631467686, + "p95_time": 0.0825526622497818, + "mean_time": 0.05519525043999601, + "total_upload": 4851.50449722 + }, + { + "hash_code": 340195794136417759881562697183556792026, + "engine": "zilliz-2024-04-03-capacity-1cu", + "version": "2024-04-03", + "remark": "Release date: 2024-04-03, us-east-2; server us-east-2, standard 1CU capacity-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1712577693362, + "cost": 639.4944955829071, + "monthly_cost": 115.24, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99271, + "rps": 18.02048349062916, + "p95_time": 0.08212110465092336, + "mean_time": 0.05509648415800984, + "total_upload": 4851.50449722 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 1209.1396871980835, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99275, + "rps": 37.90546326885353, + "p95_time": 0.1285972875492007, + "mean_time": 0.10478121534203638, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 454.73727127199527, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99283, + "rps": 26.388863983885663, + "p95_time": 0.03864577364993238, + "mean_time": 0.03709263671798999, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 765.2207806961042, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.993, + "rps": 59.89513243263827, + "p95_time": 0.16523185709665994, + "mean_time": 0.13249788081034786, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 272441175733084543562414477271297159672, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1684463831968, + "cost": 958.4656092361862, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9931125000000001, + "rps": 47.81913879677427, + "p95_time": 0.18862765369558473, + "mean_time": 0.16623077048301638, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 218.56059991799702, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9932, + "rps": 54.904680919170005, + "p95_time": 0.038014212601228795, + "mean_time": 0.035577308052010266, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 242.44494202198985, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99326, + "rps": 49.49577376174585, + "p95_time": 0.042233466748984934, + "mean_time": 0.03960309147099815, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 396.49412218800353, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9933999999999998, + "rps": 30.265265809690927, + "p95_time": 0.03435608269992372, + "mean_time": 0.03231434257000729, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 140.89795800601132, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9936024999999999, + "rps": 85.1680192518335, + "p95_time": 0.05934181614829867, + "mean_time": 0.04661998824557668, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 159.15600953099784, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.993625, + "rps": 75.39771847360143, + "p95_time": 0.0663033512999391, + "mean_time": 0.05221906597225506, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 167.59140323700012, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9936600000000001, + "rps": 71.60271808829089, + "p95_time": 0.06908538374937052, + "mean_time": 0.05498222564524576, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 263.9471949300014, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9937125000000001, + "rps": 45.46363905546483, + "p95_time": 0.21067802694960847, + "mean_time": 0.17486090794950088, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 246.40836999601743, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9937449999999999, + "rps": 48.699644416275106, + "p95_time": 0.04379261900321581, + "mean_time": 0.04073056910295782, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 269.44872289575005, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.993775, + "rps": 44.53537530642819, + "p95_time": 0.41178768044901515, + "mean_time": 0.35793759125613567, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 209.85734465624412, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9937837500000001, + "rps": 57.18170131074777, + "p95_time": 0.3770890252468234, + "mean_time": 0.2791944456744841, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 193.6609302735014, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9938025, + "rps": 61.96396961975121, + "p95_time": 0.1767423893459636, + "mean_time": 0.12866560984020453, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 267.4683470204991, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9938062500000001, + "rps": 44.86512192442834, + "p95_time": 0.2103321007004524, + "mean_time": 0.17720759560627083, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 109104229723356631810701666471293587569, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip", + "dataset_group": "laion-768-5m-ip", + "dataset_tag": "no-filter", + "time_stamp": 1693832758685, + "cost": 271.15641634725125, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9938231250000001, + "rps": 44.25489966880382, + "p95_time": 0.41352406644882644, + "mean_time": 0.3602074956141828, + "total_upload": 1941.2548287990003 + }, + { + "hash_code": 266863960683268020214196882840696933822, + "engine": "myscale", + "version": "myscale-v0.10.4", + "remark": "optimize, disk mode", + "index_type": "MSTG", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883073737, + "cost": 449.82696916797426, + "monthly_cost": 120, + "index_create_parameter": { + "optimizers_config": { + "optimize_final": true + } + }, + "index_search_params": { + "alpha": 4 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99438, + "rps": 26.676924289790552, + "p95_time": 0.038972028301577664, + "mean_time": 0.03719977698480943, + "total_upload": 2334.351436294004 + }, + { + "hash_code": 213352302283796694798571062083522611063, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1687336495572, + "cost": 455.5632374479901, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9946, + "rps": 17.56067948944921, + "p95_time": 0.14225621601508465, + "mean_time": 0.11362964963418198, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 330.75816634312196, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99475, + "rps": 23.319152132433477, + "p95_time": 0.1362870317479974, + "mean_time": 0.08546944983557841, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 334.0069811477153, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9949, + "rps": 23.092331703656544, + "p95_time": 0.13392118890405982, + "mean_time": 0.08633060933713568, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 331.4821042886908, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99505, + "rps": 23.268224438694517, + "p95_time": 0.13428927544991892, + "mean_time": 0.08566541663138559, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 213352302283796694798571062083522611063, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1687336495572, + "cost": 504.7061226801015, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9951, + "rps": 15.850808303093737, + "p95_time": 0.08323410972952841, + "mean_time": 0.06286034522752743, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1735.0233704302584, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.995195, + "rps": 4.445473260736135, + "p95_time": 0.5062427220982499, + "mean_time": 0.4494012585643577, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 3105.1380135327363, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9952000000000001, + "rps": 14.760374514836938, + "p95_time": 0.16146630880284646, + "mean_time": 0.13485001881903735, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1737.4136724194655, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99526, + "rps": 4.439357259839637, + "p95_time": 0.5060632912594883, + "mean_time": 0.4499898220840405, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 452.67748519374413, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9952799999999999, + "rps": 60.3741093690641, + "p95_time": 0.09896591209544565, + "mean_time": 0.06583436105599977, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 373.85734510427466, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9952799999999999, + "rps": 73.10274990685882, + "p95_time": 0.11263292743824423, + "mean_time": 0.10878395947492099, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 455.9576423102846, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9952799999999999, + "rps": 59.939778312568805, + "p95_time": 0.0527335708917235, + "mean_time": 0.03298141836268769, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 903.1098541563389, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9952799999999999, + "rps": 30.26209920556227, + "p95_time": 0.04776641538628607, + "mean_time": 0.032670159226877146, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 785.6619857833654, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 34.78595184002684, + "p95_time": 0.030227721837582062, + "mean_time": 0.028389253379486036, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 387.88108483634085, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 70.45973899843912, + "p95_time": 0.11600643506390042, + "mean_time": 0.11294529185857972, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 377.896193400889, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 72.32144826345771, + "p95_time": 0.056403850992501246, + "mean_time": 0.05489474107150745, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 401.3010489975784, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 68.10348507253696, + "p95_time": 0.03080058959894813, + "mean_time": 0.02899719962621457, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 746.5509606451837, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 36.60835152684137, + "p95_time": 0.028853603122115594, + "mean_time": 0.026923540630185743, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 731.2157608575467, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 37.376109026900956, + "p95_time": 0.02824766716075828, + "mean_time": 0.026400114615110215, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 390.7071132729842, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 69.95009579184376, + "p95_time": 0.030004834901774302, + "mean_time": 0.02822434869026183, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 409.64799478174825, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 66.71581540283346, + "p95_time": 0.0608625231689075, + "mean_time": 0.05953641002512304, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 386.13777221806447, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 70.77784657794594, + "p95_time": 0.05762772591551766, + "mean_time": 0.05609692191370123, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 417.89604295427824, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 65.39903993058427, + "p95_time": 0.03291340680007123, + "mean_time": 0.030201184976517106, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 375.55139447925956, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 72.77299565854587, + "p95_time": 0.11263130948937032, + "mean_time": 0.10934437055074087, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 400.45829687870423, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99529, + "rps": 68.24680675370811, + "p95_time": 0.11916870646091411, + "mean_time": 0.11656393669780518, + "total_upload": 10250.241604034993 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 5518.293801649643, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953, + "rps": 8.305646934981723, + "p95_time": 0.2721931938012858, + "mean_time": 0.24011687653746777, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 7374.861474087201, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953, + "rps": 6.214760800733932, + "p95_time": 0.1828839116526069, + "mean_time": 0.16020710373517066, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 330.57365215457713, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953000000000001, + "rps": 23.33216803495694, + "p95_time": 0.0822312169471843, + "mean_time": 0.04201323521907034, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1740.0619602943189, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953000000000001, + "rps": 4.4326007785926205, + "p95_time": 0.507325813198986, + "mean_time": 0.45072545175868073, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 213352302283796694798571062083522611063, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1687336495572, + "cost": 449.86526923399646, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953125, + "rps": 17.78310206880811, + "p95_time": 0.5117666101228678, + "mean_time": 0.44933391188361566, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 387.2169266205485, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953300000000002, + "rps": 70.58059222390841, + "p95_time": 0.05716455727233551, + "mean_time": 0.05624674309129477, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 869.4169969321104, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953300000000002, + "rps": 31.434858182481683, + "p95_time": 0.036648046461050396, + "mean_time": 0.03141362475235947, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 388.52735222734503, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953300000000002, + "rps": 70.34253790195953, + "p95_time": 0.11817364888411248, + "mean_time": 0.11312414418765111, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 490.4368889562368, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9953300000000002, + "rps": 55.72582449530777, + "p95_time": 0.056397266793646844, + "mean_time": 0.03548597271518665, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 4340.168206739952, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99535, + "rps": 10.560189793756109, + "p95_time": 0.21654119794329746, + "mean_time": 0.1887177704280766, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 213352302283796694798571062083522611063, + "engine": "pinecone-1-pod", + "version": "2023-6-20", + "remark": "client:44.210.147.142, us-east-1; server:us-east-1;", + "index_type": "s1", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1687336495572, + "cost": 453.2800695479382, + "monthly_cost": 80, + "index_create_parameter": { + "pod_type": "s1", + "pods": 1 + }, + "index_search_params": "", + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9954, + "rps": 17.64913248442293, + "p95_time": 0.26757966772129294, + "mean_time": 0.2262675109909178, + "total_upload": 2752.0370923479786 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 978.8110446728539, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9954799999999999, + "rps": 27.92163017442703, + "p95_time": 0.07564532935357413, + "mean_time": 0.035382590183606955, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 377.82231464697406, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9954799999999999, + "rps": 72.33558988048745, + "p95_time": 0.11353827759739943, + "mean_time": 0.10999900647420727, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 375.8688277258196, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9954799999999999, + "rps": 72.71153653618778, + "p95_time": 0.055464415898313746, + "mean_time": 0.054561579569085736, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 470.2489250980426, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 256 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9954799999999999, + "rps": 58.11815517558482, + "p95_time": 0.05584713731950613, + "mean_time": 0.034019213204091646, + "total_upload": 10628.879530589009 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 475.16780130970216, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955, + "rps": 16.232160467819376, + "p95_time": 0.1941017768021993, + "mean_time": 0.06094492685196019, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 5823.606688984682, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955, + "rps": 7.8702086950159, + "p95_time": 0.14413534229934155, + "mean_time": 0.12642736966303347, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 412.8690314209568, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 66.1953256846107, + "p95_time": 0.03253805414424276, + "mean_time": 0.029853539894366985, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 389.0530947530419, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 70.24748130418597, + "p95_time": 0.031685314023343375, + "mean_time": 0.028118059900501976, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 390.65514011810046, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 69.9594020233236, + "p95_time": 0.11823332805070094, + "mean_time": 0.11376311836544774, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 368.10702023702873, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 74.24471280770976, + "p95_time": 0.10859545070998138, + "mean_time": 0.10715779776705021, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 733.1018547917876, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 37.27994932949959, + "p95_time": 0.02831398516282206, + "mean_time": 0.026478376954328267, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 787.4348968079854, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 34.70763120962415, + "p95_time": 0.030615110810322217, + "mean_time": 0.028458277859093505, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 379.60065634485534, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 71.99671429222069, + "p95_time": 0.05930037189973518, + "mean_time": 0.05515536546693184, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 393.52194369312093, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99555, + "rps": 69.44974845243364, + "p95_time": 0.05839550855598645, + "mean_time": 0.0571854368506989, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 379.6474526156176, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955800000000001, + "rps": 71.98783980165635, + "p95_time": 0.05751496750599472, + "mean_time": 0.05515566061849822, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 755.8511631124082, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955800000000001, + "rps": 36.157912210469874, + "p95_time": 0.029546603446942744, + "mean_time": 0.027276014337246305, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 383.50867842377426, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955800000000001, + "rps": 71.26305488659777, + "p95_time": 0.1164279289834667, + "mean_time": 0.11168229253061872, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 392.5292724957594, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 32, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9955800000000001, + "rps": 69.62538061488205, + "p95_time": 0.031002051758696324, + "mean_time": 0.02836787527257693, + "total_upload": 9997.688038050983 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 1698.1372523913742, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9957, + "rps": 4.542035685948408, + "p95_time": 0.665648373496151, + "mean_time": 0.21985902068494761, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 5016.760748070749, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99575, + "rps": 9.135974845446952, + "p95_time": 0.9348928495986911, + "mean_time": 0.8738711968418229, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 2588.081278991301, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9957750000000001, + "rps": 17.709258349824047, + "p95_time": 0.49617291265240054, + "mean_time": 0.45037336538285583, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 8673.468592848936, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9957999999999999, + "rps": 5.284275778410979, + "p95_time": 0.21277597980333665, + "mean_time": 0.18854667862797214, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 2869.1433245368025, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9958, + "rps": 15.97445467712887, + "p95_time": 0.2846851284019067, + "mean_time": 0.2496348702549094, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 305.584381184292, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9958499999999999, + "rps": 25.240164337288032, + "p95_time": 0.22943995630339484, + "mean_time": 0.1579399077462367, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 278.0570338550755, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99585, + "rps": 27.738913463415745, + "p95_time": 0.38538822799673655, + "mean_time": 0.28683863627919165, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 282.072949965687, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99585, + "rps": 27.343990272510194, + "p95_time": 0.386360466149199, + "mean_time": 0.2908061630563152, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 271.4965143995881, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99586875, + "rps": 28.409204505101012, + "p95_time": 0.7063767108535102, + "mean_time": 0.5604282171020258, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 285.4787375066333, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9958875, + "rps": 27.01777395880764, + "p95_time": 0.3960601271493941, + "mean_time": 0.2946816379036554, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 271.17107816604016, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.995925, + "rps": 28.443298791906077, + "p95_time": 0.7012935175502207, + "mean_time": 0.5599090170453183, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 300.60132393107017, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.995925, + "rps": 25.6585696268212, + "p95_time": 0.2284254438505741, + "mean_time": 0.15534953714054792, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 3887.592337858088, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.995925, + "rps": 11.789559196747517, + "p95_time": 0.7381703741484671, + "mean_time": 0.6768349144673975, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 267.2027704264479, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9959312499999999, + "rps": 28.865718673838128, + "p95_time": 0.7013657801544467, + "mean_time": 0.5515677515840707, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 311.33618599371056, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996, + "rps": 24.773862939773448, + "p95_time": 0.23215494824617047, + "mean_time": 0.1608801911938681, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 4276.424506253619, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9960500000000001, + "rps": 10.717598295720226, + "p95_time": 0.4175800819979486, + "mean_time": 0.3724074540447582, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 1113.029824790333, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 24.55459808109661, + "p95_time": 0.10785901819617703, + "mean_time": 0.04030544073604397, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 403.16431059167996, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 67.78873844237543, + "p95_time": 0.12662956111162194, + "mean_time": 0.11741381310443103, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 1052.1318383169319, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 25.97583211978367, + "p95_time": 0.1006863024464109, + "mean_time": 0.038120617365275396, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 406.9968686018736, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 67.15039379512855, + "p95_time": 0.06041103818133705, + "mean_time": 0.059148618413915395, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 411.95740688216625, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 66.34180996244912, + "p95_time": 0.06091476063447769, + "mean_time": 0.05987107183019689, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 443.0768031726721, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 128 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 61.682308358962295, + "p95_time": 0.039529584560659636, + "mean_time": 0.03203758851189341, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 394.7792391131968, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 69.22856445387583, + "p95_time": 0.12499516465031772, + "mean_time": 0.11495730068634148, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 459.823739412259, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 64 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962200000000001, + "rps": 59.435817809086736, + "p95_time": 0.05692815760558004, + "mean_time": 0.033258230438822645, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 411.2237317148033, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 8, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99623, + "rps": 66.46017214530367, + "p95_time": 0.12755636869260342, + "mean_time": 0.11977311653421785, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 919.531143030424, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 1, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99623, + "rps": 29.721668708175283, + "p95_time": 0.060576474410481744, + "mean_time": 0.03325799967767962, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 426.0219573634888, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99623, + "rps": 64.15162300351012, + "p95_time": 0.06530085064732702, + "mean_time": 0.06192656566108053, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 197515238496377174672540017291562536066, + "engine": "qdrant-4c32g", + "version": "v1.1.3", + "remark": "client:3.85.229.28, us-east-1; server:us-east-1 4c32GB;", + "index_type": "HNSW", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684314581827, + "cost": 488.7047982163001, + "monthly_cost": 273.3, + "index_create_parameter": { + "m": 16, + "ef_construct": 64 + }, + "index_search_params": { + "hnsw_ef": 256 + }, + "search_parallel": 2, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99623, + "rps": 55.92333060725092, + "p95_time": 0.06304270935070232, + "mean_time": 0.035381018964049875, + "total_upload": 10128.342745439004 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1683.3639266577368, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99624, + "rps": 4.581896925469887, + "p95_time": 0.9832291100959992, + "mean_time": 0.8722123336169643, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1683.1471935057966, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996245, + "rps": 4.582486920787202, + "p95_time": 0.9873854619931081, + "mean_time": 0.8720692524337829, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1634.067933656653, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996259375, + "rps": 4.720121998073943, + "p95_time": 3.5802938761473344, + "mean_time": 3.3861613055918816, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1601.4649800915902, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996261875, + "rps": 4.816215212872704, + "p95_time": 3.4923196762436417, + "mean_time": 3.317863888812372, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1644.1898486208268, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962687499999999, + "rps": 4.691064116756219, + "p95_time": 3.5907701546493627, + "mean_time": 3.407102598433489, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1635.80702179175, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99627125, + "rps": 4.7151038583705995, + "p95_time": 1.8049918884498766, + "mean_time": 1.6949753263032235, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1666.4552518663759, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996275, + "rps": 4.628387105721375, + "p95_time": 1.8265339476412918, + "mean_time": 1.7261617851225237, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1685.12009169682, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.996275, + "rps": 4.577121854996962, + "p95_time": 0.9829862577469612, + "mean_time": 0.8732823722015237, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1666.4853588011833, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9962850000000001, + "rps": 4.628303488695806, + "p95_time": 1.8279997090474351, + "mean_time": 1.7261167848704353, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1733.2930442631816, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9964400000000001, + "rps": 4.449911124681618, + "p95_time": 0.2880926205551077, + "mean_time": 0.2243985516759858, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 30557161082037234825411866778051211660, + "engine": "zilliz-performance-4cu", + "version": "v1.0.0", + "remark": "Client 3.17.76.194, us-east-2; server us-east-2, 4CU performance optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1684463831968, + "cost": 5472.8536695445955, + "monthly_cost": 458.33, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 10, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9964749999999999, + "rps": 8.374607246499583, + "p95_time": 0.5345018937478017, + "mean_time": 0.4767904585214783, + "total_upload": 2927.586229214001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1736.3472350105078, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99654, + "rps": 4.44208384387661, + "p95_time": 0.28807395474577785, + "mean_time": 0.22477927059903596, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 149188626738309365960292261655480506036, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.1", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.1", + "time_stamp": 1693883206859, + "cost": 1734.4737046114183, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9965499999999999, + "rps": 4.446882059666611, + "p95_time": 0.28833031290050715, + "mean_time": 0.22446038316694467, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 395.46070594242866, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9995599999999999, + "rps": 19.503834095524176, + "p95_time": 0.2818107773986412, + "mean_time": 0.20457391557631127, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 396.6213068755499, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9995599999999999, + "rps": 19.446761599270687, + "p95_time": 0.28483483764575795, + "mean_time": 0.2051439782403213, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 400.8408626659549, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 4, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9995599999999999, + "rps": 19.24205019593452, + "p95_time": 0.2971383288480865, + "mean_time": 0.20731243712148353, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 457.31665187082103, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99957, + "rps": 16.865775537468735, + "p95_time": 0.18325129343720617, + "mean_time": 0.11816603645775467, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 470.89204519796033, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99957, + "rps": 16.379550427014536, + "p95_time": 0.18323216659373429, + "mean_time": 0.12176601636897612, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 467.72148297038, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 2, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99957, + "rps": 16.49058313724805, + "p95_time": 0.18368812074622837, + "mean_time": 0.1208389195813943, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 380.7932750198495, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.999615, + "rps": 20.25508459832424, + "p95_time": 0.47957439030869864, + "mean_time": 0.39349190597685085, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 359.91847789900345, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.999615, + "rps": 21.42985279617775, + "p95_time": 0.46777258254660387, + "mean_time": 0.3718681579040931, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 371.5605515310306, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 8, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.999615, + "rps": 20.758393129244382, + "p95_time": 0.47221852469156145, + "mean_time": 0.3838203064256686, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 363.10331144711836, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9996287499999998, + "rps": 21.241888346488697, + "p95_time": 0.8059126957996341, + "mean_time": 0.7507070943807593, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 345.8064439134684, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9996287499999998, + "rps": 22.304384824968828, + "p95_time": 0.7918529884998862, + "mean_time": 0.7144264795161407, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 358.37655681269433, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 16, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.9996287499999998, + "rps": 21.522055093662843, + "p95_time": 0.8042925727066176, + "mean_time": 0.7407142740827476, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 439.0724691781121, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 2 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99972, + "rps": 17.56657622929025, + "p95_time": 0.08605646274445462, + "mean_time": 0.05655391039105598, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 433.95837321285745, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 1 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99972, + "rps": 17.77359414198181, + "p95_time": 0.08591121069875954, + "mean_time": 0.055930202839983394, + "total_upload": 4742.282864647001 + }, + { + "hash_code": 166695776438943663461313804937423793149, + "engine": "zilliz-cost-optimized-1cu", + "version": "v2.1.0", + "remark": "Release date: 2023-08-16, Client 3.145.93.228, us-east-2; server us-east-2, 1CU cost-optimized", + "index_type": "AUTOINDEX", + "dataset": "laion-768-5m-ip-probability-0.01", + "dataset_group": "laion-768-5m-ip-probability", + "dataset_tag": "ratio-0.01", + "time_stamp": 1693883206859, + "cost": 438.03130040172005, + "monthly_cost": 77.13, + "index_create_parameter": { + "optimizers_config": {} + }, + "index_search_params": { + "level": 3 + }, + "search_parallel": 1, + "search_top": 100, + "upload_parallel": 16, + "upload_batch_size": 64, + "mean_precisions": 0.99972, + "rps": 17.608330712728474, + "p95_time": 0.08639899525260261, + "mean_time": 0.05645143911700143, + "total_upload": 4742.282864647001 + } +] \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..e80f6ce Binary files /dev/null and b/favicon.ico differ diff --git a/home.md b/home.md new file mode 100644 index 0000000..5195840 --- /dev/null +++ b/home.md @@ -0,0 +1,80 @@ +# MyScale Vector Database Benchmark 🚀 + +Welcome to the MyScale Vector Database Benchmark website. We present an exhaustive and replicable analysis of various vector database services. We, at [MyScale](https://myscale.com), firmly believe in transparency and fostering a trustful relationship with our users. + +## Update 🔍 + +- April 9, 2024: Update results of Zilliz Cloud (version 2024-04-03) + [#13](https://github.com/myscale/benchmark/pull/13) + - A notable enhancement in performance was observed in filtered vector search. +- March 8, 2024: Add results of Elasticsearch (v8.12.2) + [#12](https://github.com/myscale/benchmark/pull/12) +- Jan 19, 2024: Update results of Weaviate (v1.23.3) + [#11](https://github.com/myscale/benchmark/pull/11) + - Significant performance improvement was observed. +- Jan 15, 2024: Update results of OpenSearch (v2.11) + [#8](https://github.com/myscale/benchmark/pull/8) +- Nov 6, 2023: Re-test pgvecto.rs according to Allen's [advice](https://twitter.com/zhoujinjing09/status/1717388692434911278) + [#7](https://github.com/myscale/benchmark/pull/7) +- Oct 10, 2023: Add results for pgvector, pgvecto.rs, and OpenSearch +- Sep 6, 2023: Add results for cost-optimized pods of Zilliz + [#3](https://github.com/myscale/benchmark/pull/3) +- June 22, 2023: Add benchmark for filtered vector search + [#2](https://github.com/myscale/benchmark/pull/2) +- May 30, 2023: Release the first version + +## What to Expect 🧐 + +In this benchmark, we gauge the performance based on the following metrics: + +- **Search Speed**: Vector search throughput and latency at varying precision levels. +- **Data Handling**: Upload pace and index building speed. +- **Cost Analysis**: Value for your buck. + +## Our Promise of Transparency 🤝 + +We are providing access to the entire source code for these benchmark tests, allowing anyone to validate our findings or even carry out the tests on different hardware. Explore the benchmark framework on our [GitHub repository](https://github.com/myscale/vector-db-benchmark), and get the source code for this website on [this repository](https://github.com/myscale/benchmark). Be a part of this benchmark - review the code, run the tests, and let the community know! + +## The Datasets 📊 + +We have employed the following datasets for an insightful analysis: + +| Dataset Name | Description | Number of Vectors | Number of Queries | Dimension | Distance | Filters | Payload Columns | Download Link | +|--------------|-------------|-------------------|-------------------|-----------|----------|---------|-----------------|---------------| +| laion-768-5m-ip | Derived from [LAION 2B images](https://huggingface.co/datasets/laion/laion2b-multi-vit-h-14-embeddings/tree/main). | 5,000,000 | 10,000 | 768 | IP | N/A | 0 | [Link](https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/laion-5m-test-ip.hdf5) | +| laion-768-5m-probability | Derived from [LAION 2B images](https://huggingface.co/datasets/laion/laion2b-multi-vit-h-14-embeddings/tree/main). | 5,000,000 | 10,000 | 768 | IP | Ratio 0.01 | `[probability (Float64)]` | [Vectors](https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/laion-768-5m-ip-probability.hdf5) [Queries](https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/laion-768-5m-ip-probability-0.01.hdf5) | +| laion-768-5m-probability | Derived from [LAION 2B images](https://huggingface.co/datasets/laion/laion2b-multi-vit-h-14-embeddings/tree/main). | 5,000,000 | 10,000 | 768 | IP | Ratio 0.1 | `[probability (Float64)]` | [Vectors](https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/laion-768-5m-ip-probability.hdf5) [Queries](https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/laion-768-5m-ip-probability-0.1.hdf5) | + +**Note**: The `probability` column stores random floats from a uniform distribution `[0, 1]`. Ratio 0.01 implies that the query encompasses `dataset_size * 0.01` range. + +## Contenders and Setup 🥊 + +Let’s peek into the specs and costs of the cloud services we’ve put to the test. + +| Database | Pod Type | Monthly Cost ($) | Notes | +|---------|----------|------------------|-------| +| [MyScale](https://myscale.com/) | Standard Pod of Size x1 | 120 | | +| [Pinecone](https://www.pinecone.io/) | s1.x1 | 80 | Optimized for storage. | +| [Pinecone](https://www.pinecone.io/) | 5 x p2.x1 | 600 | Performance-optimized via horizontal scaling. | +| [Qdrant](https://qdrant.tech/) | 4C 32G | 273 | Utilizes HNSW algorithm. | +| [Weaviate](https://weaviate.io/) | SLA Tier: Standard | 364.8 | Updated on Jan 19, 2024. | +| [Zilliz](https://zilliz.com) | Capacity-optimized 1 CU | 115.24 | Updated on Apr 9, 2024. | +| [Zilliz](https://zilliz.com) | Performance-optimized 4 CU | 458.66 | Updated on Apr 9, 2024. | +| Postgres with [pgvector](https://github.com/pgvector/pgvector) | [db.r6g.xlarge](https://instances.vantage.sh/aws/rds/db.r6g.xlarge?region=us-east-1&os=PostgreSQL&cost_duration=monthly&reserved_term=Standard.partialUpfront) (4C 32GB) | 329 | Amazon RDS for PostgreSQL | +| Postgres [pgvecto.rs](https://github.com/tensorchord/pgvecto.rs) | [db.r6g.xlarge](https://instances.vantage.sh/aws/rds/db.r6g.xlarge?region=us-east-1&os=PostgreSQL&cost_duration=monthly&reserved_term=Standard.partialUpfront) (4C 32GB) | 329 | Amazon RDS for PostgreSQL | +| [AWS OpenSearch Service](https://aws.amazon.com/opensearch-service/) | [r6g.2xlarge.search](https://instances.vantage.sh/aws/opensearch/r6g.2xlarge.search?region=us-east-1&cost_duration=monthly&reserved_term=Standard.noUpfront) (8C 64GB) | 488 | Updated on Mar 8, 2024. | +| [Elastic Cloud](https://cloud.elastic.co/home) | aws.es.datahot.r6gd (3.9vCPU 30GB) | 982.80 | Elastic Cloud (Enterprise subscription) | + +To ensure a fair play, we operate the client (`c4.xlarge`) in the same region as the cloud service to keep networking interference to a minimum. + +| Service | Server Region | Client Region | +|---------|---------------|---------------| +| MyScale | AWS us-east-1 | AWS us-east-1 | +| Pinecone | AWS us-east-1 | AWS us-east-1 | +| Qdrant | AWS us-east-1 | AWS us-east-1 | +| Weaviate | GCP US East | AWS us-east-1 | +| Zilliz | AWS us-east-2 | AWS us-east-2 | +| PGVector | AWS us-east-2 | AWS us-east-2 | +| PGVecto.rs | AWS us-east-2 | AWS us-east-2 | +| OpenSearch | AWS us-east-2 | AWS us-east-2 | +| Elastic Cloud | AWS us-east-2 | AWS us-east-2 | diff --git a/index.html b/index.html new file mode 100644 index 0000000..3afac80 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + MyScale Vector Database Benchmark + + + + + + +
+ + + diff --git a/preview.png b/preview.png new file mode 100644 index 0000000..51b6aac Binary files /dev/null and b/preview.png differ diff --git a/vite.svg b/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file