From be88dab940f02d586e3806e73b9cf1753d103737 Mon Sep 17 00:00:00 2001 From: EvilGremlin Date: Sat, 20 Mar 2021 19:38:32 +0300 Subject: [PATCH 01/32] Removed numpy (#410) remove numpy dependency --- octoprint_bedlevelvisualizer/__init__.py | 162 ++++++++++++++--------- requirements.txt | 1 - setup.py | 2 +- 3 files changed, 101 insertions(+), 64 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index f80c085..d72e429 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -6,10 +6,10 @@ import octoprint.plugin from octoprint.events import Events import re -import numpy as np import logging import flask import json +import math class bedlevelvisualizer( @@ -37,7 +37,8 @@ def __init__(self): self.flip_x = False self.flip_y = False self.timeout_override = False - self._logger = logging.getLogger("octoprint.plugins.bedlevelvisualizer") + self._logger = logging.getLogger( + "octoprint.plugins.bedlevelvisualizer") self._bedlevelvisualizer_logger = logging.getLogger( "octoprint.plugins.bedlevelvisualizer.debug" ) @@ -144,7 +145,8 @@ def on_startup(self, host, port): ) bedlevelvisualizer_logging_handler.setLevel(logging.DEBUG) - self._bedlevelvisualizer_logger.addHandler(bedlevelvisualizer_logging_handler) + self._bedlevelvisualizer_logger.addHandler( + bedlevelvisualizer_logging_handler) self._bedlevelvisualizer_logger.setLevel( logging.DEBUG if self._settings.get_boolean(["debug_logging"]) @@ -202,8 +204,10 @@ def enable_mesh_collection(self): def flag_mesh_collection(self, comm_instance, phase, command, parameters, tags=None, *args, **kwargs): if command == "BEDLEVELVISUALIZER": if parameters: - self._bedlevelvisualizer_logger.debug("Timeout override: {}".format(parameters)) - self._plugin_manager.send_plugin_message(self._identifier, {"timeout_override": parameters}) + self._bedlevelvisualizer_logger.debug( + "Timeout override: {}".format(parameters)) + self._plugin_manager.send_plugin_message( + self._identifier, {"timeout_override": parameters}) thread = threading.Thread(target=self.enable_mesh_collection) thread.daemon = True thread.start() @@ -239,7 +243,8 @@ def process_gcode(self, comm, line, *args, **kwargs): ) line = self.regex_nan.sub("0.0", line) if self.regex_equal_signs.match(line.strip()): - self._bedlevelvisualizer_logger.debug("stupid equal signs...") + self._bedlevelvisualizer_logger.debug( + "stupid equal signs...") line = self.regex_equal_signs.sub("0.0", line) new_line = self.regex_mesh_data_extraction.findall(line) @@ -247,11 +252,13 @@ def process_gcode(self, comm, line, *args, **kwargs): if self.regex_old_marlin.match(line.strip()): self.old_marlin = True - self._bedlevelvisualizer_logger.debug("using old marlin flag") + self._bedlevelvisualizer_logger.debug( + "using old marlin flag") if self.regex_repetier.match(line.strip()): self.repetier_firmware = True - self._bedlevelvisualizer_logger.debug("using repetier flag") + self._bedlevelvisualizer_logger.debug( + "using repetier flag") if self._settings.get_boolean(["stripFirst"]): new_line.pop(0) @@ -276,8 +283,10 @@ def process_gcode(self, comm, line, *args, **kwargs): self.flip_y = True if self.regex_makergear.match(line) is not None: - self._bedlevelvisualizer_logger.debug("using makergear format report") - self.mesh = json.loads(line.strip().replace("= ", "").replace(";", "")) + self._bedlevelvisualizer_logger.debug( + "using makergear format report") + self.mesh = json.loads( + line.strip().replace("= ", "").replace(";", "")) self.old_marlin = True self.makergear = True self._bedlevelvisualizer_logger.debug(self.mesh) @@ -287,7 +296,8 @@ def process_gcode(self, comm, line, *args, **kwargs): self.old_marlin_offset = self.regex_eqn_coefficients.sub( r"\2", line.strip() ) - self._bedlevelvisualizer_logger.debug("using old marlin offset") + self._bedlevelvisualizer_logger.debug( + "using old marlin offset") if "Home XYZ first" in line or "Invalid mesh" in line: reason = "data is invalid" if "Invalid" in line else "homing required" @@ -341,69 +351,89 @@ def process_gcode(self, comm, line, *args, **kwargs): self._bedlevelvisualizer_logger.debug(bed) if self.old_marlin or self.repetier_firmware: - if not self.makergear: - a = np.swapaxes(self.mesh, 1, 0) + self._bedlevelvisualizer_logger.debug( + "initial mesh data: " + str(self.mesh)) + if self.makergear: + a = self.mesh else: - a = np.array(self.mesh) - x = np.unique(a[0]).astype(np.float) - y = np.unique(a[1]).astype(np.float) - z = a[2].reshape((len(x), len(y))) - self._bedlevelvisualizer_logger.debug(a) - self._bedlevelvisualizer_logger.debug(x) - self._bedlevelvisualizer_logger.debug(y) - self._bedlevelvisualizer_logger.debug(z) + # rearrange matrix from point lists to coordinate lists + a = list(zip(*self.mesh)) + self._bedlevelvisualizer_logger.debug( + "mesh after swapaxes: " + str(a)) + + # filter coordinate values + self._bedlevelvisualizer_logger.debug("a = " + str(a)) + x = self.unique_floats(a[0]) + self._bedlevelvisualizer_logger.debug("x = " + str(x)) + y = self.unique_floats(a[1]) + self._bedlevelvisualizer_logger.debug("y = " + str(y)) + rows, cols, vals = (len(y), len(x), len(list(a[2]))) + z = [[0 for i in range(cols)] + for j in range(rows)] # init empty matrix + k = 0 + # filling array + for i in range(rows): + for j in range(cols): + z[i][j] = a[2][k] + k += 1 + self._bedlevelvisualizer_logger.debug("z = " + str(z)) + + # dealing with offset offset = 0 if self.old_marlin: offset = self.old_marlin_offset - self._bedlevelvisualizer_logger.debug(offset) - self.mesh = np.subtract( - z, [offset], dtype=np.float, casting="unsafe" - ).tolist() - self._bedlevelvisualizer_logger.debug(self.mesh) + self._bedlevelvisualizer_logger.debug( + "mesh offset = " + str(offset)) + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), z)) + self._bedlevelvisualizer_logger.debug( + "mesh after offset: " + str(self.mesh)) self._bedlevelvisualizer_logger.debug("stopping mesh collection") if bool(self.flip_x) != bool(self._settings.get(["flipX"])): - self._bedlevelvisualizer_logger.debug("flipping x axis") - self.mesh = np.flip(np.array(self.mesh), 1).tolist() + self.mesh = list(map(lambda x: list(reversed(x)), self.mesh)) + self._bedlevelvisualizer_logger.debug( + "flipped x axis: " + str(self.mesh)) if bool(self.flip_y) != bool(self._settings.get(["flipY"])): - self._bedlevelvisualizer_logger.debug("flipping y axis") self.mesh.reverse() + self._bedlevelvisualizer_logger.debug( + "flipped y axis: " + str(self.mesh)) if self._settings.get_boolean(["use_relative_offsets"]): self._bedlevelvisualizer_logger.debug("using relative offsets") - self.mesh = np.array(self.mesh) + # shifting mesh down by origin point height if self._settings.get_boolean(["use_center_origin"]): - self._bedlevelvisualizer_logger.debug("using center origin") - self.mesh = np.subtract( - self.mesh, - self.mesh[len(self.mesh[0]) // 2, len(self.mesh) // 2], - dtype=np.float, - casting="unsafe", - ).tolist() + self._bedlevelvisualizer_logger.debug( + "using center origin") + # finding origin point in center + offset = self.mesh[len(self.mesh[0]) // + 2][len(self.mesh) // 2] + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) else: - self.mesh = np.subtract( - self.mesh, self.mesh[0, 0], dtype=np.float, casting="unsafe" - ).tolist() + offset = self.mesh[0][0] + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) if int(self._settings.get_int(["rotation"])) > 0: self._bedlevelvisualizer_logger.debug( - "rotating mesh by %s" % self._settings.get(["rotation"]) - ) - self.mesh = np.array(self.mesh) - self.mesh = np.rot90( - self.mesh, self._settings.get_int(["rotation"]) / 90 - ).tolist() + "rotating mesh by %s degrees" % self._settings.get(["rotation"])) + + for i in range(int(self._settings.get_int(["rotation"]) / 90)): + self.mesh = list(zip(*self.mesh))[::-1] if bed_type == "circular": - n = len(self.mesh[0]) m = len(self.mesh) + n = len(self.mesh[0]) circle_mask = self.create_circular_mask(m, n) - self.mesh = np.array(self.mesh) - self.mesh[~circle_mask] = None - self.mesh = self.mesh.tolist() - self._bedlevelvisualizer_logger.debug(self.mesh) + for i in range(m): + for j in range(n): + if circle_mask[i][j] == False: + self.mesh[i][j] = None + self._bedlevelvisualizer_logger.debug( + "masked mesh = " + str(self.mesh)) self.processing = False self._bedlevelvisualizer_logger.debug(self.mesh) @@ -415,19 +445,27 @@ def process_gcode(self, comm, line, *args, **kwargs): return line def create_circular_mask(self, h, w, center=None, radius=None): - if center is None: # use the middle of the image - center = (int(w / 2), int(h / 2)) - if ( - radius is None - ): # use the smallest distance between the center and image walls - radius = min(center[0], center[1], w - center[0], h - center[1]) - - Y, X = np.ogrid[:h, :w] - dist_from_center = np.sqrt((X - center[0]) ** 2 + (Y - center[1]) ** 2) - - mask = dist_from_center <= radius + # cw = int(w / 2) + # ch = int(h / 2) + center = (int(w / 2), int(h / 2)) + radius = int(min(center[0], center[1], w - center[0], h - center[1])) + self._bedlevelvisualizer_logger.debug("center = " + str(center)) + self._bedlevelvisualizer_logger.debug("radius = " + str(radius)) + + mask = [[False for i in range(w)] + for j in range(h)] # init emply matrix + for i in range(h): + for j in range(w): + mask[i][j] = math.sqrt( + (j - center[0]) ** 2 + (i - center[1]) ** 2) <= radius + self._bedlevelvisualizer_logger.debug("mask = " + str(mask)) return mask + def unique_floats(self, list1): + s_list = set(list1) + u_list = (list(s_list)) + return list(map(float, u_list)) + # SimpleApiPlugin def get_api_commands(self): diff --git a/requirements.txt b/requirements.txt index 7a44aea..18b07ac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,5 +10,4 @@ setuptools OctoPrint -numpy Flask diff --git a/setup.py b/setup.py index 4277800..2c084a0 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ plugin_license = "AGPLv3" # Any additional requirements besides OctoPrint should be listed here -plugin_requires = ["numpy"] +plugin_requires = [] ### -------------------------------------------------------------------------------------------------------------------- ### More advanced options that you usually shouldn't have to touch follow after this point From 083e0f155f89b56fbf5e0ca89cdece64c2bc8c44 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sat, 20 Mar 2021 12:54:32 -0400 Subject: [PATCH 02/32] bump version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2c084a0..96fca94 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.0.1" +plugin_version = "1.1.0rc1" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module From b9df49407d0d6751a136bba31a9b1e448dedb115 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Thu, 25 Mar 2021 16:41:29 -0400 Subject: [PATCH 03/32] switch to partial plotly bundle --- octoprint_bedlevelvisualizer/__init__.py | 2 +- .../static/js/plotly-gl3d.min.js | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 octoprint_bedlevelvisualizer/static/js/plotly-gl3d.min.js diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index d72e429..c27c662 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -166,7 +166,7 @@ def get_assets(self): "js/knockout-sortable.1.2.0.js", "js/fontawesome-iconpicker.js", "js/ko.iconpicker.js", - "js/plotly.min.js", + "js/plotly-gl3d.min.js", "js/bedlevelvisualizer.js", ], css=[ diff --git a/octoprint_bedlevelvisualizer/static/js/plotly-gl3d.min.js b/octoprint_bedlevelvisualizer/static/js/plotly-gl3d.min.js new file mode 100644 index 0000000..531c040 --- /dev/null +++ b/octoprint_bedlevelvisualizer/static/js/plotly-gl3d.min.js @@ -0,0 +1,49 @@ +/** +* plotly.js (gl3d - minified) v1.58.4 +* Copyright 2012-2020, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,(function(t){return i(e[o][1][t]||t)}),c,c.exports,t,e,r,n)}return r[o].exports}for(var a="function"==typeof require&&require,o=0;o:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .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:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans', 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,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},{"../src/lib":524}],2:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":639}],3:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":504}],4:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./scatter3d"),t("./surface"),t("./mesh3d"),t("./isosurface"),t("./volume"),t("./cone"),t("./streamtube")]),e.exports=n},{"./cone":2,"./core":3,"./isosurface":5,"./mesh3d":6,"./scatter3d":7,"./streamtube":8,"./surface":9,"./volume":10}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":646}],6:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":651}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":688}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":693}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":698}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":702}],11:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=t("turntable-camera-controller"),i=t("orbit-camera-controller"),a=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach((function(t){for(var e=t[0],r=[],n=0;n0?o-4:o;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;os?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return a.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,a,o=[],s=e;s>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],20:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":30}],21:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],22:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":30}],23:[function(t,e,r){"use strict";var n=t("./is-rat"),i=t("./lib/is-bn"),a=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f));return s(u,c)}},{"./div":22,"./is-rat":24,"./lib/is-bn":28,"./lib/num-to-bn":29,"./lib/rationalize":30,"./lib/str-to-bn":31}],24:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":28}],25:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":38}],26:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20)return 52;return r+32}},{"bit-twiddle":37,"double-bits":85}],28:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":38}],29:[function(t,e,r){"use strict";var n=t("bn.js"),i=t("double-bits");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":38,"double-bits":85}],30:[function(t,e,r){"use strict";var n=t("./num-to-bn"),i=t("./bn-sign");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":25,"./num-to-bn":29}],31:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":38}],32:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":30}],33:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":25}],34:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":30}],35:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),i=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?u*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),u*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":26,"./lib/ctz":27}],36:[function(t,e,r){"use strict";function n(t,e,r,n,i){var a=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return i?e.indexOf("c")<0?a.push(";if(x===y){return m}else if(x<=y){"):a.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):a.push(";if(",e,"){i=m;"),r?a.push("l=m+1}else{h=m-1}"):a.push("h=m-1}else{l=m+1}"),a.push("}"),i?a.push("return -1};"):a.push("return i};"),a.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],i),n("P","c(x,y)"+t+"0",e,["y","c"],i),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],37:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],38:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","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"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=h;d++){var p=u-d|0;c+=(o=(i=0|t.words[p])*(a=0|e.words[d])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=c[t],d=f[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?g+r:u[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,d=0|o[1],p=8191&d,g=d>>>13,v=0|o[2],m=8191&v,y=v>>>13,b=0|o[3],x=8191&b,_=b>>>13,w=0|o[4],M=8191&w,T=w>>>13,A=0|o[5],k=8191&A,E=A>>>13,L=0|o[6],S=8191&L,C=L>>>13,O=0|o[7],R=8191&O,P=O>>>13,z=0|o[8],I=8191&z,D=z>>>13,N=0|o[9],F=8191&N,j=N>>>13,B=0|s[0],U=8191&B,V=B>>>13,H=0|s[1],q=8191&H,G=H>>>13,X=0|s[2],Y=8191&X,W=X>>>13,Z=0|s[3],Q=8191&Z,K=Z>>>13,J=0|s[4],$=8191&J,tt=J>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,dt=0|s[9],pt=8191&dt,gt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,U),i=(i=Math.imul(p,V))+Math.imul(g,U)|0,a=Math.imul(g,V);var mt=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),i=(i=Math.imul(m,V))+Math.imul(y,U)|0,a=Math.imul(y,V),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(g,q)|0,a=a+Math.imul(g,G)|0;var yt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,W)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,W)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(x,U),i=(i=Math.imul(x,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(m,q)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,W)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(T,U)|0,a=Math.imul(T,V),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,W)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,W)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,K)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,K)|0;var xt=(u+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,V))+Math.imul(E,U)|0,a=Math.imul(E,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(T,q)|0,a=a+Math.imul(T,G)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,K)|0,n=n+Math.imul(p,$)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(S,U),i=(i=Math.imul(S,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(k,q)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(E,q)|0,a=a+Math.imul(E,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(T,Y)|0,a=a+Math.imul(T,W)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,K)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(R,U),i=(i=Math.imul(R,V))+Math.imul(P,U)|0,a=Math.imul(P,V),n=n+Math.imul(S,q)|0,i=(i=i+Math.imul(S,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,W)|0)+Math.imul(E,Y)|0,a=a+Math.imul(E,W)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,K)|0,n=n+Math.imul(x,$)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(p,at)|0,i=(i=i+Math.imul(p,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(I,U),i=(i=Math.imul(I,V))+Math.imul(D,U)|0,a=Math.imul(D,V),n=n+Math.imul(R,q)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(P,q)|0,a=a+Math.imul(P,G)|0,n=n+Math.imul(S,Y)|0,i=(i=i+Math.imul(S,W)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,K)|0)+Math.imul(E,Q)|0,a=a+Math.imul(E,K)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(T,$)|0,a=a+Math.imul(T,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(m,at)|0,i=(i=i+Math.imul(m,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(p,lt)|0,i=(i=i+Math.imul(p,ut)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ut)|0;var Tt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,U),i=(i=Math.imul(F,V))+Math.imul(j,U)|0,a=Math.imul(j,V),n=n+Math.imul(I,q)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(D,q)|0,a=a+Math.imul(D,G)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(P,Y)|0,a=a+Math.imul(P,W)|0,n=n+Math.imul(S,Q)|0,i=(i=i+Math.imul(S,K)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(E,$)|0,a=a+Math.imul(E,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(T,rt)|0,a=a+Math.imul(T,nt)|0,n=n+Math.imul(x,at)|0,i=(i=i+Math.imul(x,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ut)|0,n=n+Math.imul(p,ft)|0,i=(i=i+Math.imul(p,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(u+(n=n+Math.imul(f,pt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,pt)|0))<<13)|0;u=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,q),i=(i=Math.imul(F,G))+Math.imul(j,q)|0,a=Math.imul(j,G),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(D,Y)|0,a=a+Math.imul(D,W)|0,n=n+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,K)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,K)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,tt)|0)+Math.imul(C,$)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(E,rt)|0,a=a+Math.imul(E,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(T,at)|0,a=a+Math.imul(T,ot)|0,n=n+Math.imul(x,lt)|0,i=(i=i+Math.imul(x,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(m,ft)|0,i=(i=i+Math.imul(m,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;u=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,W))+Math.imul(j,Y)|0,a=Math.imul(j,W),n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,K)|0)+Math.imul(D,Q)|0,a=a+Math.imul(D,K)|0,n=n+Math.imul(R,$)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(P,$)|0,a=a+Math.imul(P,tt)|0,n=n+Math.imul(S,rt)|0,i=(i=i+Math.imul(S,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(E,at)|0,a=a+Math.imul(E,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(T,lt)|0,a=a+Math.imul(T,ut)|0,n=n+Math.imul(x,ft)|0,i=(i=i+Math.imul(x,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var Et=(u+(n=n+Math.imul(m,pt)|0)|0)+((8191&(i=(i=i+Math.imul(m,gt)|0)+Math.imul(y,pt)|0))<<13)|0;u=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,K))+Math.imul(j,Q)|0,a=Math.imul(j,K),n=n+Math.imul(I,$)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(D,$)|0,a=a+Math.imul(D,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(P,rt)|0,a=a+Math.imul(P,nt)|0,n=n+Math.imul(S,at)|0,i=(i=i+Math.imul(S,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ut)|0)+Math.imul(E,lt)|0,a=a+Math.imul(E,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(T,ft)|0,a=a+Math.imul(T,ht)|0;var Lt=(u+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,gt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,tt))+Math.imul(j,$)|0,a=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(D,rt)|0,a=a+Math.imul(D,nt)|0,n=n+Math.imul(R,at)|0,i=(i=i+Math.imul(R,ot)|0)+Math.imul(P,at)|0,a=a+Math.imul(P,ot)|0,n=n+Math.imul(S,lt)|0,i=(i=i+Math.imul(S,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(E,ft)|0,a=a+Math.imul(E,ht)|0;var St=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,gt)|0)+Math.imul(T,pt)|0))<<13)|0;u=((a=a+Math.imul(T,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(j,rt)|0,a=Math.imul(j,nt),n=n+Math.imul(I,at)|0,i=(i=i+Math.imul(I,ot)|0)+Math.imul(D,at)|0,a=a+Math.imul(D,ot)|0,n=n+Math.imul(R,lt)|0,i=(i=i+Math.imul(R,ut)|0)+Math.imul(P,lt)|0,a=a+Math.imul(P,ut)|0,n=n+Math.imul(S,ft)|0,i=(i=i+Math.imul(S,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((a=a+Math.imul(E,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(j,at)|0,a=Math.imul(j,ot),n=n+Math.imul(I,lt)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(D,lt)|0,a=a+Math.imul(D,ut)|0,n=n+Math.imul(R,ft)|0,i=(i=i+Math.imul(R,ht)|0)+Math.imul(P,ft)|0,a=a+Math.imul(P,ht)|0;var Ot=(u+(n=n+Math.imul(S,pt)|0)|0)+((8191&(i=(i=i+Math.imul(S,gt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((a=a+Math.imul(C,gt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ut))+Math.imul(j,lt)|0,a=Math.imul(j,ut),n=n+Math.imul(I,ft)|0,i=(i=i+Math.imul(I,ht)|0)+Math.imul(D,ft)|0,a=a+Math.imul(D,ht)|0;var Rt=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,gt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((a=a+Math.imul(P,gt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(j,ft)|0,a=Math.imul(j,ht);var Pt=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,gt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((a=a+Math.imul(D,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863;var zt=(u+(n=Math.imul(F,pt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(j,pt)|0))<<13)|0;return u=((a=Math.imul(j,gt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=bt,l[4]=xt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=Tt,l[9]=At,l[10]=kt,l[11]=Et,l[12]=Lt,l[13]=St,l[14]=Ct,l[15]=Ot,l[16]=Rt,l[17]=Pt,l[18]=zt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,g=1;0==(r.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new x;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),p=o;0!==d.cmp(s);){for(var g=d,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new M(t)},i(M,w),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:47}],39:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),d=i.mallocInt32(s);if((s=l(t,c,h,d))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,d,0,s,h,d);else{var p=i.mallocDouble(2*c*u),g=i.mallocInt32(u);(u=l(e,c,p,g))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,d,0,u,p,g):o(c,r,n,s,h,d,u,p,g),i.free(p),i.free(g))}i.free(h),i.free(d)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},{"./lib/intersect":42,"./lib/sweep":46,"typedarray-pool":366}],41:[function(t,e,r){"use strict";var n=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function i(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],i=n.slice();t||i.splice(3,0,"fp");var a=["function "+e+"("+i.join()+"){"];function o(e,i){var o=function(t,e,r){var i="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),a=["function ",i,"(",n.join(),"){","var ","es","=2*","d",";"],o="for(var i=rs,rp=es*rs;ibe-bs){"),t?(o(!0,!1),a.push("}else{"),o(!1,!1)):(a.push("if(fp){"),o(!0,!0),a.push("}else{"),o(!0,!1),a.push("}}else{if(fp){"),o(!1,!0),a.push("}else{"),o(!1,!1),a.push("}")),a.push("}}return "+e);var s=r.join("")+a.join("");return new Function(s)()}r.partial=i(!1),r.full=i(!0)},{}],42:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,c,w,M,T,A){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(6*r);m.length0;){var S=6*(E-=1),C=m[S],O=m[S+1],R=m[S+2],P=m[S+3],z=m[S+4],I=m[S+5],D=2*E,N=y[D],F=y[D+1],j=1&I,B=!!(16&I),U=c,V=w,H=T,q=A;if(j&&(U=T,V=A,H=c,q=w),!(2&I&&(R=d(t,C,O,R,U,V,F),O>=R)||4&I&&(O=p(t,C,O,R,U,V,N))>=R)){var G=R-O,X=z-P;if(B){if(t*G*(G+X)<1<<22){if(void 0!==(k=l.scanComplete(t,C,e,O,R,U,V,P,z,H,q)))return k;continue}}else{if(t*Math.min(G,X)<128){if(void 0!==(k=o(t,C,e,j,O,R,U,V,P,z,H,q)))return k;continue}if(t*G*X<1<<22){if(void 0!==(k=l.scanBipartite(t,C,e,j,O,R,U,V,P,z,H,q)))return k;continue}}var Y=f(t,C,O,R,U,V,N,F);if(O=p0)&&!(p1>=hi)",["p0","p1"]),h=c("lo===p0",["p0"]),d=c("lo>>1,f=2*t,h=c,d=o[f*c+e];for(;l=y?(h=m,d=y):v>=x?(h=g,d=v):(h=b,d=x):y>=x?(h=m,d=y):x>=v?(h=g,d=v):(h=b,d=x);for(var _=f*(u-1),w=f*h,M=0;Mr&&i[f+e]>u;--c,f-=o){for(var h=f,d=f+o,p=0;p=0&&n.push("lo=e[k+n]");t.indexOf("hi")>=0&&n.push("hi=e[k+o]");return r.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m".replace("_",n.join()).replace("$",t)),Function.apply(void 0,r)}},{}],45:[function(t,e,r){"use strict";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,c){var f=(r-e+1)/6|0,h=e+f,d=r-f,p=e+r>>1,g=p-f,v=p+f,m=h,y=g,b=p,x=v,_=d,w=e+1,M=r-1,T=0;l(m,y,c)&&(T=m,m=y,y=T);l(x,_,c)&&(T=x,x=_,_=T);l(m,b,c)&&(T=m,m=b,b=T);l(y,b,c)&&(T=y,y=b,b=T);l(m,x,c)&&(T=m,m=x,x=T);l(b,x,c)&&(T=b,b=x,x=T);l(y,_,c)&&(T=y,y=_,_=T);l(y,b,c)&&(T=y,y=b,b=T);l(x,_,c)&&(T=x,x=_,_=T);for(var A=c[2*y],k=c[2*y+1],E=c[2*x],L=c[2*x+1],S=2*m,C=2*b,O=2*_,R=2*h,P=2*p,z=2*d,I=0;I<2;++I){var D=c[S+I],N=c[C+I],F=c[O+I];c[R+I]=D,c[P+I]=N,c[z+I]=F}a(g,e,c),a(v,r,c);for(var j=w;j<=M;++j)if(u(j,A,k,c))j!==w&&i(j,w,c),++w;else if(!u(j,E,L,c))for(;;){if(u(M,E,L,c)){u(M,A,k,c)?(o(j,w,M,c),++w,--M):(i(j,M,c),--M);break}if(--Mt;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function u(t,e,r,n){var i=n[t*=2];return i>>1;a(h,k);var E=0,L=0;for(w=0;w=1<<28)d(l,u,L--,S=S-(1<<28)|0);else if(S>=0)d(o,s,E--,S);else if(S<=-(1<<28)){S=-S-(1<<28)|0;for(var C=0;C>>1;a(h,L);var S=0,C=0,O=0;for(T=0;T>1==h[2*T+3]>>1&&(P=2,T+=1),R<0){for(var z=-(R>>1)-1,I=0;I>1)-1;0===P?d(o,s,S--,z):1===P?d(l,u,C--,z):2===P&&d(c,f,O--,z)}}},scanBipartite:function(t,e,r,n,i,l,u,c,f,g,v,m){var y=0,b=2*t,x=e,_=e+t,w=1,M=1;n?M=1<<28:w=1<<28;for(var T=i;T>>1;a(h,L);var S=0;for(T=0;T=1<<28?(O=!n,A-=1<<28):(O=!!n,A-=1),O)p(o,s,S++,A);else{var R=m[A],P=b*A,z=v[P+e+1],I=v[P+e+1+t];t:for(var D=0;D>>1;a(h,w);var M=0;for(y=0;y=1<<28)o[M++]=b-(1<<28);else{var A=d[b-=1],k=g*b,E=f[k+e+1],L=f[k+e+1+t];t:for(var S=0;S=0;--S)if(o[S]===b){for(P=S+1;P0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=h.bind(n);return i.listener=r,n.wrapFn=i,i}function p(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=i[t];if(void 0===l)return!1;if("function"==typeof l)a(l,this,e);else{var u=l.length,c=v(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return p(this,t,!0)},s.prototype.rawListeners=function(t){return p(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],49:[function(t,e,r){(function(e){(function(){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|f(t,e),n=i(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|t}function f(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return I(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return D(t).length;default:if(i)return n?-1:I(t).length;e=(""+e).toLowerCase(),i=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,r);case"utf8":case"utf-8":return M(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return A(this,e,r);case"base64":return w(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function p(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),j(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:g(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):g(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+f<=r)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;ne&&(t+=" ... "),""},a.prototype.compare=function(t,e,r,n,i){if(F(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return m(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function S(t,e,r,n,i,o){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function C(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function R(t,e,r,i,a){return e=+e,r>>>=0,a||C(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},a.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||S(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||S(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);S(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);S(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||S(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return R(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return R(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function D(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function F(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function j(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":19,buffer:49,ieee754:269}],50:[function(t,e,r){"use strict";var n=t("./lib/monotone"),i=t("./lib/triangulation"),a=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function u(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var c=!!u(r,"delaunay",!0),f=!!u(r,"interior",!0),h=!!u(r,"exterior",!0),d=!!u(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var p=n(t,e);if(c||f!==h||d){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v0;){for(var d=r.pop(),p=(s=r.pop(),c=-1,f=-1,l=o[s],1);p=0||(e.flip(s,d),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,d,c),i(t,e,r,d,c,f)))}}},{"binary-search-bounds":36,"robust-in-sphere":337}],52:[function(t,e,r){"use strict";var n,i=t("binary-search-bounds");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-i){u[d]=i;c[d];for(var p=0;p<3;++p){var g=h[3*d+p];g>=0&&0===u[g]&&(f[3*d+p]?l.push(g):(s.push(g),u[g]=i))}}}var v=l;l=s,s=v,l.length=0,i=-i}var m=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[d-2]],r[h[d-1]],a)>0;)t.push([h[d-1],h[d-2],o]),d-=1;h.length=d,h.push(o);var p=f.upperIds;for(d=p.length;d>1&&i(r[p[d-2]],r[p[d-1]],a)<0;)t.push([p[d-2],p[d-1],o]),d-=1;p.length=d,p.push(o)}}function c(t,e){var r;return(r=t.a[0]p[0]&&i.push(new o(p,d,2,l),new o(d,p,1,l))}i.sort(s);for(var g=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),v=[new a([g,1],[g,0],-1,[],[],[],[])],m=[],y=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;nr?r:t:te?e:t}},{}],59:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;ae[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var b=e[c=(E=n[a])[0]],x=b[0],_=b[1],w=t[x],M=t[_];if((w[0]-M[0]||w[1]-M[1])<0){var T=x;x=_,_=T}b[0]=x;var A,k=b[1]=E[1];for(i&&(A=b[2]);a>0&&n[a-1][0]===c;){var E,L=(E=n[--a])[1];i?e.push([k,L,A]):e.push([k,L]),k=L}i?e.push([k,_,A]):e.push([k,_])}return h}(t,e,h,v,r));return m(e,y,r),!!y||(h.length>0||v.length>0)}},{"./lib/rat-seg-intersect":60,"big-rat":23,"big-rat/cmp":21,"big-rat/to-float":35,"box-intersect":40,nextafter:302,"rat-vec":328,"robust-segment-intersect":342,"union-find":367}],60:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var d=s(t,r),p=c(f,d),g=i(p,h),v=u(a,g);return l(t,v)};var n=t("big-rat/mul"),i=t("big-rat/div"),a=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),u=t("rat-vec/muls");function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":22,"big-rat/mul":32,"big-rat/sign":33,"big-rat/sub":34,"rat-vec/add":327,"rat-vec/muls":329,"rat-vec/sub":330}],61:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],62:[function(t,e,r){"use strict";var n=t("color-rgba"),i=t("clamp"),a=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:58,"color-rgba":64,dtype:86}],63:[function(t,e,r){(function(r){(function(){"use strict";var n=t("color-name"),i=t("is-plain-obj"),a=t("defined");e.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(d=t.slice(1)).length;u=1,c<=4?(l=[parseInt(d[0]+d[0],16),parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16)],4===c&&(u=parseInt(d[3]+d[3],16)/255)):(l=[parseInt(d[0]+d[1],16),parseInt(d[2]+d[3],16),parseInt(d[4]+d[5],16)],8===c&&(u=parseInt(d[6]+d[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,d=f.replace(/a$/,"");s=d;c="cmyk"===d?4:"gray"===d?1:3;l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===d?255*parseFloat(t)/100:parseFloat(t);if("h"===d[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===d&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var p=a(t.r,t.red,t.R,null);null!==p?(s="rgb",l=[p,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),u=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":61,defined:83,"is-plain-obj":278}],64:[function(t,e,r){"use strict";var n=t("color-parse"),i=t("color-space/hsl"),a=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:58,"color-parse":63,"color-space/hsl":65}],65:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":66}],66:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],67:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],68:[function(t,e,r){"use strict";var n=t("./colorScale"),i=t("lerp");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,u,c,f,h,d,p,g;t||(t={});d=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>d+1)throw new Error(f+" map requires nshades to be at least size "+c.length);p=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=c.map((function(t){return Math.round(t.index*d)})),p[0]=Math.min(Math.max(p[0],0),1),p[1]=Math.min(Math.max(p[1],0),1);var v=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=p[0]+(p[1]-p[0])*r),n})),m=[];for(g=0;g0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=t("robust-orientation"),i=t("signum"),a=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},{"robust-orientation":339,"robust-product":340,"robust-sum":344,signum:345,"two-sum":365}],70:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),u=n(e[0],e[1]);return n(l,t[2])-n(u,e[2])||n(l+t[2],o)-n(u+e[2],s);case 4:var c=t[0],f=t[1],h=t[2],d=t[3],p=e[0],g=e[1],v=e[2],m=e[3];return c+f+h+d-(p+g+v+m)||n(c,f,h,d)-n(p,g,v,m,p)||n(c+f,c+h,c+d,f+h,f+d,h+d)-n(p+g,p+v,p+m,g+v,g+m,v+m)||n(c+f+h,c+f+d,c+h+d,f+h+d)-n(p+g+v,p+g+m,p+v+m,g+v+m);default:for(var y=t.slice().sort(i),b=e.slice().sort(i),x=0;xt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],74:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":14,"incremental-convex-hull":270}],76:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var d=t.length-1;d>=0;--d)a[d]=u*t[d]+c*e[d]+f*r[d]+h*n[d];return a}return u*t+c*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},{}],77:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a0)throw new Error("cwise: pre() block may not reference array args");if(a0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(a),e.shimArgs.push("scalar"+a);else if("index"===o){if(e.indexArgs.push(a),a0)throw new Error("cwise: pre() block may not reference array index");if(a0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(a),ar.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":79}],78:[function(t,e,r){"use strict";var n=t("uniq");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,f=0;for(n=0;n0&&l.push("var "+u.join(",")),n=a-1;n>=0;--n)c=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",c,"]"].join(""))),l.push("}")}return l.join("\n")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),u=0;u0&&b.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(u=0;u0&&y.push("var "+b.join(",")),u=0;u3&&y.push(a(t.pre,t,l));var T=a(t.body,t,l),A=function(t){for(var e=0,r=t[0].length;e0,u=[],c=0;c0;){"].join("")),u.push(["if(j",c,"<",s,"){"].join("")),u.push(["s",e[c],"=j",c].join("")),u.push(["j",c,"=0"].join("")),u.push(["}else{s",e[c],"=",s].join("")),u.push(["j",c,"-=",s,"}"].join("")),l&&u.push(["index[",e[c],"]=j",c].join(""));for(c=0;c3&&y.push(a(t.post,t,l)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+y.join("\n")+"\n----------");var k=[t.funcName||"unnamed","_cwise_loop_",s[0].join("s"),"m",A,o(l)].join("");return new Function(["function ",k,"(",m.join(","),"){",y.join("\n"),"} return ",k].join(""))()}},{uniq:368}],79:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],i=t.funcName+"_cwise_thunk";e.push(["return function ",i,"(",t.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],u=[],c=0;c0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+u.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),c=0;c=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:vt,s:mt,S:H,u:q,U:G,V:X,w:Y,W:W,x:null,X:null,y:Z,Y:Q,Z:K,"%":gt},Ct={a:function(t){return f[t.getUTCDay()]},A:function(t){return c[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:J,e:J,f:nt,H:$,I:tt,j:et,L:rt,m:it,M:at,p:function(t){return u[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:vt,s:mt,S:ot,u:st,U:lt,V:ut,w:ct,W:ft,x:null,X:null,y:ht,Y:dt,Z:pt,"%":gt},Ot={a:function(t,e,r){var n=Mt.exec(e.slice(r));return n?(t.w=Tt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=At.exec(e.slice(r));return n?(t.m=kt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return zt(t,a,e,r)},d:A,e:A,f:O,H:E,I:E,j:k,L:C,m:T,M:L,p:function(t,e,r){var n=bt.exec(e.slice(r));return n?(t.p=xt[n[0].toLowerCase()],r+n[0].length):-1},q:M,Q:P,s:z,S:S,u:v,U:m,V:y,w:g,W:b,x:function(t,e,r){return zt(t,o,e,r)},X:function(t,e,r){return zt(t,l,e,r)},y:_,Y:x,Z:w,"%":R};function Rt(t,e){return function(r){var n,i,a,o=[],l=-1,u=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in u||(u.w=1),"Z"in u?(l=(s=n(i(u.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(u.V-1)),u.y=s.getUTCFullYear(),u.m=s.getUTCMonth(),u.d=s.getUTCDate()+(u.w+6)%7):(l=(s=r(i(u.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(u.V-1)),u.y=s.getFullYear(),u.m=s.getMonth(),u.d=s.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),l="Z"in u?n(i(u.y,0,1)).getUTCDay():r(i(u.y,0,1)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+7*u.W-(l+5)%7:u.w+7*u.U-(l+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,n(u)):r(u)}}function zt(t,e,r,n){for(var i,a,o=0,l=e.length,u=r.length;o=u)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Ot[i in s?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return St.x=Rt(o,St),St.X=Rt(l,St),St.c=Rt(a,St),Ct.x=Rt(o,Ct),Ct.X=Rt(l,Ct),Ct.c=Rt(a,Ct),{format:function(t){var e=Rt(t+="",St);return e.toString=function(){return t},e},parse:function(t){var e=Pt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Rt(t+="",Ct);return e.toString=function(){return t},e},utcParse:function(t){var e=Pt(t+="",!0);return e.toString=function(){return t},e}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,u=/^%/,c=/[\\^$*+?|[\]().{}]/g;function f(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function O(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function R(t,e,r){var n=u.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function P(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function z(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function I(t,e){return f(t.getDate(),e,2)}function D(t,e){return f(t.getHours(),e,2)}function N(t,e){return f(t.getHours()%12||12,e,2)}function F(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function j(t,e){return f(t.getMilliseconds(),e,3)}function B(t,e){return j(t,e)+"000"}function U(t,e){return f(t.getMonth()+1,e,2)}function V(t,e){return f(t.getMinutes(),e,2)}function H(t,e){return f(t.getSeconds(),e,2)}function q(t){var e=t.getDay();return 0===e?7:e}function G(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function X(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function Y(t){return t.getDay()}function W(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function Q(t,e){return f(t.getFullYear()%1e4,e,4)}function K(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+f(e/60|0,"0",2)+f(e%60,"0",2)}function J(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+"000"}function it(t,e){return f(t.getUTCMonth()+1,e,2)}function at(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ut(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ct(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function dt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function pt(){return"+0000"}function gt(){return"%"}function vt(t){return+t}function mt(t){return Math.floor(+t/1e3)}function yt(e){return o=a(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({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"]});var bt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");var xt=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ");t.isoFormat=bt,t.isoParse=xt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-time":81}],81:[function(t,e,r){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=new Date,r=new Date;function n(t,i,a,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+e)),i(e,n),t(e)}while(a=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;i(t,-1),!e(t););else for(;--r>=0;)for(;i(t,1),!e(t););}))},a&&(s.count=function(n,i){return e.setTime(+n),r.setTime(+i),t(e),t(r),Math.floor(a(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var i=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),u=l.range,c=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=c.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),d=h.range;function p(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var g=p(0),v=p(1),m=p(2),y=p(3),b=p(4),x=p(5),_=p(6),w=g.range,M=v.range,T=m.range,A=y.range,k=b.range,E=x.range,L=_.range,S=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),C=S.range,O=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));O.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var R=O.range,P=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),z=P.range,I=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),D=I.range,N=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),F=N.range;function j(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var B=j(0),U=j(1),V=j(2),H=j(3),q=j(4),G=j(5),X=j(6),Y=B.range,W=U.range,Z=V.range,Q=H.range,K=q.range,J=G.range,$=X.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=d,t.timeFriday=x,t.timeFridays=E,t.timeHour=c,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=i,t.timeMilliseconds=a,t.timeMinute=l,t.timeMinutes=u,t.timeMonday=v,t.timeMondays=M,t.timeMonth=S,t.timeMonths=C,t.timeSaturday=_,t.timeSaturdays=L,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=g,t.timeSundays=w,t.timeThursday=b,t.timeThursdays=k,t.timeTuesday=m,t.timeTuesdays=T,t.timeWednesday=y,t.timeWednesdays=A,t.timeWeek=g,t.timeWeeks=w,t.timeYear=O,t.timeYears=R,t.utcDay=N,t.utcDays=F,t.utcFriday=G,t.utcFridays=J,t.utcHour=I,t.utcHours=D,t.utcMillisecond=i,t.utcMilliseconds=a,t.utcMinute=P,t.utcMinutes=z,t.utcMonday=U,t.utcMondays=W,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=X,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=B,t.utcSundays=Y,t.utcThursday=q,t.utcThursdays=K,t.utcTuesday=V,t.utcTuesdays=Z,t.utcWednesday=H,t.utcWednesdays=Q,t.utcWeek=B,t.utcWeeks=Y,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],82:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,u=s.setAttributeNS,c=this.CSSStyleDeclaration.prototype,f=c.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){u.call(this,t,e,r+"")},c.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function h(t,e){return te?1:t>=e?0:NaN}function d(t){return null===t?NaN:+t}function p(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(h);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function b(t){for(var e=1;t*e%1;)e*=10;return e}function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=b(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,u,c,f,h=-1,d=a.length,p=i[s++],g=new _;++h=i.length)return e;var n=[],o=a[r++];return e.forEach((function(e,i){n.push({key:e,values:t(i,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new S;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(B,"\\$&")};var B=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return U(t,X),t}var H=function(t,e){return e.querySelector(t)},q=function(t,e){return e.querySelectorAll(t)},G=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return(G=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},q=Sizzle,G=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var X=t.selection.prototype=[];function Y(t){return"function"==typeof t?t:function(){return H(t,this)}}function W(t){return"function"==typeof t?t:function(){return q(t,this)}}X.select=function(t){var e,r,n,i,a=[];t=Y(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),Q.hasOwnProperty(r)?{space:Q[r],local:t}:t}},X.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},X.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=tt(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},X.sort=function(t){t=ut.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=i+1);!(o=s[e])&&++e0&&(e=e.slice(0,o));var l=gt.get(e);function u(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:u:r?z:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=X.append,ht.empty=X.empty,ht.node=X.node,ht.call=X.call,ht.size=X.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?kt:Math.acos(t)}function It(t){return t>1?St:t<-1?-St:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Nt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(e=e.transition().duration(g)),e.call(w.event)}function E(){u&&u.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(c.range().map((function(t){return(t-h.y)/h.k})).map(c.invert))}function L(t){v++||t({type:"zoomstart"})}function S(t){E(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function O(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,l).on(b,u),a=M(t.mouse(e)),s=xt(e);function l(){n=1,A(t.mouse(e),a),S(r)}function u(){i.on(y,null).on(b,null),s(n),C(r)}ms.call(e),L(r)}function R(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,u="touchend"+o,c=[],f=t.select(r),d=xt(r);function p(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in i&&(i[t.identifier]=M(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){m=d[0];var b=d[1],x=m[0]-b[0],_=m[1]-b[1];a=x*x+_*_}}function v(){var o,l,u,c,f=t.touches(r);ms.call(r);for(var h=0,d=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ne(a(t+120),a(t),a(t-120))}function Xt(e,r,n){return this instanceof Xt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Xt?new Xt(e.h,e.c,e.l):$t(e instanceof Zt?e.l:(e=ce((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Xt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ht(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ht(this.h,this.s,t*this.l)},qt.rgb=function(){return Gt(this.h,this.s,this.l)},t.hcl=Xt;var Yt=Xt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Xt?Wt(t.h,t.c,t.l):ce((t=ne(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Xt(this.h,this.c,Math.min(100,this.l+Qt*(arguments.length?t:1)))},Yt.darker=function(t){return new Xt(this.h,this.c,Math.max(0,this.l-Qt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Zt;var Qt=18,Kt=Zt.prototype=new Vt;function Jt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ne(re(3.2404542*(i=.95047*te(i))-1.5371385*(n=1*te(n))-.4985314*(a=1.08883*te(a))),re(-.969266*i+1.8760108*n+.041556*a),re(.0556434*i-.2040259*n+1.0572252*a))}function $t(t,e,r){return t>0?new Xt(Math.atan2(r,e)*Ot,Math.sqrt(e*e+r*r),t):new Xt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(""+t,ne,Gt):new ne(t,e,r)}function ie(t){return new ne(t>>16,t>>8&255,255&t)}function ae(t){return ie(t)+""}Kt.brighter=function(t){return new Zt(Math.min(100,this.l+Qt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Zt(Math.max(0,this.l-Qt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return Jt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Vt;function se(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(he(i[0]),he(i[1]),he(i[2]))}return(a=de.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ue(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Ht(n,i,l)}function ce(t,e,r){var n=ee((.4124564*(t=fe(t))+.3575761*(e=fe(e))+.1804375*(r=fe(r)))/.95047),i=ee((.2126729*t+.7151522*e+.072175*r)/1);return Zt(116*i-16,500*(n-i),200*(i-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function he(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=i.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return this.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(e)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(c=t,o):c},o.response=function(t){return i=t,o},["get","post"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,i){if(2===arguments.length&&"function"==typeof n&&(i=n,n=null),u.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),u.setRequestHeader)for(var a in l)u.setRequestHeader(a,l[a]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=i&&o.on("error",i).on("load",(function(t){i(null,t)})),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,"on"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}de.forEach((function(t,e){de.set(t,ie(e))})),t.functor=pe,t.xhr=ge(C),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ve(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+"]"})).join(",")+"}");r=e?function(t,r){return e(i(t),r)}:i}))},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function f(){if(u>=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(xe),xe=setTimeout(Me,e)),be=0):(be=1,_e(Me))}function Te(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Ae(){for(var t,e=me,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Le(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:C;return function(e){var n=Se.exec(e),i=n[1]||" ",s=n[2]||">",l=n[3]||"-",u=n[4]||"",c=n[5],f=+n[6],h=n[7],d=n[8],p=n[9],g=1,v="",m="",y=!1,b=!0;switch(d&&(d=+d.substring(1)),(c||"0"===i&&"="===s)&&(c=i="0",s="="),p){case"n":h=!0,p="g";break;case"%":g=100,m="%",p="f";break;case"p":g=100,m="%",p="r";break;case"b":case"o":case"x":case"X":"#"===u&&(v="0"+p.toLowerCase());case"c":b=!1;case"d":y=!0,d=0;break;case"s":g=-1,p="r"}"$"===u&&(v=a[0],m=a[1]),"r"!=p||d||(p="g"),null!=d&&("g"==p?d=Math.max(1,Math.min(21,d)):"e"!=p&&"f"!=p||(d=Math.max(0,Math.min(20,d)))),p=Ce.get(p)||Oe;var x=c&&h;return function(e){var n=m;if(y&&e%1)return"";var a=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var u=t.formatPrefix(e,d);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=p(e,d)).lastIndexOf(".");if(M<0){var T=b?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&h&&(_=o(_,1/0));var A=v.length+_.length+w.length+(x?0:a.length),k=A"===s?k+a+e:"^"===s?k.substring(0,A>>=1)+a+e+k.substring(A):a+(x?e:k+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,ke(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ee[8+n/3]};var Se=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ce=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,ke(e,r))).toFixed(Math.max(0,Math.min(20,ke(e*(1+1e-15),r))))}});function Oe(t){return t+""}var Re=t.time={},Pe=Date;function ze(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}ze.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Ie.setUTCDate.apply(this._,arguments)},setDay:function(){Ie.setUTCDay.apply(this._,arguments)},setFullYear:function(){Ie.setUTCFullYear.apply(this._,arguments)},setHours:function(){Ie.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Ie.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Ie.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Ie.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Ie.setUTCSeconds.apply(this._,arguments)},setTime:function(){Ie.setTime.apply(this._,arguments)}};var Ie=Date.prototype;function De(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r1)for(;o=u)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in je?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(Pe=ze);return r._=t,e(r)}finally{Pe=Date}}return r.parse=function(t){try{Pe=ze;var r=e.parse(t);return r&&r._}finally{Pe=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var h=t.map(),d=He(o),p=qe(o),g=He(s),v=qe(s),m=He(l),y=qe(l),b=He(u),x=qe(u);a.forEach((function(t,e){h.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(r),d:function(t,e){return Ve(t.getDate(),e,2)},e:function(t,e){return Ve(t.getDate(),e,2)},H:function(t,e){return Ve(t.getHours(),e,2)},I:function(t,e){return Ve(t.getHours()%12||12,e,2)},j:function(t,e){return Ve(1+Re.dayOfYear(t),e,3)},L:function(t,e){return Ve(t.getMilliseconds(),e,3)},m:function(t,e){return Ve(t.getMonth()+1,e,2)},M:function(t,e){return Ve(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ve(t.getSeconds(),e,2)},U:function(t,e){return Ve(Re.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ve(Re.mondayOfYear(t),e,2)},x:c(n),X:c(i),y:function(t,e){return Ve(t.getFullYear()%100,e,2)},Y:function(t,e){return Ve(t.getFullYear()%1e4,e,4)},Z:ir,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){d.lastIndex=0;var n=d.exec(e.slice(r));return n?(t.w=p.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){b.lastIndex=0;var n=b.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Je,e:Je,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Xe,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:We,Z:Qe,"%":ar};return c}Re.year=De((function(t){return(t=Re.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Re.years=Re.year.range,Re.years.utc=Re.year.utc.range,Re.day=De((function(t){var e=new Pe(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t){return t.getDate()-1})),Re.days=Re.day.range,Re.days.utc=Re.day.utc.range,Re.dayOfYear=function(t){var e=Re.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(t,e){e=7-e;var r=Re[t]=De((function(t){return(t=Re.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t}),(function(t,e){t.setDate(t.getDate()+7*Math.floor(e))}),(function(t){var r=Re.year(t).getDay();return Math.floor((Re.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Re[t+"s"]=r.range,Re[t+"s"].utc=r.utc.range,Re[t+"OfYear"]=function(t){var r=Re.year(t).getDay();return Math.floor((Re.dayOfYear(t)+(r+e)%7)/7)}})),Re.week=Re.sunday,Re.weeks=Re.sunday.range,Re.weeks.utc=Re.sunday.utc.range,Re.weekOfYear=Re.sundayOfYear;var je={"-":"",_:" ",0:"0"},Be=/^\s*\d+/,Ue=/^%/;function Ve(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+i[0].length):-1}function Qe(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Je(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,i=y(e)%60;return r+Ve(n,"0",2)+Ve(i,"0",2)}function ar(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r=0?1:-1,s=o*a,l=Math.cos(e),u=Math.sin(e),c=i*u,f=n*l+c*Math.cos(s),h=c*o*Math.sin(s);Lr.add(Math.atan2(h,f)),r=t,n=l,i=u}Sr.point=function(o,s){Sr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),i=Math.sin(s)},Sr.lineEnd=function(){a(t,e)}}function Or(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Rr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Pr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function zr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ir(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Dr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Nr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Fr(t,e){return y(t[0]-e[0])Tt?i=90:u<-Tt&&(r=-90),f[0]=e,f[1]=n}};function d(t,a){c.push(f=[e=t,n=t]),ai&&(i=a)}function p(t,o){var s=Or([t*Ct,o*Ct]);if(l){var u=Pr(l,s),c=Pr([u[1],-u[0],0],u);Dr(c),c=Nr(c);var f=t-a,h=f>0?1:-1,p=c[0]*Ot*h,g=y(f)>180;if(g^(h*ai&&(i=v);else if(g^(h*a<(p=(p+360)%360-180)&&pi&&(i=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else d(t,o);l=s,a=t}function g(){h.point=p}function v(){f[0]=e,f[1]=n,h.point=d,l=null}function m(t,e){if(l){var r=t-a;u+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Sr.point(t,e),p(t,e)}function b(){Sr.lineStart()}function x(){m(o,s),Sr.lineEnd(),y(u)>Tt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=d[1]),_(d[0],g[1])>_(g[0],g[1])&&(g[0]=d[0])):s.push(g=d);for(var l,u,d,p=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=d,++o)d=s[o],(l=_(g[1],d[0]))>p&&(p=l,e=d[0],n=g[1])}return c=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){mr=yr=br=xr=_r=wr=Mr=Tr=Ar=kr=Er=0,t.geo.stream(e,jr);var r=Ar,n=kr,i=Er,a=r*r+n*n+i*i;return a=0;--s)i.point((f=c[s])[0],f[1]);else n(d.x,d.p.x,-1,i);d=d.p}c=(d=d.o).z,p=!p}while(!d.v);i.lineEnd()}}}function Wr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n=0?1:-1,M=w*_,T=M>kt,A=p*b;if(Lr.add(Math.atan2(A*w*Math.sin(M),g*x+A*Math.cos(M))),a+=T?_+w*Et:_,T^h>=r^m>=r){var k=Pr(Or(f),Or(t));Dr(k);var E=Pr(i,k);Dr(E);var L=(T^_>=0?-1:1)*It(E[2]);(n>L||n===L&&(k[0]||k[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;h=m,p=b,g=x,f=t}}return(a<-Tt||a0){for(b||(o.polygonStart(),b=!0),o.lineStart();++a1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return c}}function Kr(t){return t.length>1}function Jr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:z,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-St-Tt:St-t[1])-((e=e.x)[0]<0?e[1]-St-Tt:St-e[1])}var tn=Qr(Xr,(function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?kt:-kt,l=y(a-r);y(l-kt)0?St:-St),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=kt&&(y(r-i)Tt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var i;if(null==t)i=r*St,n.point(-kt,i),n.point(0,i),n.point(kt,i),n.point(kt,0),n.point(kt,-i),n.point(0,-i),n.point(-kt,-i),n.point(-kt,0),n.point(-kt,i);else if(y(t[0]-e[0])>Tt){var a=t[0]0,n=y(e)>Tt;return Qr(i,(function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(f,h){var d,p=[f,h],g=i(f,h),v=r?g?0:o(f,h):g?o(f+(f<0?kt:-kt),h):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(d=a(e,p),(Fr(e,d)||Fr(p,d))&&(p[0]+=Tt,p[1]+=Tt,g=i(p[0],p[1]))),g!==l)c=0,g?(t.lineStart(),d=a(p,e),t.point(d[0],d[1])):(d=a(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(n&&e&&r^g){var m;v&s||!(m=a(p,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Fr(e,p)||t.point(p[0],p[1]),e=p,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}}),Fn(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Pr(Or(t),Or(r)),o=Rr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,f=Pr(i,a),h=Ir(i,u);zr(h,Ir(a,c));var d=f,p=Rr(h,d),g=Rr(d,d),v=p*p-g*(Rr(h,h)-1);if(!(v<0)){var m=Math.sqrt(v),b=Ir(d,(-p-m)/g);if(zr(b,h),b=Nr(b),!n)return b;var x,_=t[0],w=r[0],M=t[1],T=r[1];w<_&&(x=_,_=w,w=x);var A=w-_,k=y(A-kt)0^b[1]<(y(b[0]-_)kt^(_<=b[0]&&b[0]<=w)){var E=Ir(d,(-p+m)/g);return zr(E,h),[b,Nr(E)]}}}function o(e,n){var i=r?t:kt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}function rn(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,u=o.y,c=0,f=1,h=s.x-l,d=s.y-u;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a0)){if(a/=d,d<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=n-u,d||!(a<0)){if(a/=d,d<0){if(a>f)return;a>c&&(c=a)}else if(d>0){if(a0&&(i.a={x:l+c*h,y:u+c*d}),f<1&&(i.b={x:l+f*h,y:u+f*d}),i}}}}}}function nn(e,r,n,i){return function(l){var u,c,f,h,d,p,g,v,m,y,b,x=l,_=Jr(),w=rn(e,r,n,i),M={point:k,lineStart:function(){M.point=E,c&&c.push(f=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(E(h,d),p&&m&&_.rejoin(),u.push(_.buffer()));M.point=k,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],b=!0},polygonEnd:function(){l=x,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],i=0;in&&Pt(u,a,t)>0&&++e:a[1]<=n&&Pt(u,a,t)<0&&--e,u=a;return 0!==e}([e,i]),n=b&&r,a=u.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),a&&Yr(u,o,r,T,l),l.polygonEnd()),u=c=f=null}};function T(t,o,l,u){var c=0,f=0;if(null==t||(c=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?i:r)}while((c=(c+l+4)%4)!==f);else u.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function k(t,e){A(t,e)&&l.point(t,e)}function E(t,e){var r=A(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(c&&f.push([t,e]),y)h=t,d=e,p=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),b=!1):r&&(l.lineStart(),l.point(t,e),b=!1)}g=t,v=e,m=r}return M};function a(t,i){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=kt/3,n=Cn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,It((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function u(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return u.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},u.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},u.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),u):a.precision()},u.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),u.translate(a.translate())):a.scale()},u.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),c=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[c-.455*e,f-.238*e],[c+.455*e,f+.238*e]]).stream(l).point,n=o.translate([c-.307*e,f+.201*e]).clipExtent([[c-.425*e+Tt,f+.12*e+Tt],[c-.214*e-Tt,f+.234*e-Tt]]).stream(l).point,i=s.translate([c-.205*e,f+.212*e]).clipExtent([[c-.214*e+Tt,f+.166*e+Tt],[c-.115*e-Tt,f+.234*e-Tt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,fn,hn,dn={point:z,lineStart:z,lineEnd:z,polygonStart:function(){ln=0,dn.lineStart=pn},polygonEnd:function(){dn.lineStart=dn.lineEnd=dn.point=z,sn+=y(ln/2)}};function pn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}dn.point=function(a,o){dn.point=i,t=r=a,e=n=o},dn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){tfn&&(fn=t);ehn&&(hn=e)},lineStart:z,lineEnd:z,polygonStart:z,polygonEnd:z};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function i(t,n){e.push("M",t,",",n),r.point=a}function a(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,bn={point:xn,lineStart:_n,lineEnd:wn,polygonStart:function(){bn.lineStart=Mn},polygonEnd:function(){bn.point=xn,bn.lineStart=_n,bn.lineEnd=wn}};function xn(t,e){br+=t,xr+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Tr+=o,xn(t=r,e=n)}bn.point=function(n,i){bn.point=r,xn(t=n,e=i)}}function wn(){bn.point=xn}function Mn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),kr+=o*(n+e),Er+=3*o,xn(r=t,n=e)}bn.point=function(a,o){bn.point=i,xn(t=r=a,e=n=o)},bn.lineEnd=function(){i(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:z};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Et)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(t){return(n?o:a)(t)}function a(e){return Ln(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,i,a,o,l,u,c,f,h,d,p,g,v={point:m,lineStart:y,lineEnd:x,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,v.point=b,e.lineStart()}function b(r,i){var a=Or([r,i]),o=t(r,i);s(f,h,c,d,p,g,f=o[0],h=o[1],c=r,d=a[0],p=a[1],g=a[2],n,e),e.point(f,h)}function x(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){b(r=t,e),i=f,a=h,o=d,l=p,u=g,v.point=b}function M(){s(f,h,c,d,p,g,i,a,r,o,l,u,n,e),v.lineEnd=x,x()}return v}function s(n,i,a,o,l,u,c,f,h,d,p,g,v,m){var b=c-n,x=f-i,_=b*b+x*x;if(_>4*e&&v--){var w=o+d,M=l+p,T=u+g,A=Math.sqrt(w*w+M*M+T*T),k=Math.asin(T/=A),E=y(y(T)-1)e||y((b*O+x*R)/_-.5)>.3||o*d+l*p+u*g0&&16,i):Math.sqrt(e)},i}function kn(t){var e=An((function(e,r){return t([e*Ot,r*Ot])}));return function(t){return On(e(t))}}function En(t){this.stream=t}function Ln(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Sn(t){return Cn((function(){return t}))()}function Cn(e){var r,n,i,a,o,s,l=An((function(t,e){return[(t=r(t,e))[0]*u+a,o-t[1]*u]})),u=150,c=480,f=250,h=0,d=0,p=0,g=0,v=0,m=tn,y=C,b=null,x=null;function _(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*u+a,o-t[1]*u]}function w(t){return(t=i.invert((t[0]-a)/u,(o-t[1])/u))&&[t[0]*Ot,t[1]*Ot]}function M(){i=Gr(n=zn(p,g,v),r);var t=r(h,d);return a=c-t[0]*u,o=f+t[1]*u,T()}function T(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=On(m(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):en((b=+t)*Ct),T()):b},_.clipExtent=function(t){return arguments.length?(x=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):C,T()):x},_.scale=function(t){return arguments.length?(u=+t,M()):u},_.translate=function(t){return arguments.length?(c=+t[0],f=+t[1],M()):[c,f]},_.center=function(t){return arguments.length?(h=t[0]%360*Ct,d=t[1]%360*Ct,M()):[h*Ot,d*Ot]},_.rotate=function(t){return arguments.length?(p=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,M()):[p*Ot,g*Ot,v*Ot]},t.rebind(_,l,"precision"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,M()}}function On(t){return Ln(t,(function(e,r){t.point(e*Ct,r*Ct)}))}function Rn(t,e){return[t,e]}function Pn(t,e){return[t>kt?t-Et:t<-kt?t+Et:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),Nn(e,r)):Dn(t):e||r?Nn(e,r):Pn}function In(t){return function(e,r){return[(e+=t)>kt?e-Et:e<-kt?e+Et:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Nn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*i-c*a,s*r-u*n),It(c*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*i-l*a;return[Math.atan2(l*i+u*a,s*r+c*n),It(c*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=jn(r,i),a=jn(r,a),(o>0?ia)&&(i+=o*Et)):(i=t+o*Et,a=t-.5*l);for(var u,c=i;o>0?c>a:c2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Ot,e[1]*=Ot,e},e},Pn.invert=Rn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Ot,t[1]*=Ot}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Fn((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=Fn(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),u=Math.cos(i),c=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=u*c-l*f*s)*r),l*c+u*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,u,c,f,h,d=10,p=d,g=90,v=360,m=2.5;function b(){return{type:"MultiLineString",coordinates:x()}}function x(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/v)*v,s,v).map(h)).concat(t.range(Math.ceil(r/d)*d,e,d).filter((function(t){return y(t%g)>Tt})).map(u)).concat(t.range(Math.ceil(o/p)*p,a,p).filter((function(t){return y(t%v)>Tt})).map(c))}return b.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},b.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},b.extent=function(t){return arguments.length?b.majorExtent(t).minorExtent(t):b.minorExtent()},b.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),b.precision(m)):[[i,l],[n,s]]},b.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),b.precision(m)):[[r,o],[e,a]]},b.step=function(t){return arguments.length?b.majorStep(t).minorStep(t):b.minorStep()},b.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],b):[g,v]},b.minorStep=function(t){return arguments.length?(d=+t[0],p=+t[1],b):[d,p]},b.precision=function(t){return arguments.length?(m=+t,u=Bn(o,a,90),c=Un(r,e,m),f=Bn(l,s,90),h=Un(i,n,m),b):m},b.majorExtent([[-180,-90+Tt],[180,90-Tt]]).minorExtent([[-180,-80-Tt],[180,80+Tt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=Hn;function a(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r="function"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),u=Math.sin(a),c=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),d=l*Math.sin(i),p=2*Math.asin(Math.sqrt(Nt(a-n)+o*l*Nt(i-r))),g=1/Math.sin(p),(v=p?function(t){var e=Math.sin(t*=p)*g,r=Math.sin(p-t)*g,n=r*c+e*h,i=r*f+e*d,a=r*s+e*u;return[Math.atan2(i,n)*Ot,Math.atan2(a,Math.sqrt(n*n+i*i))*Ot]}:function(){return[r*Ot,n*Ot]}).distance=p,v;var r,n,i,a,o,s,l,u,c,f,h,d,p,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:z,point:z,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}qn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=z}},lineEnd:z,polygonStart:z,polygonEnd:z};function Gn(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var Xn=Gn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Sn(Xn)}).raw=Xn;var Yn=Gn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),C);function Wn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return Kn;function o(t,e){a>0?e<-St+Tt&&(e=-St+Tt):e>St-Tt&&(e=St-Tt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=Rt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-St]},o}function Zn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ai(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Sn(ti)}).raw=ti,ei.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-St]},(t.geo.transverseMercator=function(){var t=Jn(ei),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ei,t.geom={},t.geom.hull=function(t){var e=ri,r=ni;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=pe(e),a=pe(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)d.push(t[s[u[n]][2]]);for(n=+f;nTt)s=s.L;else{if(!((i=a-Mi(s,o))>Tt)){n>-Tt?(e=s.P,r=s):i>-Tt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=yi(t);if(hi.insert(e,l),e||r){if(e===r)return Li(e),r=yi(e.site),hi.insert(l,r),l.edge=r.edge=Oi(e.site,l.site),Ei(e),void Ei(r);if(r){Li(e),Li(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,d=t.y-f,p=r.site,g=p.x-c,v=p.y-f,m=2*(h*v-d*g),y=h*h+d*d,b=g*g+v*v,x={x:(v*y-d*b)/m+c,y:(h*b-g*y)/m+f};Pi(r.edge,u,p,x),l.edge=Oi(u,t,null,x),r.edge=Oi(t,p,null,x),Ei(e),Ei(r)}else l.edge=Oi(e.site,l.site)}}function wi(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Mi(t,e){var r=t.N;if(r)return wi(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ti(t){this.site=t,this.edges=[]}function Ai(t,e){return e.angle-t.angle}function ki(){Di(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ei(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(v=a.y-s)-u*c);if(!(f>=-At)){var h=l*l+u*u,d=c*c+v*v,p=(v*h-u*d)/f,g=(l*d-c*h)/f,v=g+s,m=vi.pop()||new ki;m.arc=t,m.site=i,m.x=p+o,m.y=v+Math.sqrt(p*p+g*g),m.cy=v,t.circle=m;for(var y=null,b=pi._;b;)if(m.y=s)return;if(h>p){if(a){if(a.y>=u)return}else a={x:v,y:l};r={x:v,y:u}}else{if(a){if(a.y1)if(h>p){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.xTt||y(i-r)>Tt)&&(s.splice(o,0,new zi(Ri(a.site,c,y(n-f)Tt?{x:f,y:y(e-f)Tt?{x:y(r-p)Tt?{x:h,y:y(e-h)Tt?{x:y(r-d)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Tt)*Tt,y:Math.round(i(t,e)/Tt)*Tt,i:e}}))}return o.links=function(t){return Bi(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return Bi(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Ai),c=-1,f=u.length,h=u[f-1].edge,d=h.l===l?h.r:h.l;++ca||f>o||h=_)<<1|e>=x,M=w+4;wa&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Zi(r,n)})),a=Ji.lastIndex;return ag&&(g=l.x),l.y>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(f=0;fg&&(g=x),_>v&&(v=_),u.push(x),c.push(_)}var w=g-d,M=v-p;function T(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,T(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}w>M?v=p+w:g=d+M;var k={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(k,t,+m(t,++f),+b(t,f),d,p,g,v)},visit:function(t){Gi(t,k,d,p,g,v)},find:function(t){return Xi(k,t[0],t[1],d,p,g,v)}};if(f=-1,null==e){for(;++f=0&&!(n=t.interpolators[i](e,r)););return n}function ta(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function aa(t){return function(e){return 1-t(1-e)}}function oa(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function sa(t){return t*t}function la(t){return t*t*t}function ua(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ca(t){return 1-Math.cos(t*St)}function fa(t){return Math.pow(2,10*(t-1))}function ha(t){return 1-Math.sqrt(1-t*t)}function da(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function pa(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ga(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=ma(i),s=va(i,a),l=ma(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,e):t,i=e>=0?t.slice(e+1):"in";return n=ra.get(n)||ea,ia((i=na.get(i)||C)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Gt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return Jt(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=pa,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ga(e?e.matrix:ya)})(e)},ga.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ya={a:1,b:0,c:0,d:1,e:0,f:0};function ba(t){return t.length?t.pop()+",":""}function xa(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(ba(r)+"rotate(",null,")")-2,x:Zi(t,e)})):e&&r.push(ba(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(ba(r)+"skewX(",null,")")-2,x:Zi(t,e)}):e&&r.push(ba(r)+"skewX("+e+")")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(ba(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Zi(t[0],e[0])},{i:i-2,x:Zi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(ba(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],p=u[1];for(t=0;t=0;)r.push(i[n])}function za(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return za(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Pa(t,(function(t){t.children&&(t.value=0)})),za(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function Wa(t){return t.reduce(Za,0)}function Za(t,e){return t+e[1]}function Qa(t,e){return Ka(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Ka(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Ja(e){return[t.min(e),t.max(e)]}function $a(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(io),(r=e[0]).x=-r.r,r.y=0,b(r),l>1&&((n=e[1]).x=n.r,n.y=0,b(n),l>2))for(oo(r,n,i=e[2]),b(i),to(r,i),r._pack_prev=i,to(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[t.bisect(h,l,1,p)-1]).y+=g,s.push(a[o]));return u}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=pe(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Ka(e,t)}:pe(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($a),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],u=i[1],c=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,za(s,(function(t){t.r=+c(t.value)})),za(s,no),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;za(s,(function(t){t.r+=f})),za(s,no),za(s,(function(t){t.r-=f}))}return function t(e,r,n,i){var a=e.children;if(e.x=r+=i*e.x,e.y=n+=i*e.y,e.r*=i,a)for(var o=-1,s=a.length;++od.x&&(d=t),t.depth>p.depth&&(p=t)}));var g=r(h,d)/2-h.x,v=n[0]/(d.x+r(d,h)/2+g),m=n[1]/(p.depth||1);Pa(c,(function(t){t.x=(t.x+g)*v,t.y=t.depth*m}))}return u}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=uo(s),a=lo(a),s&&a;)l=lo(l),(o=uo(o)).a=t,(i=s.z+f-a.z-u+r(s._,a._))>0&&(co(fo(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!uo(o)&&(o.t=s,o.m+=f-c),a&&!lo(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Ra(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),u=l[0],c=0;za(u,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?c+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(u),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),d=f.x-r(f,h)/2,p=h.x+r(h,f)/2;return za(u,i?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-d)/(p-d)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Ra(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=ho,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=d(s,g))<=h?(u.pop(),h=n):(s.area-=s.pop().area,p(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(p(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(p(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function d(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function p(t,e,r,i){var a,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((i||c>r.dy)&&(c=r.dy);++or.dx)&&(c=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?_o:mo,s=i?wa:_a;return a=t(e,r,s,n),o=t(r,e,s,$i),l}function l(t){return a(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(pa)},l.clamp=function(t){return arguments.length?(i=t,s()):i},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Ao(e,t)},l.tickFormat=function(t,r){return ko(e,t,r)},l.nice=function(t){return Mo(e,t),s()},l.copy=function(){return t(e,r,n,i)},s()}([0,1],[0,1],$i,!1)};var Eo={s:1,g:1,p:1,r:1,e:1};function Lo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a},l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n},l.nice=function(){var t=yo(a.map(o),i?Math:Co);return r.domain(t),a=t.map(s),l},l.ticks=function(){var t=go(a),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(c-u)){if(i){for(;u0;h--)e.push(s(u)*h);for(u=0;e[u]l;c--);e=e.slice(u,c)}return e},l.tickFormat=function(e,r){if(!arguments.length)return So;arguments.length<2?r=So:"function"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?i[t-1]:r[0],tf?0:1;if(u=Lt)return l(u,d)+(s?l(s,1-d):"")+"Z";var p,g,v,m,y,b,x,_,w,M,T,A,k=0,E=0,L=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===No?Math.sqrt(s*s+u*u):+n.apply(this,arguments),d||(E*=-1),u&&(E=It(v/u*Math.sin(m))),s&&(k=It(v/s*Math.sin(m)))),u){y=u*Math.cos(c+E),b=u*Math.sin(c+E),x=u*Math.cos(f-E),_=u*Math.sin(f-E);var S=Math.abs(f-c-2*E)<=kt?0:1;if(E&&Ho(y,b,x,_)===d^S){var C=(c+f)/2;y=u*Math.cos(C),b=u*Math.sin(C),x=_=null}}else y=b=0;if(s){w=s*Math.cos(f-k),M=s*Math.sin(f-k),T=s*Math.cos(c+k),A=s*Math.sin(c+k);var O=Math.abs(c-f+2*k)<=kt?0:1;if(k&&Ho(w,M,T,A)===1-d^O){var R=(c+f)/2;w=s*Math.cos(R),M=s*Math.sin(R),T=A=null}}else w=M=0;if(h>Tt&&(p=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function qo(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,d=e[1]+u,p=(c+h)/2,g=(f+d)/2,v=h-c,m=d-f,y=v*v+m*m,b=r-n,x=c*d-h*f,_=(m<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-x*x)),w=(x*m-v*_)/y,M=(-x*v-m*_)/y,T=(x*m+v*_)/y,A=(-x*v+m*_)/y,k=w-p,E=M-g,L=T-p,S=A-g;return k*k+E*E>L*L+S*S&&(w=T,M=A),[[w-l,M-u],[w*r/b,M*r/b]]}function Go(t){var e=ri,r=ni,n=Xr,i=Yo,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=pe(e),d=pe(r);function p(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]);return i.join("")},"step-before":Zo,"step-after":Qo,basis:$o,"basis-open":function(t){if(t.length<4)return Yo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(ts(ns,a)+","+ts(ns,o)),--n;for(;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Yo(t){return t.length>1?t.join("L"):t+"Z"}function Wo(t){return t.join("L")+"Z"}function Zo(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;ukt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=pe(t),a):r},a.source=function(e){return arguments.length?(t=pe(e),a):t},a.target=function(t){return arguments.length?(e=pe(t),a):e},a.startAngle=function(t){return arguments.length?(n=pe(t),a):n},a.endAngle=function(t){return arguments.length?(i=pe(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=Hn,r=us;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=pe(e),n):t},n.target=function(t){return arguments.length?(e=pe(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=us,n=e.projection;return e.projection=function(t){return arguments.length?n(cs(r=t)):r},e},t.svg.symbol=function(){var t=hs,e=fs;function r(r,n){return(ps.get(t.call(this,r,n))||ds)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=pe(e),r):t},r.size=function(t){return arguments.length?(e=pe(t),r):e},r};var ps=t.map({circle:ds,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*vs)),r=e*vs;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ps.keys();var gs=Math.sqrt(3),vs=Math.tan(30*Ct);X.transition=function(t){for(var e,r,n=xs||++Ms,i=ks(t),a=[],o=_s||{time:Date.now(),ease:ua,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=we((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new _,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ws.call=X.call,ws.empty=X.empty,ws.node=X.node,ws.size=X.size,t.transition=function(e,r){return e&&e.transition?xs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=Y(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var f,v,m=this,y=t.select(t.event.target),b=n.of(m,arguments),x=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,M=!/^(e|w)$/.test(_)&&a,T=y.classed("extent"),A=xt(m),k=t.mouse(m),E=t.select(o(m)).on("keydown.brush",C).on("keyup.brush",O);if(t.event.changedTouches?E.on("touchmove.brush",R).on("touchend.brush",z):E.on("mousemove.brush",R).on("mouseup.brush",z),x.interrupt().selectAll("*").interrupt(),T)k[0]=s[0]-k[0],k[1]=l[0]-k[1];else if(_){var L=+/w$/.test(_),S=+/^n/.test(_);v=[s[1-L]-k[0],l[1-S]-k[1]],k[0]=s[L],k[1]=l[S]}else t.event.altKey&&(f=k.slice());function C(){32==t.event.keyCode&&(T||(f=null,k[0]-=s[1],k[1]-=l[1],T=2),N())}function O(){32==t.event.keyCode&&2==T&&(k[0]+=s[1],k[1]+=l[1],T=0,N())}function R(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),k[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=js(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=js(+e+1);return e}}:t))},i.ticks=function(t,e){var r=go(i.domain()),n=null==t?a(r,10):"number"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],js(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Fs(e.copy(),r,n)},wo(i,e)}function js(t){return new Date(t)}zs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ns:Ds,Ns.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ns.toString=Ds.toString,Re.second=De((function(t){return new Pe(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Re.seconds=Re.second.range,Re.seconds.utc=Re.second.utc.range,Re.minute=De((function(t){return new Pe(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Re.minutes=Re.minute.range,Re.minutes.utc=Re.minute.utc.range,Re.hour=De((function(t){var e=t.getTimezoneOffset()/60;return new Pe(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Re.hours=Re.hour.range,Re.hours.utc=Re.hour.utc.range,Re.month=De((function(t){return(t=Re.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Re.months=Re.month.range,Re.months.utc=Re.month.utc.range;var Bs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Us=[[Re.second,1],[Re.second,5],[Re.second,15],[Re.second,30],[Re.minute,1],[Re.minute,5],[Re.minute,15],[Re.minute,30],[Re.hour,1],[Re.hour,3],[Re.hour,6],[Re.hour,12],[Re.day,1],[Re.day,2],[Re.week,1],[Re.month,1],[Re.month,3],[Re.year,1]],Vs=zs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Xr]]),Hs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(js)},floor:C,ceil:C};Us.year=Re.year,Re.scale=function(){return Fs(t.scale.linear(),Us,Vs)};var qs=Us.map((function(t){return[t[0].utc,t[1]]})),Gs=Is.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Xr]]);function Xs(t){return JSON.parse(t.responseText)}function Ys(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}qs.year=Re.year.utc,Re.scale.utc=function(){return Fs(t.scale.linear(),qs,Gs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return ve(t,"application/json",Xs,e)},t.html=function(t,e){return ve(t,"text/html",Ys,e)},t.xml=ge((function(t){return t.responseXML})),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],83:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(c=0;c<_.length;++c){h=(x=_[c])[0];x[0]=x[1],x[1]=h}return _}},{"incremental-convex-hull":270,uniq:368}],85:[function(t,e,r){(function(t){(function(){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t("buffer").Buffer)},{buffer:49}],86:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],87:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var d=a(u[h-1],c[h-1],arguments[h]);n.push(d),i.push((d-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var d=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+d)),i.push(d*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":93,"cubic-hermite":76}],93:[function(t,e,r){"use strict";function n(t,e,r,n,i,a){var o=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",i?".get(m)":"[m]"];return a?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),a?o.push("return -1};"):o.push("return i};"),o.join("")}function i(t,e,r,i){return new Function([n("A","x"+t+"y",e,["y"],!1,i),n("B","x"+t+"y",e,["y"],!0,i),n("P","c(x,y)"+t+"0",e,["y","c"],!1,i),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,i),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:i(">=",!1,"GE"),gt:i(">",!1,"GT"),lt:i("<",!0,"LT"),le:i("<=",!0,"LE"),eq:i("-",!0,"EQ",!0)}},{}],94:[function(t,e,r){"use strict";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function i(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function a(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function u(t,e){var r;if(e.left&&(r=u(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?u(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left)if(i=c(t,e,r,n.left))return i;if(i=r(n.key,n.value))return i}if(n.right)return c(t,e,r,n.right)}function f(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=f(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return f(t,e,r,n,i.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,"length",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,i=this.root,l=[],u=[];i;){var c=r(t,i.key);l.push(i),u.push(c),i=c<=0?i.left:i.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){i=l[f];u[f]<=0?l[f]=new n(i._color,i.key,i.value,l[f+1],i.right,i._count+1):l[f]=new n(i._color,i.key,i.value,i.left,l[f+1],i._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];i=l[f];if(1===h._color||1===i._color)break;var d=l[f-2];if(d.left===h)if(h.left===i){if(!(p=d.right)||0!==p._color){if(d._color=0,d.left=h.right,h._color=1,h.right=d,l[f-2]=h,l[f-1]=i,o(d),o(h),f>=3)(g=l[f-3]).left===d?g.left=h:g.right=h;break}h._color=1,d.right=a(1,p),d._color=0,f-=1}else{if(!(p=d.right)||0!==p._color){if(h.right=i.left,d._color=0,d.left=i.right,i._color=1,i.left=h,i.right=d,l[f-2]=i,l[f-1]=h,o(d),o(h),o(i),f>=3)(g=l[f-3]).left===d?g.left=i:g.right=i;break}h._color=1,d.right=a(1,p),d._color=0,f-=1}else if(h.right===i){if(!(p=d.left)||0!==p._color){if(d._color=0,d.right=h.left,h._color=1,h.left=d,l[f-2]=h,l[f-1]=i,o(d),o(h),f>=3)(g=l[f-3]).right===d?g.right=h:g.left=h;break}h._color=1,d.left=a(1,p),d._color=0,f-=1}else{var p;if(!(p=d.left)||0!==p._color){var g;if(h.left=i.right,d._color=0,d.right=i.left,i._color=1,i.right=h,i.left=d,l[f-2]=i,l[f-1]=h,o(d),o(h),o(i),f>=3)(g=l[f-3]).right===d?g.right=i:g.left=i;break}h._color=1,d.left=a(1,p),d._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return u(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new h(this,n);r=i<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var d=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return te?1:0}Object.defineProperty(d,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(d,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),d.clone=function(){return new h(this.tree,this._stack.slice())},d.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var u=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var c=e[u-1];e.push(new n(r._color,c.key,c.value,r.left,r.right,r._count)),e[u-1].key=r.key,e[u-1].value=r.value;for(l=e.length-2;l>=u;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[u-1].left=e[u]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=i(n)).right=i(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(u=t[l-2]).left===r?u.left=n:u.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=i(n)).left=i(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(u=t[l-2]).left===r?u.left=s:u.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=a(0,n));r.right=a(0,n);continue}n=i(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((u=t[l-2]).left===r?u.left=n:u.right=n),t[l-1]=n,t[l]=r,l+11)(u=t[l-2]).right===r?u.right=n:u.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=i(n)).right=i(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(u=t[l-2]).right===r?u.right=s:u.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=a(0,n));r.left=a(0,n);continue}var u;n=i(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((u=t[l-2]).right===r?u.right=n:u.left=n),t[l-1]=n,t[l]=r,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(d,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(d,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),d.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(d,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),d.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),i=e[e.length-1];r[r.length-1]=new n(i._color,i.key,t,i.left,i.right,i._count);for(var a=e.length-2;a>=0;--a)(i=e[a]).left===e[a+1]?r[a]=new n(i._color,i.key,i.value,r[a+1],i.right,i._count):r[a]=new n(i._color,i.key,i.value,i.left,r[a+1],i._count);return new s(this.tree._compare,r[0])},d.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(d,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],95:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function a(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(a(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=a},{}],96:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],b=[0,0,0];f.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,x=n[12],_=n[13],w=n[14],M=n[15],T=(s?2:1)*this.pixelRatio*(i[3]*x+i[7]*_+i[11]*w+i[15]*M)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var k=d;for(A=0;A<3;++A)p(d[A],A,this.bounds,f,h);e=this.gl;var E,L=g;for(A=0;A<3;++A)this.backgroundEnable[A]?L[A]=h[A]:L[A]=0;this._background.draw(r,n,i,a,L,this.backgroundColor),this._lines.bind(r,n,i,this);for(A=0;A<3;++A){var S=[0,0,0];h[A]>0?S[A]=a[1][A]:S[A]=a[0][A];for(var C=0;C<2;++C){var O=(A+1+C)%3,R=(A+1+(1^C))%3;this.gridEnable[O]&&this._lines.drawGrid(O,R,this.bounds,S,this.gridColor[O],this.gridWidth[O]*this.pixelRatio)}for(C=0;C<2;++C){O=(A+1+C)%3,R=(A+1+(1^C))%3;this.zeroEnable[R]&&Math.min(a[0][R],a[1][R])<=0&&Math.max(a[0][R],a[1][R])>=0&&this._lines.drawZero(O,R,this.bounds,S,this.zeroLineColor[R],this.zeroLineWidth[R]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var P=u(m,k[A].primalMinor),z=u(y,k[A].mirrorMinor),I=this.lineTickLength;for(C=0;C<3;++C){var D=T/r[5*C];P[C]*=I[C]*D,z[C]*=I[C]*D}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,k[A].primalOffset,P,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,k[A].mirrorOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var N,F;function j(t){(F=[0,0,0])[t]=1}function B(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?j(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&j(i)}for(A=0;A<3;++A){var U=k[A].primalMinor,V=k[A].mirrorMinor,H=u(b,k[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(H[C]+=T*U[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,N=1,"auto"===(E=[this.tickAlign[A],.5,N])[0]?E[0]=0:E[0]=parseInt(""+E[0]),F=[0,0,0],B(A,U,V);for(C=0;C<3;++C)H[C]+=T*U[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,F,E)}if(this.labelEnable[A]){N=0,F=[0,0,0],this.labels[A].length>4&&(j(A),N=1),"auto"===(E=[this.labelAlign[A],.5,N])[0]?E[0]=0:E[0]=parseInt(""+E[0]);for(C=0;C<3;++C)H[C]+=T*U[C]*this.labelPad[C]/r[5*C];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],F,E)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":98,"./lib/cube.js":99,"./lib/lines.js":100,"./lib/text.js":102,"./lib/ticks.js":103}],98:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d<=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p<=1;p+=2){f[u]=p;for(var g=-1;g<=1;g+=2)f[c]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var v=u;u=c,c=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),b=i(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),x=a(t);return x.attributes.position.location=0,x.attributes.normal.location=1,new o(t,m,b,x)};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":101,"gl-buffer":106,"gl-vao":186}],99:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,d){i(s,e,t),i(s,r,s);for(var y=0,b=0;b<2;++b){c[2]=a[b][2];for(var x=0;x<2;++x){c[1]=a[x][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[y],c,s),y+=1}}var w=-1;for(b=0;b<8;++b){for(var M=l[b][3],T=0;T<3;++T)u[b][T]=l[b][T]/M;d&&(u[b][2]*=-1),M<0&&(w<0||u[b][2]L&&(w|=1<L&&(w|=1<u[b][1])&&(D=b);var N=-1;for(b=0;b<3;++b){if((j=D^1<u[F][0]&&(F=j)}var B=g;B[0]=B[1]=B[2]=0,B[n.log2(N^D)]=D&N,B[n.log2(D^F)]=D&F;var U=7^F;U===w||U===I?(U=7^N,B[n.log2(F^U)]=U&F):B[n.log2(N^U)]=U&N;var V=v,H=w;for(A=0;A<3;++A)V[A]=H&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":166,glslify:104}],102:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function(t,e,r,a,s,l){var c=n(t),f=i(t,[{buffer:c,size:3}]),h=o(t);h.attributes.position.location=0;var d=new u(t,h,c,f);return d.update(e,r,a,s,l),d};var n=t("gl-buffer"),i=t("gl-vao"),a=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function u(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var c=u.prototype,f=[0,0];c.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},c.unbind=function(){this.vao.unbind()},c.update=function(t,e,r,n,i){var o=[];function s(t,e,r,n,i,s){var u=l[r];u||(u=l[r]={});var c=u[e];c||(c=u[e]=function(t,e){try{return a(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,d=c.cells,p=0,g=d.length;p=0;--m){var y=h[v[m]];o.push(f*y[0],-f*y[1],t)}}for(var u=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],d={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r[p],12,1.25,d),h[p]=(o.length/3|0)-f[p],u[p]=o.length/3|0;for(var g=0;g=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:301,"ndarray-ops":296,"typedarray-pool":366}],107:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=null,p=null,g=[],v=1/0,m=!1,y=0;yo&&(o=n.length(x)),y){var _=2*n.distance(d,b)/(n.length(p)+n.length(x));_?(v=Math.min(v,_),m=!1):m=!0}m||(d=b,p=x),g.push(x)}var w=[s,u,f],M=[l,c,h];e&&(e[0]=w,e[1]=M),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),a.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),a.coneScale=A;y=0;for(var k=0;y=1},d.isTransparent=function(){return this.opacity<1},d.pickSlots=1,d.setPickBase=function(t){this.pickId=t},d.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],d=t.vertexIntensity,p=1/0,g=-1/0;if(d)if(t.vertexIntensityBounds)p=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v0){var g=this.triShader;g.bind(),g.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},d.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},d.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},d.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()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=p(t,n),l=g(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=i(t),d=i(t),v=i(t),m=i(t),y=i(t),b=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),x=new h(t,c,s,l,f,d,y,v,m,b,r.traceType||"cone");return x.update(e),x}},{colormap:68,"gl-buffer":106,"gl-mat4/invert":137,"gl-mat4/multiply":139,"gl-shader":166,"gl-texture2d":182,"gl-vao":186,ndarray:301}],109:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:110}],110:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],111:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",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"}},{}],112:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":111}],113:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=t("gl-buffer"),i=t("gl-vao"),a=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho||!1?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0)(g=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],p[0],p[1],p[2],p[3],0,0,0,g[0],g[1],g[2],p[0],p[1],p[2],p[3],0,0,0),u(this.bounds,g),o+=2+f(i,g,p,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":115,"gl-buffer":106,"gl-vao":186}],114:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],115:[function(t,e,r){"use strict";var n=t("glslify"),i=t("gl-shader"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":166,glslify:114}],116:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,d=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!d)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&d&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new p(t,e,r,h,f,g,v,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function d(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function p(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var p=0;p1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?p?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&p?t._depth_rb=d(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=d(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):p&&(t._depth_rb=d(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var b=r.checkFramebufferStatus(r.FRAMEBUFFER);if(b!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(m=0;mi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{"gl-shader":166,glslify:120}],119:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),d=0;d<1024;++d)c.data[d]=255;var p=a(e,c);p.wrap=e.REPEAT;var g=new m(e,r,o,s,l,p);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t("binary-search-bounds"),u=t("ndarray"),c=t("./lib/shaders"),f=c.createShader,h=c.createPickShader,d=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function v(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=m.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||d,view:t.view||d,projection:t.projection||d,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||d,view:t.view||d,projection:t.projection||d,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,v=!0}continue t}f[0][r]=Math.min(f[0][r],x[r],_[r]),f[1][r]=Math.max(f[1][r],x[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),b=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var M=s;if(s+=p(x,_),v){for(r=0;r<2;++r)i.push(x[0],x[1],x[2],_[0],_[1],_[2],M,b,m[0],m[1],m[2],m[3]);c+=2,v=!1}i.push(x[0],x[1],x[2],_[0],_[1],_[2],M,b,m[0],m[1],m[2],m[3],x[0],x[1],x[2],_[0],_[1],_[2],M,-b,m[0],m[1],m[2],m[3],_[0],_[1],_[2],x[0],x[1],x[2],s,-b,y[0],y[1],y[2],y[3],_[0],_[1],_[2],x[0],x[1],x[2],s,b,y[0],y[1],y[2],y[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e1.0001)return null;m+=v[f]}if(Math.abs(m-1)>.001)return null;return[h,s(t,v),v]}},{barycentric:18,"polytope-closest-point/lib/closest_point_2d.js":324}],152:[function(t,e,r){var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:d,fragment:p,attributes:[{name:"position",type:"vec3"}]}},{glslify:154}],153:[function(t,e,r){"use strict";var n=t("gl-shader"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),u=t("gl-mat4/invert"),c=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),d=t("typedarray-pool"),p=t("./lib/shaders"),g=t("./lib/closest-point"),v=p.meshShader,m=p.wireShader,y=p.pointShader,b=p.pickShader,x=p.pointPickShader,_=p.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(t,e,r,n,i,a,o,s,l,u,c,f,h,d,p,g,v,m,y,b,x,_,M,T,A,k,E){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=b,this.pointColors=_,this.pointUVs=M,this.pointSizes=T,this.pointIds=x,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=E,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=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=M.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function k(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function E(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function L(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function O(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=d.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;aMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else if(!p._ortho){var o=-p.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},p.enableMouseListeners(),p};var n=t("right-now"),i=t("3d-view"),a=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":11,"has-passive-events":268,"mouse-change":289,"mouse-event-offset":290,"mouse-wheel":292,"right-now":333}],156:[function(t,e,r){var n=t("glslify"),i=t("gl-shader"),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":166,glslify:157}],157:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],158:[function(t,e,r){"use strict";var n=t("./camera.js"),i=t("gl-axes3d"),a=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),u=t("a-big-triangle"),c=t("mouse-change"),f=t("gl-mat4/perspective"),h=t("gl-mat4/ortho"),d=t("./lib/shader"),p=t("is-mobile")({tablet:!0,featureDetect:!0});function g(){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 v(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement("canvas"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(p=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:p}));if(!r)throw new Error("webgl not supported");var y=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,x=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!p}),_=d(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,M={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},T=t.axes||{},A=i(r,T);A.enable=!T.disable;var k=t.spikes||{},E=o(r,k),L=[],S=[],C=[],O=[],R=!0,P=!0,z=new Array(16),I=new Array(16),D={view:null,projection:z,model:I,_ortho:!1},N=(P=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),F=t.cameraObject||n(e,M),j={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:F,axes:A,axesPixels:null,spikes:E,bounds:y,objects:L,shape:N,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,P=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},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)}},B=[r.drawingBufferWidth/j.pixelRatio|0,r.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*j.pixelRatio),a=0|Math.ceil(n*j.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",R=!0}}}j.autoResize&&U();function V(){for(var t=L.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function H(){if(j.contextLost)return!0;r.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},R=!0,P=!0)},j.add=function(t){j._stopped||(t.axes=A,L.push(t),S.push(-1),R=!0,P=!0,V())},j.remove=function(t){if(!j._stopped){var e=L.indexOf(t);e<0||(L.splice(e,1),S.pop(),R=!0,P=!0,V())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",H),j.mouseListener.enabled=!1,!j.contextLost)){A.dispose(),E.dispose();for(var t=0;tb.distance)continue;for(var u=0;u1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*f+l*g,t[3]=s*h+l*v,t}},{}],160:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],161:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var a=i[e];a||(a=i[e]={});if(t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:a,fragment:u,attributes:c},g={vertex:o,fragment:u,attributes:c},v={vertex:s,fragment:u,attributes:c};function m(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return m(t,f)},r.createOrtho=function(t){return m(t,h)},r.createProject=function(t){return m(t,d)},r.createPickPerspective=function(t){return m(t,p)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":166,glslify:163}],163:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],164:[function(t,e,r){"use strict";var n=t("is-string-blank"),i=t("gl-buffer"),a=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),u=t("./lib/glyphs"),c=t("./lib/get-simple-string"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function d(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function p(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function v(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new p(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),d=i(e),p=i(e),g=a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,f,h,d,p,g,s,u,c);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],b=[0,0,0],x=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],M=f.slice(),T=[0,0,0],A=[[0,0,0],[0,0,0]];function k(t){return t[0]=t[1]=t[2]=0,t}function E(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function L(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function S(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,p=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(a[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=M,S=0;S<16;++S)m[S]=0;for(S=0;S<4;++S)m[5*S]=1;m[5*v]=0,i[v]<0?m[12+v]=p[0][v]:m[12+v]=p[1][v],s(m,u,m),l.model=m;var C=(v+1)%3,O=(v+2)%3,R=k(b),P=k(x);R[C]=1,P[O]=1;var z=d(0,0,0,E(_,R)),I=d(0,0,0,E(w,P));if(Math.abs(z[1])>Math.abs(I[1])){var D=z;z=I,I=D,D=R,R=P,P=D;var N=C;C=O,O=N}z[0]<0&&(R[C]=-1),I[1]>0&&(P[O]=-1);var F=0,j=0;for(S=0;S<4;++S)F+=Math.pow(u[4*C+S],2),j+=Math.pow(u[4*O+S],2);R[C]/=Math.sqrt(F),P[O]/=Math.sqrt(j),l.axes[0]=R,l.axes[1]=P,l.fragClipBounds[0]=L(T,g[0],v,-1e8),l.fragClipBounds[1]=L(T,g[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function O(t,e,r,n,i,a,o){var s=r.gl;if((a===r.projectHasAlpha||o)&&S(e,r,n,i),a===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=i,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*i),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function R(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else{i=[],a=[];for(n=0;n0){var P=0,z=b,I=[0,0,0,1],D=[0,0,0,1],N=Array.isArray(d)&&Array.isArray(d[0]),F=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],M=0;M<3;++M){if(isNaN(w[M])||!isFinite(w[M]))continue t;f[M]=Math.max(f[M],w[M]),c[M]=Math.min(c[M],w[M])}T=(j=R(h,n,l,this.pixelRatio)).mesh,A=j.lines,k=j.bounds;var j,B=j.visible;if(B)if(Array.isArray(d)){if(3===(U=N?n0?1-k[0][0]:X<0?1+k[1][0]:1,Y*=Y>0?1-k[0][1]:Y<0?1+k[1][1]:1],Z=T.cells||[],Q=T.positions||[];for(M=0;Mthis.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var M=0|w.type.charAt(w.type.length-1),T=new Array(M),A=0;A=0;)k+=1;_[y]=k}var E=new Array(r.length);function L(){h.program=o.program(d,h._vref,h._fref,x,_);for(var t=0;t=0){if((p=h.charCodeAt(h.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,d[0],i,p,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var p;if((p=h.charCodeAt(h.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,d,i,p,a,f)}}}return a};var n=t("./GLError");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=["gl","v"],u=[],c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+a+"fv(locations["+e+"],false,obj"+t+")"}throw new i("","Unknown uniform data type for "+name+": "+r)}if((a=r.charCodeAt(r.length-1)-48)<2||a>4)throw new i("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+a+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+a+"fv(locations["+e+"],obj"+t+")";default:throw new i("","Unrecognized data type for vector "+name+": "+r)}}}function u(e){for(var n=["return function updateProperty(obj){"],i=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+""===i?o+="["+i+"]":o+="."+i,"object"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}("",e),a=0;a4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[c].type);var d}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:177}],177:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],178:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=t("gl-vec4"),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,a){for(var o=0,s=0;s0)for(M=0;M<8;M++){var T=(M+1)%8;u.push(h[M],d[M],d[T],d[T],h[T],h[M]),f.push(y,m,m,m,y,y),p.push(g,v,v,v,g,g);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var k=h;h=d,d=k;var E=y;y=m,m=E;var L=g;g=v,v=L}return{positions:u,cells:c,vectors:f,vertexIntensity:p}}(t,r,a,o)})),f=[],h=[],d=[],p=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},u=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||y>h-1||b>d-1)return n.create();var x,_,w,M,T,A,k=a[0][p],E=a[0][m],L=a[1][g],S=a[1][y],C=a[2][v],O=(o-k)/(E-k),R=(u-L)/(S-L),P=(c-C)/(a[2][b]-C);switch(isFinite(O)||(O=.5),isFinite(R)||(R=.5),isFinite(P)||(P=.5),r.reversedX&&(p=f-1-p,m=f-1-m),r.reversedY&&(g=h-1-g,y=h-1-y),r.reversedZ&&(v=d-1-v,b=d-1-b),r.filled){case 5:T=v,A=b,w=g*d,M=y*d,x=p*d*h,_=m*d*h;break;case 4:T=v,A=b,x=p*d,_=m*d,w=g*d*f,M=y*d*f;break;case 3:w=g,M=y,T=v*h,A=b*h,x=p*h*d,_=m*h*d;break;case 2:w=g,M=y,x=p*h,_=m*h,T=v*h*f,A=b*h*f;break;case 1:x=p,_=m,T=v*f,A=b*f,w=g*f*d,M=y*f*d;break;default:x=p,_=m,w=g*f,M=y*f,T=v*f*h,A=b*f*h}var z=i[x+w+T],I=i[x+w+A],D=i[x+M+T],N=i[x+M+A],F=i[_+w+T],j=i[_+w+A],B=i[_+M+T],U=i[_+M+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,z,F,O),n.lerp(H,I,j,O),n.lerp(q,D,B,O),n.lerp(G,N,U,O);var X=n.create(),Y=n.create();n.lerp(X,V,q,R),n.lerp(Y,H,G,R);var W=n.create();return n.lerp(W,X,Y,P),W}(e,t,d)},g=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=p(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=p(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=p(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],b=e[0][2],x=e[1][0],_=e[1][1],w=e[1][2],M=function(t){var e=t[0],r=t[1],n=t[2];return!(ex||r_||nw)},T=10*n.distance(e[0],e[1])/i,A=T*T,k=1,E=0,L=r.length;L>1&&(k=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,l=0;lE&&(E=N),I.push(N),v.push({points:O,velocities:R,divergences:I});for(var F=0;F<100*i&&O.lengthA&&n.scale(j,j,T/Math.sqrt(B)),n.add(j,j,C),P=p(j),n.squaredDistance(z,j)-A>-1e-4*A){O.push(j),z=j,R.push(P);D=g(j,P),N=n.length(D);isFinite(N)&&N>E&&(E=N),I.push(N)}C=j}}var U=o(v,t.colormap,E,k);return f?U.tubeScale=f:(0===E&&(E=1),U.tubeScale=.5*c*k/E),U};var c=t("./lib/shaders"),f=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:c,traceType:"streamtube"})}},{"./lib/shaders":176,"gl-cone3d":107,"gl-vec3":205,"gl-vec4":241}],179:[function(t,e,r){var n=t("gl-shader"),i=t("glslify"),a=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":166,glslify:180}],180:[function(t,e,r){arguments[4][104][0].apply(r,arguments)},{dup:104}],181:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=x(e),s=b(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),d=i(e),p=a(e,[{buffer:d,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new k(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,g,s,l,f,h,d,p,[0,0,0]),m={levels:[[],[],[]]};for(var w in t)m[w]=t[w];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),i=t("gl-buffer"),a=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),u=t("ndarray-ops"),c=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),d=t("gl-mat4/multiply"),p=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,b=m.createContourShader,x=m.createPickShader,_=m.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],T=[[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 A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=T[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function k(t,e,r,n,i,a,o,l,u,c,h,d,p,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=d,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=p,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.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 E=k.prototype;E.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},E.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},E.isOpaque=function(){return!this.isTransparent()},E.pickSlots=1,E.setPickBase=function(t){this.pickId=t};var L=[0,0,0],S={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=S.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],d(l,t.model,l);var u=S.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return S.showSurface=o,S.showContour=s,S}var O={model:w,view:w,projection:w,inverseModel:w.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},R=w.slice(),P=[1,0,0,0,1,0,0,0,1];function z(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=p(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=P,n.vertexColor=this.vertexColor;var s=R;for(d(s,n.view,n.model),d(s,n.projection,s),p(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=C(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=T[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var d=i+c,p=s+h,v=f*(h?l:1-l),m=0;m<3;++m)u[m]+=this._field[m].get(d,p)*v;for(var y=this._pickResult.level,b=0;b<3;++b)if(y[b]=g.le(this.contourLevels[b],u[b]),y[b]<0)this.contourLevels[b].length>0&&(y[b]=0);else if(y[b]Math.abs(_-u[b])&&(y[b]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},E.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},E.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=D(t.contourWidth,Number)),"showContour"in t&&(this.showContour=D(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=D(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=F(t.contourColor)),"contourProject"in t&&(this.contourProject=D(t.contourProject,(function(t){return D(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=F(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=D(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=D(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(m=0;m<2;++m)if(u.shape[m]!==a[m])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var d=c[o];if((Array.isArray(d)||d.length)&&(d=f(d)),d.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var p=f(d.data,a);p.stride[o]=d.stride[0],p.stride[1^o]=0,this.padField(this._field[o],p)}}else{for(o=0;o<2;++o){var g=[0,0];g[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],g,0)}this._field[0].set(0,0,0);for(var m=0;m0){for(var bt=0;bt<5;++bt)J.pop();U-=1}continue t}J.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var xt=s.mallocFloat(J.length);for(o=0;oi||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function d(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=d.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new d(t,o,e,r,n,i)}function y(t,e,r,n,i,a){var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new d(t,o,r,n,i,a)}function b(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=g(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,p=0;if(2===o.length)p=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])p=t.ALPHA;else if(2===o[2])p=t.LUMINANCE_ALPHA;else if(3===o[2])p=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");p=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)c=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];h=a.malloc(m,r);var b=n(h,o,y,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(b,e):f(b,e),c=h.subarray(0,m)}var x=v(t);return t.texImage2D(t.TEXTURE_2D,0,p,o[0],o[1],0,p,u,c),l||a.free(h),new d(t,x,o[0],o[1],p,u)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,d=c.shape.slice();if(d.length<2||d.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var p=0,v=0,m=g(d,c.stride.slice());"float32"===h?p=t.FLOAT:"float64"===h?(p=t.FLOAT,m=!1,h="float32"):"uint8"===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,m=!1,h="uint8");if(2===d.length)v=t.LUMINANCE,d=[d[0],d[1],1],c=n(c.data,d,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==d.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===d[2])v=t.ALPHA;else if(2===d[2])v=t.LUMINANCE_ALPHA;else if(3===d[2])v=t.RGB;else{if(4!==d[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}d[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=c.size,b=u.indexOf(o)<0;b&&u.push(o);if(p===l&&m)0===c.offset&&c.data.length===y?b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,c.data):b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,c.data.subarray(c.offset,c.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,c.data.subarray(c.offset,c.offset+y));else{var x;x=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(x,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):i.assign(_,c),b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,x.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,x.subarray(0,y)),l===t.FLOAT?a.freeFloat32(x):a.freeUint8(x)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:301,"ndarray-ops":296,"typedarray-pool":366}],183:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=t("./fromValues"),i=t("./normalize"),a=t("./dot")},{"./dot":198,"./fromValues":204,"./normalize":215}],189:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],190:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],191:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],192:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],193:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],194:[function(t,e,r){e.exports=t("./distance")},{"./distance":195}],195:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],196:[function(t,e,r){e.exports=t("./divide")},{"./divide":197}],197:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],198:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],199:[function(t,e,r){e.exports=1e-6},{}],200:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":199}],201:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],202:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],203:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],216:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],217:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},{}],218:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},{}],219:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},{}],220:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],221:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],222:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],223:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],224:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":226}],225:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":227}],226:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],227:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],228:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":229}],229:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],230:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],231:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],232:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t}},{}],233:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],234:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],235:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],236:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],237:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],238:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],239:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],240:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],241:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":233,"./clone":234,"./copy":235,"./create":236,"./distance":237,"./divide":238,"./dot":239,"./fromValues":240,"./inverse":242,"./length":243,"./lerp":244,"./max":245,"./min":246,"./multiply":247,"./negate":248,"./normalize":249,"./random":250,"./scale":251,"./scaleAndAdd":252,"./set":253,"./squaredDistance":254,"./squaredLength":255,"./subtract":256,"./transformMat4":257,"./transformQuat":258}],242:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],243:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],244:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],245:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],246:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],247:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],248:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],249:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],250:[function(t,e,r){var n=t("./normalize"),i=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{"./normalize":249,"./scale":251}],251:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],252:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],253:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],254:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],255:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],256:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],257:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],258:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,d=-o*n-s*i-l*a;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t[3]=e[3],t}},{}],259:[function(t,e,r){var n=t("glsl-tokenizer"),i=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return A(r),m+=r.length,(d=d.slice(r.length)).length}}function R(){return/[^a-fA-F0-9]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function P(){return"."===e||/[eE]/.test(e)?(d.push(e),h=5,r=e,c+1):"x"===e&&1===d.length&&"0"===d[0]?(h=11,d.push(e),r=e,c+1):/[^\d]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function z(){return"f"===e&&(d.push(e),r=e,c+=1),/[eE]/.test(e)?(d.push(e),r=e,c+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function I(){if(/[^\d\w_]/.test(e)){var t=d.join("");return h=T[t]?8:M[t]?7:6,A(d.join("")),h=999,c}return d.push(e),r=e,c+1}};var n=t("./lib/literals"),i=t("./lib/operators"),a=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":262,"./lib/builtins-300es":261,"./lib/literals":264,"./lib/literals-300es":263,"./lib/operators":265}],261:[function(t,e,r){var n=t("./builtins");n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":262}],262:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],263:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":264}],264:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","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"]},{}],265:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],266:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{"./index":260}],267:[function(t,e,r){(function(r){(function(){"use strict";var n,i=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:i,e.exports=n}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":275}],268:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":275}],269:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),a-=u}return(d?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,p=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+d]=255&s,d+=p,s/=256,i-=8);for(o=o<0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*g}},{}],270:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,d=new Array(i+2);for(c=0;c<=i;++c){for(var p=l.slice(),g=0;g<=i;++g)g===c&&(p[g]=-1);var v=p[0];p[0]=p[1],p[1]=v;var m=new a(p,new Array(i+1),!0);h[c]=m,d[c]=m}d[i+1]=f;for(c=0;c<=i;++c){p=h[c].vertices;var y=h[c].adjacent;for(g=0;g<=i;++g){var b=p[g];if(b<0)y[g]=f;else for(var x=0;x<=i;++x)h[x].vertices.indexOf(b)<0&&(y[g]=h[x])}}var _=new u(i,o,d),w=!!e;for(c=i+1;c0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var i=new Function("test",e.join("")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var c=u.prototype;c.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];s.lastVisited=r;for(c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var d=this.orient();if(a[c]=h,d<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var d=(e=f.pop()).vertices,p=e.adjacent,g=d.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=p[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var b=0,x=0;x<=n;++x)y[x]<0?(b=x,l[x]=t):l[x]=i[y[x]];if(this.orient()>0){y[b]=r,m.boundary=!1,u.push(m),f.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=d.slice(),M=p.slice(),T=new a(w,M,!0);c.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,M[g]=m,w[v]=-1,M[v]=e,p[v]=T,T.flip();for(x=0;x<=n;++x){var k=w[x];if(!(k<0||k===r)){for(var E=new Array(n-1),L=0,S=0;S<=n;++S){var C=w[S];C<0||S===x||(E[L++]=C)}h.push(new o(E,T,x))}}}}}}h.sort(s);for(v=0;v+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":339,"simplicial-complex":349}],271:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new m(null);return new m(v(t))};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=v(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=v([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=v([t]);else{var r=n.ge(this.leftPoints,t,p),i=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,p);athis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},a.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=m.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":272}],272:[function(t,e,r){arguments[4][93][0].apply(r,arguments)},{dup:93}],273:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r + * @license MIT + */ +e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],277:[function(t,e,r){"use strict";e.exports=a,e.exports.isMobile=a,e.exports.default=a;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function a(t){t||(t={});var e=t.ua;if(e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"!=typeof e)return!1;var r=t.tablet?i.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf("Macintosh")&&-1!==e.indexOf("Safari")&&(r=!0),r}},{}],278:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],279:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],280:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],281:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<d[1][2]&&(m[0]=-m[0]),d[0][2]>d[2][0]&&(m[1]=-m[1]),d[1][0]>d[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":283,"gl-mat4/clone":122,"gl-mat4/create":124,"gl-mat4/determinant":125,"gl-mat4/invert":137,"gl-mat4/transpose":150,"gl-vec3/cross":193,"gl-vec3/dot":198,"gl-vec3/length":208,"gl-vec3/normalize":215}],283:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],284:[function(t,e,r){var n=t("gl-vec3/lerp"),i=t("mat4-recompose"),a=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),d=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!d)&&(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),!0)}},{"gl-mat4/determinant":125,"gl-vec3/lerp":209,"mat4-decompose":282,"mat4-recompose":285,"quat-slerp":326}],285:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{"gl-mat4/create":124,"gl-mat4/fromRotationTranslation":128,"gl-mat4/identity":135,"gl-mat4/multiply":139,"gl-mat4/scale":147,"gl-mat4/translate":149}],286:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=t("mat4-interpolate"),a=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),u=t("gl-mat4/lookAt"),c=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function d(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new d((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=d.prototype;p.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),d=!0;for(u=0;u<16;++u)h[u]=s[l++];var p=this.nextMatrix;for(u=0;u<16;++u)p[u]=s[l++],d=d&&h[u]===p[u];if(c<1e-6||d)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,p,(t-e[r])/c)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var v=this.computedInverse;a(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var b=this.computedCenter,x=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)b[u]=m[u]-o[2+4*u]*x}},p.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--d)r[f++]=s[d];return r};var n=t("robust-orientation")[3]},{"robust-orientation":339}],289:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function d(t){0===n.buttons(t)?u(0,t):u(r,t)}function p(t){u(r|n.buttons(t),t)}function g(t){u(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",d),t.addEventListener("mousedown",p),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():function(){if(!s)return;s=!1,t.removeEventListener("mousemove",d),t.removeEventListener("mousedown",p),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":291}],290:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],291:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var w=t.getters||[],M=new Array(x),T=0;T=0?M[T]=!0:M[T]=!1;return function(t,e,r,x,_,w){var M=w.length,T=_.length;if(T<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var A="extractContour"+_.join("_"),k=[],E=[],L=[],S=0;S0&&P.push(l(S,_[C-1])+"*"+s(_[C-1])),E.push(p(S,_[C])+"=("+P.join("-")+")|0")}for(S=0;S=0;--S)z.push(s(_[S]));E.push("Q=("+z.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),E.push(g(0)+"=0");for(C=1;C<1<0;_=_-1&p)b.push("V[X+"+m(_)+"]");b.push(y(0));for(_=0;_=0;--e)j(e,0);var r=[];for(e=0;e0){",d(_[e]),"=1;"),t(e-1,r|1<<_[e]);for(var n=0;n=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),a.push("1"),o.push("s["+l+"]-2"));var u=".lo("+a.join()+").hi("+o.join()+")";if(0===a.length&&(u=""),i>0){n.push("if(1");for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",u);for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",u);n.push(");")}for(l=0;l1){dst.set(",s.join(),",",c,",0.5*(src.get(",h.join(),")-src.get(",d.join(),")))}else{dst.set(",s.join(),",",c,",0)};"):n.push("if(s[",c,"]>1){diff(",f,",src.pick(",h.join(),")",u,",src.pick(",d.join(),")",u,");}else{zero(",f,");};");break;case"mirror":0===i?n.push("dst.set(",s.join(),",",c,",0);"):n.push("zero(",f,");");break;case"wrap":var p=s.slice(),g=s.slice();e[l]<0?(p[c]="s["+c+"]-2",g[c]="0"):(p[c]="s["+c+"]-1",g[c]="1"),0===i?n.push("if(s[",c,"]>2){dst.set(",s.join(),",",c,",0.5*(src.get(",p.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",c,",0)};"):n.push("if(s[",c,"]>2){diff(",f,",src.pick(",p.join(),")",u,",src.pick(",g.join(),")",u,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}i>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var u={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in u){var e=u[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:i,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":77}],297:[function(t,e,r){"use strict";var n=t("ndarray"),i=t("./doConvert.js");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{"./doConvert.js":298,ndarray:301}],298:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":77}],299:[function(t,e,r){"use strict";var n=t("typedarray-pool"),i=32;function a(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",p,"=s",p,"-d",f,"*n",f].join("")):s.push(["d",p,"=s",p].join("")),f=p),0!==(d=t.length-1-l)&&(h>0?s.push(["e",d,"=s",d,"-e",h,"*n",h,",f",d,"=",u[d],"-f",h,"*n",h].join("")):s.push(["e",d,"=s",d,",f",d,"=",u[d]].join("")),h=d)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",i,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),i=["left","right","data","offset"].concat(o(t.length)),s=a(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var u=[],c=1;c1){r.push("dptr=0;sptr=ptr");for(c=t.length-1;c>=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"b){break __l}"].join(""));for(c=t.length-1;c>=1;--c)r.push("sptr+=e"+c,"dptr+=f"+c,"}");r.push("dptr=cptr;sptr=cptr-s0");for(c=t.length-1;c>=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),u=a(e),c=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],d=1;d=0;--a){0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"1)for(a=0;a1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,i,a){if(1===r.length)n.push("ptr0="+p(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)i&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function b(){t.length>1&&u&&n.push("free(pivot1)","free(pivot2)")}function x(e,r){var i="el"+e,a="el"+r;if(t.length>1){var o="__l"+ ++c;y(o,[i,a],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",i,";",i,"=",a,";",a,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(p(i)),">",g(p(a)),"){tmp0=",i,";",i,"=",a,";",a,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(p(e),g(p(r))))}function w(e,r,i){if(t.length>1){var a="__l"+ ++c;y(a,[r],!0,[e,"=",g("ptr0"),"-pivot",i,"[pivot_ptr]\n","if(",e,"!==0){break ",a,"}"].join(""))}else n.push([e,"=",g(p(r)),"-pivot",i].join(""))}function M(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",p(e),"\n","ptr1=",p(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,i){t.length>1?(m([e,r,i],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+i)):n.push(["ptr0=",p(e),"\n","ptr1=",p(r),"\n","ptr2=",p(i),"\n","++",r,"\n","--",i,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){M(t,e),n.push("--"+e)}function k(e,r,i){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(v(p(e),g(p(r))),v(p(r),"pivot"+i))}function E(e,r){n.push(["if((",r,"-",e,")<=",i,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function L(e,r,i){t.length>1?(n.push(["__l",++c,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",c,"}"].join("")),n.push(i,"}")):n.push(["while(",g(p(e)),"===pivot",r,"){",i,"}"].join(""))}return n.push("var "+f.join(",")),x(1,2),x(4,5),x(1,3),x(2,3),x(1,4),x(3,4),x(2,5),x(2,3),x(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(p("el2")),"\n","pivot2=",g(p("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(p("el1")),"\n","y=",g(p("el3")),"\n","z=",g(p("el5")),"\n",v(p("index1"),"x"),"\n",v(p("index3"),"y"),"\n",v(p("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),L("less",1,"++less"),L("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&u?new Function("insertionSort","malloc","free",n.join("\n"))(r,u[0],u[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":366}],300:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":299}],301:[function(t,e,r){var n=t("iota-array"),i=t("is-buffer"),a="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&a.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),i?a.push("return this.data.set("+c+",v)}"):a.push("return this.data["+c+"]=v}"),a.push("proto.get=function "+r+"_get("+l.join(",")+"){"),i?a.push("return this.data.get("+c+")}"):a.push("return this.data["+c+"]}"),a.push("proto.index=function "+r+"_index(",l.join(),"){return "+c+"}"),a.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+o.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var d=o.map((function(t){return"a"+t+"=this.shape["+t+"]"})),p=o.map((function(t){return"c"+t+"=this.stride["+t+"]"}));a.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+d.join(",")+","+p.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");a.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"c"+t})).join(",")+",b)}"),a.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+o.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return a.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),a.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(t){return"shape["+t+"]"})).join(",")+","+o.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",a.join("\n"))(u[t],s)}var u={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===n){n=0;for(s=0;st==t>0?a===-1>>>0?(r+=1,a=0):a+=1:0===a?(a=-1>>>0,r-=1):a-=1;return n.pack(a,r)}},{"double-bits":85}],303:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var x=i[u],_=1/Math.sqrt(v*y);for(b=0;b<3;++b){var w=(b+1)%3,M=(b+2)%3;x[b]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;oa)for(_=1/Math.sqrt(T),b=0;b<3;++b)x[b]*=_;else for(b=0;b<3;++b)x[b]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(d):0;for(u=0;u<3;++u)h[u]*=d;i[o]=h}return i}},{}],304:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],305:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t("filtered-vector"),i=t("gl-mat4/lookAt"),a=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],d=c*a+f*o+h*s,p=l(c-=a*d,f-=o*d,h-=s*d);c/=p,f/=p,h/=p;var g=i[2],v=i[6],m=i[10],y=g*a+v*o+m*s,b=g*c+v*f+m*h,x=l(g-=y*a+b*c,v-=y*o+b*f,m-=y*s+b*h);g/=x,v/=x,m/=x;var _=c*e+a*r,w=f*e+o*r,M=h*e+s*r;this.center.move(t,_,w,M);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],d=i[2],p=i[6],g=i[10],v=e*a+r*c,m=e*o+r*f,y=e*s+r*h,b=-(p*y-g*m),x=-(g*v-d*y),_=-(d*m-p*v),w=Math.sqrt(Math.max(0,1-Math.pow(b,2)-Math.pow(x,2)-Math.pow(_,2))),M=u(b,x,_,w);M>1e-6?(b/=M,x/=M,_/=M,w/=M):(b=x=_=0,w=1);var T=this.computedRotation,A=T[0],k=T[1],E=T[2],L=T[3],S=A*w+L*b+k*_-E*x,C=k*w+L*x+E*b-A*_,O=E*w+L*_+A*x-k*b,R=L*w-A*b-k*x-E*_;if(n){b=d,x=p,_=g;var P=Math.sin(n)/l(b,x,_);b*=P,x*=P,_*=P,R=R*(w=Math.cos(e))-(S=S*w+R*b+C*_-O*x)*b-(C=C*w+R*x+O*b-S*_)*x-(O=O*w+R*_+S*x-C*b)*_}var z=u(S,C,O,R);z>1e-6?(S/=z,C/=z,O/=z,R/=z):(S=C=O=0,R=1),this.rotation.set(t,S,C,O,R)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":304,"filtered-vector":92,"gl-mat4/fromQuat":126,"gl-mat4/invert":137,"gl-mat4/lookAt":138}],306:[function(t,e,r){ +/*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":332}],307:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,(function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),"m"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,u=(u+r)*o;return n.freeUint32(l),n.freeUint32(s),u},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{"invert-permutation":273,"typedarray-pool":366}],311:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],d=0;d0&&(o=p,s=g,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],d=c(l,f,!0);if(n(e[l],e[f],e[h],e[d])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var g=f(o,d);h(0,g)?p.push.apply(p,g):(p.length>0&&l.push(p),p=g)}p.length>0&&l.push(p)}return l};var n=t("compare-angle")},{"compare-angle":69}],312:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){var u=o.pop();i[u]=!1;var c=r[u];for(s=0;s0}))).length,v=new Array(g),m=new Array(g);for(d=0;d0;){var F=D.pop(),j=L[F];l(j,(function(t,e){return t-e}));var B,U=j.length,V=N[F];if(0===V){var H=p[F];B=[H]}for(d=0;d=0))if(N[q]=1^V,D.push(q),0===V)I(H=p[q])||(H.reverse(),B.push(H))}0===V&&r.push(B)}return r};var n=t("edges-to-adjacency-list"),i=t("planar-dual"),a=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),u=t("./lib/trim-leaves");function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(m.slabs,m.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t("robust-orientation")[3],i=t("slab-decomposition"),a=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},{}],319:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),d=e.pointsSame(s,c);if(h&&d)return n;var p=!h&&e.pointBetween(o,u,c),g=!d&&e.pointBetween(s,u,c);if(h)return g?l(n,s):l(t,c),n;p&&(d||(g?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var d=u(h),p=d.before?d.before.ev:null,g=d.after?d.after.ev:null;function v(){if(p){var t=c(h,p);if(t)return t}return!!g&&c(h,g)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!g&&g.seg);var m,y=v();if(y){var b;if(t)(b=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(a.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)b=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=b?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)m=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:m,below:m};r&&r.status(h.seg,!!p&&p.seg,!!g&&g.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(x.prev)&&s.exists(x.next)&&c(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l=u?(T=1,y=u+2*h+p):y=h*(T=-h/u)+p):(T=0,d>=0?(A=0,y=p):-d>=f?(A=1,y=f+2*d+p):y=d*(A=-d/f)+p);else if(A<0)A=0,h>=0?(T=0,y=p):-h>=u?(T=1,y=u+2*h+p):y=h*(T=-h/u)+p;else{var k=1/M;y=(T*=k)*(u*T+c*(A*=k)+2*h)+A*(c*T+f*A+2*d)+p}else T<0?(x=f+d)>(b=c+h)?(_=x-b)>=(w=u-2*c+f)?(T=1,A=0,y=u+2*h+p):y=(T=_/w)*(u*T+c*(A=1-T)+2*h)+A*(c*T+f*A+2*d)+p:(T=0,x<=0?(A=1,y=f+2*d+p):d>=0?(A=0,y=p):y=d*(A=-d/f)+p):A<0?(x=u+h)>(b=c+d)?(_=x-b)>=(w=u-2*c+f)?(A=1,T=0,y=f+2*d+p):y=(T=1-(A=_/w))*(u*T+c*A+2*h)+A*(c*T+f*A+2*d)+p:(A=0,x<=0?(T=1,y=u+2*h+p):h>=0?(T=0,y=p):y=h*(T=-h/u)+p):(_=f+d-c-h)<=0?(T=0,A=1,y=f+2*d+p):_>=(w=u-2*c+f)?(T=1,A=0,y=u+2*h+p):y=(T=_/w)*(u*T+c*(A=1-T)+2*h)+A*(c*T+f*A+2*d)+p;var E=1-T-A;for(l=0;l1)for(var r=1;r0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":55,"compare-cell":70,"compare-oriented-cell":71}],332:[function(t,e,r){ +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +"use strict";var n,i="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,i="";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],333:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],334:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function c(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",u(l(t)),")};return robustDeterminant",t].join(""))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<6;)f.push(c(f.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<6;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,c])),n=0;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function c(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===i?r.push("+b[",a,"]"):r.push("+A[",a,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var a=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;a.length<6;)a.push(i(a.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<6;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,a.concat([a,i])),n=0;n<6;++n)e.exports[n]=a[n]}()},{"robust-determinant":335}],339:[function(t,e,r){"use strict";var n=t("two-product"),i=t("robust-sum"),a=t("robust-scale"),o=t("robust-subtract");function s(t,e){for(var r=new Array(t.length-1),n=1;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],d=r[2]-n[2],p=a*u,g=o*l,v=o*s,m=i*u,y=i*l,b=a*s,x=c*(p-g)+f*(v-m)+d*(y-b),_=7771561172376103e-31*((Math.abs(p)+Math.abs(g))*Math.abs(c)+(Math.abs(v)+Math.abs(m))*Math.abs(f)+(Math.abs(y)+Math.abs(b))*Math.abs(d));return x>_||-x>_?x:h(t,e,r,n)}];function p(t){var e=d[t.length];return e||(e=d[t.length]=c(t.length)),e.apply(void 0,t)}!function(){for(;d.length<=5;)d.push(c(d.length));for(var t=[],r=["slow"],n=0;n<=5;++n)t.push("a"+n),r.push("o"+n);var i=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=5;++n)i.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");i.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)0?1:0}},{}],346:[function(t,e,r){"use strict";e.exports=function(t){return i(n(t))};var n=t("boundary-cells"),i=t("reduce-simplicial-complex")},{"boundary-cells":39,"reduce-simplicial-complex":331}],347:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(a=t+1;a>1;--a){a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[v],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function b(t){for(var e=m(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0)if(e0){var t=T[0];return v(0,k-1),k-=1,b(0),t}return-1}function w(t,e){var r=T[t];return u[r]===e?t:(u[r]=-1/0,x(t),_(),u[r]=e,x((k+=1)-1))}function M(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}var T=[],A=new Array(a);for(f=0;f>1;f>=0;--f)b(f);for(;;){var E=_();if(E<0||u[E]>r)break;M(E)}var L=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:L,edges:C}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":339,"simplicial-complex":351}],354:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;d=f[h]}}if(d.start)if(s){var p=a(s[0],s[1],[t[0],d.y]);s[0][0]>s[1][0]&&(p=-p),p>0&&(i=d.index)}else i=d.index;else d.y!==t[1]&&(i=d.index)}}}return i}},{"./lib/order-segments":354,"binary-search-bounds":355,"functional-red-black-tree":94,"robust-orientation":339}],357:[function(t,e,r){"use strict";var n=t("robust-dot-product"),i=t("robust-sum");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},{"robust-dot-product":336,"robust-sum":344}],358:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(t){return i(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function i(r,n){var i,a,o,s,l,u,c,f,h,d=1,p=r.length,g="";for(a=0;a=0),s.type){case"b":i=parseInt(i,10).toString(2);break;case"c":i=String.fromCharCode(parseInt(i,10));break;case"d":case"i":i=parseInt(i,10);break;case"j":i=JSON.stringify(i,null,s.width?parseInt(s.width):0);break;case"e":i=s.precision?parseFloat(i).toExponential(s.precision):parseFloat(i).toExponential();break;case"f":i=s.precision?parseFloat(i).toFixed(s.precision):parseFloat(i);break;case"g":i=s.precision?String(Number(i.toPrecision(s.precision))):parseFloat(i);break;case"o":i=(parseInt(i,10)>>>0).toString(8);break;case"s":i=String(i),i=s.precision?i.substring(0,s.precision):i;break;case"t":i=String(!!i),i=s.precision?i.substring(0,s.precision):i;break;case"T":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s.precision?i.substring(0,s.precision):i;break;case"u":i=parseInt(i,10)>>>0;break;case"v":i=i.valueOf(),i=s.precision?i.substring(0,s.precision):i;break;case"x":i=(parseInt(i,10)>>>0).toString(16);break;case"X":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=i:(!t.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",i=i.toString().replace(t.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+i).length,l=s.width&&c>0?u.repeat(c):"",g+=s.align?h+i+l:"0"===u?h+l+i:l+h+i)}return g}var a=Object.create(null);function o(e){if(a[e])return a[e];for(var r,n=e,i=[],o=0;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(u[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],359:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],u=0;u>>7){");for(u=0;u<1<<(1<128&&u%128==0){f.length>0&&h.push("}}");var d="vExtra"+f.length;a.push("case ",u>>>7,":",d,"(m&0x7f,",l.join(),");break;"),h=["function ",d,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&u,":");for(var p=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,b=0;bb)&&!(u&1<<_)!=!(u&1<0&&(A="+"+v[x]+"*c");var k=p[x].length/y*.5,E=.5+m[x]/y*.5;T.push("d"+x+"-"+E+"-"+k+"*("+p[x].join("+")+A+")/("+g[x].join("+")+")")}h.push("a.push([",T.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");var L=[];for(u=0;u<1<1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,c),f=!0,h="hsl"),e.hasOwnProperty("a")&&(a=e.a));var d,p,g;return a=S(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=a(100*this._a)/100,this._format=l.format||c.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=c.ok,this._tc_id=i++}function c(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),u=(a+l)/2;if(a==l)n=i=0;else{var c=a-l;switch(i=u>.5?c/(2-a-l):c/(a+l),a){case t:n=(e-r)/c+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(u(n));return a}function k(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:i,v:a})),a=(a+s)%1;return o}u.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=S(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[P(a(t).toString(16)),P(a(e).toString(16)),P(a(r).toString(16)),P(I(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*C(this._r,255))+"%",g:a(100*C(this._g,255))+"%",b:a(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%)":"rgba("+a(100*C(this._r,255))+"%, "+a(100*C(this._g,255))+"%, "+a(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(L[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=u(t);r="#"+d(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return u(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(p,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(k,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:z(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),i=u(e).toRgb(),a=r/100;return u({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},u.readability=function(e,r){var n=u(e),i=u(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,i,a=u.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},u.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;cl&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,u.mostReadable(t,["#fff","#000"],r))};var E=u.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"},L=u.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(E);function S(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function O(t){return o(1,s(0,t))}function R(t){return parseInt(t,16)}function P(t){return 1==t.length?"0"+t:""+t}function z(t){return t<=1&&(t=100*t+"%"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function D(t){return R(t)/255}var N,F,j,B=(F="[\\s|\\(]+("+(N="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+N+")[,|\\s]+("+N+")\\s*\\)?",j="[\\s|\\(]+("+N+")[,|\\s]+("+N+")[,|\\s]+("+N+")[,|\\s]+("+N+")\\s*\\)?",{CSS_UNIT:new RegExp(N),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+j),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 U(t){return!!B.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=u:window.tinycolor=u}(Math)},{}],361:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=a;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}},{"parse-unit":308}],362:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;oMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var d=h.prototype;d.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},d.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(p),m=Math.sin(p),y=Math.cos(g),b=Math.sin(g),x=this.computedCenter,_=v*y,w=m*y,M=b,T=-v*b,A=-m*b,k=y,E=this.computedEye,L=this.computedMatrix;for(a=0;a<3;++a){var S=_*r[a]+w*h[a]+M*e[a];L[4*a+1]=T*r[a]+A*h[a]+k*e[a],L[4*a+2]=S,L[4*a+3]=0}var C=L[1],O=L[5],R=L[9],P=L[2],z=L[6],I=L[10],D=O*I-R*z,N=R*P-C*I,F=C*z-O*P,j=u(D,N,F);D/=j,N/=j,F/=j,L[0]=D,L[4]=N,L[8]=F;for(a=0;a<3;++a)E[a]=x[a]+L[2+4*a]*d;for(a=0;a<3;++a){c=0;for(var B=0;B<3;++B)c+=L[a+4*B]*E[B];L[12+a]=-c}L[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;p[0]=i[2],p[1]=i[6],p[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];a(i,i,n,p);for(u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},d.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],d=c*a+f*o+h*s,p=u(c-=a*d,f-=o*d,h-=s*d),g=(c/=p)*e+a*r,v=(f/=p)*e+o*r,m=(h/=p)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),d=Math.abs(l),p=Math.abs(f),g=Math.max(h,d,p);h===g?(s=s<0?-1:1,l=f=0):p===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var v=u(s,l,f);s/=v,l/=v,f/=v}var m,y,b=e[o],x=e[o+4],_=e[o+8],w=b*s+x*l+_*f,M=u(b-=s*w,x-=l*w,_-=f*w),T=l*(_/=M)-f*(x/=M),A=f*(b/=M)-s*_,k=s*x-l*b,E=u(T,A,k);if(T/=E,A/=E,k/=E,this.center.jump(t,q,G,X),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,b,x,_),2===a){var L=e[1],S=e[5],C=e[9],O=L*b+S*x+C*_,R=L*T+S*A+C*k;m=D<0?-Math.PI/2:Math.PI/2,y=Math.atan2(R,O)}else{var P=e[2],z=e[6],I=e[10],D=P*s+z*l+I*f,N=P*b+z*x+I*_,F=P*T+z*A+I*k;m=Math.asin(c(D)),y=Math.atan2(F,N)}this.angle.jump(t,y,m),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,X=V[14]/H,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,q-j*Y,G-B*Y,X-U*Y)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=u(l,f,h);if(!(d<1e-6)){l/=d,f/=d,h/=d;var p=this.computedRight,g=p[0],v=p[1],m=p[2],y=i*g+a*v+o*m,b=u(g-=y*i,v-=y*a,m-=y*o);if(!(b<.01&&(b=u(g=a*h-o*f,v=o*l-i*h,m=i*f-a*l))<1e-6)){g/=b,v/=b,m/=b,this.up.set(t,i,a,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var x=a*m-o*v,_=o*g-i*m,w=i*v-a*g,M=u(x,_,w),T=i*l+a*f+o*h,A=g*l+v*f+m*h,k=(x/=M)*l+(_/=M)*f+(w/=M)*h,E=Math.asin(c(T)),L=Math.atan2(k,A),S=this.angle._state,C=S[S.length-1],O=S[S.length-2];C%=2*Math.PI;var R=Math.abs(C+2*Math.PI-L),P=Math.abs(C-L),z=Math.abs(C-2*Math.PI-L);R0?r.pop():new ArrayBuffer(t)}function p(t){return new Uint8Array(d(t),0,t)}function g(t){return new Uint16Array(d(2*t),0,t)}function v(t){return new Uint32Array(d(4*t),0,t)}function m(t){return new Int8Array(d(t),0,t)}function y(t){return new Int16Array(d(2*t),0,t)}function b(t){return new Int32Array(d(4*t),0,t)}function x(t){return new Float32Array(d(4*t),0,t)}function _(t){return new Float64Array(d(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(d(t),0,t):p(t)}function M(t){return s?new BigUint64Array(d(8*t),0,t):null}function T(t){return l?new BigInt64Array(d(8*t),0,t):null}function A(t){return new DataView(d(t),0,t)}function k(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}r.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return d(t);switch(e){case"uint8":return p(t);case"uint16":return g(t);case"uint32":return v(t);case"int8":return m(t);case"int16":return y(t);case"int32":return b(t);case"float":case"float32":return x(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return T(t);case"biguint64":return M(t);case"buffer":return k(t);case"data":case"dataview":return A(t);default:return null}return null},r.mallocArrayBuffer=d,r.mallocUint8=p,r.mallocUint16=g,r.mallocUint32=v,r.mallocInt8=m,r.mallocInt16=y,r.mallocInt32=b,r.mallocFloat32=r.mallocFloat=x,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=M,r.mallocBigInt64=T,r.mallocDataView=A,r.mallocBuffer=k,r.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bit-twiddle":37,buffer:49,dup:87}],367:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",h(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(d=0;d-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(E(),"?px "),v*=Math.pow(.75,l-s),n=n.replace("?px ",E())),g+=.25*b*(l-s)}if(!0===o.superscripts){var u=t.indexOf("+"),c=r.indexOf("+"),f=u>-1?parseInt(t[1+u]):0,h=c>-1?parseInt(r[1+c]):0;f!==h&&(n=n.replace(E(),"?px "),v*=Math.pow(.75,h-f),n=n.replace("?px ",E())),g-=.25*b*(h-f)}if(!0===o.bolds){var d=t.indexOf("b|")>-1,p=r.indexOf("b|")>-1;!d&&p&&(n=m?n.replace("italic ","italic bold "):"bold "+n),d&&!p&&(n=n.replace("bold ",""))}if(!0===o.italics){var m=t.indexOf("i|")>-1,y=r.indexOf("i|")>-1;!m&&y&&(n="italic "+n),m&&!y&&(n=n.replace("italic ",""))}e.font=n}for(h=0;h",a="",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var d=u+o,p=r.substr(d,c-d).indexOf(i);u=-1!==p?p:c+s}return n}function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:y((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:y((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0)&&(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,!0)}))}})};p.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof p||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new p),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new p),i.set___(t,e)}else n.set(t,e);return this},Object.create(p.prototype,{get___:{value:y((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=p.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=p)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!("weakmap:"==t.substr(0,"weakmap:".length)&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function b(){h||"undefined"==typeof console||(h=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],372:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":373}],373:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],374:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":372}],375:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":96}],376:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":77}],377:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":376}],378:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],379:[function(t,e,r){"use strict";var n=t("./arrow_paths"),i=t("../../plots/font_attributes"),a=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({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:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"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:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../constants/axis_placeable_objects":497,"../../plot_api/plot_template":561,"../../plots/cartesian/constants":578,"../../plots/font_attributes":600,"./arrow_paths":378}],380:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/cartesian/axes"),a=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],d=3*t.arrowsize*t.arrowwidth||0,p=d+h,g=d-h,v=3*t.startarrowsize*t.arrowwidth||0,m=v+h,y=v-h;if(u===l){var b=i.findExtremes(e,[e.r2c(o)],{ppadplus:p,ppadminus:g}),x=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,m),ppadminus:Math.max(f,y)});r={min:[b.min[0],x.min[0]],max:[b.max[0],x.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,p,m),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{"../../lib":524,"../../plots/cartesian/axes":572,"./draw":385}],381:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!u.length&&!c.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,W=["x","y"],Z=0;Z1)&&(nt===rt?((dt=it.r2fraction(e["a"+et]))<0||dt>1)&&(Y=!0):Y=!0),Q=it._offset+it.r2p(e[et]),$=.5}else{var pt="domain"===ht;"x"===et?(J=e[et],Q=pt?it._offset+it._length*J:Q=M.l+M.w*J):(J=1-e[et],Q=pt?it._offset+it._length*J:Q=M.t+M.h*J),$=e.showarrow?.5:J}if(e.showarrow){ft.head=Q;var gt=e["a"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var vt=l.getRefType(nt);"domain"===vt?("y"===et&&(gt=1-gt),ft.tail=it._offset+it._length*gt):"paper"===vt?"y"===et?(gt=1-gt,ft.tail=M.t+M.h*gt):ft.tail=M.l+M.w*gt:ft.tail=it._offset+it.r2p(gt),K=tt}else ft.tail=Q+gt,K=tt+gt;ft.text=ft.tail+tt;var mt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,mt-1)),"pixel"===nt){var yt=-Math.max(ft.tail-3,ft.text),bt=Math.min(ft.tail+3,ft.text)-mt;yt>0?(ft.tail+=yt,ft.text+=yt):bt>0&&(ft.tail-=bt,ft.text-=bt)}ft.tail+=ct,ft.head+=ct}else K=tt=lt*q($,ut),ft.text=Q+tt;ft.text+=ct,tt+=ct,K+=ct,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)D.remove();else{var xt=0,_t=0;if("left"!==e.align&&(xt=(A-x)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(I-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:j+xt-1,y:j+_t}).call(c.setClipUrl,U?S:null,t);else{var wt=j+_t-g.top,Mt=j+xt-g.left;G.call(h.positionText,Mt,wt).call(c.setClipUrl,U?S:null,t)}V.select("rect").call(c.setRect,j,j,A,I),B.call(c.setRect,N/2,N/2,F-N,H-N),D.call(c.setTranslate,Math.round(C.x.text-F/2),Math.round(C.y.text-H/2)),P.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var Tt,At=function(r,n){R.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,d=C.y.tail+n,g=C.x.text+r,x=C.y.text+n,_=o.rotationXYMatrix(O,g,x),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),S=+B.attr("width"),z=+B.attr("height"),I=g-.5*S,N=I+S,F=x-.5*z,j=F+z,U=[[I,F,I,j],[I,j,N,j],[N,j,N,F],[N,F,I,F]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,d,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=R.append("g").style({opacity:u.opacity(H)}).classed("annotation-arrow-g",!0),X=G.append("path").attr("d","M"+h+","+d+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(H));if(v(X,q,e),T.annotationPosition&&X.node().parentNode&&!a){var Y=l,W=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-d,2));Y+=e.standoff*(h-l)/Z,W+=e.standoff*(d-f)/Z}var Q,K,J=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(d-W),transform:s(Y,W)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(D);Q=t.x,K=t.y,m&&m.autorange&&k(m._name+".autorange",!0),b&&b.autorange&&k(b._name+".autorange",!0)},moveFn:function(t,r){var n=w(Q,K),i=n[0]+t,a=n[1]+r;D.call(c.setTranslate,i,a),E("x",y(m,t,"x",M,e)),E("y",y(b,r,"y",M,e)),e.axref===e.xref&&E("ax",y(m,t,"ax",M,e)),e.ayref===e.yref&&E("ay",y(b,r,"ay",M,e)),G.attr("transform",s(t,r)),P.attr({transform:"rotate("+O+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,L());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&At(0,0),z)p.init({element:D.node(),gd:t,prepFn:function(){Tt=P.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?E("ax",y(m,t,"ax",M,e)):E("ax",e.ax+t),e.ayref===e.yref?E("ay",y(b,r,"ay",M.w,e)):E("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(m)i=y(m,t,"x",M,e);else{var l=e._xsize/M.w,u=e.x+(e._xshift-e.xshift)/M.w-l/2;i=p.align(u+t/M.w,l,0,1,e.xanchor)}if(b)o=y(b,r,"y",M,e);else{var c=e._ysize/M.h,f=e.y-(e._yshift+e.yshift)/M.h-c/2;o=p.align(f-r/M.h,c,0,1,e.yanchor)}E("x",i),E("y",o),m&&b||(n=p.getCursor(m?.5:i,b?.5:o,e.xanchor,e.yanchor))}P.attr({transform:s(t,r)+Tt}),d(D,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",X(n))},doneFn:function(){d(D),i.call("_guiRelayout",t,L());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,b=e.indexOf("end")>=0,x=p.backoff*v+r.standoff,_=g.backoff*m+r.startstandoff;if("line"===d.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,M=o.y-c.y;if(h=(f=Math.atan2(M,w))+Math.PI,x&&_&&x+_>Math.sqrt(w*w+M*M))return void z();if(x){if(x*x>w*w+M*M)return void z();var T=x*Math.cos(f),A=x*Math.sin(f);c.x+=T,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+M*M)return void z();var k=_*Math.cos(f),E=_*Math.sin(f);o.x-=k,o.y-=E,t.attr({x1:o.x,y1:o.y})}}else if("path"===d.nodeName){var L=d.getTotalLength(),S="";if(L1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":612,"../annotations/draw":385}],392:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}a.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),"stroke-opacity":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),"fill-opacity":r.getAlpha()})},a.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var Q=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));Y*=Q*u.roundUp(Z/Q,[2,5,10]),(Math.abs(C.start)/C.size+1e-6)%1<2e-6&&(X.tick0=0)}X.dtick=Y}X.domain=[H+B,H+N-B],X.setScale(),t.attr("transform",c(Math.round(l.l),Math.round(l.t)));var K,J=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(l.l),-Math.round(l.t))),$=t.select("."+A.cbaxis),tt=0;function et(n,i){var a={propContainer:X,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),g.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(k)){var t,r=l.l+(e.x+F)*l.w,n=X.title.font.size;t="top"===k?(1-(H+N-B))*l.h+l.t+3+.75*n:(1-(H+B))*l.h+l.t-3-.25*n,et(X._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(k)){var a=t.select("."+A.cbtitle),o=a.select("text"),f=[-e.outlinewidth/2,e.outlinewidth/2],h=a.select(".h"+X._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*w),h?(tt=d.bBox(h).height)>p&&(f[1]-=(tt-p)/2):o.node()&&!o.classed(A.jsPlaceholder)&&(tt=d.bBox(o.node()).height),tt){if(tt+=5,"top"===k)X.domain[1]-=tt/l.h,f[1]*=-1;else{X.domain[0]+=tt/l.h;var g=v.lineCount(o);f[1]+=(1-g)*p}a.attr("transform",c(f[0],f[1])),X.setScale()}}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",c(0,Math.round(l.h*(1-X.domain[1])))),$.attr("transform",c(0,Math.round(-l.t)));var y=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(R);y.enter().append("rect").classed(A.cbfill,!0).style("stroke","none"),y.exit().remove();var b=E.map(X.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,a){var o=[0===a?E[0]:(R[a]+R[a-1])/2,a===R.length-1?E[1]:(R[a]+R[a+1])/2].map(X.c2p).map(Math.round);o[1]=u.constrain(o[1]+(o[1]>o[0])?1:-1,b[0],b[1]);var s=n.select(this).attr({x:U,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)d.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=S(t).replace("e-","");s.attr("fill",i(l).toHexString())}}));var x=t.select("."+A.cblines).selectAll("path."+A.cbline).data(m.color&&m.width?P:[]);x.enter().append("path").classed(A.cbline,!0),x.exit().remove(),x.each((function(t){n.select(this).attr("d","M"+U+","+(Math.round(X.c2p(t))+m.width/2%1)+"h"+z).call(d.lineGroupStyle,m.width,L(t),m.dash)})),$.selectAll("g."+X._id+"tick,path").remove();var _=U+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),M=s.calcTicks(X),T=s.getTickSigns(X)[2];return s.drawTicks(r,X,{vals:"inside"===X.ticks?s.clipEnds(X,M):M,layer:$,path:s.makeTickPath(X,_,T),transFn:s.makeTransTickFn(X)}),s.drawLabels(r,X,{vals:M,layer:$,transFn:s.makeTransTickLabelFn(X),labelFns:s.makeLabelFns(X,_)})},function(){if(-1===["top","bottom"].indexOf(k)){var t=X.title.font.size,e=X._offset+X._length/2,i=l.l+(X.position||0)*l.w+("right"===X.side?10+t*(X.showticklabels?1:.5):-10-t*(X.showticklabels?.5:0));et("h"+X._id+"title",{avoid:{selection:n.select(r).selectAll("g."+X._id+"tick"),side:k,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:i,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},a.previousPromises,function(){var n=z+e.outlinewidth/2;if(-1===X.ticklabelposition.indexOf("inside")&&(n+=d.bBox($.node()).width),(K=J.select("text")).node()&&!K.classed(A.jsPlaceholder)){var i,o=J.select(".h"+X._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(k)?d.bBox(o).width:d.bBox(J.node()).right-U-l.l,n=Math.max(n,i)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,u=q-G;t.select("."+A.cbbg).attr({x:U-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:G-j,width:Math.max(s,2),height:Math.max(u+2*j,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+A.cboutline).attr({x:U,y:G+e.ypad+("top"===k?tt:0),width:Math.max(z,2),height:Math.max(u-2*e.ypad-tt,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var f=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform",c(l.l-f,l.t));var h={},g=M[e.yanchor],v=T[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=u*g,h.b=u*v):(h.t=h.b=0,h.yt=e.y+e.len*g,h.yb=e.y-e.len*v);var m=M[e.xanchor],y=T[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*m,h.r=s*y;else{var b=s-z;h.l=b*m,h.r=b*y,h.xl=e.x-e.thickness*m,h.xr=e.x+e.thickness*y}a.autoMargin(r,e._id,h)}],r)}(r,e,t);m&&m.then&&(t._promises||[]).push(m),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),a=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var u=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,u)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},{"../../constants/alignment":496,"../../lib":524,"../../lib/extend":517,"../../lib/setcursor":544,"../../lib/svg_text_utils":548,"../../plots/cartesian/axes":572,"../../plots/cartesian/axis_defaults":574,"../../plots/cartesian/layout_attributes":586,"../../plots/cartesian/position_defaults":589,"../../plots/plots":617,"../../registry":626,"../color":394,"../colorscale/helpers":405,"../dragelement":413,"../drawing":416,"../titles":489,"./constants":396,d3:82,tinycolor2:360}],399:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":524}],400:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":395,"./defaults":397,"./draw":398,"./has_colorbar":399}],401:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),i=t("../../lib/regex").counter,a=t("./scales.js").scales;Object.keys(a);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===s,c="string"==typeof e.colorscaleDflt?a[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(h+(r={z:"z",c:"color"}[s]));var d=s+"auto",p=s+"min",g=s+"max",v=s+"mid",m=(o(h+d),o(h+p),o(h+g),{});m[p]=m[g]=void 0;var y={};y[d]=!1;var b={};return"color"===r&&(b.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(b.color.anim=!0)),b[d]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},b[p]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},b[g]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},b[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},b.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},b.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},b.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(b.showscale={valType:"boolean",dflt:u,editType:"calc"},b.colorbar=n),e.noColorAxis||(b.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),b}},{"../../lib/regex":540,"../colorbar/attributes":395,"./scales.js":409}],402:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,d=f.min,p=f.max,g=f.mid,v=function(){return i.aggNums(Math.min,null,l)},m=function(){return i.aggNums(Math.max,null,l)};(void 0===d?d=v():h&&(d=c._colorAx&&n(d)?Math.min(d,v()):v()),void 0===p?p=m():h&&(p=c._colorAx&&n(p)?Math.max(p,m()):m()),h&&void 0!==g&&(p-g>g-d?d=g-(p-g):p-g=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},{"../../lib":524,"./helpers":405,"fast-isnumeric":91}],403:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").hasColorscale,a=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function p(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},{}],411:[function(t,e,r){"use strict";var n=t("../../lib"),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{"../../lib":524}],412:[function(t,e,r){"use strict";r.selectMode=function(t){return"lasso"===t||"select"===t},r.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.openMode=function(t){return"drawline"===t||"drawopenpath"===t},r.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],413:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var u=t("./unhover");function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,d,p,g,v=t.gd,m=1,y=v._context.doubleClickDelay,b=t.element;v._mouseDownTime||(v._mouseDownTime=0),b.style.pointerEvents="all",b.onmousedown=_,a?(b._ontouchstart&&b.removeEventListener("touchstart",b._ontouchstart),b._ontouchstart=_,b.addEventListener("touchstart",_,{passive:!1})):b.ontouchstart=_;var x=t.clampFn||function(t,e,r){return Math.abs(t)y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,d),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}p.dispatchEvent(r)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=c},{"../../lib":524,"../../plots/cartesian/constants":578,"./align":410,"./cursor":411,"./unhover":414,"has-hover":267,"has-passive-events":268,"mouse-event-offset":290}],414:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},{"../../lib/dom":515,"../../lib/events":516,"../../lib/throttle":549,"../fx/constants":428}],415:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],416:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),u=t("../../lib"),c=u.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),d=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,g=t("../../traces/scatter/subtypes"),v=t("../../traces/scatter/make_bubble_size_func"),m=t("../../components/fx/helpers").appendArrayPointValue,y=e.exports={};y.font=function(t,e,r,n){u.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},y.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},y.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},y.setRect=function(t,e,r,n,i){t.call(y.setPosition,e,r).call(y.setSize,n,i)},y.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",a).attr("y",o):e.attr("transform",c(a,o)),!0)},y.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);y.translatePoint(t,i,e,r)}))},y.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},y.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,s=a.xcalendar,l=a.ycalendar,u=o.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){y.hideOutsideRangePoint(t,n.select(this),r,i,s,l)}))}))}},y.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},y.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||"";s.stroke(e,n||a.color),y.dashLine(e,l,o)},y.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||"";n.select(this).call(s.stroke,r||a.color).call(y.dashLine,l,o)}))},y.dashLine=function(t,e,r){r=+r||0,e=y.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},y.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},y.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},y.fillGroupStyle=function(t){t.style("stroke-width",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var b=t("./symbol_defs");y.symbolNames=[],y.symbolFuncs=[],y.symbolNeedLines={},y.symbolNoDot={},y.symbolNoFill={},y.symbolList=[],Object.keys(b).forEach((function(t){var e=b[t],r=e.n;y.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),y.symbolNames[r]=t,y.symbolFuncs[r]=e.f,e.needLine&&(y.symbolNeedLines[r]=!0),e.noDot?y.symbolNoDot[r]=!0:y.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(y.symbolNoFill[r]=!0)}));var x=y.symbolNames.length;function _(t,e){var r=t%100;return y.symbolFuncs[r](e)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}y.symbolNumber=function(t){if(i(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=y.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},M={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:M},verticalreversed:{node:"linearGradient",attrs:M,reversed:!0}};y.gradient=function(t,e,r,i,o,l){for(var c=o.length,f=A[i],h=new Array(c),d=0;d"+m(t);p._gradientUrlQueryParts[y]=1},y.initGradients=function(t){var e=t._fullLayout;u.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),e._gradientUrlQueryParts={}},y.pointStyle=function(t,e,r){if(t.size()){var i=y.makePointStyleFns(e);t.each((function(t){y.singlePointStyle(t,n.select(this),e,i,r)}))}},y.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var c=y.symbolNumber(t.mx||a.symbol)||0;t.om=c%200>=100,e.attr("d",_(c,l))}var f,h,d,p=!1;if(t.so)d=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;d=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):u.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,u.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,p=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):a.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({"stroke-width":(d||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:d)+"px");var v=a.gradient,m=t.mgt;if(m?p=!0:m=v&&v.type,Array.isArray(m)&&(m=m[0],A[m]||(m=0)),m&&"none"!==m){var b=t.mgc;b?p=!0:b=v.color;var x=r.uid;p&&(x+="-"+t.i),y.gradient(e,i,x,m,[[0,b],[1,f]],"fill")}else s.fill(e,f);d&&s.stroke(e,h)}},y.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=y.tryColorscale(r,""),e.lineScale=y.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?v(t):function(){return(r.size||6)/2}),t.selectedpoints&&u.extendFlat(e,y.makeSelectedPointStyleFns(t)),e},y.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,c=a.opacity,f=s.opacity,h=void 0!==c,d=void 0!==f;(u.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?c:e:d?f:p*e});var g=i.color,v=a.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=i.size,b=a.size,x=s.size,_=void 0!==b,w=void 0!==x;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?b/2:e:w?x/2:e}),e},y.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,u=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?u||e:c||(u?e:s.addOpacity(e,p))},e},y.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr("d",_(y.symbolNumber(n),a)),e.mrc2=a})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}y.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=y.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var a=n.select(this),l=o?u.extractOption(t,e,"txt","texttemplate"):u.extractOption(t,e,"tx","text");if(l||0===l){if(o){var c=e._module.formatLabels?e._module.formatLabels(t,e,s):{},h={};m(h,e,t.i);var d=e._meta||{};l=u.texttemplateString(l,c,s._d3locale,h,t,d)}var p=t.tp||e.textposition,g=L(t,e),v=i?i(t):t.tc||e.textfont.color;a.call(y.font,t.tf||e.textfont.family,g,v).text(l).call(f.convertToTspans,r).call(E,p,g,t.mrc)}else a.remove()}))}},y.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=L(t,e);s.fill(i,a),E(i,o,l,t.mrc2||t.mrc)}))}};function S(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(a*a+o*o,.25),c=Math.pow(s*s+l*l,.25),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=3*c*(u+c),p=3*u*(u+c);return[[n.round(e[0]+(d&&f/d),2),n.round(e[1]+(d&&h/d),2)],[n.round(e[0]-(p&&f/p),2),n.round(e[1]-(p&&h/p),2)]]}y.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=1e4&&(y.savedBBoxes={},R=0),r&&(y.savedBBoxes[r]=v),R++,u.extendFlat({},v)},y.setClipUrl=function(t,e,r){t.attr("clip-path",z(e,r))},y.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},y.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=c(e,r)).trim(),t[i]("transform",a),a},y.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},y.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var I=/\s*sc.*/;y.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(I,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var D=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(D);t=1===e&&1===r?[]:[c(o,s),"scale("+e+","+r+")",c(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))}},{"../../components/fx/helpers":430,"../../constants/alignment":496,"../../constants/interactions":501,"../../constants/xmlns_namespaces":503,"../../lib":524,"../../lib/svg_text_utils":548,"../../registry":626,"../../traces/scatter/make_bubble_size_func":672,"../../traces/scatter/subtypes":680,"../color":394,"../colorscale":406,"./symbol_defs":417,d3:82,"fast-isnumeric":91,tinycolor2:360}],417:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,i="l"+e+",-"+e,a="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+i+a+i+a+o+a+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return"M"+e+","+a+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+a+"L0,"+i+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M"+i+",-"+r+"V"+r+"L0,"+e+"L-"+i+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+i+"H"+r+"L"+e+",0L"+r+",-"+i+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),u=n.round(.118*e,2),c=n.round(.809*e,2);return"M"+r+","+l+"H"+i+"L"+a+","+u+"L"+o+","+c+"L0,"+n.round(.382*e,2)+"L-"+o+","+c+"L-"+a+","+u+"L-"+i+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return"M-"+i+",0l-"+r+",-"+e+"h"+i+"l"+r+",-"+e+"l"+r+","+e+"h"+i+"l-"+r+","+e+"l"+r+","+e+"h-"+i+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+i+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+i+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o="A "+a+","+a+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+i+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+i+"-"+e+","+e+i+e+","+e+i+e+",-"+e+i+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+i+"0,"+e+i+e+",0"+i+"0,-"+e+i+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+","+i+"L0,0M"+e+","+i+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+e+",-"+i+"L0,0M"+e+",-"+i+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M"+i+","+e+"L0,0M"+i+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return"M-"+i+","+e+"L0,0M-"+i+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-down":{n:46,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-left":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L-"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L-"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}},{d3:82}],418:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],419:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../registry"),a=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,i){var l=e["error_"+i]||{},u=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=s(l),f=0;f0;e.each((function(e){var f,h=e[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&&(f=function(t){return t.id});var g=o.hasMarkers(h)&&h.marker.maxdisplayed>0;p.visible||d.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,f);if(v.exit().remove(),e.length){d.visible||v.selectAll("path.xerror").remove(),p.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(v,r.layerClipId,t),v.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(p.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=p.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):c&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",a)}else o.remove();var h=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var v=(d.copy_ystyle?p:d).width;a="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(a+="m0,-"+v+"v"+2*v),!h.size()?h=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):c&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr("d",a)}else h.remove()}}))}}))}},{"../../traces/scatter/subtypes":680,"../drawing":416,d3:82,"fast-isnumeric":91}],424:[function(t,e,r){"use strict";var n=t("d3"),i=t("../color");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},{"../color":394,d3:82}],425:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("./layout_attributes").hoverlabel,a=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":517,"../../plots/font_attributes":600,"./layout_attributes":435}],426:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexx[0]._length||tt<0||tt>_[0]._length)return p.unhoverRaw(t,e)}if(e.pointerX=$+x[0]._offset,e.pointerY=tt+_[0]._offset,S="xval"in e?m.flat(s,e.xval):m.p2c(x,$),O="yval"in e?m.flat(s,e.yval):m.p2c(_,tt),!i(S[0])||!i(O[0]))return o.warn("Fx.hover failed",e,t),p.unhoverRaw(t,e)}var nt=1/0;function it(t,r){for(N=0;NX&&(Z.splice(0,X),nt=Z[0].distance),g&&0!==W&&0===Z.length){G.distance=W,G.index=!1;var f=j._module.hoverPoints(G,H,q,"closest",l._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=W}))),f&&f.length){var h,p=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(p.length){var v=p[0];i(v.x0)&&i(v.y0)&&(h=ot(v),(!K.vLinePoint||K.vLinePoint.spikeDistance>h.spikeDistance)&&(K.vLinePoint=h))}var y=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(y.length){var b=y[0];i(b.x0)&&i(b.y0)&&(h=ot(b),(!K.hLinePoint||K.hLinePoint.spikeDistance>h.spikeDistance)&&(K.hLinePoint=h))}}}}}function at(t,e){for(var r,n=null,i=1/0,a=0;a1||Z.length>1)||"closest"===E&&J&&Z.length>1,kt=d.combine(l.plot_bgcolor||d.background,l.paper_bgcolor),Et={hovermode:E,rotateLabels:At,bgColor:kt,container:l._hoverlayer,outerContainer:l._paperdiv,commonLabelOpts:l.hoverlabel,hoverdistance:l.hoverdistance},Lt=C(Z,Et,t);m.isUnifiedHover(E)||(!function(t,e,r){var n,i,a,o,s,l,u,c=0,f=1,h=t.size(),d=new Array(h),p=0;function g(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;oe.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}t.each((function(t){var n=t[e],i="x"===n._id.charAt(0),a=n.range;0===p&&a&&a[0]>a[1]!==i&&(f=-1),d[p++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?M:1)/2,pmin:0,pmax:i?r.width:r.height}]})),d.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&c<=h;){for(c++,n=!0,o=0;o.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=i;for(v.push.apply(v,m),d.splice(o+1,1),u=0,s=v.length-1;s>=0;s--)u+=v[s].dp;for(a=u/v.length,s=v.length-1;s>=0;s--)v[s].dp-=a;n=!1}else o++}d.forEach(g)}for(o=d.length-1;o>=0;o--){var x=d[o];for(s=x.length-1;s>=0;s--){var _=x[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Lt,At?"xa":"ya",l),R(Lt,At,l._invScaleX,l._invScaleY));if(e.target&&e.target.tagName){var St=v.getComponentMethod("annotations","hasClickToShow")(t,_t);f(n.select(e.target),St?"pointer":"")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,xt))return;xt&&t.emit("plotly_unhover",{event:e,points:xt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:x,yaxes:_,xvals:S,yvals:O})}(t,e,r,a)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=t.map((function(t){return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),a=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):a,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:a,outerContainer:o},l=C(i,s,e.gd),u=0,c=0;l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function C(t,e,r){var i=r._fullLayout,a=e.hovermode,u=e.rotateLabels,f=e.bgColor,p=e.container,g=e.outerContainer,v=e.commonLabelOpts||{},w=e.fontFamily||y.HOVERFONT,M=e.fontSize||y.HOVERFONTSIZE,T=t[0],A=T.xa,S=T.ya,C="y"===a.charAt(0)?"yLabel":"xLabel",R=T[C],P=(String(R)||"").split(" ")[0],z=g.node().getBoundingClientRect(),I=z.top,D=z.width,N=z.height,F=void 0!==R&&T.distance<=e.hoverdistance&&("x"===a||"y"===a);if(F){var j,B,U=!0;for(j=0;ji.width-L?(y=i.width-L,l.attr("d","M"+(L-k)+",0L"+L+","+_+k+"v"+_+(2*E+x.height)+"H-"+L+"V"+_+k+"H"+(L-2*k)+"Z")):l.attr("d","M0,0L"+k+","+_+k+"H"+(E+x.width/2)+"v"+_+(2*E+x.height)+"H-"+(E+x.width/2)+"V"+_+k+"H-"+k+"Z")}else{var C,O,P;"right"===S.side?(C="start",O=1,P="",y=A._offset+A._length):(C="end",O=-1,P="-",y=A._offset),b=S._offset+(T.y0+T.y1)/2,u.attr("text-anchor",C),l.attr("d","M0,0L"+P+k+","+k+"V"+(E+x.height/2)+"h"+P+(2*E+x.width)+"V-"+(E+x.height/2)+"H"+P+k+"V-"+k+"Z");var z,D=x.height/2,N=I-x.top-D,F="clip"+i._uid+"commonlabel"+S._id;if(y=0?et-=it:et+=2*E;var at=nt.height+2*E,ot=tt+at>=N;return at<=N&&(tt<=I?tt=S._offset+2*E:ot&&(tt=N-at)),rt.attr("transform",s(et,tt)),rt}var st=p.selectAll("g.hovertext").data(t,(function(t){return L(t)}));return st.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(d.fill,d.addOpacity(f,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(h.font,w,M)})),st.exit().remove(),st.each((function(t){var e=n.select(this).attr("transform",""),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var p=t.bgcolor||o,g=d.combine(d.opacity(p)?p:d.defaultLine,f),v=d.combine(d.opacity(o)?o:d.defaultLine,f),m=t.borderColor||d.contrast(g),y=O(t,F,a,i,R,e),b=y[0],x=y[1],T=e.select("text.nums").call(h.font,t.fontFamily||w,t.fontSize||M,t.fontColor||m).text(b).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r),A=e.select("text.name"),L=0,S=0;if(x&&x!==b){A.call(h.font,t.fontFamily||w,t.fontSize||M,v).text(x).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r);var C=A.node().getBoundingClientRect();L=C.width+2*E,S=C.height+2*E}else A.remove(),e.select("rect").remove();e.select("path").style({fill:g,stroke:m});var P,z,j=T.node().getBoundingClientRect(),B=t.xa._offset+(t.x0+t.x1)/2,U=t.ya._offset+(t.y0+t.y1)/2,V=Math.abs(t.x1-t.x0),H=Math.abs(t.y1-t.y0),q=j.width+k+E+L;if(t.ty0=I-j.top,t.bx=j.width+2*E,t.by=Math.max(j.height+2*E,S),t.anchor="start",t.txwidth=j.width,t.tx2width=L,t.offset=0,u)t.pos=B,P=U+H/2+q<=N,z=U-H/2-q>=0,"top"!==t.idealAlign&&P||!z?P?(U+=H/2,t.anchor="start"):t.anchor="middle":(U-=H/2,t.anchor="end");else if(t.pos=U,P=B+V/2+q<=D,z=B-V/2-q>=0,"left"!==t.idealAlign&&P||!z)if(P)B+=V/2,t.anchor="start";else{t.anchor="middle";var G=q/2,X=B+G-D,Y=B-G;X>0&&(B-=X),Y<0&&(B+=-Y)}else B-=V/2,t.anchor="end";T.attr("text-anchor",t.anchor),L&&A.attr("text-anchor",t.anchor),e.attr("transform",s(B,U)+(u?l(_):""))})),st}function O(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=D(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[r.charAt(0)+"Label"]===i?l=t[("x"===r.charAt(0)?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var u=n._d3locale,c=t.hovertemplate||!1,f=t.hovertemplateLabels||t,h=t.eventData[0]||{};return c&&(l=(l=o.hovertemplateString(c,f,u,h,t.trace._meta)).replace(S,(function(e,r){return s=D(r,t.nameLength),""}))),[l,s]}function R(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select("text.nums"),s=t.anchor,l="end"===s?-1:1,u={start:1,end:-1,middle:0}[s],f=u*(k+E),d=f+u*(t.txwidth+E),p=0,g=t.offset,v="middle"===s;v&&(f-=t.tx2width/2,d+=t.txwidth/2+E),e&&(g*=-A,p=t.offset*T),r.select("path").attr("d",v?"M-"+a(t.bx/2+t.tx2width/2)+","+o(g-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(l*k+p)+","+o(k+g)+"v"+o(t.by/2-k)+"h"+a(l*t.bx)+"v-"+o(t.by)+"H"+a(l*k+p)+"V"+o(g-k)+"Z");var m=p+f,y=g+t.ty0-t.by/2+E,b=t.textAlign||"auto";"auto"!==b&&("left"===b&&"start"!==s?(i.attr("text-anchor","start"),m=v?-t.bx/2-t.tx2width/2+E:-t.bx-E):"right"===b&&"end"!==s&&(i.attr("text-anchor","end"),m=v?t.bx/2-t.tx2width/2-E:t.bx+E)),i.call(c.positionText,a(m),o(y)),t.tx2width&&(r.select("text.name").call(c.positionText,a(d+u*E+p),o(g+t.ty0-t.by/2+E)),r.select("rect").call(h.setRect,a(d+(u-1)*t.tx2width/2+p),o(g-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function P(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+h,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function z(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var p=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(i=y&&y.ya).spikesnap?(v=u.pointerX,m=u.pointerY):(v=n._offset+y.x,m=i._offset+y.y);var b,x,_=a.readability(y.color,p)<1.5?d.contrast(p):y.color,w=i.spikemode,M=i.spikethickness,T=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(b=A,x=v),-1!==w.indexOf("across")){var k=i._counterDomainMin,E=i._counterDomainMax;"free"===i.anchor&&(k=Math.min(k,i.position),E=Math.max(E,i.position)),b=l.l+k*l.w,x=l.l+E*l.w}o.insert("line",":first-child").attr({x1:b,x2:x,y1:m,y2:m,"stroke-width":M,stroke:T,"stroke-dasharray":h.dashStyle(i.spikedash,M)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:b,x2:x,y1:m,y2:m,"stroke-width":M+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?M:-M),cy:m,r:M,fill:T}).classed("spikeline",!0)}if(f){var L,S,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(L=u.pointerX,S=u.pointerY):(L=n._offset+C.x,S=i._offset+C.y);var O,R,P=a.readability(C.color,p)<1.5?d.contrast(p):C.color,z=n.spikemode,I=n.spikethickness,D=n.spikecolor||P,N=g.getPxPosition(t,n);if(-1!==z.indexOf("toaxis")||-1!==z.indexOf("across")){if(-1!==z.indexOf("toaxis")&&(O=N,R=S),-1!==z.indexOf("across")){var F=n._counterDomainMin,j=n._counterDomainMax;"free"===n.anchor&&(F=Math.min(F,n.position),j=Math.max(j,n.position)),O=l.t+(1-j)*l.h,R=l.t+(1-F)*l.h}o.insert("line",":first-child").attr({x1:L,x2:L,y1:O,y2:R,"stroke-width":I,stroke:D,"stroke-dasharray":h.dashStyle(n.spikedash,I)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:L,x2:L,y1:O,y2:R,"stroke-width":I+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==z.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:L,cy:N-("top"!==n.side?I:-I),r:I,fill:D}).classed("spikeline",!0)}}}function I(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function D(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":524,"../../lib/events":516,"../../lib/override_cursor":535,"../../lib/svg_text_utils":548,"../../plots/cartesian/axes":572,"../../registry":626,"../color":394,"../dragelement":413,"../drawing":416,"../legend/defaults":446,"../legend/draw":447,"./constants":428,"./helpers":430,d3:82,"fast-isnumeric":91,tinycolor2:360}],432:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../color"),a=t("./helpers").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&a(e.hovermode)&&(o.font||(o.font={}),s("size"),s("family"),s("color"),e.legend?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},{"../../lib":524,"../color":394,"./helpers":430}],433:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./layout_attributes");e.exports=function(t,e,r){function a(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}var o,s=a("clickmode");return e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n1){if(!h&&!d&&!p)"independent"===T("pattern")&&(h=!0);v._hasSubplotGrid=h;var b,x,_="top to bottom"===T("roworder"),w=h?.2:.1,M=h?.3:.1;g&&e._splomGridDflt&&(b=e._splomGridDflt.xside,x=e._splomGridDflt.yside),v._domains={x:c("x",T,w,b,y),y:c("y",T,M,x,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},d=e._subplots,p=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(p){var b=h.subplots||[];l=r.subplots=new Array(g);var x=1;for(n=0;n1);if(!1!==g||u.uirevision){var v=a.newContainer(e,"legend");if(_("uirevision",e.uirevision),!1!==g){_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),i.coerceFont(_,"font",e.font);var m,y,b,x=_("orientation");"h"===x?(m=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(y=1.1,b="bottom"):(y=-.1,b="top")):(m=1.02,y=1,b="auto"),_("traceorder",h),l.isGrouped(e.legend)&&_("tracegroupgap"),_("itemsizing"),_("itemwidth"),_("itemclick"),_("itemdoubleclick"),_("x",m),_("xanchor"),_("y",y),_("yanchor",b),_("valign"),i.noneOrAll(u,v,["x","y"]),_("title.text")&&(_("title.side","h"===x?"left":"top"),i.coerceFont(_,"title.font",e.font))}}function _(t,e){return i.coerce(u,v,o,t,e)}}},{"../../lib":524,"../../plot_api/plot_template":561,"../../plots/layout_attributes":615,"../../registry":626,"./attributes":444,"./helpers":450}],447:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),u=t("../drawing"),c=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),d=t("./constants"),p=t("../../constants/alignment"),g=p.LINE_SPACING,v=p.FROM_TL,m=p.FROM_BR,y=t("./get_legend_data"),b=t("./style"),x=t("./helpers");function _(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout((function(){h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)}}function w(t,e,r){var n,a=t.data()[0][0],s=a.trace,l=o.traceIs(s,"pie-like"),c=s.index,h=r._main&&e._context.edits.legendText&&!l,p=r._maxNameLength;r.entries?n=a.text:(n=l?a.label:s.name,s._meta&&(n=i.templateString(n,s._meta)));var g=i.ensureSingle(t,"text","legendtext");g.attr("text-anchor","start").call(u.font,r.font).text(h?M(n,p):n);var v=r.itemwidth+2*d.itemGap;f.positionText(g,v,0),h?g.call(f.makeEditable,{gd:e,text:n}).call(A,t,e,r).on("edit",(function(n){this.text(M(n,p)).call(A,t,e,r);var s=a.trace._fullInput||{},l={};if(o.hasTransform(s,"groupby")){var u=o.getTransformIndices(s,"groupby"),f=u[u.length-1],h=i.keyedContainer(s,"transforms["+f+"].styles","target","value.name");h.set(a.trace._group,n),l=h.constructUpdate()}else l.name=n;return o.call("_guiRestyle",e,l,c)})):A(g,t,e,r)}function M(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function T(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTimea&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function A(t,e,r,n){n._main||t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var i=t.select("g[class*=math-group]"),a=i.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,c=(n?r:r.title).font.size*g;if(a){var h=u.bBox(a);o=h.height,s=h.width,n?u.setTranslate(i,0,.25*o):u.setTranslate(i,l,.75*o+l)}else{var p=t.select(n?".legendtext":".legendtitletext"),v=f.lineCount(p),m=p.node();o=c*v,s=m?u.bBox(m).width:0;var y=c*((v-1)/2-.3);if(n){var b=r.itemwidth+2*d.itemGap;f.positionText(p,b,-y)}else f.positionText(p,d.titlePad+l,c+l)}n?(n.lineHeight=c,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function k(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function E(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t,e){var r,s=t._fullLayout,f="legend"+s._uid;if(e?(r=e.layer,f+="-hover"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var h;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;h=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;h=y(e.entries,e)}var p=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!h.length))return r.selectAll(".legend").remove(),s._topdefs.select("#"+f).remove(),a.autoMargin(t,"legend");var g=i.ensureSingle(r,"g","legend",(function(t){e._main&&t.attr("pointer-events","all")})),M=i.ensureSingleById(s._topdefs,"clipPath",f,(function(t){t.append("rect")})),L=i.ensureSingle(g,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));L.call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var S=i.ensureSingle(g,"g","scrollbox"),C=e.title;if(e._titleWidth=0,e._titleHeight=0,C.text){var O=i.ensureSingle(S,"text","legendtitletext");O.attr("text-anchor","start").call(u.font,C.font).text(C.text),A(O,S,t,e)}else S.selectAll(".legendtitletext").remove();var R=i.ensureSingle(g,"rect","scrollbar",(function(t){t.attr(d.scrollBarEnterAttrs).call(c.fill,d.scrollBarColor)})),P=S.selectAll("g.groups").data(h);P.enter().append("g").attr("class","groups"),P.exit().remove();var z=P.selectAll("g.traces").data(i.identity);z.enter().append("g").attr("class","traces"),z.exit().remove(),z.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==p.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(b,t,e).each((function(){e._main&&n.select(this).call(T,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=x.isVertical(i),l=x.isGrouped(i),c=i.borderwidth,f=2*c,h=d.itemGap,p=i.itemwidth+2*h,g=2*(c+h),v=E(i),m=i.y<0||0===i.y&&"top"===v,y=i.y>1||1===i.y&&"bottom"===v;i._maxHeight=Math.max(m||y?a.height/2:o.h,30);var b=0;i._width=0,i._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight));return[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;u.setTranslate(this,c+_[0],c+_[1]+i._height+e/2+h),i._height+=e,i._width=Math.max(i._width,t[0].width)})),b=p+i._width,i._width+=h+p+f,i._height+=g,l&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var w=k(i),M=i.x<0||0===i.x&&"right"===w,T=i.x>1||1===i.x&&"left"===w,A=y||m,L=a.width/2;i._maxWidth=Math.max(M?A&&"left"===w?o.l+o.w:L:T?A&&"right"===w?o.r+o.w:L:o.w,2*p);var S=0,C=0;r.each((function(t){var e=t[0].width+p;S=Math.max(S,e),C+=e})),b=null;var O=0;if(l){var R=0,P=0,z=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=r[0].height;u.setTranslate(this,_[0],_[1]+c+h+n/2+e),e+=n,t=Math.max(t,p+r[0].width)})),R=Math.max(R,e);var r=t+h;r+c+P>i._maxWidth&&(O=Math.max(O,P),P=0,z+=R+i.tracegroupgap,R=e),u.setTranslate(this,P,z),P+=r})),i._width=Math.max(O,P)+c,i._height=z+R+g}else{var I=r.size(),D=C+f+(I-1)*h=i._maxWidth&&(O=Math.max(O,B),F=0,j+=N,i._height+=N,N=0),u.setTranslate(this,_[0]+c+F,_[1]+c+j+e/2+h),B=F+r+h,F+=n,N=Math.max(N,e)})),D?(i._width=F+f,i._height=N+g):(i._width=Math.max(O,B)+f,i._height+=N+g)}}i._width=Math.ceil(Math.max(i._width+_[0],i._titleWidth+2*(c+d.titlePad))),i._height=Math.ceil(Math.max(i._height+_[1],i._titleHeight+2*(c+d.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var U=t._context.edits,V=U.legendText||U.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,i=V?p:b||p+t[0].width;s||(i+=h/2),u.setRect(e,0,-r/2,i,r)}))}(t,P,z,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=k(e),n=E(e);return a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var c,h,p,y,b=s._size,x=e.borderwidth,w=b.l+b.w*e.x-v[k(e)]*e._width,T=b.t+b.h*(1-e.y)-v[E(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var A=w,C=T;w=i.constrain(w,0,s.width-e._width),T=i.constrain(T,0,s.height-e._effHeight),w!==A&&i.log("Constrain legend.x to make legend fit inside graph"),T!==C&&i.log("Constrain legend.y to make legend fit inside graph")}if(e._main&&u.setTranslate(g,w,T),R.on(".drag",null),g.on("wheel",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var O=e._effHeight;e._main||(O=e._height),L.attr({width:e._width-x,height:O-x,x:x/2,y:x/2}),u.setTranslate(S,0,0),M.select("rect").attr({width:e._width-2*x,height:O-2*x,x:x,y:x}),u.setClipUrl(S,f,t),u.setRect(R,0,0,0,0),delete e._scrollY}else{var P,z,I,D=Math.max(d.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),N=e._effHeight-D-2*d.scrollBarMargin,F=e._height-e._effHeight,j=N/F,B=Math.min(e._scrollY||0,F);L.attr({width:e._width-2*x+d.scrollBarWidth+d.scrollBarMargin,height:e._effHeight-x,x:x/2,y:x/2}),M.select("rect").attr({width:e._width-2*x+d.scrollBarWidth+d.scrollBarMargin,height:e._effHeight-2*x,x:x,y:x+B}),u.setClipUrl(S,f,t),H(B,D,j),g.on("wheel",(function(){H(B=i.constrain(e._scrollY+n.event.deltaY/N*F,0,F),D,j),0!==B&&B!==F&&n.event.preventDefault()}));var U=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;P="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,I=B})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(z="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,H(B=function(t,e,r){var n=(r-e)/j+t;return i.constrain(n,0,F)}(I,P,z),D,j))}));R.call(U);var V=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(P=t.changedTouches[0].clientY,I=B)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(z=t.changedTouches[0].clientY,H(B=function(t,e,r){var n=(e-r)/j+t;return i.constrain(n,0,F)}(I,P,z),D,j))}));S.call(V)}if(t._context.edits.legendPosition)g.classed("cursor-move",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=u.getTranslate(g);p=t.x,y=t.y},moveFn:function(t,r){var n=p+t,i=y+r;u.setTranslate(g,n,i),c=l.align(n,0,b.l,b.l+b.w,e.xanchor),h=l.align(i,0,b.t+b.h,b.t,e.yanchor)},doneFn:function(){void 0!==c&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":c,"legend.y":h})},clickFn:function(e,n){var i=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&_(t,g,i,e,n)}})}function H(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,u.setTranslate(S,0,-r),u.setRect(R,e._width,d.scrollBarMargin+r*i,d.scrollBarWidth,n),M.select("rect").attr("y",x+r)}}],t)}}},{"../../constants/alignment":496,"../../lib":524,"../../lib/events":516,"../../lib/svg_text_utils":548,"../../plots/plots":617,"../../registry":626,"../color":394,"../dragelement":413,"../drawing":416,"./constants":445,"./get_legend_data":448,"./handle_click":449,"./helpers":450,"./style":452,d3:82}],448:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("./helpers");e.exports=function(t,e){var r,a,o={},s=[],l=!1,u={},c=0,f=0,h=e._main;function d(t,r){if(""!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+c;s.push(n),o[n]=[[r]],c++}}for(r=0;r0))return 0;i=e.width}return v?n:Math.min(i,r)};function _(t,e,r){var a=t[0].trace,o=a.marker||{},s=o.line||{},u=r?a.visible&&a.type===r:i.traceIs(a,"bar"),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(u?[t]:[]);c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),c.exit().remove(),c.each((function(t){var e=n.select(this),r=t[0],i=x(r.mlw,o.line,5,2);e.style("stroke-width",i+"px").call(l.fill,r.mc||o.color),i&&l.stroke(e,r.mlc||s.color)}))}function w(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),u.exit().remove(),u.size()){var c=(s.marker||{}).line,d=x(h(c.width,o.pts),c,5,2),p=a.minExtend(s,{marker:{line:{width:d}}});p.marker.line.color=c.color;var g=a.minExtend(o,{trace:p});f(u,g,p)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr("transform",o(0,c))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["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"]],r=!1;break;case"streamtube":o=[["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"]],r=!1;break;case"surface":o=[["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"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),d=h.colorscale,g=h.reversescale;if(d){if(!r){var v=d.length;c=0===o?d[g?v-1:0][1]:1===o?d[g?0:v-1][1]:d[Math.floor((v-1)/2)][1]}}else{var m=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(m)?m[o]||m[0]:m}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,p(g,"radial"===r),d,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,_(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[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 o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=x(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){_(t,this,"funnel")})).each((function(t){_(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=x(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:v?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){w(t,this,"funnelarea")})).each((function(t){w(t,this,"pie")})).each((function(t){var r,i,o=t[0],l=o.trace,f=l.visible&&l.fill&&"none"!==l.fill,h=c.hasLines(l),d=l.contours,g=!1,v=!1,y=u(l),b=y.colorscale,_=y.reversescale;if(d){var w=d.coloring;"lines"===w?g=!0:h="none"===w||"heatmap"===w||d.showlines,"constraint"===d.type?f="="!==d._operation:"fill"!==w&&"heatmap"!==w||(v=!0)}var M=c.hasMarkers(l)||c.hasText(l),T=f||v,A=h||g,k=M||!T?"M5,0":A?"M5,-2":"M5,-3",E=n.select(this),L=E.select(".legendfill").selectAll("path").data(f||v?[t]:[]);if(L.enter().append("path").classed("js-fill",!0),L.exit().remove(),L.attr("d",k+"h"+m+"v6h-"+m+"z").call(f?s.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+l.uid;s.gradient(t,e,r,p(_),b,"fill")}}),h||g){var S=x(void 0,l.line,10,5);i=a.minExtend(l,{line:{width:S}}),r=[a.minExtend(o,{trace:i})]}var C=E.select(".legendlines").selectAll("path").data(h||g?[r]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",k+(g?"l"+m+",0.0001":"h"+m)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+l.uid;s.lineGroupStyle(t),s.gradient(t,e,r,p(_),b,"stroke")}})})).each((function(t){var r,i,o=t[0],l=o.trace,u=c.hasMarkers(l),f=c.hasText(l),h=c.hasLines(l);function d(t,e,r,n){var i=a.nestedProperty(l,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function p(t){return o._distinct&&o.index&&t[o.index]?t[o.index]:t[0]}if(u||f||h){var g={},m={};if(u){g.mc=d("marker.color",p),g.mx=d("marker.symbol",p),g.mo=d("marker.opacity",a.mean,[.2,1]),g.mlc=d("marker.line.color",p),g.mlw=d("marker.line.width",a.mean,[0,5],2),m.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=d("marker.size",a.mean,[2,16],12);g.ms=y,m.marker.size=y}h&&(m.line={width:d("line.width",p,[0,10],5)}),f&&(g.tx="Aa",g.tp=d("textposition",p),g.ts=10,g.tc=d("textfont.color",p),g.tf=d("textfont.family",p)),r=[a.minExtend(o,g)],(i=a.minExtend(l,m)).selectedpoints=null,i.texttemplate=null}var x=n.select(this).select("g.legendpoints"),_=x.selectAll("path.scatterpts").data(u?r:[]);_.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),_.exit().remove(),_.call(s.pointStyle,i,e),u&&(r[0].mrc=3);var w=x.selectAll("g.pointtext").data(f?r:[]);w.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),w.exit().remove(),w.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=x(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=x(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},{"../../lib":524,"../../registry":626,"../../traces/pie/helpers":652,"../../traces/pie/style_one":653,"../../traces/scatter/subtypes":680,"../color":394,"../colorscale/helpers":405,"../drawing":416,"./constants":445,d3:82}],453:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../fonts/ploticon"),s=t("../shapes/draw").eraseActiveShape,l=t("../../lib"),u=l._,c=e.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var d,p="in"===l?.5:2,g=(1+p)/2,v=(1-p)/2;for(i=0;i1?(L=["toggleHover"],S=["resetViews"]):p?(E=["zoomInGeo","zoomOutGeo"],L=["hoverClosestGeo"],S=["resetGeo"]):d?(L=["hoverClosest3d"],S=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(E=["zoomInMapbox","zoomOutMapbox"],L=["toggleHover"],S=["resetViewMapbox"]):m?L=["hoverClosestGl2d"]:g?L=["hoverClosestPie"]:_?(L=["hoverClosestCartesian","hoverCompareCartesian"],S=["resetViewSankey"]):L=["toggleHover"];h&&(L=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a=n.max)e=N[r+1];else if(t=n.pmax)e=N[r+1];else if(t0?h+u:u;return{ppad:u,ppadplus:c?p:g,ppadminus:c?g:p}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,d=-1/0,p=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;ld&&(d=f)));return d>=h?[h,d]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;oy?(T=f,L="y0",A=y,S="y1"):(T=y,L="y1",A=f,S="y0");Z(n),J(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"===n||o.autorange||(l+=n);"paper"===i||s.autorange||(l+=i);c.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),W.moveFn="move"===P?Q:K,W.altKey=n.altKey},doneFn:function(){if(m(t))return;d(e),$(s),x(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj())},clickFn:function(){if(m(t))return;$(s)}};function Z(r){if(m(t))P=null;else if(D)P="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=W.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!N&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):"move";d(e,l),P=l.split("-")[0]}}function Q(n,i){if("path"===r.type){var a=function(t){return t},o=a,l=a;z?F("xanchor",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},j&&"date"===j.type&&(o=g.encodeDate(o))),I?F("yanchor",r.yanchor=X(M+i)):(l=function(t){return X(q(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),F("path",r.path=w(R,o,l))}else z?F("xanchor",r.xanchor=G(b+n)):(F("x0",r.x0=G(u+n)),F("x1",r.x1=G(v+n))),I?F("yanchor",r.yanchor=X(M+i)):(F("y0",r.y0=X(f+i)),F("y1",r.y1=X(y+i)));e.attr("d",_(t,r)),J(s,r)}function K(n,i){if(N){var a=function(t){return t},o=a,l=a;z?F("xanchor",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},j&&"date"===j.type&&(o=g.encodeDate(o))),I?F("yanchor",r.yanchor=X(M+i)):(l=function(t){return X(q(t)+i)},U&&"date"===U.type&&(l=g.encodeDate(l))),F("path",r.path=w(R,o,l))}else if(D){if("resize-over-start-point"===P){var c=u+n,h=I?f-i:f+i;F("x0",r.x0=z?c:G(c)),F("y0",r.y0=I?h:X(h))}else if("resize-over-end-point"===P){var d=v+n,p=I?y-i:y+i;F("x1",r.x1=z?d:G(d)),F("y1",r.y1=I?p:X(p))}}else{var m=function(t){return-1!==P.indexOf(t)},x=m("n"),B=m("s"),V=m("w"),Y=m("e"),W=x?T+i:T,Z=B?A+i:A,Q=V?k+n:k,K=Y?E+n:E;I&&(x&&(W=T-i),B&&(Z=A-i)),(!I&&Z-W>10||I&&W-Z>10)&&(F(L,r[L]=I?W:X(W)),F(S,r[S]=I?Z:X(Z))),K-Q>10&&(F(C,r[C]=z?Q:G(Q)),F(O,r[O]=z?K:G(K)))}e.attr("d",_(t,r)),J(s,r)}function J(t,e){(z||I)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=H(z?e.xanchor:i.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,p.paramIsX))),o=q(I?e.yanchor:i.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,p.paramIsY)));if(a=g.roundPositionForSharpStrokeRendering(a,1),o=g.roundPositionForSharpStrokeRendering(o,1),z&&I){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(z){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function $(t){t.selectAll(".visual-cue").remove()}h.init(W),Y.node().onmousemove=Z}(t,z,l,e,r,P):!0===l.editable&&z.style("pointer-events",O||u.opacity(E)*k<=.5?"stroke":"all");z.node().addEventListener("click",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void M(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=M,v(t)}}(t,z)}))}}function x(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");c.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,u,c,f,h=e.type,d=a.getRefType(e.xref),v=a.getRefType(e.yref),m=a.getFromId(t,e.xref),y=a.getFromId(t,e.yref),b=t._fullLayout._size;if(m?"domain"===d?n=function(t){return m._offset+m._length*t}:(r=g.shapePositionToRange(m),n=function(t){return m._offset+m.r2p(r(t,!0))}):n=function(t){return b.l+b.w*t},y?"domain"===v?s=function(t){return y._offset+y._length*(1-t)}:(o=g.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return b.t+b.h*(1-t)},"path"===h)return m&&"date"===m.type&&(n=g.decodeDate(n)),y&&"date"===y.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(p.segmentRE,(function(t){var n=0,u=t.charAt(0),c=p.paramIsX[u],f=p.paramIsY[u],h=p.numParams[u],d=t.substr(1).replace(p.paramRE,(function(t){return c[n]?t="pixel"===a?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>h&&(t="X"),t}));return n>h&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),u+d}))}(e,n,s);if("pixel"===e.xsizemode){var x=n(e.xanchor);l=x+e.x0,u=x+e.x1}else l=n(e.x0),u=n(e.x1);if("pixel"===e.ysizemode){var _=s(e.yanchor);c=_-e.y0,f=_-e.y1}else c=s(e.y0),f=s(e.y1);if("line"===h)return"M"+l+","+c+"L"+u+","+f;if("rect"===h)return"M"+l+","+c+"H"+u+"V"+f+"H"+l+"Z";var w=(l+u)/2,M=(c+f)/2,T=Math.abs(w-l),A=Math.abs(M-c),k="A"+T+","+A,E=w+T+","+M;return"M"+E+k+" 0 1,1 "+(w+","+(M-A))+k+" 0 0,1 "+E+"Z"}function w(t,e,r){return t.replace(p.segmentRE,(function(t){var n=0,i=t.charAt(0),a=p.paramIsX[i],o=p.paramIsY[i],s=p.numParams[i];return i+t.substr(1).replace(p.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function M(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,v(t)))}e.exports={draw:v,drawOne:b,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e=0&&f(m),r.attr("d",g(e)),A&&!h)&&(T=function(t,e){for(var r=0;r1&&(2!==t.length||"Z"!==t[1][0])&&(0===M&&(t[0][0]="M"),e[w]=t,y(),b())}}()}}function R(t,r){!function(t,r){if(e.length)for(var n=0;n0&&l0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function L(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function S(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,v(e))}if(a.enter().append("g").classed(f.containerClassName,!0).style("cursor","ew-resize"),a.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(s)})).remove(),0!==r.length){var l=a.selectAll("g."+f.groupClassName).data(r,m);l.enter().append("g").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var u=0;u0||h<0){var m={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform",l(m[0],m[1]))}}}return I.call(D),P&&(L?I.on(".opacity",null):(A=0,k=!0,I.text(y).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),I.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==b?o.call("_guiRestyle",t,m,e,b):o.call("_guiRelayout",t,m,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(D)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),I.classed("js-placeholder",k),M}}},{"../../constants/alignment":496,"../../constants/interactions":501,"../../lib":524,"../../lib/svg_text_utils":548,"../../plots/plots":617,"../../registry":626,"../color":394,"../drawing":416,d3:82,"fast-isnumeric":91}],490:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),i=t("../color/attributes"),a=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,u=l("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}});e.exports=o(l("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:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":517,"../../plot_api/edit_types":554,"../../plot_api/plot_template":561,"../../plots/font_attributes":600,"../../plots/pad_attributes":616,"../color/attributes":393}],491:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],492:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../plots/array_container_defaults"),a=t("./attributes"),o=t("./constants").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":524,"../../plots/array_container_defaults":567,"./attributes":490,"./constants":491}],493:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plots/plots"),a=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),u=t("../../plot_api/plot_template").arrayEditor,c=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function d(t){return t._index}function p(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),v(t,n,i,a,e),s||m(t,n,i,a,e))}function v(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},d={width:l.headerWidth,height:l.headerHeight};a.call(y,i,c,t).call(k,i,h,d),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(E,String(p(r,i)?-1:i._index)),m(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(M,i)})),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),d=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),d.transition().attr("opacity","0").remove()):d.remove();var p=0,v=0,m=o._dims,b=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(b?v=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-f.gapButtonHeader+f.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+v+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},T={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(y,o,s,t).call(k,o,x),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(M,o),c.call(_,o)}))})),c.call(_,o),b?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=x.y-T.t):(T.w=x.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,d=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,d);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,k=s.barWidth+2*s.barPad,E=p,L=v+m;L+k>u&&(L=u-k);var S=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);S.exit().on(".drag",null).remove(),S.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),T?(this.hbar=S.attr({rx:s.barRadius,ry:s.barRadius,x:E,y:L,width:A,height:k}),this._hbarXMin=E+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=m>M,O=s.barWidth+2*s.barPad,R=s.barLength+2*s.barPad,P=p+g,z=v;P+O>l&&(P=l-O);var I=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);I.exit().on(".drag",null).remove(),I.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:P,y:z,width:O,height:R}),this._vbarYMin=z+R/2,this._vbarTranslateMax=M-R):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var D=this.id,N=c-.5,F=C?f+O+.5:f+.5,j=h-.5,B=T?d+k+.5:d+.5,U=o._topdefs.selectAll("#"+D).data(T||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",D).append("rect"),T||C?(this._clipRect=U.select("rect").attr({x:Math.floor(N),y:Math.floor(j),width:Math.ceil(F)-Math.floor(N),height:Math.ceil(B)-Math.floor(j)}),this.container.call(a.setClipUrl,D,this.gd),this.bg.attr({x:p,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),T||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(H),C&&this.vbar.on(".drag",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":524,"../color":394,"../drawing":416,d3:82}],496:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],497:[function(t,e,r){"use strict";e.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"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.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},{}],498:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format#locale_format"}},{}],499:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],500:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],501:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],502:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,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:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],503:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],504:[function(t,e,r){"use strict";r.version=t("./version").version,t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),i=r.register=n.register,a=t("./plot_api"),o=Object.keys(a),s=0;splotly-logomark"}}},{}],507:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],508:[function(t,e,r){"use strict";var n=t("./mod"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,d,p,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{"./mod":531}],509:[function(t,e,r){"use strict";var n=Array.isArray,i="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},a="undefined"==typeof DataView?function(){}:DataView;function o(t){return i.isView(t)&&!(t instanceof a)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(c(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||u(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!u(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(e),m=t.charAt(0);!u||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=u&&"chinese"===e.substr(0,7),M=t.match(w?b:y);if(!M)return c;var T=M[1],A=M[3]||"1",k=Number(M[5]||1),E=Number(M[7]||0),L=Number(M[9]||0),S=Number(M[11]||0);if(u){if(2===T.length)return c;var C;T=Number(T);try{var O=v.getComponentMethod("calendars","getCal")(e);if(w){var R="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(T,O.toMonthIndex(T,A,R),k)}else C=O.newDate(T,Number(A),k)}catch(t){return c}return C?(C.toJD()-g)*f+E*h+L*d+S*p:c}T=2===T.length?(Number(T)+2e3-x)%100+x:Number(T),A-=1;var P=new Date(Date.UTC(2e3,A,k,E,L));return P.setUTCFullYear(T),P.getUTCMonth()!==A||P.getUTCDate()!==k?c:P.getTime()+S*p},n=r.MIN_MS=r.dateTime2ms("-9999"),i=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==c};var M=90*f,T=3*h,A=5*d;function k(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,y,b,x=Math.floor(10*l(t+.05,1)),w=Math.round(t-x/10);if(_(r)){var E=Math.floor(w/f)+g,L=Math.floor(l(t,f));try{a=v.getComponentMethod("calendars","getCal")(r).fromJD(E).formatDate("yyyy-mm-dd")}catch(t){a=m("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return k(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===c)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var E=/%\d?f/g;function L(t,e,r,n){t=t.replace(E,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var S=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/d),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/p,60),S[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+L(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return L(e,t,n,i)};var C=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=v.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+C);return u.setUTCMonth(u.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&v.getComponentMethod("calendars","getCal")(e),c=0;c1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,d=u-a,p=c*c+f*f,g=h*h+d*d,v=Math.min(l(c,f,p,i-t,a-e),l(c,f,p,o-t,u-e),l(h,d,g,t-i,e-a),l(h,d,g,r-i,n-a));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var d=h(u);d;){if((u+=d+r)>f)return;d=h(u)}for(d=h(f);d;){if(u>(f-=d+r))return;d=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f0?d=i:h=i,f++}return a}},{"./mod":531}],521:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("tinycolor2"),a=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,i,s,d,p,g=t.color,v=l(g),m=l(e),y=o.extractOpts(t),b=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=v?function(t,e){return void 0===t[e]?u:a(n(t[e]))}:f,s=m?function(t,e){return void 0===t[e]?1:h(t[e])}:h,v||m)for(var x=0;x1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},{}],524:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../constants/numerical"),s=o.FP_SAFE,l=o.BADNUM,u=e.exports={};u.nestedProperty=t("./nested_property"),u.keyedContainer=t("./keyed_container"),u.relativeAttr=t("./relative_attr"),u.isPlainObject=t("./is_plain_object"),u.toLogRange=t("./to_log_range"),u.relinkPrivateKeys=t("./relink_private");var c=t("./array");u.isTypedArray=c.isTypedArray,u.isArrayOrTypedArray=c.isArrayOrTypedArray,u.isArray1D=c.isArray1D,u.ensureArray=c.ensureArray,u.concat=c.concat,u.maxRowLength=c.maxRowLength,u.minRowLength=c.minRowLength;var f=t("./mod");u.mod=f.mod,u.modHalf=f.modHalf;var h=t("./coerce");u.valObjectMeta=h.valObjectMeta,u.coerce=h.coerce,u.coerce2=h.coerce2,u.coerceFont=h.coerceFont,u.coerceHoverinfo=h.coerceHoverinfo,u.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,u.validate=h.validate;var d=t("./dates");u.dateTime2ms=d.dateTime2ms,u.isDateTime=d.isDateTime,u.ms2DateTime=d.ms2DateTime,u.ms2DateTimeLocal=d.ms2DateTimeLocal,u.cleanDate=d.cleanDate,u.isJSDate=d.isJSDate,u.formatDate=d.formatDate,u.incrementMonth=d.incrementMonth,u.dateTick0=d.dateTick0,u.dfltRange=d.dfltRange,u.findExactDates=d.findExactDates,u.MIN_MS=d.MIN_MS,u.MAX_MS=d.MAX_MS;var p=t("./search");u.findBin=p.findBin,u.sorterAsc=p.sorterAsc,u.sorterDes=p.sorterDes,u.distinctVals=p.distinctVals,u.roundUp=p.roundUp,u.sort=p.sort,u.findIndexOfMin=p.findIndexOfMin;var g=t("./stats");u.aggNums=g.aggNums,u.len=g.len,u.mean=g.mean,u.median=g.median,u.midRange=g.midRange,u.variance=g.variance,u.stdev=g.stdev,u.interp=g.interp;var v=t("./matrix");u.init2dArray=v.init2dArray,u.transposeRagged=v.transposeRagged,u.dot=v.dot,u.translationMatrix=v.translationMatrix,u.rotationMatrix=v.rotationMatrix,u.rotationXYMatrix=v.rotationXYMatrix,u.apply3DTransform=v.apply3DTransform,u.apply2DTransform=v.apply2DTransform,u.apply2DTransform2=v.apply2DTransform2,u.convertCssMatrix=v.convertCssMatrix,u.inverseTransformMatrix=v.inverseTransformMatrix;var m=t("./angles");u.deg2rad=m.deg2rad,u.rad2deg=m.rad2deg,u.angleDelta=m.angleDelta,u.angleDist=m.angleDist,u.isFullCircle=m.isFullCircle,u.isAngleInsideSector=m.isAngleInsideSector,u.isPtInsideSector=m.isPtInsideSector,u.pathArc=m.pathArc,u.pathSector=m.pathSector,u.pathAnnulus=m.pathAnnulus;var y=t("./anchor_utils");u.isLeftAnchor=y.isLeftAnchor,u.isCenterAnchor=y.isCenterAnchor,u.isRightAnchor=y.isRightAnchor,u.isTopAnchor=y.isTopAnchor,u.isMiddleAnchor=y.isMiddleAnchor,u.isBottomAnchor=y.isBottomAnchor;var b=t("./geometry2d");u.segmentsIntersect=b.segmentsIntersect,u.segmentDistance=b.segmentDistance,u.getTextLocation=b.getTextLocation,u.clearLocationCache=b.clearLocationCache,u.getVisibleSegment=b.getVisibleSegment,u.findPointOnPath=b.findPointOnPath;var x=t("./extend");u.extendFlat=x.extendFlat,u.extendDeep=x.extendDeep,u.extendDeepAll=x.extendDeepAll,u.extendDeepNoArrays=x.extendDeepNoArrays;var _=t("./loggers");u.log=_.log,u.warn=_.warn,u.error=_.error;var w=t("./regex");u.counterRegex=w.counter;var M=t("./throttle");u.throttle=M.throttle,u.throttleDone=M.done,u.clearThrottle=M.clear;var T=t("./dom");function A(t){var e={};for(var r in t)for(var n=t[r],i=0;is?l:a(t)?Number(t):l:l},u.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},u.noop=t("./noop"),u.identity=t("./identity"),u.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},u.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},u.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(u.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},u.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},u.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},u.syncOrAsync=function(t,e,r){var n;function i(){return u.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,u.promiseError);return r&&r(e)},u.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},u.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},u.fillArray=function(t,e,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var O=/^\w*$/;u.templateString=function(t,e){var r={};return t.replace(u.TEMPLATE_STRING_REGEX,(function(t,n){var i;return O.test(n)?i=e[n]:(r[n]=r[n]||u.nestedProperty(e,n).get,i=r[n]()),u.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=function(){return I.apply(R,arguments)};var P={max:10,count:0,name:"texttemplate"};u.texttemplateString=function(){return I.apply(P,arguments)};var z=/^[:|\|]/;function I(t,e,r){var a=this,o=arguments;e||(e={});var s={};return t.replace(u.TEMPLATE_STRING_REGEX,(function(t,l,c){var f,h,d,p;for(d=3;d=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var D=2e9;u.seedPseudoRandom=function(){D=2e9},u.pseudoRandom=function(){var t=D;return D=(69069*D+1)%4294967296,Math.abs(D-t)<429496729?u.pseudoRandom():D/4294967296},u.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=u.extractOption(t,e,"htx","hovertext");if(u.isValidTextValue(i))return n(i);var a=u.extractOption(t,e,"tx","text");return u.isValidTextValue(a)?n(a):void 0},u.isValidTextValue=function(t){return t||0===t},u.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(c=1):c=0,u.strTranslate(i-c*(r+o),a-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},u.ensureUniformFontSize=function(t,e){var r=u.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},u.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)}},{"../constants/numerical":502,"./anchor_utils":507,"./angles":508,"./array":509,"./clean_number":510,"./clear_responsive":512,"./coerce":513,"./dates":514,"./dom":515,"./extend":517,"./filter_unique":518,"./filter_visible":519,"./geometry2d":520,"./identity":522,"./increment":523,"./is_plain_object":525,"./keyed_container":526,"./localize":527,"./loggers":528,"./make_trace_groups":529,"./matrix":530,"./mod":531,"./nested_property":532,"./noop":533,"./notifier":534,"./preserve_drawing_buffer":537,"./push_unique":538,"./regex":540,"./relative_attr":541,"./relink_private":542,"./search":543,"./stats":546,"./throttle":549,"./to_log_range":550,d3:82,"d3-time-format":80,"fast-isnumeric":91}],525:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],526:[function(t,e,r){"use strict";var n=t("./nested_property"),i=/^\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},{"../plot_api/plot_config":559,"./notifier":534}],529:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},{d3:82}],530:[function(t,e,r){"use strict";var n=t("gl-mat4");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},{}],532:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us)&&(!e||!l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,d,p,g=r.length,v=r[0][0],m=r[0][1],y=0;for(c=1;cMath.max(f,v)||u>Math.max(h,m)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":502,"./matrix":530}],537:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("is-mobile");e.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;"undefined"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}}return r}},{"fast-isnumeric":91,"is-mobile":277}],538:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,o,f=0,h=e.length,d=0,p=h>1?(e[h-1]-e[0])/(h-1):1;for(o=p>=0?r?s:l:r?c:u,t+=1e-9*p*(r?-1:1)*(p>=0?1:-1);f90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t,e){var n,i=(e||{}).unitMinDiff,a=t.slice();for(a.sort(r.sorterAsc),n=a.length-1;n>-1&&a[n]===o;n--);var s=1;i||(s=a[n]-a[0]||1);for(var l,u=s/(n||1)/1e4,c=[],f=0;f<=n;f++){var h=a[f],d=h-l;void 0===l?(c.push(h),l=h):d>u&&(s=Math.min(s,d),c.push(h),l=h)}return{vals:c,minDiff:s}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":509,"fast-isnumeric":91}],547:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":62}],548:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=i.strTranslate,o=t("../constants/xmlns_namespaces"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var u=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,k){var E=t.text(),S=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&E.match(u),C=n.select(t.node().parentNode);if(!C.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",C.selectAll("svg."+O).remove(),C.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":E,"data-math":"N"}),S?(e&&e._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l;MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),(function(){var r="math-output-"+i.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(f,"\\gt ")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())i.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(S[2],o,(function(n,i,o){C.selectAll("svg."+O).remove(),C.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return R(),void e();var u=C.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":E,"data-math":"Y"});u.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild),s.attr({class:O,height:o.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",f=s.select("g");f.attr({fill:c,stroke:c});var h=l(f,"width"),d=l(f,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],g=-(r||l(t,"height"))/4;"y"===O[0]?(u.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+")"+a(-h/2,g-d/2)}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===O[0]?s.attr({x:t.attr("x"),y:g-d/2}):"a"===O[0]&&0!==O.indexOf("atitle")?s.attr({x:0,y:g}):s.attr({x:p,y:+t.attr("y")+g-d/2}),k&&k.call(t,u),e(u)}))}))):R(),t}function R(){C.empty()||(O=t.attr("class")+"-math",C.select("svg."+O).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var S=e.split(m),C=0;C|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},d={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;r.BR_TAG_ALL=//gi;var x=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,M=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var A=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(m),o=[],s="",l=0,u=0;ui?o.push(c.substr(0,p-i)+"..."):o.push(c.substr(0,p));break}s=""}}return o.join("")};var k={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):k[e])||t}))}function S(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}r.convertEntities=L,r.sanitizeHTML=function(t){t=t.replace(v," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],550:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":91}],551:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],552:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],553:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),p(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=x(e);r;){if(r in t)return!0;r=x(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(u(y))e.set(null);else{if(!Array.isArray(y))return a.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(v,m),d(t),!0)}var b,x,_,w,M,T,A,k,E=Object.keys(r).map(Number).sort(o),L=e.get(),S=L||[],C=c(m,f).get(),O=[],R=-1,P=S.length;for(b=0;bS.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==T)M.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(T)?O.push(_):A?("add"===T&&(T={}),S.splice(_,0,T),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,T),-1===R&&(R=_);else for(x=0;x=0;b--)S.splice(O[b],1),C&&C.splice(O[b],1);if(S.length?L||e.set(S):e.set(null),g)return!1;if(h(v,m),p!==i){var z;if(-1===R)z=E;else{for(P=Math.max(S.length,P),z=[],b=0;b=R);b++)z.push(_);for(b=R;b=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),P(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&P(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var a in P(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),d=[];for(var p in Array.isArray(r)||(r=[r]),r=R(r,t.data.length-1),e)for(var g=0;g-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function H(t,e,r){if(t=o.getGraphDiv(t),M.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(T.layoutReplot):Object.keys(n).length&&(q(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(T.doLegend),a.layoutstyle&&s.push(T.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(T.doTicksRelayout),a.modebar&&s.push(T.doModeBar),a.camera&&s.push(T.doCamera),a.colorbars&&s.push(T.doColorBars),s.push(L)),s.push(h.rehover,h.redrag),u.add(t,H,[t,i.undoit],H,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function q(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var u in l._matchGroup)if(u!==a){var c=n[p.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[],n=!0;for(var i in e){var a=p.getFromId(t,i);if(r.push(i),-1!==(a.ticklabelposition||"").indexOf("inside")&&a._anchorAxis&&r.push(a._anchorAxis._id),a._matchGroup)for(var o in a._matchGroup)e[o]||r.push(o);a.automargin&&(n=!1)}return p.draw(t,r,{skipTitle:n})}:function(t){return p.draw(t,"redraw")};t.push(x,T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}var X=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,W=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=j(l._preGUI,u),d=Object.keys(e),g=p.list(t),v=o.extendDeepAll({},e),m={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof P.parts[I];)I--;var D=P.parts[I],N=P.parts[I-1]+"."+D,B=P.parts.slice(0,I).join("."),U=s(t.layout,B).get(),H=s(l,B).get(),q=P.get();if(void 0!==z){T[R]=z,E[R]="reverse"===D?z:F(q);var G=f.getLayoutValObject(l,P.parts);if(G&&G.impliedEdits&&null!==z)for(var Z in G.impliedEdits)L(o.relativeAttr(R,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(R))if(z){L("autosize",null);var K="height"===R?"width":"height";L(K,l[K])}else l[R]=t._initialAutoSize[R];else if("autosize"===R)L("width",z?null:l.width),L("height",z?null:l.height);else if(N.match(X))O(N),s(l,B+"._inputRange").set(null);else if(N.match(Y)){O(N),s(l,B+"._inputRange").set(null);var J=s(l,B).get();J._inputDomain&&(J._input.domain=J._inputDomain.slice())}else N.match(W)&&s(l,B+"._inputDomain").set(null);if("type"===D){S=U;var $="linear"===H.type&&"log"===z,tt="log"===H.type&&"linear"===z;if($||tt){if(S&&S.range)if(H.autorange)$&&(S.range=S.range[1]>S.range[0]?[1,2]:[2,1]);else{var et=S.range[0],rt=S.range[1];$?(et<=0&&rt<=0&&L(B+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),L(B+".range[0]",Math.log(et)/Math.LN10),L(B+".range[1]",Math.log(rt)/Math.LN10)):(L(B+".range[0]",Math.pow(10,et)),L(B+".range[1]",Math.pow(10,rt)))}else L(B+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[P.parts[0]]&&"radialaxis"===P.parts[1]&&delete l[P.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,H,z,L),c.getComponentMethod("images","convertCoords")(t,H,z,L)}else L(B+".autorange",!0),L(B+".range",null);s(l,B+"._inputRange").set(null)}else if(D.match(k)){var nt=s(l,R).get(),it=(z||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,L),c.getComponentMethod("images","convertCoords")(t,nt,it,L)}var at=w.containerArrayMatch(R);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(z)?E[R]=null:w.isRemoveVal(z)?E[R]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),m[r]||(m[r]={});var lt=m[r][n];lt||(lt=m[r][n]={}),lt[ot]=z,delete e[R]}else"reverse"===D?(U.range?U.range.reverse():(L(B+".autorange",!0),U.range=[1,0]),H.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===R&&("lasso"===z||"select"===z)&&"lasso"!==q&&"select"!==q||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,P.set(z))}}for(r in m){w.applyContainerArrayChanges(t,h(a,r),m[r],_,h)||(_.plot=!0)}for(var ut in C){var ct=(S=p.getFromId(t,ut))&&S._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(Q(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:C,undoit:E,redoit:T,eventData:v}}function Q(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function K(t,e,n,i){if(t=o.getGraphDiv(t),M.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=M.coerceTraceIndices(t,i),s=U(t,o.extendFlat({},e),a),l=s.flags,c=Z(t,o.extendFlat({},n)),f=c.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&M.clearAxisTypes(t,a,n);var d=[];f.layoutReplot?d.push(T.layoutReplot):l.fullReplot?d.push(r.plot):(d.push(h.previousPromises),q(t,f,c)||h.supplyDefaults(t),l.style&&d.push(T.doTraceStyle),(l.colorbars||f.colorbars)&&d.push(T.doColorBars),f.legend&&d.push(T.doLegend),f.layoutstyle&&d.push(T.layoutStyles),f.axrange&&G(d,c.rangesAltered),f.ticks&&d.push(T.doTicksRelayout),f.modebar&&d.push(T.doModeBar),f.camera&&d.push(T.doCamera),d.push(L)),d.push(h.rehover,h.redrag),u.add(t,K,[t,s.undoit,c.undoit,s.traces],K,[t,s.redoit,c.redoit,s.traces]);var p=o.syncOrAsync(d,t);return p&&p.then||(p=Promise.resolve(t)),p.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:c.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var $=[{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"}],tt=[{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 et(t,e){for(var r=0;r1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,M.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function d(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var p,g,v=0;function m(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],b=null==e,x=Array.isArray(e);if(!b&&!x&&o.isPlainObject(e))y.push({type:"object",data:m(o.extendFlat({},e))});else if(b||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&TT)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(c[g]||p[g]||{}).name,m=e[n].name,y=c[v]||p[v];v&&m&&"number"==typeof m&&y&&E<5&&(E++,o.warn('addFrames: overwriting frame "'+(c[v]||p[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===E&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),p[g]={name:g},d.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}d.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=d[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],d=[t,a];return u&&u.add(t,l,f,c,d),h.modifyFrames(t,a)},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,l=[],c=r.deleteTraces,f=t,h=[e,l],d=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return x(i,e,s)},r.getLayoutValObject=function(t,e){return x(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{"../lib":524,"../plots/attributes":568}],562:[function(t,e,r){"use strict";var n=t("d3"),i=t("../registry"),a=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),u=t("../components/drawing"),c=t("../components/titles"),f=t("../components/modebar"),h=t("../plots/cartesian/axes"),d=t("../constants/alignment"),p=t("../plots/cartesian/constraints"),g=p.enforce,v=p.clean,m=t("../plots/cartesian/autorange").doAutoRange;function y(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&(a[0]e[0]))return!0}return!1}function b(t){var e,i,s,c,p,g,v=t._fullLayout,m=v._size,b=m.p,_=h.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(u.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!v._has("cartesian"))return a.previousPromises(t);function M(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-b-n:e._offset+e._length+b+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+b+n:e._offset-b-n:m.l+m.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var T=(c=_[e])._anchorAxis;c._linepositions={},c._lw=u.crispRound(t,c.linewidth,1),c._mainLinePosition=M(c,T,c.side),c._mainMirrorPosition=c.mirror&&T?M(c,T,d.OPPOSITE_SIDE[c.side]):null}var A=[],k=[],E=[],L=1===l.opacity(v.paper_bgcolor)&&1===l.opacity(v.plot_bgcolor)&&v.paper_bgcolor===v.plot_bgcolor;for(i in v._plots)if((s=v._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var S=s.xaxis.domain,C=s.yaxis.domain,O=s.plotgroup;if(y(S,C,E)){var R=O.node(),P=s.bg=o.ensureSingle(O,"rect","bg");R.insertBefore(P.node(),R.childNodes[0]),k.push(i)}else O.select("rect.bg").remove(),E.push([S,C]),L||(A.push(i),k.push(i))}var z,I,D,N,F,j,B,U,V,H,q,G,X,Y=v._bgLayer.selectAll(".bg").data(A);for(Y.enter().append("rect").classed("bg",!0),Y.exit().remove(),Y.each((function(t){v._plots[t].bg=n.select(this)})),e=0;eM?c.push({code:"unused",traceType:y,templateCount:w,dataCount:M}):M>w&&c.push({code:"reused",traceType:y,templateCount:w,dataCount:M})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=g(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&v(a)&&t(a,o)}}({data:d,layout:h},""),c.length)return c.map(m)}},{"../lib":524,"../plots/attributes":568,"../plots/plots":617,"./plot_config":559,"./plot_schema":560,"./plot_template":561}],564:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./plot_api"),a=t("../plots/plots"),o=t("../lib"),s=t("../snapshot/helpers"),l=t("../snapshot/tosvg"),u=t("../snapshot/svgtoimg"),c=t("../version").version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,h,d,p;function g(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},d=t.config||{},p={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),d=t._context,p=t._fullLayout||{}),!g("width")&&null!==e.width||!g("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!g("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var v={};function m(t,r){return o.coerce(e,v,f,t,r)}var y=m("format"),b=m("width"),x=m("height"),_=m("scale"),w=m("setBackground"),M=m("imageDataOnly"),T=document.createElement("div");T.style.position="absolute",T.style.left="-5000px",document.body.appendChild(T);var A=o.extendFlat({},h);b?A.width=b:null===e.width&&n(p.width)&&(A.width=p.width),x?A.height=x:null===e.height&&n(p.height)&&(A.height=p.height);var k=o.extendFlat({},d,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),E=s.getRedrawFunc(T);function L(){return new Promise((function(t){setTimeout(t,s.getDelay(T._fullLayout))}))}function S(){return new Promise((function(t,e){var r=l(T,y,_),n=T._fullLayout.width,f=T._fullLayout.height;function h(){i.purge(T),document.body.removeChild(T)}if("full-json"===y){var d=a.graphJson(T,!1,"keepdata","object",!0,!0);return d.version=c,d=JSON.stringify(d),h(),t(M?d:s.encodeJSON(d))}if(h(),"svg"===y)return t(M?r:s.encodeSVG(r));var p=document.createElement("canvas");p.id=o.randstr(),u({format:y,width:n,height:f,scale:_,canvas:p,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.plot(T,r,A,k).then(E).then(L).then(S).then((function(e){t(function(t){return M?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},{"../lib":524,"../plots/plots":617,"../snapshot/helpers":630,"../snapshot/svgtoimg":632,"../snapshot/tosvg":634,"../version":703,"./plot_api":558,"fast-isnumeric":91}],565:[function(t,e,r){"use strict";var n=t("../lib"),i=t("../plots/plots"),a=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hb.length&&i.push(p("unused",a,m.concat(b.length)));var A,k,E,L,S,C=b.length,O=Array.isArray(T);if(O&&(C=Math.min(C,T.length)),2===x.dimensions)for(k=0;kb[k].length&&i.push(p("unused",a,m.concat(k,b[k].length)));var R=b[k].length;for(A=0;A<(O?Math.min(R,T[k].length):R);A++)E=O?T[k][A]:T,L=y[k][A],S=b[k][A],n.validate(L,E)?S!==L&&S!==+L&&i.push(p("dynamic",a,m.concat(k,A),L,S)):i.push(p("value",a,m.concat(k,A),L))}else i.push(p("array",a,m.concat(k),y[k]));else for(k=0;k1&&d.push(p("object","layout"))),i.supplyDefaults(g);for(var v=g._fullData,m=r.length,y=0;y0&&Math.round(f)===f))return i;u=f}for(var h=e.calendar,d="start"===l,p="end"===l,g=t[r+"period0"],v=a(g,h)||0,m=[],y=i.length,b=0;bM;)w=o(w,-u,h);for(;w<=M;)w=o(w,u,h);_=o(w,-u,h)}else{for(w=v+(x=Math.round((M-v)/c))*c;w>M;)w-=c;for(;w<=M;)w+=c;_=w-c}m[b]=d?_:p?w:(_+w)/2}return m}},{"../../constants/numerical":502,"../../lib":524,"fast-isnumeric":91}],570:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],571:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=t("../../constants/numerical").FP_SAFE,o=t("../../registry"),s=t("./axis_ids"),l=s.getFromId,u=s.isLinked;function c(t,e){var r,n,a=[],o=t._fullLayout,s=h(o,e,0),l=h(o,e,1),u=d(t,e),c=u.min,p=u.max;if(0===c.length||0===p.length)return i.simpleMap(e.range,e.r2l);var g=c[0].val,v=p[0].val;for(r=1;r0&&((M=L-s(b)-l(x))>S?T/M>C&&(_=b,w=x,C=T/M):T/L>C&&(_={val:b.val,nopad:1},w={val:x.val,nopad:1},C=T/L));if(g===v){var O=g-1,R=g+1;if(k)if(0===g)a=[0,1];else{var P=(g>0?p:c).reduce((function(t,e){return Math.max(t,l(e))}),0),z=g/(1-Math.min(.5,P/L));a=g>0?[0,z]:[z,0]}else a=E?[Math.max(0,O),Math.max(1,R)]:[O,R]}else k?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):E&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-f(e,b.val,x.val))/(L-s(_)-l(w)),a=[_.val-C*s(_),w.val+C*l(w)];return m&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function f(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),E=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),L=A(r.vpadplus||r.vpad),S=A(r.vpadminus||r.vpad);if(!M){if(h=1/0,d=-1/0,w)for(i=0;i0&&(h=o),o>d&&o-a&&(h=o),o>d&&o=R;i--)O(i);return{min:v,max:y,opts:r}},concatExtremes:d};function d(t,e,r){var n,i,a,o=e._id,s=t._fullData,u=t._fullLayout,c=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function m(t){return n(t)&&Math.abs(t)=e}},{"../../constants/numerical":502,"../../lib":524,"../../registry":626,"./axis_ids":575,"fast-isnumeric":91}],572:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,u=t("../../lib/svg_text_utils"),c=t("../../components/titles"),f=t("../../components/color"),h=t("../../components/drawing"),d=t("./layout_attributes"),p=t("./clean_ticks"),g=t("../../constants/numerical"),v=g.ONEMAXYEAR,m=g.ONEAVGYEAR,y=g.ONEMINYEAR,b=g.ONEMAXQUARTER,x=g.ONEAVGQUARTER,_=g.ONEMINQUARTER,w=g.ONEMAXMONTH,M=g.ONEAVGMONTH,T=g.ONEMINMONTH,A=g.ONEWEEK,k=g.ONEDAY,E=k/2,L=g.ONEHOUR,S=g.ONEMIN,C=g.ONESEC,O=g.MINUS_SIGN,R=g.BADNUM,P=t("../../constants/alignment"),z=P.MID_SHIFT,I=P.CAP_SHIFT,D=P.LINE_SPACING,N=P.OPPOSITE_SIDE,F=e.exports={};F.setConvert=t("./set_convert");var j=t("./axis_autotype"),B=t("./axis_ids"),U=B.idSort,V=B.isLinked;F.id2name=B.id2name,F.name2id=B.name2id,F.cleanId=B.cleanId,F.list=B.list,F.listIds=B.listIds,F.getFromId=B.getFromId,F.getFromTrace=B.getFromTrace;var H=t("./autorange");F.getAutoRange=H.getAutoRange,F.findExtremes=H.findExtremes;function q(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}F.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},F.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},F.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==F.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=F.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},F.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:F.getFromId(e,r).cleanPos)(t)},F.redrawComponents=function(t,e){e=e||F.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;c2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},F.saveRangeInitial=function(t,e){for(var r=F.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var d=r.dtick/2;t+=t+d.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=F.tickIncrement(t,"M6","reverse")+1.5*k:a.exactMonths>.8?t=F.tickIncrement(t,"M1","reverse")+15.5*k:t-=E;var l=F.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,m,u,a)),v=y,0;v<=c;)v=F.tickIncrement(v,m,!1,a);return{start:e.c2r(y,0,a),end:e.c2r(v,0,a),size:m,_dataSpan:c-u}},F.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(t._dtickInit=t.dtick,t._tick0Init=t.tick0,"auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,F.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=F.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=L,o&&!n&&t.dticka&&f=o:d<=o;d=F.tickIncrement(d,t.dtick,l,t.calendar)){if(t.rangebreaks&&!l){if(d=c)break}if(S.length>g||d===C)break;C=d;var O=!1;f&&d!==(0|d)&&(O=!0),S.push({minor:O,value:d})}if(h&&function(t,e,r){for(var n=0;n0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=y?h=c>=y&&c<=v?c:m:r===x&&f>=_?h=c>=_&&c<=b?c:x:f>=T?h=c>=T&&c<=w?c:M:r===A&&f>=A?h=A:f>=k?h=k:r===E&&f>=E?h=E:r===L&&f>=L&&(h=L),h>=c&&(h=c,s=!0);var d=i+h;if(e.rangebreaks&&h>0){for(var p=0,g=0;g<84;g++){var S=(g+.5)/84;e.maskBreaks(i*(1-S)+S*d)!==R&&p++}(h*=p/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(S,t,t._definedDelta),t.rangebreaks){var P="y"===t._id.charAt(0),z=1;"auto"===t.tickmode&&(z=t.tickfont?t.tickfont.size:12);var I=NaN;for(p=S.length-1;p>-1;p--)if(S[p].drop)S.splice(p,1);else{S[p].value=wt(S[p].value,t);var D=t.c2p(S[p].value);(P?I>D-z:Ic||jc&&(N.periodX=c),j10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=k&&a<=10||e>=15*k)t._tickround="d";else if(e>=S&&a<=16||e>=L)t._tickround="M";else if(e>=C&&a<=19||e>=S)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(ot(t.exponentformat)&&!st(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function it(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}F.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var a=2*e;if(a>m)e/=m,r=n(10),t.dtick="M"+12*rt(e,r,Z);else if(a>M)e/=M,t.dtick="M"+rt(e,1,Q);else if(a>k){t.dtick=rt(e,k,t._hasDayOfWeekBreaks?[1,2,7,14]:J);var o=F.getTickFormat(t),l="period"===t.ticklabelmode;l&&(t._rawTick0=t.tick0),/%[uVW]/.test(o)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),l&&(t._dowTick0=t.tick0)}else a>L?t.dtick=rt(e,L,Q):a>S?t.dtick=rt(e,S,K):a>C?t.dtick=rt(e,C,K):(r=n(10),t.dtick=rt(e,r,Z))}else if("log"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var c=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/c,r=n(10),t.dtick="L"+rt(e,r,Z)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):_t(t)?(t.tick0=0,r=1,t.dtick=rt(e,r,et)):(t.tick0=0,r=n(10),t.dtick=rt(e,r,Z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},F.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?tt:$,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},F.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1] ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);"never"===a&&(a="");n&&"L"!==c&&(o="L3",c="L");if(u||"L"===c)e.text=lt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),d=t.exponentformat;"power"===d||ot(d)&&st(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":O)+h+"",e.fontSize*=1.25):("e"===d||"E"===d)&&h>2?e.text="1"+d+(f>0?"+":O)+h:(e.text=lt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var p=String(e.text).charAt(0);"0"!==p&&"1"!==p||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):_t(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=lt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=lt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=O+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=lt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},F.hoverLabelText=function(t,e,r){if(r!==R&&r!==e)return F.hoverLabelText(t,e)+" - "+F.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=F.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":O+i:i};var at=["f","p","n","\u03bc","m","","k","M","G","T"];function ot(t){return"SI"===t||"B"===t}function st(t){return t>14||t<-15}function lt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=F.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};nt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,O);var d,p=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+d+"":"B"===l&&9===u?t+="B":ot(l)&&(t+=at[u/3+5]));return a?O+t:t}function ut(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1];if("x"===p){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),d.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),d.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var b=e._offset-r.top;b>0&&(n.yt=1,n.t=b)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==u._dfltTitle[p]&&(n[l]+=ht(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[c]+=h),!0===e.mirror||"ticks"===e.mirror?i[g]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[g]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),a.autoMargin(t,gt(e),n),a.autoMargin(t,vt(e),i),a.autoMargin(t,mt(e),s)})),r.skipTitle||K&&"bottom"===e.side||Z.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+ht(e);else{var s=-1!==(e.ticklabelposition||"").indexOf("inside");if("multicategory"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,"outside"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+="x"===a?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var u,f,d,p,g=F.getPxPosition(t,e);"x"===a?(f=e._offset+e._length/2,d="top"===e.side?g-r:g+r):(d=e._offset+e._length/2,f="right"===e.side?g+r:g-r,u={rotate:"-90",offset:0});if("multicategory"!==e.type){var v=e._selections[e._id+"tick"];if(p={selection:v,side:e.side},v&&v.node()&&v.node().parentNode){var m=h.getTranslate(v.node().parentNode);p.offsetLeft=m.x,p.offsetTop=m.y}e.title.hasOwnProperty("standoff")&&(p.pad=0)}return c.draw(t,i+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[a],avoid:p,transform:u,attributes:{x:f,y:d,"text-anchor":"middle"}})}(t,e)})),s.syncOrAsync(Z)}}function J(t){var r=d+(t||"tick");return w[r]||(w[r]=function(t,e){var r,n,i,a;t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=pt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0);return{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),w[r]}},F.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,i=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(i=i.map((function(t){return-t}))),t.side&&i.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),i},F.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},F.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(c+=h*I,f+=(t.linewidth||0)/2);(i||a)&&(c+=(t.linewidth||0)/2,f+=3);s&&"top"===u&&(f-=h*(1-I));(i||n)&&(c=-c);"bottom"!==u&&"right"!==u||(f=-f);return[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(ct(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(ct(e)))}},F.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var i=t._id.charAt(0),a=(t.linewidth||1)/2;return"x"===i?"M0,"+(e+a*r)+"v"+n*r:"M"+(e+a*r)+",0h"+n*r},F.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,d=0,p=0,g=h?t.ticklen:0;if(f?g*=-1:c&&(g=0),h&&(d+=g,r)){var v=s.deg2rad(r);d=g*Math.cos(v)+1,p=g*Math.sin(v)}t.showticklabels&&(h||t.showline)&&(d+=.2*t.tickfont.size);var m,y,b,x,_,w={labelStandoff:d+=(t.linewidth||1)/2*(f?-1:1),labelShift:p},M=0,T=t.side,A=t._id.charAt(0),k=t.tickangle;if("x"===A)x=(_=!f&&"bottom"===T||f&&"top"===T)?1:-1,f&&(x*=-1),m=p*x,y=e+d*x,b=_?1:-.2,90===Math.abs(k)&&(f?b+=z:b=-90===k&&"bottom"===T?I:90===k&&"top"===T?z:.5,M=z/2*(k/90)),w.xFn=function(t){return t.dx+m+M*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*b},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*x<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(x=(_=!f&&"left"===T||f&&"right"===T)?1:-1,f&&(x*=-1),m=d,y=p*x,b=0,f||90!==Math.abs(k)||(b=-90===k&&"left"===T||90===k&&"right"===T?I:.5),f){var E=i(k)?+k:0;if(0!==E){var L=s.deg2rad(E);M=Math.abs(Math.sin(L))*I*x,b=0}}w.xFn=function(t){return t.dx+e-(m+t.fontSize*b)*x+M*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*z},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},F.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",i=r.vals;"period"===e.ticklabelmode&&(i=i.slice()).shift();var a=r.layer.selectAll("path."+n).data(e.ticks?i:[],ft);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(f.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},F.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",i=r.vals,a=r.counterAxis;if(!1===e.showgrid)i=[];else if(a&&F.shouldShowZeroLine(t,e,a))for(var o="array"===e.tickmode,s=0;so||i.lefto||i.top+(e.tickangle?0:t.fontSize/4)1)for(n=1;n2*o}(i,e))return"date";var v="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,v)?"category":function(t,e){for(var r=t.length,n=0;n=2){var l,u,c="";if(2===o.length)for(l=0;l<2;l++)if(u=y(o[l])){c=p;break}var f=i("pattern",c);if(f===p)for(l=0;l<2;l++)(u=y(o[l]))&&(e.bounds[l]=o[l]=u-1);if(f)for(l=0;l<2;l++)switch(u=o[l],f){case p:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=u;break;case g:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[l]=o[l]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},r.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},{"../../registry":626,"./constants":578}],576:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function v(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*b)||M)for(r=0;rP&&NO&&(O=N);h/=(O-C)/(2*R),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=E=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function F(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(e,r)).attr("d","M0,0Z")}function B(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),U(t,e,i,a)}function U(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function V(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){O&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),O=!1)}function q(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,C)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function G(t,e,r,n,i){for(var a,o,l,u,c=!1,f={},h={},d=(i||{}).xaHash,p=(i||{}).yaHash,g=0;g=0)i._fullLayout._deactivateShape(i);else{var a=i._fullLayout.clickmode;if(V(i),2!==t||vt||Ht(),gt)a.indexOf("select")>-1&&k(r,i,Z,Q,e.id,Ct),a.indexOf("event")>-1&&h.click(i,r,e.id);else if(1===t&&vt){var s=p?R:O,l="s"===p||"w"===v?0:1,c=s._name+".range["+l+"]",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return"date"===t.type?i:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format("."+String(r)+"g")(i))}(s,l),d="left",g="middle";if(s.fixedrange)return;p?(g="n"===p?"top":"bottom","right"===s.side&&(d="right")):"e"===v&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&o.call("_guiRelayout",i,c,e)}))}}}function Pt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,ht*e+xt)),i=Math.max(0,Math.min(tt,dt*r+_t)),a=Math.abs(n-xt),o=Math.abs(i-_t);function s(){kt="",wt.r=wt.l,wt.t=wt.b,Lt.attr("d","M0,0Z")}if(wt.l=Math.min(xt,n),wt.r=Math.max(xt,n),wt.t=Math.min(_t,i),wt.b=Math.max(_t,i),et.isSubplotConstrained)a>C||o>C?(kt="xy",a/$>o/tt?(o=a*tt/$,_t>i?wt.t=_t-o:wt.b=_t+o):(a=o*$/tt,xt>n?wt.l=xt-a:wt.r=xt+a),Lt.attr("d",q(wt))):s();else if(rt.isSubplotConstrained)if(a>C||o>C){kt="xy";var l=Math.min(wt.l/$,(tt-wt.b)/tt),u=Math.max(wt.r/$,(tt-wt.t)/tt);wt.l=l*$,wt.r=u*$,wt.b=(1-l)*tt,wt.t=(1-u)*tt,Lt.attr("d",q(wt))}else s();else!it||o0){var c;if(rt.isSubplotConstrained||!nt&&1===it.length){for(c=0;cg[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":524,"fast-isnumeric":91}],590:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},{"../../constants/alignment":496}],591:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/drawing").dashStyle,o=t("../../components/color"),s=t("../../components/fx"),l=t("../../components/fx/helpers").makeEventData,u=t("../../components/dragelement/helpers"),c=u.freeMode,f=u.rectMode,h=u.drawMode,d=u.openMode,p=u.selectMode,g=t("../../components/shapes/draw_newshape/display_outlines"),v=t("../../components/shapes/draw_newshape/helpers").handleEllipse,m=t("../../components/shapes/draw_newshape/newshapes"),y=t("../../lib"),b=t("../../lib/polygon"),x=t("../../lib/throttle"),_=t("./axis_ids").getFromId,w=t("../../lib/clear_gl_canvases"),M=t("../../plot_api/subroutines").redrawReglTraces,T=t("./constants"),A=T.MINSELECT,k=b.filter,E=b.tester,L=t("./handle_outline").clearSelect,S=t("./helpers"),C=S.p2r,O=S.axValue,R=S.getTransform;function P(t,e,r,n,i,a,o){var s,l,u,c,f,h,p,v,m,y=e._hoverdata,b=e._fullLayout.clickmode.indexOf("event")>-1,x=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){N(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=B(_))){for(o&&o.remove(),m=0;m=0&&n._fullLayout._deactivateShape(n),h(e)){var a=n._fullLayout._zoomlayer.selectAll(".select-outline-"+r.id);if(a&&n._fullLayout._drawing){var o=m(a,t);o&&i.call("_guiRelayout",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function j(t,e,r,n){var i,a,o,s=[],l=e.map((function(t){return t._id})),u=r.map((function(t){return t._id}));for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function U(t,e,r){var n,a,o,s;for(n=0;n=0)S._fullLayout._deactivateShape(S);else if(!_){var r=z.clickmode;x.done(gt).then((function(){if(x.clear(gt),2===t){for(ft.remove(),$=0;$-1&&P(e,S,i.xaxes,i.yaxes,i.subplot,i,ft),"event"===r&&S.emit("plotly_selected",void 0);s.click(S,e)})).catch(y.error)}},i.doneFn=function(){pt.remove(),x.done(gt).then((function(){x.clear(gt),i.gd.emit("plotly_selected",et),J&&i.selectionDefs&&(J.subtract=ct,i.selectionDefs.push(J),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,K)),i.doneFnCompleted&&i.doneFnCompleted(vt)})).catch(y.error),_&&F(i)}},clearSelect:L,clearSelectionsCache:F,selectOnClick:P}},{"../../components/color":394,"../../components/dragelement/helpers":412,"../../components/drawing":416,"../../components/fx":434,"../../components/fx/helpers":430,"../../components/shapes/draw_newshape/display_outlines":479,"../../components/shapes/draw_newshape/helpers":480,"../../components/shapes/draw_newshape/newshapes":481,"../../lib":524,"../../lib/clear_gl_canvases":511,"../../lib/polygon":536,"../../lib/throttle":549,"../../plot_api/subroutines":562,"../../registry":626,"./axis_ids":575,"./constants":578,"./handle_outline":582,"./helpers":583,polybooljs:316}],592:[function(t,e,r){"use strict";var n=t("d3"),i=t("d3-time-format").utcFormat,a=t("fast-isnumeric"),o=t("../../lib"),s=o.cleanNumber,l=o.ms2DateTime,u=o.dateTime2ms,c=o.ensureNumber,f=o.isArrayOrTypedArray,h=t("../../constants/numerical"),d=h.FP_SAFE,p=h.BADNUM,g=h.LOG_CLIP,v=h.ONEWEEK,m=h.ONEDAY,y=h.ONEHOUR,b=h.ONEMIN,x=h.ONESEC,_=t("./axis_ids"),w=t("./constants"),M=w.HOUR_PATTERN,T=w.WEEKDAY_PATTERN;function A(t){return Math.pow(10,t)}function k(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return p}function L(e,r,n,i){if((i||{}).msUTC&&a(e))return+e;var s=u(e,n||t.calendar);if(s===p){if(!a(e))return p;e=+e;var l=Math.floor(10*o.mod(e+.05,1)),c=Math.round(e-l/10);s=u(new Date(c))+l/10}return s}function S(e,r,n){return l(e,r,n||t.calendar)}function C(e){return t._categories[Math.round(e)]}function O(e){if(k(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function R(e){if(t._categoriesMap)return t._categoriesMap[e]}function P(t){var e=R(t);return void 0!==e?e:a(t)?+t:void 0}function z(t){return a(t)?+t:R(t)}function I(t,e,r){return n.round(r+e*t,2)}function D(t,e,r){return(t-r)/e}var N=function(e){return a(e)?I(e,t._m,t._b):p},F=function(e){return D(e,t._m,t._b)};if(t.rangebreaks){var j="y"===h;N=function(e){if(!a(e))return p;var r=t._rangebreaks.length;if(!r)return I(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,o=i*e,s=0,l=0;lc)){s=o<(u+c)/2?l:l+1;break}s=l+1}var f=t._B[s]||0;return isFinite(f)?I(e,t._m2,f):0},F=function(e){var r=t._rangebreaks.length;if(!r)return D(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return D(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:c,t.l2c="log"===t.type?A:c,t.l2p=N,t.p2l=F,t.c2p="log"===t.type?function(t,e){return N(E(t,e))}:N,t.p2c="log"===t.type?function(t){return A(F(t))}:F,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=F,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(s(t),e)},t.r2d=t.r2c=function(t){return A(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=c,t.c2r=E,t.l2d=A,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return A(F(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=F,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=S,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return S(F(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=C,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return C(F(t))},t.r2p=t.d2p,t.p2r=F,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=C,t.d2r=t.d2l_noadd=P,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=R,t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return C(F(t))},t.r2p=t.d2p,t.p2r=F,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var i,a,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[_.id2name(u)];s=s.concat(c._traceIndices)}var d=[[0,{}],[0,{}]],p=[];for(i=0;id&&(s[n]=d),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else o.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=_.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(d=!d),d&&t._rangebreaks.reverse();var p=d?-1:1;for(t._m2=p*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,ai&&(i+=24,a=n&&a=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(!function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function v(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,d=[];if(f){var p=a.simpleMap(e.xr0,i.r2l),g=a.simpleMap(e.xr1,i.r2l),v=p[1]-p[0],m=g[1]-g[0];d[0]=(p[0]*(1-r)+r*g[0]-p[0])/(p[1]-p[0])*u,d[2]=u*(1-r+r*m/v),i.range[0]=i.l2r(p[0]*(1-r)+r*g[0]),i.range[1]=i.l2r(p[1]*(1-r)+r*g[1])}else d[0]=0,d[2]=u;if(h){var y=a.simpleMap(e.yr0,l.r2l),b=a.simpleMap(e.yr1,l.r2l),x=y[1]-y[0],_=b[1]-b[0];d[1]=(y[1]*(1-r)+r*b[1]-y[1])/(y[0]-y[1])*c,d[3]=c*(1-r+r*_/x),l.range[0]=i.l2r(y[0]*(1-r)+r*b[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*b[1])}else d[1]=0,d[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/d[2]:1,M=h?c/d[3]:1,T=f?d[0]:0,A=h?d[1]:0,k=f?d[0]/d[2]*u:0,E=h?d[1]/d[3]*c:0,L=i._offset-k,S=l._offset-E;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/M),n.plot.call(o.setTranslate,L,S).call(o.setScale,w,M),o.setPointGroupScale(n.zoomScalePts,1/w,1/M),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/M)}s.redrawComponents(t)}},{"../../components/drawing":416,"../../lib":524,"../../registry":626,"./axes":572,d3:82}],597:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,i=t("./axis_autotype");function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(!u)return;if("histogram"===u.type&&l==={v:"y",h:"x"}[u.orientation||"v"])return void(t.type="linear");var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};"box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(u,l)){var d=a(u),p=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(u)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f.999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":394,"../../../lib":524,"../../../registry":626,"../../get_data":602,"../../subplot_defaults":624,"./axis_defaults":606,"./layout_attributes":609}],609:[function(t,e,r){"use strict";var n=t("./axis_attributes"),i=t("../../domain").attributes,a=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],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"}}}},{"../../../lib":524,"../../../lib/extend":517,"../../domain":599,"./axis_attributes":605}],610:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{"../../../lib/str2rgbarray":547}],611:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var d=n.calcTicks(c,{msUTC:!0}),p=0;p/g," "));l[u]=d,c.tickmode=f}}e.ticks=l;for(u=0;u<3;++u){o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(p=0;p<2;++p)e.bounds[p][u]=t.glplot.bounds[p][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),x(e),e.glplot.axes.update(e.axesOptions);for(var u,c=Object.keys(e.traces),h=null,g=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(T.valueLabel=d.tickText(e._mockAxis,e._mockAxis.d2l(g.traceCoordinate[3]),"hover").text,L.push("value: "+T.valueLabel),g.textLabel&&L.push(g.textLabel),_=L.join("
")):_=g.textLabel;var S={x:g.traceCoordinate[0],y:g.traceCoordinate[1],z:g.traceCoordinate[2],data:w._input,fullData:w,curveNumber:w.index,pointNumber:M};p.appendArrayPointValue(S,w,M),t._module.eventData&&(S=w._module.eventData(S,g,w,{},M));var C={points:[S]};e.fullSceneLayout.hovermode&&p.loneHover({trace:w,x:(.5+.5*b[0]/b[3])*s,y:(.5-.5*b[1]/b[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:_,name:h.name,color:p.castHoverOption(w,M,"bgcolor")||h.color,borderColor:p.castHoverOption(w,M,"bordercolor"),fontFamily:p.castHoverOption(w,M,"font.family"),fontSize:p.castHoverOption(w,M,"font.size"),fontColor:p.castHoverOption(w,M,"font.color"),nameLength:p.castHoverOption(w,M,"namelength"),textAlign:p.castHoverOption(w,M,"align"),hovertemplate:f.castOption(w,M,"hovertemplate"),hovertemplateLabels:f.extendFlat({},S,T),eventData:[S]},{container:n,gd:r}),g.buttons&&g.distance<5?r.emit("plotly_click",C):r.emit("plotly_hover",C),u=C}else p.loneUnhover(n),r.emit("plotly_unhover",u);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var T=["xaxis","yaxis","zaxis"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=T[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,d=0;d<(c||l.length);d++)if(f.isArrayOrTypedArray(l[d]))for(var p=0;pv[1][a])v[0][a]=-1,v[1][a]=1;else{var S=v[1][a]-v[0][a];v[0][a]-=S/32,v[1][a]+=S/32}if("reversed"===s.autorange){var C=v[0][a];v[0][a]=v[1][a],v[1][a]=C}}else{var O=s.range;v[0][a]=s.r2l(O[0]),v[1][a]=s.r2l(O[1])}v[0][a]===v[1][a]&&(v[0][a]-=1,v[1][a]+=1),m[a]=v[1][a]-v[0][a],this.glplot.setBounds(a,{min:v[0][a]*h[a],max:v[1][a]*h[a]})}var R=u.aspectmode;if("cube"===R)p=[1,1,1];else if("manual"===R){var P=u.aspectratio;p=[P.x,P.y,P.z]}else{if("auto"!==R&&"data"!==R)throw new Error("scene.js aspectRatio was not one of the enumerated types");var z=[1,1,1];for(a=0;a<3;++a){var I=y[l=(s=u[T[a]]).type];z[a]=Math.pow(I.acc,1/I.count)/h[a]}p="data"===R||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}u.aspectratio.x=c.aspectratio.x=p[0],u.aspectratio.y=c.aspectratio.y=p[1],u.aspectratio.z=c.aspectratio.z=p[2],this.glplot.setAspectratio(u.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=u.aspectmode);var D=u.domain||null,N=e._size||null;if(D&&N){var F=this.container.style;F.position="absolute",F.left=N.l+D.x[0]*N.w+"px",F.top=N.t+(1-D.y[1])*N.h+"px",F.width=N.w*(D.x[1]-D.x[0])+"px",F.height=N.h*(D.y[1]-D.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),"orthographic"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this.fullLayout,l=this.isCameraChanged(t),u=this.isAspectChanged(t),h=l||u;if(h){var d={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+".camera")).get(),d[this.id+".camera"]=n),u&&(i=this.glplot.getAspectratio(),o=(a=f.nestedProperty(t,this.id+".aspectratio")).get(),d[this.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,s._preGUI,d),l)r.set(e),f.nestedProperty(s,this.id+".camera").set(e);if(u)a.set(i),f.nestedProperty(s,this.id+".aspectratio").set(i),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,i=n._fullLayout,a=this.fullSceneLayout.camera,o=a.up.x,s=a.up.y,l=a.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var u=this.id+".camera.up",h={x:0,y:0,z:1},d={};d[u]=h;var p=n.layout;c.call("_storeDirectGUIEdit",p,i._preGUI,d),a.up=h,f.nestedProperty(p,u).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(a,r,i);var o=document.createElement("canvas");o.width=r,o.height=i;var s,l=o.getContext("2d"),u=l.createImageData(r,i);switch(u.data.set(a),l.putImageData(u,0,0),t){case"jpeg":s=o.toDataURL("image/jpeg");break;case"webp":s=o.toDataURL("image/webp");break;default:s=o.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];d.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(this._mockAxis,t)},e.exports=_},{"../../components/fx":434,"../../lib":524,"../../lib/show_no_webgl_msg":545,"../../lib/str2rgbarray":547,"../../plots/cartesian/axes":572,"../../registry":626,"./layout/convert":607,"./layout/spikes":610,"./layout/tick_marks":611,"./project":612,"gl-plot3d":158,"has-passive-events":268,"webgl-context":375}],614:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){b.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},b.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=b.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var w=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function T(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(o.getComponentMethod("grid","sizeDefaults")(c,l),s=0;s15&&z.length>15&&0===l.shapes.length&&0===l.images.length,l._hasCartesian=l._has("cartesian"),l._hasGeo=l._has("geo"),l._hasGL3D=l._has("gl3d"),l._hasGL2D=l._has("gl2d"),l._hasTernary=l._has("ternary"),l._hasPie=l._has("pie"),b.linkSubplots(h,l,f,a),b.cleanPlot(h,l,f,a);var j=!(!a._has||!a._has("gl2d")),B=!(!l._has||!l._has("gl2d")),U=!(!a._has||!a._has("cartesian"))||j,V=!(!l._has||!l._has("cartesian"))||B;U&&!V?a._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),a._zoomlayer&&!t._dragging&&d({_fullLayout:a}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=b.layoutAttributes.width.min,d=b.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-i)>1;(g||p)&&(p&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,s,l=o.componentsRegistry,c=e._basePlotModules,f=o.subplotsRegistry.cartesian;for(i in l)(s=l[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in c.length||c.push(f),e._has("cartesian")&&(o.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(u.subplotSort);for(a=0;a1&&(r.l/=g,r.r/=g)}if(f){var v=(r.t+r.b)/f;v>1&&(r.t/=v,r.b/=v)}var m=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,x=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:m,size:r.l+p},r:{val:y,size:r.r+p},b:{val:_,size:r.b+p},t:{val:x,size:r.t+p}},d[e]=1}else delete h[e],delete d[e];if(!n._replotting)return b.doAutoMargin(t)}},b.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),S(e);var i=e._size,s=e.margin,l=u.extendFlat({},i),c=s.l,f=s.r,d=s.t,p=s.b,g=e._pushmargin,v=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var m in g)v[m]||delete g[m];for(var y in g.base={l:{val:0,size:c},r:{val:1,size:f},t:{val:1,size:d},b:{val:0,size:p}},g){var x=g[y].l||{},_=g[y].b||{},w=x.val,M=x.size,T=_.val,A=_.size;for(var k in g){if(a(M)&&g[k].r){var E=g[k].r.val,L=g[k].r.size;if(E>w){var C=(M*E+(L-r)*w)/(E-w),O=(L*(1-w)+(M-r)*(1-E))/(E-w);C+O>c+f&&(c=C,f=O)}}if(a(A)&&g[k].t){var R=g[k].t.val,P=g[k].t.size;if(R>T){var z=(A*R+(P-n)*T)/(R-T),I=(P*(1-T)+(A-n)*(1-R))/(R-T);z+I>p+d&&(p=z,d=I)}}}}}var D=u.constrain(r-s.l-s.r,2,64),N=u.constrain(n-s.t-s.b,2,64),F=Math.max(0,r-D),j=Math.max(0,n-N);if(F){var B=(c+f)/F;B>1&&(c/=B,f/=B)}if(j){var U=(p+d)/j;U>1&&(p/=U,d/=U)}if(i.l=Math.round(c),i.r=Math.round(f),i.t=Math.round(d),i.b=Math.round(p),i.p=Math.round(s.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&b.didMarginChange(l,i)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var V=3*(1+Object.keys(v).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return o.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,s=0;function l(){return a++,function(){s++,n||s!==a||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return o.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)}(i)}}r.runFn(l),setTimeout(l())}))}],a=u.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}b.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},b.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&b.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(u.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!u.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return c(t,e)})):u.isTypedArray(t)?u.simpleMap(t,u.identity):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=c(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return t.framework&&t.framework.isPolar&&(f=t.framework.getConfig()),l&&(f.frames=c(l)),a&&(f.config=c(t._context,!0)),"object"===n?f:JSON.stringify(f)},b.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,p[e]=o}}for(P(l,c,d),i=0;i=0?h.angularAxis.domain:n.extent(M),L=Math.abs(M[1]-M[0]);A&&!T&&(L=0);var S=E.slice();k&&T&&(S[1]+=L);var C=h.angularAxis.ticksCount||4;C>8&&(C=C/(C/8)+C%8),h.angularAxis.ticksStep&&(C=(S[1]-S[0])/C);var O=h.angularAxis.ticksStep||(S[1]-S[0])/(C*(h.minorTicks+1));w&&(O=Math.max(Math.round(O),1)),S[2]||(S[2]=O);var R=n.range.apply(this,S);if(R=R.map((function(t,e){return parseFloat(t.toPrecision(12))})),s=n.scale.linear().domain(S.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),c.layout.angularAxis.domain=s.domain(),c.layout.angularAxis.endPadding=k?L:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var P=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),z=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(z)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var I,D=t.select(".chart-group"),N={fill:"none",stroke:h.tickColor},F={"font-size":h.font.size,"font-family":h.font.family,fill:h.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map((function(t,e){return" "+t+" 0 "+h.font.outlineColor})).join(",")};if(h.showLegend){I=t.select(".legend-group").attr({transform:"translate("+[b,h.margin.top]+")"}).style({display:"block"});var j=d.map((function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r}));o.Legend().config({data:d.map((function(t,e){return t.name||"Element"+e})),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:I,elements:j,reverseOrder:h.legend.reverseOrder})})();var B=I.node().getBBox();b=Math.min(h.width-B.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,b=Math.max(10,b),_=[h.margin.left+b,h.margin.top+b],r.range([0,b]),c.layout.radialAxis.domain=r.domain(),I.attr("transform","translate("+[_[0]+b,_[1]-b]+")")}else I=t.select(".legend-group").style({display:"none"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),D.attr("transform","translate("+_+")").style({cursor:"crosshair"});var U=[(h.width-(h.margin.left+h.margin.right+2*b+(B?B.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*b))/2];if(U[0]=Math.max(0,U[0]),U[1]=Math.max(0,U[1]),t.select(".outer-group").attr("transform","translate("+U+")"),h.title&&h.title.text){var V=t.select("g.title-group text").style(F).text(h.title.text),H=V.node().getBBox();V.attr({x:_[0]-H.width/2,y:_[1]-b-20})}var q=t.select(".radial.axis-group");if(h.radialAxis.gridLinesVisible){var G=q.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(N),G.attr("r",r),G.exit().remove()}q.select("circle.outside-circle").attr({r:b}).style(N);var X=t.select("circle.background-circle").attr({r:b}).style({fill:h.backgroundColor,stroke:h.stroke});function Y(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var W=n.svg.axis().scale(r).ticks(5).tickSize(5);q.call(W).attr({transform:"rotate("+h.radialAxis.orientation+")"}),q.selectAll(".domain").style(N),q.selectAll("g>text").text((function(t,e){return this.textContent+h.radialAxis.ticksSuffix})).style(F).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===h.radialAxis.tickOrientation?"rotate("+-h.radialAxis.orientation+") translate("+[0,F["font-size"]]+")":"translate("+[0,F["font-size"]]+")"}}),q.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(R),Q=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+Y(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),Z.exit().remove(),Q.append("line").classed("grid-line",!0).classed("major",(function(t,e){return e%(h.minorTicks+1)==0})).classed("minor",(function(t,e){return!(e%(h.minorTicks+1)==0)})).style(N),Q.selectAll(".minor").style({stroke:h.minorTickColor}),Z.select("line.grid-line").attr({x1:h.tickLength?b-h.tickLength:0,x2:b}).style({display:h.angularAxis.gridLinesVisible?"block":"none"}),Q.append("text").classed("axis-text",!0).style(F);var K=Z.select("text.axis-text").attr({x:b+h.labelOffset,dy:a+"em",transform:function(t,e){var r=Y(t),n=b+h.labelOffset,i=h.angularAxis.tickOrientation;return"horizontal"==i?"rotate("+-r+" "+n+" 0)":"radial"==i?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:h.angularAxis.labelsVisible?"block":"none"}).text((function(t,e){return e%(h.minorTicks+1)!=0?"":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix})).style(F);h.angularAxis.rewriteTicks&&K.text((function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)}));var J=n.max(D.selectAll(".angular-tick text")[0].map((function(t,e){return t.getCTM().e+t.getBBox().width})));I.attr({transform:"translate("+[b+J,h.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(d);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),d[0]||$){var et=[];d.forEach((function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter((function(t,r){return r==e})),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})}));var rt=n.nest().key((function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"})).entries(et),nt=[];rt.forEach((function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map((function(t,e){return[t]}))):nt.push(t.values)})),nt.forEach((function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map((function(t,e){return i(o[r].defaultConfig(),t)}));o[r]().config(n)()}))}var it,at,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,hasTick:!0})();if(!T){var ft=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});D.on("mousemove.angular-guide",(function(t,e){var r=o.util.getMousePos(X).angle;ft.attr({x2:-b,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(b+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.angular-guide",(function(t,e){ot.select("line").style({opacity:0})}))}var ht=ot.select("circle").style({stroke:"grey",fill:"none"});D.on("mousemove.radial-guide",(function(t,e){var n=o.util.getMousePos(X).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(X).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ut.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])})).on("mouseout.radial-guide",(function(t,e){ht.style({opacity:0}),ct.hide(),lt.hide(),ut.hide()})),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",(function(e,r){var i=n.select(this),a=this.style.fill,s="black",l=this.style.opacity||1;if(i.attr({"data-opacity":l}),a&&"none"!==a){i.attr({"data-fill":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var u={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(u.t=w[e[0]]);var c="t: "+u.t+", r: "+u.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),d=[f.left+f.width/2-U[0]-h.left,f.top+f.height/2-U[1]-h.top];ct.config({color:s}).text(c),ct.move(d)}else a=this.style.stroke||"black",i.attr({"data-stroke":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})})).on("mousemove.tooltip",(function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ct.show()})).on("mouseout.tooltip",(function(t,e){ct.hide();var r=n.select(this),i=r.attr("data-fill");i?r.style({fill:i,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})}))}))}(u),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach((function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)})),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return c},h.getinputConfig=function(){return u},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,"on"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map((function(e,r){var n=e*Math.PI/180;return[e,t(n)]}))},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach((function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)}));var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map((function(t,e){return r[e]||r[0]}))},o.util.fillArrays=function(t,e,r){return e.forEach((function(e,n){t[e]=o.util.ensureArray(t[e],r)})),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map((function(t,e){return n.sum(t)}))},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter((function(t,e,r){return r.indexOf(t)==e}))},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:c(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return p.fill(r,i,a)},"fill-opacity":0,stroke:function(t,e){return p.stroke(r,i,a)},"stroke-width":function(t,e){return p["stroke-width"](r,i,a)},"stroke-dasharray":function(t,e){return p["stroke-dasharray"](r,i,a)},opacity:function(t,e){return p.opacity(r,i,a)},display:function(t,e){return p.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,d=n.svg.arc().startAngle((function(t){return-h/2})).endAngle((function(t){return h/2})).innerRadius((function(t){return e.radialScale(l+(t[2]||0))})).outerRadius((function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])}));u.arc=function(t,r,i){n.select(this).attr({class:"mark arc",d:d,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var p={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var v=g.selectAll("path.mark").data((function(t,e){return t}));v.enter().append("path").attr({class:"mark"}),v.style(p).each(u[e.geometryType]),v.exit().remove(),g.exit().remove()}))}return a.config=function(e){return arguments.length?(e.forEach((function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)})),this):t},a.getColorScale=function(){},n.rebind(a,e,"on"),a},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,a=t.data.map((function(t,r){return[].concat(t).map((function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a}))})),o=n.merge(a);o=o.filter((function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)})),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map((function(t,e){return t.color})),u=e.fontSize,c=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,f=c?e.height:u*o.length,h=s.classed("legend-group",!0).selectAll("svg").data([0]),d=h.enter().append("svg").attr({width:300,height:f+u,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});d.append("g").classed("legend-axis",!0),d.append("g").classed("legend-marks",!0);var p=n.range(o.length),g=n.scale[c?"linear":"ordinal"]().domain(p).range(l),v=n.scale[c?"linear":"ordinal"]().domain(p)[c?"range":"rangePoints"]([0,f]);if(c){var m=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),h.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=h.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[u/2,v(e)+u/2]+")"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=u),"line"===(r=o)?"M"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type("square").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var b=n.svg.axis().scale(v).orient("right"),x=h.select("g.legend-axis").attr({transform:"translate("+[c?e.colorBandWidth:u,u/2]+")"}).call(b);return x.selectAll(".domain").style({fill:"none",stroke:"none"}),x.selectAll("line").style({fill:"none",stroke:c?e.textColor:"none"}),x.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text((function(t,e){return o[e].name})),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,u=function(){var n=(t=a.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:a.padding+l,dy:.3*+a.fontSize}),u};return u.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?"#aaa":"white",c=o>=.5?"black":"white",f=i||"";e.style({fill:c,"font-size":a.fontSize+"px"}).text(f);var h=a.padding,d=e.node().getBBox(),p={fill:a.color,stroke:s,"stroke-width":"2px"},g=d.width+2*h+l,v=d.height+2*h;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[a.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(p),t.attr({transform:"translate("+[l,-v/2+2*h]+")"}),t.style({display:"block"}),u},u.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),u},u.hide=function(){if(t)return t.style({display:"none"}),u},u.show=function(){if(t)return t.style({display:"block"}),u},u.config=function(t){return i(a,t),u},u},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map((function(t,r){var n=i({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n})),!e&&t.layout&&"stack"===t.layout.barmode)){var a=o.util.duplicates(r.data.map((function(t,e){return t.geometry})));r.data.forEach((function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)}))}if(t.layout){var s=i({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach((function(t,r){o.util.translator.apply(null,t.concat(e))})),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],u=["top","right","bottom","left","pad"],c={};n.entries(s.margin).forEach((function(t,e){c[u[l.indexOf(t.key)]]=t.value})),s.margin=c}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":496,"../../../lib":524,d3:82}],622:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../../lib"),a=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=i.extendDeepAll,u=e.exports={};u.framework=function(t){var e,r,i,a,c,f=new s;function h(r,s){return s&&(c=s),n.select(n.select(c).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(c),t.data=e.data,t.layout=e.layout,u.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},u.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{"../../../components/color":394,"../../../lib":524,"./micropolar":621,"./undo_manager":623,d3:82}],623:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n||(e.splice(r+1,e.length-r),e.push(t),r=e.length-1),this},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r0){for(var n=[],i=0;i-1&&(f[d[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(M),M=(M=M.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(u,"'"),i.isIE()&&(M=(M=(M=M.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),M}},{"../components/color":394,"../components/drawing":416,"../constants/xmlns_namespaces":503,"../lib":524,d3:82}],635:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={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:i({editType:"calc"},{keys:["norm"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":401,"../../lib/extend":517,"../../plots/attributes":568,"../../plots/template_attributes":625,"../mesh3d/attributes":647}],636:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;u=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},{"../../lib":524}],641:[function(t,e,r){"use strict";var n=t("../../lib"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,u,c,f,h,d,p,g,v,m=0;for(s=0;sg&&(m=Math.max(m,Math.abs(t[a][o]-p)/(v-g))))}return m}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},{"../../lib":524}],642:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var u=e.exports=l(s({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:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),showlegend:s({},o.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/colorscale/attributes":401,"../../lib/extend":517,"../../plot_api/edit_types":554,"../../plots/attributes":568,"../../plots/template_attributes":625,"../mesh3d/attributes":647}],643:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),i=t("../streamtube/calc").processGrid,a=t("../streamtube/calc").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function D(t,e){return null===t?e:t}function N(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[d]:S(p,g,m);h[d]=b>-1?b:R(p,g,m,D(e,y))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++v}}function F(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function j(t,e,r){return t>=e&&t<=r}function B(t){var e=.001*(L-E);return t>=E-e&&t<=L+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[j(e[0][3],n,i),j(e[1][3],n,i),j(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return B(e[0][3])&&B(e[1][3])&&B(e[2][3])?(N(t,e,r),!0):a<3&&V(t,e,r,E,L,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],d=F(h,c,n,i),p=F(h,f,n,i);o=l(t,[p,d,c],[-1,-1,r[a[0]]])||o,o=l(t,[c,f,p],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],d=F(f,c,n,i),p=F(h,c,n,i);o=l(t,[p,d,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[j(a[0][3],r,n),j(a[1][3],r,n),j(a[2][3],r,n),j(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(i=function(t,e,r){var n=function(n,i,a){N(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(g)i=N(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var d=F(h,u,r,n),p=F(h,c,r,n),v=F(h,f,r,n);i=N(null,[d,p,v],[-1,-1,-1])||i}s=!0}})),s?i:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],d=F(f,u,r,n),p=F(f,c,r,n),v=F(h,c,r,n),m=F(h,u,r,n);g?(i=N(t,[u,m,d],[e[l[0]],-1,-1])||i,i=N(t,[c,p,v],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(n,i,a){N(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[d,p,v,m],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],d=F(c,u,r,n),p=F(f,u,r,n),v=F(h,u,r,n);g?(i=N(t,[u,d,p],[e[l[0]],-1,-1])||i,i=N(t,[u,p,v],[e[l[0]],-1,-1])||i,i=N(t,[u,v,d],[e[l[0]],-1,-1])||i):i=N(null,[d,p,v],[-1,-1,-1])||i,s=!0}})),i)}function q(t,e,r,n,i,a,o,s,l,u,c){var f=!1;return p&&(I(t,"A")&&(f=H(null,[e,r,n,a],u,c)||f),I(t,"B")&&(f=H(null,[r,n,i,l],u,c)||f),I(t,"C")&&(f=H(null,[r,a,o,l],u,c)||f),I(t,"D")&&(f=H(null,[n,a,s,l],u,c)||f),I(t,"E")&&(f=H(null,[r,n,a,l],u,c)||f)),g&&(f=H(t,[r,n,a,l],u,c)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function X(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function Y(t,e,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=V(t,[s,l,u],[-1,-1,-1],i,a)||f,f=V(t,[u,c,s],[-1,-1,-1],i,a)||f},d=o[0],p=o[1],g=o[2];return d&&(s=P(U([T(e,r-0,n-0)])[0],U([T(e-1,r-0,n-0)])[0],d),l=P(U([T(e,r-0,n-1)])[0],U([T(e-1,r-0,n-1)])[0],d),u=P(U([T(e,r-1,n-1)])[0],U([T(e-1,r-1,n-1)])[0],d),c=P(U([T(e,r-1,n-0)])[0],U([T(e-1,r-1,n-0)])[0],d),h()),p&&(s=P(U([T(e-0,r,n-0)])[0],U([T(e-0,r-1,n-0)])[0],p),l=P(U([T(e-0,r,n-1)])[0],U([T(e-0,r-1,n-1)])[0],p),u=P(U([T(e-1,r,n-1)])[0],U([T(e-1,r-1,n-1)])[0],p),c=P(U([T(e-1,r,n-0)])[0],U([T(e-1,r-1,n-0)])[0],p),h()),g&&(s=P(U([T(e-0,r-0,n)])[0],U([T(e-0,r-0,n-1)])[0],g),l=P(U([T(e-0,r-1,n)])[0],U([T(e-0,r-1,n-1)])[0],g),u=P(U([T(e-1,r-1,n)])[0],U([T(e-1,r-1,n-1)])[0],g),c=P(U([T(e-1,r-0,n)])[0],U([T(e-1,r-0,n-1)])[0],g),h()),f}function W(t,e,r,n,i,a,o,s,l,u,c,f){var h=t;return f?(p&&"even"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,u,c)):(p&&"odd"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,u,c))}function Z(t,e,r,n,i){for(var a=[],o=0,s=0;sMath.abs(p-k)?[A,p]:[p,k];$(e,M[0],M[1])}}var S=[[Math.min(E,k),Math.max(E,k)],[Math.min(A,L),Math.max(A,L)]];["x","y","z"].forEach((function(e){for(var r=[],n=0;n0&&(c.push(d.id),"x"===e?f.push([d.distRatio,0,0]):"y"===e?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=nt(1,"x"===e?x-1:"y"===e?_-1:w-1);c.length>0&&(r[i]="x"===e?tt(null,c,a,o,f,r[i]):"y"===e?et(null,c,a,o,f,r[i]):rt(null,c,a,o,f,r[i]),i++),u.length>0&&(r[i]="x"===e?Z(null,u,a,o,r[i]):"y"===e?Q(null,u,a,o,r[i]):K(null,u,a,o,r[i]),i++)}var p=t.caps[e];p.show&&p.fill&&(z(p.fill),r[i]="x"===e?Z(null,[0,x-1],a,o,r[i]):"y"===e?Q(null,[0,_-1],a,o,r[i]):K(null,[0,w-1],a,o,r[i]),i++)}})),0===v&&O(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=m,t._Ys=y,t._Zs=b}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},{"../../components/colorscale":406,"../../lib/gl_format_color":521,"../../lib/str2rgbarray":547,"../../plots/gl3d/zip3":614,"gl-mesh3d":153}],645:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach((function(t){var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("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(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,i){s(t,e,r,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":404,"../../lib":524,"../../registry":626,"./attributes":642}],646:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":603,"./attributes":642,"./calc":643,"./convert":644,"./defaults":645}],647:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({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:i({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},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},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:a.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:"calc"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({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"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"}),showlegend:s({},o.showlegend,{dflt:!1})})},{"../../components/colorscale/attributes":401,"../../lib/extend":517,"../../plots/attributes":568,"../../plots/template_attributes":625,"../surface/attributes":694}],648:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":402}],649:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),i=t("delaunay-triangulate"),a=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,c=t("../../plots/gl3d/zip3");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(p(r.xaxis,t.x,e.dataScale[0],t.xcalendar),p(r.yaxis,t.y,e.dataScale[1],t.ycalendar),p(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!v(t.i,f)||!v(t.j,f)||!v(t.k,f))return;n=c(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;ol&&L[m].gap;)m--;for(b=L[m].s,g=L.length-1;g>m;g--)L[g].s=b;for(;lk[c]&&c=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],662:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),u=t("./period_defaults"),c=t("./stack_defaults"),f=t("./marker_defaults"),h=t("./line_defaults"),d=t("./line_shape_defaults"),p=t("./text_defaults"),g=t("./fillcolor_defaults");e.exports=function(t,e,r,v){function m(r,i){return n.coerce(t,e,a,r,i)}var y=l(t,e,v,m);if(y||(e.visible=!1),e.visible){u(t,e,v,m);var b=c(t,e,v,m),x=!b&&yG!=(N=R[C][1])>=G&&(z=R[C-1][0],I=R[C][0],N-D&&(P=z+(I-z)*(G-D)/(N-D),U=Math.min(U,P),V=Math.max(V,P)));U=Math.max(U,0),V=Math.min(V,h._length);var X=s.defaultLine;return s.opacity(f.fillcolor)?X=f.fillcolor:s.opacity((f.line||{}).color)&&(X=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:U,x1:V,y0:G,y1:G,color:X,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":394,"../../components/fx":434,"../../lib":524,"../../registry":626,"./get_trace_color":665}],667:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":585,"./arrays_to_calcdata":654,"./attributes":655,"./calc":656,"./cross_trace_calc":660,"./cross_trace_defaults":661,"./defaults":662,"./format_labels":664,"./hover":666,"./marker_colorbar":673,"./plot":676,"./select":677,"./style":679,"./subtypes":680}],668:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var u=(t.marker||{}).color;(s("line.color",r),i(t,"line"))?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":404,"../../components/colorscale/helpers":405,"../../lib":524}],669:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t("../../lib"),u=l.segmentsIntersect,c=l.constrain,f=t("./constants");e.exports=function(t,e){var r,n,a,h,d,p,g,v,m,y,b,x,_,w,M,T,A,k,E=e.xaxis,L=e.yaxis,S="log"===E.type,C="log"===L.type,O=E._length,R=L._length,P=e.connectGaps,z=e.baseTolerance,I=e.shape,D="linear"===I,N=e.fill&&"none"!==e.fill,F=[],j=f.minTolerance,B=t.length,U=new Array(B),V=0;function H(r){var n=t[r];if(!n)return!1;var a=e.linearized?E.l2p(n.x):E.c2p(n.x),l=e.linearized?L.l2p(n.y):L.c2p(n.y);if(a===i){if(S&&(a=E.c2p(n.x,!0)),a===i)return!1;C&&l===i&&(a*=Math.abs(E._m*R*(E._m>0?o:s)/(L._m*O*(L._m>0?o:s)))),a*=1e3}if(l===i){if(C&&(l=L.c2p(n.y,!0)),l===i)return!1;l*=1e3}return[a,l]}function q(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&urt||t[1]it)return[c(t[0],et,rt),c(t[1],nt,it)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===it)||void 0)}function lt(t,e,r){return function(n,i){var a=ot(n),o=ot(i),s=[];if(a&&o&&st(a,o))return s;a&&s.push(a),o&&s.push(o);var u=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);u&&((a&&o?u>0==a[t]>o[t]?a:o:a||o)[t]+=u);return s}}function ut(t){var e=t[0],r=t[1],n=e===U[V-1][0],i=r===U[V-1][1];if(!n||!i)if(V>1){var a=e===U[V-2][0],o=r===U[V-2][1];n&&(e===et||e===rt)&&a?o?V--:U[V-1]=t:i&&(r===nt||r===it)&&o?a?V--:U[V-1]=t:U[V++]=t}else U[V++]=t}function ct(t){U[V-1][0]!==t[0]&&U[V-1][1]!==t[1]&&ut([Z,Q]),ut(t),K=null,Z=Q=0}function ft(t){if(A=t[0]/O,k=t[1]/R,Y=t[0]rt?rt:0,W=t[1]it?it:0,Y||W){if(V)if(K){var e=$(K,t);e.length>1&&(ct(e[0]),U[V++]=e[1])}else J=$(U[V-1],t)[0],U[V++]=J;else U[V++]=[Y||t[0],W||t[1]];var r=U[V-1];Y&&W&&(r[0]!==Y||r[1]!==W)?(K&&(Z!==Y&&Q!==W?ut(Z&&Q?(n=K,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?et:rt,it]:[o>0?rt:et,nt]):[Z||Y,Q||W]):Z&&Q&&ut([Z,Q])),ut([Y,W])):Z-Y&&Q-W&&ut([Y||Z,W||Q]),K=t,Z=Y,Q=W}else K&&ct($(K,t)[0]),U[V++]=t;var n,i,a,o}for("linear"===I||"spline"===I?$=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=at[i],o=u(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&X(o,t)G(p,ht))break;a=p,(_=m[0]*v[0]+m[1]*v[1])>b?(b=_,h=p,g=!1):_=t.length||!p)break;ft(p),n=p}}else ft(h)}K&&ut([Z||K[0],Q||K[1]]),F.push(U.slice(0,V))}return F}},{"../../constants/numerical":502,"../../lib":524,"./constants":659}],670:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],671:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a=0?l=d:(l=d=h,h++),l0?Math.max(e,i):0}}},{"fast-isnumeric":91}],673:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],674:[function(t,e,r){"use strict";var n=t("../../components/color"),i=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;(u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":394,"../../components/colorscale/defaults":404,"../../components/colorscale/helpers":405,"./subtypes":680}],675:[function(t,e,r){"use strict";var n=t("../../lib").dateTick0,i=t("../../constants/numerical").ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}e.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},{"../../constants/numerical":502,"../../lib":524}],676:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../registry"),a=t("../../lib"),o=a.ensureSingle,s=a.identity,l=t("../../components/drawing"),u=t("./subtypes"),c=t("./line_points"),f=t("./link_traces"),h=t("../../lib/polygon").tester;function d(t,e,r,f,d,p,g){var v;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!u.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),g=Math.ceil(p.length/d),v=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return m?t.transition():t}var b=r.xaxis,x=r.yaxis,_=f[0].trace,w=_.line,M=n.select(p),T=o(M,"g","errorbars"),A=o(M,"g","lines"),k=o(M,"g","points"),E=o(M,"g","text");if(i.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var L,S;y(M).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=M;var O,R,P="",z=[],I=_._prevtrace;I&&(P=I._prevRevpath||"",S=I._nextFill,z=I._polygons);var D,N,F,j,B,U,V,H="",q="",G=[],X=a.noop;if(L=_._ownFill,u.hasLines(_)||"none"!==_.fill){for(S&&S.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(D=l.steps(w.shape),N=l.steps(w.shape.split("").reverse().join(""))):D=N="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},F=function(t){return N(t.reverse())},G=c(f,{xaxis:b,yaxis:x,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),v=0;v1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",O).call(l.lineGroupStyle)).style("opacity",1);else{var i=y(r);i.attr("d",O),l.singleLineStyle(f,i)}}}}}var Y=A.selectAll(".js-line").data(G);y(Y.exit()).style("opacity",0).remove(),Y.each(X(!1)),Y.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(X(!0)),l.setClipUrl(Y,r.layerClipId,t),G.length?(L?(L.datum(f),j&&U&&(C?("y"===C?j[1]=U[1]=x.c2p(0,!0):"x"===C&&(j[0]=U[0]=b.c2p(0,!0)),y(L).attr("d","M"+U+"L"+j+"L"+H.substr(1)).call(l.singleFillStyle)):y(L).attr("d",H+"Z").call(l.singleFillStyle))):S&&("tonext"===_.fill.substr(0,6)&&H&&P?("tonext"===_.fill?y(S).attr("d",H+"Z"+P+"Z").call(l.singleFillStyle):y(S).attr("d",H+"L"+P.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(z)):(Z(S),_._polygons=null)),_._prevRevpath=q,_._prevPolygons=V):(L?Z(L):S&&Z(S),_._polygons=_._prevRevpath=_._prevPolygons=null),k.datum(f),E.datum(f),function(e,i,a){var o,c=a[0].trace,f=u.hasMarkers(c),h=u.hasText(c),d=tt(c),p=et,g=et;if(f||h){var v=s,_=c.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[b._id+x._id][_].stackgaps;c.marker.maxdisplayed||c._needsCull?v=w?K:Q:_&&!w&&(v=J),f&&(p=v),h&&(g=v)}var M,T=(o=e.selectAll("path.point").data(p,d)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,c,t).call(l.translatePoints,b,x).style("opacity",0).transition().style("opacity",1),o.order(),f&&(M=l.makePointStyleFns(c)),o.each((function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,b,x)?(l.singlePointStyle(e,a,c,M,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,b,x,c.xcalendar,c.ycalendar),c.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()})),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=i.selectAll("g").data(g,d)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),i=y(e.select("text"));l.translatePoint(t,i,b,x)?r.layerClipId&&l.hideOutsideRangePoint(t,e,b,x,c.xcalendar,c.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,c,t).each((function(t){var e=b.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(k,E,f);var W=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(k,W,t),l.setClipUrl(E,W,t)}function Z(t){y(t).attr("d","M0,0Z")}function Q(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function J(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,i,a,u){var c,h,p=!a,g=!!a&&a.duration>0,v=f(t,e,r);((c=i.selectAll("g.trace").data(v,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),g)?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){d(t,n,e,r,v,this,a)}))}))):c.each((function(r,n){d(t,n,e,r,v,this,a)}));p&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":416,"../../lib":524,"../../lib/polygon":536,"../../registry":626,"./line_points":669,"./link_traces":671,"./subtypes":680,d3:82}],677:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function x(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return d[t]}function M(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",h||d);for(var p=["x","y","z"],g=0;g<3;++g){var v="projection."+p[g];f(v+".show")&&(f(v+".opacity"),f(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,h||d||r,{axis:"z"}),m(t,e,h||d||r,{axis:"y",inherit:"z"}),m(t,e,h||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":524,"../../registry":626,"../scatter/line_defaults":668,"../scatter/marker_defaults":674,"../scatter/subtypes":680,"../scatter/text_defaults":681,"./attributes":683}],688:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":500,"../../plots/gl3d":603,"./attributes":683,"./calc":684,"./convert":686,"./defaults":687}],689:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={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"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:i({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=a[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":401,"../../lib/extend":517,"../../plots/attributes":568,"../../plots/template_attributes":625,"../mesh3d/attributes":647}],690:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../components/colorscale/calc");function a(t){var e,r,i,a,s,l,u,c,f,h,d,p,g=t._x,v=t._y,m=t._z,y=t._len,b=-1/0,x=1/0,_=-1/0,w=1/0,M=-1/0,T=1/0,A="";for(y&&(u=g[0],f=v[0],d=m[0]),y>1&&(c=g[y-1],h=v[y-1],p=m[y-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(d>p?"-":"+")+"z");var S=function(){y=0,k=[],E=[],L=[]};(!y||y2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function d(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function p(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function p(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(p(e._u,"xaxis"),p(e._v,"yaxis"),p(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var g=p(e._Xs,"xaxis"),v=p(e._Ys,"yaxis"),m=p(e._Zs,"zaxis");if(f.meshgrid=[g,v,m],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(p(e._startsX,"xaxis"),p(e._startsY,"yaxis"),p(e._startsZ,"zaxis"));else{for(var y=v[0],b=h(g),x=h(m),_=new Array(b.length*x.length),w=0,M=0;M0){r=p[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=v(t),n=v(e),i=1,a=0;a_;)r--,r/=m(r),++r1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e] Date: Sat, 1 May 2021 20:35:24 -0400 Subject: [PATCH 04/32] add camera position option, #377 --- octoprint_bedlevelvisualizer/__init__.py | 1041 +++++++++-------- .../static/js/bedlevelvisualizer.js | 7 +- .../bedlevelvisualizer_settings.jinja2 | 8 + setup.py | 2 +- 4 files changed, 534 insertions(+), 524 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index c27c662..5fabe1b 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -13,517 +13,518 @@ class bedlevelvisualizer( - octoprint.plugin.StartupPlugin, - octoprint.plugin.TemplatePlugin, - octoprint.plugin.AssetPlugin, - octoprint.plugin.SettingsPlugin, - octoprint.plugin.WizardPlugin, - octoprint.plugin.SimpleApiPlugin, - octoprint.plugin.EventHandlerPlugin, + octoprint.plugin.StartupPlugin, + octoprint.plugin.TemplatePlugin, + octoprint.plugin.AssetPlugin, + octoprint.plugin.SettingsPlugin, + octoprint.plugin.WizardPlugin, + octoprint.plugin.SimpleApiPlugin, + octoprint.plugin.EventHandlerPlugin, ): - INTERVAL = 2.0 - MAX_HISTORY = 10 - - def __init__(self): - self.processing = False - self.printing = False - self.mesh_collection_canceled = False - self.old_marlin = False - self.makergear = False - self.old_marlin_offset = 0 - self.repetier_firmware = False - self.mesh = [] - self.box = [] - self.flip_x = False - self.flip_y = False - self.timeout_override = False - self._logger = logging.getLogger( - "octoprint.plugins.bedlevelvisualizer") - self._bedlevelvisualizer_logger = logging.getLogger( - "octoprint.plugins.bedlevelvisualizer.debug" - ) - self.regex_mesh_data = re.compile( - r"^((G33.+)|(Bed.+)|(Llit.+)|(\d+\s)|(\|\s*)|(\s*\[\s+)|(\[?\s?\+?-?\d+?\.\d+\]?\s*,?)|(\s?\.\s*)|(NAN," - r"?)|(nan\s?,?)|(=======\s?,?))+(\s+\],?)?$" - ) - self.regex_bed_level_correction = re.compile( - r"^(Mesh )?Bed Level (Correction Matrix|data):.*$" - ) - self.regex_nans = re.compile(r"^(nan\s?,?)+$") - self.regex_equal_signs = re.compile(r"^(=======\s?,?)+$") - self.regex_mesh_data_extraction = re.compile(r"(\+?-?\d*\.\d*)") - self.regex_old_marlin = re.compile(r"^(Bed x:.+)|(Llit x:.+)$") - self.regex_makergear = re.compile( - r"^(\s=\s\[)(\s*,?\s*\[(\s?-?\d+.\d+,?)+\])+\];?$" - ) - self.regex_repetier = re.compile(r"^G33 X.+$") - self.regex_nan = re.compile(r"(nan)") - self.regex_catmull = re.compile( - r"^Subdivided with CATMULL ROM Leveling Grid:.*$" - ) - self.regex_extracted_box = re.compile(r"\(\s*(\d+),\s*(\d+)\)") - self.regex_eqn_coefficients = re.compile(r"^Eqn coefficients:.+$") - self.regex_unknown_command = re.compile( - r"echo:Unknown command: \"@BEDLEVELVISUALIZER\"" - ) - - # SettingsPlugin - - def get_settings_defaults(self): - return dict( - command="", - stored_mesh=[], - stored_mesh_x=[], - stored_mesh_y=[], - stored_mesh_z_height=2, - save_mesh=True, - mesh_timestamp="", - flipX=False, - flipY=False, - stripFirst=False, - use_center_origin=False, - use_relative_offsets=False, - timeout=1800, - rotation=0, - ignore_correction_matrix=False, - screw_hub=0.5, - mesh_unit=1, - reverse=False, - showdegree=False, - imperial=False, - descending_y=False, - descending_x=False, - debug_logging=False, - commands=[], - show_labels=True, - show_webcam=False, - graph_z_limits="-2,2", - colorscale='[[0, "rebeccapurple"],[0.4, "rebeccapurple"],[0.45, "blue"],[0.5, "green"],[0.55, "yellow"],[0.6, "red"],[1, "red"]]', - save_snapshots=False, - ) - - def get_settings_version(self): - return 1 - - def on_settings_migrate(self, target, current=None): - if current is None or current < 1: - # Loop through commands adding new fields - commands_new = [] - self._logger.info(self._settings.get(["commands"])) - for command in self._settings.get(["commands"]): - command["confirmation"] = False - command["input"] = [] - command["message"] = "" - commands_new.append(command) - self._settings.set(["commands"], commands_new) - - def on_settings_save(self, data): - old_debug_logging = self._settings.get_boolean(["debug_logging"]) - - octoprint.plugin.SettingsPlugin.on_settings_save(self, data) - - new_debug_logging = self._settings.get_boolean(["debug_logging"]) - if old_debug_logging != new_debug_logging: - if new_debug_logging: - self._bedlevelvisualizer_logger.setLevel(logging.DEBUG) - else: - self._bedlevelvisualizer_logger.setLevel(logging.INFO) - - # StartupPlugin - - def on_startup(self, host, port): - # setup customized logger - from octoprint.logging.handlers import CleaningTimedRotatingFileHandler - - bedlevelvisualizer_logging_handler = CleaningTimedRotatingFileHandler( - self._settings.get_plugin_logfile_path(postfix="debug"), - when="D", - backupCount=3, - ) - bedlevelvisualizer_logging_handler.setFormatter( - logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s") - ) - bedlevelvisualizer_logging_handler.setLevel(logging.DEBUG) - - self._bedlevelvisualizer_logger.addHandler( - bedlevelvisualizer_logging_handler) - self._bedlevelvisualizer_logger.setLevel( - logging.DEBUG - if self._settings.get_boolean(["debug_logging"]) - else logging.INFO - ) - self._bedlevelvisualizer_logger.propagate = False - - def on_after_startup(self): - self._logger.info("OctoPrint-BedLevelVisualizer loaded!") - - # AssetPlugin - - def get_assets(self): - return dict( - js=[ - "js/jquery-ui.min.js", - "js/knockout-sortable.1.2.0.js", - "js/fontawesome-iconpicker.js", - "js/ko.iconpicker.js", - "js/plotly-gl3d.min.js", - "js/bedlevelvisualizer.js", - ], - css=[ - "css/font-awesome.min.css", - "css/font-awesome-v4-shims.min.css", - "css/fontawesome-iconpicker.css", - "css/bedlevelvisualizer.css", - ], - ) - - # EventHandlePlugin - - def on_event(self, event, payload): - # Cancelled Print Interpreted Event - if event == Events.PRINT_FAILED and not self._printer.is_closed_or_error(): - self.printing = False - # Print Started Event - if event == Events.PRINT_STARTED: - self.printing = True - # Print Done Event - if event == Events.PRINT_DONE: - self.printing = False - - # atcommand hook - - def enable_mesh_collection(self): - self.mesh = [] - self.box = [] - self._bedlevelvisualizer_logger.debug("mesh collection started") - self.processing = True - self._plugin_manager.send_plugin_message( - self._identifier, dict(processing=True) - ) - - def flag_mesh_collection(self, comm_instance, phase, command, parameters, tags=None, *args, **kwargs): - if command == "BEDLEVELVISUALIZER": - if parameters: - self._bedlevelvisualizer_logger.debug( - "Timeout override: {}".format(parameters)) - self._plugin_manager.send_plugin_message( - self._identifier, {"timeout_override": parameters}) - thread = threading.Thread(target=self.enable_mesh_collection) - thread.daemon = True - thread.start() - return - - def process_gcode(self, comm, line, *args, **kwargs): - if self.printing and line.strip() == "echo:BEDLEVELVISUALIZER": - thread = threading.Thread(target=self.enable_mesh_collection) - thread.daemon = True - thread.start() - return line - if not self.processing: - return line - - if self._settings.get_boolean( - ["ignore_correction_matrix"] - ) and self.regex_bed_level_correction.match(line.strip()): - line = "ok" - - if "ok" not in line: - if self.regex_mesh_data.match(line.strip()): - if self.regex_bed_level_correction.match( - line.strip() - ) and not self._settings.get_boolean(["ignore_correction_matrix"]): - self._bedlevelvisualizer_logger.debug( - "resetting mesh to blank because of correction matrix" - ) - self.mesh = [] - return line - if self.regex_nans.match(line.strip()): - self._bedlevelvisualizer_logger.debug( - "stupid smoothieware issue..." - ) - line = self.regex_nan.sub("0.0", line) - if self.regex_equal_signs.match(line.strip()): - self._bedlevelvisualizer_logger.debug( - "stupid equal signs...") - line = self.regex_equal_signs.sub("0.0", line) - - new_line = self.regex_mesh_data_extraction.findall(line) - self._bedlevelvisualizer_logger.debug(new_line) - - if self.regex_old_marlin.match(line.strip()): - self.old_marlin = True - self._bedlevelvisualizer_logger.debug( - "using old marlin flag") - - if self.regex_repetier.match(line.strip()): - self.repetier_firmware = True - self._bedlevelvisualizer_logger.debug( - "using repetier flag") - - if self._settings.get_boolean(["stripFirst"]): - new_line.pop(0) - if len(new_line) > 0: - self.mesh.append(new_line) - - elif self.regex_catmull.match(line.strip()): - self._bedlevelvisualizer_logger.debug( - "resetting mesh to blank because of CATMULL subdivision" - ) - self.mesh = [] - - elif self.regex_extracted_box.findall(line.strip()): - box = self.regex_extracted_box.findall(line.strip()) - if len(box) == 2: - self.box += [[float(x), float(y)] for x, y in box] - if len(self.box) == 2: - if self.box[0][0] > self.box[1][0]: - self.flip_x = True - if len(self.box) == 4: - if self.box[0][1] > self.box[3][1]: - self.flip_y = True - - if self.regex_makergear.match(line) is not None: - self._bedlevelvisualizer_logger.debug( - "using makergear format report") - self.mesh = json.loads( - line.strip().replace("= ", "").replace(";", "")) - self.old_marlin = True - self.makergear = True - self._bedlevelvisualizer_logger.debug(self.mesh) - line = "ok" - - if self.old_marlin and self.regex_eqn_coefficients.match(line.strip()): - self.old_marlin_offset = self.regex_eqn_coefficients.sub( - r"\2", line.strip() - ) - self._bedlevelvisualizer_logger.debug( - "using old marlin offset") - - if "Home XYZ first" in line or "Invalid mesh" in line: - reason = "data is invalid" if "Invalid" in line else "homing required" - self._bedlevelvisualizer_logger.debug( - "stopping mesh collection because %s" % reason - ) - - if "Home XYZ first" in line: - self._plugin_manager.send_plugin_message( - self._identifier, dict(error=line.strip()) - ) - self.processing = False - - if ("ok" in line or (self.repetier_firmware and "T:" in line)) and len( - self.mesh - ) > 0: - octoprint_printer_profile = self._printer_profile_manager.get_current() - volume = octoprint_printer_profile["volume"] - bed_type = volume["formFactor"] - custom_box = volume["custom_box"] - # see if we have a custom bounding box - if custom_box: - min_x = custom_box["x_min"] - max_x = custom_box["x_max"] - min_y = custom_box["y_min"] - max_y = custom_box["y_max"] - min_z = custom_box["z_min"] - max_z = custom_box["z_max"] - else: - min_x = 0 - max_x = volume["width"] - min_y = 0 - max_y = volume["depth"] - min_z = 0 - max_z = volume["height"] - if len(self.box) == 4: - min_x = min([x for x, y in self.box]) - max_x = max([x for x, y in self.box]) - min_y = min([y for x, y in self.box]) - max_y = max([y for x, y in self.box]) - - bed = dict( - type=bed_type, - x_min=min_x, - x_max=max_x, - y_min=min_y, - y_max=max_y, - z_min=min_z, - z_max=max_z, - ) - self._bedlevelvisualizer_logger.debug(bed) - - if self.old_marlin or self.repetier_firmware: - self._bedlevelvisualizer_logger.debug( - "initial mesh data: " + str(self.mesh)) - if self.makergear: - a = self.mesh - else: - # rearrange matrix from point lists to coordinate lists - a = list(zip(*self.mesh)) - self._bedlevelvisualizer_logger.debug( - "mesh after swapaxes: " + str(a)) - - # filter coordinate values - self._bedlevelvisualizer_logger.debug("a = " + str(a)) - x = self.unique_floats(a[0]) - self._bedlevelvisualizer_logger.debug("x = " + str(x)) - y = self.unique_floats(a[1]) - self._bedlevelvisualizer_logger.debug("y = " + str(y)) - rows, cols, vals = (len(y), len(x), len(list(a[2]))) - z = [[0 for i in range(cols)] - for j in range(rows)] # init empty matrix - k = 0 - # filling array - for i in range(rows): - for j in range(cols): - z[i][j] = a[2][k] - k += 1 - self._bedlevelvisualizer_logger.debug("z = " + str(z)) - - # dealing with offset - offset = 0 - if self.old_marlin: - offset = self.old_marlin_offset - self._bedlevelvisualizer_logger.debug( - "mesh offset = " + str(offset)) - self.mesh = list( - map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), z)) - self._bedlevelvisualizer_logger.debug( - "mesh after offset: " + str(self.mesh)) - - self._bedlevelvisualizer_logger.debug("stopping mesh collection") - - if bool(self.flip_x) != bool(self._settings.get(["flipX"])): - self.mesh = list(map(lambda x: list(reversed(x)), self.mesh)) - self._bedlevelvisualizer_logger.debug( - "flipped x axis: " + str(self.mesh)) - - if bool(self.flip_y) != bool(self._settings.get(["flipY"])): - self.mesh.reverse() - self._bedlevelvisualizer_logger.debug( - "flipped y axis: " + str(self.mesh)) - - if self._settings.get_boolean(["use_relative_offsets"]): - self._bedlevelvisualizer_logger.debug("using relative offsets") - # shifting mesh down by origin point height - if self._settings.get_boolean(["use_center_origin"]): - self._bedlevelvisualizer_logger.debug( - "using center origin") - # finding origin point in center - offset = self.mesh[len(self.mesh[0]) // - 2][len(self.mesh) // 2] - self.mesh = list( - map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) - else: - offset = self.mesh[0][0] - self.mesh = list( - map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) - - if int(self._settings.get_int(["rotation"])) > 0: - self._bedlevelvisualizer_logger.debug( - "rotating mesh by %s degrees" % self._settings.get(["rotation"])) - - for i in range(int(self._settings.get_int(["rotation"]) / 90)): - self.mesh = list(zip(*self.mesh))[::-1] - - if bed_type == "circular": - m = len(self.mesh) - n = len(self.mesh[0]) - circle_mask = self.create_circular_mask(m, n) - for i in range(m): - for j in range(n): - if circle_mask[i][j] == False: - self.mesh[i][j] = None - self._bedlevelvisualizer_logger.debug( - "masked mesh = " + str(self.mesh)) - - self.processing = False - self._bedlevelvisualizer_logger.debug(self.mesh) - self._plugin_manager.send_plugin_message( - self._identifier, dict(mesh=self.mesh, bed=bed) - ) - self.send_mesh_data_collected_event(self.mesh, bed) - - return line - - def create_circular_mask(self, h, w, center=None, radius=None): - # cw = int(w / 2) - # ch = int(h / 2) - center = (int(w / 2), int(h / 2)) - radius = int(min(center[0], center[1], w - center[0], h - center[1])) - self._bedlevelvisualizer_logger.debug("center = " + str(center)) - self._bedlevelvisualizer_logger.debug("radius = " + str(radius)) - - mask = [[False for i in range(w)] - for j in range(h)] # init emply matrix - for i in range(h): - for j in range(w): - mask[i][j] = math.sqrt( - (j - center[0]) ** 2 + (i - center[1]) ** 2) <= radius - self._bedlevelvisualizer_logger.debug("mask = " + str(mask)) - return mask - - def unique_floats(self, list1): - s_list = set(list1) - u_list = (list(s_list)) - return list(map(float, u_list)) - - # SimpleApiPlugin - - def get_api_commands(self): - return dict(stopProcessing=[]) - - def on_api_get(self, request): - if request.args.get("stopProcessing"): - self._bedlevelvisualizer_logger.debug( - "Canceling mesh collection per user request" - ) - self._bedlevelvisualizer_logger.debug( - "Mesh data collected prior to cancel:" - ) - self._bedlevelvisualizer_logger.debug(self.mesh) - self.processing = False - self.mesh_collection_canceled = True - self.mesh = [] - self._bedlevelvisualizer_logger.debug("Mesh data after clearing:") - self._bedlevelvisualizer_logger.debug(self.mesh) - response = dict(stopped=True) - return flask.jsonify(response) - - # Custom Event Hook - - def send_mesh_data_collected_event(self, mesh_data, bed_data): - event = Events.PLUGIN_BEDLEVELVISUALIZER_MESH_DATA_COLLECTED - custom_payload = dict(mesh=mesh_data, bed=bed_data) - self._event_bus.fire(event, payload=custom_payload) - - def register_custom_events(*args, **kwargs): - return ["mesh_data_collected"] - - # Software Update Hook - - def get_update_information(self): - return dict( - bedlevelvisualizer=dict( - displayName="Bed Visualizer", - displayVersion=self._plugin_version, - # version check: github repository - type="github_release", - user="jneilliii", - repo="OctoPrint-BedLevelVisualizer", - current=self._plugin_version, - stable_branch=dict( - name="Stable", branch="master", comittish=["master"] - ), - prerelease_branches=[ - dict( - name="Release Candidate", - branch="rc", - comittish=["rc", "master"], - ) - ], - # update method: pip - pip="https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/archive/{target_version}.zip", - ) - ) + INTERVAL = 2.0 + MAX_HISTORY = 10 + + def __init__(self): + self.processing = False + self.printing = False + self.mesh_collection_canceled = False + self.old_marlin = False + self.makergear = False + self.old_marlin_offset = 0 + self.repetier_firmware = False + self.mesh = [] + self.box = [] + self.flip_x = False + self.flip_y = False + self.timeout_override = False + self._logger = logging.getLogger( + "octoprint.plugins.bedlevelvisualizer") + self._bedlevelvisualizer_logger = logging.getLogger( + "octoprint.plugins.bedlevelvisualizer.debug" + ) + self.regex_mesh_data = re.compile( + r"^((G33.+)|(Bed.+)|(Llit.+)|(\d+\s)|(\|\s*)|(\s*\[\s+)|(\[?\s?\+?-?\d+?\.\d+\]?\s*,?)|(\s?\.\s*)|(NAN," + r"?)|(nan\s?,?)|(=======\s?,?))+(\s+\],?)?$" + ) + self.regex_bed_level_correction = re.compile( + r"^(Mesh )?Bed Level (Correction Matrix|data):.*$" + ) + self.regex_nans = re.compile(r"^(nan\s?,?)+$") + self.regex_equal_signs = re.compile(r"^(=======\s?,?)+$") + self.regex_mesh_data_extraction = re.compile(r"(\+?-?\d*\.\d*)") + self.regex_old_marlin = re.compile(r"^(Bed x:.+)|(Llit x:.+)$") + self.regex_makergear = re.compile( + r"^(\s=\s\[)(\s*,?\s*\[(\s?-?\d+.\d+,?)+\])+\];?$" + ) + self.regex_repetier = re.compile(r"^G33 X.+$") + self.regex_nan = re.compile(r"(nan)") + self.regex_catmull = re.compile( + r"^Subdivided with CATMULL ROM Leveling Grid:.*$" + ) + self.regex_extracted_box = re.compile(r"\(\s*(\d+),\s*(\d+)\)") + self.regex_eqn_coefficients = re.compile(r"^Eqn coefficients:.+$") + self.regex_unknown_command = re.compile( + r"echo:Unknown command: \"@BEDLEVELVISUALIZER\"" + ) + + # SettingsPlugin + + def get_settings_defaults(self): + return dict( + command="", + stored_mesh=[], + stored_mesh_x=[], + stored_mesh_y=[], + stored_mesh_z_height=2, + save_mesh=True, + mesh_timestamp="", + flipX=False, + flipY=False, + stripFirst=False, + use_center_origin=False, + use_relative_offsets=False, + timeout=1800, + rotation=0, + ignore_correction_matrix=False, + screw_hub=0.5, + mesh_unit=1, + reverse=False, + showdegree=False, + imperial=False, + descending_y=False, + descending_x=False, + debug_logging=False, + commands=[], + show_labels=True, + show_webcam=False, + graph_z_limits="-2,2", + colorscale='[[0, "rebeccapurple"],[0.4, "rebeccapurple"],[0.45, "blue"],[0.5, "green"],[0.55, "yellow"],[0.6, "red"],[1, "red"]]', + save_snapshots=False, + camera_position="-1.25,-1.25,0.25" + ) + + def get_settings_version(self): + return 1 + + def on_settings_migrate(self, target, current=None): + if current is None or current < 1: + # Loop through commands adding new fields + commands_new = [] + self._logger.info(self._settings.get(["commands"])) + for command in self._settings.get(["commands"]): + command["confirmation"] = False + command["input"] = [] + command["message"] = "" + commands_new.append(command) + self._settings.set(["commands"], commands_new) + + def on_settings_save(self, data): + old_debug_logging = self._settings.get_boolean(["debug_logging"]) + + octoprint.plugin.SettingsPlugin.on_settings_save(self, data) + + new_debug_logging = self._settings.get_boolean(["debug_logging"]) + if old_debug_logging != new_debug_logging: + if new_debug_logging: + self._bedlevelvisualizer_logger.setLevel(logging.DEBUG) + else: + self._bedlevelvisualizer_logger.setLevel(logging.INFO) + + # StartupPlugin + + def on_startup(self, host, port): + # setup customized logger + from octoprint.logging.handlers import CleaningTimedRotatingFileHandler + + bedlevelvisualizer_logging_handler = CleaningTimedRotatingFileHandler( + self._settings.get_plugin_logfile_path(postfix="debug"), + when="D", + backupCount=3, + ) + bedlevelvisualizer_logging_handler.setFormatter( + logging.Formatter("[%(asctime)s] %(levelname)s: %(message)s") + ) + bedlevelvisualizer_logging_handler.setLevel(logging.DEBUG) + + self._bedlevelvisualizer_logger.addHandler( + bedlevelvisualizer_logging_handler) + self._bedlevelvisualizer_logger.setLevel( + logging.DEBUG + if self._settings.get_boolean(["debug_logging"]) + else logging.INFO + ) + self._bedlevelvisualizer_logger.propagate = False + + def on_after_startup(self): + self._logger.info("OctoPrint-BedLevelVisualizer loaded!") + + # AssetPlugin + + def get_assets(self): + return dict( + js=[ + "js/jquery-ui.min.js", + "js/knockout-sortable.1.2.0.js", + "js/fontawesome-iconpicker.js", + "js/ko.iconpicker.js", + "js/plotly-gl3d.min.js", + "js/bedlevelvisualizer.js", + ], + css=[ + "css/font-awesome.min.css", + "css/font-awesome-v4-shims.min.css", + "css/fontawesome-iconpicker.css", + "css/bedlevelvisualizer.css", + ], + ) + + # EventHandlePlugin + + def on_event(self, event, payload): + # Cancelled Print Interpreted Event + if event == Events.PRINT_FAILED and not self._printer.is_closed_or_error(): + self.printing = False + # Print Started Event + if event == Events.PRINT_STARTED: + self.printing = True + # Print Done Event + if event == Events.PRINT_DONE: + self.printing = False + + # atcommand hook + + def enable_mesh_collection(self): + self.mesh = [] + self.box = [] + self._bedlevelvisualizer_logger.debug("mesh collection started") + self.processing = True + self._plugin_manager.send_plugin_message( + self._identifier, dict(processing=True) + ) + + def flag_mesh_collection(self, comm_instance, phase, command, parameters, tags=None, *args, **kwargs): + if command == "BEDLEVELVISUALIZER": + if parameters: + self._bedlevelvisualizer_logger.debug( + "Timeout override: {}".format(parameters)) + self._plugin_manager.send_plugin_message( + self._identifier, {"timeout_override": parameters}) + thread = threading.Thread(target=self.enable_mesh_collection) + thread.daemon = True + thread.start() + return + + def process_gcode(self, comm, line, *args, **kwargs): + if self.printing and line.strip() == "echo:BEDLEVELVISUALIZER": + thread = threading.Thread(target=self.enable_mesh_collection) + thread.daemon = True + thread.start() + return line + if not self.processing: + return line + + if self._settings.get_boolean( + ["ignore_correction_matrix"] + ) and self.regex_bed_level_correction.match(line.strip()): + line = "ok" + + if "ok" not in line: + if self.regex_mesh_data.match(line.strip()): + if self.regex_bed_level_correction.match( + line.strip() + ) and not self._settings.get_boolean(["ignore_correction_matrix"]): + self._bedlevelvisualizer_logger.debug( + "resetting mesh to blank because of correction matrix" + ) + self.mesh = [] + return line + if self.regex_nans.match(line.strip()): + self._bedlevelvisualizer_logger.debug( + "stupid smoothieware issue..." + ) + line = self.regex_nan.sub("0.0", line) + if self.regex_equal_signs.match(line.strip()): + self._bedlevelvisualizer_logger.debug( + "stupid equal signs...") + line = self.regex_equal_signs.sub("0.0", line) + + new_line = self.regex_mesh_data_extraction.findall(line) + self._bedlevelvisualizer_logger.debug(new_line) + + if self.regex_old_marlin.match(line.strip()): + self.old_marlin = True + self._bedlevelvisualizer_logger.debug( + "using old marlin flag") + + if self.regex_repetier.match(line.strip()): + self.repetier_firmware = True + self._bedlevelvisualizer_logger.debug( + "using repetier flag") + + if self._settings.get_boolean(["stripFirst"]): + new_line.pop(0) + if len(new_line) > 0: + self.mesh.append(new_line) + + elif self.regex_catmull.match(line.strip()): + self._bedlevelvisualizer_logger.debug( + "resetting mesh to blank because of CATMULL subdivision" + ) + self.mesh = [] + + elif self.regex_extracted_box.findall(line.strip()): + box = self.regex_extracted_box.findall(line.strip()) + if len(box) == 2: + self.box += [[float(x), float(y)] for x, y in box] + if len(self.box) == 2: + if self.box[0][0] > self.box[1][0]: + self.flip_x = True + if len(self.box) == 4: + if self.box[0][1] > self.box[3][1]: + self.flip_y = True + + if self.regex_makergear.match(line) is not None: + self._bedlevelvisualizer_logger.debug( + "using makergear format report") + self.mesh = json.loads( + line.strip().replace("= ", "").replace(";", "")) + self.old_marlin = True + self.makergear = True + self._bedlevelvisualizer_logger.debug(self.mesh) + line = "ok" + + if self.old_marlin and self.regex_eqn_coefficients.match(line.strip()): + self.old_marlin_offset = self.regex_eqn_coefficients.sub( + r"\2", line.strip() + ) + self._bedlevelvisualizer_logger.debug( + "using old marlin offset") + + if "Home XYZ first" in line or "Invalid mesh" in line: + reason = "data is invalid" if "Invalid" in line else "homing required" + self._bedlevelvisualizer_logger.debug( + "stopping mesh collection because %s" % reason + ) + + if "Home XYZ first" in line: + self._plugin_manager.send_plugin_message( + self._identifier, dict(error=line.strip()) + ) + self.processing = False + + if ("ok" in line or (self.repetier_firmware and "T:" in line)) and len( + self.mesh + ) > 0: + octoprint_printer_profile = self._printer_profile_manager.get_current() + volume = octoprint_printer_profile["volume"] + bed_type = volume["formFactor"] + custom_box = volume["custom_box"] + # see if we have a custom bounding box + if custom_box: + min_x = custom_box["x_min"] + max_x = custom_box["x_max"] + min_y = custom_box["y_min"] + max_y = custom_box["y_max"] + min_z = custom_box["z_min"] + max_z = custom_box["z_max"] + else: + min_x = 0 + max_x = volume["width"] + min_y = 0 + max_y = volume["depth"] + min_z = 0 + max_z = volume["height"] + if len(self.box) == 4: + min_x = min([x for x, y in self.box]) + max_x = max([x for x, y in self.box]) + min_y = min([y for x, y in self.box]) + max_y = max([y for x, y in self.box]) + + bed = dict( + type=bed_type, + x_min=min_x, + x_max=max_x, + y_min=min_y, + y_max=max_y, + z_min=min_z, + z_max=max_z, + ) + self._bedlevelvisualizer_logger.debug(bed) + + if self.old_marlin or self.repetier_firmware: + self._bedlevelvisualizer_logger.debug( + "initial mesh data: " + str(self.mesh)) + if self.makergear: + a = self.mesh + else: + # rearrange matrix from point lists to coordinate lists + a = list(zip(*self.mesh)) + self._bedlevelvisualizer_logger.debug( + "mesh after swapaxes: " + str(a)) + + # filter coordinate values + self._bedlevelvisualizer_logger.debug("a = " + str(a)) + x = self.unique_floats(a[0]) + self._bedlevelvisualizer_logger.debug("x = " + str(x)) + y = self.unique_floats(a[1]) + self._bedlevelvisualizer_logger.debug("y = " + str(y)) + rows, cols, vals = (len(y), len(x), len(list(a[2]))) + z = [[0 for i in range(cols)] + for j in range(rows)] # init empty matrix + k = 0 + # filling array + for i in range(rows): + for j in range(cols): + z[i][j] = a[2][k] + k += 1 + self._bedlevelvisualizer_logger.debug("z = " + str(z)) + + # dealing with offset + offset = 0 + if self.old_marlin: + offset = self.old_marlin_offset + self._bedlevelvisualizer_logger.debug( + "mesh offset = " + str(offset)) + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), z)) + self._bedlevelvisualizer_logger.debug( + "mesh after offset: " + str(self.mesh)) + + self._bedlevelvisualizer_logger.debug("stopping mesh collection") + + if bool(self.flip_x) != bool(self._settings.get(["flipX"])): + self.mesh = list(map(lambda x: list(reversed(x)), self.mesh)) + self._bedlevelvisualizer_logger.debug( + "flipped x axis: " + str(self.mesh)) + + if bool(self.flip_y) != bool(self._settings.get(["flipY"])): + self.mesh.reverse() + self._bedlevelvisualizer_logger.debug( + "flipped y axis: " + str(self.mesh)) + + if self._settings.get_boolean(["use_relative_offsets"]): + self._bedlevelvisualizer_logger.debug("using relative offsets") + # shifting mesh down by origin point height + if self._settings.get_boolean(["use_center_origin"]): + self._bedlevelvisualizer_logger.debug( + "using center origin") + # finding origin point in center + offset = self.mesh[len(self.mesh[0]) // + 2][len(self.mesh) // 2] + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) + else: + offset = self.mesh[0][0] + self.mesh = list( + map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) + + if int(self._settings.get_int(["rotation"])) > 0: + self._bedlevelvisualizer_logger.debug( + "rotating mesh by %s degrees" % self._settings.get(["rotation"])) + + for i in range(int(self._settings.get_int(["rotation"]) / 90)): + self.mesh = list(zip(*self.mesh))[::-1] + + if bed_type == "circular": + m = len(self.mesh) + n = len(self.mesh[0]) + circle_mask = self.create_circular_mask(m, n) + for i in range(m): + for j in range(n): + if circle_mask[i][j] == False: + self.mesh[i][j] = None + self._bedlevelvisualizer_logger.debug( + "masked mesh = " + str(self.mesh)) + + self.processing = False + self._bedlevelvisualizer_logger.debug(self.mesh) + self._plugin_manager.send_plugin_message( + self._identifier, dict(mesh=self.mesh, bed=bed) + ) + self.send_mesh_data_collected_event(self.mesh, bed) + + return line + + def create_circular_mask(self, h, w, center=None, radius=None): + # cw = int(w / 2) + # ch = int(h / 2) + center = (int(w / 2), int(h / 2)) + radius = int(min(center[0], center[1], w - center[0], h - center[1])) + self._bedlevelvisualizer_logger.debug("center = " + str(center)) + self._bedlevelvisualizer_logger.debug("radius = " + str(radius)) + + mask = [[False for i in range(w)] + for j in range(h)] # init emply matrix + for i in range(h): + for j in range(w): + mask[i][j] = math.sqrt( + (j - center[0]) ** 2 + (i - center[1]) ** 2) <= radius + self._bedlevelvisualizer_logger.debug("mask = " + str(mask)) + return mask + + def unique_floats(self, list1): + s_list = set(list1) + u_list = (list(s_list)) + return list(map(float, u_list)) + + # SimpleApiPlugin + + def get_api_commands(self): + return dict(stopProcessing=[]) + + def on_api_get(self, request): + if request.args.get("stopProcessing"): + self._bedlevelvisualizer_logger.debug( + "Canceling mesh collection per user request" + ) + self._bedlevelvisualizer_logger.debug( + "Mesh data collected prior to cancel:" + ) + self._bedlevelvisualizer_logger.debug(self.mesh) + self.processing = False + self.mesh_collection_canceled = True + self.mesh = [] + self._bedlevelvisualizer_logger.debug("Mesh data after clearing:") + self._bedlevelvisualizer_logger.debug(self.mesh) + response = dict(stopped=True) + return flask.jsonify(response) + + # Custom Event Hook + + def send_mesh_data_collected_event(self, mesh_data, bed_data): + event = Events.PLUGIN_BEDLEVELVISUALIZER_MESH_DATA_COLLECTED + custom_payload = dict(mesh=mesh_data, bed=bed_data) + self._event_bus.fire(event, payload=custom_payload) + + def register_custom_events(*args, **kwargs): + return ["mesh_data_collected"] + + # Software Update Hook + + def get_update_information(self): + return dict( + bedlevelvisualizer=dict( + displayName="Bed Visualizer", + displayVersion=self._plugin_version, + # version check: github repository + type="github_release", + user="jneilliii", + repo="OctoPrint-BedLevelVisualizer", + current=self._plugin_version, + stable_branch=dict( + name="Stable", branch="master", comittish=["master"] + ), + prerelease_branches=[ + dict( + name="Release Candidate", + branch="rc", + comittish=["rc", "master"], + ) + ], + # update method: pip + pip="https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/archive/{target_version}.zip", + ) + ) __plugin_name__ = "Bed Visualizer" @@ -531,13 +532,13 @@ def get_update_information(self): def __plugin_load__(): - global __plugin_implementation__ - __plugin_implementation__ = bedlevelvisualizer() - - global __plugin_hooks__ - __plugin_hooks__ = { - "octoprint.comm.protocol.atcommand.sending": __plugin_implementation__.flag_mesh_collection, - "octoprint.comm.protocol.gcode.received": __plugin_implementation__.process_gcode, - "octoprint.events.register_custom_events": __plugin_implementation__.register_custom_events, - "octoprint.plugin.softwareupdate.check_config": __plugin_implementation__.get_update_information, - } + global __plugin_implementation__ + __plugin_implementation__ = bedlevelvisualizer() + + global __plugin_hooks__ + __plugin_hooks__ = { + "octoprint.comm.protocol.atcommand.sending": __plugin_implementation__.flag_mesh_collection, + "octoprint.comm.protocol.gcode.received": __plugin_implementation__.process_gcode, + "octoprint.events.register_custom_events": __plugin_implementation__.register_custom_events, + "octoprint.plugin.softwareupdate.check_config": __plugin_implementation__.get_update_information, + } diff --git a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js index 863f822..991333f 100644 --- a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js +++ b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js @@ -218,6 +218,7 @@ $(function () { var background_color = $('#tabs_content').css('background-color'); var foreground_color = $('#tabs_content').css('color'); + var camera_position = self.settingsViewModel.settings.plugins.bedlevelvisualizer.camera_position().split(","); var layout = { //title: 'Bed Leveling Mesh', @@ -233,9 +234,9 @@ $(function () { scene: { camera: { eye: { - x: -1.25, - y: -1.25, - z: 0.25 + x: (camera_position.length === 3) ? camera_position[0] : -1.25, + y: (camera_position.length === 3) ? camera_position[1] : -1.25, + z: (camera_position.length === 3) ? camera_position[2] : 0.25 } }, xaxis: { diff --git a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 index ed9ab96..a0f21e0 100644 --- a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 +++ b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 @@ -58,6 +58,14 @@
+
+ +
+ +
+
+
+
diff --git a/setup.py b/setup.py index 96fca94..b401276 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.1.0rc1" +plugin_version = "1.1.0rc2" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module From fc39413007ce42ce3a1d76d03fb97855625fb7d4 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sun, 2 May 2021 01:25:56 -0400 Subject: [PATCH 05/32] add `Camera Position` doc examples --- wiki/camera-positions.md | 23 +++++++++++++++++++++++ wiki/camera_position_above.png | Bin 0 -> 63410 bytes wiki/camera_position_back_right.png | Bin 0 -> 93966 bytes wiki/camera_position_default.png | Bin 0 -> 58430 bytes wiki/index.md | 5 +++++ 5 files changed, 28 insertions(+) create mode 100644 wiki/camera-positions.md create mode 100644 wiki/camera_position_above.png create mode 100644 wiki/camera_position_back_right.png create mode 100644 wiki/camera_position_default.png diff --git a/wiki/camera-positions.md b/wiki/camera-positions.md new file mode 100644 index 0000000..88606cb --- /dev/null +++ b/wiki/camera-positions.md @@ -0,0 +1,23 @@ +# Camera Positions + +Plotly camera positions are strange, as they are not based on the graphed area for positioning. To find out more information about camera positions in Plotly check out the python documentation [here](https://plotly.com/python/3d-camera-controls/) as it gives the best explanation. The Plotly.js library works the same way, it's just not described in detail. The `Camera Postition` setting in the Bed Level Visualizer plugin specifically controls the eye parameter. + +In the documentation linked above and demonstrated in commonly requested configuration examples below you can find what to put in the `Camera Position` setting. + +## Default Setting + +`-1.25,-1.25,0.25` + +![camera_position_default](camera_position_default.png) + +## Origin Back Right + +`0,2,1` + +![camera_position_back_right](camera_position_back_right.png) + +## From Above + +`0,-0.1,2` + +![camera_position_above](camera_position_above.png) diff --git a/wiki/camera_position_above.png b/wiki/camera_position_above.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4845244e8be65f97e17fcc76e6ea3de9126179 GIT binary patch literal 63410 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 z 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

LoqT^E179e++O~6I> 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%0DVhcx)h;+4-&FI}K=g-% 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≥=P7s`zf`Yvhq)>utXUl!BGN7!o{4d4 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∾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 z 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 Date: Fri, 7 May 2021 21:27:24 +0300 Subject: [PATCH 06/32] Fixed circular mask, improved debug output --- octoprint_bedlevelvisualizer/__init__.py | 103 +++++++++++++---------- 1 file changed, 58 insertions(+), 45 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index 5fabe1b..689cd62 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -9,8 +9,7 @@ import logging import flask import json -import math - +from copy import deepcopy class bedlevelvisualizer( octoprint.plugin.StartupPlugin, @@ -33,6 +32,7 @@ def __init__(self): self.old_marlin_offset = 0 self.repetier_firmware = False self.mesh = [] + self.bed_type = None self.box = [] self.flip_x = False self.flip_y = False @@ -317,7 +317,7 @@ def process_gcode(self, comm, line, *args, **kwargs): ) > 0: octoprint_printer_profile = self._printer_profile_manager.get_current() volume = octoprint_printer_profile["volume"] - bed_type = volume["formFactor"] + self.bed_type = volume["formFactor"] custom_box = volume["custom_box"] # see if we have a custom bounding box if custom_box: @@ -341,7 +341,7 @@ def process_gcode(self, comm, line, *args, **kwargs): max_y = max([y for x, y in self.box]) bed = dict( - type=bed_type, + type=self.bed_type, x_min=min_x, x_max=max_x, y_min=min_y, @@ -352,22 +352,20 @@ def process_gcode(self, comm, line, *args, **kwargs): self._bedlevelvisualizer_logger.debug(bed) if self.old_marlin or self.repetier_firmware: - self._bedlevelvisualizer_logger.debug( - "initial mesh data: " + str(self.mesh)) + self.print_mesh_debug("initial mesh data: ", self.mesh) if self.makergear: a = self.mesh else: # rearrange matrix from point lists to coordinate lists a = list(zip(*self.mesh)) - self._bedlevelvisualizer_logger.debug( - "mesh after swapaxes: " + str(a)) + self.print_mesh_debug("mesh after swapaxes: ", a) # filter coordinate values - self._bedlevelvisualizer_logger.debug("a = " + str(a)) + self.print_mesh_debug("a = ", a) x = self.unique_floats(a[0]) - self._bedlevelvisualizer_logger.debug("x = " + str(x)) + self.print_mesh_debug("x = ", x) y = self.unique_floats(a[1]) - self._bedlevelvisualizer_logger.debug("y = " + str(y)) + self.print_mesh_debug("y = ", y) rows, cols, vals = (len(y), len(x), len(list(a[2]))) z = [[0 for i in range(cols)] for j in range(rows)] # init empty matrix @@ -377,7 +375,7 @@ def process_gcode(self, comm, line, *args, **kwargs): for j in range(cols): z[i][j] = a[2][k] k += 1 - self._bedlevelvisualizer_logger.debug("z = " + str(z)) + self.print_mesh_debug("z = ", z) # dealing with offset offset = 0 @@ -387,20 +385,17 @@ def process_gcode(self, comm, line, *args, **kwargs): "mesh offset = " + str(offset)) self.mesh = list( map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), z)) - self._bedlevelvisualizer_logger.debug( - "mesh after offset: " + str(self.mesh)) + self.print_mesh_debug("mesh after offset: ", self.mesh) self._bedlevelvisualizer_logger.debug("stopping mesh collection") if bool(self.flip_x) != bool(self._settings.get(["flipX"])): self.mesh = list(map(lambda x: list(reversed(x)), self.mesh)) - self._bedlevelvisualizer_logger.debug( - "flipped x axis: " + str(self.mesh)) + self.print_mesh_debug("flipped x axis: ", self.mesh) if bool(self.flip_y) != bool(self._settings.get(["flipY"])): self.mesh.reverse() - self._bedlevelvisualizer_logger.debug( - "flipped y axis: " + str(self.mesh)) + self.print_mesh_debug("flipped y axis: ", self.mesh) if self._settings.get_boolean(["use_relative_offsets"]): self._bedlevelvisualizer_logger.debug("using relative offsets") @@ -409,8 +404,7 @@ def process_gcode(self, comm, line, *args, **kwargs): self._bedlevelvisualizer_logger.debug( "using center origin") # finding origin point in center - offset = self.mesh[len(self.mesh[0]) // - 2][len(self.mesh) // 2] + offset = self.mesh[len(self.mesh[0]) // 2][len(self.mesh) // 2] self.mesh = list( map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) else: @@ -425,19 +419,18 @@ def process_gcode(self, comm, line, *args, **kwargs): for i in range(int(self._settings.get_int(["rotation"]) / 90)): self.mesh = list(zip(*self.mesh))[::-1] - if bed_type == "circular": - m = len(self.mesh) - n = len(self.mesh[0]) - circle_mask = self.create_circular_mask(m, n) - for i in range(m): - for j in range(n): - if circle_mask[i][j] == False: + if self.bed_type == "circular": + y = len(self.mesh) + x = len(self.mesh[0]) + circle_mask = self.create_circular_mask(y, x) + for i in range(y): + for j in range(x): + if not circle_mask[i][j]: self.mesh[i][j] = None - self._bedlevelvisualizer_logger.debug( - "masked mesh = " + str(self.mesh)) self.processing = False - self._bedlevelvisualizer_logger.debug(self.mesh) + self.print_mesh_debug("Final mesh:", self.mesh) + self._plugin_manager.send_plugin_message( self._identifier, dict(mesh=self.mesh, bed=bed) ) @@ -445,28 +438,48 @@ def process_gcode(self, comm, line, *args, **kwargs): return line - def create_circular_mask(self, h, w, center=None, radius=None): - # cw = int(w / 2) - # ch = int(h / 2) - center = (int(w / 2), int(h / 2)) - radius = int(min(center[0], center[1], w - center[0], h - center[1])) - self._bedlevelvisualizer_logger.debug("center = " + str(center)) - self._bedlevelvisualizer_logger.debug("radius = " + str(radius)) - - mask = [[False for i in range(w)] - for j in range(h)] # init emply matrix - for i in range(h): - for j in range(w): - mask[i][j] = math.sqrt( - (j - center[0]) ** 2 + (i - center[1]) ** 2) <= radius - self._bedlevelvisualizer_logger.debug("mask = " + str(mask)) + def create_circular_mask(self, y, x): + center = y/2-0.5, x/2-0.5 + radius = min(center[0], center[1], y - center[0], x - center[1]) + self._bedlevelvisualizer_logger.debug("Center = " + str(center) + ", Radius = " + str(radius)) + + # init emply matrix + mask = [[False for j in range(x)] + for i in range(y)] + # creating rough circular mask with wiggle room to surely include all points + for i in range(y): + for j in range(x): + mask[i][j] = abs((i-center[0])**2 + (j-center[1])**2) - radius**2 < 1.5**2 + + self.print_mesh_debug("mask:", mask) return mask + # find all unique values in a list def unique_floats(self, list1): s_list = set(list1) u_list = (list(s_list)) return list(map(float, u_list)) + # output mesh line by line, with right coordinate directions + def print_mesh_debug(self, message, mesh): + self._bedlevelvisualizer_logger.debug(message) + l = len(mesh) + # print mask data + for i in range(l): + self._bedlevelvisualizer_logger.debug(mesh[l-i-1]) + # print graphical representation + if self.bed_type == "circular": + pic = deepcopy(mesh) + for i in range(l): + for j in range(len(pic[0])): + if pic[i][j] in [False, None, "."]: + pic[i][j] = "·" + else: + pic[i][j] = "êšš" + for i in range(l): + self._bedlevelvisualizer_logger.debug(pic[l-i-1]) + return + # SimpleApiPlugin def get_api_commands(self): From e8080ef400022ce3143b429689ac2331b287d4e6 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Fri, 7 May 2021 21:14:15 -0400 Subject: [PATCH 07/32] enforce float on offset for parsing relative offsets, #424 --- octoprint_bedlevelvisualizer/__init__.py | 8 ++++---- setup.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index 689cd62..aef8c5b 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -406,11 +406,11 @@ def process_gcode(self, comm, line, *args, **kwargs): # finding origin point in center offset = self.mesh[len(self.mesh[0]) // 2][len(self.mesh) // 2] self.mesh = list( - map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) + map(lambda y: list(map(lambda x: round(float(x) - float(offset), 4), y)), self.mesh)) else: offset = self.mesh[0][0] self.mesh = list( - map(lambda y: list(map(lambda x: round(float(x) - offset, 4), y)), self.mesh)) + map(lambda y: list(map(lambda x: round(float(x) - float(offset), 4), y)), self.mesh)) if int(self._settings.get_int(["rotation"])) > 0: self._bedlevelvisualizer_logger.debug( @@ -442,7 +442,7 @@ def create_circular_mask(self, y, x): center = y/2-0.5, x/2-0.5 radius = min(center[0], center[1], y - center[0], x - center[1]) self._bedlevelvisualizer_logger.debug("Center = " + str(center) + ", Radius = " + str(radius)) - + # init emply matrix mask = [[False for j in range(x)] for i in range(y)] @@ -463,7 +463,7 @@ def unique_floats(self, list1): # output mesh line by line, with right coordinate directions def print_mesh_debug(self, message, mesh): self._bedlevelvisualizer_logger.debug(message) - l = len(mesh) + l = len(mesh) # print mask data for i in range(l): self._bedlevelvisualizer_logger.debug(mesh[l-i-1]) diff --git a/setup.py b/setup.py index b401276..ef66de8 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.1.0rc2" +plugin_version = "1.1.0rc3" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module From 14da462034d0d5bd34f3cccfc6fe55f5023d8972 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sat, 8 May 2021 04:46:29 -0400 Subject: [PATCH 08/32] update wiki and readme, add missing plotly js library --- README.md | 9 +- octoprint_bedlevelvisualizer/__init__.py | 8 +- .../static/js/bedlevelvisualizer.js | 4 +- .../static/js/plotly-gl3d-2.0.0-rc.0.min.js | 52 +++++ .../bedlevelvisualizer_settings.jinja2 | 219 +++++++++--------- wiki/index.md | 114 ++++++--- wiki/screenshot_tab.png | Bin 0 -> 74870 bytes wiki/settings_tab_collection.png | Bin 0 -> 75561 bytes wiki/settings_tab_commands.png | Bin 0 -> 68953 bytes wiki/settings_tab_corrections.png | Bin 0 -> 97822 bytes wiki/settings_tab_data.png | Bin 0 -> 99161 bytes wiki/settings_tab_support.png | Bin 0 -> 72180 bytes wiki/settings_tab_visualization.png | Bin 0 -> 76985 bytes 13 files changed, 261 insertions(+), 145 deletions(-) create mode 100644 octoprint_bedlevelvisualizer/static/js/plotly-gl3d-2.0.0-rc.0.min.js create mode 100644 wiki/screenshot_tab.png create mode 100644 wiki/settings_tab_collection.png create mode 100644 wiki/settings_tab_commands.png create mode 100644 wiki/settings_tab_corrections.png create mode 100644 wiki/settings_tab_data.png create mode 100644 wiki/settings_tab_support.png create mode 100644 wiki/settings_tab_visualization.png diff --git a/README.md b/README.md index 15356ec..b6efcf0 100644 --- a/README.md +++ b/README.md @@ -59,12 +59,11 @@ For more info, see the [wiki](wiki/index.md) ## Known Issues -- Install will fail silently in Python 3 due to missing system dependencies. You may have to SSH to your pi and run the command `sudo apt install libatlas3-base` to get the plugin to load. -- If installing on lower memory machines like the Orange Pi Zero or Raspberry Pi A numpy will have issues compiling. Check the instructions [here](https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/141#issuecomment-542227338) for a potential solution. +- ~~Install will fail silently in Python 3 due to missing system dependencies. You may have to SSH to your pi and run the command `sudo apt install libatlas3-base` to get the plugin to load.~~ Since version 1.1.0 the plugin no longer has a dependency on numpy. +- ~~If installing on lower memory machines like the Orange Pi Zero or Raspberry Pi A numpy will have issues compiling. Check the instructions [here](https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/141#issuecomment-542227338) for a potential solution.~~ Since version 1.1.0 the plugin no longer has a dependency on numpy. - System Command Editor and Custom Control Editor plugins have a known issue [here](https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/228) and [here](https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/244) where your customizations for those plugins get wiped when used in conjunction with Bed Level Visualizer and a few other plugins. To avoid this from happening to you disable Bed Level Visualizer and after restarting OctoPrint configure your customizations in those plugins and save. Immediately disable those plugins and re-enable Bed Level Visualizer restart OctoPrint and Reload. Your customizations to controls and the system menu will still remain and the bug that exists in those plugins will be prevented from clearing your customizations. I highly recommend you take regular backups as well. -- Since version 0.1.3 there is a python dependency on numpy. As a result; if you don't already have numpy the install can take in excess of 30 minutes to complete on a pi. Just be patient and let it run and eventually the plugin install will finish. -- If your device have less than 512MB of ram your numpy installation will most likely fail. See [#141](https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/141#issuecomment-542227338) for solution. -- If you have Marlin's Auto Temperature Reporting Feature enabled you will want to have M155 S30 and M155 S3 surrounding your G29 command, see settings screenshot, otherwise the collected data will be tainted. +- ~~Since version 0.1.3 there is a python dependency on numpy. As a result; if you don't already have numpy the install can take in excess of 30 minutes to complete on a pi. Just be patient and let it run and eventually the plugin install will finish.~~ Since version 1.1.0 the plugin no longer has a dependency on numpy. +- If you have Marlin's Auto Temperature Reporting Feature enabled you will want to have M155 S30 and M155 S3 surrounding your G29 command, see settings screenshot, otherwise the collected data could be tainted. Use a value for the first M155 command that is long enough for the probing process to complete. --- diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index aef8c5b..d80591f 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -100,7 +100,8 @@ def get_settings_defaults(self): graph_z_limits="-2,2", colorscale='[[0, "rebeccapurple"],[0.4, "rebeccapurple"],[0.45, "blue"],[0.5, "green"],[0.55, "yellow"],[0.6, "red"],[1, "red"]]', save_snapshots=False, - camera_position="-1.25,-1.25,0.25" + camera_position="-1.25,-1.25,0.25", + date_locale_format="" ) def get_settings_version(self): @@ -178,6 +179,11 @@ def get_assets(self): ], ) + # TemplatePlugin + + def get_template_vars(self): + return {"plugin_version": self._plugin_version} + # EventHandlePlugin def on_event(self, event, payload): diff --git a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js index 991333f..66eaa47 100644 --- a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js +++ b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js @@ -87,7 +87,7 @@ $(function () { }; self.onAfterBinding = function() { - $('div#settings_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#tab_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#wizard_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#settings_plugin_bedlevelvisualizer pre[data-toggle="tooltip"]').tooltip(); + $('div#settings_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#tab_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#wizard_plugin_bedlevelvisualizer i[data-toggle="tooltip"],div#settings_plugin_bedlevelvisualizer pre[data-toggle="tooltip"],div#settings_plugin_bedlevelvisualizer input[data-toggle="tooltip"],div#settings_plugin_bedlevelvisualizer div.input-append[data-toggle="tooltip"]').tooltip(); $('#bedlevelvisualizer_tabs a').on('show.bs.tab', function(event){ if($(event.target).text() === 'Current Mesh Data'){ self.settings_active(true); @@ -188,7 +188,7 @@ $(function () { self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_x(mesh_data_x); self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_y(mesh_data_y); self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_z_height(mesh_data_z_height); - self.settingsViewModel.settings.plugins.bedlevelvisualizer.mesh_timestamp(new Date().toLocaleString()); + self.settingsViewModel.settings.plugins.bedlevelvisualizer.mesh_timestamp(new Date().toLocaleString(self.settingsViewModel.settings.plugins.bedlevelvisualizer.date_locale_format())); self.settingsViewModel.saveData(); } } diff --git a/octoprint_bedlevelvisualizer/static/js/plotly-gl3d-2.0.0-rc.0.min.js b/octoprint_bedlevelvisualizer/static/js/plotly-gl3d-2.0.0-rc.0.min.js new file mode 100644 index 0000000..3ddf0b9 --- /dev/null +++ b/octoprint_bedlevelvisualizer/static/js/plotly-gl3d-2.0.0-rc.0.min.js @@ -0,0 +1,52 @@ +/** +* plotly.js (gl3d - minified) v2.0.0-rc.0 +* Copyright 2012-2021, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}((function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=r[o]={exports:{}};e[o][0].call(c.exports,(function(t){return a(e[o][1][t]||t)}),c,c.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .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:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans', 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,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":549}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":722}],3:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":416}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":658}],5:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":529}],6:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":723}],7:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":724}],8:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./scatter3d"),t("./surface"),t("./mesh3d"),t("./isosurface"),t("./volume"),t("./cone"),t("./streamtube")]),e.exports=t("./register_extra")(n)},{"./cone":4,"./core":5,"./isosurface":9,"./mesh3d":10,"./register_extra":11,"./scatter3d":12,"./streamtube":14,"./surface":15,"./volume":16}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":665}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":670}],11:[function(t,e,r){"use strict";e.exports=function(e){return e.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),e.register([t("./calendars")]),e}},{"./aggregate":2,"./calendars":3,"./filter":6,"./groupby":7,"./sort":13}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":707}],13:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":726}],14:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":712}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":717}],16:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":721}],17:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=a(),h=i();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach((function(t){for(var e=t[0],r=[],n=0;ne?1:t>=e?0:NaN}function d(t){return null===t?NaN:+t}function p(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++an&&(r=n)}else{for(;++a=n){r=n;break}for(;++an&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++ar&&(r=n)}else{for(;++a=n){r=n;break}for(;++ar&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i=n){r=a=n;break}for(;++in&&(r=n),a=n){r=a=n;break}for(;++in&&(r=n),a1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(h);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function b(t){for(var e=1;t*e%1;)e*=10;return e}function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function _(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=b(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,u,c,f,h=-1,d=i.length,p=a[s++],g=new _;++h=a.length)return e;var n=[],o=i[r++];return e.forEach((function(e,a){n.push({key:e,values:t(a,r)})})),o?n.sort((function(t,e){return o(t.key,e.key)})):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(B,"\\$&")};var B=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function H(t){return U(t,G),t}var V=function(t,e){return e.querySelector(t)},Y=function(t,e){return e.querySelectorAll(t)},q=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return(q=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(V=function(t,e){return Sizzle(t,e)[0]||null},Y=Sizzle,q=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var G=t.selection.prototype=[];function W(t){return"function"==typeof t?t:function(){return V(t,this)}}function X(t){return"function"==typeof t?t:function(){return Y(t,this)}}G.select=function(t){var e,r,n,a,i=[];t=W(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},G.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},G.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=tt(t)).length,a=-1;if(e=r.classList){for(;++a=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},G.sort=function(t){t=ut.apply(this,arguments);for(var e=-1,r=this.length;++e=e&&(e=a+1);!(o=s[e])&&++e0&&(e=e.slice(0,o));var l=gt.get(e);function u(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));u.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:u:r?P:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=G.append,ht.empty=G.empty,ht.node=G.node,ht.call=G.call,ht.size=G.size,ht.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s0?1:t<0?-1:0}function Dt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Pt(t){return t>1?0:t<-1?kt:Math.acos(t)}function It(t){return t>1?Lt:t<-1?-Lt:Math.asin(t)}function Nt(t){return((t=Math.exp(t))+1/t)/2}function zt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-a,f=l-i,h=c*c+f*f;if(h0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){u&&u.domain(l.range().map((function(t){return(t-h.x)/h.k})).map(l.invert)),f&&f.domain(c.range().map((function(t){return(t-h.y)/h.k})).map(c.invert))}function E(t){v++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function O(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,l).on(b,u),i=M(t.mouse(e)),s=xt(e);function l(){n=1,A(t.mouse(e),i),L(r)}function u(){a.on(y,null).on(b,null),s(n),C(r)}ms.call(e),E(r)}function R(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,u="touchend"+o,c=[],f=t.select(r),d=xt(r);function p(){var n=t.touches(r);return e=h.k,n.forEach((function(t){t.identifier in a&&(a[t.identifier]=M(t))})),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(u,y),c.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){m=d[0];var b=d[1],x=m[0]-b[0],_=m[1]-b[1];i=x*x+_*_}}function v(){var o,l,u,c,f=t.touches(r);ms.call(r);for(var h=0,d=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ne(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):$t(e instanceof Zt?e.l:(e=ce((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}Yt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,this.l/t)},Yt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,t*this.l)},Yt.rgb=function(){return qt(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Ht;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Gt?Xt(t.h,t.c,t.l):ce((t=ne(t)).r,t.g,t.b):new Zt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Jt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Jt*(arguments.length?t:1)))},Wt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},t.lab=Zt;var Jt=18,Qt=Zt.prototype=new Ht;function Kt(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ne(re(3.2404542*(a=.95047*te(a))-1.5371385*(n=1*te(n))-.4985314*(i=1.08883*te(i))),re(-.969266*a+1.8760108*n+.041556*i),re(.0556434*a-.2040259*n+1.0572252*i))}function $t(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ot,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function te(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ee(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function re(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ne(t,e,r){return this instanceof ne?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ne?new ne(t.r,t.g,t.b):le(""+t,ne,qt):new ne(t,e,r)}function ae(t){return new ne(t>>16,t>>8&255,255&t)}function ie(t){return ae(t)+""}Qt.brighter=function(t){return new Zt(Math.min(100,this.l+Jt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Zt(Math.max(0,this.l-Jt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return Kt(this.l,this.a,this.b)},t.rgb=ne;var oe=ne.prototype=new Ht;function se(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function le(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(he(a[0]),he(a[1]),he(a[2]))}return(i=de.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function ue(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Vt(n,a,l)}function ce(t,e,r){var n=ee((.4124564*(t=fe(t))+.3575761*(e=fe(e))+.1804375*(r=fe(r)))/.95047),a=ee((.2126729*t+.7151522*e+.072175*r)/1);return Zt(116*a-16,500*(n-a),200*(a-ee((.0193339*t+.119192*e+.9503041*r)/1.08883)))}function fe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function he(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}oe.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=a.call(o,u)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,u)}return this.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(e)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,u)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(c=t,o):c},o.response=function(t){return a=t,o},["get","post"].forEach((function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}})),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),u.setRequestHeader)for(var i in l)u.setRequestHeader(i,l[i]);return null!=r&&u.overrideMimeType&&u.overrideMimeType(r),null!=c&&(u.responseType=c),null!=a&&o.on("error",a).on("load",(function(t){a(null,t)})),s.beforesend.call(o,u),u.send(null==n?null:n),o},o.abort=function(){return u.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}de.forEach((function(t,e){de.set(t,ae(e))})),t.functor=pe,t.xhr=ge(C),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ve(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,(function(t,n){if(r)return r(t,n-1);var a=function(e){for(var r={},n=t.length,a=0;a=l)return o;if(a)return a=!1,i;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(xe),xe=setTimeout(Me,e)),be=0):(be=1,_e(Me))}function Te(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Ae(){for(var t,e=me,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}}));function Ee(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:C;return function(e){var n=Le.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",u=n[4]||"",c=n[5],f=+n[6],h=n[7],d=n[8],p=n[9],g=1,v="",m="",y=!1,b=!0;switch(d&&(d=+d.substring(1)),(c||"0"===a&&"="===s)&&(c=a="0",s="="),p){case"n":h=!0,p="g";break;case"%":g=100,m="%",p="f";break;case"p":g=100,m="%",p="r";break;case"b":case"o":case"x":case"X":"#"===u&&(v="0"+p.toLowerCase());case"c":b=!1;case"d":y=!0,d=0;break;case"s":g=-1,p="r"}"$"===u&&(v=i[0],m=i[1]),"r"!=p||d||(p="g"),null!=d&&("g"==p?d=Math.max(1,Math.min(21,d)):"e"!=p&&"f"!=p||(d=Math.max(0,Math.min(20,d)))),p=Ce.get(p)||Oe;var x=c&&h;return function(e){var n=m;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var u=t.formatPrefix(e,d);e=u.scale(e),n=u.symbol+m}else e*=g;var _,w,M=(e=p(e,d)).lastIndexOf(".");if(M<0){var T=b?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,M),w=r+e.substring(M+1);!c&&h&&(_=o(_,1/0));var A=v.length+_.length+w.length+(x?0:i.length),k=A"===s?k+i+e:"^"===s?k.substring(0,A>>=1)+i+e+k.substring(A):i+(x?e:k+e))+n}}}t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,ke(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Se[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Ce=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,ke(e,r))).toFixed(Math.max(0,Math.min(20,ke(e*(1+1e-15),r))))}});function Oe(t){return t+""}var Re=t.time={},De=Date;function Pe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Pe.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Ie.setUTCDate.apply(this._,arguments)},setDay:function(){Ie.setUTCDay.apply(this._,arguments)},setFullYear:function(){Ie.setUTCFullYear.apply(this._,arguments)},setHours:function(){Ie.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Ie.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Ie.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Ie.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Ie.setUTCSeconds.apply(this._,arguments)},setTime:function(){Ie.setTime.apply(this._,arguments)}};var Ie=Date.prototype;function Ne(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r1)for(;o=u)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in je?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}c.utc=function(t){var e=c(t);function r(t){try{var r=new(De=Pe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Pe;var r=e.parse(t);return r&&r._}finally{De=Date}},r.toString=e.toString,r},c.multi=c.utc.multi=or;var h=t.map(),d=Ve(o),p=Ye(o),g=Ve(s),v=Ye(s),m=Ve(l),y=Ye(l),b=Ve(u),x=Ye(u);i.forEach((function(t,e){h.set(t.toLowerCase(),e)}));var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return u[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:c(r),d:function(t,e){return He(t.getDate(),e,2)},e:function(t,e){return He(t.getDate(),e,2)},H:function(t,e){return He(t.getHours(),e,2)},I:function(t,e){return He(t.getHours()%12||12,e,2)},j:function(t,e){return He(1+Re.dayOfYear(t),e,3)},L:function(t,e){return He(t.getMilliseconds(),e,3)},m:function(t,e){return He(t.getMonth()+1,e,2)},M:function(t,e){return He(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return He(t.getSeconds(),e,2)},U:function(t,e){return He(Re.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return He(Re.mondayOfYear(t),e,2)},x:c(n),X:c(a),y:function(t,e){return He(t.getFullYear()%100,e,2)},Y:function(t,e){return He(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){d.lastIndex=0;var n=d.exec(e.slice(r));return n?(t.w=p.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){b.lastIndex=0;var n=b.exec(e.slice(r));return n?(t.m=x.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Ke,e:Ke,H:tr,I:tr,j:$e,L:nr,m:Qe,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ge,w:qe,W:We,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ir};return c}Re.year=Ne((function(t){return(t=Re.day(t)).setMonth(0,1),t}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t){return t.getFullYear()})),Re.years=Re.year.range,Re.years.utc=Re.year.utc.range,Re.day=Ne((function(t){var e=new De(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t){return t.getDate()-1})),Re.days=Re.day.range,Re.days.utc=Re.day.utc.range,Re.dayOfYear=function(t){var e=Re.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(t,e){e=7-e;var r=Re[t]=Ne((function(t){return(t=Re.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t}),(function(t,e){t.setDate(t.getDate()+7*Math.floor(e))}),(function(t){var r=Re.year(t).getDay();return Math.floor((Re.dayOfYear(t)+(r+e)%7)/7)-(r!==e)}));Re[t+"s"]=r.range,Re[t+"s"].utc=r.utc.range,Re[t+"OfYear"]=function(t){var r=Re.year(t).getDay();return Math.floor((Re.dayOfYear(t)+(r+e)%7)/7)}})),Re.week=Re.sunday,Re.weeks=Re.sunday.range,Re.weeks.utc=Re.sunday.utc.range,Re.weekOfYear=Re.sundayOfYear;var je={"-":"",_:" ",0:"0"},Be=/^\s*\d+/,Ue=/^%/;function He(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Qe(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Ke(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){Be.lastIndex=0;var n=Be.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+He(n,"0",2)+He(a,"0",2)}function ir(t,e,r){Ue.lastIndex=0;var n=Ue.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r=0?1:-1,s=o*i,l=Math.cos(e),u=Math.sin(e),c=a*u,f=n*l+c*Math.cos(s),h=c*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,a=u}Lr.point=function(o,s){Lr.point=i,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+kt/4),a=Math.sin(s)},Lr.lineEnd=function(){i(t,e)}}function Or(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Rr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Dr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Pr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ir(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Nr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function zr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Fr(t,e){return y(t[0]-e[0])Tt?a=90:u<-Tt&&(r=-90),f[0]=e,f[1]=n}};function d(t,i){c.push(f=[e=t,n=t]),ia&&(a=i)}function p(t,o){var s=Or([t*Ct,o*Ct]);if(l){var u=Dr(l,s),c=Dr([u[1],-u[0],0],u);Nr(c),c=zr(c);var f=t-i,h=f>0?1:-1,p=c[0]*Ot*h,g=y(f)>180;if(g^(h*ia&&(a=v);else if(g^(h*i<(p=(p+360)%360-180)&&pa&&(a=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else d(t,o);l=s,i=t}function g(){h.point=p}function v(){f[0]=e,f[1]=n,h.point=d,l=null}function m(t,e){if(l){var r=t-i;u+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Lr.point(t,e),p(t,e)}function b(){Lr.lineStart()}function x(){m(o,s),Lr.lineEnd(),y(u)>Tt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function M(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=d[1]),_(d[0],g[1])>_(g[0],g[1])&&(g[0]=d[0])):s.push(g=d);for(var l,u,d,p=-1/0,g=(o=0,s[u=s.length-1]);o<=u;g=d,++o)d=s[o],(l=_(g[1],d[0]))>p&&(p=l,e=d[0],n=g[1])}return c=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){mr=yr=br=xr=_r=wr=Mr=Tr=Ar=kr=Sr=0,t.geo.stream(e,jr);var r=Ar,n=kr,a=Sr,i=r*r+n*n+a*a;return i=0;--s)a.point((f=c[s])[0],f[1]);else n(d.x,d.p.x,-1,a);d=d.p}c=(d=d.o).z,p=!p}while(!d.v);a.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n=0?1:-1,M=w*_,T=M>kt,A=p*b;if(Er.add(Math.atan2(A*w*Math.sin(M),g*x+A*Math.cos(M))),i+=T?_+w*St:_,T^h>=r^m>=r){var k=Dr(Or(f),Or(t));Nr(k);var S=Dr(a,k);Nr(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(k[0]||k[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;h=m,p=b,g=x,f=t}}return(i<-Tt||i0){for(b||(o.polygonStart(),b=!0),o.lineStart();++i1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Qr))}return c}}function Qr(t){return t.length>1}function Kr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:P,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Lt-Tt:Lt-t[1])-((e=e.x)[0]<0?e[1]-Lt-Tt:Lt-e[1])}var tn=Jr(Gr,(function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?kt:-kt,l=y(i-r);y(l-kt)0?Lt:-Lt),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=kt&&(y(r-a)Tt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*Lt,n.point(-kt,a),n.point(0,a),n.point(kt,a),n.point(kt,0),n.point(kt,-a),n.point(0,-a),n.point(-kt,-a),n.point(-kt,0),n.point(-kt,a);else if(y(t[0]-e[0])>Tt){var i=t[0]0,n=y(e)>Tt;return Jr(a,(function(t){var e,s,l,u,c;return{lineStart:function(){u=l=!1,c=1},point:function(f,h){var d,p=[f,h],g=a(f,h),v=r?g?0:o(f,h):g?o(f+(f<0?kt:-kt),h):0;if(!e&&(u=l=g)&&t.lineStart(),g!==l&&(d=i(e,p),(Fr(e,d)||Fr(p,d))&&(p[0]+=Tt,p[1]+=Tt,g=a(p[0],p[1]))),g!==l)c=0,g?(t.lineStart(),d=i(p,e),t.point(d[0],d[1])):(d=i(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(n&&e&&r^g){var m;v&s||!(m=i(p,e,!0))||(c=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Fr(e,p)||t.point(p[0],p[1]),e=p,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return c|(u&&l)<<1}}}),Fn(t,6*Ct),r?[0,-t]:[-kt,t-kt]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=Dr(Or(t),Or(r)),o=Rr(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var u=e*o/l,c=-e*s/l,f=Dr(a,i),h=Ir(a,u);Pr(h,Ir(i,c));var d=f,p=Rr(h,d),g=Rr(d,d),v=p*p-g*(Rr(h,h)-1);if(!(v<0)){var m=Math.sqrt(v),b=Ir(d,(-p-m)/g);if(Pr(b,h),b=zr(b),!n)return b;var x,_=t[0],w=r[0],M=t[1],T=r[1];w<_&&(x=_,_=w,w=x);var A=w-_,k=y(A-kt)0^b[1]<(y(b[0]-_)kt^(_<=b[0]&&b[0]<=w)){var S=Ir(d,(-p+m)/g);return Pr(S,h),[b,zr(S)]}}}function o(e,n){var a=r?t:kt-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}function rn(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,u=o.y,c=0,f=1,h=s.x-l,d=s.y-u;if(i=t-l,h||!(i>0)){if(i/=h,h<0){if(i0){if(i>f)return;i>c&&(c=i)}if(i=r-l,h||!(i<0)){if(i/=h,h<0){if(i>f)return;i>c&&(c=i)}else if(h>0){if(i0)){if(i/=d,d<0){if(i0){if(i>f)return;i>c&&(c=i)}if(i=n-u,d||!(i<0)){if(i/=d,d<0){if(i>f)return;i>c&&(c=i)}else if(d>0){if(i0&&(a.a={x:l+c*h,y:u+c*d}),f<1&&(a.b={x:l+f*h,y:u+f*d}),a}}}}}}function nn(e,r,n,a){return function(l){var u,c,f,h,d,p,g,v,m,y,b,x=l,_=Kr(),w=rn(e,r,n,a),M={point:k,lineStart:function(){M.point=S,c&&c.push(f=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){u&&(S(h,d),p&&m&&_.rejoin(),u.push(_.buffer()));M.point=k,m&&l.lineEnd()},polygonStart:function(){l=_,u=[],c=[],b=!0},polygonEnd:function(){l=x,u=t.merge(u);var r=function(t){for(var e=0,r=c.length,n=t[1],a=0;an&&Dt(u,i,t)>0&&++e:i[1]<=n&&Dt(u,i,t)<0&&--e,u=i;return 0!==e}([e,a]),n=b&&r,i=u.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Wr(u,o,r,T,l),l.polygonEnd()),u=c=f=null}};function T(t,o,l,u){var c=0,f=0;if(null==t||(c=i(t,l))!==(f=i(o,l))||s(t,o)<0^l>0)do{u.point(0===c||3===c?e:n,c>1?a:r)}while((c=(c+l+4)%4)!==f);else u.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function k(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-1e9,Math.min(1e9,t)),e=Math.max(-1e9,Math.min(1e9,e)));if(c&&f.push([t,e]),y)h=t,d=e,p=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),b=!1):r&&(l.lineStart(),l.point(t,e),b=!1)}g=t,v=e,m=r}return M};function i(t,a){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=kt/3,n=Cn(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*kt/180,r=t[1]*kt/180):[e/kt*180,r/kt*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function u(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return u.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},u.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},u.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),u):i.precision()},u.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),u.translate(i.translate())):i.scale()},u.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),c=+t[0],f=+t[1];return r=i.translate(t).clipExtent([[c-.455*e,f-.238*e],[c+.455*e,f+.238*e]]).stream(l).point,n=o.translate([c-.307*e,f+.201*e]).clipExtent([[c-.425*e+Tt,f+.12*e+Tt],[c-.214*e-Tt,f+.234*e-Tt]]).stream(l).point,a=s.translate([c-.205*e,f+.212*e]).clipExtent([[c-.214*e+Tt,f+.166*e+Tt],[c-.115*e-Tt,f+.234*e-Tt]]).stream(l).point,u},u.scale(1070)};var sn,ln,un,cn,fn,hn,dn={point:P,lineStart:P,lineEnd:P,polygonStart:function(){ln=0,dn.lineStart=pn},polygonEnd:function(){dn.lineStart=dn.lineEnd=dn.point=P,sn+=y(ln/2)}};function pn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}dn.point=function(i,o){dn.point=a,t=r=i,e=n=o},dn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){tfn&&(fn=t);ehn&&(hn=e)},lineStart:P,lineEnd:P,polygonStart:P,polygonEnd:P};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,bn={point:xn,lineStart:_n,lineEnd:wn,polygonStart:function(){bn.lineStart=Mn},polygonEnd:function(){bn.point=xn,bn.lineStart=_n,bn.lineEnd=wn}};function xn(t,e){br+=t,xr+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,Mr+=o*(e+n)/2,Tr+=o,xn(t=r,e=n)}bn.point=function(n,a){bn.point=r,xn(t=n,e=a)}}function wn(){bn.point=xn}function Mn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,Mr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),kr+=o*(n+e),Sr+=3*o,xn(r=t,n=e)}bn.point=function(i,o){bn.point=a,xn(t=r=i,e=n=o)},bn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:P};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,St)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Ct),n=16;function a(t){return(n?o:i)(t)}function i(e){return En(e,(function(r,n){r=t(r,n),e.point(r[0],r[1])}))}function o(e){var r,a,i,o,l,u,c,f,h,d,p,g,v={point:m,lineStart:y,lineEnd:x,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,v.point=b,e.lineStart()}function b(r,a){var i=Or([r,a]),o=t(r,a);s(f,h,c,d,p,g,f=o[0],h=o[1],c=r,d=i[0],p=i[1],g=i[2],n,e),e.point(f,h)}function x(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=M}function w(t,e){b(r=t,e),a=f,i=h,o=d,l=p,u=g,v.point=b}function M(){s(f,h,c,d,p,g,a,i,r,o,l,u,n,e),v.lineEnd=x,x()}return v}function s(n,a,i,o,l,u,c,f,h,d,p,g,v,m){var b=c-n,x=f-a,_=b*b+x*x;if(_>4*e&&v--){var w=o+d,M=l+p,T=u+g,A=Math.sqrt(w*w+M*M+T*T),k=Math.asin(T/=A),S=y(y(T)-1)e||y((b*O+x*R)/_-.5)>.3||o*d+l*p+u*g0&&16,a):Math.sqrt(e)},a}function kn(t){var e=An((function(e,r){return t([e*Ot,r*Ot])}));return function(t){return On(e(t))}}function Sn(t){this.stream=t}function En(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function Ln(t){return Cn((function(){return t}))()}function Cn(e){var r,n,a,i,o,s,l=An((function(t,e){return[(t=r(t,e))[0]*u+i,o-t[1]*u]})),u=150,c=480,f=250,h=0,d=0,p=0,g=0,v=0,m=tn,y=C,b=null,x=null;function _(t){return[(t=a(t[0]*Ct,t[1]*Ct))[0]*u+i,o-t[1]*u]}function w(t){return(t=a.invert((t[0]-i)/u,(o-t[1])/u))&&[t[0]*Ot,t[1]*Ot]}function M(){a=qr(n=Pn(p,g,v),r);var t=r(h,d);return i=c-t[0]*u,o=f+t[1]*u,T()}function T(){return s&&(s.valid=!1,s=null),_}return _.stream=function(t){return s&&(s.valid=!1),(s=On(m(n,l(y(t))))).valid=!0,s},_.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):en((b=+t)*Ct),T()):b},_.clipExtent=function(t){return arguments.length?(x=t,y=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):C,T()):x},_.scale=function(t){return arguments.length?(u=+t,M()):u},_.translate=function(t){return arguments.length?(c=+t[0],f=+t[1],M()):[c,f]},_.center=function(t){return arguments.length?(h=t[0]%360*Ct,d=t[1]%360*Ct,M()):[h*Ot,d*Ot]},_.rotate=function(t){return arguments.length?(p=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,M()):[p*Ot,g*Ot,v*Ot]},t.rebind(_,l,"precision"),function(){return r=e.apply(this,arguments),_.invert=r.invert&&w,M()}}function On(t){return En(t,(function(e,r){t.point(e*Ct,r*Ct)}))}function Rn(t,e){return[t,e]}function Dn(t,e){return[t>kt?t-St:t<-kt?t+St:t,e]}function Pn(t,e,r){return t?e||r?qr(Nn(t),zn(e,r)):Nn(t):e||r?zn(e,r):Dn}function In(t){return function(e,r){return[(e+=t)>kt?e-St:e<-kt?e+St:e,r]}}function Nn(t){var e=In(t);return e.invert=In(-t),e}function zn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*r+s*n;return[Math.atan2(l*a-c*i,s*r-u*n),It(c*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,u=Math.sin(e),c=u*a-l*i;return[Math.atan2(l*a+u*i,s*r+c*n),It(c*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=jn(r,a),i=jn(r,i),(o>0?ai)&&(a+=o*St)):(a=t+o*St,i=t-.5*l);for(var u,c=a;o>0?c>i:c2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Ot,e[1]*=Ot,e},e},Dn.invert=Rn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=Pn(-t[0]*Ct,-t[1]*Ct,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ot,t[1]*=Ot}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Ct,n*Ct),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Ct,(n=+r)*Ct),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,a=t[1]*Ct,i=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),u=Math.cos(a),c=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((r=f*o)*r+(r=u*c-l*f*s)*r),l*c+u*f*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,u,c,f,h,d=10,p=d,g=90,v=360,m=2.5;function b(){return{type:"MultiLineString",coordinates:x()}}function x(){return t.range(Math.ceil(a/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/v)*v,s,v).map(h)).concat(t.range(Math.ceil(r/d)*d,e,d).filter((function(t){return y(t%g)>Tt})).map(u)).concat(t.range(Math.ceil(o/p)*p,i,p).filter((function(t){return y(t%v)>Tt})).map(c))}return b.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},b.outline=function(){return{type:"Polygon",coordinates:[f(a).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},b.extent=function(t){return arguments.length?b.majorExtent(t).minorExtent(t):b.minorExtent()},b.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),b.precision(m)):[[a,l],[n,s]]},b.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),b.precision(m)):[[r,o],[e,i]]},b.step=function(t){return arguments.length?b.majorStep(t).minorStep(t):b.minorStep()},b.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],b):[g,v]},b.minorStep=function(t){return arguments.length?(d=+t[0],p=+t[1],b):[d,p]},b.precision=function(t){return arguments.length?(m=+t,u=Bn(o,i,90),c=Un(r,e,m),f=Bn(l,s,90),h=Un(a,n,m),b):m},b.majorExtent([[-180,-90+Tt],[180,90-Tt]]).minorExtent([[-180,-80-Tt],[180,80+Tt]])},t.geo.greatArc=function(){var e,r,n=Hn,a=Vn;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,a=e[0]*Ct,i=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),u=Math.sin(i),c=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(a),d=l*Math.sin(a),p=2*Math.asin(Math.sqrt(zt(i-n)+o*l*zt(a-r))),g=1/Math.sin(p),(v=p?function(t){var e=Math.sin(t*=p)*g,r=Math.sin(p-t)*g,n=r*c+e*h,a=r*f+e*d,i=r*s+e*u;return[Math.atan2(a,n)*Ot,Math.atan2(i,Math.sqrt(n*n+a*a))*Ot]}:function(){return[r*Ot,n*Ot]}).distance=p,v;var r,n,a,i,o,s,l,u,c,f,h,d,p,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,Yn),yn};var Yn={sphere:P,point:P,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Ct),o=Math.cos(a),s=y((n*=Ct)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}Yn.point=function(a,i){t=a*Ct,e=Math.sin(i*=Ct),r=Math.cos(i),Yn.point=n},Yn.lineEnd=function(){Yn.point=Yn.lineEnd=P}},lineEnd:P,polygonStart:P,polygonEnd:P};function qn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=qn((function(t){return Math.sqrt(2/(1+t))}),(function(t){return 2*Math.asin(t/2)}));(t.geo.azimuthalEqualArea=function(){return Ln(Gn)}).raw=Gn;var Wn=qn((function(t){var e=Math.acos(t);return e&&e/Math.sin(e)}),C);function Xn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(kt/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Qn;function o(t,e){i>0?e<-Lt+Tt&&(e=-Lt+Tt):e>Lt-Tt&&(e=Lt-Tt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Rt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Lt]},o}function Zn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)1&&Dt(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function ia(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Ln(ta)}).raw=ta,ea.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Lt]},(t.geo.transverseMercator=function(){var t=Kn(ea),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ea,t.geom={},t.geom.hull=function(t){var e=ra,r=na;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=pe(e),i=pe(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)d.push(t[s[u[n]][2]]);for(n=+f;nTt)s=s.L;else{if(!((a=i-Ma(s,o))>Tt)){n>-Tt?(e=s.P,r=s):a>-Tt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ya(t);if(ha.insert(e,l),e||r){if(e===r)return Ea(e),r=ya(e.site),ha.insert(l,r),l.edge=r.edge=Oa(e.site,l.site),Sa(e),void Sa(r);if(r){Ea(e),Ea(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,d=t.y-f,p=r.site,g=p.x-c,v=p.y-f,m=2*(h*v-d*g),y=h*h+d*d,b=g*g+v*v,x={x:(v*y-d*b)/m+c,y:(h*b-g*y)/m+f};Da(r.edge,u,p,x),l.edge=Oa(u,t,null,x),r.edge=Oa(t,p,null,x),Sa(e),Sa(r)}else l.edge=Oa(e.site,l.site)}}function wa(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/i-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+a-i/2)))/f+n:(n+s)/2}function Ma(t,e){var r=t.N;if(r)return wa(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ta(t){this.site=t,this.edges=[]}function Aa(t,e){return e.angle-t.angle}function ka(){Na(this),this.x=this.y=this.arc=this.site=this.cy=null}function Sa(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,u=n.y-s,c=i.x-o,f=2*(l*(v=i.y-s)-u*c);if(!(f>=-At)){var h=l*l+u*u,d=c*c+v*v,p=(v*h-u*d)/f,g=(l*d-c*h)/f,v=g+s,m=va.pop()||new ka;m.arc=t,m.site=a,m.x=p+o,m.y=v+Math.sqrt(p*p+g*g),m.cy=v,t.circle=m;for(var y=null,b=pa._;b;)if(m.y=s)return;if(h>p){if(i){if(i.y>=u)return}else i={x:v,y:l};r={x:v,y:u}}else{if(i){if(i.y1)if(h>p){if(i){if(i.y>=u)return}else i={x:(l-a)/n,y:l};r={x:(u-a)/n,y:u}}else{if(i){if(i.y=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.xTt||y(a-r)>Tt)&&(s.splice(o,0,new Pa(Ra(i.site,c,y(n-f)Tt?{x:f,y:y(e-f)Tt?{x:y(r-p)Tt?{x:h,y:y(e-h)Tt?{x:y(r-d)=r&&u.x<=a&&u.y>=n&&u.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Tt)*Tt,y:Math.round(a(t,e)/Tt)*Tt,i:e}}))}return o.links=function(t){return Ba(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return Ba(s(t)).cells.forEach((function(r,n){for(var a,i,o,s,l=r.site,u=r.edges.sort(Aa),c=-1,f=u.length,h=u[f-1].edge,d=h.l===l?h.r:h.l;++ci||f>o||h=_)<<1|e>=x,M=w+4;wi&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Za(r,n)})),i=Ka.lastIndex;return ig&&(g=l.x),l.y>v&&(v=l.y),u.push(l.x),c.push(l.y);else for(f=0;fg&&(g=x),_>v&&(v=_),u.push(x),c.push(_)}var w=g-d,M=v-p;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(y(l-r)+y(u-n)<.01)A(t,e,r,n,a,i,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),u=.5*(i+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?a=l:o=l,f?i=u:s=u,T(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,a,i,o,s)}w>M?v=p+w:g=d+M;var k={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(k,t,+m(t,++f),+b(t,f),d,p,g,v)},visit:function(t){qa(t,k,d,p,g,v)},find:function(t){return Ga(k,t[0],t[1],d,p,g,v)}};if(f=-1,null==e){for(;++f=0&&!(n=t.interpolators[a](e,r)););return n}function ti(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1?1:t(e)}}function ii(t){return function(e){return 1-t(1-e)}}function oi(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function si(t){return t*t}function li(t){return t*t*t}function ui(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ci(t){return 1-Math.cos(t*Lt)}function fi(t){return Math.pow(2,10*(t-1))}function hi(t){return 1-Math.sqrt(1-t*t)}function di(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function pi(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function gi(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=mi(a),s=vi(a,i),l=mi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]=0?t.slice(0,e):t,a=e>=0?t.slice(e+1):"in";return n=ri.get(n)||ei,ai((a=ni.get(a)||C)(n.apply(null,r.call(arguments,1))))},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Xt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return qt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return Kt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=pi,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new gi(e?e.matrix:yi)})(e)},gi.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yi={a:1,b:0,c:0,d:1,e:0,f:0};function bi(t){return t.length?t.pop()+",":""}function xi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Za(t[0],e[0])},{i:a-2,x:Za(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(bi(r)+"rotate(",null,")")-2,x:Za(t,e)})):e&&r.push(bi(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(bi(r)+"skewX(",null,")")-2,x:Za(t,e)}):e&&r.push(bi(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(bi(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Za(t[0],e[0])},{i:a-2,x:Za(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(bi(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=we(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,c=u[0],p=u[1];for(t=0;t=0;)r.push(a[n])}function Pi(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o=0;)o.push(c=u[l]),c.parent=i,c.depth=i.depth+1;r&&(i.value=0),i.children=u}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Pi(a,(function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Di(t,(function(t){t.children&&(t.value=0)})),Pi(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,u=-1;for(n=e.value?n/e.value:0;++us&&(s=n),o.push(n)}for(r=0;ra&&(n=r,a=e);return n}function Xi(t){return t.reduce(Zi,0)}function Zi(t,e){return t+e[1]}function Ji(t,e){return Qi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Qi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Ki(e){return[t.min(e),t.max(e)]}function $i(t,e){return t.value-e.value}function to(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function eo(t,e){t._pack_next=e,e._pack_prev=t}function ro(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function no(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(ao),(r=e[0]).x=-r.r,r.y=0,b(r),l>1&&((n=e[1]).x=n.r,n.y=0,b(n),l>2))for(oo(r,n,a=e[2]),b(a),to(r,a),r._pack_prev=a,to(a,n),n=r._pack_next,i=3;i0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[t.bisect(h,l,1,p)-1]).y+=g,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=pe(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Qi(e,t)}:pe(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort($i),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],u=a[1],c=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Pi(s,(function(t){t.r=+c(t.value)})),Pi(s,no),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/u))/2;Pi(s,(function(t){t.r+=f})),Pi(s,no),Pi(s,(function(t){t.r-=f}))}return function t(e,r,n,a){var i=e.children;if(e.x=r+=a*e.x,e.y=n+=a*e.y,e.r*=a,i)for(var o=-1,s=i.length;++od.x&&(d=t),t.depth>p.depth&&(p=t)}));var g=r(h,d)/2-h.x,v=n[0]/(d.x+r(d,h)/2+g),m=n[1]/(p.depth||1);Di(c,(function(t){t.x=(t.x+g)*v,t.y=t.depth*m}))}return u}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],u=i.m,c=o.m,f=s.m,h=l.m;s=uo(s),i=lo(i),s&&i;)l=lo(l),(o=uo(o)).a=t,(a=s.z+f-i.z-u+r(s._,i._))>0&&(co(fo(s,t,n),t,a),u+=a,c+=a),f+=s.m,u+=i.m,h+=l.m,c+=o.m;s&&!uo(o)&&(o.t=s,o.m+=f-c),i&&!lo(l)&&(l.t=i,l.m+=u-h,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Ri(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=so,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),u=l[0],c=0;Pi(u,(function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(n),e.y=function(e){return 1+t.max(e,(function(t){return t.y}))}(n)):(e.x=s?c+=r(e,s):0,e.y=0,s=e)}));var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(u),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(u),d=f.x-r(f,h)/2,p=h.x+r(h,f)/2;return Pi(u,a?function(t){t.x=(t.x-u.x)*n[0],t.y=(u.y-t.y)*n[1]}:function(t){t.x=(t.x-d)/(p-d)*n[0],t.y=(1-(u.y?t.y/u.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Ri(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=ho,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,a=-1,i=t.length;++a0;)s.push(r=u[a-1]),s.area+=r.area,"squarify"!==l||(n=d(s,g))<=h?(u.pop(),h=n):(s.area-=s.pop().area,p(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,h=1/0);s.length&&(p(s,g,i,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(c(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(p(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(h)}}function d(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++oa&&(a=r));return e*=e,(n*=n)?Math.max(e*a*u/n,n/(e*i*u)):1/0}function p(t,e,r,a){var i,o=-1,s=t.length,l=r.x,u=r.y,c=e?n(t.area/e):0;if(e==r.dx){for((a||c>r.dy)&&(c=r.dy);++or.dx)&&(c=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?_o:mo,s=a?wi:_i;return i=t(e,r,s,n),o=t(r,e,s,$a),l}function l(t){return i(t)}return l.invert=function(t){return o(t)},l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e},l.range=function(t){return arguments.length?(r=t,s()):r},l.rangeRound=function(t){return l.range(t).interpolate(pi)},l.clamp=function(t){return arguments.length?(a=t,s()):a},l.interpolate=function(t){return arguments.length?(n=t,s()):n},l.ticks=function(t){return Ao(e,t)},l.tickFormat=function(t,r){return ko(e,t,r)},l.nice=function(t){return Mo(e,t),s()},l.copy=function(){return t(e,r,n,a)},s()}([0,1],[0,1],$a,!1)};var So={s:1,g:1,p:1,r:1,e:1};function Eo(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}return l.invert=function(t){return s(r.invert(t))},l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i},l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n},l.nice=function(){var t=yo(i.map(o),a?Math:Co);return r.domain(t),i=t.map(s),l},l.ticks=function(){var t=go(i),e=[],r=t[0],l=t[1],u=Math.floor(o(r)),c=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(c-u)){if(a){for(;u0;h--)e.push(s(u)*h);for(u=0;e[u]l;c--);e=e.slice(u,c)}return e},l.tickFormat=function(e,r){if(!arguments.length)return Lo;arguments.length<2?r=Lo:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n0?a[t-1]:r[0],tf?0:1;if(u=Et)return l(u,d)+(s?l(s,1-d):"")+"Z";var p,g,v,m,y,b,x,_,w,M,T,A,k=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===zo?Math.sqrt(s*s+u*u):+n.apply(this,arguments),d||(S*=-1),u&&(S=It(v/u*Math.sin(m))),s&&(k=It(v/s*Math.sin(m)))),u){y=u*Math.cos(c+S),b=u*Math.sin(c+S),x=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=kt?0:1;if(S&&Vo(y,b,x,_)===d^L){var C=(c+f)/2;y=u*Math.cos(C),b=u*Math.sin(C),x=_=null}}else y=b=0;if(s){w=s*Math.cos(f-k),M=s*Math.sin(f-k),T=s*Math.cos(c+k),A=s*Math.sin(c+k);var O=Math.abs(c-f+2*k)<=kt?0:1;if(k&&Vo(w,M,T,A)===1-d^O){var R=(c+f)/2;w=s*Math.cos(R),M=s*Math.sin(R),T=A=null}}else w=M=0;if(h>Tt&&(p=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function Yo(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,u=-s*i,c=t[0]+l,f=t[1]+u,h=e[0]+l,d=e[1]+u,p=(c+h)/2,g=(f+d)/2,v=h-c,m=d-f,y=v*v+m*m,b=r-n,x=c*d-h*f,_=(m<0?-1:1)*Math.sqrt(Math.max(0,b*b*y-x*x)),w=(x*m-v*_)/y,M=(-x*v-m*_)/y,T=(x*m+v*_)/y,A=(-x*v+m*_)/y,k=w-p,S=M-g,E=T-p,L=A-g;return k*k+S*S>E*E+L*L&&(w=T,M=A),[[w-l,M-u],[w*r/b,M*r/b]]}function qo(t){var e=ra,r=na,n=Gr,a=Wo,i=a.key,o=.7;function s(i){var s,l=[],u=[],c=-1,f=i.length,h=pe(e),d=pe(r);function p(){l.push("M",a(t(u),o))}for(;++c1&&a.push("H",n[0]);return a.join("")},"step-before":Zo,"step-after":Jo,basis:$o,"basis-open":function(t){if(t.length<4)return Wo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(ts(ns,i)+","+ts(ns,o)),--n;for(;++n9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Wo(t){return t.length>1?t.join("L"):t+"Z"}function Xo(t){return t.join("L")+"Z"}function Zo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var u=2;ukt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=pe(t),i):r},i.source=function(e){return arguments.length?(t=pe(e),i):t},i.target=function(t){return arguments.length?(e=pe(t),i):e},i.startAngle=function(t){return arguments.length?(n=pe(t),i):n},i.endAngle=function(t){return arguments.length?(a=pe(t),i):a},i},t.svg.diagonal=function(){var t=Hn,e=Vn,r=us;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=pe(e),n):t},n.target=function(t){return arguments.length?(e=pe(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=us,n=e.projection;return e.projection=function(t){return arguments.length?n(cs(r=t)):r},e},t.svg.symbol=function(){var t=hs,e=fs;function r(r,n){return(ps.get(t.call(this,r,n))||ds)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=pe(e),r):t},r.size=function(t){return arguments.length?(e=pe(t),r):e},r};var ps=t.map({circle:ds,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*vs)),r=e*vs;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/gs),r=e*gs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ps.keys();var gs=Math.sqrt(3),vs=Math.tan(30*Ct);G.transition=function(t){for(var e,r,n=xs||++Ms,a=ks(t),i=[],o=_s||{time:Date.now(),ease:ui,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(i>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(i=a.time,o=we((function(t){var e=f.delay;if(o.t=e+i,e<=t)return h(t-e);o.c=h}),0,i),f=c[n]={tween:new _,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++c.count)}ws.call=G.call,ws.empty=G.empty,ws.node=G.node,ws.size=G.size,t.transition=function(e,r){return e&&e.transition?xs?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ws,ws.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=W(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var f,v,m=this,y=t.select(t.event.target),b=n.of(m,arguments),x=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,M=!/^(e|w)$/.test(_)&&i,T=y.classed("extent"),A=xt(m),k=t.mouse(m),S=t.select(o(m)).on("keydown.brush",C).on("keyup.brush",O);if(t.event.changedTouches?S.on("touchmove.brush",R).on("touchend.brush",P):S.on("mousemove.brush",R).on("mouseup.brush",P),x.interrupt().selectAll("*").interrupt(),T)k[0]=s[0]-k[0],k[1]=l[0]-k[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-k[0],l[1-L]-k[1]],k[0]=s[E],k[1]=l[L]}else t.event.altKey&&(f=k.slice());function C(){32==t.event.keyCode&&(T||(f=null,k[0]-=s[1],k[1]-=l[1],T=2),z())}function O(){32==t.event.keyCode&&2==T&&(k[0]+=s[1],k[1]+=l[1],T=0,z())}function R(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),k[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=js(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=js(+e+1);return e}}:t))},a.ticks=function(t,e){var r=go(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],js(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Fs(e.copy(),r,n)},wo(a,e)}function js(t){return new Date(t)}Ps.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?zs:Ns,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Ns.toString,Re.second=Ne((function(t){return new De(1e3*Math.floor(t/1e3))}),(function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))}),(function(t){return t.getSeconds()})),Re.seconds=Re.second.range,Re.seconds.utc=Re.second.utc.range,Re.minute=Ne((function(t){return new De(6e4*Math.floor(t/6e4))}),(function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))}),(function(t){return t.getMinutes()})),Re.minutes=Re.minute.range,Re.minutes.utc=Re.minute.utc.range,Re.hour=Ne((function(t){var e=t.getTimezoneOffset()/60;return new De(36e5*(Math.floor(t/36e5-e)+e))}),(function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))}),(function(t){return t.getHours()})),Re.hours=Re.hour.range,Re.hours.utc=Re.hour.utc.range,Re.month=Ne((function(t){return(t=Re.day(t)).setDate(1),t}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t){return t.getMonth()})),Re.months=Re.month.range,Re.months.utc=Re.month.utc.range;var Bs=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Us=[[Re.second,1],[Re.second,5],[Re.second,15],[Re.second,30],[Re.minute,1],[Re.minute,5],[Re.minute,15],[Re.minute,30],[Re.hour,1],[Re.hour,3],[Re.hour,6],[Re.hour,12],[Re.day,1],[Re.day,2],[Re.week,1],[Re.month,1],[Re.month,3],[Re.year,1]],Hs=Ps.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Gr]]),Vs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(js)},floor:C,ceil:C};Us.year=Re.year,Re.scale=function(){return Fs(t.scale.linear(),Us,Hs)};var Ys=Us.map((function(t){return[t[0].utc,t[1]]})),qs=Is.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Gr]]);function Gs(t){return JSON.parse(t.responseText)}function Ws(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Ys.year=Re.year.utc,Re.scale.utc=function(){return Fs(t.scale.linear(),Ys,qs)},t.text=ge((function(t){return t.responseText})),t.json=function(t,e){return ve(t,"application/json",Gs,e)},t.html=function(t,e){return ve(t,"text/html",Ws,e)},t.xml=ge((function(t){return t.responseXML})),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],19:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,a=t("gl-buffer"),i=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":111,"gl-vao":188,"weak-map":377}],20:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var a=t.split(/\r?\n/),i=String(a.length+e-1).length;return a.map((function(t,a){var o=a+e,s=String(o).length;return n(o,i-s)+r+t})).join("\n")}},{"pad-left":311}],21:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o0?o-4:o;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[c++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;os?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var a,i,o=[],s=e;s>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],27:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":37}],28:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],29:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":37}],30:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(a(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=i(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(a(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=i(r)}else c=i(1);f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f));return s(u,c)}},{"./div":29,"./is-rat":31,"./lib/is-bn":35,"./lib/num-to-bn":36,"./lib/rationalize":37,"./lib/str-to-bn":38}],31:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":35}],32:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":45}],33:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i20)return 52;return r+32}},{"bit-twiddle":44,"double-bits":91}],35:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":45}],36:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":45,"double-bits":91}],37:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":32,"./num-to-bn":36}],38:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":45}],39:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":37}],40:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":32}],41:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":37}],42:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=a(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;f=n(l.ushln(h).divRound(r));return h<1023?u*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),u*f*Math.pow(2,1023-h))}},{"./lib/bn-to-num":33,"./lib/ctz":34}],43:[function(t,e,r){"use strict";function n(t,e,r,n,a){for(var i=a+1;n<=a;){var o=n+a>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(i=o,a=o-1):n=o+1}return i}function a(t,e,r,n,a){for(var i=a+1;n<=a;){var o=n+a>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(i=o,a=o-1):n=o+1}return i}function i(t,e,r,n,a){for(var i=n-1;n<=a;){var o=n+a>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(i=o,n=o+1):a=o-1}return i}function o(t,e,r,n,a){for(var i=n-1;n<=a;){var o=n+a>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(i=o,n=o+1):a=o-1}return i}function s(t,e,r,n,a){for(;n<=a;){var i=n+a>>>1,o=t[i],s=void 0!==r?r(o,e):o-e;if(0===s)return i;s<=0?n=i+1:a=i-1}return-1}function l(t,e,r,n,a,i){return"function"==typeof r?i(t,e,r,void 0===n?0:0|n,void 0===a?t.length-1:0|a):i(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}e.exports={ge:function(t,e,r,a,i){return l(t,e,r,a,i,n)},gt:function(t,e,r,n,i){return l(t,e,r,n,i,a)},lt:function(t,e,r,n,a){return l(t,e,r,n,a,i)},le:function(t,e,r,n,a){return l(t,e,r,n,a,o)},eq:function(t,e,r,n,a){return l(t,e,r,n,a,s)}}},{}],44:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],45:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u=["","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"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=h;d++){var p=u-d|0;c+=(o=(a=0|t.words[p])*(i=0|e.words[d])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o>>24-a&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=c[t],d=f[t];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(t);r=(p=p.idivn(d)).isZero()?g+r:u[h-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(i),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i>>26;for(;0!==a&&i>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;it.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==i&&o>26,this.words[o]=67108863&e;if(0===i&&o>>13,d=0|o[1],p=8191&d,g=d>>>13,v=0|o[2],m=8191&v,y=v>>>13,b=0|o[3],x=8191&b,_=b>>>13,w=0|o[4],M=8191&w,T=w>>>13,A=0|o[5],k=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,O=0|o[7],R=8191&O,D=O>>>13,P=0|o[8],I=8191&P,N=P>>>13,z=0|o[9],F=8191&z,j=z>>>13,B=0|s[0],U=8191&B,H=B>>>13,V=0|s[1],Y=8191&V,q=V>>>13,G=0|s[2],W=8191&G,X=G>>>13,Z=0|s[3],J=8191&Z,Q=Z>>>13,K=0|s[4],$=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,dt=0|s[9],pt=8191&dt,gt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(u+(n=Math.imul(f,U))|0)+((8191&(a=(a=Math.imul(f,H))+Math.imul(h,U)|0))<<13)|0;u=((i=Math.imul(h,H))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(p,U),a=(a=Math.imul(p,H))+Math.imul(g,U)|0,i=Math.imul(g,H);var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(a=(a=a+Math.imul(f,q)|0)+Math.imul(h,Y)|0))<<13)|0;u=((i=i+Math.imul(h,q)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,U),a=(a=Math.imul(m,H))+Math.imul(y,U)|0,i=Math.imul(y,H),n=n+Math.imul(p,Y)|0,a=(a=a+Math.imul(p,q)|0)+Math.imul(g,Y)|0,i=i+Math.imul(g,q)|0;var yt=(u+(n=n+Math.imul(f,W)|0)|0)+((8191&(a=(a=a+Math.imul(f,X)|0)+Math.imul(h,W)|0))<<13)|0;u=((i=i+Math.imul(h,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(x,U),a=(a=Math.imul(x,H))+Math.imul(_,U)|0,i=Math.imul(_,H),n=n+Math.imul(m,Y)|0,a=(a=a+Math.imul(m,q)|0)+Math.imul(y,Y)|0,i=i+Math.imul(y,q)|0,n=n+Math.imul(p,W)|0,a=(a=a+Math.imul(p,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var bt=(u+(n=n+Math.imul(f,J)|0)|0)+((8191&(a=(a=a+Math.imul(f,Q)|0)+Math.imul(h,J)|0))<<13)|0;u=((i=i+Math.imul(h,Q)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),a=(a=Math.imul(M,H))+Math.imul(T,U)|0,i=Math.imul(T,H),n=n+Math.imul(x,Y)|0,a=(a=a+Math.imul(x,q)|0)+Math.imul(_,Y)|0,i=i+Math.imul(_,q)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(p,J)|0,a=(a=a+Math.imul(p,Q)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,Q)|0;var xt=(u+(n=n+Math.imul(f,$)|0)|0)+((8191&(a=(a=a+Math.imul(f,tt)|0)+Math.imul(h,$)|0))<<13)|0;u=((i=i+Math.imul(h,tt)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,U),a=(a=Math.imul(k,H))+Math.imul(S,U)|0,i=Math.imul(S,H),n=n+Math.imul(M,Y)|0,a=(a=a+Math.imul(M,q)|0)+Math.imul(T,Y)|0,i=i+Math.imul(T,q)|0,n=n+Math.imul(x,W)|0,a=(a=a+Math.imul(x,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,Q)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,Q)|0,n=n+Math.imul(p,$)|0,a=(a=a+Math.imul(p,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(a=(a=a+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((i=i+Math.imul(h,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),a=(a=Math.imul(L,H))+Math.imul(C,U)|0,i=Math.imul(C,H),n=n+Math.imul(k,Y)|0,a=(a=a+Math.imul(k,q)|0)+Math.imul(S,Y)|0,i=i+Math.imul(S,q)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(x,J)|0,a=(a=a+Math.imul(x,Q)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,Q)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,a=(a=a+Math.imul(p,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(u+(n=n+Math.imul(f,it)|0)|0)+((8191&(a=(a=a+Math.imul(f,ot)|0)+Math.imul(h,it)|0))<<13)|0;u=((i=i+Math.imul(h,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(R,U),a=(a=Math.imul(R,H))+Math.imul(D,U)|0,i=Math.imul(D,H),n=n+Math.imul(L,Y)|0,a=(a=a+Math.imul(L,q)|0)+Math.imul(C,Y)|0,i=i+Math.imul(C,q)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,Q)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,Q)|0,n=n+Math.imul(x,$)|0,a=(a=a+Math.imul(x,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(p,it)|0,a=(a=a+Math.imul(p,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var Mt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(a=(a=a+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((i=i+Math.imul(h,ut)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(I,U),a=(a=Math.imul(I,H))+Math.imul(N,U)|0,i=Math.imul(N,H),n=n+Math.imul(R,Y)|0,a=(a=a+Math.imul(R,q)|0)+Math.imul(D,Y)|0,i=i+Math.imul(D,q)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,Q)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,Q)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(x,rt)|0,a=(a=a+Math.imul(x,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(p,lt)|0,a=(a=a+Math.imul(p,ut)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ut)|0;var Tt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(a=(a=a+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((i=i+Math.imul(h,ht)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,U),a=(a=Math.imul(F,H))+Math.imul(j,U)|0,i=Math.imul(j,H),n=n+Math.imul(I,Y)|0,a=(a=a+Math.imul(I,q)|0)+Math.imul(N,Y)|0,i=i+Math.imul(N,q)|0,n=n+Math.imul(R,W)|0,a=(a=a+Math.imul(R,X)|0)+Math.imul(D,W)|0,i=i+Math.imul(D,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,Q)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,Q)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(x,it)|0,a=(a=a+Math.imul(x,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ut)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ut)|0,n=n+Math.imul(p,ft)|0,a=(a=a+Math.imul(p,ht)|0)+Math.imul(g,ft)|0,i=i+Math.imul(g,ht)|0;var At=(u+(n=n+Math.imul(f,pt)|0)|0)+((8191&(a=(a=a+Math.imul(f,gt)|0)+Math.imul(h,pt)|0))<<13)|0;u=((i=i+Math.imul(h,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,Y),a=(a=Math.imul(F,q))+Math.imul(j,Y)|0,i=Math.imul(j,q),n=n+Math.imul(I,W)|0,a=(a=a+Math.imul(I,X)|0)+Math.imul(N,W)|0,i=i+Math.imul(N,X)|0,n=n+Math.imul(R,J)|0,a=(a=a+Math.imul(R,Q)|0)+Math.imul(D,J)|0,i=i+Math.imul(D,Q)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(x,lt)|0,a=(a=a+Math.imul(x,ut)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ut)|0,n=n+Math.imul(m,ft)|0,a=(a=a+Math.imul(m,ht)|0)+Math.imul(y,ft)|0,i=i+Math.imul(y,ht)|0;var kt=(u+(n=n+Math.imul(p,pt)|0)|0)+((8191&(a=(a=a+Math.imul(p,gt)|0)+Math.imul(g,pt)|0))<<13)|0;u=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(F,W),a=(a=Math.imul(F,X))+Math.imul(j,W)|0,i=Math.imul(j,X),n=n+Math.imul(I,J)|0,a=(a=a+Math.imul(I,Q)|0)+Math.imul(N,J)|0,i=i+Math.imul(N,Q)|0,n=n+Math.imul(R,$)|0,a=(a=a+Math.imul(R,tt)|0)+Math.imul(D,$)|0,i=i+Math.imul(D,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ut)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ut)|0,n=n+Math.imul(x,ft)|0,a=(a=a+Math.imul(x,ht)|0)+Math.imul(_,ft)|0,i=i+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(m,pt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,pt)|0))<<13)|0;u=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,J),a=(a=Math.imul(F,Q))+Math.imul(j,J)|0,i=Math.imul(j,Q),n=n+Math.imul(I,$)|0,a=(a=a+Math.imul(I,tt)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,tt)|0,n=n+Math.imul(R,rt)|0,a=(a=a+Math.imul(R,nt)|0)+Math.imul(D,rt)|0,i=i+Math.imul(D,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ut)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ut)|0,n=n+Math.imul(M,ft)|0,a=(a=a+Math.imul(M,ht)|0)+Math.imul(T,ft)|0,i=i+Math.imul(T,ht)|0;var Et=(u+(n=n+Math.imul(x,pt)|0)|0)+((8191&(a=(a=a+Math.imul(x,gt)|0)+Math.imul(_,pt)|0))<<13)|0;u=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,$),a=(a=Math.imul(F,tt))+Math.imul(j,$)|0,i=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,a=(a=a+Math.imul(I,nt)|0)+Math.imul(N,rt)|0,i=i+Math.imul(N,nt)|0,n=n+Math.imul(R,it)|0,a=(a=a+Math.imul(R,ot)|0)+Math.imul(D,it)|0,i=i+Math.imul(D,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ut)|0,n=n+Math.imul(k,ft)|0,a=(a=a+Math.imul(k,ht)|0)+Math.imul(S,ft)|0,i=i+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(M,pt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(T,pt)|0))<<13)|0;u=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,rt),a=(a=Math.imul(F,nt))+Math.imul(j,rt)|0,i=Math.imul(j,nt),n=n+Math.imul(I,it)|0,a=(a=a+Math.imul(I,ot)|0)+Math.imul(N,it)|0,i=i+Math.imul(N,ot)|0,n=n+Math.imul(R,lt)|0,a=(a=a+Math.imul(R,ut)|0)+Math.imul(D,lt)|0,i=i+Math.imul(D,ut)|0,n=n+Math.imul(L,ft)|0,a=(a=a+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,i=i+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(k,pt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(S,pt)|0))<<13)|0;u=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,it),a=(a=Math.imul(F,ot))+Math.imul(j,it)|0,i=Math.imul(j,ot),n=n+Math.imul(I,lt)|0,a=(a=a+Math.imul(I,ut)|0)+Math.imul(N,lt)|0,i=i+Math.imul(N,ut)|0,n=n+Math.imul(R,ft)|0,a=(a=a+Math.imul(R,ht)|0)+Math.imul(D,ft)|0,i=i+Math.imul(D,ht)|0;var Ot=(u+(n=n+Math.imul(L,pt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(F,lt),a=(a=Math.imul(F,ut))+Math.imul(j,lt)|0,i=Math.imul(j,ut),n=n+Math.imul(I,ft)|0,a=(a=a+Math.imul(I,ht)|0)+Math.imul(N,ft)|0,i=i+Math.imul(N,ht)|0;var Rt=(u+(n=n+Math.imul(R,pt)|0)|0)+((8191&(a=(a=a+Math.imul(R,gt)|0)+Math.imul(D,pt)|0))<<13)|0;u=((i=i+Math.imul(D,gt)|0)+(a>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(F,ft),a=(a=Math.imul(F,ht))+Math.imul(j,ft)|0,i=Math.imul(j,ht);var Dt=(u+(n=n+Math.imul(I,pt)|0)|0)+((8191&(a=(a=a+Math.imul(I,gt)|0)+Math.imul(N,pt)|0))<<13)|0;u=((i=i+Math.imul(N,gt)|0)+(a>>>13)|0)+(Dt>>>26)|0,Dt&=67108863;var Pt=(u+(n=Math.imul(F,pt))|0)+((8191&(a=(a=Math.imul(F,gt))+Math.imul(j,pt)|0))<<13)|0;return u=((i=Math.imul(j,gt))+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=bt,l[4]=xt,l[5]=_t,l[6]=wt,l[7]=Mt,l[8]=Tt,l[9]=At,l[10]=kt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Ot,l[16]=Rt,l[17]=Dt,l[18]=Pt,0!==u&&(l[19]=u,r.length++),r};function p(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=h),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o>>=1)a++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=a);u--){var f=0|this.words[u];this.words[u]=c<<26-i|f>>>i,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[a.length+f])+(0|n.words[a.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(a,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(a,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,d=1;0==(e.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(c),o.isub(f)),a.iushrn(1),o.iushrn(1);for(var p=0,g=1;0==(r.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var a=0|this.words[0];e=a===t?0:at.length)return 1;if(this.length=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){na&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new x;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,a),h=this.pow(t,a.addn(1).iushrn(1)),d=this.pow(t,a),p=o;0!==d.cmp(s);){for(var g=d,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;a!==r[0]&&(a=this.sqr(a)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===c)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new M(t)},a(M,w),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)},{buffer:54}],46:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e>>1;if(!(c<=0)){var f,h=a.mallocDouble(2*c*s),d=a.mallocInt32(s);if((s=l(t,c,h,d))>0){if(1===c&&n)i.init(s),f=i.sweepComplete(c,r,0,s,h,d,0,s,h,d);else{var p=a.mallocDouble(2*c*u),g=a.mallocInt32(u);(u=l(e,c,p,g))>0&&(i.init(s+u),f=1===c?i.sweepBipartite(c,r,0,s,h,d,0,u,p,g):o(c,r,n,s,h,d,u,p,g),a.free(p),a.free(g))}a.free(h),a.free(d)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},{"./lib/intersect":49,"./lib/sweep":53,"typedarray-pool":372}],48:[function(t,e,r){"use strict";var n=["d","ax","vv","rs","re","rb","ri","bs","be","bb","bi"];function a(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],a=n.slice();t||a.splice(3,0,"fp");var i=["function "+e+"("+a.join()+"){"];function o(e,a){var o=function(t,e,r){var a="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),i=["function ",a,"(",n.join(),"){","var ","es","=2*","d",";"],o="for(var i=rs,rp=es*rs;ibe-bs){"),t?(o(!0,!1),i.push("}else{"),o(!1,!1)):(i.push("if(fp){"),o(!0,!0),i.push("}else{"),o(!0,!1),i.push("}}else{if(fp){"),o(!1,!0),i.push("}else{"),o(!1,!1),i.push("}")),i.push("}}return "+e);var s=r.join("")+i.join("");return new Function(s)()}r.partial=a(!1),r.full=a(!0)},{}],49:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,c,w,M,T,A){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(6*r);m.length0;){var L=6*(S-=1),C=m[L],O=m[L+1],R=m[L+2],D=m[L+3],P=m[L+4],I=m[L+5],N=2*S,z=y[N],F=y[N+1],j=1&I,B=!!(16&I),U=c,H=w,V=T,Y=A;if(j&&(U=T,H=A,V=c,Y=w),!(2&I&&(R=d(t,C,O,R,U,H,F),O>=R)||4&I&&(O=p(t,C,O,R,U,H,z))>=R)){var q=R-O,G=P-D;if(B){if(t*q*(q+G)<1<<22){if(void 0!==(k=l.scanComplete(t,C,e,O,R,U,H,D,P,V,Y)))return k;continue}}else{if(t*Math.min(q,G)<128){if(void 0!==(k=o(t,C,e,j,O,R,U,H,D,P,V,Y)))return k;continue}if(t*q*G<1<<22){if(void 0!==(k=l.scanBipartite(t,C,e,j,O,R,U,H,D,P,V,Y)))return k;continue}}var W=f(t,C,O,R,U,H,z,F);if(O=p0)&&!(p1>=hi)",["p0","p1"]),h=c("lo===p0",["p0"]),d=c("lo>>1,f=2*t,h=c,d=o[f*c+e];for(;l=y?(h=m,d=y):v>=x?(h=g,d=v):(h=b,d=x):y>=x?(h=m,d=y):x>=v?(h=g,d=v):(h=b,d=x);for(var _=f*(u-1),w=f*h,M=0;Mr&&a[f+e]>u;--c,f-=o){for(var h=f,d=f+o,p=0;p=0&&n.push("lo=e[k+n]");t.indexOf("hi")>=0&&n.push("hi=e[k+o]");return r.push("for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m".replace("_",n.join()).replace("$",t)),Function.apply(void 0,r)}},{}],52:[function(t,e,r){"use strict";e.exports=function(t,e){e<=128?n(0,e-1,t):function t(e,r,c){var f=(r-e+1)/6|0,h=e+f,d=r-f,p=e+r>>1,g=p-f,v=p+f,m=h,y=g,b=p,x=v,_=d,w=e+1,M=r-1,T=0;l(m,y,c)&&(T=m,m=y,y=T);l(x,_,c)&&(T=x,x=_,_=T);l(m,b,c)&&(T=m,m=b,b=T);l(y,b,c)&&(T=y,y=b,b=T);l(m,x,c)&&(T=m,m=x,x=T);l(b,x,c)&&(T=b,b=x,x=T);l(y,_,c)&&(T=y,y=_,_=T);l(y,b,c)&&(T=y,y=b,b=T);l(x,_,c)&&(T=x,x=_,_=T);for(var A=c[2*y],k=c[2*y+1],S=c[2*x],E=c[2*x+1],L=2*m,C=2*b,O=2*_,R=2*h,D=2*p,P=2*d,I=0;I<2;++I){var N=c[L+I],z=c[C+I],F=c[O+I];c[R+I]=N,c[D+I]=z,c[P+I]=F}i(g,e,c),i(v,r,c);for(var j=w;j<=M;++j)if(u(j,A,k,c))j!==w&&a(j,w,c),++w;else if(!u(j,S,E,c))for(;;){if(u(M,S,E,c)){u(M,A,k,c)?(o(j,w,M,c),++w,--M):(a(j,M,c),--M);break}if(--Mt;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function u(t,e,r,n){var a=n[t*=2];return a>>1;i(h,k);var S=0,E=0;for(w=0;w=1<<28)d(l,u,E--,L=L-(1<<28)|0);else if(L>=0)d(o,s,S--,L);else if(L<=-(1<<28)){L=-L-(1<<28)|0;for(var C=0;C>>1;i(h,E);var L=0,C=0,O=0;for(T=0;T>1==h[2*T+3]>>1&&(D=2,T+=1),R<0){for(var P=-(R>>1)-1,I=0;I>1)-1;0===D?d(o,s,L--,P):1===D?d(l,u,C--,P):2===D&&d(c,f,O--,P)}}},scanBipartite:function(t,e,r,n,a,l,u,c,f,g,v,m){var y=0,b=2*t,x=e,_=e+t,w=1,M=1;n?M=1<<28:w=1<<28;for(var T=a;T>>1;i(h,E);var L=0;for(T=0;T=1<<28?(O=!n,A-=1<<28):(O=!!n,A-=1),O)p(o,s,L++,A);else{var R=m[A],D=b*A,P=v[D+e+1],I=v[D+e+1+t];t:for(var N=0;N>>1;i(h,w);var M=0;for(y=0;y=1<<28)o[M++]=b-(1<<28);else{var A=d[b-=1],k=g*b,S=f[k+e+1],E=f[k+e+1+t];t:for(var L=0;L=0;--L)if(o[L]===b){for(D=L+1;D0&&o.length>a&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=o.length,s=l,console&&console.warn&&console.warn(s)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=h.bind(n);return a.listener=r,n.wrapFn=a,a}function p(t,e,r){var n=t._events;if(void 0===n)return[];var a=n[e];return void 0===a?[]:"function"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)i(l,this,e);else{var u=l.length,c=v(l,u);for(r=0;r=0;i--)if(r[i]===e||r[i].listener===e){o=r[i].listener,a=i;break}if(a<0)return this;0===a?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},s.prototype.listeners=function(t){return p(this,t,!0)},s.prototype.rawListeners=function(t){return p(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},{}],56:[function(t,e,r){(function(e){(function(){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=i,r.SlowBuffer=function(t){+t!=t&&(t=0);return i.alloc(+t)},r.INSPECT_MAX_BYTES=50;function a(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=i.prototype,e}function i(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return o(t,e,r)}function o(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!i.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|f(t,e),n=a(r),o=n.write(t,e);o!==r&&(n=n.slice(0,o));return n}(t,e);if(ArrayBuffer.isView(t))return u(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(F(t,ArrayBuffer)||t&&F(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|t}function f(t,e){if(i.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||F(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var a=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return I(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return N(t).length;default:if(a)return n?-1:I(t).length;e=(""+e).toLowerCase(),a=!0}}function h(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,r);case"utf8":case"utf-8":return M(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return A(this,e,r);case"base64":return w(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function p(t,e,r,n,a){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),j(r=+r)&&(r=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0){if(!a)return-1;r=0}if("string"==typeof e&&(e=i.from(e,n)),i.isBuffer(e))return 0===e.length?-1:g(t,e,r,n,a);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):g(t,[e],r,n,a);throw new TypeError("val must be string, number or Buffer")}function g(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var c=-1;for(i=r;is&&(r=s-l),i=r;i>=0;i--){for(var f=!0,h=0;ha&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function w(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a239?4:u>223?3:u>191?2:1;if(a+f<=r)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&u)<<6|63&i)>127&&(c=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&u)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),a+=f}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",n=0;for(;ne&&(t+=" ... "),""},i.prototype.compare=function(t,e,r,n,a){if(F(t,Uint8Array)&&(t=i.from(t,t.offset,t.byteLength)),!i.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===a&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(a>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),l=Math.min(o,s),u=this.slice(n,a),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return m(this,t,e,r);case"ascii":return y(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return x(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function T(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;an)&&(r=n);for(var a="",i=e;ir)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,r,n,a,o){if(!i.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||et.length)throw new RangeError("Index out of range")}function C(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function O(t,e,r,a,i){return e=+e,r>>>=0,i||C(t,0,r,4),n.write(t,e,r,a,23,4),r+4}function R(t,e,r,a,i){return e=+e,r>>>=0,i||C(t,0,r,8),n.write(t,e,r,a,52,8),r+8}i.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},i.prototype.readUInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]|this[t+1]<<8},i.prototype.readUInt16BE=function(t,e){return t>>>=0,e||E(t,2,this.length),this[t]<<8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},i.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=this[t],a=1,i=0;++i=(a*=128)&&(n-=Math.pow(2,8*e)),n},i.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||E(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},i.prototype.readInt8=function(t,e){return t>>>=0,e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt16BE=function(t,e){t>>>=0,e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},i.prototype.readInt32LE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},i.prototype.readInt32BE=function(t,e){return t>>>=0,e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},i.prototype.readFloatLE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return t>>>=0,e||E(t,4,this.length),n.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return t>>>=0,e||E(t,8,this.length),n.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,n)||L(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},i.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},i.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},i.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},i.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);L(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i>0)-s&255;return e+r},i.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);L(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},i.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},i.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},i.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},i.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},i.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},i.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},i.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},i.prototype.writeDoubleLE=function(t,e,r){return R(this,t,e,!0,r)},i.prototype.writeDoubleBE=function(t,e,r){return R(this,t,e,!1,r)},i.prototype.copy=function(t,e,r,n){if(!i.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return a},i.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!i.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var a=t.charCodeAt(0);("utf8"===n&&a<128||"latin1"===n)&&(t=a)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function N(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function z(t,e,r,n){for(var a=0;a=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function F(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function j(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":26,buffer:56,ieee754:272}],57:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function u(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var c=!!u(r,"delaunay",!0),f=!!u(r,"interior",!0),h=!!u(r,"exterior",!0),d=!!u(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var p=n(t,e);if(c||f!==h||d){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v0;){for(var d=r.pop(),p=(s=r.pop(),c=-1,f=-1,l=o[s],1);p=0||(e.flip(s,d),a(t,e,r,c,s,f),a(t,e,r,s,f,c),a(t,e,r,f,d,c),a(t,e,r,d,c,f)))}}},{"binary-search-bounds":43,"robust-in-sphere":342}],59:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a0||l.length>0;){for(;s.length>0;){var d=s.pop();if(u[d]!==-a){u[d]=a;c[d];for(var p=0;p<3;++p){var g=h[3*d+p];g>=0&&0===u[g]&&(f[3*d+p]?l.push(g):(s.push(g),u[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a1&&a(r[h[d-2]],r[h[d-1]],i)>0;)t.push([h[d-1],h[d-2],o]),d-=1;h.length=d,h.push(o);var p=f.upperIds;for(d=p.length;d>1&&a(r[p[d-2]],r[p[d-1]],i)<0;)t.push([p[d-2],p[d-1],o]),d-=1;p.length=d,p.push(o)}}function c(t,e){var r;return(r=t.a[0]p[0]&&a.push(new o(p,d,2,l),new o(d,p,1,l))}a.sort(s);for(var g=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),v=[new i([g,1],[g,0],-1,[],[],[],[])],m=[],y=(l=0,a.length);l=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;nr?r:t:te?e:t}},{}],66:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;ie[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--i){var b=e[c=(S=n[i])[0]],x=b[0],_=b[1],w=t[x],M=t[_];if((w[0]-M[0]||w[1]-M[1])<0){var T=x;x=_,_=T}b[0]=x;var A,k=b[1]=S[1];for(a&&(A=b[2]);i>0&&n[i-1][0]===c;){var S,E=(S=n[--i])[1];a?e.push([k,E,A]):e.push([k,E]),k=E}a?e.push([k,_,A]):e.push([k,_])}return h}(t,e,h,v,r));return m(e,y,r),!!y||(h.length>0||v.length>0)}},{"./lib/rat-seg-intersect":67,"big-rat":30,"big-rat/cmp":28,"big-rat/to-float":42,"box-intersect":47,nextafter:306,"rat-vec":333,"robust-segment-intersect":347,"union-find":373}],67:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),f=s(n,r),h=c(i,f);if(0===o(h))return null;var d=s(t,r),p=c(f,d),g=a(p,h),v=u(i,g);return l(t,v)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),u=t("rat-vec/muls");function c(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":29,"big-rat/mul":39,"big-rat/sign":40,"big-rat/sub":41,"rat-vec/add":332,"rat-vec/muls":334,"rat-vec/sub":335}],68:[function(t,e,r){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],69:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:65,"color-rgba":71,dtype:92}],70:[function(t,e,r){(function(r){(function(){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(d=t.slice(1)).length;u=1,c<=4?(l=[parseInt(d[0]+d[0],16),parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16)],4===c&&(u=parseInt(d[3]+d[3],16)/255)):(l=[parseInt(d[0]+d[1],16),parseInt(d[2]+d[3],16),parseInt(d[4]+d[5],16)],8===c&&(u=parseInt(d[6]+d[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,d=f.replace(/a$/,"");s=d;c="cmyk"===d?4:"gray"===d?1:3;l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===d?255*parseFloat(t)/100:parseFloat(t);if("h"===d[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===d&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(a(t)){var p=i(t.r,t.red,t.R,null);null!==p?(s="rgb",l=[p,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),u=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":68,defined:89,"is-plain-obj":281}],71:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:65,"color-parse":70,"color-space/hsl":72}],72:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[u]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":73}],73:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],74:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],75:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,u,c,f,h,d,p,g;t||(t={});d=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet");if("string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>d+1)throw new Error(f+" map requires nshades to be at least size "+c.length);p=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=c.map((function(t){return Math.round(t.index*d)})),p[0]=Math.min(Math.max(p[0],0),1),p[1]=Math.min(Math.max(p[1],0),1);var v=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=p[0]+(p[1]-p[0])*r),n})),m=[];for(g=0;g0||l(t,e,i)?-1:1:0===s?u>0||l(t,e,r)?1:-1:a(u-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,i)>0?1:-1:h<0?o>0||n(t,e,i)>0?1:-1:n(t,e,i)>0||l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),u=i(r[1],-e[1]),c=s(o(n,l),o(a,u));return c[c.length-1]>=0}},{"robust-orientation":344,"robust-product":345,"robust-sum":349,signum:350,"two-sum":371}],77:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),u=n(e[0],e[1]);return n(l,t[2])-n(u,e[2])||n(l+t[2],o)-n(u+e[2],s);case 4:var c=t[0],f=t[1],h=t[2],d=t[3],p=e[0],g=e[1],v=e[2],m=e[3];return c+f+h+d-(p+g+v+m)||n(c,f,h,d)-n(p,g,v,m,p)||n(c+f,c+h,c+d,f+h,f+d,h+d)-n(p+g,p+v,p+m,g+v,g+m,v+m)||n(c+f+h,c+f+d,c+h+d,f+h+d)-n(p+g+v,p+g+m,p+v+m,g+v+m);default:for(var y=t.slice().sort(a),b=e.slice().sort(a),x=0;xt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],81:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o=e[l]&&(s+=1);i[o]=s}}return t}(n(i,!0),r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":21,"incremental-convex-hull":273}],83:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,u=(1+2*a)*l,c=a*l,f=s*(3-2*a),h=s*o;if(t.length){i||(i=new Array(t.length));for(var d=t.length-1;d>=0;--d)i[d]=u*t[d]+c*e[d]+f*r[d]+h*n[d];return i}return u*t+c*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,u=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var c=t.length-1;c>=0;--c)i[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return i}return o*t+s*e+l*r[c]+u*n}},{}],84:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i0)throw new Error("cwise: pre() block may not reference array args");if(i0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i0)throw new Error("cwise: pre() block may not reference array index");if(i0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),ir.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":86}],85:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],u=[],c=0,f=0;for(n=0;n0&&l.push("var "+u.join(",")),n=i-1;n>=0;--n)c=t[n],l.push(["for(i",n,"=0;i",n,"0&&l.push(["index[",f,"]-=s",f].join("")),l.push(["++index[",c,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,s=new Array(t.arrayArgs.length),l=new Array(t.arrayArgs.length),u=0;u0&&b.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(u=0;u0&&y.push("var "+b.join(",")),u=0;u3&&y.push(i(t.pre,t,l));var T=i(t.body,t,l),A=function(t){for(var e=0,r=t[0].length;e0,u=[],c=0;c0;){"].join("")),u.push(["if(j",c,"<",s,"){"].join("")),u.push(["s",e[c],"=j",c].join("")),u.push(["j",c,"=0"].join("")),u.push(["}else{s",e[c],"=",s].join("")),u.push(["j",c,"-=",s,"}"].join("")),l&&u.push(["index[",e[c],"]=j",c].join(""));for(c=0;c3&&y.push(i(t.post,t,l)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+y.join("\n")+"\n----------");var k=[t.funcName||"unnamed","_cwise_loop_",s[0].join("s"),"m",A,o(l)].join("");return new Function(["function ",k,"(",m.join(","),"){",y.join("\n"),"} return ",k].join(""))()}},{uniq:374}],86:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],u=[],c=0;c0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+f+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[c]))),u.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+f+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[c])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+u.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),c=0;c=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:vt,s:mt,S:V,u:Y,U:q,V:G,w:W,W:X,x:null,X:null,y:Z,Y:J,Z:Q,"%":gt},Ct={a:function(t){return f[t.getUTCDay()]},A:function(t){return c[t.getUTCDay()]},b:function(t){return yt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:K,e:K,f:nt,H:$,I:tt,j:et,L:rt,m:at,M:it,p:function(t){return u[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:vt,s:mt,S:ot,u:st,U:lt,V:ut,w:ct,W:ft,x:null,X:null,y:ht,Y:dt,Z:pt,"%":gt},Ot={a:function(t,e,r){var n=Mt.exec(e.slice(r));return n?(t.w=Tt[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=_t.exec(e.slice(r));return n?(t.w=wt[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=St.exec(e.slice(r));return n?(t.m=Et[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=At.exec(e.slice(r));return n?(t.m=kt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,e,r){return Pt(t,i,e,r)},d:A,e:A,f:O,H:S,I:S,j:k,L:C,m:T,M:E,p:function(t,e,r){var n=bt.exec(e.slice(r));return n?(t.p=xt[n[0].toLowerCase()],r+n[0].length):-1},q:M,Q:D,s:P,S:L,u:v,U:m,V:y,w:g,W:b,x:function(t,e,r){return Pt(t,o,e,r)},X:function(t,e,r){return Pt(t,l,e,r)},y:_,Y:x,Z:w,"%":R};function Rt(t,e){return function(r){var n,a,i,o=[],l=-1,u=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++l53)return null;"w"in u||(u.w=1),"Z"in u?(l=(s=n(a(u.y,0,1))).getUTCDay(),s=l>4||0===l?e.utcMonday.ceil(s):e.utcMonday(s),s=e.utcDay.offset(s,7*(u.V-1)),u.y=s.getUTCFullYear(),u.m=s.getUTCMonth(),u.d=s.getUTCDate()+(u.w+6)%7):(l=(s=r(a(u.y,0,1))).getDay(),s=l>4||0===l?e.timeMonday.ceil(s):e.timeMonday(s),s=e.timeDay.offset(s,7*(u.V-1)),u.y=s.getFullYear(),u.m=s.getMonth(),u.d=s.getDate()+(u.w+6)%7)}else("W"in u||"U"in u)&&("w"in u||(u.w="u"in u?u.u%7:"W"in u?1:0),l="Z"in u?n(a(u.y,0,1)).getUTCDay():r(a(u.y,0,1)).getDay(),u.m=0,u.d="W"in u?(u.w+6)%7+7*u.W-(l+5)%7:u.w+7*u.U-(l+6)%7);return"Z"in u?(u.H+=u.Z/100|0,u.M+=u.Z%100,n(u)):r(u)}}function Pt(t,e,r,n){for(var a,i,o=0,l=e.length,u=r.length;o=u)return-1;if(37===(a=e.charCodeAt(o++))){if(a=e.charAt(o++),!(i=Ot[a in s?e.charAt(o++):a])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}return Lt.x=Rt(o,Lt),Lt.X=Rt(l,Lt),Lt.c=Rt(i,Lt),Ct.x=Rt(o,Ct),Ct.X=Rt(l,Ct),Ct.c=Rt(i,Ct),{format:function(t){var e=Rt(t+="",Lt);return e.toString=function(){return t},e},parse:function(t){var e=Dt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Rt(t+="",Ct);return e.toString=function(){return t},e},utcParse:function(t){var e=Dt(t+="",!0);return e.toString=function(){return t},e}}}var o,s={"-":"",_:" ",0:"0"},l=/^\s*\d+/,u=/^%/,c=/[\\^$*+?|[\]().{}]/g;function f(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i68?1900:2e3),r+n[0].length):-1}function w(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function M(t,e,r){var n=l.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function T(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function A(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function k(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function S(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function E(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function L(t,e,r){var n=l.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function C(t,e,r){var n=l.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function O(t,e,r){var n=l.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function R(t,e,r){var n=u.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function D(t,e,r){var n=l.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function P(t,e,r){var n=l.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function I(t,e){return f(t.getDate(),e,2)}function N(t,e){return f(t.getHours(),e,2)}function z(t,e){return f(t.getHours()%12||12,e,2)}function F(t,r){return f(1+e.timeDay.count(e.timeYear(t),t),r,3)}function j(t,e){return f(t.getMilliseconds(),e,3)}function B(t,e){return j(t,e)+"000"}function U(t,e){return f(t.getMonth()+1,e,2)}function H(t,e){return f(t.getMinutes(),e,2)}function V(t,e){return f(t.getSeconds(),e,2)}function Y(t){var e=t.getDay();return 0===e?7:e}function q(t,r){return f(e.timeSunday.count(e.timeYear(t)-1,t),r,2)}function G(t,r){var n=t.getDay();return t=n>=4||0===n?e.timeThursday(t):e.timeThursday.ceil(t),f(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),r,2)}function W(t){return t.getDay()}function X(t,r){return f(e.timeMonday.count(e.timeYear(t)-1,t),r,2)}function Z(t,e){return f(t.getFullYear()%100,e,2)}function J(t,e){return f(t.getFullYear()%1e4,e,4)}function Q(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+f(e/60|0,"0",2)+f(e%60,"0",2)}function K(t,e){return f(t.getUTCDate(),e,2)}function $(t,e){return f(t.getUTCHours(),e,2)}function tt(t,e){return f(t.getUTCHours()%12||12,e,2)}function et(t,r){return f(1+e.utcDay.count(e.utcYear(t),t),r,3)}function rt(t,e){return f(t.getUTCMilliseconds(),e,3)}function nt(t,e){return rt(t,e)+"000"}function at(t,e){return f(t.getUTCMonth()+1,e,2)}function it(t,e){return f(t.getUTCMinutes(),e,2)}function ot(t,e){return f(t.getUTCSeconds(),e,2)}function st(t){var e=t.getUTCDay();return 0===e?7:e}function lt(t,r){return f(e.utcSunday.count(e.utcYear(t)-1,t),r,2)}function ut(t,r){var n=t.getUTCDay();return t=n>=4||0===n?e.utcThursday(t):e.utcThursday.ceil(t),f(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),r,2)}function ct(t){return t.getUTCDay()}function ft(t,r){return f(e.utcMonday.count(e.utcYear(t)-1,t),r,2)}function ht(t,e){return f(t.getUTCFullYear()%100,e,2)}function dt(t,e){return f(t.getUTCFullYear()%1e4,e,4)}function pt(){return"+0000"}function gt(){return"%"}function vt(t){return+t}function mt(t){return Math.floor(+t/1e3)}function yt(e){return o=i(e),t.timeFormat=o.format,t.timeParse=o.parse,t.utcFormat=o.utcFormat,t.utcParse=o.utcParse,o}yt({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"]});var bt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");var xt=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ");t.isoFormat=bt,t.isoParse=xt,t.timeFormatDefaultLocale=yt,t.timeFormatLocale=i,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-time":88}],88:[function(t,e,r){!function(t,n){"object"==typeof r&&void 0!==e?n(r):n((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=new Date,r=new Date;function n(t,a,i,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(e){return t(e=new Date(e-1)),a(e,1),t(e),e},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(i=new Date(+e)),a(e,n),t(e)}while(i=r)for(;t(r),!e(r);)r.setTime(r-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;a(t,-1),!e(t););else for(;--r>=0;)for(;a(t,1),!e(t););}))},i&&(s.count=function(n,a){return e.setTime(+n),r.setTime(+a),t(e),t(r),Math.floor(i(e,r))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}var a=n((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));a.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?n((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):a:null};var i=a.range,o=n((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),s=o.range,l=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),u=l.range,c=n((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),f=c.range,h=n((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),d=h.range;function p(t){return n((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var g=p(0),v=p(1),m=p(2),y=p(3),b=p(4),x=p(5),_=p(6),w=g.range,M=v.range,T=m.range,A=y.range,k=b.range,S=x.range,E=_.range,L=n((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),C=L.range,O=n((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));O.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null};var R=O.range,D=n((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),P=D.range,I=n((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),N=I.range,z=n((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),F=z.range;function j(t){return n((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var B=j(0),U=j(1),H=j(2),V=j(3),Y=j(4),q=j(5),G=j(6),W=B.range,X=U.range,Z=H.range,J=V.range,Q=Y.range,K=q.range,$=G.range,tt=n((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),et=tt.range,rt=n((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));rt.every=function(t){return isFinite(t=Math.floor(t))&&t>0?n((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null};var nt=rt.range;t.timeDay=h,t.timeDays=d,t.timeFriday=x,t.timeFridays=S,t.timeHour=c,t.timeHours=f,t.timeInterval=n,t.timeMillisecond=a,t.timeMilliseconds=i,t.timeMinute=l,t.timeMinutes=u,t.timeMonday=v,t.timeMondays=M,t.timeMonth=L,t.timeMonths=C,t.timeSaturday=_,t.timeSaturdays=E,t.timeSecond=o,t.timeSeconds=s,t.timeSunday=g,t.timeSundays=w,t.timeThursday=b,t.timeThursdays=k,t.timeTuesday=m,t.timeTuesdays=T,t.timeWednesday=y,t.timeWednesdays=A,t.timeWeek=g,t.timeWeeks=w,t.timeYear=O,t.timeYears=R,t.utcDay=z,t.utcDays=F,t.utcFriday=q,t.utcFridays=K,t.utcHour=I,t.utcHours=N,t.utcMillisecond=a,t.utcMilliseconds=i,t.utcMinute=D,t.utcMinutes=P,t.utcMonday=U,t.utcMondays=X,t.utcMonth=tt,t.utcMonths=et,t.utcSaturday=G,t.utcSaturdays=$,t.utcSecond=o,t.utcSeconds=s,t.utcSunday=B,t.utcSundays=W,t.utcThursday=Y,t.utcThursdays=Q,t.utcTuesday=H,t.utcTuesdays=Z,t.utcWednesday=V,t.utcWednesdays=J,t.utcWeek=B,t.utcWeeks=W,t.utcYear=rt,t.utcYears=nt,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],89:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0}));if(1&s)for(c=0;c<_.length;++c){h=(x=_[c])[0];x[0]=x[1],x[1]=h}return _}},{"incremental-convex-hull":273,uniq:374}],91:[function(t,e,r){(function(t){(function(){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this)}).call(this,t("buffer").Buffer)},{buffer:56}],92:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],93:[function(t,e,r){"use strict";e.exports=function(t,e){switch(void 0===e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var p=t-e[r-1];for(d=0;d=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(i(l[f-1],u[f-1],arguments[f])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var d=i(u[h-1],c[h-1],arguments[h]);n.push(d),a.push((d-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var d=arguments[h];n.push(i(l[h-1],u[h-1],n[o++]+d)),a.push(d*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(i(l[f],u[f],n[o]+c*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":98,"cubic-hermite":83}],98:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],99:[function(t,e,r){"use strict";e.exports=function(t){return new s(t||g,null)};function n(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function a(t){return new n(t._color,t.key,t.value,t.left,t.right,t._count)}function i(t,e){return new n(t,e.key,e.value,e.left,e.right,e._count)}function o(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function s(t,e){this._compare=t,this.root=e}var l=s.prototype;function u(t,e){var r;if(e.left&&(r=u(t,e.left)))return r;return(r=t(e.key,e.value))||(e.right?u(t,e.right):void 0)}function c(t,e,r,n){if(e(t,n.key)<=0){var a;if(n.left)if(a=c(t,e,r,n.left))return a;if(a=r(n.key,n.value))return a}if(n.right)return c(t,e,r,n.right)}function f(t,e,r,n,a){var i,o=r(t,a.key),s=r(e,a.key);if(o<=0){if(a.left&&(i=f(t,e,r,n,a.left)))return i;if(s>0&&(i=n(a.key,a.value)))return i}if(s>0&&a.right)return f(t,e,r,n,a.right)}function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(l,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(l,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(l,"length",{get:function(){return this.root?this.root._count:0}}),l.insert=function(t,e){for(var r=this._compare,a=this.root,l=[],u=[];a;){var c=r(t,a.key);l.push(a),u.push(c),a=c<=0?a.left:a.right}l.push(new n(0,t,e,null,null,1));for(var f=l.length-2;f>=0;--f){a=l[f];u[f]<=0?l[f]=new n(a._color,a.key,a.value,l[f+1],a.right,a._count+1):l[f]=new n(a._color,a.key,a.value,a.left,l[f+1],a._count+1)}for(f=l.length-1;f>1;--f){var h=l[f-1];a=l[f];if(1===h._color||1===a._color)break;var d=l[f-2];if(d.left===h)if(h.left===a){if(!(p=d.right)||0!==p._color){if(d._color=0,d.left=h.right,h._color=1,h.right=d,l[f-2]=h,l[f-1]=a,o(d),o(h),f>=3)(g=l[f-3]).left===d?g.left=h:g.right=h;break}h._color=1,d.right=i(1,p),d._color=0,f-=1}else{if(!(p=d.right)||0!==p._color){if(h.right=a.left,d._color=0,d.left=a.right,a._color=1,a.left=h,a.right=d,l[f-2]=a,l[f-1]=h,o(d),o(h),o(a),f>=3)(g=l[f-3]).left===d?g.left=a:g.right=a;break}h._color=1,d.right=i(1,p),d._color=0,f-=1}else if(h.right===a){if(!(p=d.left)||0!==p._color){if(d._color=0,d.right=h.left,h._color=1,h.left=d,l[f-2]=h,l[f-1]=a,o(d),o(h),f>=3)(g=l[f-3]).right===d?g.right=h:g.left=h;break}h._color=1,d.left=i(1,p),d._color=0,f-=1}else{var p;if(!(p=d.left)||0!==p._color){var g;if(h.left=a.right,d._color=0,d.right=a.left,a._color=1,a.right=h,a.left=d,l[f-2]=a,l[f-1]=h,o(d),o(h),o(a),f>=3)(g=l[f-3]).right===d?g.right=a:g.left=a;break}h._color=1,d.left=i(1,p),d._color=0,f-=1}}return l[0]._color=1,new s(r,l[0])},l.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return u(t,this.root);case 2:return c(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return f(e,r,this._compare,t,this.root)}},Object.defineProperty(l,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(l,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),l.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new h(this,[])},l.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},l.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},l.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},l.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},l.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},l.remove=function(t){var e=this.find(t);return e?e.remove():this},l.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var d=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function g(t,e){return te?1:0}Object.defineProperty(d,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(d,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),d.clone=function(){return new h(this.tree,this._stack.slice())},d.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new n(r._color,r.key,r.value,r.left,r.right,r._count);for(var l=t.length-2;l>=0;--l){(r=t[l]).left===t[l+1]?e[l]=new n(r._color,r.key,r.value,e[l+1],r.right,r._count):e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count)}if((r=e[e.length-1]).left&&r.right){var u=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var c=e[u-1];e.push(new n(r._color,c.key,c.value,r.left,r.right,r._count)),e[u-1].key=r.key,e[u-1].value=r.value;for(l=e.length-2;l>=u;--l)r=e[l],e[l]=new n(r._color,r.key,r.value,r.left,e[l+1],r._count);e[u-1].left=e[u]}if(0===(r=e[e.length-1])._color){var f=e[e.length-2];f.left===r?f.left=null:f.right===r&&(f.right=null),e.pop();for(l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((r=t[l-1]).left===e){if((n=r.right).right&&0===n.right._color){if(s=(n=r.right=a(n)).right=a(n.right),r.right=n.left,n.left=r,n.right=s,n._color=r._color,e._color=1,r._color=1,s._color=1,o(r),o(n),l>1)(u=t[l-2]).left===r?u.left=n:u.right=n;return void(t[l-1]=n)}if(n.left&&0===n.left._color){if(s=(n=r.right=a(n)).left=a(n.left),r.right=s.left,n.left=s.right,s.left=r,s.right=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(u=t[l-2]).left===r?u.left=s:u.right=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.right=i(0,n));r.right=i(0,n);continue}n=a(n),r.right=n.left,n.left=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((u=t[l-2]).left===r?u.left=n:u.right=n),t[l-1]=n,t[l]=r,l+11)(u=t[l-2]).right===r?u.right=n:u.left=n;return void(t[l-1]=n)}if(n.right&&0===n.right._color){if(s=(n=r.left=a(n)).right=a(n.right),r.left=s.right,n.right=s.left,s.right=r,s.left=n,s._color=r._color,r._color=1,n._color=1,e._color=1,o(r),o(n),o(s),l>1)(u=t[l-2]).right===r?u.right=s:u.left=s;return void(t[l-1]=s)}if(1===n._color){if(0===r._color)return r._color=1,void(r.left=i(0,n));r.left=i(0,n);continue}var u;n=a(n),r.left=n.right,n.right=r,n._color=r._color,r._color=0,o(r),o(n),l>1&&((u=t[l-2]).right===r?u.right=n:u.left=n),t[l-1]=n,t[l]=r,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(d,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(d,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),d.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(d,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),d.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),a=e[e.length-1];r[r.length-1]=new n(a._color,a.key,t,a.left,a.right,a._count);for(var i=e.length-2;i>=0;--i)(a=e[i]).left===e[i+1]?r[i]=new n(a._color,a.key,a.value,r[i+1],a.right,a._count):r[i]=new n(a._color,a.key,a.value,a.left,r[i+1],a._count);return new s(this.tree._compare,r[0])},d.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(d,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],100:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function i(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+607/128+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(i(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var o=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(o,e+.5)*Math.exp(-o)*r},e.exports.log=i},{}],101:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o0?(d[c]=-1,p[c]=0):(d[c]=0,p[c]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],b=[0,0,0];f.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,c=o(r,n,a,i,s),f=c.cubeEdges,h=c.axis,x=n[12],_=n[13],w=n[14],M=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*x+a[7]*_+a[11]*w+a[15]*M)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var k=d;for(A=0;A<3;++A)p(d[A],A,this.bounds,f,h);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=h[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var L=[0,0,0];h[A]>0?L[A]=i[1][A]:L[A]=i[0][A];for(var C=0;C<2;++C){var O=(A+1+C)%3,R=(A+1+(1^C))%3;this.gridEnable[O]&&this._lines.drawGrid(O,R,this.bounds,L,this.gridColor[O],this.gridWidth[O]*this.pixelRatio)}for(C=0;C<2;++C){O=(A+1+C)%3,R=(A+1+(1^C))%3;this.zeroEnable[R]&&Math.min(i[0][R],i[1][R])<=0&&Math.max(i[0][R],i[1][R])>=0&&this._lines.drawZero(O,R,this.bounds,L,this.zeroLineColor[R],this.zeroLineWidth[R]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,k[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=u(m,k[A].primalMinor),P=u(y,k[A].mirrorMinor),I=this.lineTickLength;for(C=0;C<3;++C){var N=T/r[5*C];D[C]*=I[C]*N,P[C]*=I[C]*N}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,k[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,k[A].mirrorOffset,P,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var z,F;function j(t){(F=[0,0,0])[t]=1}function B(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0||i>0&&l<0||i<0&&l>0||i<0&&l<0?j(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&j(a)}for(A=0;A<3;++A){var U=k[A].primalMinor,H=k[A].mirrorMinor,V=u(b,k[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(V[C]+=T*U[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var Y=[0,0,0];if(Y[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,z=1,"auto"===(S=[this.tickAlign[A],.5,z])[0]?S[0]=0:S[0]=parseInt(""+S[0]),F=[0,0,0],B(A,U,H);for(C=0;C<3;++C)V[C]+=T*U[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],V,this.tickColor[A],Y,F,S)}if(this.labelEnable[A]){z=0,F=[0,0,0],this.labels[A].length>4&&(j(A),z=1),"auto"===(S=[this.labelAlign[A],.5,z])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(C=0;C<3;++C)V[C]+=T*U[C]*this.labelPad[C]/r[5*C];V[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],V,this.labelColor[A],[0,0,0],F,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":103,"./lib/cube.js":104,"./lib/lines.js":105,"./lib/text.js":107,"./lib/ticks.js":108}],103:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],d=-1;d<=1;d+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=d,h[l]=d;for(var p=-1;p<=1;p+=2){f[u]=p;for(var g=-1;g<=1;g+=2)f[c]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var v=u;u=c,c=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),b=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),x=i(t);return x.attributes.position.location=0,x.attributes.normal.location=1,new o(t,m,b,x)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":106,"gl-buffer":111,"gl-vao":188}],104:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,d){a(s,e,t),a(s,r,s);for(var y=0,b=0;b<2;++b){c[2]=i[b][2];for(var x=0;x<2;++x){c[1]=i[x][1];for(var _=0;_<2;++_)c[0]=i[_][0],h(l[y],c,s),y+=1}}var w=-1;for(b=0;b<8;++b){for(var M=l[b][3],T=0;T<3;++T)u[b][T]=l[b][T]/M;d&&(u[b][2]*=-1),M<0&&(w<0||u[b][2]E&&(w|=1<E&&(w|=1<u[b][1])&&(N=b);var z=-1;for(b=0;b<3;++b){if((j=N^1<u[F][0]&&(F=j)}var B=g;B[0]=B[1]=B[2]=0,B[n.log2(z^N)]=N&z,B[n.log2(N^F)]=N&F;var U=7^F;U===w||U===I?(U=7^z,B[n.log2(F^U)]=U&F):B[n.log2(z^U)]=U&z;var H=v,V=w;for(A=0;A<3;++A)H[A]=V&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return a(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":169,glslify:109}],107:[function(t,e,r){(function(r){(function(){"use strict";e.exports=function(t,e,r,i,s,l){var c=n(t),f=a(t,[{buffer:c,size:3}]),h=o(t);h.attributes.position.location=0;var d=new u(t,h,c,f);return d.update(e,r,i,s,l),d};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function u(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var c=u.prototype,f=[0,0];c.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},c.unbind=function(){this.vao.unbind()},c.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var u=l[r];u||(u=l[r]={});var c=u[e];c||(c=u[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:a,styletags:s}));for(var f=(n||12)/12,h=c.positions,d=c.cells,p=0,g=d.length;p=0;--m){var y=h[v[m]];o.push(f*y[0],-f*y[1],t)}}for(var u=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],d={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r[p],12,1.25,d),h[p]=(o.length/3|0)-f[p],u[p]=o.length/3|0;for(var g=0;g=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,u=o%i;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),a){for(var f=""+u;f.length=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,i,a),r}function c(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:305,"ndarray-ops":300,"typedarray-pool":372}],112:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=null,p=null,g=[],v=1/0,m=!1,y=0;yo&&(o=n.length(x)),y){var _=2*n.distance(d,b)/(n.length(p)+n.length(x));_?(v=Math.min(v,_),m=!1):m=!0}m||(d=b,p=x),g.push(x)}var w=[s,u,f],M=[l,c,h];e&&(e[0]=w,e[1]=M),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),i.coneScale=A;y=0;for(var k=0;y=1},d.isTransparent=function(){return this.opacity<1},d.pickSlots=1,d.setPickBase=function(t){this.pickId=t},d.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=a;var h=t.meshColor||[1,1,1,1],d=t.vertexIntensity,p=1/0,g=-1/0;if(d)if(t.vertexIntensityBounds)p=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v0){var g=this.triShader;g.bind(),g.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},d.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,a=t.projection||f,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},d.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},d.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()},e.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=p(t,n),l=g(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=a(t),d=a(t),v=a(t),m=a(t),y=a(t),b=i(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:m,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),x=new h(t,c,s,l,f,d,y,v,m,b,r.traceType||"cone");return x.update(e),x}},{colormap:75,"gl-buffer":111,"gl-mat4/invert":141,"gl-mat4/multiply":143,"gl-shader":169,"gl-texture2d":184,"gl-vao":188,ndarray:305}],114:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:269}],115:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",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"}},{}],116:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":115}],117:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function f(t,e,r,n){for(var a=c[n],i=0;i0)(g=c.slice())[s]+=d[1][s],a.push(c[0],c[1],c[2],p[0],p[1],p[2],p[3],0,0,0,g[0],g[1],g[2],p[0],p[1],p[2],p[3],0,0,0),u(this.bounds,g),o+=2+f(a,g,p,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":119,"gl-buffer":111,"gl-vao":188}],118:[function(t,e,r){arguments[4][109][0].apply(r,arguments)},{dup:109}],119:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":169,glslify:118}],120:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;ic||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,d=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!d)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&d&&(h=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new p(t,e,r,h,f,g,v,u)};var a,i,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function d(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function p(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var p=0;p1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?p?t.depth=h(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&p?t._depth_rb=d(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=d(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):p&&(t._depth_rb=d(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var b=r.checkFramebufferStatus(r.FRAMEBUFFER);if(b!==r.FRAMEBUFFER_COMPLETE){t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null);for(m=0;ma||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=u(n),o=0;o max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":169,glslify:124}],123:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),d=0;d<1024;++d)c.data[d]=255;var p=i(e,c);p.wrap=e.REPEAT;var g=new m(e,r,o,s,l,p);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=new Uint8Array(4),s=new Float32Array(o.buffer);var l=t("binary-search-bounds"),u=t("ndarray"),c=t("./lib/shaders"),f=c.createShader,h=c.createPickShader,d=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function g(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function v(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,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=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var y=m.prototype;y.isTransparent=function(){return this.hasAlpha},y.isOpaque=function(){return!this.hasAlpha},y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.drawTransparent=y.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||d,view:t.view||d,projection:t.projection||d,clipBounds:g(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||d,view:t.view||d,projection:t.projection||d,pickId:this.pickId,clipBounds:g(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},y.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e0){for(var w=0;w<24;++w)a.push(a[a.length-12]);c+=2,v=!0}continue t}f[0][r]=Math.min(f[0][r],x[r],_[r]),f[1][r]=Math.max(f[1][r],x[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),b=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var M=s;if(s+=p(x,_),v){for(r=0;r<2;++r)a.push(x[0],x[1],x[2],_[0],_[1],_[2],M,b,m[0],m[1],m[2],m[3]);c+=2,v=!1}a.push(x[0],x[1],x[2],_[0],_[1],_[2],M,b,m[0],m[1],m[2],m[3],x[0],x[1],x[2],_[0],_[1],_[2],M,-b,m[0],m[1],m[2],m[3],_[0],_[1],_[2],x[0],x[1],x[2],s,-b,y[0],y[1],y[2],y[3],_[0],_[1],_[2],x[0],x[1],x[2],s,b,y[0],y[1],y[2],y[3]),c+=4}}if(this.buffer.update(a),i.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=i,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e1.0001)return null;m+=v[f]}if(Math.abs(m-1)>.001)return null;return[h,s(t,v),v]}},{barycentric:25,"polytope-closest-point/lib/closest_point_2d.js":329}],156:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:d,fragment:p,attributes:[{name:"position",type:"vec3"}]}},{glslify:269}],157:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),u=t("gl-mat4/invert"),c=t("ndarray"),f=t("colormap"),h=t("simplicial-complex-contour"),d=t("typedarray-pool"),p=t("./lib/shaders"),g=t("./lib/closest-point"),v=p.meshShader,m=p.wireShader,y=p.pointShader,b=p.pickShader,x=p.pointPickShader,_=p.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function M(t,e,r,n,a,i,o,s,l,u,c,f,h,d,p,g,v,m,y,b,x,_,M,T,A,k,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=p,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=b,this.pointColors=_,this.pointUVs=M,this.pointSizes=T,this.pointIds=x,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=k,this.contourVAO=S,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=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=M.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function k(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function O(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=d.mallocFloat32(6*i),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;iMath.abs(e))u.rotate(i,0,0,-t*r*Math.PI*p.rotateSpeed/window.innerWidth);else if(!p._ortho){var o=-p.zoomSpeed*a*e/window.innerHeight*(i-u.lastT())/20;u.pan(i,0,0,f*(Math.exp(o)-1))}}}),!0)},p.enableMouseListeners(),p};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":17,"has-passive-events":271,"mouse-change":292,"mouse-event-offset":293,"mouse-wheel":295,"right-now":338}],159:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":169,glslify:160}],160:[function(t,e,r){arguments[4][109][0].apply(r,arguments)},{dup:109}],161:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),u=t("a-big-triangle"),c=t("mouse-change"),f=t("gl-mat4/perspective"),h=t("gl-mat4/ortho"),d=t("./lib/shader"),p=t("is-mobile")({tablet:!0,featureDetect:!0});function g(){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 v(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e){if(e=document.createElement("canvas"),t.container)t.container.appendChild(e);else document.body.appendChild(e)}var r=t.gl;r||(t.glOptions&&(p=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:p}));if(!r)throw new Error("webgl not supported");var y=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,x=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!p}),_=d(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,M={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},T=t.axes||{},A=a(r,T);A.enable=!T.disable;var k=t.spikes||{},S=o(r,k),E=[],L=[],C=[],O=[],R=!0,D=!0,P=new Array(16),I=new Array(16),N={view:null,projection:P,model:I,_ortho:!1},z=(D=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),F=t.cameraObject||n(e,M),j={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:F,axes:A,axesPixels:null,spikes:S,bounds:y,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:N,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,D=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},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)}},B=[r.drawingBufferWidth/j.pixelRatio|0,r.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*j.pixelRatio),i=0|Math.ceil(n*j.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",R=!0}}}j.autoResize&&U();function H(){for(var t=E.length,e=O.length,n=0;n0&&0===C[e-1];)C.pop(),O.pop().dispose()}function V(){if(j.contextLost)return!0;r.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},R=!0,D=!0)},j.add=function(t){j._stopped||(t.axes=A,E.push(t),L.push(-1),R=!0,D=!0,H())},j.remove=function(t){if(!j._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),R=!0,D=!0,H())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",V),j.mouseListener.enabled=!1,!j.contextLost)){A.dispose(),S.dispose();for(var t=0;tb.distance)continue;for(var u=0;u1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*u+l*d,t[1]=s*c+l*p,t[2]=s*f+l*g,t[3]=s*h+l*v,t}},{}],163:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],164:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:i,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},d={vertex:s,fragment:l,attributes:c},p={vertex:i,fragment:u,attributes:c},g={vertex:o,fragment:u,attributes:c},v={vertex:s,fragment:u,attributes:c};function m(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return m(t,f)},r.createOrtho=function(t){return m(t,h)},r.createProject=function(t){return m(t,d)},r.createPickPerspective=function(t){return m(t,p)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":169,glslify:166}],166:[function(t,e,r){arguments[4][109][0].apply(r,arguments)},{dup:109}],167:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),u=t("./lib/glyphs"),c=t("./lib/get-simple-string"),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function d(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function p(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t||t>1?1:t}function v(t,e,r,n,a,i,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new p(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=a(e),h=a(e),d=a(e),p=a(e),g=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:p,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,f,h,d,p,g,s,u,c);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],b=[0,0,0],x=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],M=f.slice(),T=[0,0,0],A=[[0,0,0],[0,0,0]];function k(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,p=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(i[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=M,L=0;L<16;++L)m[L]=0;for(L=0;L<4;++L)m[5*L]=1;m[5*v]=0,a[v]<0?m[12+v]=p[0][v]:m[12+v]=p[1][v],s(m,u,m),l.model=m;var C=(v+1)%3,O=(v+2)%3,R=k(b),D=k(x);R[C]=1,D[O]=1;var P=d(0,0,0,S(_,R)),I=d(0,0,0,S(w,D));if(Math.abs(P[1])>Math.abs(I[1])){var N=P;P=I,I=N,N=R,R=D,D=N;var z=C;C=O,O=z}P[0]<0&&(R[C]=-1),I[1]>0&&(D[O]=-1);var F=0,j=0;for(L=0;L<4;++L)F+=Math.pow(u[4*C+L],2),j+=Math.pow(u[4*O+L],2);R[C]/=Math.sqrt(F),D[O]/=Math.sqrt(j),l.axes[0]=R,l.axes[1]=D,l.fragClipBounds[0]=E(T,g[0],v,-1e8),l.fragClipBounds[1]=E(T,g[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function O(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&L(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||f,l.view=n.view||f,l.projection=n.projection||f,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function R(t,e,r,a){var i;i=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)a=u[0],i=u[1];else{a=[],i=[];for(n=0;n0){var D=0,P=b,I=[0,0,0,1],N=[0,0,0,1],z=Array.isArray(d)&&Array.isArray(d[0]),F=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],M=0;M<3;++M){if(isNaN(w[M])||!isFinite(w[M]))continue t;f[M]=Math.max(f[M],w[M]),c[M]=Math.min(c[M],w[M])}T=(j=R(h,n,l,this.pixelRatio)).mesh,A=j.lines,k=j.bounds;var j,B=j.visible;if(B)if(Array.isArray(d)){if(3===(U=z?n0?1-k[0][0]:G<0?1+k[1][0]:1,W*=W>0?1-k[0][1]:W<0?1+k[1][1]:1],Z=T.cells||[],J=T.positions||[];for(M=0;Mthis.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;ir)for(t=r;te)for(t=e;t=0){for(var M=0|w.type.charAt(w.type.length-1),T=new Array(M),A=0;A=0;)k+=1;_[y]=k}var S=new Array(r.length);function E(){h.program=o.program(d,h._vref,h._fref,x,_);for(var t=0;t=0){if((p=h.charCodeAt(h.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+f+": "+h);o(t,e,d[0],a,p,i,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var p;if((p=h.charCodeAt(h.length-1)-48)<2||p>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,d,a,p,i,f)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],u=[],c=0;c4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}if((i=r.charCodeAt(r.length-1)-48)<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function u(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[c].type);var d}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in i||(i[s[0]]=[]),i=i[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // 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).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:180}],180:[function(t,e,r){arguments[4][109][0].apply(r,arguments)},{dup:109}],181:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s0)for(M=0;M<8;M++){var T=(M+1)%8;u.push(h[M],d[M],d[T],d[T],h[T],h[M]),f.push(y,m,m,m,y,y),p.push(g,v,v,v,g,g);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var k=h;h=d,d=k;var S=y;y=m,m=S;var E=g;g=v,v=E}return{positions:u,cells:c,vectors:f,vertexIntensity:p}}(t,r,i,o)})),f=[],h=[],d=[],p=[];for(s=0;se)return r-1}return r},l=function(t,e,r){return tr?r:t},u=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||y>h-1||b>d-1)return n.create();var x,_,w,M,T,A,k=i[0][p],S=i[0][m],E=i[1][g],L=i[1][y],C=i[2][v],O=(o-k)/(S-k),R=(u-E)/(L-E),D=(c-C)/(i[2][b]-C);switch(isFinite(O)||(O=.5),isFinite(R)||(R=.5),isFinite(D)||(D=.5),r.reversedX&&(p=f-1-p,m=f-1-m),r.reversedY&&(g=h-1-g,y=h-1-y),r.reversedZ&&(v=d-1-v,b=d-1-b),r.filled){case 5:T=v,A=b,w=g*d,M=y*d,x=p*d*h,_=m*d*h;break;case 4:T=v,A=b,x=p*d,_=m*d,w=g*d*f,M=y*d*f;break;case 3:w=g,M=y,T=v*h,A=b*h,x=p*h*d,_=m*h*d;break;case 2:w=g,M=y,x=p*h,_=m*h,T=v*h*f,A=b*h*f;break;case 1:x=p,_=m,T=v*f,A=b*f,w=g*f*d,M=y*f*d;break;default:x=p,_=m,w=g*f,M=y*f,T=v*f*h,A=b*f*h}var P=a[x+w+T],I=a[x+w+A],N=a[x+M+T],z=a[x+M+A],F=a[_+w+T],j=a[_+w+A],B=a[_+M+T],U=a[_+M+A],H=n.create(),V=n.create(),Y=n.create(),q=n.create();n.lerp(H,P,F,O),n.lerp(V,I,j,O),n.lerp(Y,N,B,O),n.lerp(q,z,U,O);var G=n.create(),W=n.create();n.lerp(G,H,Y,R),n.lerp(W,V,q,R);var X=n.create();return n.lerp(X,G,W,D),X}(e,t,d)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=p(r);n.subtract(i,i,e),n.scale(i,i,1/a),n.add(r,t,[0,a,0]);var o=p(r);n.subtract(o,o,e),n.scale(o,o,1/a),n.add(r,t,[0,0,a]);var s=p(r);return n.subtract(s,s,e),n.scale(s,s,1/a),n.add(r,i,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],b=e[0][2],x=e[1][0],_=e[1][1],w=e[1][2],M=function(t){var e=t[0],r=t[1],n=t[2];return!(ex||r_||nw)},T=10*n.distance(e[0],e[1])/a,A=T*T,k=1,S=0,E=r.length;E>1&&(k=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;lS&&(S=z),I.push(z),v.push({points:O,velocities:R,divergences:I});for(var F=0;F<100*a&&O.lengthA&&n.scale(j,j,T/Math.sqrt(B)),n.add(j,j,C),D=p(j),n.squaredDistance(P,j)-A>-1e-4*A){O.push(j),P=j,R.push(D);N=g(j,D),z=n.length(N);isFinite(z)&&z>S&&(S=z),I.push(z)}C=j}}var U=o(v,t.colormap,S,k);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*c*k/S),U};var c=t("./lib/shaders"),f=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return f(t,e,{shaders:c,traceType:"streamtube"})}},{"./lib/shaders":179,"gl-cone3d":112,"gl-vec3":207,"gl-vec4":243}],182:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":169,glslify:269}],183:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=x(e),s=b(e),l=_(e),u=a(e),c=i(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=a(e),h=i(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),d=a(e),p=i(e,[{buffer:d,size:2,type:e.FLOAT}]),g=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new k(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,g,s,l,f,h,d,p,[0,0,0]),m={levels:[[],[],[]]};for(var w in t)m[w]=t[w];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),u=t("ndarray-ops"),c=t("ndarray-pack"),f=t("ndarray"),h=t("surface-nets"),d=t("gl-mat4/multiply"),p=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,b=m.createContourShader,x=m.createPickShader,_=m.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],T=[[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 A(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=T[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();function k(t,e,r,n,a,i,o,l,u,c,h,d,p,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=d,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=p,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.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 S=k.prototype;S.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var a=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return a<1&&(r=!0),[t[0],t[1],t[2],255*a]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],d(l,t.model,l);var u=L.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)u[a][n]=t.clipBounds[a][n];u[0][r]=-1e8,u[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var O={model:w,view:w,projection:w,inverseModel:w.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},R=w.slice(),D=[1,0,0,0,1,0,0,0,1];function P(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=p(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=R;for(d(s,n.view,n.model),d(s,n.projection,s),p(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var u=s[12+a];for(o=0;o<3;++o)u+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=u/l}var c=C(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[a],this._shader.uniforms.clipBounds=c.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),a=0;a<3;++a)for(f.uniforms.permutation=T[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?i:1-i,h=0;h<2;++h)for(var d=a+c,p=s+h,v=f*(h?l:1-l),m=0;m<3;++m)u[m]+=this._field[m].get(d,p)*v;for(var y=this._pickResult.level,b=0;b<3;++b)if(y[b]=g.le(this.contourLevels[b],u[b]),y[b]<0)this.contourLevels[b].length>0&&(y[b]=0);else if(y[b]Math.abs(_-u[b])&&(y[b]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=N(t.contourWidth,Number)),"showContour"in t&&(this.showContour=N(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=N(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=F(t.contourColor)),"contourProject"in t&&(this.contourProject=N(t.contourProject,(function(t){return N(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=F(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=N(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=N(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(m=0;m<2;++m)if(u.shape[m]!==i[m])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var d=c[o];if((Array.isArray(d)||d.length)&&(d=f(d)),d.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var p=f(d.data,i);p.stride[o]=d.stride[0],p.stride[1^o]=0,this.padField(this._field[o],p)}}else{for(o=0;o<2;++o){var g=[0,0];g[o]=1,this._field[o]=f(this._field[o].data,[i[0]+2,i[1]+2],g,0)}this._field[0].set(0,0,0);for(var m=0;m0){for(var bt=0;bt<5;++bt)K.pop();U-=1}continue t}K.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[$]=et,this._contourCounts[$]=rt}var xt=s.mallocFloat(K.length);for(o=0;oa||r<0||r>a)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function d(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=d.prototype;function g(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new d(t,o,e,r,n,a)}function y(t,e,r,n,a,i){var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new d(t,o,r,n,a,i)}function b(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=g(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,p=0;if(2===o.length)p=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])p=t.ALPHA;else if(2===o[2])p=t.LUMINANCE_ALPHA;else if(3===o[2])p=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");p=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)c=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];h=i.malloc(m,r);var b=n(h,o,y,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?a.assign(b,e):f(b,e),c=h.subarray(0,m)}var x=v(t);return t.texImage2D(t.TEXTURE_2D,0,p,o[0],o[1],0,p,u,c),l||i.free(h),new d(t,x,o[0],o[1],p,u)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,d=c.shape.slice();if(d.length<2||d.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var p=0,v=0,m=g(d,c.stride.slice());"float32"===h?p=t.FLOAT:"float64"===h?(p=t.FLOAT,m=!1,h="float32"):"uint8"===h?p=t.UNSIGNED_BYTE:(p=t.UNSIGNED_BYTE,m=!1,h="uint8");if(2===d.length)v=t.LUMINANCE,d=[d[0],d[1],1],c=n(c.data,d,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==d.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===d[2])v=t.ALPHA;else if(2===d[2])v=t.LUMINANCE_ALPHA;else if(3===d[2])v=t.RGB;else{if(4!==d[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}d[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=c.size,b=u.indexOf(o)<0;b&&u.push(o);if(p===l&&m)0===c.offset&&c.data.length===y?b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,c.data):b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,c.data.subarray(c.offset,c.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,c.data.subarray(c.offset,c.offset+y));else{var x;x=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(x,d,[d[2],d[2]*d[0],1]);p===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):a.assign(_,c),b?t.texImage2D(t.TEXTURE_2D,o,s,d[0],d[1],0,s,l,x.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,d[0],d[1],s,l,x.subarray(0,y)),l===t.FLOAT?i.freeFloat32(x):i.freeUint8(x)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:305,"ndarray-ops":300,"typedarray-pool":372}],185:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":200,"./fromValues":206,"./normalize":217}],191:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],192:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],193:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],194:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],195:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],196:[function(t,e,r){e.exports=t("./distance")},{"./distance":197}],197:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],198:[function(t,e,r){e.exports=t("./divide")},{"./divide":199}],199:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],200:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],201:[function(t,e,r){e.exports=1e-6},{}],202:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":201}],203:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],204:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],205:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],218:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],219:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=a+o*u-s*l,t[2]=i+o*l+s*u,t}},{}],220:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),u=Math.cos(n);return t[0]=a+s*l+o*u,t[1]=e[1],t[2]=i+s*u-o*l,t}},{}],221:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),u=Math.cos(n);return t[0]=a+o*u-s*l,t[1]=i+o*l+s*u,t[2]=e[2],t}},{}],222:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],223:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],224:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],225:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],226:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":228}],227:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":229}],228:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],229:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],230:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":231}],231:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],232:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],233:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],234:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*i-l*a,f=u*a+l*n-o*i,h=u*i+o*a-s*n,d=-o*n-s*a-l*i;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t}},{}],235:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],236:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],237:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],238:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],239:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],240:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],241:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],242:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],243:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":235,"./clone":236,"./copy":237,"./create":238,"./distance":239,"./divide":240,"./dot":241,"./fromValues":242,"./inverse":244,"./length":245,"./lerp":246,"./max":247,"./min":248,"./multiply":249,"./negate":250,"./normalize":251,"./random":252,"./scale":253,"./scaleAndAdd":254,"./set":255,"./squaredDistance":256,"./squaredLength":257,"./subtract":258,"./transformMat4":259,"./transformQuat":260}],244:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],245:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],246:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],247:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],248:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],249:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],250:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],251:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],252:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{"./normalize":251,"./scale":253}],253:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],254:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],255:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],256:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],257:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],258:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],259:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],260:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*i-l*a,f=u*a+l*n-o*i,h=u*i+o*a-s*n,d=-o*n-s*a-l*i;return t[0]=c*u+d*-o+f*-l-h*-s,t[1]=f*u+d*-s+h*-o-c*-l,t[2]=h*u+d*-l+c*-s-f*-o,t[3]=e[3],t}},{}],261:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return A(r),m+=r.length,(d=d.slice(r.length)).length}}function R(){return/[^a-fA-F0-9]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function D(){return"."===e||/[eE]/.test(e)?(d.push(e),h=5,r=e,c+1):"x"===e&&1===d.length&&"0"===d[0]?(h=11,d.push(e),r=e,c+1):/[^\d]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function P(){return"f"===e&&(d.push(e),r=e,c+=1),/[eE]/.test(e)?(d.push(e),r=e,c+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(A(d.join("")),h=999,c):(d.push(e),r=e,c+1)}function I(){if(/[^\d\w_]/.test(e)){var t=d.join("");return h=T[t]?8:M[t]?7:6,A(d.join("")),h=999,c}return d.push(e),r=e,c+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":264,"./lib/builtins-300es":263,"./lib/literals":266,"./lib/literals-300es":265,"./lib/operators":267}],263:[function(t,e,r){var n=t("./builtins");n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":264}],264:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],265:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":266}],266:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","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"]},{}],267:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],268:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":262}],269:[function(t,e,r){arguments[4][109][0].apply(r,arguments)},{dup:109}],270:[function(t,e,r){(function(r){(function(){"use strict";var n,a=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:a,e.exports=n}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":278}],271:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":278}],272:[function(t,e,r){r.read=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<>1,c=-7,f=r?a-1:0,h=r?-1:1,d=t[e+f];for(f+=h,i=d&(1<<-c)-1,d>>=-c,c+=s;c>0;i=256*i+t[e+f],f+=h,c-=8);for(o=i&(1<<-c)-1,i>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===i)i=1-u;else{if(i===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,n),i-=u}return(d?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,u=8*i-a-1,c=(1<>1,h=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,p=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,a),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,a),o=0));a>=8;t[r+d]=255&s,d+=p,s/=256,a-=8);for(o=o<0;t[r+d]=255&o,d+=p,o/=256,u-=8);t[r+d-p]|=128*g}},{}],273:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),c=0;c<=a;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new i(l,new Array(a+1),!1),h=f.adjacent,d=new Array(a+2);for(c=0;c<=a;++c){for(var p=l.slice(),g=0;g<=a;++g)g===c&&(p[g]=-1);var v=p[0];p[0]=p[1],p[1]=v;var m=new i(p,new Array(a+1),!0);h[c]=m,d[c]=m}d[a+1]=f;for(c=0;c<=a;++c){p=h[c].vertices;var y=h[c].adjacent;for(g=0;g<=a;++g){var b=p[g];if(b<0)y[g]=f;else for(var x=0;x<=a;++x)h[x].vertices.indexOf(b)<0&&(y[g]=h[x])}}var _=new u(a,o,d),w=!!e;for(c=a+1;c0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var c=u.prototype;c.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];a[f]=h<0?e:i[h]}var d=this.orient();if(d>0)return u;u.lastVisited=-n,0===d&&o.push(u)}}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)i[c]=a[l[c]];s.lastVisited=r;for(c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=i[c];i[c]=t;var d=this.orient();if(i[c]=h,d<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var d=(e=f.pop()).vertices,p=e.adjacent,g=d.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=p[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var b=0,x=0;x<=n;++x)y[x]<0?(b=x,l[x]=t):l[x]=a[y[x]];if(this.orient()>0){y[b]=r,m.boundary=!1,u.push(m),f.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=d.slice(),M=p.slice(),T=new i(w,M,!0);c.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,M[g]=m,w[v]=-1,M[v]=e,p[v]=T,T.flip();for(x=0;x<=n;++x){var k=w[x];if(!(k<0||k===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===x||(S[E++]=C)}h.push(new o(S,T,x))}}}}}}h.sort(s);for(v=0;v+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{"robust-orientation":344,"simplicial-complex":354}],274:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new m(null);return new m(v(t))};var i=a.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=v(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function h(t,e){for(var r=0;r>1],i=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=v([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=v([t]);else{var r=n.ge(this.leftPoints,t,p),a=n.ge(this.rightPoints,t,g);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},i.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,a=this.left;a.right;)r=a,a=a.right;if(r===this)a.right=this.right;else{var i=this.left,s=this.right;r.count-=a.count,r.right=a.left,a.left=i,a.right=s}o(this,a),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(i=n.ge(this.leftPoints,t,p);ithis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return f(this.rightPoints,t,e)}return h(this.leftPoints,e)},i.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var y=m.prototype;y.insert=function(t){this.root?this.root.insert(t):this.root=new a(t[0],null,null,[t],[t])},y.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},y.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},y.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(y,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(y,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":275}],275:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],276:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r + * @license MIT + */ +e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],280:[function(t,e,r){"use strict";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;if(e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"!=typeof e)return!1;var r=t.tablet?a.test(e):n.test(e);return!r&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==e.indexOf("Macintosh")&&-1!==e.indexOf("Safari")&&(r=!0),r}},{}],281:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],282:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],283:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],284:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<d[1][2]&&(m[0]=-m[0]),d[0][2]>d[2][0]&&(m[1]=-m[1]),d[1][0]>d[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":286,"gl-mat4/clone":126,"gl-mat4/create":128,"gl-mat4/determinant":129,"gl-mat4/invert":141,"gl-mat4/transpose":154,"gl-vec3/cross":195,"gl-vec3/dot":200,"gl-vec3/length":210,"gl-vec3/normalize":217}],286:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],287:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),d=i(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!d)&&(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),a(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),!0)}},{"gl-mat4/determinant":129,"gl-vec3/lerp":211,"mat4-decompose":285,"mat4-recompose":288,"quat-slerp":331}],288:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":128,"gl-mat4/fromRotationTranslation":132,"gl-mat4/identity":139,"gl-mat4/multiply":143,"gl-mat4/scale":151,"gl-mat4/translate":153}],289:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),u=t("gl-mat4/lookAt"),c=t("gl-mat4/translate"),f=(t("gl-mat4/scale"),t("gl-vec3/normalize")),h=[0,0,0];function d(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new d((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var p=d.prototype;p.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),d=!0;for(u=0;u<16;++u)h[u]=s[l++];var p=this.nextMatrix;for(u=0;u<16;++u)p[u]=s[l++],d=d&&h[u]===p[u];if(c<1e-6||d)for(u=0;u<16;++u)o[u]=h[u];else a(o,h,p,(t-e[r])/c)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var v=this.computedInverse;i(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var b=this.computedCenter,x=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)b[u]=m[u]-o[2+4*u]*x}},p.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(a=0,o.length);a0;--d)r[f++]=s[d];return r};var n=t("robust-orientation")[3]},{"robust-orientation":344}],292:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==a||c!==i||l(s))&&(r=0|t,a=u||0,i=c||0,e&&e(r,a,i,o))}function c(t){u(0,t)}function f(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,a,i,o)}function d(t){0===n.buttons(t)?u(0,t):u(r,t)}function p(t){u(r|n.buttons(t),t)}function g(t){u(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",d),t.addEventListener("mousedown",p),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():function(){if(!s)return;s=!1,t.removeEventListener("mousemove",d),t.removeEventListener("mousedown",p),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h))}()},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":294}],293:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],294:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&o(l,r))}catch(t){f.call(new d(r),t)}}}function f(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&o(l,e))}function h(t,e,r,n){for(var a=0;a 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var w=t.getters||[],M=new Array(x),T=0;T=0?M[T]=!0:M[T]=!1;return function(t,e,r,x,_,w){var M=w.length,T=_.length;if(T<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var A="extractContour"+_.join("_"),k=[],S=[],E=[],L=0;L0&&D.push(l(L,_[C-1])+"*"+s(_[C-1])),S.push(p(L,_[C])+"=("+D.join("-")+")|0")}for(L=0;L=0;--L)P.push(s(_[L]));S.push("Q=("+P.join("*")+")|0","P=mallocUint32(Q)","V=mallocUint32(Q)","X=0"),S.push(g(0)+"=0");for(C=1;C<1<0;_=_-1&p)b.push("V[X+"+m(_)+"]");b.push(y(0));for(_=0;_=0;--e)j(e,0);var r=[];for(e=0;e0){",d(_[e]),"=1;"),t(e-1,r|1<<_[e]);for(var n=0;n=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var u=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(u=""),a>0){n.push("if(1");for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",u);for(l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",u);n.push(");")}for(l=0;l1){dst.set(",s.join(),",",c,",0.5*(src.get(",h.join(),")-src.get(",d.join(),")))}else{dst.set(",s.join(),",",c,",0)};"):n.push("if(s[",c,"]>1){diff(",f,",src.pick(",h.join(),")",u,",src.pick(",d.join(),")",u,");}else{zero(",f,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",c,",0);"):n.push("zero(",f,");");break;case"wrap":var p=s.slice(),g=s.slice();e[l]<0?(p[c]="s["+c+"]-2",g[c]="0"):(p[c]="s["+c+"]-1",g[c]="1"),0===a?n.push("if(s[",c,"]>2){dst.set(",s.join(),",",c,",0.5*(src.get(",p.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",c,",0)};"):n.push("if(s[",c,"]>2){diff(",f,",src.pick(",p.join(),")",u,",src.pick(",g.join(),")",u,");}else{zero(",f,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var u={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in u){var e=u[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;tthis_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":84}],301:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":302,ndarray:305}],302:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":84}],303:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r0?s.push(["d",p,"=s",p,"-d",f,"*n",f].join("")):s.push(["d",p,"=s",p].join("")),f=p),0!==(d=t.length-1-l)&&(h>0?s.push(["e",d,"=s",d,"-e",h,"*n",h,",f",d,"=",u[d],"-f",h,"*n",h].join("")):s.push(["e",d,"=s",d,",f",d,"=",u[d]].join("")),h=d)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var u=[],c=1;c1){r.push("dptr=0;sptr=ptr");for(c=t.length-1;c>=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"b){break __l}"].join(""));for(c=t.length-1;c>=1;--c)r.push("sptr+=e"+c,"dptr+=f"+c,"}");r.push("dptr=cptr;sptr=cptr-s0");for(c=t.length-1;c>=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"=0;--c){0!==(d=t[c])&&r.push(["for(i",d,"=0;i",d,"scratch)){",h("cptr",f("cptr-s0")),"cptr-=s0","}",h("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),u=i(e),c=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var f=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var h=[],d=1;d=0;--i){0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"1)for(i=0;i1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+p(r[0]));else{for(var o=0;o1)for(o=0;o=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function b(){t.length>1&&u&&n.push("free(pivot1)","free(pivot2)")}function x(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++c;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(p(a)),">",g(p(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(p(e),g(p(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++c;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(p(r)),"-pivot",a].join(""))}function M(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",p(e),"\n","ptr1=",p(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,a){t.length>1?(m([e,r,a],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",p(e),"\n","ptr1=",p(r),"\n","ptr2=",p(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){M(t,e),n.push("--"+e)}function k(e,r,a){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(v(p(e),g(p(r))),v(p(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++c,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",c,"}"].join("")),n.push(a,"}")):n.push(["while(",g(p(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+f.join(",")),x(1,2),x(4,5),x(1,3),x(2,3),x(1,4),x(3,4),x(2,5),x(2,3),x(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(p("el2")),"\n","pivot2=",g(p("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(p("el1")),"\n","y=",g(p("el3")),"\n","z=",g(p("el5")),"\n",v(p("index1"),"x"),"\n",v(p("index3"),"y"),"\n",v(p("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--greatindex5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),M("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great1&&u?new Function("insertionSort","malloc","free",n.join("\n"))(r,u[0],u[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":372}],304:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":303}],305:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;tMath.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+c+",v)}"):i.push("return this.data["+c+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+c+")}"):i.push("return this.data["+c+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+c+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map((function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")})).join(",")+","+o.map((function(t){return"this.stride["+t+"]"})).join(",")+",this.offset)}");var d=o.map((function(t){return"a"+t+"=this.shape["+t+"]"})),p=o.map((function(t){return"c"+t+"=this.stride["+t+"]"}));i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+d.join(",")+","+p.join(","));for(var g=0;g=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map((function(t){return"a"+t})).join(",")+","+o.map((function(t){return"c"+t})).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map((function(t){return"a"+t+"=this.shape["+t+"]"})).join(",")+","+o.map((function(t){return"b"+t+"=this.stride["+t+"]"})).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map((function(t){return"shape["+t+"]"})).join(",")+","+o.map((function(t){return"stride["+t+"]"})).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(u[t],s)}var u={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===n){n=0;for(s=0;st==t>0?i===-1>>>0?(r+=1,i=0):i+=1:0===i?(i=-1>>>0,r-=1):i-=1;return n.pack(i,r)}},{"double-bits":91}],307:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi){var x=a[u],_=1/Math.sqrt(v*y);for(b=0;b<3;++b){var w=(b+1)%3,M=(b+2)%3;x[b]+=_*(m[w]*g[M]-m[M]*g[w])}}}for(o=0;oi)for(_=1/Math.sqrt(T),b=0;b<3;++b)x[b]*=_;else for(b=0;b<3;++b)x[b]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;oi?1/Math.sqrt(d):0;for(u=0;u<3;++u)h[u]*=d;a[o]=h}return a}},{}],308:[function(t,e,r){ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function o(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,s,l=o(t),u=1;u0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-i)/f,t[3]=.5*f}else{var h=Math.max(e,i,u);f=Math.sqrt(2*h-c+1);e>=h?(t[0]=.5*f,t[1]=.5*(a+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):i>=h?(t[0]=.5*(r+a)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-a)/f)}return t}},{}],310:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var a=new f(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=u(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*a[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],u=l(i,o,s);i/=u,o/=u,s/=u;var c=a[0],f=a[4],h=a[8],d=c*i+f*o+h*s,p=l(c-=i*d,f-=o*d,h-=s*d);c/=p,f/=p,h/=p;var g=a[2],v=a[6],m=a[10],y=g*i+v*o+m*s,b=g*c+v*f+m*h,x=l(g-=y*i+b*c,v-=y*o+b*f,m-=y*s+b*h);g/=x,v/=x,m/=x;var _=c*e+i*r,w=f*e+o*r,M=h*e+s*r;this.center.move(t,_,w,M);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],c=a[1],f=a[5],h=a[9],d=a[2],p=a[6],g=a[10],v=e*i+r*c,m=e*o+r*f,y=e*s+r*h,b=-(p*y-g*m),x=-(g*v-d*y),_=-(d*m-p*v),w=Math.sqrt(Math.max(0,1-Math.pow(b,2)-Math.pow(x,2)-Math.pow(_,2))),M=u(b,x,_,w);M>1e-6?(b/=M,x/=M,_/=M,w/=M):(b=x=_=0,w=1);var T=this.computedRotation,A=T[0],k=T[1],S=T[2],E=T[3],L=A*w+E*b+k*_-S*x,C=k*w+E*x+S*b-A*_,O=S*w+E*_+A*x-k*b,R=E*w-A*b-k*x-S*_;if(n){b=d,x=p,_=g;var D=Math.sin(n)/l(b,x,_);b*=D,x*=D,_*=D,R=R*(w=Math.cos(e))-(L=L*w+R*b+C*_-O*x)*b-(C=C*w+R*x+O*b-L*_)*x-(O=O*w+R*_+L*x-C*b)*_}var P=u(L,C,O,R);P>1e-6?(L/=P,C/=P,O/=P,R/=P):(L=C=O=0,R=1),this.rotation.set(t,L,C,O,R)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,u=n[14]/a;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":309,"filtered-vector":97,"gl-mat4/fromQuat":130,"gl-mat4/invert":141,"gl-mat4/lookAt":142}],311:[function(t,e,r){ +/*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ +"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},{"repeat-string":337}],312:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,u=(u+r)*o;return n.freeUint32(l),n.freeUint32(s),u},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":276,"typedarray-pool":372}],316:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,a=t.length,i=[new Array(r),new Array(r)],o=0;o0){o=i[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=i[f][r],d=0;d0&&(o=p,s=g,l=f)}return a||o&&u(o,l),s}function f(t,r){var a=i[r][t][0],o=[t];u(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],d=c(l,f,!0);if(n(e[l],e[f],e[h],e[d])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){i[0][o].length;var g=f(o,d);h(0,g)?p.push.apply(p,g):(p.length>0&&l.push(p),p=g)}p.length>0&&l.push(p)}return l};var n=t("compare-angle")},{"compare-angle":76}],317:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s0;){var u=o.pop();a[u]=!1;var c=r[u];for(s=0;s0}))).length,v=new Array(g),m=new Array(g);for(d=0;d0;){var F=N.pop(),j=E[F];l(j,(function(t,e){return t-e}));var B,U=j.length,H=z[F];if(0===H){var V=p[F];B=[V]}for(d=0;d=0))if(z[Y]=1^H,N.push(Y),0===H)I(V=p[Y])||(V.reverse(),B.push(V))}0===H&&r.push(B)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),u=t("./lib/trim-leaves");function c(t,e){for(var r=new Array(t),n=0;n0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,i=i.right}else if(u>0)i=i.left;else{if(!(u<0))return 0;s=1,i=i.right}}return s}}(m.slabs,m.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-a>t&&(i-u)*(a-c)/(o-c)+u-n>t&&(s=!s),i=u,o=c}return s}};return e}},{}],324:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a0}))}function c(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,u=i.start,c=i.end;r&&r.checkIntersection(a,i);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),d=e.pointsSame(s,c);if(h&&d)return n;var p=!h&&e.pointBetween(o,u,c),g=!d&&e.pointBetween(s,u,c);if(h)return g?l(n,s):l(t,c),n;p&&(d||(g?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!i.isEmpty();){var h=i.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var d=u(h),p=d.before?d.before.ev:null,g=d.after?d.after.ev:null;function v(){if(p){var t=c(h,p);if(t)return t}return!!g&&c(h,g)}r&&r.tempStatus(h.seg,!!p&&p.seg,!!g&&g.seg);var m,y=v();if(y){var b;if(t)(b=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(y.seg.myFill.above=!y.seg.myFill.above);else y.seg.otherFill=h.seg.myFill;r&&r.segmentUpdate(y.seg),h.other.remove(),h.remove()}if(i.getHead()!==h){r&&r.rewind(h.seg);continue}if(t)b=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:a,h.seg.myFill.above=b?!h.seg.myFill.below:h.seg.myFill.below;else if(null===h.seg.otherFill)m=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:a,h.seg.otherFill={above:m,below:m};r&&r.status(h.seg,!!p&&p.seg,!!g&&g.seg),h.other.status=d.insert(n.node({ev:h}))}else{var x=h.status;if(null===x)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(x.prev)&&s.exists(x.next)&&c(x.prev.ev,x.next.ev),r&&r.statusRemove(x.ev.seg),x.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}i.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l=u?(T=1,y=u+2*h+p):y=h*(T=-h/u)+p):(T=0,d>=0?(A=0,y=p):-d>=f?(A=1,y=f+2*d+p):y=d*(A=-d/f)+p);else if(A<0)A=0,h>=0?(T=0,y=p):-h>=u?(T=1,y=u+2*h+p):y=h*(T=-h/u)+p;else{var k=1/M;y=(T*=k)*(u*T+c*(A*=k)+2*h)+A*(c*T+f*A+2*d)+p}else T<0?(x=f+d)>(b=c+h)?(_=x-b)>=(w=u-2*c+f)?(T=1,A=0,y=u+2*h+p):y=(T=_/w)*(u*T+c*(A=1-T)+2*h)+A*(c*T+f*A+2*d)+p:(T=0,x<=0?(A=1,y=f+2*d+p):d>=0?(A=0,y=p):y=d*(A=-d/f)+p):A<0?(x=u+h)>(b=c+d)?(_=x-b)>=(w=u-2*c+f)?(A=1,T=0,y=f+2*d+p):y=(T=1-(A=_/w))*(u*T+c*A+2*h)+A*(c*T+f*A+2*d)+p:(A=0,x<=0?(T=1,y=u+2*h+p):h>=0?(T=0,y=p):y=h*(T=-h/u)+p):(_=f+d-c-h)<=0?(T=0,A=1,y=f+2*d+p):_>=(w=u-2*c+f)?(T=1,A=0,y=u+2*h+p):y=(T=_/w)*(u*T+c*(A=1-T)+2*h)+A*(c*T+f*A+2*d)+p;var S=1-T-A;for(l=0;l1)for(var r=1;r0){var u=t[r-1];if(0===n(s,u)&&i(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":62,"compare-cell":77,"compare-oriented-cell":78}],337:[function(t,e,r){ +/*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ +"use strict";var n,a="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||void 0===n)n=t,a="";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],338:[function(t,e,r){(function(t){(function(){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],339:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a];(l=o-((r=i+o)-i))&&(t[--n]=r,r=l)}var s=0;for(a=n;a>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function c(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",u(l(t)),")};return robustDeterminant",t].join(""))(a,i,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<6;)f.push(c(f.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<6;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,f.concat([f,c])),n=0;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function c(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var i=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;i.length<6;)i.push(a(i.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<6;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var o=Function.apply(void 0,t);for(e.exports=o.apply(void 0,i.concat([i,a])),n=0;n<6;++n)e.exports[n]=i[n]}()},{"robust-determinant":340}],344:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-subtract");function s(t,e){for(var r=new Array(t.length-1),n=1;n>1;return["sum(",l(t.slice(0,e)),",",l(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],d=r[2]-n[2],p=i*u,g=o*l,v=o*s,m=a*u,y=a*l,b=i*s,x=c*(p-g)+f*(v-m)+d*(y-b),_=7771561172376103e-31*((Math.abs(p)+Math.abs(g))*Math.abs(c)+(Math.abs(v)+Math.abs(m))*Math.abs(f)+(Math.abs(y)+Math.abs(b))*Math.abs(d));return x>_||-x>_?x:h(t,e,r,n)}];function p(t){var e=d[t.length];return e||(e=d[t.length]=c(t.length)),e.apply(void 0,t)}!function(){for(;d.length<=5;)d.push(c(d.length));for(var t=[],r=["slow"],n=0;n<=5;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=5;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),u=r[a],c=n[a],f=Math.min(u,c);if(Math.max(u,c)=n?(a=f,(l+=1)=n?(a=f,(l+=1)0?1:0}},{}],351:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":46,"reduce-simplicial-complex":336}],352:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,void 0===s&&(s=function(t){for(var e=t.length,r=0,n=0;n>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(i=t+1;i>1;--i){i>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function c(t,e){for(var r=new Array(t.length),a=0,o=r.length;a=t.length||0!==i(t[v],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],a=(1<>>c&1&&u.push(a[c]);e.push(u)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function b(t){for(var e=m(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n0;){var r=y(t);if(r>=0)if(e0){var t=T[0];return v(0,k-1),k-=1,b(0),t}return-1}function w(t,e){var r=T[t];return u[r]===e?t:(u[r]=-1/0,x(t),_(),u[r]=e,x((k+=1)-1))}function M(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}var T=[],A=new Array(i);for(f=0;f>1;f>=0;--f)b(f);for(;;){var S=_();if(S<0||u[S]>r)break;M(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&C.push([n,a])}})),a.unique(a.normalize(C)),{positions:E,edges:C}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":344,"simplicial-complex":356}],359:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),u=n(r,i,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,i),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],a=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,a=c.value):(a=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return a;d=f[h]}}if(d.start)if(s){var p=i(s[0],s[1],[t[0],d.y]);s[0][0]>s[1][0]&&(p=-p),p>0&&(a=d.index)}else a=d.index;else d.y!==t[1]&&(a=d.index)}}}return a}},{"./lib/order-segments":359,"binary-search-bounds":360,"functional-red-black-tree":99,"robust-orientation":344}],362:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l0||a>0&&c<0){var f=o(s,c,l,a);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=c}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(a,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(a,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},{"robust-dot-product":341,"robust-sum":349}],363:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(t){return a(o(t),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}function a(r,n){var a,i,o,s,l,u,c,f,h,d=1,p=r.length,g="";for(i=0;i=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",a=a.toString().replace(t.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+a).length,l=s.width&&c>0?u.repeat(c):"",g+=s.align?h+a+l:"0"===u?h+l+a:l+h+a)}return g}var i=Object.create(null);function o(e){if(i[e])return i[e];for(var r,n=e,a=[],o=0;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],u=[];if(null===(u=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=t.key_access.exec(l)))s.push(u[1]);else{if(null===(u=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(u[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");a.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return i[e]=a}void 0!==r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],364:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],u=0;u>>7){");for(u=0;u<1<<(1<128&&u%128==0){f.length>0&&h.push("}}");var d="vExtra"+f.length;i.push("case ",u>>>7,":",d,"(m&0x7f,",l.join(),");break;"),h=["function ",d,"(m,",l.join(),"){switch(m){"],f.push(h)}h.push("case ",127&u,":");for(var p=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,b=0;bb)&&!(u&1<<_)!=!(u&1<0&&(A="+"+v[x]+"*c");var k=p[x].length/y*.5,S=.5+m[x]/y*.5;T.push("d"+x+"-"+S+"-"+k+"*("+p[x].join("+")+A+")/("+g[x].join("+")+")")}h.push("a.push([",T.join(),"]);","break;")}i.push("}},"),f.length>0&&h.push("}}");var E=[];for(u=0;u<1<=0&&(t._idleTimeoutId=setTimeout((function(){t._onTimeout&&t._onTimeout()}),e))},r.setImmediate="function"==typeof e?e:function(t){var e=l++,n=!(arguments.length<2)&&o.call(arguments,1);return s[e]=!0,a((function(){s[e]&&(n?t.apply(null,n):t.call(null),r.clearImmediate(e))})),e},r.clearImmediate="function"==typeof n?n:function(t){delete s[t]}}).call(this)}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":330,timers:365}],366:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,a=0,i=t.round,o=t.min,s=t.max,l=t.random;function u(e,l){if(l=l||{},(e=e||"")instanceof u)return e;if(!(this instanceof u))return new u(e,l);var c=function(e){var a={r:0,g:0,b:0},i=1,l=null,u=null,c=null,f=!1,h=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,a=!1;if(S[t])t=S[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=B.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=B.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=B.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=B.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=B.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=B.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=B.hex8.exec(t))return{r:R(e[1]),g:R(e[2]),b:R(e[3]),a:N(e[4]),format:a?"name":"hex8"};if(e=B.hex6.exec(t))return{r:R(e[1]),g:R(e[2]),b:R(e[3]),format:a?"name":"hex"};if(e=B.hex4.exec(t))return{r:R(e[1]+""+e[1]),g:R(e[2]+""+e[2]),b:R(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:a?"name":"hex8"};if(e=B.hex3.exec(t))return{r:R(e[1]+""+e[1]),g:R(e[2]+""+e[2]),b:R(e[3]+""+e[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(U(e.r)&&U(e.g)&&U(e.b)?(d=e.r,p=e.g,g=e.b,a={r:255*C(d,255),g:255*C(p,255),b:255*C(g,255)},f=!0,h="%"===String(e.r).substr(-1)?"prgb":"rgb"):U(e.h)&&U(e.s)&&U(e.v)?(l=P(e.s),u=P(e.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,o=n*(1-r),s=n*(1-i*r),l=n*(1-(1-i)*r),u=a%6;return{r:255*[n,s,o,o,l,n][u],g:255*[l,n,n,s,o,o][u],b:255*[o,o,l,n,n,s][u]}}(e.h,l,u),f=!0,h="hsv"):U(e.h)&&U(e.s)&&U(e.l)&&(l=P(e.s),c=P(e.l),a=function(t,e,r){var n,a,i;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,c),f=!0,h="hsl"),e.hasOwnProperty("a")&&(i=e.a));var d,p,g;return i=L(i),{ok:f,format:e.format||h,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=i(100*this._a)/100,this._format=l.format||c.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=c.ok,this._tc_id=a++}function c(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),u=(i+l)/2;if(i==l)n=a=0;else{var c=i-l;switch(a=u>.5?c/(2-i-l):c/(i+l),i){case t:n=(e-r)/c+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(u(n));return i}function k(t,e){e=e||6;for(var r=u(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(u({h:n,s:a,v:i})),i=(i+s)%1;return o}u.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[D(i(t).toString(16)),D(i(e).toString(16)),D(i(r).toString(16)),D(I(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*C(this._r,255))+"%",g:i(100*C(this._g,255))+"%",b:i(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%)":"rgba("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=u(t);r="#"+d(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return u(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(b,arguments)},desaturate:function(){return this._applyModification(p,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(k,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},u.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:P(t[n]));t=r}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:l(),g:l(),b:l()})},u.mix=function(t,e,r){r=0===r?0:r||50;var n=u(t).toRgb(),a=u(e).toRgb(),i=r/100;return u({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},u.readability=function(e,r){var n=u(e),a=u(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},u.isReadable=function(t,e,r){var n,a,i=u.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},u.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var c=0;cl&&(l=n,s=u(e[c]));return u.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,u.mostReadable(t,["#fff","#000"],r))};var S=u.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"},E=u.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function O(t){return o(1,s(0,t))}function R(t){return parseInt(t,16)}function D(t){return 1==t.length?"0"+t:""+t}function P(t){return t<=1&&(t=100*t+"%"),t}function I(e){return t.round(255*parseFloat(e)).toString(16)}function N(t){return R(t)/255}var z,F,j,B=(F="[\\s|\\(]+("+(z="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+z+")[,|\\s]+("+z+")\\s*\\)?",j="[\\s|\\(]+("+z+")[,|\\s]+("+z+")[,|\\s]+("+z+")[,|\\s]+("+z+")\\s*\\)?",{CSS_UNIT:new RegExp(z),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+j),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+j),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+j),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 U(t){return!!B.CSS_UNIT.exec(t)}void 0!==e&&e.exports?e.exports=u:window.tinycolor=u}(Math)},{}],367:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=i;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*i(r[1],t)}function i(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=a(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return a(e,"font-size");case"rem":return a(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}},{"parse-unit":313}],368:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(i(t+1)),r=[],o=0;oMath.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function h(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var d=h.prototype;d.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},d.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},d.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),c=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,c+=r[i]*r[i],e[i]/=l;var f=Math.sqrt(c);for(i=0;i<3;++i)r[i]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var d=Math.exp(this.computedRadius[0]),p=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(p),m=Math.sin(p),y=Math.cos(g),b=Math.sin(g),x=this.computedCenter,_=v*y,w=m*y,M=b,T=-v*b,A=-m*b,k=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var L=_*r[i]+w*h[i]+M*e[i];E[4*i+1]=T*r[i]+A*h[i]+k*e[i],E[4*i+2]=L,E[4*i+3]=0}var C=E[1],O=E[5],R=E[9],D=E[2],P=E[6],I=E[10],N=O*I-R*P,z=R*D-C*I,F=C*P-O*D,j=u(N,z,F);N/=j,z/=j,F/=j,E[0]=N,E[4]=z,E[8]=F;for(i=0;i<3;++i)S[i]=x[i]+E[2+4*i]*d;for(i=0;i<3;++i){c=0;for(var B=0;B<3;++B)c+=E[i+4*B]*S[B];E[12+i]=-c}E[15]=1},d.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var p=[0,0,0];d.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;p[0]=a[2],p[1]=a[6],p[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)a[4*u]=o[u],a[4*u+1]=s[u],a[4*u+2]=l[u];i(a,a,n,p);for(u=0;u<3;++u)o[u]=a[4*u],s[u]=a[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},d.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=u(i,o,s);i/=l,o/=l,s/=l;var c=a[0],f=a[4],h=a[8],d=c*i+f*o+h*s,p=u(c-=i*d,f-=o*d,h-=s*d),g=(c/=p)*e+i*r,v=(f/=p)*e+o*r,m=(h/=p)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},d.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},d.setMatrix=function(t,e,r,n){var i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],f=e[i+8];if(n){var h=Math.abs(s),d=Math.abs(l),p=Math.abs(f),g=Math.max(h,d,p);h===g?(s=s<0?-1:1,l=f=0):p===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var v=u(s,l,f);s/=v,l/=v,f/=v}var m,y,b=e[o],x=e[o+4],_=e[o+8],w=b*s+x*l+_*f,M=u(b-=s*w,x-=l*w,_-=f*w),T=l*(_/=M)-f*(x/=M),A=f*(b/=M)-s*_,k=s*x-l*b,S=u(T,A,k);if(T/=S,A/=S,k/=S,this.center.jump(t,Y,q,G),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,b,x,_),2===i){var E=e[1],L=e[5],C=e[9],O=E*b+L*x+C*_,R=E*T+L*A+C*k;m=N<0?-Math.PI/2:Math.PI/2,y=Math.atan2(R,O)}else{var D=e[2],P=e[6],I=e[10],N=D*s+P*l+I*f,z=D*b+P*x+I*_,F=D*T+P*A+I*k;m=Math.asin(c(N)),y=Math.atan2(F,z)}this.angle.jump(t,y,m),this.recalcMatrix(t);var j=e[2],B=e[6],U=e[10],H=this.computedMatrix;a(H,e);var V=H[15],Y=H[12]/V,q=H[13]/V,G=H[14]/V,W=Math.exp(this.computedRadius[0]);this.center.jump(t,Y-j*W,q-B*W,G-U*W)},d.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},d.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},d.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},d.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=u(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],d=u(l,f,h);if(!(d<1e-6)){l/=d,f/=d,h/=d;var p=this.computedRight,g=p[0],v=p[1],m=p[2],y=a*g+i*v+o*m,b=u(g-=y*a,v-=y*i,m-=y*o);if(!(b<.01&&(b=u(g=i*h-o*f,v=o*l-a*h,m=a*f-i*l))<1e-6)){g/=b,v/=b,m/=b,this.up.set(t,a,i,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(d));var x=i*m-o*v,_=o*g-a*m,w=a*v-i*g,M=u(x,_,w),T=a*l+i*f+o*h,A=g*l+v*f+m*h,k=(x/=M)*l+(_/=M)*f+(w/=M)*h,S=Math.asin(c(T)),E=Math.atan2(k,A),L=this.angle._state,C=L[L.length-1],O=L[L.length-2];C%=2*Math.PI;var R=Math.abs(C+2*Math.PI-E),D=Math.abs(C-E),P=Math.abs(C-2*Math.PI-E);R0?r.pop():new ArrayBuffer(t)}function p(t){return new Uint8Array(d(t),0,t)}function g(t){return new Uint16Array(d(2*t),0,t)}function v(t){return new Uint32Array(d(4*t),0,t)}function m(t){return new Int8Array(d(t),0,t)}function y(t){return new Int16Array(d(2*t),0,t)}function b(t){return new Int32Array(d(4*t),0,t)}function x(t){return new Float32Array(d(4*t),0,t)}function _(t){return new Float64Array(d(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(d(t),0,t):p(t)}function M(t){return s?new BigUint64Array(d(8*t),0,t):null}function T(t){return l?new BigInt64Array(d(8*t),0,t):null}function A(t){return new DataView(d(t),0,t)}function k(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new i(t)}r.free=function(t){if(i.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeBigUint64=r.freeInt8=r.freeInt16=r.freeInt32=r.freeBigInt64=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){h(t.buffer)},r.freeArrayBuffer=h,r.freeBuffer=function(t){f[n.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return d(t);switch(e){case"uint8":return p(t);case"uint16":return g(t);case"uint32":return v(t);case"int8":return m(t);case"int16":return y(t);case"int32":return b(t);case"float":case"float32":return x(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return T(t);case"biguint64":return M(t);case"buffer":return k(t);case"data":case"dataview":return A(t);default:return null}return null},r.mallocArrayBuffer=d,r.mallocUint8=p,r.mallocUint16=g,r.mallocUint32=v,r.mallocInt8=m,r.mallocInt16=y,r.mallocInt32=b,r.mallocFloat32=r.mallocFloat=x,r.mallocFloat64=r.mallocDouble=_,r.mallocUint8Clamped=w,r.mallocBigUint64=M,r.mallocBigInt64=T,r.mallocDataView=A,r.mallocBuffer=k,r.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"bit-twiddle":44,buffer:56,dup:93}],373:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",h(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(d=0;d-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(S(),"?px "),v*=Math.pow(.75,l-s),n=n.replace("?px ",S())),g+=.25*b*(l-s)}if(!0===o.superscripts){var u=t.indexOf("+"),c=r.indexOf("+"),f=u>-1?parseInt(t[1+u]):0,h=c>-1?parseInt(r[1+c]):0;f!==h&&(n=n.replace(S(),"?px "),v*=Math.pow(.75,h-f),n=n.replace("?px ",S())),g-=.25*b*(h-f)}if(!0===o.bolds){var d=t.indexOf("b|")>-1,p=r.indexOf("b|")>-1;!d&&p&&(n=m?n.replace("italic ","italic bold "):"bold "+n),d&&!p&&(n=n.replace("bold ",""))}if(!0===o.italics){var m=t.indexOf("i|")>-1,y=r.indexOf("i|")>-1;!m&&y&&(n="italic "+n),m&&!y&&(n=n.replace("italic ",""))}e.font=n}for(h=0;h",i="",o=a.length,s=i.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(a,u))&&-1!==(c=r.indexOf(i,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var d=u+o,p=r.substr(d,c-d).indexOf(a);u=-1!==p?p:c+s}return n}function c(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function f(t,e,r,n){var a=c(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[i]:a}))},has___:{value:y((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:y((function(n,a){var i,o=m(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this}))},delete___:{value:y((function(n){var a,i,o=m(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0)&&(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,!0)}))}})};p.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof p||b();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new p),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new p),a.set___(t,e)}else n.set(t,e);return this},Object.create(p.prototype,{get___:{value:y((function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)}))},has___:{value:y((function(t){return n.has(t)||!!a&&a.has___(t)}))},set___:{value:y(e)},delete___:{value:y((function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e}))},permitHostObjects___:{value:y((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");i=!0}))}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=p.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=p)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function v(t){return!("weakmap:"==t.substr(0,"weakmap:".length)&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[l];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,l,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function y(t){return t.prototype=null,Object.freeze(t)}function b(){h||"undefined"==typeof console||(h=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],378:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":379}],379:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],380:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":378}],381:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":101}],382:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(a=i.newDate(l,u,c)).add(4-(a.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,i=n):(l=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],d=c>>13;u=d&&(o.month>d||o.isIntercalary)?o.month:o.month-1;for(var p=0;p>9&4095,(g>>5&15)-1,(31&g)+s);return i.year=v.getFullYear(),i.month=1+v.getMonth(),i.day=v.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var o=h[a.year-h[0]],s=a.year<<9|a.month<<5|a.day;i.year=s>=o?a.year:a.year-1,o=h[i.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(a.year,a.month-1,a.day);l=Math.round((c-u)/864e5);var d,p=f[i.year-f[0]];for(d=0;d<13;d++){var g=p&1<<12-d?30:29;if(l>13;!v||d=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=i},{"../main":396,"object-assign":308}],385:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":396,"object-assign":308}],386:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{"../main":396,"object-assign":308}],387:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{"../main":396,"object-assign":308}],388:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":396,"object-assign":308}],389:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{"../main":396,"object-assign":308}],390:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{"../main":396,"object-assign":308}],391:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var u=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":396,"object-assign":308}],393:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":396,"object-assign":308}],394:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":396,"object-assign":308}],395:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;ir)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":396,"object-assign":308}],396:[function(t,e,r){var n=t("object-assign");function a(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(a.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;oe-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=a-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=e.exports=new a;u.cdate=i,u.baseCalendar=s,u.calendars.gregorian=l},{"object-assign":308}],397:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.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"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,u=r.dayNames||this.local.dayNames,c=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,d=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n1}),p=function(t,e,r,n){var a=""+e;if(d(t,n))for(;a.length1},b=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},x=this,_=function(){if("function"==typeof l){y("m");var t=l.call(x,e.substring(A));return A+=t.length,t}return b("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s-1){d=1,p=g;for(var E=this.daysInMonth(h,d);p>E;E=this.daysInMonth(h,d))d++,p-=E}return f>-1?this.fromJD(f):this.newDate(h,d,p)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,"d"):i.newDate(t)}})},{"./main":396,"object-assign":308}],398:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":84}],399:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":398}],400:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],401:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;t("../../constants/axis_placeable_objects");e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:a({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:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"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",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.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",i.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:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../constants/axis_placeable_objects":521,"../../plot_api/plot_template":586,"../../plots/cartesian/constants":603,"../../plots/font_attributes":625,"./arrow_paths":400}],402:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref),i=a.getRefType(e.xref),o=a.getRefType(e.yref);e._extremes={},"range"===i&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],u=t["a"+i+"ref"],c=t["_"+i+"padplus"],f=t["_"+i+"padminus"],h={x:1,y:-1}[i]*t[i+"shift"],d=3*t.arrowsize*t.arrowwidth||0,p=d+h,g=d-h,v=3*t.startarrowsize*t.arrowwidth||0,m=v+h,y=v-h;if(u===l){var b=a.findExtremes(e,[e.r2c(o)],{ppadplus:p,ppadminus:g}),x=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,m),ppadminus:Math.max(f,y)});r={min:[b.min[0],x.min[0]],max:[b.max[0],x.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,p,m),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":549,"../../plots/cartesian/axes":597,"./draw":407}],403:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,u,c=t._fullLayout.annotations,f=[],h=[],d=[],p=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!u.length&&!c.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((dt=at.r2fraction(e["a"+et]))<0||dt>1)&&(W=!0):W=!0),J=at._offset+at.r2p(e[et]),$=.5}else{var pt="domain"===ht;"x"===et?(K=e[et],J=pt?at._offset+at._length*K:J=M.l+M.w*K):(K=1-e[et],J=pt?at._offset+at._length*K:J=M.t+M.h*K),$=e.showarrow?.5:K}if(e.showarrow){ft.head=J;var gt=e["a"+et];if(tt=ot*Y(.5,e.xanchor)-st*Y(.5,e.yanchor),nt===rt){var vt=l.getRefType(nt);"domain"===vt?("y"===et&&(gt=1-gt),ft.tail=at._offset+at._length*gt):"paper"===vt?"y"===et?(gt=1-gt,ft.tail=M.t+M.h*gt):ft.tail=M.l+M.w*gt:ft.tail=at._offset+at.r2p(gt),Q=tt}else ft.tail=J+gt,Q=tt+gt;ft.text=ft.tail+tt;var mt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,mt-1)),"pixel"===nt){var yt=-Math.max(ft.tail-3,ft.text),bt=Math.min(ft.tail+3,ft.text)-mt;yt>0?(ft.tail+=yt,ft.text+=yt):bt>0&&(ft.tail-=bt,ft.text-=bt)}ft.tail+=ct,ft.head+=ct}else Q=tt=lt*Y($,ut),ft.text=J+tt;ft.text+=ct,tt+=ct,Q+=ct,e["_"+et+"padplus"]=lt/2+Q,e["_"+et+"padminus"]=lt/2-Q,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)N.remove();else{var xt=0,_t=0;if("left"!==e.align&&(xt=(A-x)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(I-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:j+xt-1,y:j+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=j+_t-g.top,Mt=j+xt-g.left;q.call(h.positionText,Mt,wt).call(c.setClipUrl,U?L:null,t)}H.select("rect").call(c.setRect,j,j,A,I),B.call(c.setRect,z/2,z/2,F-z,V-z),N.call(c.setTranslate,Math.round(C.x.text-F/2),Math.round(C.y.text-V/2)),D.attr({transform:"rotate("+O+","+C.x.text+","+C.y.text+")"});var Tt,At=function(r,n){R.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,d=C.y.tail+n,g=C.x.text+r,x=C.y.text+n,_=o.rotationXYMatrix(O,g,x),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+B.attr("width"),P=+B.attr("height"),I=g-.5*L,z=I+L,F=x-.5*P,j=F+P,U=[[I,F,I,j],[I,j,z,j],[z,j,z,F],[z,F,I,F]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,d,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)}));var H=e.arrowwidth,V=e.arrowcolor,Y=e.arrowside,q=R.append("g").style({opacity:u.opacity(V)}).classed("annotation-arrow-g",!0),G=q.append("path").attr("d","M"+h+","+d+"L"+l+","+f).style("stroke-width",H+"px").call(u.stroke,u.rgb(V));if(v(G,Y,e),T.annotationPosition&&G.node().parentNode&&!i){var W=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-d,2));W+=e.standoff*(h-l)/Z,X+=e.standoff*(d-f)/Z}var J,Q,K=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-W)+","+(d-X),transform:s(W,X)}).style("stroke-width",H+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");p.init({element:K.node(),gd:t,prepFn:function(){var t=c.getTranslate(N);J=t.x,Q=t.y,m&&m.autorange&&k(m._name+".autorange",!0),b&&b.autorange&&k(b._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,Q),a=n[0]+t,i=n[1]+r;N.call(c.setTranslate,a,i),S("x",y(m,t,"x",M,e)),S("y",y(b,r,"y",M,e)),e.axref===e.xref&&S("ax",y(m,t,"ax",M,e)),e.ayref===e.yref&&S("ay",y(b,r,"ay",M,e)),q.attr("transform",s(t,r)),D.attr({transform:"rotate("+O+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&At(0,0),P)p.init({element:N.node(),gd:t,prepFn:function(){Tt=D.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",y(m,t,"ax",M,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",y(b,r,"ay",M.w,e)):S("ay",e.ay+r),At(t,r);else{if(i)return;var a,o;if(m)a=y(m,t,"x",M,e);else{var l=e._xsize/M.w,u=e.x+(e._xshift-e.xshift)/M.w-l/2;a=p.align(u+t/M.w,l,0,1,e.xanchor)}if(b)o=y(b,r,"y",M,e);else{var c=e._ysize/M.h,f=e.y-(e._yshift+e.yshift)/M.h-c/2;o=p.align(f-r/M.h,c,0,1,e.yanchor)}S("x",a),S("y",o),m&&b||(n=p.getCursor(m?.5:a,b?.5:o,e.xanchor,e.yanchor))}D.attr({transform:s(t,r)+Tt}),d(N,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",G(n))},doneFn:function(){d(N),a.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,b=e.indexOf("end")>=0,x=p.backoff*v+r.standoff,_=g.backoff*m+r.startstandoff;if("line"===d.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,M=o.y-c.y;if(h=(f=Math.atan2(M,w))+Math.PI,x&&_&&x+_>Math.sqrt(w*w+M*M))return void P();if(x){if(x*x>w*w+M*M)return void P();var T=x*Math.cos(f),A=x*Math.sin(f);c.x+=T,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+M*M)return void P();var k=_*Math.cos(f),S=_*Math.sin(f);o.x-=k,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===d.nodeName){var E=d.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":637,"../annotations/draw":407}],414:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e0?n>=l:n<=l));a++)n>c&&n0?n>=l:n<=l));a++)n>r[0]&&n1){var J=Math.pow(10,Math.floor(Math.log(Z)/Math.LN10));W*=J*u.roundUp(Z/J,[2,5,10]),(Math.abs(C.start)/C.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=W}G.domain=[V+B,V+z-B],G.setScale(),t.attr("transform",c(Math.round(l.l),Math.round(l.t)));var Q,K=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(l.l),-Math.round(l.t))),$=t.select("."+A.cbaxis),tt=0;function et(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),g.draw(r,n,f(i,a||{}))}return u.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(k)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===k?(1-(V+z-B))*l.h+l.t+3+.75*n:(1-(V+B))*l.h+l.t-3-.25*n,et(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(k)){var i=t.select("."+A.cbtitle),o=i.select("text"),f=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*w),h?(tt=d.bBox(h).height)>p&&(f[1]-=(tt-p)/2):o.node()&&!o.classed(A.jsPlaceholder)&&(tt=d.bBox(o.node()).height),tt){if(tt+=5,"top"===k)G.domain[1]-=tt/l.h,f[1]*=-1;else{G.domain[0]+=tt/l.h;var g=v.lineCount(o);f[1]+=(1-g)*p}i.attr("transform",c(f[0],f[1])),G.setScale()}}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",c(0,Math.round(l.h*(1-G.domain[1])))),$.attr("transform",c(0,Math.round(-l.t)));var y=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(R);y.enter().append("rect").classed(A.cbfill,!0).style("stroke","none"),y.exit().remove();var b=S.map(G.c2p).map(Math.round).sort((function(t,e){return t-e}));y.each((function(t,i){var o=[0===i?S[0]:(R[i]+R[i-1])/2,i===R.length-1?S[1]:(R[i]+R[i+1])/2].map(G.c2p).map(Math.round);o[1]=u.constrain(o[1]+(o[1]>o[0])?1:-1,b[0],b[1]);var s=n.select(this).attr({x:U,width:Math.max(P,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)d.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=L(t).replace("e-","");s.attr("fill",a(l).toHexString())}}));var x=t.select("."+A.cblines).selectAll("path."+A.cbline).data(m.color&&m.width?D:[]);x.enter().append("path").classed(A.cbline,!0),x.exit().remove(),x.each((function(t){n.select(this).attr("d","M"+U+","+(Math.round(G.c2p(t))+m.width/2%1)+"h"+P).call(d.lineGroupStyle,m.width,E(t),m.dash)})),$.selectAll("g."+G._id+"tick,path").remove();var _=U+P+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),M=s.calcTicks(G),T=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,M):M,layer:$,path:s.makeTickPath(G,_,T),transFn:s.makeTransTickFn(G)}),s.drawLabels(r,G,{vals:M,layer:$,transFn:s.makeTransTickLabelFn(G),labelFns:s.makeLabelFns(G,_)})},function(){if(-1===["top","bottom"].indexOf(k)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));et("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:k,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=P+e.outlinewidth/2;if(-1===G.ticklabelposition.indexOf("inside")&&(n+=d.bBox($.node()).width),(Q=K.select("text")).node()&&!Q.classed(A.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(k)?d.bBox(o).width:d.bBox(K.node()).right-U-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,u=Y-q;t.select("."+A.cbbg).attr({x:U-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:q-j,width:Math.max(s,2),height:Math.max(u+2*j,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+A.cboutline).attr({x:U,y:q+e.ypad+("top"===k?tt:0),width:Math.max(P,2),height:Math.max(u-2*e.ypad-tt,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var f=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform",c(l.l-f,l.t));var h={},g=M[e.yanchor],v=T[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=u*g,h.b=u*v):(h.t=h.b=0,h.yt=e.y+e.len*g,h.yb=e.y-e.len*v);var m=M[e.xanchor],y=T[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*m,h.r=s*y;else{var b=s-P;h.l=b*m,h.r=b*y,h.xl=e.x-e.thickness*m,h.xr=e.x+e.thickness*y}i.autoMargin(r,e._id,h)}],r)}(r,e,t);m&&m.then&&(t._promises||[]).push(m),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var u=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,u)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){i.autoMargin(t,e._id)})).remove(),e.order()}}},{"../../constants/alignment":520,"../../lib":549,"../../lib/extend":542,"../../lib/setcursor":569,"../../lib/svg_text_utils":573,"../../plots/cartesian/axes":597,"../../plots/cartesian/axis_defaults":599,"../../plots/cartesian/layout_attributes":611,"../../plots/cartesian/position_defaults":614,"../../plots/plots":642,"../../registry":645,"../color":418,"../colorscale/helpers":429,"../dragelement":437,"../drawing":440,"../titles":513,"./constants":420,"@plotly/d3":18,tinycolor2:366}],423:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":549}],424:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":419,"./defaults":421,"./draw":422,"./has_colorbar":423}],425:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===s,c="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(h+(r={z:"z",c:"color"}[s]));var d=s+"auto",p=s+"min",g=s+"max",v=s+"mid",m=(o(h+d),o(h+p),o(h+g),{});m[p]=m[g]=void 0;var y={};y[d]=!1;var b={};return"color"===r&&(b.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(b.color.anim=!0)),b[d]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},b[p]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},b[g]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:y},b[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},b.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},b.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},b.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(b.showscale={valType:"boolean",dflt:u,editType:"calc"},b.colorbar=n),e.noColorAxis||(b.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),b}},{"../../lib/regex":565,"../colorbar/attributes":419,"./scales.js":433}],426:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?a.nestedProperty(e,u).get():e,f=i(c),h=!1!==f.auto,d=f.min,p=f.max,g=f.mid,v=function(){return a.aggNums(Math.min,null,l)},m=function(){return a.aggNums(Math.max,null,l)};(void 0===d?d=v():h&&(d=c._colorAx&&n(d)?Math.min(d,v()):v()),void 0===p?p=m():h&&(p=c._colorAx&&n(p)?Math.max(p,m()):m()),h&&void 0!==g&&(p-g>g-d?d=g-(p-g):p-g=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},{"../../lib":549,"./helpers":429,"fast-isnumeric":96}],427:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function p(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},{}],435:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":549}],436:[function(t,e,r){"use strict";r.selectMode=function(t){return"lasso"===t||"select"===t},r.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.openMode=function(t){return"drawline"===t||"drawopenpath"===t},r.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},r.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},r.selectingOrDrawing=function(t){return r.freeMode(t)||r.rectMode(t)}},{}],437:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var u=t("./unhover");function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,d,p,g,v=t.gd,m=1,y=v._context.doubleClickDelay,b=t.element;v._mouseDownTime||(v._mouseDownTime=0),b.style.pointerEvents="all",b.onmousedown=_,i?(b._ontouchstart&&b.removeEventListener("touchstart",b._ontouchstart),b._ontouchstart=_,b.addEventListener("touchstart",_,{passive:!1})):b.ontouchstart=_;var x=t.clampFn||function(t,e,r){return Math.abs(t)y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,d),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}p.dispatchEvent(r)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=c},{"../../lib":549,"../../plots/cartesian/constants":603,"./align":434,"./cursor":435,"./unhover":438,"has-hover":270,"has-passive-events":271,"mouse-event-offset":293}],438:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":540,"../../lib/events":541,"../../lib/throttle":574,"../fx/constants":452}],439:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],440:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),u=t("../../lib"),c=u.strTranslate,f=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),d=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,g=t("../../traces/scatter/subtypes"),v=t("../../traces/scatter/make_bubble_size_func"),m=t("../../components/fx/helpers").appendArrayPointValue,y=e.exports={};y.font=function(t,e,r,n){u.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},y.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},y.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},y.setRect=function(t,e,r,n,a){t.call(y.setPosition,e,r).call(y.setSize,n,a)},y.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform",c(i,o)),!0)},y.translatePoints=function(t,e,r){t.each((function(t){var a=n.select(this);y.translatePoint(t,a,e,r)}))},y.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},y.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each((function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,u=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){y.hideOutsideRangePoint(t,n.select(this),r,a,s,l)}))}))}},y.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},y.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),y.dashLine(e,l,o)},y.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each((function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(y.dashLine,l,o)}))},y.dashLine=function(t,e,r){r=+r||0,e=y.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},y.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},y.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},y.fillGroupStyle=function(t){t.style("stroke-width",0).each((function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)}))};var b=t("./symbol_defs");y.symbolNames=[],y.symbolFuncs=[],y.symbolNeedLines={},y.symbolNoDot={},y.symbolNoFill={},y.symbolList=[],Object.keys(b).forEach((function(t){var e=b[t],r=e.n;y.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),y.symbolNames[r]=t,y.symbolFuncs[r]=e.f,e.needLine&&(y.symbolNeedLines[r]=!0),e.noDot?y.symbolNoDot[r]=!0:y.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(y.symbolNoFill[r]=!0)}));var x=y.symbolNames.length;function _(t,e){var r=t%100;return y.symbolFuncs[r](e)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}y.symbolNumber=function(t){if(a(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=y.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},M={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:M},verticalreversed:{node:"linearGradient",attrs:M,reversed:!0}};y.gradient=function(t,e,r,a,o,l){for(var c=o.length,f=A[a],h=new Array(c),d=0;d"+m(t);p._gradientUrlQueryParts[y]=1},y.initGradients=function(t){var e=t._fullLayout;u.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),e._gradientUrlQueryParts={}},y.pointStyle=function(t,e,r){if(t.size()){var a=y.makePointStyleFns(e);t.each((function(t){y.singlePointStyle(t,n.select(this),e,a,r)}))}},y.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var c=y.symbolNumber(t.mx||i.symbol)||0;t.om=c%200>=100,e.attr("d",_(c,l))}var f,h,d,p=!1;if(t.so)d=o.outlierwidth,h=o.outliercolor,f=i.outliercolor;else{var g=(o||{}).width;d=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h="mlc"in t?t.mlcc=n.lineScale(t.mlc):u.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,u.isArrayOrTypedArray(i.color)&&(f=s.defaultLine,p=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({"stroke-width":(d||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:d)+"px");var v=i.gradient,m=t.mgt;if(m?p=!0:m=v&&v.type,Array.isArray(m)&&(m=m[0],A[m]||(m=0)),m&&"none"!==m){var b=t.mgc;b?p=!0:b=v.color;var x=r.uid;p&&(x+="-"+t.i),y.gradient(e,a,x,m,[[0,b],[1,f]],"fill")}else s.fill(e,f);d&&s.stroke(e,h)}},y.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=y.tryColorscale(r,""),e.lineScale=y.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?v(t):function(){return(r.size||6)/2}),t.selectedpoints&&u.extendFlat(e,y.makeSelectedPointStyleFns(t)),e},y.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,c=i.opacity,f=s.opacity,h=void 0!==c,d=void 0!==f;(u.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:d?f:p*e});var g=a.color,v=i.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=a.size,b=i.size,x=s.size,_=void 0!==b,w=void 0!==x;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?b/2:e:w?x/2:e}),e},y.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,u=i.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?u||e:c||(u?e:s.addOpacity(e,p))},e},y.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&i.push((function(t,e){s.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&i.push((function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",_(y.symbolNumber(n),i)),e.mrc2=i})),i.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}y.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=y.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each((function(t){var i=n.select(this),l=o?u.extractOption(t,e,"txt","texttemplate"):u.extractOption(t,e,"tx","text");if(l||0===l){if(o){var c=e._module.formatLabels?e._module.formatLabels(t,e,s):{},h={};m(h,e,t.i);var d=e._meta||{};l=u.texttemplateString(l,c,s._d3locale,h,t,d)}var p=t.tp||e.textposition,g=E(t,e),v=a?a(t):t.tc||e.textfont.color;i.call(y.font,t.tf||e.textfont.family,g,v).text(l).call(f.convertToTspans,r).call(S,p,g,t.mrc)}else i.remove()}))}},y.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=y.makeSelectedTextStyleFns(e);t.each((function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(a,i),S(a,o,l,t.mrc2||t.mrc)}))}};function L(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],u=Math.pow(i*i+o*o,.25),c=Math.pow(s*s+l*l,.25),f=(c*c*i-u*u*s)*a,h=(c*c*o-u*u*l)*a,d=3*c*(u+c),p=3*u*(u+c);return[[n.round(e[0]+(d&&f/d),2),n.round(e[1]+(d&&h/d),2)],[n.round(e[0]-(p&&f/p),2),n.round(e[1]-(p&&h/p),2)]]}y.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r=1e4&&(y.savedBBoxes={},R=0),r&&(y.savedBBoxes[r]=v),R++,u.extendFlat({},v)},y.setClipUrl=function(t,e,r){t.attr("clip-path",P(e,r))},y.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},y.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=c(e,r)).trim(),t[a]("transform",i),i},y.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},y.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+="scale("+e+","+r+")").trim(),t[a]("transform",i),i};var I=/\s*sc.*/;y.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(I,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var N=/translate\([^)]*\)\s*$/;y.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(N);t=1===e&&1===r?[]:[c(o,s),"scale("+e+","+r+")",c(-o,-s)],l&&t.push(l),a.attr("transform",t.join(""))}}))}},{"../../components/fx/helpers":454,"../../constants/alignment":520,"../../constants/interactions":526,"../../constants/xmlns_namespaces":528,"../../lib":549,"../../lib/svg_text_utils":573,"../../registry":645,"../../traces/scatter/make_bubble_size_func":691,"../../traces/scatter/subtypes":699,"../color":418,"../colorscale":430,"./symbol_defs":441,"@plotly/d3":18,"fast-isnumeric":96,tinycolor2:366}],441:[function(t,e,r){"use strict";var n=t("@plotly/d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),u=n.round(.118*e,2),c=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+u+"L"+o+","+c+"L0,"+n.round(.382*e,2)+"L-"+o+","+c+"L-"+i+","+u+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-down":{n:46,f:function(t){var e=n.round(t,2);return"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},noDot:!0},"arrow-left":{n:47,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-right":{n:48,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,0L-"+e+",-"+r+"V"+r+"Z"},noDot:!0},"arrow-bar-up":{n:49,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+","+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(t){var e=n.round(t,2);return"M-"+e+",0H"+e+"M0,0L-"+e+",-"+n.round(2*t,2)+"H"+e+"Z"},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(t){var e=n.round(2*t,2),r=n.round(t,2);return"M0,-"+r+"V"+r+"M0,0L-"+e+",-"+r+"V"+r+"Z"},needLine:!0,noDot:!0}}},{"@plotly/d3":18}],442:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],443:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},u=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=s(l),f=0;f0;e.each((function(e){var f,h=e[0].trace,d=h.error_x||{},p=h.error_y||{};h.ids&&(f=function(t){return t.id});var g=o.hasMarkers(h)&&h.marker.maxdisplayed>0;p.visible||d.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,f);if(v.exit().remove(),e.length){d.visible||v.selectAll("path.xerror").remove(),p.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,u);if(!g||t.vis){var i,o=e.select("path.yerror");if(p.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var f=p.width;i="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(i+="m-"+f+",0h"+2*f),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):c&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var h=e.select("path.xerror");if(d.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(d.copy_ystyle?p:d).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!h.size()?h=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):c&&(h=h.transition().duration(s.duration).ease(s.easing)),h.attr("d",i)}else h.remove()}}))}}))}},{"../../traces/scatter/subtypes":699,"../drawing":440,"@plotly/d3":18,"fast-isnumeric":96}],448:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../color");e.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)}))}},{"../color":418,"@plotly/d3":18}],449:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":542,"../../plots/font_attributes":625,"./layout_attributes":459}],450:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexx[0]._length||tt<0||tt>_[0]._length)return p.unhoverRaw(t,e)}if(e.pointerX=$+x[0]._offset,e.pointerY=tt+_[0]._offset,L="xval"in e?m.flat(s,e.xval):m.p2c(x,$),O="yval"in e?m.flat(s,e.yval):m.p2c(_,tt),!a(L[0])||!a(O[0]))return o.warn("Fx.hover failed",e,t),p.unhoverRaw(t,e)}var at=1/0;function it(t,r){for(z=0;zG&&(Z.splice(0,G),at=Z[0].distance),g&&0!==X&&0===Z.length){q.distance=X,q.index=!1;var f=j._module.hoverPoints(q,V,Y,"closest",l._hoverlayer);if(f&&(f=f.filter((function(t){return t.spikeDistance<=X}))),f&&f.length){var h,p=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(p.length){var v=p[0];a(v.x0)&&a(v.y0)&&(h=st(v),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>h.spikeDistance)&&(Q.vLinePoint=h))}var y=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(y.length){var b=y[0];a(b.x0)&&a(b.y0)&&(h=st(b),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>h.spikeDistance)&&(Q.hLinePoint=h))}}}}}function ot(t,e){for(var r,n=null,a=1/0,i=0;i1||Z.length>1)||"closest"===S&&K&&Z.length>1,St=d.combine(l.plot_bgcolor||d.background,l.paper_bgcolor),Et={hovermode:S,rotateLabels:kt,bgColor:St,container:l._hoverlayer,outerContainer:l._paperdiv,commonLabelOpts:l.hoverlabel,hoverdistance:l.hoverdistance},Lt=C(Z,Et,t);m.isUnifiedHover(S)||(!function(t,e,r){var n,a,i,o,s,l,u,c=0,f=1,h=t.size(),d=new Array(h),p=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var u=0;for(o=0;oe.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}t.each((function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===p&&i&&i[0]>i[1]!==a&&(f=-1),d[p++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?M:1)/2,pmin:0,pmax:a?r.width:r.height}]})),d.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));for(;!n&&c<=h;){for(c++,n=!0,o=0;o.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=a;for(v.push.apply(v,m),d.splice(o+1,1),u=0,s=v.length-1;s>=0;s--)u+=v[s].dp;for(i=u/v.length,s=v.length-1;s>=0;s--)v[s].dp-=i;n=!1}else o++}d.forEach(g)}for(o=d.length-1;o>=0;o--){var x=d[o];for(s=x.length-1;s>=0;s--){var _=x[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Lt,kt?"xa":"ya",l),R(Lt,kt,l._invScaleX,l._invScaleY));if(e.target&&e.target.tagName){var Ct=v.getComponentMethod("annotations","hasClickToShow")(t,wt);f(n.select(e.target),Ct?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,_t))return;_t&&t.emit("plotly_unhover",{event:e,points:_t});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:x,yaxes:_,xvals:L,yvals:O})}(t,e,r,i)}))},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map((function(t){return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}})),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:i,outerContainer:o},l=C(a,s,e.gd),u=0,c=0;l.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function C(t,e,r){var a=r._fullLayout,i=e.hovermode,u=e.rotateLabels,f=e.bgColor,p=e.container,g=e.outerContainer,v=e.commonLabelOpts||{},w=e.fontFamily||y.HOVERFONT,M=e.fontSize||y.HOVERFONTSIZE,T=t[0],A=T.xa,L=T.ya,C="y"===i.charAt(0)?"yLabel":"xLabel",R=T[C],D=(String(R)||"").split(" ")[0],P=g.node().getBoundingClientRect(),I=P.top,N=P.width,z=P.height,F=void 0!==R&&T.distance<=e.hoverdistance&&("x"===i||"y"===i);if(F){var j,B,U=!0;for(j=0;ja.width-E?(y=a.width-E,l.attr("d","M"+(E-k)+",0L"+E+","+_+k+"v"+_+(2*S+x.height)+"H-"+E+"V"+_+k+"H"+(E-2*k)+"Z")):l.attr("d","M0,0L"+k+","+_+k+"H"+(S+x.width/2)+"v"+_+(2*S+x.height)+"H-"+(S+x.width/2)+"V"+_+k+"H-"+k+"Z")}else{var C,O,D;"right"===L.side?(C="start",O=1,D="",y=A._offset+A._length):(C="end",O=-1,D="-",y=A._offset),b=L._offset+(T.y0+T.y1)/2,u.attr("text-anchor",C),l.attr("d","M0,0L"+D+k+","+k+"V"+(S+x.height/2)+"h"+D+(2*S+x.width)+"V-"+(S+x.height/2)+"H"+D+k+"V-"+k+"Z");var P,N=x.height/2,z=I-x.top-N,F="clip"+a._uid+"commonlabel"+L._id;if(y=0?et-=at:et+=2*S;var it=nt.height+2*S,ot=tt+it>=z;return it<=z&&(tt<=I?tt=L._offset+2*S:ot&&(tt=z-it)),rt.attr("transform",s(et,tt)),rt}var st=p.selectAll("g.hovertext").data(t,(function(t){return E(t)}));return st.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(d.fill,d.addOpacity(f,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(h.font,w,M)})),st.exit().remove(),st.each((function(t){var e=n.select(this).attr("transform",""),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var p=t.bgcolor||o,g=d.combine(d.opacity(p)?p:d.defaultLine,f),v=d.combine(d.opacity(o)?o:d.defaultLine,f),m=t.borderColor||d.contrast(g),y=O(t,F,i,a,R,e),b=y[0],x=y[1],T=e.select("text.nums").call(h.font,t.fontFamily||w,t.fontSize||M,t.fontColor||m).text(b).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r),A=e.select("text.name"),E=0,L=0;if(x&&x!==b){A.call(h.font,t.fontFamily||w,t.fontSize||M,v).text(x).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r);var C=A.node().getBoundingClientRect();E=C.width+2*S,L=C.height+2*S}else A.remove(),e.select("rect").remove();e.select("path").style({fill:g,stroke:m});var D,P,j=T.node().getBoundingClientRect(),B=t.xa._offset+(t.x0+t.x1)/2,U=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),V=Math.abs(t.y1-t.y0),Y=j.width+k+S+E;if(t.ty0=I-j.top,t.bx=j.width+2*S,t.by=Math.max(j.height+2*S,L),t.anchor="start",t.txwidth=j.width,t.tx2width=E,t.offset=0,u)t.pos=B,D=U+V/2+Y<=z,P=U-V/2-Y>=0,"top"!==t.idealAlign&&D||!P?D?(U+=V/2,t.anchor="start"):t.anchor="middle":(U-=V/2,t.anchor="end");else if(t.pos=U,D=B+H/2+Y<=N,P=B-H/2-Y>=0,"left"!==t.idealAlign&&D||!P)if(D)B+=H/2,t.anchor="start";else{t.anchor="middle";var q=Y/2,G=B+q-N,W=B-q;G>0&&(B-=G),W<0&&(B+=-W)}else B-=H/2,t.anchor="end";T.attr("text-anchor",t.anchor),E&&A.attr("text-anchor",t.anchor),e.attr("transform",s(B,U)+(u?l(_):""))})),st}function O(t,e,r,n,a,i){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=N(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[r.charAt(0)+"Label"]===a?l=t[("x"===r.charAt(0)?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),i&&""===l&&!t.hovertemplate&&(""===s&&i.remove(),l=s);var u=n._d3locale,c=t.hovertemplate||!1,f=t.hovertemplateLabels||t,h=t.eventData[0]||{};return c&&(l=(l=o.hovertemplateString(c,f,u,h,t.trace._meta)).replace(L,(function(e,r){return s=N(r,t.nameLength),""}))),[l,s]}function R(t,e,r,a){var i=function(t){return t*r},o=function(t){return t*a};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),s=t.anchor,l="end"===s?-1:1,u={start:1,end:-1,middle:0}[s],f=u*(k+S),d=f+u*(t.txwidth+S),p=0,g=t.offset,v="middle"===s;v&&(f-=t.tx2width/2,d+=t.txwidth/2+S),e&&(g*=-A,p=t.offset*T),r.select("path").attr("d",v?"M-"+i(t.bx/2+t.tx2width/2)+","+o(g-t.by/2)+"h"+i(t.bx)+"v"+o(t.by)+"h-"+i(t.bx)+"Z":"M0,0L"+i(l*k+p)+","+o(k+g)+"v"+o(t.by/2-k)+"h"+i(l*t.bx)+"v-"+o(t.by)+"H"+i(l*k+p)+"V"+o(g-k)+"Z");var m=p+f,y=g+t.ty0-t.by/2+S,b=t.textAlign||"auto";"auto"!==b&&("left"===b&&"start"!==s?(a.attr("text-anchor","start"),m=v?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===b&&"end"!==s&&(a.attr("text-anchor","end"),m=v?t.bx/2-t.tx2width/2-S:t.bx+S)),a.call(c.positionText,i(m),o(y)),t.tx2width&&(r.select("text.name").call(c.positionText,i(d+u*S+p),o(g+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,i(d+(u-1)*t.tx2width/2+p),o(g-t.by/2-1),i(t.tx2width),o(t.by+2)))}))}function D(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var u=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var a=u(r,n);l(a)&&(t[e]=a)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+h,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function P(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var p=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(v=u.pointerX,m=u.pointerY):(v=n._offset+y.x,m=a._offset+y.y);var b,x,_=i.readability(y.color,p)<1.5?d.contrast(p):y.color,w=a.spikemode,M=a.spikethickness,T=a.spikecolor||_,A=g.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(b=A,x=v),-1!==w.indexOf("across")){var k=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(k=Math.min(k,a.position),S=Math.max(S,a.position)),b=l.l+k*l.w,x=l.l+S*l.w}o.insert("line",":first-child").attr({x1:b,x2:x,y1:m,y2:m,"stroke-width":M,stroke:T,"stroke-dasharray":h.dashStyle(a.spikedash,M)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:b,x2:x,y1:m,y2:m,"stroke-width":M+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?M:-M),cy:m,r:M,fill:T}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,a=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=a._offset+C.y);var O,R,D=i.readability(C.color,p)<1.5?d.contrast(p):C.color,P=n.spikemode,I=n.spikethickness,N=n.spikecolor||D,z=g.getPxPosition(t,n);if(-1!==P.indexOf("toaxis")||-1!==P.indexOf("across")){if(-1!==P.indexOf("toaxis")&&(O=z,R=L),-1!==P.indexOf("across")){var F=n._counterDomainMin,j=n._counterDomainMax;"free"===n.anchor&&(F=Math.min(F,n.position),j=Math.max(j,n.position)),O=l.t+(1-j)*l.h,R=l.t+(1-F)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:R,"stroke-width":I,stroke:N,"stroke-dasharray":h.dashStyle(n.spikedash,I)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:O,y2:R,"stroke-width":I+2,stroke:p}).classed("spikeline",!0).classed("crisp",!0)}-1!==P.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:z-("top"!==n.side?I:-I),r:I,fill:N}).classed("spikeline",!0)}}}function I(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function N(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":549,"../../lib/events":541,"../../lib/override_cursor":560,"../../lib/svg_text_utils":573,"../../plots/cartesian/axes":597,"../../registry":645,"../color":418,"../dragelement":437,"../drawing":440,"../legend/defaults":470,"../legend/draw":471,"./constants":452,"./helpers":454,"@plotly/d3":18,"fast-isnumeric":96,tinycolor2:366}],456:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color"),i=t("./helpers").isUnifiedHover;e.exports=function(t,e,r,o){function s(t){o.font[t]||(o.font[t]=e.legend?e.legend.font[t]:e.font[t])}o=o||{},e&&i(e.hovermode)&&(o.font||(o.font={}),s("size"),s("family"),s("color"),e.legend?(o.bgcolor||(o.bgcolor=a.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},{"../../lib":549,"../color":418,"./helpers":454}],457:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return void 0!==e[r]?e[r]:n.coerce(t,e,a,r,i)}var o,s=i("clickmode");return e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n1){if(!h&&!d&&!p)"independent"===T("pattern")&&(h=!0);v._hasSubplotGrid=h;var b,x,_="top to bottom"===T("roworder"),w=h?.2:.1,M=h?.3:.1;g&&e._splomGridDflt&&(b=e._splomGridDflt.xside,x=e._splomGridDflt.yside),v._domains={x:c("x",T,w,b,y),y:c("y",T,M,x,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,c,h=t.grid||{},d=e._subplots,p=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(p){var b=h.subplots||[];l=r.subplots=new Array(g);var x=1;for(n=0;n1);if(!1!==g||u.uirevision){var v=i.newContainer(e,"legend");if(_("uirevision",e.uirevision),!1!==g){_("bgcolor",e.paper_bgcolor),_("bordercolor"),_("borderwidth"),a.coerceFont(_,"font",e.font);var m,y,b,x=_("orientation");"h"===x?(m=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(y=1.1,b="bottom"):(y=-.1,b="top")):(m=1.02,y=1,b="auto"),_("traceorder",h),l.isGrouped(e.legend)&&_("tracegroupgap"),_("itemsizing"),_("itemwidth"),_("itemclick"),_("itemdoubleclick"),_("x",m),_("xanchor"),_("y",y),_("yanchor",b),_("valign"),a.noneOrAll(u,v,["x","y"]),_("title.text")&&(_("title.side","h"===x?"left":"top"),a.coerceFont(_,"title.font",e.font))}}function _(t,e){return a.coerce(u,v,o,t,e)}}},{"../../lib":549,"../../plot_api/plot_template":586,"../../plots/layout_attributes":640,"../../registry":645,"./attributes":468,"./helpers":474}],471:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),u=t("../drawing"),c=t("../color"),f=t("../../lib/svg_text_utils"),h=t("./handle_click"),d=t("./constants"),p=t("../../constants/alignment"),g=p.LINE_SPACING,v=p.FROM_TL,m=p.FROM_BR,y=t("./get_legend_data"),b=t("./style"),x=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout((function(){h(r,t,n)}),t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)}}function w(t,e,r){var n,i=t.data()[0][0],s=i.trace,l=o.traceIs(s,"pie-like"),c=s.index,h=r._main&&e._context.edits.legendText&&!l,p=r._maxNameLength;r.entries?n=i.text:(n=l?i.label:s.name,s._meta&&(n=a.templateString(n,s._meta)));var g=a.ensureSingle(t,"text","legendtext");g.attr("text-anchor","start").call(u.font,r.font).text(h?M(n,p):n);var v=r.itemwidth+2*d.itemGap;f.positionText(g,v,0),h?g.call(f.makeEditable,{gd:e,text:n}).call(A,t,e,r).on("edit",(function(n){this.text(M(n,p)).call(A,t,e,r);var s=i.trace._fullInput||{},l={};if(o.hasTransform(s,"groupby")){var u=o.getTransformIndices(s,"groupby"),f=u[u.length-1],h=a.keyedContainer(s,"transforms["+f+"].styles","target","value.name");h.set(i.trace._group,n),l=h.constructUpdate()}else l.name=n;return o.call("_guiRestyle",e,l,c)})):A(g,t,e,r)}function M(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function T(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTimei&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})))}function A(t,e,r,n){n._main||t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r){var n=t.data()[0][0];if(r._main&&n&&!n.trace.showlegend)return void t.remove();var a=t.select("g[class*=math-group]"),i=a.node();r||(r=e._fullLayout.legend);var o,s,l=r.borderwidth,c=(n?r:r.title).font.size*g;if(i){var h=u.bBox(i);o=h.height,s=h.width,n?u.setTranslate(a,0,.25*o):u.setTranslate(a,l,.75*o+l)}else{var p=t.select(n?".legendtext":".legendtitletext"),v=f.lineCount(p),m=p.node();o=c*v,s=m?u.bBox(m).width:0;var y=c*((v-1)/2-.3);if(n){var b=r.itemwidth+2*d.itemGap;f.positionText(p,b,-y)}else f.positionText(p,d.titlePad+l,c+l)}n?(n.lineHeight=c,n.height=Math.max(o,16)+3,n.width=s):(r._titleWidth=s,r._titleHeight=o)}(e,r,n)}))}function k(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function S(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t,e){var r,s=t._fullLayout,f="legend"+s._uid;if(e?(r=e.layer,f+="-hover"):((e=s.legend||{})._main=!0,r=s._infolayer),r){var h;if(t._legendMouseDownTime||(t._legendMouseDownTime=0),e._main){if(!t.calcdata)return;h=s.showlegend&&y(t.calcdata,e)}else{if(!e.entries)return;h=y(e.entries,e)}var p=s.hiddenlabels||[];if(e._main&&(!s.showlegend||!h.length))return r.selectAll(".legend").remove(),s._topdefs.select("#"+f).remove(),i.autoMargin(t,"legend");var g=a.ensureSingle(r,"g","legend",(function(t){e._main&&t.attr("pointer-events","all")})),M=a.ensureSingleById(s._topdefs,"clipPath",f,(function(t){t.append("rect")})),E=a.ensureSingle(g,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));E.call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var L=a.ensureSingle(g,"g","scrollbox"),C=e.title;if(e._titleWidth=0,e._titleHeight=0,C.text){var O=a.ensureSingle(L,"text","legendtitletext");O.attr("text-anchor","start").call(u.font,C.font).text(C.text),A(O,L,t,e)}else L.selectAll(".legendtitletext").remove();var R=a.ensureSingle(g,"rect","scrollbar",(function(t){t.attr(d.scrollBarEnterAttrs).call(c.fill,d.scrollBarColor)})),D=L.selectAll("g.groups").data(h);D.enter().append("g").attr("class","groups"),D.exit().remove();var P=D.selectAll("g.traces").data(a.identity);P.enter().append("g").attr("class","traces"),P.exit().remove(),P.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==p.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(w,t,e)})).call(b,t,e).each((function(){e._main&&n.select(this).call(T,t)})),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r,a){var i=t._fullLayout;a||(a=i.legend);var o=i._size,s=x.isVertical(a),l=x.isGrouped(a),c=a.borderwidth,f=2*c,h=d.itemGap,p=a.itemwidth+2*h,g=2*(c+h),v=S(a),m=a.y<0||0===a.y&&"top"===v,y=a.y>1||1===a.y&&"bottom"===v;a._maxHeight=Math.max(m||y?i.height/2:o.h,30);var b=0;a._width=0,a._height=0;var _=function(t){var e=0,r=0,n=t.title.side;n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight));return[e,r]}(a);if(s)r.each((function(t){var e=t[0].height;u.setTranslate(this,c+_[0],c+_[1]+a._height+e/2+h),a._height+=e,a._width=Math.max(a._width,t[0].width)})),b=p+a._width,a._width+=h+p+f,a._height+=g,l&&(e.each((function(t,e){u.setTranslate(this,0,e*a.tracegroupgap)})),a._height+=(a._lgroupsLength-1)*a.tracegroupgap);else{var w=k(a),M=a.x<0||0===a.x&&"right"===w,T=a.x>1||1===a.x&&"left"===w,A=y||m,E=i.width/2;a._maxWidth=Math.max(M?A&&"left"===w?o.l+o.w:E:T?A&&"right"===w?o.r+o.w:E:o.w,2*p);var L=0,C=0;r.each((function(t){var e=t[0].width+p;L=Math.max(L,e),C+=e})),b=null;var O=0;if(l){var R=0,D=0,P=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=r[0].height;u.setTranslate(this,_[0],_[1]+c+h+n/2+e),e+=n,t=Math.max(t,p+r[0].width)})),R=Math.max(R,e);var r=t+h;r+c+D>a._maxWidth&&(O=Math.max(O,D),D=0,P+=R+a.tracegroupgap,R=e),u.setTranslate(this,D,P),D+=r})),a._width=Math.max(O,D)+c,a._height=P+R+g}else{var I=r.size(),N=C+f+(I-1)*h=a._maxWidth&&(O=Math.max(O,B),F=0,j+=z,a._height+=z,z=0),u.setTranslate(this,_[0]+c+F,_[1]+c+j+e/2+h),B=F+r+h,F+=n,z=Math.max(z,e)})),N?(a._width=F+f,a._height=z+g):(a._width=Math.max(O,B)+f,a._height+=z+g)}}a._width=Math.ceil(Math.max(a._width+_[0],a._titleWidth+2*(c+d.titlePad))),a._height=Math.ceil(Math.max(a._height+_[1],a._titleHeight+2*(c+d.itemGap))),a._effHeight=Math.min(a._height,a._maxHeight);var U=t._context.edits,H=U.legendText||U.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=H?p:b||p+t[0].width;s||(a+=h/2),u.setRect(e,0,-r/2,a,r)}))}(t,D,P,e)},function(){if(!e._main||!function(t){var e=t._fullLayout.legend,r=k(e),n=S(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var c,h,p,y,b=s._size,x=e.borderwidth,w=b.l+b.w*e.x-v[k(e)]*e._width,T=b.t+b.h*(1-e.y)-v[S(e)]*e._effHeight;if(e._main&&s.margin.autoexpand){var A=w,C=T;w=a.constrain(w,0,s.width-e._width),T=a.constrain(T,0,s.height-e._effHeight),w!==A&&a.log("Constrain legend.x to make legend fit inside graph"),T!==C&&a.log("Constrain legend.y to make legend fit inside graph")}if(e._main&&u.setTranslate(g,w,T),R.on(".drag",null),g.on("wheel",null),!e._main||e._height<=e._maxHeight||t._context.staticPlot){var O=e._effHeight;e._main||(O=e._height),E.attr({width:e._width-x,height:O-x,x:x/2,y:x/2}),u.setTranslate(L,0,0),M.select("rect").attr({width:e._width-2*x,height:O-2*x,x:x,y:x}),u.setClipUrl(L,f,t),u.setRect(R,0,0,0,0),delete e._scrollY}else{var D,P,I,N=Math.max(d.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),z=e._effHeight-N-2*d.scrollBarMargin,F=e._height-e._effHeight,j=z/F,B=Math.min(e._scrollY||0,F);E.attr({width:e._width-2*x+d.scrollBarWidth+d.scrollBarMargin,height:e._effHeight-x,x:x/2,y:x/2}),M.select("rect").attr({width:e._width-2*x+d.scrollBarWidth+d.scrollBarMargin,height:e._effHeight-2*x,x:x,y:x+B}),u.setClipUrl(L,f,t),V(B,N,j),g.on("wheel",(function(){V(B=a.constrain(e._scrollY+n.event.deltaY/z*F,0,F),N,j),0!==B&&B!==F&&n.event.preventDefault()}));var U=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;D="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,I=B})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(P="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,V(B=function(t,e,r){var n=(r-e)/j+t;return a.constrain(n,0,F)}(I,D,P),N,j))}));R.call(U);var H=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(D=t.changedTouches[0].clientY,I=B)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(P=t.changedTouches[0].clientY,V(B=function(t,e,r){var n=(e-r)/j+t;return a.constrain(n,0,F)}(I,D,P),N,j))}));L.call(H)}if(t._context.edits.legendPosition)g.classed("cursor-move",!0),l.init({element:g.node(),gd:t,prepFn:function(){var t=u.getTranslate(g);p=t.x,y=t.y},moveFn:function(t,r){var n=p+t,a=y+r;u.setTranslate(g,n,a),c=l.align(n,0,b.l,b.l+b.w,e.xanchor),h=l.align(a,0,b.t+b.h,b.t,e.yanchor)},doneFn:function(){void 0!==c&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":c,"legend.y":h})},clickFn:function(e,n){var a=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));a.size()>0&&_(t,g,a,e,n)}})}function V(r,n,a){e._scrollY=t._fullLayout.legend._scrollY=r,u.setTranslate(L,0,-r),u.setRect(R,e._width,d.scrollBarMargin+r*a,d.scrollBarWidth,n),M.select("rect").attr("y",x+r)}}],t)}}},{"../../constants/alignment":520,"../../lib":549,"../../lib/events":541,"../../lib/svg_text_utils":573,"../../plots/plots":642,"../../registry":645,"../color":418,"../dragelement":437,"../drawing":440,"./constants":469,"./get_legend_data":472,"./handle_click":473,"./helpers":474,"./style":476,"@plotly/d3":18}],472:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,u={},c=0,f=0,h=e._main;function d(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+c;s.push(n),o[n]=[[r]],c++}}for(r=0;r0))return 0;a=e.width}return v?n:Math.min(a,r)};function _(t,e,r){var i=t[0].trace,o=i.marker||{},s=o.line||{},u=r?i.visible&&i.type===r:a.traceIs(i,"bar"),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(u?[t]:[]);c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),c.exit().remove(),c.each((function(t){var e=n.select(this),r=t[0],a=x(r.mlw,o.line,5,2);e.style("stroke-width",a+"px").call(l.fill,r.mc||o.color),a&&l.stroke(e,r.mlc||s.color)}))}function w(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),u.exit().remove(),u.size()){var c=(s.marker||{}).line,d=x(h(c.width,o.pts),c,5,2),p=i.minExtend(s,{marker:{line:{width:d}}});p.marker.line.color=c.color;var g=i.minExtend(o,{trace:p});f(u,g,p)}}t.each((function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));a.attr("transform",o(0,c))}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=a.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,a=t[0].trace,o=[];if(a.visible)switch(a.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["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"]],r=!1;break;case"streamtube":o=[["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"]],r=!1;break;case"surface":o=[["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"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(a),d=h.colorscale,g=h.reversescale;if(d){if(!r){var v=d.length;c=0===o?d[g?v-1:0][1]:1===o?d[g?0:v-1][1]:d[Math.floor((v-1)/2)][1]}}else{var m=a.vertexcolor||a.facecolor||a.color;c=i.isArrayOrTypedArray(m)?m[o]||m[0]:m}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+a.uid;s.gradient(t,e,n,p(g,"radial"===r),d,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var a=t[0].trace[t[0].dir].marker;return t[0].mc=a.color,t[0].mlw=a.line.width,t[0].mlc=a.line.color,_(t,this,"waterfall")}var i=[];e.visible&&r&&(i=t[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 o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(i);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),a=e[t[0]].marker,i=x(void 0,a.line,5,2);r.attr("d",t[1]).style("stroke-width",i+"px").call(l.fill,a.color),i&&r.call(l.stroke,a.line.color)}))})).each((function(t){_(t,this,"funnel")})).each((function(t){_(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var a=x(void 0,r.line,5,2);t.style("stroke-width",a+"px").call(l.fill,r.fillcolor),a&&l.stroke(t,r.line.color)}else{var u=i.minExtend(r,{marker:{size:v?12:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){w(t,this,"funnelarea")})).each((function(t){w(t,this,"pie")})).each((function(t){var r,a,o=t[0],l=o.trace,f=l.visible&&l.fill&&"none"!==l.fill,h=c.hasLines(l),d=l.contours,g=!1,v=!1,y=u(l),b=y.colorscale,_=y.reversescale;if(d){var w=d.coloring;"lines"===w?g=!0:h="none"===w||"heatmap"===w||d.showlines,"constraint"===d.type?f="="!==d._operation:"fill"!==w&&"heatmap"!==w||(v=!0)}var M=c.hasMarkers(l)||c.hasText(l),T=f||v,A=h||g,k=M||!T?"M5,0":A?"M5,-2":"M5,-3",S=n.select(this),E=S.select(".legendfill").selectAll("path").data(f||v?[t]:[]);if(E.enter().append("path").classed("js-fill",!0),E.exit().remove(),E.attr("d",k+"h"+m+"v6h-"+m+"z").call(f?s.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+l.uid;s.gradient(t,e,r,p(_),b,"fill")}}),h||g){var L=x(void 0,l.line,10,5);a=i.minExtend(l,{line:{width:L}}),r=[i.minExtend(o,{trace:a})]}var C=S.select(".legendlines").selectAll("path").data(h||g?[r]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",k+(g?"l"+m+",0.0001":"h"+m)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+l.uid;s.lineGroupStyle(t),s.gradient(t,e,r,p(_),b,"stroke")}})})).each((function(t){var r,a,o=t[0],l=o.trace,u=c.hasMarkers(l),f=c.hasText(l),h=c.hasLines(l);function d(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function p(t){return o._distinct&&o.index&&t[o.index]?t[o.index]:t[0]}if(u||f||h){var g={},m={};if(u){g.mc=d("marker.color",p),g.mx=d("marker.symbol",p),g.mo=d("marker.opacity",i.mean,[.2,1]),g.mlc=d("marker.line.color",p),g.mlw=d("marker.line.width",i.mean,[0,5],2),m.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=d("marker.size",i.mean,[2,16],12);g.ms=y,m.marker.size=y}h&&(m.line={width:d("line.width",p,[0,10],5)}),f&&(g.tx="Aa",g.tp=d("textposition",p),g.ts=10,g.tc=d("textfont.color",p),g.tf=d("textfont.family",p)),r=[i.minExtend(o,g)],(a=i.minExtend(l,m)).selectedpoints=null,a.texttemplate=null}var x=n.select(this).select("g.legendpoints"),_=x.selectAll("path.scatterpts").data(u?r:[]);_.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),_.exit().remove(),_.call(s.pointStyle,a,e),u&&(r[0].mrc=3);var w=x.selectAll("g.pointtext").data(f?r:[]);w.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),w.exit().remove(),w.selectAll("text").call(s.textPointStyle,a,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,5,2);a.style("stroke-width",o+"px").call(l.fill,i.fillcolor),o&&l.stroke(a,i.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,5,2);a.style("fill","none").call(s.dashLine,i.line.dash,o),o&&l.stroke(a,i.line.color)}))}))}},{"../../lib":549,"../../registry":645,"../../traces/pie/helpers":671,"../../traces/pie/style_one":672,"../../traces/scatter/subtypes":699,"../color":418,"../colorscale/helpers":429,"../drawing":440,"./constants":469,"@plotly/d3":18}],477:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../fonts/ploticon"),s=t("../shapes/draw").eraseActiveShape,l=t("../../lib"),u=l._,c=e.exports={};function f(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=i.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var d,p="in"===l?.5:2,g=(1+p)/2,v=(1-p)/2;for(a=0;a1?(E=["toggleHover"],L=["resetViews"]):p?(S=["zoomInGeo","zoomOutGeo"],E=["hoverClosestGeo"],L=["resetGeo"]):d?(E=["hoverClosest3d"],L=["resetCameraDefault3d","resetCameraLastSave3d"]):b?(S=["zoomInMapbox","zoomOutMapbox"],E=["toggleHover"],L=["resetViewMapbox"]):m?E=["hoverClosestGl2d"]:g?E=["hoverClosestPie"]:_?(E=["hoverClosestCartesian","hoverCompareCartesian"],L=["resetViewSankey"]):E=["toggleHover"];h&&(E=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e0)){var g=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),a=0,i=0;i=n.max)e=z[r+1];else if(t=n.pmax)e=z[r+1];else if(t0?h+u:u;return{ppad:u,ppadplus:c?p:g,ppadminus:c?g:p}}return{ppad:u}}function c(t,e,r,n,a){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,d=-1/0,p=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;ld&&(d=f)));return d>=h?[h,d]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;oy?(T=f,E="y0",A=y,L="y1"):(T=y,E="y1",A=f,L="y0");Z(n),K(s,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),s=i.getFromId(r,a),l="";"paper"===n||o.autorange||(l+=n);"paper"===a||s.autorange||(l+=a);c.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),X.moveFn="move"===D?J:Q,X.altKey=n.altKey},doneFn:function(){if(m(t))return;d(e),$(s),x(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj())},clickFn:function(){if(m(t))return;$(s)}};function Z(r){if(m(t))D=null;else if(N)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=X.element.getBoundingClientRect(),a=n.right-n.left,i=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!z&&a>10&&i>10&&!r.shiftKey?h.getCursor(o/a,1-s/i):"move";d(e,l),D=l.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,l=i;P?F("xanchor",r.xanchor=q(b+n)):(o=function(t){return q(V(t)+n)},j&&"date"===j.type&&(o=g.encodeDate(o))),I?F("yanchor",r.yanchor=G(M+a)):(l=function(t){return G(Y(t)+a)},U&&"date"===U.type&&(l=g.encodeDate(l))),F("path",r.path=w(R,o,l))}else P?F("xanchor",r.xanchor=q(b+n)):(F("x0",r.x0=q(u+n)),F("x1",r.x1=q(v+n))),I?F("yanchor",r.yanchor=G(M+a)):(F("y0",r.y0=G(f+a)),F("y1",r.y1=G(y+a)));e.attr("d",_(t,r)),K(s,r)}function Q(n,a){if(z){var i=function(t){return t},o=i,l=i;P?F("xanchor",r.xanchor=q(b+n)):(o=function(t){return q(V(t)+n)},j&&"date"===j.type&&(o=g.encodeDate(o))),I?F("yanchor",r.yanchor=G(M+a)):(l=function(t){return G(Y(t)+a)},U&&"date"===U.type&&(l=g.encodeDate(l))),F("path",r.path=w(R,o,l))}else if(N){if("resize-over-start-point"===D){var c=u+n,h=I?f-a:f+a;F("x0",r.x0=P?c:q(c)),F("y0",r.y0=I?h:G(h))}else if("resize-over-end-point"===D){var d=v+n,p=I?y-a:y+a;F("x1",r.x1=P?d:q(d)),F("y1",r.y1=I?p:G(p))}}else{var m=function(t){return-1!==D.indexOf(t)},x=m("n"),B=m("s"),H=m("w"),W=m("e"),X=x?T+a:T,Z=B?A+a:A,J=H?k+n:k,Q=W?S+n:S;I&&(x&&(X=T-a),B&&(Z=A-a)),(!I&&Z-X>10||I&&X-Z>10)&&(F(E,r[E]=I?X:G(X)),F(L,r[L]=I?Z:G(Z))),Q-J>10&&(F(C,r[C]=P?J:q(J)),F(O,r[O]=P?Q:q(Q)))}e.attr("d",_(t,r)),K(s,r)}function K(t,e){(P||I)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=V(P?e.xanchor:a.midRange(r?[e.x0,e.x1]:g.extractPathCoords(e.path,p.paramIsX))),o=Y(I?e.yanchor:a.midRange(r?[e.y0,e.y1]:g.extractPathCoords(e.path,p.paramIsY)));if(i=g.roundPositionForSharpStrokeRendering(i,1),o=g.roundPositionForSharpStrokeRendering(o,1),P&&I){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(P){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function $(t){t.selectAll(".visual-cue").remove()}h.init(X),W.node().onmousemove=Z}(t,P,l,e,r,D):!0===l.editable&&P.style("pointer-events",O||u.opacity(S)*k<=.5?"stroke":"all");P.node().addEventListener("click",(function(){return function(t,e){if(!y(t))return;var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void M(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=M,v(t)}}(t,P)}))}}function x(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");c.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function _(t,e){var r,n,o,s,l,u,c,f,h=e.type,d=i.getRefType(e.xref),v=i.getRefType(e.yref),m=i.getFromId(t,e.xref),y=i.getFromId(t,e.yref),b=t._fullLayout._size;if(m?"domain"===d?n=function(t){return m._offset+m._length*t}:(r=g.shapePositionToRange(m),n=function(t){return m._offset+m.r2p(r(t,!0))}):n=function(t){return b.l+b.w*t},y?"domain"===v?s=function(t){return y._offset+y._length*(1-t)}:(o=g.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return b.t+b.h*(1-t)},"path"===h)return m&&"date"===m.type&&(n=g.decodeDate(n)),y&&"date"===y.type&&(s=g.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(p.segmentRE,(function(t){var n=0,u=t.charAt(0),c=p.paramIsX[u],f=p.paramIsY[u],h=p.numParams[u],d=t.substr(1).replace(p.paramRE,(function(t){return c[n]?t="pixel"===i?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>h&&(t="X"),t}));return n>h&&(d=d.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),u+d}))}(e,n,s);if("pixel"===e.xsizemode){var x=n(e.xanchor);l=x+e.x0,u=x+e.x1}else l=n(e.x0),u=n(e.x1);if("pixel"===e.ysizemode){var _=s(e.yanchor);c=_-e.y0,f=_-e.y1}else c=s(e.y0),f=s(e.y1);if("line"===h)return"M"+l+","+c+"L"+u+","+f;if("rect"===h)return"M"+l+","+c+"H"+u+"V"+f+"H"+l+"Z";var w=(l+u)/2,M=(c+f)/2,T=Math.abs(w-l),A=Math.abs(M-c),k="A"+T+","+A,S=w+T+","+M;return"M"+S+k+" 0 1,1 "+(w+","+(M-A))+k+" 0 0,1 "+S+"Z"}function w(t,e,r){return t.replace(p.segmentRE,(function(t){var n=0,a=t.charAt(0),i=p.paramIsX[a],o=p.paramIsY[a],s=p.numParams[a];return a+t.substr(1).replace(p.paramRE,(function(t){return n>=s||(i[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function M(t){y(t)&&(t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,v(t)))}e.exports={draw:v,drawOne:b,eraseActiveShape:function(t){if(!y(t))return;l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e=0&&f(m),r.attr("d",g(e)),A&&!h)&&(T=function(t,e){for(var r=0;r1&&(2!==t.length||"Z"!==t[1][0])&&(0===M&&(t[0][0]="M"),e[w]=t,y(),b())}}()}}function R(t,r){!function(t,r){if(e.length)for(var n=0;n0&&l0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,a=s.ensureSingle(t,"rect",f.railRectClass);a.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],a=0;a0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,v(e))}if(i.enter().append("g").classed(f.containerClassName,!0).style("cursor","ew-resize"),i.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(s)})).remove(),0!==r.length){var l=i.selectAll("g."+f.groupClassName).data(r,m);l.enter().append("g").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var u=0;u0||h<0){var m={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform",l(m[0],m[1]))}}}return I.call(N),D&&(E?I.on(".opacity",null):(A=0,k=!0,I.text(y).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),I.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==b?o.call("_guiRestyle",t,m,e,b):o.call("_guiRelayout",t,m,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(N)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),I.classed("js-placeholder",k),M}}},{"../../constants/alignment":520,"../../constants/interactions":526,"../../lib":549,"../../lib/svg_text_utils":573,"../../plots/plots":642,"../../registry":645,"../color":418,"../drawing":440,"@plotly/d3":18,"fast-isnumeric":96}],514:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,u=l("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}});e.exports=o(l("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:u,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:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":542,"../../plot_api/edit_types":579,"../../plot_api/plot_template":586,"../../plots/font_attributes":625,"../../plots/pad_attributes":641,"../color/attributes":417}],515:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],516:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":549,"../../plots/array_container_defaults":592,"./attributes":514,"./constants":515}],517:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),u=t("../../plot_api/plot_template").arrayEditor,c=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),h=t("./scrollbox");function d(t){return t._index}function p(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(a.attr(f.menuIndexAttrName,"-1"),v(t,n,a,i,e),s||m(t,n,a,i,e))}function v(t,e,r,n,a){var i=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=a._dims,u=a.active,c=a.buttons[u]||f.blankHeaderOpts,h={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},d={width:l.headerWidth,height:l.headerHeight};i.call(y,a,c,t).call(k,a,h,d),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,a.font).text(f.arrowSymbol[a.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+a.pad.l,y:l.headerHeight/2+f.textOffsetY+a.pad.t}),i.on("click",(function(){r.call(S,String(p(r,a)?-1:a._index)),m(t,e,r,n,a)})),i.on("mouseover",(function(){i.call(w)})),i.on("mouseout",(function(){i.call(M,a)})),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),d=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),d.transition().attr("opacity","0").remove()):d.remove();var p=0,v=0,m=o._dims,b=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(b?v=m.headerHeight+f.gapButtonHeader:p=m.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-f.gapButtonHeader+f.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(p=-f.gapButtonHeader+f.gapButton-m.openWidth);var x={x:m.lx+p+o.pad.l,y:m.ly+v+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},T={l:x.x+o.borderwidth,t:x.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(y,o,s,t).call(k,o,x),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(M,o),c.call(_,o)}))})),c.call(_,o),b?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=x.y-T.t):(T.w=x.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,i&&(c.size()?function(t,e,r,n,a,i){var o,s,l,u=a.direction,c="up"===u||"down"===u,h=a._dims,d=a.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(i)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,d);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,k=s.barWidth+2*s.barPad,S=p,E=v+m;E+k>u&&(E=u-k);var L=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),T?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:k}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=m>M,O=s.barWidth+2*s.barPad,R=s.barLength+2*s.barPad,D=p+g,P=v;D+O>l&&(D=l-O);var I=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);I.exit().on(".drag",null).remove(),I.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),C?(this.vbar=I.attr({rx:s.barRadius,ry:s.barRadius,x:D,y:P,width:O,height:R}),this._vbarYMin=P+R/2,this._vbarTranslateMax=M-R):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var N=this.id,z=c-.5,F=C?f+O+.5:f+.5,j=h-.5,B=T?d+k+.5:d+.5,U=o._topdefs.selectAll("#"+N).data(T||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",N).append("rect"),T||C?(this._clipRect=U.select("rect").attr({x:Math.floor(z),y:Math.floor(j),width:Math.ceil(F)-Math.floor(z),height:Math.ceil(B)-Math.floor(j)}),this.container.call(i.setClipUrl,N,this.gd),this.bg.attr({x:p,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||C){var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(H);var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(V),C&&this.vbar.on(".drag",null).call(V)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":549,"../color":418,"../drawing":440,"@plotly/d3":18}],520:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],521:[function(t,e,r){"use strict";e.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"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.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},{}],522:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format#locale_format"}},{}],523:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],524:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],525:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],526:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],527:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,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:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],528:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],529:[function(t,e,r){"use strict";r.version=t("./version").version,t("native-promise-only"),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;splotly-logomark"}}},{}],532:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],533:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return i(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function f(t,e,r,n,a,i,u){a=a||0,i=i||0;var c,f,h,d,p,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(c=0,f=o,h=s):r=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return f(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return f(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return f(t,e,r,n,a,i,1)}}},{"./mod":556}],534:[function(t,e,r){"use strict";var n=Array.isArray,a=ArrayBuffer,i=DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;aa.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&ta.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return a(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(c(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||u(r);"string"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!u(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i=n&&t<=a?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(e),m=t.charAt(0);!u||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=u&&"chinese"===e.substr(0,7),M=t.match(w?b:y);if(!M)return c;var T=M[1],A=M[3]||"1",k=Number(M[5]||1),S=Number(M[7]||0),E=Number(M[9]||0),L=Number(M[11]||0);if(u){if(2===T.length)return c;var C;T=Number(T);try{var O=v.getComponentMethod("calendars","getCal")(e);if(w){var R="i"===A.charAt(A.length-1);A=parseInt(A,10),C=O.newDate(T,O.toMonthIndex(T,A,R),k)}else C=O.newDate(T,Number(A),k)}catch(t){return c}return C?(C.toJD()-g)*f+S*h+E*d+L*p:c}T=2===T.length?(Number(T)+2e3-x)%100+x:Number(T),A-=1;var D=new Date(Date.UTC(2e3,A,k,S,E));return D.setUTCFullYear(T),D.getUTCMonth()!==A||D.getUTCDate()!==k?c:D.getTime()+L*p},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==c};var M=90*f,T=3*h,A=5*d;function k(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return c;e||(e=0);var i,o,s,u,y,b,x=Math.floor(10*l(t+.05,1)),w=Math.round(t-x/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=m("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e=n+f&&t<=a-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return k(i("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===c)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var L=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/d),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/p,60),L[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var C=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var a=Math.round(t/f)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+C);return u.setUTCMonth(u.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,u=_(e)&&v.getComponentMethod("calendars","getCal")(e),c=0;c1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,u){if(s(t,e,r,n,a,i,o,u))return 0;var c=r-t,f=n-e,h=o-a,d=u-i,p=c*c+f*f,g=h*h+d*d,v=Math.min(l(c,f,p,a-t,i-e),l(c,f,p,o-t,u-e),l(h,d,g,t-a,e-i),l(h,d,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(a=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var d=h(u);d;){if((u+=d+r)>f)return;d=h(u)}for(d=h(f);d;){if(u>(f-=d+r))return;d=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,d=s;f0?d=a:h=a,f++}return i}},{"./mod":556}],546:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,u=i(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=i(t);return e.length?e:u}function h(t){return n(t)?t:1}e.exports={formatColor:function(t,e,r){var n,a,s,d,p,g=t.color,v=l(g),m=l(e),y=o.extractOpts(t),b=[];if(n=void 0!==y.colorscale?o.makeColorScaleFuncFromTrace(t):f,a=v?function(t,e){return void 0===t[e]?u:i(n(t[e]))}:f,s=m?function(t,e){return void 0===t[e]?1:h(t[e])}:h,v||m)for(var x=0;x1?(r*t+r*e)/r:t+e,a=String(n).length;if(a>16){var i=String(e).length;if(a>=String(t).length+i){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},{}],549:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("d3-time-format").utcFormat,i=t("fast-isnumeric"),o=t("../constants/numerical"),s=o.FP_SAFE,l=o.BADNUM,u=e.exports={};u.nestedProperty=t("./nested_property"),u.keyedContainer=t("./keyed_container"),u.relativeAttr=t("./relative_attr"),u.isPlainObject=t("./is_plain_object"),u.toLogRange=t("./to_log_range"),u.relinkPrivateKeys=t("./relink_private");var c=t("./array");u.isTypedArray=c.isTypedArray,u.isArrayOrTypedArray=c.isArrayOrTypedArray,u.isArray1D=c.isArray1D,u.ensureArray=c.ensureArray,u.concat=c.concat,u.maxRowLength=c.maxRowLength,u.minRowLength=c.minRowLength;var f=t("./mod");u.mod=f.mod,u.modHalf=f.modHalf;var h=t("./coerce");u.valObjectMeta=h.valObjectMeta,u.coerce=h.coerce,u.coerce2=h.coerce2,u.coerceFont=h.coerceFont,u.coerceHoverinfo=h.coerceHoverinfo,u.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,u.validate=h.validate;var d=t("./dates");u.dateTime2ms=d.dateTime2ms,u.isDateTime=d.isDateTime,u.ms2DateTime=d.ms2DateTime,u.ms2DateTimeLocal=d.ms2DateTimeLocal,u.cleanDate=d.cleanDate,u.isJSDate=d.isJSDate,u.formatDate=d.formatDate,u.incrementMonth=d.incrementMonth,u.dateTick0=d.dateTick0,u.dfltRange=d.dfltRange,u.findExactDates=d.findExactDates,u.MIN_MS=d.MIN_MS,u.MAX_MS=d.MAX_MS;var p=t("./search");u.findBin=p.findBin,u.sorterAsc=p.sorterAsc,u.sorterDes=p.sorterDes,u.distinctVals=p.distinctVals,u.roundUp=p.roundUp,u.sort=p.sort,u.findIndexOfMin=p.findIndexOfMin;var g=t("./stats");u.aggNums=g.aggNums,u.len=g.len,u.mean=g.mean,u.median=g.median,u.midRange=g.midRange,u.variance=g.variance,u.stdev=g.stdev,u.interp=g.interp;var v=t("./matrix");u.init2dArray=v.init2dArray,u.transposeRagged=v.transposeRagged,u.dot=v.dot,u.translationMatrix=v.translationMatrix,u.rotationMatrix=v.rotationMatrix,u.rotationXYMatrix=v.rotationXYMatrix,u.apply3DTransform=v.apply3DTransform,u.apply2DTransform=v.apply2DTransform,u.apply2DTransform2=v.apply2DTransform2,u.convertCssMatrix=v.convertCssMatrix,u.inverseTransformMatrix=v.inverseTransformMatrix;var m=t("./angles");u.deg2rad=m.deg2rad,u.rad2deg=m.rad2deg,u.angleDelta=m.angleDelta,u.angleDist=m.angleDist,u.isFullCircle=m.isFullCircle,u.isAngleInsideSector=m.isAngleInsideSector,u.isPtInsideSector=m.isPtInsideSector,u.pathArc=m.pathArc,u.pathSector=m.pathSector,u.pathAnnulus=m.pathAnnulus;var y=t("./anchor_utils");u.isLeftAnchor=y.isLeftAnchor,u.isCenterAnchor=y.isCenterAnchor,u.isRightAnchor=y.isRightAnchor,u.isTopAnchor=y.isTopAnchor,u.isMiddleAnchor=y.isMiddleAnchor,u.isBottomAnchor=y.isBottomAnchor;var b=t("./geometry2d");u.segmentsIntersect=b.segmentsIntersect,u.segmentDistance=b.segmentDistance,u.getTextLocation=b.getTextLocation,u.clearLocationCache=b.clearLocationCache,u.getVisibleSegment=b.getVisibleSegment,u.findPointOnPath=b.findPointOnPath;var x=t("./extend");u.extendFlat=x.extendFlat,u.extendDeep=x.extendDeep,u.extendDeepAll=x.extendDeepAll,u.extendDeepNoArrays=x.extendDeepNoArrays;var _=t("./loggers");u.log=_.log,u.warn=_.warn,u.error=_.error;var w=t("./regex");u.counterRegex=w.counter;var M=t("./throttle");u.throttle=M.throttle,u.throttleDone=M.done,u.clearThrottle=M.clear;var T=t("./dom");function A(t){var e={};for(var r in t)for(var n=t[r],a=0;as?l:i(t)?Number(t):l:l},u.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(i(t)&&t>=0&&t%1==0)},u.noop=t("./noop"),u.identity=t("./identity"),u.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},u.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},u.simpleMap=function(t,e,r,n,a){for(var i=t.length,o=new Array(i),s=0;s=Math.pow(2,r)?a>10?(u.warn("randstr failed uniqueness"),l):t(e,r,n,(a||0)+1):l},u.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},u.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*u[n];c[r]=i}return c},u.syncOrAsync=function(t,e,r){var n;function a(){return u.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,u.promiseError);return r&&r(e)},u.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},u.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n0?e:0}))},u.fillArray=function(t,e,r,n){if(n=n||u.identity,u.isArrayOrTypedArray(t))for(var a=0;a1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},u.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var C=/^\w*$/;u.templateString=function(t,e){var r={};return t.replace(u.TEMPLATE_STRING_REGEX,(function(t,n){var a;return C.test(n)?a=e[n]:(r[n]=r[n]||u.nestedProperty(e,n).get,a=r[n]()),u.isValidTextValue(a)?a:""}))};var O={max:10,count:0,name:"hovertemplate"};u.hovertemplateString=function(){return P.apply(O,arguments)};var R={max:10,count:0,name:"texttemplate"};u.texttemplateString=function(){return P.apply(R,arguments)};var D=/^[:|\|]/;function P(t,e,r){var i=this,o=arguments;e||(e={});var s={};return t.replace(u.TEMPLATE_STRING_REGEX,(function(t,l,c){var f,h,d,p;for(d=3;d=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(a=10*a+s-48),!l||!u){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var I=2e9;u.seedPseudoRandom=function(){I=2e9},u.pseudoRandom=function(){var t=I;return I=(69069*I+1)%4294967296,Math.abs(I-t)<429496729?u.pseudoRandom():I/4294967296},u.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=u.extractOption(t,e,"htx","hovertext");if(u.isValidTextValue(a))return n(a);var i=u.extractOption(t,e,"tx","text");return u.isValidTextValue(i)?n(i):void 0},u.isValidTextValue=function(t){return t||0===t},u.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(c=1):c=0,u.strTranslate(a-c*(r+o),i-c*(n+s))+u.strScale(c)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},u.ensureUniformFontSize=function(t,e){var r=u.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},u.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)}},{"../constants/numerical":527,"./anchor_utils":532,"./angles":533,"./array":534,"./clean_number":535,"./clear_responsive":537,"./coerce":538,"./dates":539,"./dom":540,"./extend":542,"./filter_unique":543,"./filter_visible":544,"./geometry2d":545,"./identity":547,"./increment":548,"./is_plain_object":550,"./keyed_container":551,"./localize":552,"./loggers":553,"./make_trace_groups":554,"./matrix":555,"./mod":556,"./nested_property":557,"./noop":558,"./notifier":559,"./preserve_drawing_buffer":562,"./push_unique":563,"./regex":565,"./relative_attr":566,"./relink_private":567,"./search":568,"./stats":571,"./throttle":574,"./to_log_range":575,"@plotly/d3":18,"d3-time-format":87,"fast-isnumeric":96}],550:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},{}],551:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||"name",i=i||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},i.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},i.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},{"../plot_api/plot_config":584,"./notifier":559}],554:[function(t,e,r){"use strict";var n=t("@plotly/d3");e.exports=function(t,e,r){var a=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));a.exit().remove(),a.enter().append("g").attr("class",r),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each((function(t){t[0][i]=n.select(this)})),a}},{"@plotly/d3":18}],555:[function(t,e,r){"use strict";var n=t("gl-mat4");r.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},{}],557:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;function i(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;li||u===a||us)&&(!e||!l(t))}:function(t,e){var l=t[0],u=t[1];if(l===a||li||u===a||us)return!1;var c,f,h,d,p,g=r.length,v=r[0][0],m=r[0][1],y=0;for(c=1;cMath.max(f,v)||u>Math.max(h,m)))if(uc||Math.abs(n(o,h))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var u=l+1;u1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":527,"./matrix":555}],562:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("is-mobile");e.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;"undefined"!=typeof navigator&&(t=navigator.userAgent);t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]);return t}()))return!0;var r=a({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var i=e.split(" "),o=1;o-1;s--){var l=i[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}}return r}},{"fast-isnumeric":96,"is-mobile":280}],563:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;na.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,o,f=0,h=e.length,d=0,p=h>1?(e[h-1]-e[0])/(h-1):1;for(o=p>=0?r?s:l:r?c:u,t+=1e-9*p*(r?-1:1)*(p>=0?1:-1);f90&&a.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t,e){var n,a=(e||{}).unitMinDiff,i=t.slice();for(i.sort(r.sorterAsc),n=i.length-1;n>-1&&i[n]===o;n--);var s=1;a||(s=i[n]-i[0]||1);for(var l,u=s/(n||1)/1e4,c=[],f=0;f<=n;f++){var h=i[f],d=h-l;void 0===l?(c.push(h),l=h):d>u&&(s=Math.min(s,d),c.push(h),l=h)}return{vals:c,minDiff:s}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;a0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;ai.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":534,"fast-isnumeric":96}],572:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":69}],573:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../lib"),i=a.strTranslate,o=t("../constants/xmlns_namespaces"),s=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var u=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,k){var S=t.text(),L=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(u),C=n.select(t.node().parentNode);if(!C.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",C.selectAll("svg."+O).remove(),C.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(e&&e._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue((function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})}),(function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),(function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(f,"\\gt ")),MathJax.Hub.Typeset(l.node())}),(function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)}))}(L[2],o,(function(n,a,o){C.selectAll("svg."+O).remove(),C.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return R(),void e();var u=C.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});u.node().appendChild(s.node()),a&&a.node()&&s.node().insertBefore(a.node().cloneNode(!0),s.node().firstChild),s.attr({class:O,height:o.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",f=s.select("g");f.attr({fill:c,stroke:c});var h=l(f,"width"),d=l(f,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],g=-(r||l(t,"height"))/4;"y"===O[0]?(u.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+")"+i(-h/2,g-d/2)}),s.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===O[0]?s.attr({x:t.attr("x"),y:g-d/2}):"a"===O[0]&&0!==O.indexOf("atitle")?s.attr({x:0,y:g}):s.attr({x:p,y:+t.attr("y")+g-d/2}),k&&k.call(t,u),e(u)}))}))):R(),t}function R(){C.empty()||(O=t.attr("class")+"-math",C.select("svg."+O).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,i=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var i=1;i doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var L=e.split(m),C=0;C|>|>)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},d={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;r.BR_TAG_ALL=//gi;var x=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,M=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],a="...".length,i=t.split(m),o=[],s="",l=0,u=0;ua?o.push(c.substr(0,p-a)+"..."):o.push(c.substr(0,p));break}s=""}}return o.join("")};var k={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,(function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):k[e])||t}))}function L(t,e,r){var n,i,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=i()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=a.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}r.convertEntities=E,r.sanitizeHTML=function(t){t=t.replace(v," ");for(var e=document.createElement("p"),r=e,a=[],i=t.split(m),o=0;oi.ts+e?l():i.timer=setTimeout((function(){l(),i.timer=null}),e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],575:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":96}],576:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],577:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],578:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(D.x=1.02,D.xanchor="left"):D.x<-2&&(D.x=-.02,D.xanchor="right"),D.y>3?(D.y=1.02,D.yanchor="bottom"):D.y<-2&&(D.y=-.02,D.yanchor="top")),p(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=x(e);r;){if(r in t)return!0;r=x(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&i.warn("Full array edits are incompatible with other edits",f);var y=r[""][""];if(u(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",f,y),!0;e.set(y)}return!g&&(h(v,m),d(t),!0)}var b,x,_,w,M,T,A,k,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(m,f).get(),O=[],R=-1,D=L.length;for(b=0;bL.length-(A?0:1))i.warn("index out of range",f,_);else if(void 0!==T)M.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(T)?O.push(_):A?("add"===T&&(T={}),L.splice(_,0,T),C&&C.splice(_,0,{})):i.warn("Unrecognized full object edit value",f,_,T),-1===R&&(R=_);else for(x=0;x=0;b--)L.splice(O[b],1),C&&C.splice(O[b],1);if(L.length?E||e.set(L):e.set(null),g)return!1;if(h(v,m),p!==a){var P;if(-1===R)P=S;else{for(D=Math.max(L.length,D),P=[],b=0;b=R);b++)P.push(_);for(b=R;b=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function R(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),O(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&O(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var i in O(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,u,c,f,h=o.isPlainObject(n),d=[];for(var p in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var g=0;g-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=W(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[h.previousPromises];i.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(H(t,i,a)||h.supplyDefaults(t),i.legend&&s.push(w.doLegend),i.layoutstyle&&s.push(w.layoutStyles),i.axrange&&V(s,a.rangesAltered),i.ticks&&s.push(w.doTicksRelayout),i.modebar&&s.push(w.doModeBar),i.camera&&s.push(w.doCamera),i.colorbars&&s.push(w.doColorBars),s.push(k)),s.push(h.rehover,h.redrag),u.add(t,U,[t,a.undoit],U,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",a.eventData),t}))}function H(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var u in l._matchGroup)if(u!==i){var c=n[d.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}return!0}function V(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(y,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var Y=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,q=/^[xyz]axis[0-9]*\.autorange$/,G=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function W(t,e){var r,n,a,i=t.layout,l=t._fullLayout,u=l._guiEditing,h=z(l._preGUI,u),p=Object.keys(e),g=d.list(t),v=o.extendDeepAll({},e),m={};for(B(e),p=Object.keys(e),n=0;n0&&"string"!=typeof D.parts[I];)I--;var F=D.parts[I],j=D.parts[I-1]+"."+F,U=D.parts.slice(0,I).join("."),H=s(t.layout,U).get(),V=s(l,U).get(),W=D.get();if(void 0!==P){k[R]=P,S[R]="reverse"===F?P:N(W);var Z=f.getLayoutValObject(l,D.parts);if(Z&&Z.impliedEdits&&null!==P)for(var J in Z.impliedEdits)E(o.relativeAttr(R,J),Z.impliedEdits[J]);if(-1!==["width","height"].indexOf(R))if(P){E("autosize",null);var Q="height"===R?"width":"height";E(Q,l[Q])}else l[R]=t._initialAutoSize[R];else if("autosize"===R)E("width",P?null:l.width),E("height",P?null:l.height);else if(j.match(Y))O(j),s(l,U+"._inputRange").set(null);else if(j.match(q)){O(j),s(l,U+"._inputRange").set(null);var K=s(l,U).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else j.match(G)&&s(l,U+"._inputDomain").set(null);if("type"===F){L=H;var $="linear"===V.type&&"log"===P,tt="log"===V.type&&"linear"===P;if($||tt){if(L&&L.range)if(V.autorange)$&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];$?(et<=0&&rt<=0&&E(U+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+".range[0]",Math.log(et)/Math.LN10),E(U+".range[1]",Math.log(rt)/Math.LN10)):(E(U+".range[0]",Math.pow(10,et)),E(U+".range[1]",Math.pow(10,rt)))}else E(U+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[D.parts[0]]&&"radialaxis"===D.parts[1]&&delete l[D.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,V,P,E),c.getComponentMethod("images","convertCoords")(t,V,P,E)}else E(U+".autorange",!0),E(U+".range",null);s(l,U+"._inputRange").set(null)}else if(F.match(T)){var nt=s(l,R).get(),at=(P||{}).type;at&&"-"!==at||(at="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,at,E),c.getComponentMethod("images","convertCoords")(t,nt,at,E)}var it=x.containerArrayMatch(R);if(it){r=it.array,n=it.index;var ot=it.property,st=Z||{editType:"calc"};""!==n&&""===ot&&(x.isAddVal(P)?S[R]=null:x.isRemoveVal(P)?S[R]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),M.update(A,st),m[r]||(m[r]={});var lt=m[r][n];lt||(lt=m[r][n]={}),lt[ot]=P,delete e[R]}else"reverse"===F?(H.range?H.range.reverse():(E(U+".autorange",!0),H.range=[1,0]),V.autorange?A.calc=!0:A.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===R&&("lasso"===P||"select"===P)&&"lasso"!==W&&"select"!==W||l._has("gl2d")?A.plot=!0:Z?M.update(A,Z):A.calc=!0,D.set(P))}}for(r in m){x.applyContainerArrayChanges(t,h(i,r),m[r],A,h)||(A.plot=!0)}for(var ut in C){var ct=(L=d.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in A.calc=!0,ct)C[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(X(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:k,eventData:v}}function X(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Z(t,e,n,a){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var i=_.coerceTraceIndices(t,a),s=j(t,o.extendFlat({},e),i),l=s.flags,c=W(t,o.extendFlat({},n)),f=c.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,i,n);var d=[];f.layoutReplot?d.push(w.layoutReplot):l.fullReplot?d.push(r._doPlot):(d.push(h.previousPromises),H(t,f,c)||h.supplyDefaults(t),l.style&&d.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&d.push(w.doColorBars),f.legend&&d.push(w.doLegend),f.layoutstyle&&d.push(w.layoutStyles),f.axrange&&V(d,c.rangesAltered),f.ticks&&d.push(w.doTicksRelayout),f.modebar&&d.push(w.doModeBar),f.camera&&d.push(w.doCamera),d.push(k)),d.push(h.rehover,h.redrag),u.add(t,Z,[t,s.undoit,c.undoit,s.traces],Z,[t,s.redoit,c.redoit,s.traces]);var p=o.syncOrAsync(d,t);return p&&p.then||(p=Promise.resolve(t)),p.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:c.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var Q=[{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"}],K=[{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 $(t,e){for(var r=0;r1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(i,c){function f(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function d(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&f()};e()}var p,g,v=0;function m(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var y=[],b=null==e,x=Array.isArray(e);if(!b&&!x&&o.isPlainObject(e))y.push({type:"object",data:m(o.extendFlat({},e))});else if(b||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&TT)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(c[g]||p[g]||{}).name,m=e[n].name,y=c[v]||p[v];v&&m&&"number"==typeof m&&y&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(c[v]||p[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),p[g]={name:g},d.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}d.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(a=d[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;c[a.name="frame "+t._transitionData._counter++];);if(c[a.name]){for(i=0;i=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],d=[t,i];return u&&u.add(t,l,f,c,d),h.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],c=r.deleteTraces,f=t,h=[e,l],d=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!y(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function y(t){return t===Math.round(t)&&t>=0}function b(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry){if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a=l.length)return!1;a=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||i.type.dflt]||{})._module),!c)return!1;if(!(a=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return m(a,e,s)},r.getLayoutValObject=function(t,e){return m(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var u;for(r=0;r=a&&(r._input||{})._templateitemname;o&&(i=a);var s,l=e+"["+i+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var a=f();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":549,"../plots/attributes":593}],587:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),u=t("../components/drawing"),c=t("../components/titles"),f=t("../components/modebar"),h=t("../plots/cartesian/axes"),d=t("../constants/alignment"),p=t("../plots/cartesian/constraints"),g=p.enforce,v=p.clean,m=t("../plots/cartesian/autorange").doAutoRange;function y(t,e,r){for(var n=0;n=t[1]||a[1]<=t[0])&&(i[0]e[0]))return!0}return!1}function b(t){var e,a,s,c,p,g,v=t._fullLayout,m=v._size,b=m.p,_=h.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(u.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!v._has("cartesian"))return i.previousPromises(t);function M(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-b-n:e._offset+e._length+b+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+b+n:e._offset-b-n:m.l+m.w*(t.position||0)+n%1}for(e=0;e<_.length;e++){var T=(c=_[e])._anchorAxis;c._linepositions={},c._lw=u.crispRound(t,c.linewidth,1),c._mainLinePosition=M(c,T,c.side),c._mainMirrorPosition=c.mirror&&T?M(c,T,d.OPPOSITE_SIDE[c.side]):null}var A=[],k=[],S=[],E=1===l.opacity(v.paper_bgcolor)&&1===l.opacity(v.plot_bgcolor)&&v.paper_bgcolor===v.plot_bgcolor;for(a in v._plots)if((s=v._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,O=s.plotgroup;if(y(L,C,S)){var R=O.node(),D=s.bg=o.ensureSingle(O,"rect","bg");R.insertBefore(D.node(),R.childNodes[0]),k.push(a)}else O.select("rect.bg").remove(),S.push([L,C]),E||(A.push(a),k.push(a))}var P,I,N,z,F,j,B,U,H,V,Y,q,G,W=v._bgLayer.selectAll(".bg").data(A);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each((function(t){v._plots[t].bg=n.select(this)})),e=0;eM?c.push({code:"unused",traceType:y,templateCount:w,dataCount:M}):M>w&&c.push({code:"reused",traceType:y,templateCount:w,dataCount:M})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=g(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&c.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&v(i)&&t(i,o)}}({data:d,layout:h},""),c.length)return c.map(m)}},{"../lib":549,"../plots/attributes":593,"../plots/plots":642,"./plot_config":584,"./plot_schema":585,"./plot_template":586}],589:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../plots/plots"),o=t("../lib"),s=t("../snapshot/helpers"),l=t("../snapshot/tosvg"),u=t("../snapshot/svgtoimg"),c=t("../version").version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,h,d,p;function g(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},d=t.config||{},p={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),d=t._context,p=t._fullLayout||{}),!g("width")&&null!==e.width||!g("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!g("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var v={};function m(t,r){return o.coerce(e,v,f,t,r)}var y=m("format"),b=m("width"),x=m("height"),_=m("scale"),w=m("setBackground"),M=m("imageDataOnly"),T=document.createElement("div");T.style.position="absolute",T.style.left="-5000px",document.body.appendChild(T);var A=o.extendFlat({},h);b?A.width=b:null===e.width&&n(p.width)&&(A.width=p.width),x?A.height=x:null===e.height&&n(p.height)&&(A.height=p.height);var k=o.extendFlat({},d,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(T);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(T._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(T,y,_),n=T._fullLayout.width,f=T._fullLayout.height;function h(){a.purge(T),document.body.removeChild(T)}if("full-json"===y){var d=i.graphJson(T,!1,"keepdata","object",!0,!0);return d.version=c,d=JSON.stringify(d),h(),t(M?d:s.encodeJSON(d))}if(h(),"svg"===y)return t(M?r:s.encodeSVG(r));var p=document.createElement("canvas");p.id=o.randstr(),u({format:y,width:n,height:f,scale:_,canvas:p,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){a.newPlot(T,r,A,k).then(S).then(E).then(L).then((function(e){t(function(t){return M?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},{"../lib":549,"../plots/plots":642,"../snapshot/helpers":649,"../snapshot/svgtoimg":651,"../snapshot/tosvg":653,"../version":727,"./plot_api":583,"fast-isnumeric":96}],590:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,a,i,o){o=o||[];for(var f=Object.keys(t),h=0;hb.length&&a.push(p("unused",i,m.concat(b.length)));var A,k,S,E,L,C=b.length,O=Array.isArray(T);if(O&&(C=Math.min(C,T.length)),2===x.dimensions)for(k=0;kb[k].length&&a.push(p("unused",i,m.concat(k,b[k].length)));var R=b[k].length;for(A=0;A<(O?Math.min(R,T[k].length):R);A++)S=O?T[k][A]:T,E=y[k][A],L=b[k][A],n.validate(E,S)?L!==E&&L!==+E&&a.push(p("dynamic",i,m.concat(k,A),E,L)):a.push(p("value",i,m.concat(k,A),E))}else a.push(p("array",i,m.concat(k),y[k]));else for(k=0;k1&&d.push(p("object","layout"))),a.supplyDefaults(g);for(var v=g._fullData,m=r.length,y=0;y0&&Math.round(f)===f))return a;u=f}for(var h=e.calendar,d="start"===l,p="end"===l,g=t[r+"period0"],v=i(g,h)||0,m=[],y=a.length,b=0;bM;)w=o(w,-u,h);for(;w<=M;)w=o(w,u,h);_=o(w,-u,h)}else{for(w=v+(x=Math.round((M-v)/c))*c;w>M;)w-=c;for(;w<=M;)w+=c;_=w-c}m[b]=d?_:p?w:(_+w)/2}return m}},{"../../constants/numerical":527,"../../lib":549,"fast-isnumeric":96}],595:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],596:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").FP_SAFE,o=t("../../registry"),s=t("./axis_ids"),l=s.getFromId,u=s.isLinked;function c(t,e){var r,n,i=[],o=t._fullLayout,s=h(o,e,0),l=h(o,e,1),u=d(t,e),c=u.min,p=u.max;if(0===c.length||0===p.length)return a.simpleMap(e.range,e.r2l);var g=c[0].val,v=p[0].val;for(r=1;r0&&((M=E-s(b)-l(x))>L?T/M>C&&(_=b,w=x,C=T/M):T/E>C&&(_={val:b.val,nopad:1},w={val:x.val,nopad:1},C=T/E));if(g===v){var O=g-1,R=g+1;if(k)if(0===g)i=[0,1];else{var D=(g>0?p:c).reduce((function(t,e){return Math.max(t,l(e))}),0),P=g/(1-Math.min(.5,D/E));i=g>0?[0,P]:[P,0]}else i=S?[Math.max(0,O),Math.max(1,R)]:[O,R]}else k?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-f(e,b.val,x.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function f(t,e,r){var n=0;if(t.rangebreaks)for(var a=t.locateBreaks(e,r),i=0;i0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!M){if(h=1/0,d=-1/0,w)for(a=0;a0&&(h=o),o>d&&o-i&&(h=o),o>d&&o=R;a--)O(a);return{min:v,max:y,opts:r}},concatExtremes:d};function d(t,e,r){var n,a,i,o=e._id,s=t._fullData,u=t._fullLayout,c=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}a(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=i&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function m(t){return n(t)&&Math.abs(t)=e}},{"../../constants/numerical":527,"../../lib":549,"../../registry":645,"./axis_ids":600,"fast-isnumeric":96}],597:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=s.strTranslate,u=t("../../lib/svg_text_utils"),c=t("../../components/titles"),f=t("../../components/color"),h=t("../../components/drawing"),d=t("./layout_attributes"),p=t("./clean_ticks"),g=t("../../constants/numerical"),v=g.ONEMAXYEAR,m=g.ONEAVGYEAR,y=g.ONEMINYEAR,b=g.ONEMAXQUARTER,x=g.ONEAVGQUARTER,_=g.ONEMINQUARTER,w=g.ONEMAXMONTH,M=g.ONEAVGMONTH,T=g.ONEMINMONTH,A=g.ONEWEEK,k=g.ONEDAY,S=k/2,E=g.ONEHOUR,L=g.ONEMIN,C=g.ONESEC,O=g.MINUS_SIGN,R=g.BADNUM,D=t("../../constants/alignment"),P=D.MID_SHIFT,I=D.CAP_SHIFT,N=D.LINE_SPACING,z=D.OPPOSITE_SIDE,F=e.exports={};F.setConvert=t("./set_convert");var j=t("./axis_autotype"),B=t("./axis_ids"),U=B.idSort,H=B.isLinked;F.id2name=B.id2name,F.name2id=B.name2id,F.cleanId=B.cleanId,F.list=B.list,F.listIds=B.listIds,F.getFromId=B.getFromId,F.getFromTrace=B.getFromTrace;var V=t("./autorange");F.getAutoRange=V.getAutoRange,F.findExtremes=V.findExtremes;function Y(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}F.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return a||(a=l[0]||("string"==typeof i?i:i[0])),i||(i=a),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(i?"string"==typeof i?[i]:i:[]),dflt:a},s.coerce(t,e,c,u)},F.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},F.coercePosition=function(t,e,r,n,a,i){var o,l;if("range"!==F.getRefType(n))o=s.ensureNumber,l=r(a,i);else{var u=F.getFromId(e,n);l=r(a,i=u.fraction2r(i)),o=u.cleanPos}t[a]=o(l)},F.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:F.getFromId(e,r).cleanPos)(t)},F.redrawComponents=function(t,e){e=e||F.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),u={},c=0;c2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},F.saveRangeInitial=function(t,e){for(var r=F.list(t,"",!0),n=!1,a=0;a.3*h||c(n)||c(i))){var d=r.dtick/2;t+=t+d.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=F.tickIncrement(t,"M6","reverse")+1.5*k:i.exactMonths>.8?t=F.tickIncrement(t,"M1","reverse")+15.5*k:t-=S;var l=F.tickIncrement(t,r);if(l<=n)return l}return t}(y,t,m,u,i)),v=y,0;v<=c;)v=F.tickIncrement(v,m,!1,i);return{start:e.c2r(y,0,i),end:e.c2r(v,0,i),size:m,_dataSpan:c-u}},F.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if(t._dtickInit=t.dtick,t._tick0Init=t.tick0,"auto"===t.tickmode||!t.dtick){var n,i=t.nticks;i||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?1.2*(t.tickfont.size||12):15,i=t._length/n):(n="y"===t._id.charAt(0)?40:80,i=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(i*=2)),"array"===t.tickmode&&(i*=100),t._roughDTick=Math.abs(r[1]-r[0])/i,F.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(a(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),i=F.getTickFormat(t);if(i){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(e=E,o&&!n&&t.dticki&&f=o:d<=o;d=F.tickIncrement(d,t.dtick,l,t.calendar)){if(t.rangebreaks&&!l){if(d=c)break}if(L.length>g||d===C)break;C=d;var O=!1;f&&d!==(0|d)&&(O=!0),L.push({minor:O,value:d})}if(h&&function(t,e,r){for(var n=0;n0?(i=n-1,o=n):(i=n,o=n);var s,l=t[i].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=y?h=c>=y&&c<=v?c:m:r===x&&f>=_?h=c>=_&&c<=b?c:x:f>=T?h=c>=T&&c<=w?c:M:r===A&&f>=A?h=A:f>=k?h=k:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var d=a+h;if(e.rangebreaks&&h>0){for(var p=0,g=0;g<84;g++){var L=(g+.5)/84;e.maskBreaks(a*(1-L)+L*d)!==R&&p++}(h*=p/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=a+h/2)}}(L,t,t._definedDelta),t.rangebreaks){var D="y"===t._id.charAt(0),P=1;"auto"===t.tickmode&&(P=t.tickfont?t.tickfont.size:12);var I=NaN;for(p=L.length-1;p>-1;p--)if(L[p].drop)L.splice(p,1);else{L[p].value=wt(L[p].value,t);var N=t.c2p(L[p].value);(D?I>N-P:Ic||jc&&(z.periodX=c),j10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=k&&i<=10||e>=15*k)t._tickround="d";else if(e>=L&&i<=16||e>=E)t._tickround="M";else if(e>=C&&i<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(ot(t.exponentformat)&&!st(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function at(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}F.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var i=2*e;if(i>m)e/=m,r=n(10),t.dtick="M"+12*rt(e,r,Z);else if(i>M)e/=M,t.dtick="M"+rt(e,1,J);else if(i>k){t.dtick=rt(e,k,t._hasDayOfWeekBreaks?[1,2,7,14]:K);var o=F.getTickFormat(t),l="period"===t.ticklabelmode;l&&(t._rawTick0=t.tick0),/%[uVW]/.test(o)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),l&&(t._dowTick0=t.tick0)}else i>E?t.dtick=rt(e,E,J):i>L?t.dtick=rt(e,L,Q):i>C?t.dtick=rt(e,C,Q):(r=n(10),t.dtick=rt(e,r,Z))}else if("log"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var c=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/c,r=n(10),t.dtick="L"+rt(e,r,Z)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):_t(t)?(t.tick0=0,r=1,t.dtick=rt(e,r,et)):(t.tick0=0,r=n(10),t.dtick=rt(e,r,Z));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},F.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,i);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?tt:$,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},F.tickFirst=function(t,e){var r=t.r2l||Number,i=s.simpleMap(t.range,r,void 0,void 0,e),o=i[1] ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,i){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==c&&(o="L3",c="L");if(u||"L"===c)e.text=lt(Math.pow(10,l),t,i,n);else if(a(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),d=t.exponentformat;"power"===d||ot(d)&&st(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":O)+h+"",e.fontSize*=1.25):("e"===d||"E"===d)&&h>2?e.text="1"+d+(f>0?"+":O)+h:(e.text=lt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var p=String(e.text).charAt(0);"0"!==p&&"1"!==p||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):_t(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=lt(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=lt(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=O+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=lt(e.x,t,a,n)}(t,o,0,u,g),n||(t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},F.hoverLabelText=function(t,e,r){if(r!==R&&r!==e)return F.hoverLabelText(t,e)+" - "+F.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=F.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":O+a:a};var it=["f","p","n","\u03bc","m","","k","M","G","T"];function ot(t){return"SI"===t||"B"===t}function st(t){return t>14||t<-15}function lt(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=F.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};nt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,O);var d,p=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+d+"":"B"===l&&9===u?t+="B":ot(l)&&(t+=it[u/3+5]));return i?O+t:t}function ut(t,e){for(var r=[],n={},a=0;a1&&r=a.min&&t=0,i=c(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(a)))){r=n;break}break;case"log":for(e=0;e0?r.bottom-f:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1];if("x"===p){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?f-r.top:0,h),d.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?f-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-f:0,h),d.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var b=e._offset-r.top;b>0&&(n.yt=1,n.t=b)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==u._dfltTitle[p]&&(n[l]+=ht(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}Q&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,gt(e),n),i.autoMargin(t,vt(e),a),i.autoMargin(t,mt(e),s)})),r.skipTitle||Q&&"bottom"===e.side||Z.push((function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+ht(e);else{var s=-1!==(e.ticklabelposition||"").indexOf("inside");if("multicategory"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,"outside"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var u,f,d,p,g=F.getPxPosition(t,e);"x"===i?(f=e._offset+e._length/2,d="top"===e.side?g-r:g+r):(d=e._offset+e._length/2,f="right"===e.side?g+r:g-r,u={rotate:"-90",offset:0});if("multicategory"!==e.type){var v=e._selections[e._id+"tick"];if(p={selection:v,side:e.side},v&&v.node()&&v.node().parentNode){var m=h.getTranslate(v.node().parentNode);p.offsetLeft=m.x,p.offsetTop=m.y}e.title.hasOwnProperty("standoff")&&(p.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:p,transform:u,attributes:{x:f,y:d,"text-anchor":"middle"}})}(t,e)})),s.syncOrAsync(Z)}}function K(t){var r=d+(t||"tick");return w[r]||(w[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each((function(){var t=pt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)}))):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),w[r]}},F.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},F.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},F.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),a=r("left"),i=r("right"),o=r("bottom"),s=r("inside"),l=o||a||n||i;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;(o||n)&&(c+=h*I,f+=(t.linewidth||0)/2);(a||i)&&(c+=(t.linewidth||0)/2,f+=3);s&&"top"===u&&(f-=h*(1-I));(a||n)&&(c=-c);"bottom"!==u&&"right"!==u||(f=-f);return[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(ct(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(ct(e)))}},F.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},F.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",i=function(t){return-1!==n.indexOf(t)},o=i("top"),l=i("left"),u=i("right"),c=i("bottom")||l||o||u,f=i("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,d=0,p=0,g=h?t.ticklen:0;if(f?g*=-1:c&&(g=0),h&&(d+=g,r)){var v=s.deg2rad(r);d=g*Math.cos(v)+1,p=g*Math.sin(v)}t.showticklabels&&(h||t.showline)&&(d+=.2*t.tickfont.size);var m,y,b,x,_,w={labelStandoff:d+=(t.linewidth||1)/2*(f?-1:1),labelShift:p},M=0,T=t.side,A=t._id.charAt(0),k=t.tickangle;if("x"===A)x=(_=!f&&"bottom"===T||f&&"top"===T)?1:-1,f&&(x*=-1),m=p*x,y=e+d*x,b=_?1:-.2,90===Math.abs(k)&&(f?b+=P:b=-90===k&&"bottom"===T?I:90===k&&"top"===T?P:.5,M=P/2*(k/90)),w.xFn=function(t){return t.dx+m+M*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*b},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return a(e)&&0!==e&&180!==e?e*x<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(x=(_=!f&&"left"===T||f&&"right"===T)?1:-1,f&&(x*=-1),m=d,y=p*x,b=0,f||90!==Math.abs(k)||(b=-90===k&&"left"===T||90===k&&"right"===T?I:.5),f){var S=a(k)?+k:0;if(0!==S){var E=s.deg2rad(S);M=Math.abs(Math.sin(E))*I*x,b=0}}w.xFn=function(t){return t.dx+e-(m+t.fontSize*b)*x+M*t.fontSize},w.yFn=function(t){return t.dy+y+t.fontSize*P},w.anchorFn=function(t,e){return a(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},F.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.vals;"period"===e.ticklabelmode&&(a=a.slice()).shift();var i=r.layer.selectAll("path."+n).data(e.ticks?a:[],ft);i.exit().remove(),i.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(f.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),i.attr("transform",r.transFn)},F.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&F.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;so||a.lefto||a.top+(e.tickangle?0:t.fontSize/4)1)for(n=1;n2*o}(a,e))return"date";var v="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),a=0,o=0,s={},c=0;c2*a}(a,v)?"category":function(t,e){for(var r=t.length,n=0;n=2){var l,u,c="";if(2===o.length)for(l=0;l<2;l++)if(u=y(o[l])){c=p;break}var f=a("pattern",c);if(f===p)for(l=0;l<2;l++)(u=y(o[l]))&&(e.bounds[l]=o[l]=u-1);if(f)for(l=0;l<2;l++)switch(u=o[l],f){case p:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[l]=o[l]=u;break;case g:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[l]=o[l]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},r.isLinked=function(t,e){return i(e,t._axisMatchGroups)||i(e,t._axisConstraintGroups)}},{"../../registry":645,"./constants":603}],601:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a="array");var s,l=r("categoryorder",a);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?a.substr(n):i.substr(r))+o:a+i+t*e:o}function v(t,e){for(var r=e._size,n=r.h/r.w,a={},i=Object.keys(t),o=0;ou*b)||M)for(r=0;rD&&zO&&(O=z);h/=(O-C)/(2*R),C=l.l2r(C),O=l.l2r(O),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function F(t,e,r,n,a){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",l(r,n)).attr("d",a+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform",l(e,r)).attr("d","M0,0Z")}function B(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),U(t,e,a,i)}function U(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function H(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function V(t){O&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),O=!1)}function Y(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,C)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function q(t,e,r,n,a){for(var i,o,l,u,c=!1,f={},h={},d=(a||{}).xaHash,p=(a||{}).yaHash,g=0;g=0)a._fullLayout._deactivateShape(a);else{var i=a._fullLayout.clickmode;if(H(a),2!==t||vt||Vt(),gt)i.indexOf("select")>-1&&k(r,a,Z,J,e.id,Ct),i.indexOf("event")>-1&&h.click(a,r,e.id);else if(1===t&&vt){var s=p?R:O,l="s"===p||"w"===v?0:1,c=s._name+".range["+l+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,l),d="left",g="middle";if(s.fixedrange)return;p?(g="n"===p?"top":"bottom","right"===s.side&&(d="right")):"e"===v&&(d="right"),a._context.showAxisRangeEntryBoxes&&n.select(bt).call(u.makeEditable,{gd:a,immediate:!0,background:a._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&o.call("_guiRelayout",a,c,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,ht*e+xt)),a=Math.max(0,Math.min(tt,dt*r+_t)),i=Math.abs(n-xt),o=Math.abs(a-_t);function s(){kt="",wt.r=wt.l,wt.t=wt.b,Et.attr("d","M0,0Z")}if(wt.l=Math.min(xt,n),wt.r=Math.max(xt,n),wt.t=Math.min(_t,a),wt.b=Math.max(_t,a),et.isSubplotConstrained)i>C||o>C?(kt="xy",i/$>o/tt?(o=i*tt/$,_t>a?wt.t=_t-o:wt.b=_t+o):(i=o*$/tt,xt>n?wt.l=xt-i:wt.r=xt+i),Et.attr("d",Y(wt))):s();else if(rt.isSubplotConstrained)if(i>C||o>C){kt="xy";var l=Math.min(wt.l/$,(tt-wt.b)/tt),u=Math.max(wt.r/$,(tt-wt.t)/tt);wt.l=l*$,wt.r=u*$,wt.b=(1-l)*tt,wt.t=(1-u)*tt,Et.attr("d",Y(wt))}else s();else!at||o0){var c;if(rt.isSubplotConstrained||!nt&&1===at.length){for(c=0;cg[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":549,"fast-isnumeric":96}],615:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)],t.setScale()}},{"../../constants/alignment":520}],616:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/drawing").dashStyle,o=t("../../components/color"),s=t("../../components/fx"),l=t("../../components/fx/helpers").makeEventData,u=t("../../components/dragelement/helpers"),c=u.freeMode,f=u.rectMode,h=u.drawMode,d=u.openMode,p=u.selectMode,g=t("../../components/shapes/draw_newshape/display_outlines"),v=t("../../components/shapes/draw_newshape/helpers").handleEllipse,m=t("../../components/shapes/draw_newshape/newshapes"),y=t("../../lib"),b=t("../../lib/polygon"),x=t("../../lib/throttle"),_=t("./axis_ids").getFromId,w=t("../../lib/clear_gl_canvases"),M=t("../../plot_api/subroutines").redrawReglTraces,T=t("./constants"),A=T.MINSELECT,k=b.filter,S=b.tester,E=t("./handle_outline").clearSelect,L=t("./helpers"),C=L.p2r,O=L.axValue,R=L.getTransform;function D(t,e,r,n,a,i,o){var s,l,u,c,f,h,p,v,m,y=e._hoverdata,b=e._fullLayout.clickmode.indexOf("event")>-1,x=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){z(t,e,i);var _=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n0?function(t,e){var r,n,a,i=[];for(a=0;a0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(h=B(_))){for(o&&o.remove(),m=0;m=0&&n._fullLayout._deactivateShape(n),h(e)){var i=n._fullLayout._zoomlayer.selectAll(".select-outline-"+r.id);if(i&&n._fullLayout._drawing){var o=m(i,t);o&&a.call("_guiRelayout",n,{shapes:o}),n._fullLayout._drawing=!1}}r.selection={},r.selection.selectionDefs=t.selectionDefs=[],r.selection.mergedPolygons=t.mergedPolygons=[]}function j(t,e,r,n){var a,i,o,s=[],l=e.map((function(t){return t._id})),u=r.map((function(t){return t._id}));for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function U(t,e,r){var n,i,o,s;for(n=0;n=0)L._fullLayout._deactivateShape(L);else if(!_){var r=P.clickmode;x.done(gt).then((function(){if(x.clear(gt),2===t){for(ft.remove(),$=0;$-1&&D(e,L,a.xaxes,a.yaxes,a.subplot,a,ft),"event"===r&&L.emit("plotly_selected",void 0);s.click(L,e)})).catch(y.error)}},a.doneFn=function(){pt.remove(),x.done(gt).then((function(){x.clear(gt),a.gd.emit("plotly_selected",et),K&&a.selectionDefs&&(K.subtract=ct,a.selectionDefs.push(K),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,Q)),a.doneFnCompleted&&a.doneFnCompleted(vt)})).catch(y.error),_&&F(a)}},clearSelect:E,clearSelectionsCache:F,selectOnClick:D}},{"../../components/color":418,"../../components/dragelement/helpers":436,"../../components/drawing":440,"../../components/fx":458,"../../components/fx/helpers":454,"../../components/shapes/draw_newshape/display_outlines":503,"../../components/shapes/draw_newshape/helpers":504,"../../components/shapes/draw_newshape/newshapes":505,"../../lib":549,"../../lib/clear_gl_canvases":536,"../../lib/polygon":561,"../../lib/throttle":574,"../../plot_api/subroutines":587,"../../registry":645,"./axis_ids":600,"./constants":603,"./handle_outline":607,"./helpers":608,polybooljs:321}],617:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("d3-time-format").utcFormat,i=t("fast-isnumeric"),o=t("../../lib"),s=o.cleanNumber,l=o.ms2DateTime,u=o.dateTime2ms,c=o.ensureNumber,f=o.isArrayOrTypedArray,h=t("../../constants/numerical"),d=h.FP_SAFE,p=h.BADNUM,g=h.LOG_CLIP,v=h.ONEWEEK,m=h.ONEDAY,y=h.ONEHOUR,b=h.ONEMIN,x=h.ONESEC,_=t("./axis_ids"),w=t("./constants"),M=w.HOUR_PATTERN,T=w.WEEKDAY_PATTERN;function A(t){return Math.pow(10,t)}function k(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function S(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*g*Math.abs(n-a))}return p}function E(e,r,n,a){if((a||{}).msUTC&&i(e))return+e;var s=u(e,n||t.calendar);if(s===p){if(!i(e))return p;e=+e;var l=Math.floor(10*o.mod(e+.05,1)),c=Math.round(e-l/10);s=u(new Date(c))+l/10}return s}function L(e,r,n){return l(e,r,n||t.calendar)}function C(e){return t._categories[Math.round(e)]}function O(e){if(k(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function R(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=R(t);return void 0!==e?e:i(t)?+t:void 0}function P(t){return i(t)?+t:R(t)}function I(t,e,r){return n.round(r+e*t,2)}function N(t,e,r){return(t-r)/e}var z=function(e){return i(e)?I(e,t._m,t._b):p},F=function(e){return N(e,t._m,t._b)};if(t.rangebreaks){var j="y"===h;z=function(e){if(!i(e))return p;var r=t._rangebreaks.length;if(!r)return I(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var a=n?-1:1,o=a*e,s=0,l=0;lc)){s=o<(u+c)/2?l:l+1;break}s=l+1}var f=t._B[s]||0;return isFinite(f)?I(e,t._m2,f):0},F=function(e){var r=t._rangebreaks.length;if(!r)return N(e,t._m,t._b);for(var n=0,a=0;at._rangebreaks[a].pmax&&(n=a+1);return N(e,t._m2,t._B[n])}}t.c2l="log"===t.type?S:c,t.l2c="log"===t.type?A:c,t.l2p=z,t.p2l=F,t.c2p="log"===t.type?function(t,e){return z(S(t,e))}:z,t.p2c="log"===t.type?function(t){return A(F(t))}:F,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=s,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(s(e))},t.p2d=t.p2r=F,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return S(s(t),e)},t.r2d=t.r2c=function(t){return A(s(t))},t.d2c=t.r2l=s,t.c2d=t.l2r=c,t.c2r=S,t.l2d=A,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return A(F(t))},t.r2p=function(e){return t.l2p(s(e))},t.p2r=F,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=o.identity,t.d2c=t.r2c=t.d2l=t.r2l=E,t.c2d=t.c2r=t.l2d=t.l2r=L,t.d2p=t.r2p=function(e,r,n){return t.l2p(E(e,0,n))},t.p2d=t.p2r=function(t,e,r){return L(F(t),e,r)},t.cleanPos=function(e){return o.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=C,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=P(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=P,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return C(F(t))},t.r2p=t.d2p,t.p2r=F,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=C,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=R,t.l2r=t.c2r=c,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return C(F(t))},t.r2p=t.d2p,t.p2r=F,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,i,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[_.id2name(u)];s=s.concat(c._traceIndices)}var d=[[0,{}],[0,{}]],p=[];for(a=0;ad&&(s[n]=d),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else o.nestedProperty(t,e).set(a)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=_.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s,l,u=t.r2l(t[i][0],o),c=t.r2l(t[i][1],o),f="y"===h;if((f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks)&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(d=!d),d&&t._rangebreaks.reverse();var p=d?-1:1;for(t._m2=p*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;sa&&(a+=7,ia&&(a+=24,i=n&&i=n&&e=s.min&&(ts.max&&(s.max=n),a=!1)}a&&u.push({min:t,max:n})}};for(n=0;nr.duration?(!function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function v(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,u=a._length,c=l._length,f=!!e.xr1,h=!!e.yr1,d=[];if(f){var p=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),v=p[1]-p[0],m=g[1]-g[0];d[0]=(p[0]*(1-r)+r*g[0]-p[0])/(p[1]-p[0])*u,d[2]=u*(1-r+r*m/v),a.range[0]=a.l2r(p[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(p[1]*(1-r)+r*g[1])}else d[0]=0,d[2]=u;if(h){var y=i.simpleMap(e.yr0,l.r2l),b=i.simpleMap(e.yr1,l.r2l),x=y[1]-y[0],_=b[1]-b[0];d[1]=(y[1]*(1-r)+r*b[1]-y[1])/(y[0]-y[1])*c,d[3]=c*(1-r+r*_/x),l.range[0]=a.l2r(y[0]*(1-r)+r*b[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*b[1])}else d[1]=0,d[3]=c;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=f?u/d[2]:1,M=h?c/d[3]:1,T=f?d[0]:0,A=h?d[1]:0,k=f?d[0]/d[2]*u:0,S=h?d[1]/d[3]*c:0,E=a._offset-k,L=l._offset-S;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/M),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,M),o.setPointGroupScale(n.zoomScalePts,1/w,1/M),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/M)}s.redrawComponents(t)}},{"../../components/drawing":440,"../../lib":549,"../../registry":645,"./axes":597,"@plotly/d3":18}],622:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,s,l);if(!u)return;if("histogram"===u.type&&l==={v:"y",h:"x"}[u.orientation||"v"])return void(t.type="linear");var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};"box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0);if(h.autotypenumbers=t.autotypenumbers,o(u,l)){var d=i(u),p=[];for(r=0;r0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}}))}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(u)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(u){i(t,u,s.cache),s.check=function(){if(l){var e=i(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f.999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:"gl3d",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":418,"../../../lib":549,"../../../registry":645,"../../get_data":627,"../../subplot_defaults":643,"./axis_defaults":631,"./layout_attributes":634}],634:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],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"}}}},{"../../../lib":549,"../../../lib/extend":542,"../../domain":624,"./axis_attributes":630}],635:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){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]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":572}],636:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[i[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||a.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var d=n.calcTicks(c,{msUTC:!0}),p=0;p/g," "));l[u]=d,c.tickmode=f}}e.ticks=l;for(u=0;u<3;++u){o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(p=0;p<2;++p)e.bounds[p][u]=t.glplot.bounds[p][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;ir.deltaY?1.1:1/1.1,i=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*i.x,y:n*i.y,z:n*i.z})}a(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,a=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var i=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=a.width*i,l=a.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),x(e),e.glplot.axes.update(e.axesOptions);for(var u,c=Object.keys(e.traces),h=null,g=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(T.valueLabel=d.tickText(e._mockAxis,e._mockAxis.d2l(g.traceCoordinate[3]),"hover").text,E.push("value: "+T.valueLabel),g.textLabel&&E.push(g.textLabel),_=E.join("
")):_=g.textLabel;var L={x:g.traceCoordinate[0],y:g.traceCoordinate[1],z:g.traceCoordinate[2],data:w._input,fullData:w,curveNumber:w.index,pointNumber:M};p.appendArrayPointValue(L,w,M),t._module.eventData&&(L=w._module.eventData(L,g,w,{},M));var C={points:[L]};e.fullSceneLayout.hovermode&&p.loneHover({trace:w,x:(.5+.5*b[0]/b[3])*s,y:(.5-.5*b[1]/b[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:_,name:h.name,color:p.castHoverOption(w,M,"bgcolor")||h.color,borderColor:p.castHoverOption(w,M,"bordercolor"),fontFamily:p.castHoverOption(w,M,"font.family"),fontSize:p.castHoverOption(w,M,"font.size"),fontColor:p.castHoverOption(w,M,"font.color"),nameLength:p.castHoverOption(w,M,"namelength"),textAlign:p.castHoverOption(w,M,"align"),hovertemplate:f.castOption(w,M,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,T),eventData:[L]},{container:n,gd:r}),g.buttons&&g.distance<5?r.emit("plotly_click",C):r.emit("plotly_hover",C),u=C}else p.loneUnhover(n),r.emit("plotly_unhover",u);e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var T=["xaxis","yaxis","zaxis"];function A(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=T[a],o=i.charAt(0),s=n[i],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,d=0;d<(c||l.length);d++)if(f.isArrayOrTypedArray(l[d]))for(var p=0;pv[1][i])v[0][i]=-1,v[1][i]=1;else{var L=v[1][i]-v[0][i];v[0][i]-=L/32,v[1][i]+=L/32}if("reversed"===s.autorange){var C=v[0][i];v[0][i]=v[1][i],v[1][i]=C}}else{var O=s.range;v[0][i]=s.r2l(O[0]),v[1][i]=s.r2l(O[1])}v[0][i]===v[1][i]&&(v[0][i]-=1,v[1][i]+=1),m[i]=v[1][i]-v[0][i],this.glplot.setBounds(i,{min:v[0][i]*h[i],max:v[1][i]*h[i]})}var R=u.aspectmode;if("cube"===R)p=[1,1,1];else if("manual"===R){var D=u.aspectratio;p=[D.x,D.y,D.z]}else{if("auto"!==R&&"data"!==R)throw new Error("scene.js aspectRatio was not one of the enumerated types");var P=[1,1,1];for(i=0;i<3;++i){var I=y[l=(s=u[T[i]]).type];P[i]=Math.pow(I.acc,1/I.count)/h[i]}p="data"===R||Math.max.apply(null,P)/Math.min.apply(null,P)<=4?P:[1,1,1]}u.aspectratio.x=c.aspectratio.x=p[0],u.aspectratio.y=c.aspectratio.y=p[1],u.aspectratio.z=c.aspectratio.z=p[2],this.glplot.setAspectratio(u.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),this.viewInitial.aspectmode||(this.viewInitial.aspectmode=u.aspectmode);var N=u.domain||null,z=e._size||null;if(N&&z){var F=this.container.style;F.position="absolute",F.left=z.l+N.x[0]*z.w+"px",F.top=z.t+(1-N.y[1])*z.h+"px",F.width=z.w*(N.x[1]-N.x[0])+"px",F.height=z.h*(N.y[1]-N.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){var t;return this.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=t.camera;this.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio),"orthographic"===r.projection.type!==this.camera._ortho&&(this.glplot.redraw(),this.glplot.clearRGBA(),this.glplot.dispose(),this.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),u=this.isAspectChanged(t),h=l||u;if(h){var d={};if(l&&(e=this.getCamera(),n=(r=f.nestedProperty(t,this.id+".camera")).get(),d[this.id+".camera"]=n),u&&(a=this.glplot.getAspectratio(),o=(i=f.nestedProperty(t,this.id+".aspectratio")).get(),d[this.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,s._preGUI,d),l)r.set(e),f.nestedProperty(s,this.id+".camera").set(e);if(u)i.set(a),f.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return h},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var u=this.id+".camera.up",h={x:0,y:0,z:1},d={};d[u]=h;var p=n.layout;c.call("_storeDirectGUIEdit",p,a._preGUI,d),i.up=h,f.nestedProperty(p,u).set(h)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i),function(t,e,r){for(var n=0,a=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[i+l]=Math.min(s*t[i+l],255)}}(i,r,a);var o=document.createElement("canvas");o.width=r,o.height=a;var s,l=o.getContext("2d"),u=l.createImageData(r,a);switch(u.data.set(i),l.putImageData(u,0,0),t){case"jpeg":s=o.toDataURL("image/jpeg");break;case"webp":s=o.toDataURL("image/webp");break;default:s=o.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),s},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[T[t]];d.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},d.setConvert(this._mockAxis,t)},e.exports=_},{"../../components/fx":458,"../../lib":549,"../../lib/show_no_webgl_msg":570,"../../lib/str2rgbarray":572,"../../plots/cartesian/axes":597,"../../registry":645,"./layout/convert":632,"./layout/spikes":635,"./layout/tick_marks":636,"./project":637,"gl-plot3d":161,"has-passive-events":271,"webgl-context":381}],639:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){b.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},b.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=b.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var w=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function T(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,a={};function i(t){for(var r=!0,i=0;i1&&P.length>1){for(o.getComponentMethod("grid","sizeDefaults")(c,l),s=0;s15&&P.length>15&&0===l.shapes.length&&0===l.images.length,b.linkSubplots(h,l,f,i),b.cleanPlot(h,l,f,i);var j=!(!i._has||!i._has("gl2d")),B=!(!l._has||!l._has("gl2d")),U=!(!i._has||!i._has("cartesian"))||j,H=!(!l._has||!l._has("cartesian"))||B;U&&!H?i._bgLayer.remove():H&&!U&&(l._shouldCreateBgLayer=!0),i._zoomlayer&&!t._dragging&&d({_fullLayout:i}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a0){var f=1-2*s;n=Math.round(f*n),a=Math.round(f*a)}}var h=b.layoutAttributes.width.min,d=b.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-a)>1;(g||p)&&(p&&(r.width=n),g&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),b.sanitizeMargins(r)},b.supplyLayoutModuleDefaults=function(t,e,r,n){var a,i,s,l=o.componentsRegistry,c=e._basePlotModules,f=o.subplotsRegistry.cartesian;for(a in l)(s=l[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in c.length||c.push(f),e._has("cartesian")&&(o.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(u.subplotSort);for(i=0;i1&&(r.l/=g,r.r/=g)}if(f){var v=(r.t+r.b)/f;v>1&&(r.t/=v,r.b/=v)}var m=void 0!==r.xl?r.xl:r.x,y=void 0!==r.xr?r.xr:r.x,x=void 0!==r.yt?r.yt:r.y,_=void 0!==r.yb?r.yb:r.y;h[e]={l:{val:m,size:r.l+p},r:{val:y,size:r.r+p},b:{val:_,size:r.b+p},t:{val:x,size:r.t+p}},d[e]=1}else delete h[e],delete d[e];if(!n._replotting)return b.doAutoMargin(t)}},b.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),L(e);var a=e._size,s=e.margin,l=u.extendFlat({},a),c=s.l,f=s.r,d=s.t,p=s.b,g=e._pushmargin,v=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var m in g)v[m]||delete g[m];for(var y in g.base={l:{val:0,size:c},r:{val:1,size:f},t:{val:1,size:d},b:{val:0,size:p}},g){var x=g[y].l||{},_=g[y].b||{},w=x.val,M=x.size,T=_.val,A=_.size;for(var k in g){if(i(M)&&g[k].r){var S=g[k].r.val,E=g[k].r.size;if(S>w){var C=(M*S+(E-r)*w)/(S-w),O=(E*(1-w)+(M-r)*(1-S))/(S-w);C+O>c+f&&(c=C,f=O)}}if(i(A)&&g[k].t){var R=g[k].t.val,D=g[k].t.size;if(R>T){var P=(A*R+(D-n)*T)/(R-T),I=(D*(1-T)+(A-n)*(1-R))/(R-T);P+I>p+d&&(p=P,d=I)}}}}}var N=u.constrain(r-s.l-s.r,2,64),z=u.constrain(n-s.t-s.b,2,64),F=Math.max(0,r-N),j=Math.max(0,n-z);if(F){var B=(c+f)/F;B>1&&(c/=B,f/=B)}if(j){var U=(p+d)/j;U>1&&(p/=U,d/=U)}if(a.l=Math.round(c),a.r=Math.round(f),a.t=Math.round(d),a.b=Math.round(p),a.p=Math.round(s.pad),a.w=Math.round(r)-a.l-a.r,a.h=Math.round(n)-a.t-a.b,!e._replotting&&b.didMarginChange(l,a)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var H=3*(1+Object.keys(v).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return o.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var i=0,s=0;function l(){return i++,function(){s++,n||s!==i||function(e){if(!t._transitionData)return;(function(t){if(t)for(;t.length;)t.shift()})(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return o.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)}(a)}}r.runFn(l),setTimeout(l())}))}],i=u.syncOrAsync(a,t);return i&&i.then||(i=Promise.resolve()),i.then((function(){return t}))}b.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},b.graphJson=function(t,e,r,n,a,i){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&b.supplyDefaults(t);var o=a?t._fullData:t.data,s=a?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(u.isPlainObject(t)){var n,a={};return Object.keys(t).sort().forEach((function(i){if(-1===["_","["].indexOf(i.charAt(0)))if("function"!=typeof t[i]){if("keepdata"===r){if("src"===i.substr(i.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[i+"src"])&&n.indexOf(":")>0&&!u.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[i+"src"])&&n.indexOf(":")>0)return;a[i]=c(t[i],e)}else e&&(a[i]="_function")})),a}return Array.isArray(t)?t.map((function(t){return c(t,e)})):u.isTypedArray(t)?u.simpleMap(t,u.identity):u.isJSDate(t)?u.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=c(s),a)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=c(l)),i&&(f.config=c(t._context,!0)),"object"===n?f:JSON.stringify(f)},b.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;i--)if(s[i].enabled){r._indexToPoints=s[i]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:f,y:f}]),o[0].t||(o[0].t={}),o[0].trace=r,p[e]=o}}for(D(l,c,d),a=0;a0){for(var n=[],a=0;a-1&&(f[d[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(M),M=(M=M.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(u,"'"),a.isIE()&&(M=(M=(M=M.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),M}},{"../components/color":418,"../components/drawing":440,"../constants/xmlns_namespaces":528,"../lib":549,"@plotly/d3":18}],654:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={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"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=i[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":425,"../../lib/extend":542,"../../plots/attributes":593,"../../plots/template_attributes":644,"../mesh3d/attributes":666}],655:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,u=0;u=0;o--)(s=((f[[(r=(i=h[o])[0])-1,a=i[1]]]||g)[2]+(f[[r+1,a]]||g)[2]+(f[[r,a-1]]||g)[2]+(f[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(i in l)f[i]=l[i],c.push(l[i])}return c.sort((function(t,e){return e[2]-t[2]}))}},{"../../lib":549}],660:[function(t,e,r){"use strict";var n=t("../../lib"),a=[[-1,0],[1,0],[0,-1],[0,1]];function i(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o,s,l,u,c,f,h,d,p,g,v,m=0;for(s=0;sg&&(m=Math.max(m,Math.abs(t[i][o]-p)/(v-g))))}return m}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":549}],661:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var u=e.exports=l(s({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:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),showlegend:s({},o.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/colorscale/attributes":425,"../../lib/extend":542,"../../plot_api/edit_types":579,"../../plots/attributes":593,"../../plots/template_attributes":644,"../mesh3d/attributes":666}],662:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../streamtube/calc").processGrid,i=t("../streamtube/calc").filter;e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=i(e.x,e._len),e._y=i(e.y,e._len),e._z=i(e.z,e._len),e._value=i(e.value,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n-1}function N(t,e){return null===t?e:t}function z(e,r,n){C();var a,i,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a-1?n[d]:L(p,g,m);h[d]=b>-1?b:R(p,g,m,N(e,y))}a=h[0],i=h[1],o=h[2],t._meshI.push(a),t._meshJ.push(i),t._meshK.push(o),++v}}function F(t,e,r,n){var a=t[3];an&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function j(t,e,r){return t>=e&&t<=r}function B(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t._x[a],t._y[a],t._z[a],t._value[a]])}return r}function H(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[j(e[0][3],n,a),j(e[1][3],n,a),j(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return B(e[0][3])&&B(e[1][3])&&B(e[2][3])?(z(t,e,r),!0):i<3&&H(t,e,r,S,E,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var c=e[i[0]],f=e[i[1]],h=e[i[2]],d=F(h,c,n,a),p=F(h,f,n,a);o=l(t,[p,d,c],[-1,-1,r[i[0]]])||o,o=l(t,[c,f,p],[r[i[0]],r[i[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var c=e[i[0]],f=e[i[1]],h=e[i[2]],d=F(f,c,n,a),p=F(h,c,n,a);o=l(t,[p,d,c],[-1,-1,r[i[0]]])||o,u=!0}})),o}function V(t,e,r,n){var a=!1,i=U(e),o=[j(i[0][3],r,n),j(i[1][3],r,n),j(i[2][3],r,n),j(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return g&&(a=function(t,e,r){var n=function(n,a,i){z(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=i[l[0]],c=i[l[1]],f=i[l[2]],h=i[l[3]];if(g)a=z(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||a;else{var d=F(h,u,r,n),p=F(h,c,r,n),v=F(h,f,r,n);a=z(null,[d,p,v],[-1,-1,-1])||a}s=!0}})),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=i[l[0]],c=i[l[1]],f=i[l[2]],h=i[l[3]],d=F(f,u,r,n),p=F(f,c,r,n),v=F(h,c,r,n),m=F(h,u,r,n);g?(a=z(t,[u,m,d],[e[l[0]],-1,-1])||a,a=z(t,[c,p,v],[e[l[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){z(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[d,p,v,m],[-1,-1,-1,-1])||a,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=i[l[0]],c=i[l[1]],f=i[l[2]],h=i[l[3]],d=F(c,u,r,n),p=F(f,u,r,n),v=F(h,u,r,n);g?(a=z(t,[u,d,p],[e[l[0]],-1,-1])||a,a=z(t,[u,p,v],[e[l[0]],-1,-1])||a,a=z(t,[u,v,d],[e[l[0]],-1,-1])||a):a=z(null,[d,p,v],[-1,-1,-1])||a,s=!0}})),a)}function Y(t,e,r,n,a,i,o,s,l,u,c){var f=!1;return p&&(I(t,"A")&&(f=V(null,[e,r,n,i],u,c)||f),I(t,"B")&&(f=V(null,[r,n,a,l],u,c)||f),I(t,"C")&&(f=V(null,[r,i,o,l],u,c)||f),I(t,"D")&&(f=V(null,[n,i,s,l],u,c)||f),I(t,"E")&&(f=V(null,[r,n,i,l],u,c)||f)),g&&(f=V(t,[r,n,i,l],u,c)||f),f}function q(t,e,r,n,a,i,o,s){return[!0===s[0]||H(t,U([e,r,n]),[e,r,n],i,o),!0===s[1]||H(t,U([n,a,e]),[n,a,e],i,o)]}function G(t,e,r,n,a,i,o,s,l){return s?q(t,e,r,a,n,i,o,l):q(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,u,c,f=!1,h=function(){f=H(t,[s,l,u],[-1,-1,-1],a,i)||f,f=H(t,[u,c,s],[-1,-1,-1],a,i)||f},d=o[0],p=o[1],g=o[2];return d&&(s=D(U([T(e,r-0,n-0)])[0],U([T(e-1,r-0,n-0)])[0],d),l=D(U([T(e,r-0,n-1)])[0],U([T(e-1,r-0,n-1)])[0],d),u=D(U([T(e,r-1,n-1)])[0],U([T(e-1,r-1,n-1)])[0],d),c=D(U([T(e,r-1,n-0)])[0],U([T(e-1,r-1,n-0)])[0],d),h()),p&&(s=D(U([T(e-0,r,n-0)])[0],U([T(e-0,r-1,n-0)])[0],p),l=D(U([T(e-0,r,n-1)])[0],U([T(e-0,r-1,n-1)])[0],p),u=D(U([T(e-1,r,n-1)])[0],U([T(e-1,r-1,n-1)])[0],p),c=D(U([T(e-1,r,n-0)])[0],U([T(e-1,r-1,n-0)])[0],p),h()),g&&(s=D(U([T(e-0,r-0,n)])[0],U([T(e-0,r-0,n-1)])[0],g),l=D(U([T(e-0,r-1,n)])[0],U([T(e-0,r-1,n-1)])[0],g),u=D(U([T(e-1,r-1,n)])[0],U([T(e-1,r-1,n-1)])[0],g),c=D(U([T(e-1,r-0,n)])[0],U([T(e-1,r-0,n-1)])[0],g),h()),f}function X(t,e,r,n,a,i,o,s,l,u,c,f){var h=t;return f?(p&&"even"===t&&(h=null),Y(h,e,r,n,a,i,o,s,l,u,c)):(p&&"odd"===t&&(h=null),Y(h,l,s,o,i,a,n,r,e,u,c))}function Z(t,e,r,n,a){for(var i=[],o=0,s=0;sMath.abs(p-k)?[A,p]:[p,k];$(e,M[0],M[1])}}var L=[[Math.min(S,k),Math.max(S,k)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(e){for(var r=[],n=0;n0&&(c.push(d.id),"x"===e?f.push([d.distRatio,0,0]):"y"===e?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=nt(1,"x"===e?x-1:"y"===e?_-1:w-1);c.length>0&&(r[a]="x"===e?tt(null,c,i,o,f,r[a]):"y"===e?et(null,c,i,o,f,r[a]):rt(null,c,i,o,f,r[a]),a++),u.length>0&&(r[a]="x"===e?Z(null,u,i,o,r[a]):"y"===e?J(null,u,i,o,r[a]):Q(null,u,i,o,r[a]),a++)}var p=t.caps[e];p.show&&p.fill&&(P(p.fill),r[a]="x"===e?Z(null,[0,x-1],i,o,r[a]):"y"===e?J(null,[0,_-1],i,o,r[a]):Q(null,[0,w-1],i,o,r[a]),a++)}})),0===v&&O(),t._meshX=n,t._meshY=a,t._meshZ=i,t._meshIntensity=o,t._Xs=m,t._Ys=y,t._Zs=b}(),t}e.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new u(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":430,"../../lib/gl_format_color":546,"../../lib/str2rgbarray":572,"../../plots/gl3d/zip3":639,"gl-mesh3d":157}],664:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=i("x"),c=i("y"),f=i("z"),h=i("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach((function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))})),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("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(t){i(t)})),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,r,a,(function(r,a){return n.coerce(t,e,i,r,a)}))},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":428,"../../lib":549,"../../registry":645,"./attributes":661}],665:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","showLegend"],meta:{}}},{"../../plots/gl3d":628,"./attributes":661,"./calc":662,"./convert":663,"./defaults":664}],666:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({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"}),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},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({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"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"}),showlegend:s({},o.showlegend,{dflt:!1})})},{"../../components/colorscale/attributes":425,"../../lib/extend":542,"../../plots/attributes":593,"../../plots/template_attributes":644,"../surface/attributes":713}],667:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":426}],668:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,c=t("../../plots/gl3d/zip3");function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(p(r.xaxis,t.x,e.dataScale[0],t.xcalendar),p(r.yaxis,t.y,e.dataScale[1],t.ycalendar),p(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!v(t.i,f)||!v(t.j,f)||!v(t.k,f))return;n=c(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?i(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;ol&&E[m].gap;)m--;for(b=E[m].s,g=E.length-1;g>m;g--)E[g].s=b;for(;lk[c]&&c=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],681:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),u=t("./period_defaults"),c=t("./stack_defaults"),f=t("./marker_defaults"),h=t("./line_defaults"),d=t("./line_shape_defaults"),p=t("./text_defaults"),g=t("./fillcolor_defaults");e.exports=function(t,e,r,v){function m(r,a){return n.coerce(t,e,i,r,a)}var y=l(t,e,v,m);if(y||(e.visible=!1),e.visible){u(t,e,v,m);var b=c(t,e,v,m),x=!b&&yq!=(z=R[C][1])>=q&&(P=R[C-1][0],I=R[C][0],z-N&&(D=P+(I-P)*(q-N)/(z-N),U=Math.min(U,D),H=Math.max(H,D)));U=Math.max(U,0),H=Math.min(H,h._length);var G=s.defaultLine;return s.opacity(f.fillcolor)?G=f.fillcolor:s.opacity((f.line||{}).color)&&(G=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:U,x1:H,y0:q,y1:q,color:G,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":418,"../../components/fx":458,"../../lib":549,"../../registry":645,"./get_trace_color":684}],686:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":610,"./arrays_to_calcdata":673,"./attributes":674,"./calc":675,"./cross_trace_calc":679,"./cross_trace_defaults":680,"./defaults":681,"./format_labels":683,"./hover":685,"./marker_colorbar":692,"./plot":695,"./select":696,"./style":698,"./subtypes":699}],687:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var u=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":428,"../../components/colorscale/helpers":429,"../../lib":549}],688:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),u=l.segmentsIntersect,c=l.constrain,f=t("./constants");e.exports=function(t,e){var r,n,i,h,d,p,g,v,m,y,b,x,_,w,M,T,A,k,S=e.xaxis,E=e.yaxis,L="log"===S.type,C="log"===E.type,O=S._length,R=E._length,D=e.connectGaps,P=e.baseTolerance,I=e.shape,N="linear"===I,z=e.fill&&"none"!==e.fill,F=[],j=f.minTolerance,B=t.length,U=new Array(B),H=0;function V(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(L&&(i=S.c2p(n.x,!0)),i===a)return!1;C&&l===a&&(i*=Math.abs(S._m*R*(S._m>0?o:s)/(E._m*O*(E._m>0?o:s)))),i*=1e3}if(l===a){if(C&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function Y(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,u=a*o+i*s;if(u>0&&urt||t[1]at)return[c(t[0],et,rt),c(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var u=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);u&&((i&&o?u>0==i[t]>o[t]?i:o:i||o)[t]+=u);return s}}function ut(t){var e=t[0],r=t[1],n=e===U[H-1][0],a=r===U[H-1][1];if(!n||!a)if(H>1){var i=e===U[H-2][0],o=r===U[H-2][1];n&&(e===et||e===rt)&&i?o?H--:U[H-1]=t:a&&(r===nt||r===at)&&o?i?H--:U[H-1]=t:U[H++]=t}else U[H++]=t}function ct(t){U[H-1][0]!==t[0]&&U[H-1][1]!==t[1]&&ut([Z,J]),ut(t),Q=null,Z=J=0}function ft(t){if(A=t[0]/O,k=t[1]/R,W=t[0]rt?rt:0,X=t[1]at?at:0,W||X){if(H)if(Q){var e=$(Q,t);e.length>1&&(ct(e[0]),U[H++]=e[1])}else K=$(U[H-1],t)[0],U[H++]=K;else U[H++]=[W||t[0],X||t[1]];var r=U[H-1];W&&X&&(r[0]!==W||r[1]!==X)?(Q&&(Z!==W&&J!==X?ut(Z&&J?(n=Q,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ut([Z,J])),ut([W,X])):Z-W&&J-X&&ut([W||Z,X||J]),Q=t,Z=W,J=X}else Q&&ct($(Q,t)[0]),U[H++]=t;var n,a,i,o}for("linear"===I||"spline"===I?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=u(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&G(o,t)q(p,ht))break;i=p,(_=m[0]*v[0]+m[1]*v[1])>b?(b=_,h=p,g=!1):_=t.length||!p)break;ft(p),n=p}}else ft(h)}Q&&ut([Z||Q[0],J||Q[1]]),F.push(U.slice(0,H))}return F}},{"../../constants/numerical":527,"../../lib":549,"./constants":678}],689:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],690:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(i=0;i=0?l=d:(l=d=h,h++),l0?Math.max(e,a):0}}},{"fast-isnumeric":96}],692:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],693:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;(u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":418,"../../components/colorscale/defaults":428,"../../components/colorscale/helpers":429,"./subtypes":699}],694:[function(t,e,r){"use strict";var n=t("../../lib").dateTick0,a=t("../../constants/numerical").ONEWEEK;function i(t,e){return n(e,t%a==0?1:0)}e.exports=function(t,e,r,n,a){if(a||(a={x:!0,y:!0}),a.x){var o=n("xperiod");o&&(n("xperiod0",i(o,e.xcalendar)),n("xperiodalignment"))}if(a.y){var s=n("yperiod");s&&(n("yperiod0",i(s,e.ycalendar)),n("yperiodalignment"))}}},{"../../constants/numerical":527,"../../lib":549}],695:[function(t,e,r){"use strict";var n=t("@plotly/d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),u=t("./subtypes"),c=t("./line_points"),f=t("./link_traces"),h=t("../../lib/polygon").tester;function d(t,e,r,f,d,p,g){var v;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,c=n.extent(i.simpleMap(s.range,s.r2c)),f=n.extent(i.simpleMap(l.range,l.r2c)),h=a[0].trace;if(!u.hasMarkers(h))return;var d=h.marker.maxdisplayed;if(0===d)return;var p=a.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),g=Math.ceil(p.length/d),v=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return m?t.transition():t}var b=r.xaxis,x=r.yaxis,_=f[0].trace,w=_.line,M=n.select(p),T=o(M,"g","errorbars"),A=o(M,"g","lines"),k=o(M,"g","points"),S=o(M,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var E,L;y(M).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=M;var O,R,D="",P=[],I=_._prevtrace;I&&(D=I._prevRevpath||"",L=I._nextFill,P=I._polygons);var N,z,F,j,B,U,H,V="",Y="",q=[],G=i.noop;if(E=_._ownFill,u.hasLines(_)||"none"!==_.fill){for(L&&L.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(N=l.steps(w.shape),z=l.steps(w.shape.split("").reverse().join(""))):N=z="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},F=function(t){return z(t.reverse())},q=c(f,{xaxis:b,yaxis:x,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),H=_._polygons=new Array(q.length),v=0;v1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",O).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",O),l.singleLineStyle(f,a)}}}}}var W=A.selectAll(".js-line").data(q);y(W.exit()).style("opacity",0).remove(),W.each(G(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(G(!0)),l.setClipUrl(W,r.layerClipId,t),q.length?(E?(E.datum(f),j&&U&&(C?("y"===C?j[1]=U[1]=x.c2p(0,!0):"x"===C&&(j[0]=U[0]=b.c2p(0,!0)),y(E).attr("d","M"+U+"L"+j+"L"+V.substr(1)).call(l.singleFillStyle)):y(E).attr("d",V+"Z").call(l.singleFillStyle))):L&&("tonext"===_.fill.substr(0,6)&&V&&D?("tonext"===_.fill?y(L).attr("d",V+"Z"+D+"Z").call(l.singleFillStyle):y(L).attr("d",V+"L"+D.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(P)):(Z(L),_._polygons=null)),_._prevRevpath=Y,_._prevPolygons=H):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),k.datum(f),S.datum(f),function(e,a,i){var o,c=i[0].trace,f=u.hasMarkers(c),h=u.hasText(c),d=tt(c),p=et,g=et;if(f||h){var v=s,_=c.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[b._id+x._id][_].stackgaps;c.marker.maxdisplayed||c._needsCull?v=w?Q:J:_&&!w&&(v=K),f&&(p=v),h&&(g=v)}var M,T=(o=e.selectAll("path.point").data(p,d)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,c,t).call(l.translatePoints,b,x).style("opacity",0).transition().style("opacity",1),o.order(),f&&(M=l.makePointStyleFns(c)),o.each((function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,b,x)?(l.singlePointStyle(e,i,c,M,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,b,x,c.xcalendar,c.ycalendar),c.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()})),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,d)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,b,x)?r.layerClipId&&l.hideOutsideRangePoint(t,e,b,x,c.xcalendar,c.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,c,t).each((function(t){var e=b.c2p(t.x),r=x.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){y(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(k,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(k,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function Q(t){return t.filter((function(t){return t.vis}))}function K(t){return t.filter((function(t){return!t.gap}))}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,u){var c,h,p=!i,g=!!i&&i.duration>0,v=f(t,e,r);((c=a.selectAll("g.trace").data(v,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,u=[];i._ownfill&&u.push("_ownFill"),i._nexttrace&&u.push("_nextFill");var c=a.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){i[t]=null})).remove(),c.order().each((function(t){i[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),g)?(u&&(h=u()),n.transition().duration(i.duration).ease(i.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){a.selectAll("g.trace").each((function(r,n){d(t,n,e,r,v,this,i)}))}))):c.each((function(r,n){d(t,n,e,r,v,this,i)}));p&&c.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":440,"../../lib":549,"../../lib/polygon":561,"../../registry":645,"./line_points":688,"./link_traces":690,"./subtypes":699,"@plotly/d3":18}],696:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=a.c2l(c);a._lowerLogErrorBound||(a._lowerLogErrorBound=h),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function x(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return d[t]}function M(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",h||d);for(var p=["x","y","z"],g=0;g<3;++g){var v="projection."+p[g];f(v+".show")&&(f(v+".opacity"),f(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,h||d||r,{axis:"z"}),m(t,e,h||d||r,{axis:"y",inherit:"z"}),m(t,e,h||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":549,"../../registry":645,"../scatter/line_defaults":687,"../scatter/marker_defaults":693,"../scatter/subtypes":699,"../scatter/text_defaults":700,"./attributes":702}],707:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":525,"../../plots/gl3d":628,"./attributes":702,"./calc":703,"./convert":705,"./defaults":706}],708:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={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"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),showlegend:s({},o.showlegend,{dflt:!1})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach((function(t){l[t]=i[t]})),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":425,"../../lib/extend":542,"../../plots/attributes":593,"../../plots/template_attributes":644,"../mesh3d/attributes":666}],709:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/calc");function i(t){var e,r,a,i,s,l,u,c,f,h,d,p,g=t._x,v=t._y,m=t._z,y=t._len,b=-1/0,x=1/0,_=-1/0,w=1/0,M=-1/0,T=1/0,A="";for(y&&(u=g[0],f=v[0],d=m[0]),y>1&&(c=g[y-1],h=v[y-1],p=m[y-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(d>p?"-":"+")+"z");var L=function(){y=0,k=[],S=[],E=[]};(!y||y2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function d(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function p(t,e){var r=t.fullSceneLayout,a=t.dataScale,c=e._len,f={};function p(t,e){var n=r[e],o=a[u[e]];return i.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(p(e._u,"xaxis"),p(e._v,"yaxis"),p(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var g=p(e._Xs,"xaxis"),v=p(e._Ys,"yaxis"),m=p(e._Zs,"zaxis");if(f.meshgrid=[g,v,m],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(p(e._startsX,"xaxis"),p(e._startsY,"yaxis"),p(e._startsZ,"zaxis"));else{for(var y=v[0],b=h(g),x=h(m),_=new Array(b.length*x.length),w=0,M=0;M0){r=p[n];break}return r}function y(t,e){if(!(t<1||e<1)){for(var r=v(t),n=v(e),a=1,i=0;i_;)r--,r/=m(r),++r1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],i=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+i+1,c=a(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];ei&&(this.minValues[e]=i),this.maxValues[e]a&&(a=c,o=u)}}return a?i(o):s};case"rms":return function(t,e){for(var r=0,a=0,o=0;o":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e=s[0]&&es[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return es[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),h),b={},x={},_=0;p?(v=function(t){b[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},m=function(t,e){var r=b[t.astr][e];t.get()[e]=r}):(v=function(t){b[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=b[t.astr][e];t.get().push(r)}),T(v);for(var w=o(e.transforms,r),M=0;M1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(i=0;i

-

Bed Visualizer Settings

+

Bed Visualizer Settings Version {{ plugin_bedlevelvisualizer_plugin_version }}

-
+
- +
- Save Mesh + Flip X-Axis
+ Flip Y-Axis
+ Remove Row Labels
- Flip X Axis + Use Center Origin
+ Use Relative Z Offsets
+ Ignore Correction Matrix
- Use Center Origin + +
+ + degs +
+
- Remove Row Labels -
-
- Flip Y Axis + Save Mesh
- Use Relative Z Offsets + Webcam while processing
-
-
- -
+ +
secs
+
+
+ +
+
- -
- - degs + +
+
- +
- +
-
-
- +
- +
-
-
+
+
- +
- - Array of percentage/color pairs, ie [[0, "blue"],[1, "red"]] will create a gradient between blue to red. Percentage values are in deccimal format and colors can be HTML hex values or color names surrounded by double quotes. You can also use a named color scale from here. Clear this setting to load the default option and click Save below. + + Array of percentage/color pairs, ie [[0, "blue"],[1, "red"]] will create a gradient between blue to red. Percentage values are in decimal format and colors can be HTML hex values or color names surrounded by double quotes. You can also use a named color scale from here. Clear this setting to load the default option and click Save below.
-
-
- Ignore Bed Level Correction Matrix: + Download Snapshots of Rendered Graph
-
-
- Show webcam while processing: +
+ +
+ +
+
+ Descending y-axis +
+
+ Descending x-axis
-
-
- Enable Local Snapshots of Rendered Graphs: +
+ +
+ +
+
+ Display on tab screen +
+
+ Reverse turn direction
-
+
- Enable Debug Logging: + +
+
+
+ + +
+
+
+
+
Click on button to configure options. Use the drop-down to select icon.
@@ -121,70 +176,20 @@
-
- -
-
- Descending y axis -
-
- Descending x axis -
-
-
- -
- -
-
- Display on tab screen -
-
- Imperial screws -
-
-
-
- Reverse turn direction -
-
-
- -
-
-
-
- +
+
+ +
+ Enable Debug Logging:
+
-
- - +
diff --git a/wiki/index.md b/wiki/index.md index 8b56c5c..3220d4b 100644 --- a/wiki/index.md +++ b/wiki/index.md @@ -1,52 +1,106 @@ -# Welcome to the OctoPrint-BedLevelVisualizer wiki! +# Tab +--- -## Settings +Sometimes after installing depending on how many other plugin tabs you have, the Bed Visualizer tab may be hidden in the tab drop-down located in the upper-right of the tab navigation. This is where you will initiate the mesh [Collection](#Collection) process and have access to custom defined [Commands](#Commands). -![screenshot](settings_general.png) +![screenshot](screenshot_tab.png) -![screenshot](settings_stored_mesh.png) +* **Graph:** This is where you will find the rendered graph generated using mesh [Collection](#Collection) data and configured [Visualization](#Visualization) options. The graph will be replaced by the webcam during the mesh collection process if the show webcam option is enabled in settings. +* **Corrections:** (not enabled in screenshot above) This is where you will see the adjustment correction table as described in [Corrections](#Corrections). +* **Settings Button:** Click this button to go directly to the Bed Visualizer [Settings](#Settings). +* **Commands:** This is where custom defined [Commands](#Commands) will be displayed. -## Tips - - If your leveling method requires homing first make sure to enter that as well in the GCODE Commands setting. - - If you have Marlin's Auto Temperature Reporting feature enabled you will want to have M155 S30 and M155 S3 surrounding your reporting GCODE command, otherwise the collected data will be tainted with temperature information. - - If you end up requiring multiple commands it is recommended to enter `@BEDLEVELVISUALIZER` just prior to the reporting command. +# Settings + +--- -## Setup +## Collection +On this tab you will find all the settings related to collecting mesh data from your printer. Adjust these settings as necessary to get the correct orientation of your bed relative to the returned mesh data from your firmware. -Install via the bundled [Plugin Manager](https://github.com/foosel/OctoPrint/wiki/Plugin:-Plugin-Manager) -or manually using this URL: +![screenshot](settings_tab_collection.png) -``` -https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/archive/master.zip -``` -OctoPi users can user this command for manually terminal isntall -``` -~/oprint/bin/pip install -U "https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/archive/master.zip" +* **GCODE Commands for Mesh Update Process:** For a collection of example GCODE commands see [here](gcode-examples.md). These examples are not exact requirements, but guidance on what are some of the more common commands based on firmware/leveling type combinations. +* **Save Mesh:** Enabling this option will cache the last collected mesh data in order to visualize without the need for probing. If you disable this option, the GCODE commands above will be run every time you switch to the Bed Visualizer tab. This can be convenient for firmware that allows for storing mesh data, ie UBL, and using the command `M420 V` for the GCODE commands. This option does not store your mesh data to EEPROM of your firmware, if you'd like to do that it's recommended to include `M500` in your collection command described above or as a custom [Command](#Commands). +* **Flip X-Axis:** If enabled the mesh data returned by your firmware will be reversed in the x direction. -``` +--- + +## Visualization +On this tab you will find all the settings related to the graphical aspects of the plotly graph. Use these settings to tweak the visual display. + +![screenshot](settings_tab_visualization.png) + +* **Graph Z Limits:** Comma separated list of integers for controlling the z offset of the visualized graph in the format of ,. For example the default value is -2,2. This also affects the color map. +* **Camera Positions:** For a couple of examples of different camera positions and how they look, please see [here](camera-positions.md) +* **Colorscale:** Array of percentage/color pairs, ie [[0, "blue"],[1, "red"]] will create a gradient between blue to red. Percentage values are in decimal format and colors can be HTML hex values or color names surrounded by double quotes. You can also use a named color scale from here. Clear this setting to load the default option and click Save below. +* **Enable Local Snapshots of Rendered Graphs:** When enabled every time the graph is rendered a png snapshot will be downloaded by the browser. +* **Date Locale:** Enter the js locale string for date display format for last stored mesh message, if left blank this will default to your browser's date locale settings. See [here](https://www.w3schools.com/jsref/jsref_tolocalestring.asp) for additional information and possible values. + +--- + +## Data +On this tab you will find a simple table display of the reported mesh data from the firmware. This is the source data of what is graphed in the tab. + +![screenshot](settings_tab_data.png) -## [Mesh Update Process GCODE](gcode-examples.md) +* **Descending y-axis:** When enabled 0 will be on the bottom, and the highest y value will be at the top of the table. +* **Descending x-axis:** When enabled 0 will be on the far left, and the highest x value will be at the far right of the table. + +--- -### Example GCODE -For Marlin, Klipper and Prusa mesh update GCODE, please see [here](gcode-examples.md) +## Corrections +On this tab you will find settings specific to screw adjustment corrections. +![screenshot](settings_tab_corrections.png) +* **Display on tab screen:** When enabled the adjustment table shown above will be displayed below the rendered mesh graph on the Bed Visualizer tab. +* **Reverse turn direction:** When enabled the direction for turning the screw will be reversed. +* **Imperial screws:** Enable this options to use Imperials screw definitions instead of metric. +* **Adjustment screw details:** This is the value equivalent to number of turns --- -## [Camera Positions]{camera-positions.md} +## Commands +On this tab you can add custom commands that will render as buttons below the `Update Mesh Now` button. This is helpful if you want to manually control specific processes, ie sending UBL commands individually instead of as part of the overall Collection script. -### Screenshot of example Camera Posisions -For a couple of examples of different camera positions and how they look, please see [here](camera-positions.md) +![screenshot](settings_tab_commands.png) -## Custom commands -### Parameters -For inserting a custom code paremeter GCODE command, the plus button beside the parameter can be used, or the following syntax can be used: +* **Parameters:** For inserting a custom code parameter GCODE command, the plus button beside the parameter can be used, or the following syntax can be used: ``` %(parameter_name)s ``` -#### Example -For creating a preheating command, after creating a parameter called `bed_temp` with a default value of 60, the custom command including parameter would look like this: +#### Examples +Create a preheating command by adding a parameter called `bed_temp` with a default value of 60, the custom command including parameter would look like this: ``` M140 S%(bed_temp)s -``` \ No newline at end of file +``` + +Create a store mesh command by adding a parameter called `mesh_slot` with a default value of 1, the custom command including the parameter would look like this: +``` +M420 S%(mesh_slot)s V +``` + +Create a load mesh command by adding a parameter called `mesh_slot` with a default value of 1, the custom command including the parameter would look like this: +``` +M420 L%(mesh_slot)s V +``` + +--- + +## Support +On this tab you'll find information relevant to getting support. + +![screenshot](settings_tab_support.png) + +* **Enable Debug Logging:** Enable this option to log additional information in OctoPrint's logging section to allow for additional troubleshooting when opening an issue. +* **Bug Report:** Use this button to initiate a bug report on GitHub repo. +* **Feature Request:** Use this button to initial a feature request on GitHub repo. + +# Tips + +--- + - If your leveling method requires homing first make sure to enter that as well in the GCODE Commands setting. + - If you have Marlin's Auto Temperature Reporting feature enabled you will want to have M155 S30 and M155 S3 surrounding your reporting GCODE command, otherwise the collected data will be tainted with temperature information. + - If you end up requiring multiple commands it is recommended to enter `@BEDLEVELVISUALIZER` just prior to the reporting command. + + diff --git a/wiki/screenshot_tab.png b/wiki/screenshot_tab.png new file mode 100644 index 0000000000000000000000000000000000000000..134056ab66e6a1eaea7ffbc462d0dc983e155ec6 GIT binary patch literal 74870 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 literal 0 HcmV?d00001 diff --git a/wiki/settings_tab_collection.png b/wiki/settings_tab_collection.png new file mode 100644 index 0000000000000000000000000000000000000000..0b19c1cad75f6761ac02a7862ca1ca58221b6b5c GIT binary patch literal 75561 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%0DGYH7x!U)cR9KlCJjH)AJ= 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 literal 0 HcmV?d00001 diff --git a/wiki/settings_tab_corrections.png b/wiki/settings_tab_corrections.png new file mode 100644 index 0000000000000000000000000000000000000000..776617d8b05cfcff025c8d1feeae9ae79eb1f174 GIT binary patch literal 97822 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%0Du?$nJ-N{%bg4ADITyq(=JqT<8q2-{H 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 literal 0 HcmV?d00001 diff --git a/wiki/settings_tab_data.png b/wiki/settings_tab_data.png new file mode 100644 index 0000000000000000000000000000000000000000..23f39019b343ae22229334c03352f41ebed12077 GIT binary patch literal 99161 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
- + wiki for explanation of settings and tips.
Enable Debug Logging:
diff --git a/setup.py b/setup.py index ef66de8..7a51b71 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.1.0rc3" +plugin_version = "1.1.0rc4" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module diff --git a/wiki/settings_tab_support.png b/wiki/settings_tab_support.png index 031f2a5bc613d57d2776c4e943b327338b71c01a..83634ce3d1ae81e7664cc4739eb900c014745cfb 100644 GIT binary patch literal 74187 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 literal 72180 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 I=WfRTHz`B#LjV8( From 642343f1fe4fa21d54b4346bb5c7179f1b919994 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sat, 15 May 2021 20:47:02 -0400 Subject: [PATCH 10/32] default date locale setting to `en-US`, #432 --- octoprint_bedlevelvisualizer/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index d80591f..c3462c7 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -101,7 +101,7 @@ def get_settings_defaults(self): colorscale='[[0, "rebeccapurple"],[0.4, "rebeccapurple"],[0.45, "blue"],[0.5, "green"],[0.55, "yellow"],[0.6, "red"],[1, "red"]]', save_snapshots=False, camera_position="-1.25,-1.25,0.25", - date_locale_format="" + date_locale_format="en-US" ) def get_settings_version(self): diff --git a/setup.py b/setup.py index 7a51b71..b0cc6b3 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.1.0rc4" +plugin_version = "1.1.0rc5" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module From 3e0265a54713201ab901cbe855c4d30337c09ec2 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sun, 16 May 2021 14:55:28 -0400 Subject: [PATCH 11/32] fix issues with blank date locale string for auto-detection from browser --- octoprint_bedlevelvisualizer/__init__.py | 2 +- .../static/js/bedlevelvisualizer.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index c3462c7..d80591f 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -101,7 +101,7 @@ def get_settings_defaults(self): colorscale='[[0, "rebeccapurple"],[0.4, "rebeccapurple"],[0.45, "blue"],[0.5, "green"],[0.55, "yellow"],[0.6, "red"],[1, "red"]]', save_snapshots=False, camera_position="-1.25,-1.25,0.25", - date_locale_format="en-US" + date_locale_format="" ) def get_settings_version(self): diff --git a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js index 66eaa47..16e5cad 100644 --- a/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js +++ b/octoprint_bedlevelvisualizer/static/js/bedlevelvisualizer.js @@ -188,7 +188,11 @@ $(function () { self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_x(mesh_data_x); self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_y(mesh_data_y); self.settingsViewModel.settings.plugins.bedlevelvisualizer.stored_mesh_z_height(mesh_data_z_height); - self.settingsViewModel.settings.plugins.bedlevelvisualizer.mesh_timestamp(new Date().toLocaleString(self.settingsViewModel.settings.plugins.bedlevelvisualizer.date_locale_format())); + if(self.settingsViewModel.settings.plugins.bedlevelvisualizer.date_locale_format().length > 0) { + self.settingsViewModel.settings.plugins.bedlevelvisualizer.mesh_timestamp(new Date().toLocaleString(self.settingsViewModel.settings.plugins.bedlevelvisualizer.date_locale_format())); + } else { + self.settingsViewModel.settings.plugins.bedlevelvisualizer.mesh_timestamp(new Date().toLocaleString()); + } self.settingsViewModel.saveData(); } } From bddcf960aafbb3a8774555d1a8743062b0eb6cb4 Mon Sep 17 00:00:00 2001 From: jneilliii Date: Sat, 22 May 2021 22:22:01 -0400 Subject: [PATCH 12/32] add custom action command `BEDLEVELVISUALIZER_LEVELBED` to allow use with custom_menu options in Marlin. Will initiate the command contained within the Update Mesh gcode script. --- octoprint_bedlevelvisualizer/__init__.py | 10 ++++++++++ setup.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/octoprint_bedlevelvisualizer/__init__.py b/octoprint_bedlevelvisualizer/__init__.py index d80591f..3234e27 100644 --- a/octoprint_bedlevelvisualizer/__init__.py +++ b/octoprint_bedlevelvisualizer/__init__.py @@ -508,6 +508,15 @@ def on_api_get(self, request): response = dict(stopped=True) return flask.jsonify(response) + # Custom Action Hook + + def custom_action_handler(self, comm, line, action, *args, **kwargs): + if not action == "BEDLEVELVISUALIZER_LEVELBED": + return + self._bedlevelvisualizer_logger.debug("Received BEDLEVELVISUALIZER_LEVELBED command.") + self._printer.commands(self._settings.get(["command"]).split("\n")) + return + # Custom Event Hook def send_mesh_data_collected_event(self, mesh_data, bed_data): @@ -556,6 +565,7 @@ def __plugin_load__(): global __plugin_hooks__ __plugin_hooks__ = { + "octoprint.comm.protocol.action": __plugin_implementation__.custom_action_handler, "octoprint.comm.protocol.atcommand.sending": __plugin_implementation__.flag_mesh_collection, "octoprint.comm.protocol.gcode.received": __plugin_implementation__.process_gcode, "octoprint.events.register_custom_events": __plugin_implementation__.register_custom_events, diff --git a/setup.py b/setup.py index b0cc6b3..1ddd525 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ plugin_name = "Bed Visualizer" # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module -plugin_version = "1.1.0rc5" +plugin_version = "1.1.0rc6" # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # module From b7abda83e0f1fda6453cc8cd58cd9894510f87ed Mon Sep 17 00:00:00 2001 From: Charlie Powell <31997505+cp2004@users.noreply.github.com> Date: Tue, 1 Jun 2021 19:24:12 +0100 Subject: [PATCH 13/32] Fix width of settings UI --- .../templates/bedlevelvisualizer_settings.jinja2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 index cf8422b..a7c07e8 100644 --- a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 +++ b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 @@ -1,4 +1,4 @@ -
+

Bed Visualizer Settings Version {{ plugin_bedlevelvisualizer_plugin_version }}

mtV=SLYn=)X$(K{{ujsKJ)GuHG*bo1PrI`)IN+ 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%0A~MYm%`+%(I4tmL3p& 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 Fe*m~kUorpy literal 0 HcmV?d00001 diff --git a/wiki/settings_tab_support.png b/wiki/settings_tab_support.png new file mode 100644 index 0000000000000000000000000000000000000000..031f2a5bc613d57d2776c4e943b327338b71c01a GIT binary patch literal 72180 zcmc$`cT`hf6fTH>AW{_-=_t~qO7BG!L_koKUPVfPgx*U81Vp3>f+RGhiS!nF6Qx6> zmjsYbq!S1w0p>=3Z{Aw7*8DN=&8#_VvBax4_uO;#-e>Rc`*x!BpJ>uvX1Pp4LPD$c z=)p4*60&LFNB0s1aK+J!q6zrpg6A{M`y{1D zl914K5PvRoxqf{`LUNv`^+4^ppXJ63)u(G?&4;_;oi+?NRT-{nJRPO}a&zJ8m7Xu| z7h?NZFE&55z4|43zB8Nm9%}u&?n|B0x3k(hlAmr$m65JAJfN)gV^n)O#C7-kSa$d8 z3u@LR4mXGV@qzj0n`y8=;C%Zv=8&w_!h%MGLBW$3z7ws3g(DWqgq;owCPzm{@o5+H z2Y<&a&51ni)cr<{dB4=>Tp7{19of^fUAi$z&Y5rjjz^jdwAt#qVVHgVB&d*NO0)Y0 ze^iN_=A_a6ESxl{#y)kY9^8Wl2(<2 zLcRJ7-`OepwAb*9-&w$68xxj+10O$r6zIP3?-|i*O*&{Df)1OmBDmt<$q-i{3IQ%{ zXqc8^V)}0uew3U+y?!lc}v2MhqJOU$IcKhG>V0KeeLXxUlcoK2= ze_k?I+=Rz*%NzW6mk0HtV@#ezD1yr2e>~U6{hn9S;ID-n4F64au<3)qCUx5_Y?0-cT_TIN$Nj ztDIw1X27*GDICsQww(A+D2J?I^sOkig+Z0`AQ{JB+571WZ&1t%KE?Rmcxd{h@=n_s z;TU^*uYeHK-oQ3O$>G-~Y+T+}Vp`LyxB4lBu*m6KkQwkzVc{*e`9!J3>3;4~pJ(YY z*d*oe8dciDl!F^sWgzMC!Z&++dtttjDUzh+P<$=algZNWb0c7J5^B=pC1$HD1Mt<- zroG3$CzygpInR|NRRICGjH^%WY(NpKN=Ora?)-Fae-zg~5Hn!~ojJwmK|NM8d@}== z5;Y&^|0Fr~TQ8|aAGRDS`R@K?!h789?2Kid88fol6sh}73e^$rrs&!ig&xPi75yt! zR{By!^^l;9Ab-fFa`fMwxRa+#wrSUwa?FLVU(M9k>xm=T{8m)zaftSeFT0@keLLh( z;jqZ+w0C0MRZmJvY720v!%*LfmV*-4V;0-UEW#3B^k~~vek=E%*SDZ&tI%PC%bF%0 zT`TRBoH}|vTOW-q-HF>a)41IN&m8tR-ZSr3u6bzk*Hj*1Zr{kcDtQ;RpIdE`t=n1f zB;$`W^MHd2-sG@Lf{HO3>>RxcsxY=@FD` z>!xMkrqp34tE(i{H?Vw3rvFm4FmWaWw~@WDXhyzr=g;dT zkcuOxT~I<4$`h${T75Vhh@A0X%}~~l{}L@;Q>b_zcr+i?_%ui3*nSFn)WL}cY;;&# z&MKiG-Q#hR!&gv>vVH%})>&%Nri9Gtx87QdR_6y+5}1&KA}enRhe5BJni@>rj&`z$zulLux}B{%5u!)DtD_qd$dtvjmu6Xt z(BnQU+{ly>F3n*GdNPuA;*gZ~WJ(bT%(_ndQz9}XmLbQ>``1?UbCnNu<*TJ zt*4c0_tq3|b$&9D<|$#W98j#DZq;AF-13o(EQ=cQJdysd_Y2U4)+jxB>;h_+RzoPA z^w#*9jXBk7W$Tu+jlaC=a#e9p-!DC!UU@RZy^|SpZz8uta)%&{lr;!^?CBf4<_^n3Q0HMa# z^V4nR9a}ipC!THu>(yh1>RI2pVCA|T-WkXl~f2}zdXXGF`~NPtcb_1$Nw>Qwtm z0d8%GTPdYjnyQ+L>-%8W*TVI=R%k%6oRfOt1!Axw$cElT9x^T zHLYOawWkJGPkMa|dEQiQtvQ%i!TCIDAe zP{Lj54XvyizYd&nh1)k1SQ)GBvsZl*lrJR{$qIl81^*w7g^>s%*Z zZtndw?1qCnc2Nm8$*r_v?(JPeuW_k?s#j=7ZY?`JsN^<#z2jUtYie*GEJ)*ip3$5?;oMA)4Aq@i9OYOsX+QH6b zOMTcWhpd@z!SC)?3+)oHNc`p}H>j-MF-cU3M1Q_6oWL$sjzl|Fj+3Ihe{UZsANS~; zz!lR|e`eDEJq?Eaz?`&SkIg{&wRym9gF;vl-etwbI<0+it1xDon)dD1^A@v;ml0-l zZlAL>Y=TbLt$evP-tY81vsRqI0}+2(Mkb$kubVr5zi&mo%>kK^w6&aSwUsrWUyl=M z+*rsO$TKOswbqL>dNGfkqge`daOqgVl245i?6G;G!G$l{ui2?)_i3rObIAzlr?N8o=K$Byg?MQmz;npjpVnY*f4OTQiLXT^}AYGrk?nR6+$W3tIK;vvA%% z%C%2zOX5A@63fdAn_p3vj0a9_YkQS5;6y*_Vwg7jY}ZpYVbd3@PA8XZQgv<6NIo{^ zi=DckGCBx5aHc^Mdb}8~vW1jUN);x~e^{J+>Ia8m4`pc|NGldWhd}ZCq6;r_;lD(o zuK99QDC)djr<{>OwdBf5bbf<7=9w+)`1B0}L7ldTzrBe^v4gwHZnR$Rs-$N2bb(&h zzHwi*w7x5qlPPGSe=cxnBg1}hbS-K?>}yHJJ=;jvFM8A$P4C{!w8+QJnUaeA!q?7_ z*c|6NEyO%^G#P%S>~fp4mSZ(uDvJJ!y&pm zD)PJ^>uA5=P+OUX_m+xHLW=wV58VtoJ&`IbS@bt^lJNX2uM(8<@qoG{V|Mn-dCq_; zc&ns#_7D6%6aKxMrh1iq7z8GVWinC}We@gIHgmA4|3#xTHy7*uN|Jt+mnL4|hZ6U9 z?CHMw6N%H!r&XeV7woBfaPwRUzWxFkg(OBWX7Xp)Cf&rkY^bz?U1s2xoK;mCt?ny~ zVy~09z%?J1aYngI4aL~X@yo8{zaT1GCf51jsY)KDapRm8ZnG-;SXXgK4RZ8lSB1lB z$&`|BbY0^2SjH`0<}mlc*d2<8UR*bYUyK??4Xi8%P!veZPt@xP%R;%kto%;*Qd_;c z*gSQrR#p{@&VDfJ<#zo&@pBn&Jl9mnwU;k}DVUcnN_KEaIXw?3u2`%vgVgg#f4bOy zgFTHoOg6KY!k0y8GQa-t1CKT#P#u0kOmfcTz-M;_P|}X_49Zw}zn$MY!ndK?*H7o{ zQ+TWh6>{C0N416-S}o%gkt7L?YAZQsGz*S#=_}=E-3;NW3}03?6u9`0n*~Jd}{L z%@EuAyz({d_aMVYnN{no%3+@>m!2xUllifNC=8k;vof-ek7R}HV0R1kf_o`fGt{bi zQ(mXSj542I%1Vk~c=8KK$fo*fFGF11lDHM~lYxjwP^nk4(ra^6`ev|#(;=4;&)3V! z#ALrV8ec4{|JqI)J`NtAi_@d`p@)rg;AeuGT-qbH>m)G_22}RK*|$H{{SKohoKv!r zx}Nb(k-EbCp_|TD*gl3OhVDtS4KI1`VJ$wpvnn{<7>ye3d6$mf!syKp97sL02FY!n z-?v&K;Cx#5pzk%D$}e=ucRI7i=t)iPnR3X znn=$|FGw$QcT{VSy#R6gY~9xW(-qy8qqd;d?;7NgH;Tl*&mB z`&s(Kw2o6%PDb{StxV1AjcZ*t!C_T9+pS-(zhB>-3dqXo%m7D9eSW$@Rx>lydVRgS z&c`Pn1UIrLGsr^p$f0%w?2m=>vf<8gZh56Qqm*1}Q0gYx1zOFskx6e`ZR zLMd53f%tN*CYy7l(xEx0pXQb9s8va%qd|Up61tj8*Xd|V^lUF?`EN+cwRId(WhHO$ z!aW#)kd}&B^K@rZ?Efh$!$~FV&klrRo|1#e?G?KQ&ZW&HUXe0~VPZrYx{>((0+kG^ zwKl}15B`?vcFae8!qmkkDc(o$!tJ0{g%Ha+Hr-FIjhl$cbG5BC{&m5!Ch?Jl*S77- znhKZSs%u{uUzU66RMcVn*!q$Fqt^rX@*=`6_C+4lx3_y9u(85jSII`o>Q`XA?DMz& zt-o4=Zjw8MYqI{QKj?g$W2@EstHbJku}Kx7zH1=YO|CZ?NsXmy>%f}+voy2R>FH?- zCxYV_?XH(J1X1zxc%j=R>JF}><|;tp5t0sEE0elYY%Hrusfme$N2a2u1;!!>uf@mg6Z& z!J&OgVcpggU4{O){q_96Zh$Vzi{#9`4*J@&;!cyv`nSGM9Mla(JQDmBBhTLQ)0;-q zz+L`fo1WMpa z%4uRHU&j02#N2^!F)Q@TaK!yTfPh@!*MGo=Rst#b|KE#=o5lJ0`D5XK3*=3kq_>l1e!1?)i#%8>}>EWPV^@ zmq@;iiWiws-i``PDFv{CIDdpWTGd1>fdj)EUAcO5sWtN0r_>2s!&U5X)#FJqBGf935>8KlxZt;HAT)+=PCCL;sXA5BUTSK4I|1 zSbc+|^)F@ItB$vd`+NeAstfnsURlYK5t7(^mvgw^f%c4Scvq@WFmY9YL)eUnx-@ps zt0=Cw1*K^Bo*vF^j}VXg4QZFjgv^sG`S(O85OaQuw7$Ip1xI#gSe5e;dT`=I%G*9| zfo1xo(58d}x8IZ1$?UZN26Ia(?QMWanSjCVb9 z{ekm>I{E>ZRR`V&yZBM5&y<}jN@}{Pb~>n!bNTzeSnFpu%j)#|!U9Z5MNNs@#*aat zBpl-KoiZ&~Sg+Ma%r*x$cF-yGw?cswat7rp<2tZ6tSx$s3EZkLz!O$gvNG>R{O0|6 zw7Yof9t#t@+?%=o>h1+c}kO~etiiJHFn^C&{ zKBduUeB3U~aF$c*Ya?s&<$kIkU#ap_QehTO{-Rp3QECfKe+D3bDn5psy>}0viI%X! zVy6a83RPVfZk-aEVv{saHW}T-vzCo#SDwZMO)-w85uO&EdEH&B-5fMAT;xU9_BV^~ zagX_gy%r477nw5ANS6bl^%jVs6Y(U{kO$y{Vc$| zt$HQs4+4C+<3t(fpq4abNR{Xi>&1u^Y8j1BU8-r7@%6o|5p3E5?BtL8QflUGnTd4= zl;;!gSGuQUCmU7BlS9t)qpslc(-POQtHbL{}^nbwE9S#5GMi%54yO zJn<|PeL!u9cTe}W=A7GS>Do4!CsPkQ(liL=QM(n&c_{=Gpv&koJe6>n9IUjGkzgt_ zdQ*sgXS;_R^Wlbn#d43c^ytefEAln+k1jG=nnt)Cd<^4Z$xbNrla=!~JuzMDpqYCg zmFKKm>(j0@Kh<}vH#Vg~>-))HA1#|kOFBAae)Rp^^=z6+DT9&lrUN+Fg1BP-{Bb&W zDn52CwePZF+;-{v!7Tpjt-{go@YBGsKjr@S)NV`7903b~A*-p&?{*)^>7n))Uy8yE z*>8};5KnG;X&gp5h5^}QH~tgkDi}!7QQndz2(X`#{dk{*0w9o+jDg=R%sl& zGJq}PHRABoqpiQVO++&1qL?M@e>`!R`?7q6LvZC`A0Nc(yJE!_5%BBhrW_(nc}V}r zb6Bh1!J%Az^^^{t2Rt^=P7&J0Cas}=?M&SsSaT2pEu9jRFtb{SE&xB;8K-!ARO~ez zufR_eO3;^oo}?Il_P>7R%2eiKkzZRTh$MPN;iDWx(r;9lT+!Id$F`x&vHW~#7l@9q zdpFD>yxQ^06A~SH@+=n_R)m9YMh>P^V87no$-R&{#P9nB$VS3Doy~hAC6O|qWa0MU zYs9{ap(sXra|M>3J}44z(os-i}%ZJTziUTekZNKYkZkZ zxSU2^*#_$#Mvnk}w_gN`^+$T(cguysvC{GO%`u`aby{3z{Npw=ZqPRANyATFcdnTZ zMg|dxpdmD?$c3g))UrudX$9Sa-&*JJ`+b4a%V6>SOKbu;;-Nmr%fK6KUCYtI^H;(g z8NJ7&73RM0e_5M?ww~g!U2-f-_s)6+%j#N!@w_MWBtZzrm#$eA2-P+M0E-DLrLf|) z`l7to$MXt)*wzC+GMdWNwE?(?58xasdlaiv46mw`F$tEnkQp>k@n&WU-oE_|1}rTd znUhl))!P!Eq_%*wZ^CIT3t|a5-1lHCQ5_ZqbXrI-GxZ%oXbu0!Xxhqz78ls*9VkS% zWOIOz4tL@FsjrZ`L6%uY)s3bSecb3b&Axl4eY4XZ6;Ea+$NRQN8!Umy>HnlrI4-Z6 zEmXUD1xae>q!LBXxs^(UvV*ME#WaQaLz!#zq~l*FTd(OsPm;1U2KH^^mBwGy-#5nY zI#wMl_od>EoTWLU6wOLxP_IxxOc#si`eHo3Bwu{oy6{er(By*r;NZFTIm&+c(n#p0 z(XC~+hw?(2Z92c%9&Vm9wd_Rf8`}z3v9H&))h8&X2mC42b?Qh%;`pAV-&9Z%v3ly$ z|NWrEj!cHKo6!YYn6}DBTT!g^l7T}4A0IG?bUCHlXg-{UEOy2Y^d15HjXQv>WhyKs zs1sx_@c7r(c9GNuVApMDo4mUehzQl=j0M&gS?J)QUZ02rQC>tLA9e!PX~Ql z7U!6r4c;0*C6)^ueQ~x76u3@EwZ2)uyU4yVpKw!QhxC+B_h5t@RF3}AhA@Bp%ei6- zR2=teSVrp8Q6a`;4Lr|Z7NoRs>kkpX=9E+h*o(C3iKHj;J@IDcG%3Vve#WTv_&95i|-}SYePAw zf%<1!wH!eCpk=B>F->kO_$+kFtdQhWHj2U6pd+|1#yObMic2+5K)j}H+~!88*S-qE zpJIAN&#b(Ya$>Y|k09P|al|HGQ)Jk|LNV_(`tiAhJuYH3%b#}&_9TfCmo{I?XLtnK zj3DT9%+JM`40xND%^mmV?fS2GIw-TwmF;3YZSMrQ_(`W%-W;!O%C;5A3#WcbdOb{( z`p$QjoqM*Oubh~HO?&|FpyN=KJr$`fKbBP^Zx?2o9d%>WUv^?)r*I^HGurP^R3n^x zaU$0f?cT*RoFomJ^;?X^+*^eMAcU~+>V1gfYg5NCU8id~kIqxfAfTrlAH=NNUWehh z8(M=;_IK6NY%Glfkpnb)oWUF_a7XanGD&A;01hU|>UPJ=F1*!YcocGpg-O_SsVh0DbA$Tl*^004_g{M^k}P-*9Sp+7pWX@1AJJmzdhJhR zILp6e{22cwGWxfmyfLk$E*SI#mHB0$t3+DDsLEY^z^+=W;^KS5Mic(9Cz(*h@9EyV zrS^6DLy}rC(<``Z(l+#c?^szkgNspNn^u15{H~B>Eca``1th_CYo0#~gg6DWBS8Xe<@(HiFc|GO62TWDdVlwQjfID^orK z+=Kvs4^ZBJ-q+BzzHyr&r~ckRoI3f-d5LBlYYkJGc=nAHE6MN3m{PqqF!tv6%}R*u zsUY`>{kVglU`=M;PkA9miu@(+3G7ds6Cff#7>Vuh5DoVBtFoKSTviF9PqAYke`p@k zK@gi%6y#<_z7SdI{r%~UU7NTNYpJXMgHpgOqfPG@eIC5=NfU0TDf%I%@FFcdo^g!{ z<&ti<_O*ZS#;hcNuHnd=nnv>HL%}XofoII*bvBHclw{9a-)Eb0WLPJ8YkIPI6IYtS ziBY+3ir-cJPfre%=iG}avO*UrdzCk6MBb^U!sV*pa+R-W=p7Nn92=gf-lUVf72gry z<)>lttWVp(El|0hdr^@J-s(ErG}U|_G6KzT6ma@pk5R>X0(HW(7nPxix5<&^{%*2j z?Bo{Ym&ofcDJ(6Fo#EbD$B{&sI{c!UO0mt%GkOa+Qs@<_$YWS6Hx0kPYw?u)1?JGS ziyv~GmBcmSo|+NJ7_%tXpSSgfRx3MLDVs!d(_^mB)|Kav&Rcgy+SURjXSEiGsi4cU zb=UjX@K#1{erYyN=Rcgv;;M|E&a{bT`N@^H9hXeJ2ASox$kb#naMd7xzO;Zn#^v6Be7*zAt!sJ)#EgEFWY{i0E|Ha9c(Vc!XS@o03ZMfeFWJ95jnO2z zs*Gpb%t&9}IG%Kqb0WO63;igNJ5}dBc@fcrU>2&Y8EpQZ-A9V7TP^E&JqLMIy&|`{ z1O28IUM&<)Gb#2eQ>mIl7 zAr-MYNt>zf9I*j`6mV8~cYbZti#tJ$AIa<Z{hA_{lEV#rXZ~0c+@shhj({zZTgiemRlL zR89UAa;8{q1|&3Wv<^ zkLq3=m`tB(&_M5_2M=Tx?cI-@ z!lR|0q~OiFG6t6_iD=#j$>0+&83`nz%VukTc9QZ#eT(l%m(AcHvy2Z_aA7hIfJV@!8#XTU$^k}k+@N! ztG6k8>9y#oc1_XQ%B|A*Js>*mCWLHdGndsl7=pD#dH&s-p-Y4aBf%&{{mDsyk&)4A z)VFVUWkAEZ`?pb)p?`K-W(auAXKIJ)4qMyd5cTqah5m^ku{Z!f@G@d+E`Vk^b4c~( zY#T4kek(j&bYP$Cn(_X_aNd%K{qnVkw>#ty+6JPJv=}yEHKDC8>8o^@Mah;JIh}K4 zy1iELu=Z7X5{o5_wv3KKf3Li7#f`XFeezvKzX+Kg`ly6$ZNuwULvVVXDr zB~Rs_(8HG$gs6w#3Yvke0KEprSJ>$3)5H)y;DxlN8@!9mT0@$(EhHKvBO~{pV}|o$ z*2hcW>mvp6>(e#P0pGggKqvbc2tX>8HZ`H??dn5M<1!9l^c?rjTI?X>Aa(Hz zUoSQr#FuzE&}@#p3L0(WxQNW@+1IMF^5xqwnCIo3Rl#PeR{!$9Q62fE-AkH$im@og zA#8oE?&3(59_Ip+qcQQVH-rz7Et3f z0O?mvsQa9^;hocwh~%T{ae z0LUVt`EDa6P&>yJi z3V)X9T#R+EDL-DBIdvML>(!WP`QcjSFf|wgALWuz+PL$+x^lo-0OnQpwa}OHKu}K) zlq{+$s$p*O948bb%t}NOLGM-;Mqg?BB-1b7xvl%rJX@E~Q8B*Xv+o8CHq+sKVKi7c zvjj2N z-ia%Zx8ULSX!mxpk*}D1-ZWDym_ygt-C8fpxA|yR-uQi_MwAq$TMGHW`M0_vlWwfv zpCXjZdWap^V)1?T9kTtp)4VDFmeYTLaAJxe0I;LbGe1h7dBp8Z6}@kSV%IOB0+wtI5Jb^Qc#Tj()=!b+I3}U*Z8JOmGS@* z6si2xAq|>wg8tJ#7d$jIm2M{q=ltDeCfLxr6fyfNjU&~SxIVxNHGjBVT>_HL2zfYk zZ+iB+T}zHw*pIXV+Fd2Lk?M4NwB$s-XXX8sD`?XyuXS&DTWZ|UcmGj}xu6B>IW|R9 zlgrvM{54|FC`Np}97-rdcz1TL1Hjm+=R!Yy;5E@7(Rjn7wxAtd(RwHZWEnVkrtG~X z)@m`#C%Pn1$|&=17FrrTXYq*cxcks;Agnxtr3jm?MAGz}`j&k0xQY?`dzBb&hM)dF z!oU+B>_RsQ%ju^j>}2OxtoYB2LbgXwnj*K&!WCodyxn=(@#jHj4z1j`=90lj=Y+`M zigUaQfc}O!YWt+iA?ESp<-z4%A0GP#av|p(+9F>f6^1dFR`0G_IOD2HrdCPWkDKnk z0rE{nd3;OCpR;CweSmy_LzQN;@FN;>ytj<0&x;~hdJafI0GGrF+#Y5DV*H(Z<{LZE zO=5JQP32sPI$ov4o?k&mKnj1iF0E!tjGk+TXnsHcZ402pXHxrXaH*|jU#HXab*#!6 z&1S^;hE>SWCEw0p${2wj$09FOA2HH(_HavNU5xAHuu@xb636iNnKopHhOGyS&Ori0&yR z#M0aLHS3_O>uB$bf<0${8ACHo|2Ny7ADQttjOcu5sJ>jf3~sf-bBHK7S;yONg99V8 zlQy|T2700nUB#7v%4d&pi@NK~*)ydv=h03ei-sFuwRD*W?T zgSS$Yu(R=|TpJcoS5ySi`V|=ISR{Sd;g*rgxAvG2x@m)bHgR`+Po>eI#qwMfzN6mD z&?zhOQ24MbZc&=Yn{d83H5M}U&5l(9e^Xdc899HbYb=e3WsVuQM`%yCvMWqN_1?_A zsNa+J8FxOT8282y-e9lP>cS^7zhuqn?<>?LAcrTOWwrLim+g#vg7(aliO-eIhg6;e zSUBPE4(8x-1|_|oESL9L*O^3LgX zU&m65)U~z3+~jLefc~+$ap{9L`geQy>Asut#Nyc4SO{TAlk=dAsOCZgfy)D_B~0JL!hh2q05Fz`6m#P=~z^1OVJvo`=jf`ELQbBX7~BoiI*L zNymi7Ki`VX%PgA-ez*2jrYmzs&K+YO!7EG+NlW-eUVl}qq&5|g@?K4#CF2gHjCLDm0 zZHlfTC`EjzURqfgrDhJ-(F2FVLZ>D!HU>m`6IJV&w)~Q5VN|D5gp8@=7?)w&UxD!E z_Y}z$P?n>MR6(eeTD<9sJ80OhObT>bUKu^q@>LlC)Cmu@!^Io#NI_P)QJ4B6!ER@sj8WM4)```D zDN+N@Elm|!({J&bryZG!0`$h-PA@CQz_Y1{=R3KH!h(LB|*D0f9VDBz5}^94nbTy`{J5|sc>{RM!^u@yIYrkW z{V_?wJ4aA+rYtTnnIBzIL`4`&_p3PRAL?ZHM<_D+R6S#QTI_(~$ZA-Nx)?OnCjTvg zz_4cAVE*H(tf8xusV&NqZo_QLIf)}=F(-v#C>Y7hLRfm)7b%rD`sX3pH}g8T71EPo zZi=JDUoc4!3-aQjch|;pmr2y(`Dkya!!eje=60L=Qc%TfL^9iG8JbcWIPWWOU3bxk zQ}+2vC$rl*+I1dxAD1h+d^`We$%x})!UyfuzdUbSjrB~y@CM|(4PGLU*gd2U6{GEa zZ))W91k8&5RZ%&wNZ)t&$!Gs6FXp-m>n_o631Gy>`>o+Ir$W0K>SF!6 z*Sip;W0V@?^QEA8C7khjCd_F#2sh<$D*H7L!Lnu35m^r~cyq#*O_RbVl|M>Msybbn z09?)6im<>m14scrP@NTC;8YH(gNoknF#zh+&3DwiPPghliAyTbbS;*1Ncq}Os*J)W ze?rU~A{;>>2&TQC4^`Ai)WR%+?2BH!GJ%;qvlQOUeg`Xc^k-W59>prUvcaqIby9LM z>{1+~jFLPVX*$5?orqVgAnNt2x+)dpS;6^MPM6AAo|UnQcGUN*mg?Ua9dSuNMYO{h zy1+RMB?GK#oX3AY%KNaXP(Rl;(N@tuhJ1aqcaad}YZ3+ap}|HsR&+>D-ndjO$KezA zMrt2LEj3{X*J;z)lniyf2M8>fng{EJ-RFN@u!y?uz`+lGpQkq>$XEn@_LR$R#rls9=O* zUuXZK)~Ajv0SSQ~gde+HA_onI92Tm>ibr6Q3e=?RjrFz{q-EHOdjwbgrEge!=0xOI z(4dMmP+@Gig63Z|as-0J8{s?C@G+PvqhlQRg*&0I0-fWxe~(v^z*!#zIk*!X$Fr`P zUQ5VVde-g`f$Ya=kPrZEUK{0%)p4&88t8w>&1`F3cmRoeB_$&XFPIWynmmR`8zi zu~O%#3v*W^@9L3P`ok|<<`~-MPswp1drG)nt%bJ~A<|WT4I&0iOG_wD`Pt@xUF$|KO@WnO(cwKrH=_V0uIiVB58;4$)2SZ1wk^c5@4TuJdej zs?XV=;8qJlV5@||=(-_aw;M*DNhQP$GVVl?grSVb4ft4(- z)4ew$E^^PJeA)wN?(ikqnF!9%ub@LhQT}63e@GS3yY9Oc?@6)Os)l>7`8fwl zv)7(xdzS3TUbRNm_tbZ;MkB9xu?5W@q3<;_kXI^FT=D7b!fg-`;2pNwkDh9MEd1N&VN|D$msZU6W@nYBSbQ2r(8$&so_|+Pa z{1ajMNgTk`YWn_CqqGa)VM;{g0U*Iub?b*AV(l7DnZY4)pnx7lESpr^s}g@2~epgt~LV%xrE1KPjz9&}O|GYaNM3 zsbr5R)6afBed>Ghwz_8~6LH%(7wPo)^P-&R${il6#&FlrZ^D{c7e>FE6p@iilQKGS z*WbFzp*KEnzWm9Z%r4McWs)=QVO<$pL9GZ&A{F{bG0{lbs(%%052b&>KWGH`J$c-V zleOBY>UI7^-$H%##G2K|_8oR7%M3;_The2;e-wd2b6h^Ao6XGP+3Si`7IcQZM+Xcm z>q3r}zn{!keB(#SVb>n)EA-)<1A|jXm|>@`2=7RrS^w2zj_+xdVVgj=M<0;w;xn@J zxPpkfUVnR_c>sdjm4KpK z11INKC>B2F;t{U;z%>8Wxh86>EmAk_`?)`j`{4&s!;Vx)h05<+2=+5y*UxqQm913o z@GtqY&{A0;gxM{4e9H^3lVLgU6d>8Yas}gpSUp$wRBCaXzt1UVX0WS&l!ZdU&os?^ zyx3Qu)rIc2yNS%~88a(I=IZ>G^W+2S(Ex^~Y3N;XhP7t~F9-UjsY8`eae*9f-M7#l ze1};4p_4}e5sw0feEbLMYN|MBqhkquWru2V{*!%6ZQ5EX(JzsoR=kI%ot=_EbXt6B zk#?ZRKNt>~*vL1e&;L9cc^3AHGziW~i&K}>%b`kE;&bYj7!dHcj0Kw&-04mU+4tv8 zK$dIqfYK$4cBf>`W{0EA;%>?7{d?*M1CLN?B*tz%A>8^TuZ#}aPpxne{Uy3yN`g;+ z*`FuV>`N!y;p5kPwW_JvNz)!q1I&I;hDbq{n5Br-w&Koohmc}*IRBnT0%x#g-02ss zzNA~?>NeOb0jl8oOq zw+?!tAePw?YLQERIZ9o_C?1f#Ei^-IC&nClm?#>&ci+<=7Y^)DOW`i>-1wVJQxAy# zPO4Z61({Opvygun+;9j$PVQca~@9^Xq#<^;&4tl{~;UFi3FIr7`f316<5)B?me zar6iR8j$<}qWq-B#D{IQ%42WisqY7OKye=*Yu6@ zGljRoBts5|UIo|TzXelghvjgL+ zJ@YEzuBss-(m~THs1%Fs7sp~k6$yB;;T&dpq?W{+feQa+*PmbIYWI)lw$`lP{k)Y> zFeM|kJ$3Daa?Rwv@sk1RK8Xxgnx(0|o@ye}B6CfM9agI1wQ`nb_s?~5H@yo>O2Cr{ zFudsh+Ua-uHn=c99|J9|eef_MAPK;aw5BWV`p^ltPP9jZohlu>X{J z;jRHaCFuQ-04MIwwAtn9RXFXTkVTedZ@mC^76(d5A4m|zrA5JSlYg7{*oyd%*SE*K9el0l zJgl^p0`z@-Ps7GA^;1Kyf&i=KO#knJF7!N1jw27!^A}RtX6IC*Xkqax%^uoGPlk+% z6(7v&jn7JR9~!{Zg58LsHDFXKCI5vnvEO9y*>W`5AY~4pcQ+=OSvr^tvjNJAI9>$` z01o@)*Pwj4UKI%p6yfvkKUHaEv)BKvVGV~kvM2+14^iAU;FOnv zZG|t-XsUsB({-T9TD=xKsDQT)EC8VKw!d!8&T&C{qMm$;GiWEYb#QZ{%qjrV2h% zWTFu~#*|q4<>8%_Fc;!&nEvTKfCL%7eN`Lzinz&-9L7^78vi$mo&S~FpI3(Z42;vG zKPjX(w97Ov8A1Y7l%$x61ki{*D}Zd)IbcqBG3mkQ;wpCrdLuR?__=$(3HNIMGoi~y zm7%yC*YUd8!tBZ~>w`q4BBrpXabZnq22h=zY~I0?8blp^R$?%YZ?TP5aMJg!1&)lr zOpWKikH~HQ=#s7Ej0unlapY7{{BXIUgJl(34y=K-uUSHrO^yH65?@IqJQn}O>lb7P&QSQD&I*7^D949R zEbT`CZhESpK?fNC^p?JWCe@P&$pRAFe%)fzOc_7BM#e3(75n$B8xuqxtVKHG;O3+7 zY8MWXz?TsUwvL=K`2Aa3YrPy>K!)RLn8Rj~y04dhY??&kv-05pvI0^k5QtP)>RI0O zDjyT+Qq?oOPQvN0G`vjVM?T{fii>u(s8@53lHg24-a{*^GVh@6hx*BJQzdf4%1eo8 zR9CL_l-(f%lQvrxX79GOEN^v(&djW-&CCE=%Ys$u+h3cuK0Q9~b?ccwg_FmVHzyg4 zsIu5bJwIwwWI|~F3Lq$74@rNWmOn{8OvCz2O%ODt2ya0J%qQ&-JIeKeo4PvR z=5W|;n6_Vk7@^x&D1~$|xXYD~%TSem5MsJmMBj|D62&jQwy&8>zJOx$#(&UZ+!1T_ zNqTKaX5A`a>y{J>r~TM!x-`)&yL2WwCrJe?P`h_{H((N^ENcTHJ=hKxh30n;LYn=BgV4n%tZ@ z@=t3oVBT|aTGF4lEr#N)4zxSKjx=sj|yco)l0)_dD%#FNyyHv!I+tZhEx7NEPzyiJsJ zA6n(+Nkh86SQ92=85MOX76j^T3zUL{2E z!@eSYVT&?hw+-1yt>p+Wj||2zvH~(TraBeq7n!mEn&|=l z6~oQ+!3;p7(Phw6XBm&B?)__t>@mt@Q|^fbps}-u_NG|d>82~RkEWaH2+>JwQQ`pP zQoJa|n&{y9y*$A@%N6z#hUoqJtA{(42B zKtI>_f&polITz0F;60~4v&=8Yw0+VrtCT#pH02P2pYPZUqxvq6zVOPp@&pl7r&lsXxyP0d#)!`#t}BhZV<*Rn&B^vzOv6=n%#(2$9YbJG&s$p();C)> z5h(QWYSwn&-5*DM%DYs)KqD@o^@Va&E=$Z+yq5sJS^yyY=Yg(>-xGYu4f=KL8K5%m z+n}@?9o~+VE$%u=xuISs>JsDGyArV+w(^b@~{;t=TLZZetDz&hb+ z1yk32eI%hNzQeCVK4tBs4|tz(>7?EYfJ9X;50p0tWo0aWcOkOn7QBFhU(5A&$M3KU#p?>Az^+vtF zU*M3dp)hf_tGqQCRvC?_vuRk4xTR<$-$ayO=)$F?ip^?E{}0yQGpebr(f+m|sDS7} zML>uZRGLa}K|}dt4Efw~aCCU5}zm++ke z%b!Vm{}u%Vj@QB{1=pKRqs?*YGPv`8)b{9G=VxD!z4FOrY930^GY@Bw85lc<;8cV%OS~f@d9}!?4_LR!-oVp&UB)*Rl zx;%__7?VW7eI*3OW!fQ3j}W3(x+#)U)8&)O%XFPCvwnk#C&GzY9hGzoL;>6apX#Wg zR-94bKIVXUKSr@9KBIP^JKTdkLgHt`-Y8RJaPnHjH3~YLSP{^)u{XvgjUkfd_dJH( z&Y-B8yI??I0^^|t!%X~Sq|lE{SSqV^y1$uofeKfae{L_GNOy$UD$pkbnRFe0`}*^+ z^uvXwP>(PQds2fafKx7V7)-sZjwYaC%Z5g2GF5gh=t zQo?_OX$hMvAzx3bu$;BtPcz%lFpU~H2ix~L{uYMnq{^xZ7)Hixs!WDjmQm28fD7{{ zB^aup%B91*OPBzGLo5w|VY7)2)$?zz#7x3%W#&@Ru(;zj^^+>oF+_ouY-Zy|slPOY z5?mPaTrcL{%2`A8{u8v*g%K#)m)D+)L>ki2T@ zTkXfBwWa9|26!d=6jJ;RQ1mCuLqQOBH}XNmylChM$Q< zcsFHz#5_7x+G5nMHD8rIQ)crkrWS;R9KbgLPlgh;kE3`FrWC1UB)-g>cvap6r(F(- znNHDSv|bpq4%=kW(#O;N?t$Z<`8iebmwJmD9Z~dw5Zva6!Wg)*oBMJ@k~j)>kXg;m z{P+~T!FM4M9|s;yeaVBK>X6Q#oShYjL*?ZuIQETK$5E-MP)W~b1@l>1A{@g_&z z@L`LSU8lAvE3jKP$^2+JhXUw?{@QW&@Pm=CHjJcSICb6#uiB#TbFsxIfk{f6Oo(BX;EM6nL?HRNaPM+w%z3l1>(n4P=_uP z*SuGIj}XsG8Rfl~tGnBxA@>k33FP^KQ%@PE$&_aK7AR35!Y~1L6xmQBD|91HNY2C* zb};qT#Obd%q-^hK#e2y{?*Tgzvkh_%$k5ktd#waN&K)%Nl1Z zqpVxHui#y|cNBU>u!+Wf?p}THH)D><9gNncG~DU_ARVP<1mw-+ivJneIZ8(#{26Pr zb2;oDigNupnUG;dfp=4>H{P}EV`1z{&r-uKl2@!qUS}EM&SqIhBhn#CMV*Rr>Gzh; z-umv0IpRZBJ}S8UNq#a3XtTW7fUeljcz!1QV#JMC`7sM(!V_o*hCVsJO8?VXf>b7L zzFi>5s(SMK(n;U3cx9z2|Cr;S>(8&hU1++)H@i)*r}NIqR{~l_GiD0)RhB1rxX(8F zX@9k^Ac;M-dFylG%NGoXq%&1bv~y1=u({%=M~=SiUhsZYEn%;_QrzuHns!R^v|mTm z*^2b%ei)w{N5i2#<`0ec10>Mq`7#s3&pJ(M!7*TE=(648y;J24YMY;GHHz`<> zyeS#^Ea!Kt!}bwl=v~O%!INj3Gh(U}9M6ubC*<~X^*g+ny*#nju3KVsoXk%+$PT|A zTUDp$E;&{{&Q>SR8IU?ME@R46^BP$>VgGO`rbg_*4 z6tr&#@1Zi&cR5;2ADU{*snGa-j<+f~rCCU>qq(WJRKxVD*{?}mUZK4T@{&ntkrRmB zjZ2V-b)T&@7CvHF`M7gk5;c7!L>Iv)&7b61NSz@h1-b32S}lbL+J3qaixa^49cbTW z<&KP}H6?z~?%EtdKsn3b2oOr<>eCb@2OyGR?1zp7d|sOMFkz`^Od1Y z^42M%zRQ6*zLt^eD_5!8enr*C_N$G*Ifiawl3GD+2Ddm##xAhS8ShmZ?l#7!9MO33 zB!3vnw7kwB{k|hj1doX3+-?wQ%!}|s?OKl8C}EbLwk#9yVT2cEx1_|~?i7urt5BMy zTRtlqx2Qr^JF`jeWg?Hzs2?;>y3!n0J*078D^9fqNS{r-d63&&O1PN*-R&onoFY_Y2~@}0r#IW7QNDCL zLnyP0S@)p@eT(zu1h%}sAcRwha_j^4aa@#!Pt!w)WcTPRm~(#p zi7&aW4pvH{c~17YRGGBW?A#_dx$i>8<^>)R%Vnr)yG_Pxi-_Iy$Y^Sb_1iK;71sLv zf--F>RW5fPkl)00nu#iuTO0%HB6 zj1N~@?_#STN4v8pR2q_jVlg^O>@C_B7kf-i@f{l>=Lrl)wr<+R#KGjUPBp3eJ52E1 zcAv`$d>%lMOxQC$=u-;U)e^0pt;rV!bdp@^Gk8NA65kAE&j?zXr5a+wV{HcxpFjrL z(*49X_`I!UYbH-@3EvB&(3;m0?YGQR2PG4x<`t}{iY=k-;rc~J)-UhaW#wY~X&w zGGfhyHiz9gphFC1n5=969|9ofT;M|o?6M5~$q7-}U#ng3&c1%hEh}EF;+_wI$X;ia zoPN`JSR-z{(O4d%o&wdYp4$JFk zP4i;gwFAKuC3N;`d0*09Hx!%sG2)= zf|v&WN?)(s5!ctN*u=&VGGkvt5j{9ukk3$Ukg+Mi2zaO!Ub1?i&bcHper=_NfJE`y zn#{oNl_&ao^OP8VPbPKcCYEl}fYwK5aZYuUQ?!lIksiqjQFtko6%>1-d-?YniT;g` z+pj0dbT7nIoCc%Brx@a0KATwN){lvRu)WN> zldH(wX^jhR7)vQdNVK}YvtF!Ck_MKp(xypp5X4?8ilARj zIGUD~GQ{x`CY~ueAw~dHzcE?ty6?(wx?Bh~ZC3>MwV{}~zN!iow)dyj#?8=Y2mgK- zm~W*u^?J6xR@}hUHR3}O4{P^!5)-dA=UKOKb<3ti6LWI4V}pQ4P(865fheA6&d@Sj zOWr6HP$0H(NIirs{+-->-dF(4DCI_z_#7uao>iNqtb@C!UpvCnJA2Tt@?~vqY<_** z@L6C`EUN{{){E0IL6#N?mTI$$7xA-*7-AX3rPd6r$?Dq0v;e>L?2r_auJa^ zVCxM zUIM6o*a8=e`3)~@KwUHwCX9KU-GBH7WlrBbi&bo0RqrzBP?M_6crrOBh-Fch5@g(4 z6#6R!rUw?B#EH)~ZRy`R-)Q<6&qD}NPdwx+`7D&9%JD0cuFnfy(EjcWWeQ_u?M6up zXb2w%8k8Ba$wF+>pew47;vZqB#z>hFBae8H>*s$6p3)L;5ev#daj1C8!dk5H7d?iE zC&LsWIop|)M-C%j9?gRED}%ZE?zrh4LGNFm^43N)MG@PY81|Zx@4Qj(tF}34nM28$ z%hyXnb_(sXp1EF#F5r+RioA#%NvYdVeFbbYYJf^{(M)M3-R5DjsRRG6M+y~!l&F2| zC63n%?@X|6dAENC!Zrxa(XoYvjmOX}EK-1sTAka*$KoA%9#rk0|b4GlJdxcM1k=t?_=9n3(e(R+- zNJg6+qbTz)-QsW%Gq2(7(i5H8;$*;<4BsROEXS1ZW$~ZmBJRbVIG5o?uH>5Pa_8Ob zih?sXNZsxy+tOjh8q*dQ=EXqH>6iyEENfcmK2~>`-K@dhc-9s`*MXi1s@=S|MaYF; z0YhiGI>KZ1I4vf3|GNIdPJV=U2tKjYfi(M&lZ*9Sou_!Vzqx?OfG9-9@rx?0F7zD> zF2ll(#g6i%K&~LxTOV(%?h{pNr>Tn09*tp}insd7lFp)e_s^Dd&IG-*Q1_V8^Y@%v zQ%-OGY=ZzWE}9K|)XCM?DUFXHmQtc^Pa!Nt_r6uj-BiNDaY)V~TMse#d;@g9@m_Wd zBC_;1s#2G$Mwnx3RfaWy&aEFY&nXe2(3s6{> z2q~{Ugo>l=QNQJpgp+4P(dt37)>>Ht6`qP(8<|B5*%F>hlGv2W=%j$g!3S=R22D>C z(GGN5G?J7$-cT2$cY8+70R}gh7wuEqWR64xK%^sxrudk3i_kl@c=sx@&%|G^V?6Y6 z-B-;8MRO0yKK8aX-$z-q*R)c$j(M~IFP(U_QDHe>#iE2ds1~AWFrCaTB`8NvFE@l%nx=X_o#kCkM41lw+cz(X#+s;7#F6)rgx+hgV^4Pic zS&DkX7pe7x;yGRR@V&J86#_z8=efLQKUwO6-10=zwF* zfG=KJth3oBsF?57cAvfVO7H8=2C?IhCmt0_5Wv=w&d1xz1FW(5re;er`Te9c$Z4;*#E<5nWI z`s`8PAwmxwYRb#ca6kGc3n7#HOP8xDH!EESZFcR_@Yx;sOB~+T|BKE_)T;K}qLmen z>e($QeyDcyZPHk*TeKSrlZP1MTN93jXuw%wl zRG-FQi*OIDHbShMv^E|G#ZE{*_l116Oy7e6)|=Tt@d5mtd!fdIvgs#dB(@wT>nwYX zX1C;c+1M4`w@Vrq`0!(h^Pec2XmD$gkxB5X?17Ha zCZu9&^s;laT@8{7CYU@;;*D2 z^(8aJa3L)rAl=JtZ9xB4A+zeVik*rVKsnSUN#?H9(r5^)JBWfqEA@B3&lz-+SDN98 z&Q?lDNeozKYGP`&&kv?rhQhwig)Y{_jx|>7U>ot~gK0)N!=WK!QCZy@bA7$9*#_0B z_j`spxsBo}-;q$&gKO3RdPZ5zN#NS8#Vd{HcMWHKJWd_xQfTK!z9J5VxfT}So;$@l z4DuDw-^B3BxZ4WvYgV904xDoN+7hia>u$J{p6Zqovm<@T38%dMS1M6_Q8BA`pJ&w~ zw^pM4^DhH^XSt>h982bQO?IM3Y$c-fe&~9G2yP8l+Iyl!e3tBt(~(ubyS!2axmC14 zJUuC^K66P+Ml^C>RxACVm2!t|Wz>O?9Z!2((xU6U3O{bAy5HV%{@Sth z>EsJt%tRhJNOlt7S($gzLIOGc!gX3uG1}T zFZr-tBD6=vz$f$Fp`KrbAN*mxtlvAzro_Wqwp^)i2{(?vujuy)@~f0YtT*v;F|K8e zoyUg;%9OWW#Op_azf$BS9DGr!(#z%Dl36=W@V;Rm)T(X!$!Cs?#d_I%v6;JG821T% zMJlFh{h(B#?sm49kRBM>3{O`G-0)%dT0#nmlOk^DoR(*mW@OvhrX@w_$nmNZ`(cT+ zl2&E>L91gr1yYJnl=gqEI5=e)U&44D)8JZ9HV zlNYj6f|G&|sJvBsWd7SF4T(G%Z^rg7kq)P0Cojot_L81r^!~vfs4wur^y@t{c+3YR-TFKMqCL- z^dagBUI-$t7xYN#$XkcazDfWt6)Kx!8v~5X@ z6K3eJ%!ga=miLEwZ*Nd_6-w3+bZ&`FKRIK!_+}vL+HuFen`i-tw9;^>UEcu{!vUxd zvxV_pDg^D9XU-J@5ml^5y^w2LoD?taQH>t8vgT^~qLy_T#^U^7w{NTt!S}gp-?8FK=koAs8H-tF zvVig_l{??sq%KQv>q&6e{S)b%J zcXQN!A!~2#7jyTAdqRZCVe8aGOil5X@M_J7$M1b@L?`YUcM=4y?>j2Q9-2`7HLtS3 zUI!4;9xP3TF{A2u4{NucTEWHQV`>W%!(4BrJW>*hR3^jyoJQnK8j;(F$pJd^?1L1lWJtB*#b_sD8}SwE62uBorr5~pqZ z{e`Bop>3<5wY)OA$5wrFW-(B9KUG}IGe^%f$2l_~6%})j zaX4lX3r@V*NbWx85uS{(=8~O?(^hDY))|2U{?FAHgiJliSsN1r%)2s#1iM9*QwOd@ ze-{us$u}MYxAE`N?O@y&qncyf-QCmuPqb{7paP9lpnZ*RlP>ZSq6CQN9%!|SwvZU# zmd}>mLk0u-rmTN~NAN^h>+)V*ZwF(~J=~$TYr0xPYF_Wr9d4wLGN*UTX@!(~6|Q#< zc(I+Y@oyKv6@TVG{M=mfPI?}G**Gk2YEjw*4Hx{Fq?O)sDQkCc4NASwE8VsBsPCm* ziT)jueI*j#`y3A8aoyvj?!D^GCyXP}$OshW@wFE+0^e`%3w-=o!`v_Uf%@T8FXFeb zpmx?r)$nryB!%MwqO#S)bL#IWE@TrIJzHDKR?ax*E< zkP-MOe8SxOq-1-LyOz)mxZV>oimR4@>9>ruS6#2SKlYufd~zLuThjDwAiu^eo`$TJ zcwE408^mqqMsc3UMtEB$!&y^`S1Nllh{d7vY!Mm}*)wa$*Ea^iO7mjHP}B*?cz>bu zdm+&dV%4u(RU7i^dG37bN1hVw;3Z9&erR*Pn@41?A~{zVh2}A1W0LZ)PYBv zxv6+GPbucht0fhSnbBm|#lM3FUGp3_J5SjSK4)SdSosjr$|%gH>icqKAYGy#8_}aDw0qyA!r$PJnu6mM(Yurnf8T%p2hnd% zRMz-Zc=GZOTbd7vmiRC$UAYT;9bk>?r~8YXLygqb-O#_;`~$MHK}hn#zxq@G#oqO*S3=nW0aoI{q|lldK0IKYM%j~-!DWIl<&b`0IM4Qb}d@AHVfgrq5{7`WVQ z_!5?TL4fOTyNzFW{SIG0?y7g7u2@4+_%oz=jdXf1$}jewjr(6xCo;{-SwdQt%Nm5` zJ8dC?tx=XX`Ntoa2X!7Q9DVjwX0OR-Zbh|IHe-?>n%sKF62i=NhWb)868(;Ax&eb* z#FfV$Q>0PLM+=jJc$is_QM+LHso2~Jie1{Fb8Gqsi+W21tqih(AD?Bmq`5+p7rgTL zVbE)vzy$$@{5)nrr0#Ne!uwpGp_%~99X0EgI-nJ7=Ct+oMlS8{{j@7DKm5Q{#`_Me z%db1<6ze`@C{I~e{mAS2n6qOyaxXLElO}Nx>1?t`NjlS8e@*qyS+Opr0u_xL>BK4sCw(lF`jk87VCLa& z8}F_5-nemW+>M$k19RUrmMJgECFeMFH0boc@3}?l-jkkCwsA5+r4cLnCIXX&m)vgVtjduc)Ue=&(CHFY1fpqmuLDsu0zJfti~jK^fvwprg_TaVyXT#TX1s?>>4X^v? zCyU*->T`K*{g$6MmcJo?*U#c@X|z1;4&NgWPRjncT3Eg(_!(${foQNh{F2t|O|0LF zaZl_mKYi_w8CsuBqyTE^zZUG|<;o@v@NvI?y1V|bSbOq5cS>WFXWPrO7_U7VfLUn# z?M122*wx=13tmMs>r`dzf=-wl4i@cN`SXIdzdB(#uOJa+fq_@E!O8lpUDFEDtb{$B z+9HKQYnV_Fx>)7+&(1!!rrDfzFT!8>G-B>+1dCAr<>SuVReB(KoRh0F83VOEfp@Ka zqUN4lzNTX(F1W*jd+I2Vi6#($+foZ4+PQhB^4>77lTQMA2p7-|yJbIWj%d+@KN`Hd z+H6jL2JD;)*V*<=38Ob7?t7})2te!Pd|mCvSsH}A0|ig-rA>xL!$`oRWQno{88GU__?vq!{rWkj8ecl0UK3%I*oQ2&`)oI}8RginMp@VcnAS2l zZ-jqDqej{9eixLSp%e-7g!Xg-9PeACK7v_?(JN+wwC0g&t5m(L+|PPbBt2>lH72PF z?oHIvd4s*&cAiuz>REMMQ_;4nXa)!R48T&FmW+ns&`lWgH9jA<6VnNwH8g&-Ly^pA z++=2LJiy3^YMMBxCR2gKDSiC(0~)0a4<*ioooq`zT~sGI1Q0f);CS`9H=ekwOpnh; zrDdM5AqjewylqmmWnOH2DTSs*bUrhy&d=)RnS%{ohUOnN?7YBkzk-jNTvpvQ)mXUV zgs6f&Y0+9!<*QWw$AQJV-&rDnJJ98u;3;{I%E2K0Wtr0V2Faj>% za9MK*Isc?3GN6gsKs6iwEup5y$CfAj-UhD+3&Iz$3+ss+XY(>fcWy(BS6{DMXW%w= zZDX28JJNYjalrf#{6(OB3urr&h1FD%N&vyC5%sF;;?&1@f>0DjN&0IjfSu#lo1+R= zhUO5Jt<6VVH%EB1=9#TKD_kj2hP@o_x)GF{@5qSUbq;*Hnudyi`X#S|ZF$wBojl(* zwV*^v&Nn>ZCF^Tc2xn@o18m7M_|VPtEzo7M6k)iXVM4f}bjE+{%yjW{Rj4$+v}@fL z{=EhCeo$AG$(vW|0se9p92PLac@l?&(gKMf;ZH&wgv&_4rnFIK{qfN$EXSsyt(aWB z{5pJ;^Z-dO%1mUnok%~KsL?(5`jzIC&(W6W!ecEuU1O%=KENi%x;rk_{ z1j{{N!}BK8Uh}igESI&dG|E(xMx8n{(g=qgzpSCd)wRBaY=YO)DM5=Sw*BN@7NU~g zfmFot3?B7MfV9AVyw%<;g8POKkDb@l*s{PQaC=pkXV@Gc94%tj59P-p;Np44#^VEE zA~|%K0hbS_hzdJ-&n8U3?P=A+=e(=C6D)=!y&26> zYE|aAS6;GLfP;l1_q|~&vrLw_v&Z5a!~FZE&yAK{=2c#worQcp)!IIl%7lz?6Rf<_RD0$!-V8Rc!mR zPELo?OqGRj6yue{Y6!>1Gc-?W+F+l-CDNscBL%GaeeU@X>N(m`Q{0E(L_ zy!*N_hUN3d3wN^*{%ydtEoscDC6bwF|4t^UFq1qp=UGcX9Oie7Tz%-(blBqwi^L`E z&>Uc2&)c7aU(uHB!dtyTd04JlOlVY0ureB!1v2t8Acv3oX6fM%MTW6$zAtOKHqv!V z;MUh$1811xjxGJ21_NHgSk&;%J>-sBw77{t0rfFrdA~#3swah7*cUz?D8X#lHyj;Al9dj(b1@-kKt#yg~WZP zZ}|PVX}!&dazAusmR{pOH7ZwCz5AY3oih<^AQpr!`V82mR`M#EV@l~o9nNBX6ZhW4 zL1kmB&F_bKyyjgxf94#QkfpVE6x)for$keBTm`D|TCsXL@5qdLMP1iLiH`<1F&iH| zs#RtOEAk7_=^BrW*c*y4|VimccR} z(J1wMYH8g>lL#%mj^P?K2*;XXxN_hLtvUm6&2zJ>$a{(Ptt&QyhgMkScuiw$fwb^m zmgir8^0tFVg^YSH_mJXw4R*NhIFz6Ej{7CmgYt!8V0#OFTK3~dn`1vJ2H&D+HwW)j+L9xN2RQTyyvQSI~6;{sK4)f86~FNDG=?^(z?R~db00|=3U-L%TC*s zDuR?A=fsxQ%_5D8B9?>8a`V)bg3ga&fMt<>Ll^E~KWfkG%in zbySRs58Iv9hQ>NzWG(@VCT%^i>S7h^Az`R%pKq9uq(>s5vkUzB;p0`pZG<*8^7=jR;V7C#Fkj_sIPFe`2U*ky zCDlC!;UYIf{lTT^8eYm>VCJRSZnE+5;ZgcqIy)vfi5si4>%oxY%oO3lr8Ga7V zw+I8fG(&Puo-rgZCo9bOH9CJAPq*WP-ao3Guw7-#H=wZ}<(wprqovAWc(R1b2Q<4i76@GFv^=_)?t@hRwYAYo+!;rQM0{&EFDfcJ#hw4e|QsZuVIrS-v{jiH0nh?7rt& z*Q+1Cy_3j$gqzxxv;00zmLc?*>zDO+_>`eto3;IszU(O(98qcNcJ+sjzg)kW2wE&Z z+V0SDBXFU$*|(62LSuof;L{ZdPUZ4wRD2~Yrp}zMMAVr7vXj|&#ZiauVgAi}QSegA zT}G2`UdKu7;^FpPD%%|}8)vy$yDN41H$L9T-a9DATi3|Dvff~Hz2|+WCMa&evx+~jNdLv0TB|{c8+3|zjydNOzZZZXw69q4fLdvpA_-Uy=ywb{ERUa`n+ zaF!x(a;fH|rn12?b-*rM$%bs4Q5yNKj6K4&hig!b&g>V)D5q?G_O;#r^)I8KXgntN zrL1_`yIsb|mEHU(l^%d)w@E#uV_}iz1`vcPUyR#8AL$zM>{(lDnZ3qH*E{L?QJ3^C zCuJ59g7vNz>&mzU_ax7cWLBJNIW}aH8PK z$R#sPHTj!#L)=$I3LoV73J3)im#3cZPTiB!gcXkbIYLXfd+s9024#x1Vuj0P z*$6LxD*o?S{gi8^Q>*g%=qf>H3{}Z<mndEZa}jALQz z;W$#0;6Cqv$y$DZt5*wRp(g(V3xAWm5v%bcl|i~`>cw+<9f=7?2Zn4yziwOko~~FZ zVS}sp?O}UzkY&GH9?ItIsCkbct~aXUi=N{coBtyA@P#!CAV9u0z#%|&|qP1U5e?vw15DHzAJ zV{l#L`utB@U+`uBe&AP5=#y4lBrg9WGi0vRh~KaLa0rO)&3@D#lE-@puG$6}eMqnH z50_AZ2CsOgS^7k}raD9Qwg&ET?G+FR0 zFDR1gb7k6l&E)_)X%-O>F0tSF2*_q-7}xB1iL$M3=IJXc%x8)f#ET3x-S+x>MX~QQ zBv)_k&mQ+g^SRbb>i+$o;ybWY0U07r`6UwDD(y+p6GHLx;CNy8-`dQDVuH%Y*4(BF zmr$MLvzeTc)>VIfC|#Yy68G6p}ol+5ehTM~kzxf)YqiNFzGDd3L z2v<4eKj;_k?J83?Yp;J9!BmSDZ;E&PDLIMNhn^;IP!fTw?FtnG3MY9QE@(b84fhOi zf>!hjWL8IXiZ{4IJMChk#6CQd80`(byXlr}8h1BTp|Z2@&t+ZN`;*h(`j2`y4B%X> zcmL{lv9aYJkjQV?QclNRgv__^$tO45b#Q%o zsCpL03;a_#X&~5Jv$nRj_=fY)>(iQ+Wc%x3+CcG8Farr2PV>!=A3u_^&T%fGd%-8% zy}t&83ZniU^_X3Cu+RVV4v1{k0Nc}+<#SF`S3i0+azy=69c-xPcEj)3t-pwZP@Y8k z{~jhj_XB|It||Vh$w^)x-2qb+`=@Z{f3M8B4#IsPIX+io&4$mMcN`{8eJBlc`gyo= z#aNEjuaa|t+WDc-X_^O+`~Lj2o^2JOXG?`ufu4_=Xqbr;KCgq@0W2zYYny)R!R$k^%2 z)czSZW>nNbygMnpd#2yU5pM&RQC1}X{A8~xJ0KA&&KWWQgB3xDkvuw*Wm&DNxsuHS z7(tJeJ4ZDBYw&Qh7vPK$p5Lk(5Oti^7yzeR+xAa3oa?l(3qF5%CUjTDH@?IAT5C@6 zRyWM%I8kdY+pYjwFT3s5w)zhQKLYcvBKJ?OK^4GQ<&Zwt!}g!zbfR!VuUek201w*9 zMNt6*$t;MZZie^1y;Y0_3E;G)-&Q*S9RW&uP^Q{fd>Dw{67%1;FG;h{OasWBbx@>;BjJKTf?j`}+MgTmct0&)^dN zl8mBuz)`ga_tU@}(8@IxYVr>}*C>X!{8Mu7)GENc_Lybl58s+o`qq27MaEF3Qh2yB zJwl@Pbi|UbpU;k2P8>I}&LSJj`zIlMpr~orAg8J%{qb*dgvrA&K$7rWd^@`-Jd-4Y zD;pRQp8bR`Sf10C_ujGK%G;NdH@=C2O}`_lY26o&oDsZ9q_8~yBz2Sb3AqUVfC82S zMgr+X^haJ57+>ZKiglbbF_!${1WwUW=V!7La4zB|iKATPcIRW>5*t-t(k7)g`W-Pb%ecY>hE_h`ReZx0tfM*&6Jr+)-X?) z$mT@uFzXX?oR*?Gf;XrkssgRGC+i>JhJbcF3v4wd`T6;Vrmnv@h146@rMpiKRn=kV z8+oTbFv>2Tamws_t6^D+HTWJR&ACZ|r+$A1Tsv^ivr}^+fM%lg(MN;G;FR2!Id%B* z9+q~w$XRQ8f=!IE-0d1q42vqkaR==S{6cBh)-ANk#1W;2yxgX6#w$!K4<*7jB?xVO{E zbDwqi($86-ba|xkxcSL+R1L0yT! zNG}cVK7q}@Thz(b_Hw7AbH%FNYNHTohETSlF`f=-)<|`*=&J@E!i$a_VFMSOQJh8y zt#}b1h5>&yXO__8z^r`Vr&YZ>%w97SAxAjo`tjaX#NeZkg|4qIq#+GOKT~`5CmpcA z0B5{FEp9)?6wqA!A<@wu22_cC>e6BpdGTWEeVN{kdp0$33t1!TS1dV4MWkjSyP2MC zxGYeTJPQuL${=zFL%?Mk1iEn{=VwTSnBIlmZ-T7=z0byB~ zRu+GV#KXkGT3S}v+Dfx!U2sW$VPPOgID<%H$I~yp*|z%OwJpO@Z}S3t)!Pm&L0&&Y zE#a$D?W*)58>Q86u1%+1yg#za8M*u={#P8gZjNR+%bPa5it#(iqgH7Op>47a<9ocq zhO5a!KYD`E&gF68sjn|3Nf5ZEKz)W4V4S$QG?jA;h-d8S<)7Pg5v;NsCAM$9JZsi% zSkCuo46t92Lq@xq`obXZcCJog7%;|8o1Fx|ORfdn-)2W&s{NL$%>L9vQx^NNaF(xK zVD!Wps~2GNMh}k!$!i;kFb#77(F zVGizLs?M3^66#>AF`cC_y(Hmk87k54UVaz_lA3d_yc?TwIS5z$Ovh*A_OE)a=bieV~_(kvzSTww%M_RO#7OtbC^Fm}uWt@Qg zC^}qZRVk}^=O}Tj__IDf>vSF(St>8BM?k`vypC+KA-S;M5S$!&&zzXj^rMbhEfk&K=01ad$i%;Rl<=V%tKJG}r;8~pRO}?m@_d2lT-Ey|Q zXq~fV*xsG4YCLgDVkjWWMro*gy*yPfdH@=2Zp zysAZASq&l34EhCNqij-^qY3-)_Ex{!)-Abp46jinp4-73XJyelqiG+S5~%M(gfHBC zLPk%dU;N+!^wFsI?aSnd2rNuWuuTs<5jpZ_!Hvrut*@D#;ZQ$0Td#QW-XR<8Ti1>~ z#%&z(IQHWHuTX%&k=UkLQyP<=f#mK!qMp;pL**(0YxuETajPlr50S3vTNSswaZ37e zBPipa`20fM3^Dm=@Qhw5X)GR1wi0E_5yqlNgY4Gs;?O-Z&!NcWnSC4=8p&jbucW) zU`JJ}Xy`?KU4HYSQE_|u!itPvnThDAIG}mR z*xn_cGDjmRMnzE_*GDQi7K>$KAr)4RP!`f=zVJDLu)k*68S$D_0OJtOIItGn zW3Cqyzz}e#zdTD~K|%6v66fePQ&+xBeG#v%0;K(Q`4OKPmUpBT(u=mYm|t;H!B`U2WjPD~F2~xp(malo>`uk_2H)oo zXp&Dg$8U600HPvb8vJ6NO*^|Z{O5lVu7*Cyb0E>(lPe%Zp0Rcrx$M&GdE zyjw3{0h&@0&aaQc#8dyEISLjmroYk9^lEp|@18r}`^-#zpIZj%+6O}su1*C*0rivj z!$Z09o>s+z2-yH+hd$%xmx-^Z272v*zy3R@vxc$(s&xg z0cpSj1~S%0hH9(xZ*G@kx^{siwyWo&AC=@tF9 zg%Lo;_misN?9f7u-#h@!EPStTeyB@4VSaG4;Za-)0 zzYzm7eDl_urqskm1n|7vVC{Pr20&@#GXHu}KibW^WlN72UoJD-|CaHbOSfedolw6h zJ5wxnNE1)zLok)Qfzg=kjMh{=zn-1yh zSxt~nn6Kwtc;P-_7t^#A^t3OXi8%6afr_7q`-d=7t2b#ul#B^ux9^`WR0gCWxttK^ceJVZVYXi8S|-a`}sxgPhVrX=pLi=;ihjT-{s{8bhQ z5O-UK_$G@;dWHw!|&P^vnJI?ld^4 zg-lM!*4Z`4)y+lVR1Q22ogK|HHra&>yZw?i#k>n!o=f9KK1>v2bdkk1*RRGyv^YC_ z1fWK7xK^9t8JvdM$c62jn#A9juV9;kqMwNI4x|LjzS{QFgsvKIzIM;_a!C9+f6e;9 z*}I&*$`Q3&Z*A&74g1((OPwvoo*ay%wD}ja+XmIPvRs{l$(~a|ojk3S;404xoEBWA z+(`O)NZsAHGMUEjgtkJBm;cB0>wuS4U)sIUO^C(%rVKWbvOsDMTI|xRz`GqxYK#Qwz2|p-r`*(|I)bkjcu3-<@H76&$19z@hB*>utW*N-on@#2{AN?%? z$Q=U?!W9G2gEQV5)|E#%(5H%i2WYUVOr^eaLsY%ZI1}l0v_5Pl5QJVT)3qWHPH$9v z-UHJFg1U3Tdb;w#Q9#{!&qi&rP!hztsoZpuDS{!m0(On7j(d&eKKTqYgN!7|jIITh z=FeVZu~Lv|GZWR*b8D<`2R7;Em(`AzdjP$t7oO@;WdC>-4Y)ps1m9 zQNe`v!2jmAMbOWyFjf4#6Hk@SUzqb5#T-JALb)RrJ486bbc7urG6Pj?s`~PWtSG)fYbfTM2(kIhu zj+ub7H_l{tcp+Z+)q?X3_tK6C*6Ro#PT}kj@MFm14opUjiIV51QZ_lLCap{sSPs2~ zIIAm>-SlDM3|H0(vF@Ek<4l2w)yF8{Png>ZAaBeD4S^l{L?>{{IZYj06S+MZ>QmIk zaIhCS6U6Xhca-dQ|JXFvAk~sM_I)veT^Zq*sKJP3gWVk+_sF+y?N`41v|gg}gt~j5 zw6a4Z7spIf31>0th>2k^`U3YD+OEtQzf9z33d@>8T?-nd#>NvTz~y++iV7eyatvnu zT)5oApOMmxQ8qzA-ATaaGz1*);cBSWuaa;PzOHp= zFsiw;JjVF!)gHe}lmUU=xoQrTem3@G!aQ4dlLr`ofcrs73$>AVbU=VwwskZPfQo>G5>z_UA@nYt5Nd!VfQW!0^gt+~eAkV>d%t_1UB(%E?C*?| zKaP>eox9{(*IIMUxuy_JRtJ)m_7~ac0CVF7!L5qi#gJJb@^ zrH$#1khJM)({ml0)448`M~LIo(u`X>+^;h8wx~6tLF+W+7CWK?o`h<_soven$Vg9n zTgK>u)K?8T+mNvjHjLcDI>|am;}F?lFe=9pa{H)$ZMJp-4C*8S6v@Zy;V3ruY0G=n z1ik1bQM`TSaujCYgdS0$Nj(u)%GAN(ZBHRdErtT<<4)59rvNvb&U29Kk2%_zG!hW1 zu^rF7?TdnqC0eg(iWIL3jW?M1cAr+Pck{4g0Q?w0Z~O?4JVdid5xSS~Fv4;V9{(uB z8fSOJ7Y0HzJgwln3n0ll0?mcDm)(ZjfpZ7mA2@?b)LvVs=D2&$RTd+{T;@u~*hk`` zuSEz|GOLhJT(+Gw6J&hUh?toJNlcZ+`nn4Z1Lta&tk}*y$B9fp8%?p! z11X4h7h$#tB3KXpi%`O%{A|hCRcRGNVHrnM#}vzcPRgz zh!R#HXALVDt!@)8T|3trDKZ2k^D!;^ni3KfTCsdyK*?4x!Q;|?d!0;9Z2wEX^=)C@ zu7)ZA)!u39O5cq_X4X%TD;5#`^y)$SHj!{?^IJ?#sa`6Z^&=aj{YV0+hp+bBj1SoE z^ZV7lDN!_ghCiO=bVJqA=J`XJY~bh^jwi;R<6KH3xeB)WtF0!KTTS&khdU47c~q{d zX@Z0u2;2*7FZbMvY5)OX^0{i1+4oIAEqia>ZFfV`mvacdr>@_jN-ZQ?r`aa%Iw8c{ zJdprX5YpbGc9|~<6M3*`fH|x1<|$o;?G4%xR0B^w42#0NMYRpk)jkRaUB}wD4T`*% z8McjHs@pY6x6O5o4Y&22=-Pv98Dyt<+HKrNtiLb+^*Ln2Y_F+Yl--q_-C*45Xn}ce5gWz$|9cQMnWAwTv7&q`>Qve`pWM^yHfe4rG?+R#eTU zLmw_7q!N~Fq+VtVuCyLzBkosE-wYMuM$TEkSL5^wyo;tu40T`6%V}(+p_B~dvSfz~ z-=6?xH#x4@anD(_&p^p*yJ#JPxgN6VZupWOMrXHgYZN6;0C3%8UomaiyD ztb^T_ihFlU>6mVqEF!$+! zyljveIJ7-cP)DKYAxAyN*)U&D>v->dx>|@No3ZLe#eexj{hfUZjdYkhEMG4qX zI4gM04u?&)$4K~YGnvFWNBTJUUEP|m=U}k+IMnRgx2iyU^R(O1^ueYa`#Z(wcb@qbh`#idwQ{vsXE&Q1@FtstPsY*~?^#+wGdPU!35uHq zILYMmOi$oF+slY;7^lLKv`sL}&Mn%|=`{wAK>CgzM9jm6UfG4a*6E~huFfA4kI&CT zA&AX7dQIV$S)e}D&gCY;&5(cHW-iNYR z*KA3E0jVb?4qmsuh?5MHl@?B0wvcV~Oty%&AUu3&TdjeCv&?AZHO0m%f@uy85o4up zGy47!P4i^w+Cto9Pz_{eUaX_7Jt0=L`UGRyZC*7VGr4NL>sqiCkd^0)Djhd0zSkZc3OpEi z0y%e``IZ7_`^usH+55F?6n38{B-1(CQ$58$YFHwf6`3y|H{ppgHyLse@XW24A8M4U zn+g2>((|hdN~-qkwzI19Q{99Z4Y{AMC2J(__tWLcDp8gOVECkSgbVAfefkO`_lZ9v z60--!0&K@Q&xHT%3o~#T`Pd}Ve2`W@)=>4_^`kw5t^1S_9kZgnr9InRw3%khs4sgd zU~jA^rjXD(OdFZpm|OzXR3x zluqKMl;Q-~qoi(-7wO0!6Qs8`@Hv#949*x;g)@7GD*)9LR63YFfTpB;)rt+HZJ@l* zHm8)T4NOPzUdvpwIY@Z(aiT<EuPOM4C zZaEe=6h2V+U{amQJ#a0Ne{MwQr)?E)&|&b&z4w-1{|~Fd=b7DprzUb~Zyzw84VTDi zE5b7ZD8e|ep?xj;qmxs70845JbZ?~ffH#Pj!|TSPJW2n8DW z9RWI?7PLiFtO7}4FKHieeIixNDLkB^t4D?;3&snks15TJqg0ATVYKKtBUMifdFkFo=lDULWj zEWln?ciQ-qQaW9(!qOG?#abqnvVd5o)8Dt&Kf2kvDbn2ZS_0t=YB##IeVjr!e}%WS zyWYi9*hHy*Y!;6k^$KRQl+m{w!*_@qUO}$DiV3(j(mlQm24gDSNb)yUFG zyG`2mkxtLEjT7lcsqEHAnZf}LOR1P0nS{_Yn9K%!6}-LbZk2&TghP~X8(e_xB_wX9$7oe+8rNXg-v z-m0jpweBZvraIsYhurh5raH=?LU=gC+V-|Rjw0eMwRiY?WhB=w*Fsf2jQ-AOeBe`| z4GQR983RshKFBY&6dnbH_z86R<*O$s(x5S49jD1P^%gf5-l(Zf{297U6$=np5)yzw~XP(45xSv}R+A5N58;V=l_t!@;M;I)$ zvQGS;NhW8ixFC!daMiN@^k7Q=xQw`NSr$@m+P25vm%xi~K7$us_0IXu|IW400ypLe zyf3O`OMg2g9C=6YqwGO3=ByYtnGmPbB3>#G=g%B>kF z2$OIA8Q&$B&7Ti#IMC~k_m2NI^xxi}`k!;$pyQl5^WRbA62bC-Y%!J-u${oXV6EK& z-@QyJU4w!j4+*t!) z9NA;10D8TBZ%L&{D;XF&1JV=Zh7B>b$Y<>dPmvy31Ol=`bbqRa8)P2YHrHF$iV$_O z99apHrwyCi882HPyj5qUsCn=oNdLQS-SWWrHU@S1vYp3vyl{r^jQk$y19e1~pmWIX zyU`URxh871@N0gkVZC>rT?$un6?!z#n`PpBt#zG8JT zjok>4sY;q>i`}tDvAwhTLrL zBlu_4i8;|4UqH)N!yOpm&Ss&#Rsejgq<&3SiEAJMgg_39OidC|#xrSzokHH6S{G7Y z`+A-_B*Mwz#P_Jp!TDLu@(bUKSBn-R72O>{m{zECY0J7Z?x>9{|M@b&M=uxWSFk;u zgNpDCWa&{YP%u)oNQ_-4g9!)Qz@LGUZ#wdqnL*XRUK@Zlqynx6oPvEFL~0$lxRUXg za|FlST+_bf-L>gW+Upc;&3Lx9qwSi`?7OD{(6{y-jXLZTml zJCu5$T-Ic*4zjT#7-$K?OFxfMr=}p+ksW@wfqFv@b;y>@b&@L@wl!2wRM(E$YR4c>mvRv z=OJ~2+(!J_j}=SeeQF7s9WQ6JT!vbVR;H1HCeN8@kg@#2C8vJDY7ZNm z#hTD7p`1ZGrni=IPG*9(@lY(@R*B2MoMcq6T(4@JHiO+XmtC~5*7`6LXZ-_=`X7;t zmbYpY@r(0K-8&NKJJIv4;{2aycSex%$iRSl9#P47H zhdisDivWF2BczQDADH1j0YSk=M)86GnzO;Cq#HdL*R3Z+*qRx@@?*1Md3@BL9{HV-F<( zF%CkW=cr$9yzSb}kNdEWP?B4XD(~`rkJZ%F97Ax68U8|qT!C;6eZU<@>^$luUo{MT zD3njSBQiRg0S1eHm9!~5aP)xKfulV8_wSfP@A&uxxIn2sv{5#tit0urP!0cuA;tV2 z;!;@)sl8RqLzc$+4_{XD2h3>rWwAmY7>;=0r?k2NCAjjDG6iJg^R#Bh3#|w0=qPFA z&%qQHsAIZB(=C>Rg_;Z={uQRdQrRwiZPJ3NR(kB`N_wQh)wQRJcGusA&Fmvt$Tvr6 z1X>3Eg0{1sbIn4ci%+c86p}FVB3vF3LBF^BW7&|Ck0#QR1F}4}Q~_3~*@#YE5u3Eq zs-N?q#~Lv9Fx~vC)QMgP!D**&;Ebn6(Fclz=WJ=FjR%x(s^loXn5z+w3}%HtOp&9;JGj$O~;9MI-x` zMKm<5pW=EALQJZ!av3(Uq_ux(ECXeqWe`N*=2>-m{%m6EAv0-u9~H>bd*+@1ww)Ky zjkr{5-uP6+_(!+}Rk2H8qjR5R4EFoG6-hx38>IZjguE1MH<<@xL+>p=9hk^k^Okvm z|IFQr90s1K5l*{3mREoCIUZGj`5D&i{M>J@hN5S$qZKE+LGC_sGS;%@hG_wfkZ7S` zK$|wC{e4T+9rzN$NO#Y8q_)W5qs+E48asaejv?SOxvVt3?{PY!|5jOub23b|YB=*Y zNzbd$xlp#vDtmbKlH@MO0j+q;;)85qSqG$GG!w-wj<}9STjK$1zMdF_?YtVB#|q~LKAn$I6D|FP_(-6$Jg0dBIMib;cuZdB;pM_cmub{cN!n!r|N|4*$` z>RIj(S7l8ld9mK(^!{g-2~yuuTgnsw$&4g9iS=Y&BV2;7_nSAIQj=3E@L9YUK0z4N z7Xt>Fy%+WXXL6pO(S^-Qp60(Rqa(nrXe%7s9Cm&C_h^Z3N7s)#2BT1Pp`-!i&U zAvP8WFj2M0K%PseSngDipxWH21PK>y4A_U!azw8HiN=;INLjbIx~}f09VH}5ymg=V z0*S@!tWLirJu+YgYpY9ADE{%KDB=_ya)4PmY%UFf5ZzDDkVhnm6_HksbI*)A{VR^Cm(@SPghSOH7h1 zupO*M?d}C7W5@Ijn>^h8?MLy0DvM5ck#S71n}=+=^@0{n;-Nk^l=hiBTlDvu>eQa0%;juTLe91vt*Q{z6 z61CpmDX=~K0iaN!IlC<6bp1Rpe#APedQPEMmRdz;X8~c8mv+7DtMB6I=B77R$?eX| z*vRvpdzIG=(ywtfFfTo1Zao3ZRk09E6)=by6z<;CM`Cgixy0~b-5}6a{=6T3APMqi zRZ`b81iCiwi;tyDzbn8i?ea)q^fGu2cDcN=EaXWGIA3$NQ^J&Hg+%A2Z`}}-5daqP z;Z3LCLe5ff8II?3*B{XM_D(Q&_c8^q?H=oWqV%5iDYyU3DU5K!70dOz1;%(iMqAZ@ z+Fri>g%~;akNBLKv6vOV-WTx!LZc=;c9H`dxo&b(fD3E~tmyg+roU(gq|8?4lYN?t ze-p*t@f!tO$+4piH6=Et%F0xqDNfPP$4qoF|9DB1=hB7Kl1-~_%NrET5%SSbknPak zU;!clPEUIbkb?^E&iKUTN=Ty3IhTT9OBSF=y4p7Apo8>Id@VC}$t<8;F*W{$;XkhX zo$JSIe9UpZSU4c_*ypP`aHH7OaF<|(y}cIo8>Z!vjPH?_psLbTe9SK&lF+TU*f15H%Pf!r(kaThH9 zRO#}c0oq905Lf=xHx;x?99BediF>vJk&{yh$FFJbsRF_am`ygWfWRC|c+E?x-cZlV zf$g&%p!Ee=O!jI&U-F2O&3-PCkQ}6Fpk{2n&c3LxswP)^wN{otCr^!}BBxW}d&U=? zp?Q4TeZW8t(9I~Nie5Lqul5$^9@3@fgIZPC&JiCmN&0O?+8hS<*cmHJt3%8LX^hMO zzPO{=mIoP`o|k+XgfA&^U`|5<*3($Q zWqx*u{5bvDRh_c$K}>ipPB16PvnZjm#b(Kq<}=`qMOCIo=xiB~7VoVycT4hEl3cVc z@DEAYm|)J8ta*m&Wpy?B4a?cNHfcjC9f|pWc|2YJg|%xCuK_aXfa(`m{Tb26nmq&8 zpMdEWT9rO&ji$N=1zlXV*^lLj%6x%8`7 z({~_$$rJyvzob5(?`MxL)*Aw*|H9ag3*i1JU^(j!p*)lL6Ve0mGPEM0U8sM_Rso;? zM+&@{h!=$A24j@``z*HaCEiKI=l5oh6^m!P_Va5}`uPDHKD5mDHQ#WtfsiQj`{2Hy zF8520pvsSK5vJ9d$n#;nwJ$aoxk9OJh9-q8-%e_+`&^nu90e;5Qge9E^hRB9G(%@X zqFp00nx(rUL6YI>4$*Cmf?5;GpAvQ==#jyPpu$(XOcdej6&NTc^ULOz^C_m4m;2RD zEs<|CS4N+N*HjCBVEq+#PqYBg0y$Q*HCV{e0#|BsLL`Fd3%eXYHbQ95LVDt1=6+j1 zzxM^F+pGLcgVXI`jk11}6l@kWMAp7@T~Zmo6S6rV0<(9zcxRurh9dSV=PT~#lHjM? z3xPGQ!SpKP|D%UqF+^FktnUpUGAJY~M(DwLlW|~52xI(|E)&hI4C=MfnR-8zfz`%YTdE(mo%48V)}3;+59=)8mY<4kuuxpkhm(*_*lKi|@$Sy9P{Tqa#o*fP?GM>6VJmoN2Pf&_CnP^Ihk`M zfm%yxOo$mD-ZUN@yK5AC2%oGef}_orcAp&haz(9Nxi;S=&O)teW}@C)LyO^gNa3Kp z$8bE~$!NvAGm7V{_PPJQ5gmUrX`Sb)iFayF%p4PC$9z1Cz#zHB0}2ljh&2tSh* zT_s2Ezeid;l*``Xl*|*a65+IX&)I=`q63Rl2zr>lc&-F%Su_VP%5x)kPo(T-2)dj7 zb{$PBnEFp)kEcyHMK8h1n8R6*jXm76{RdZ1d!zp;B_)rmzV7A0O`9vgV}XJYxyb9? zxdYU{qr<@b25B(LP{-JKHW(5&c;7D9npYxbSxXHMI*bKae5YfGiLT030)u~YMoHGf zv(vH`XhoV*XZI@;w8gBc{rvap;@=nh~8Gt=ibCHdhWg4$tb9!4=2PmQMT*l&_v@J_?{iZrW@SD(l-; z!ymnN+sQb8l|L2Av5a~cKj!Kj3Zh+CVPo{|ka2%D4v-E>xAA1g zV?76vjaj$jcl44f0BHA}d<}dI+Re%i*o?)f2!H{*e=LCcRf2tPd;j+14TTLsT3>a5 zU1v_0-cOleOkLSC)H|uo_#S<2<*U|r1xR5n02}X1XOcbitu|k{!v}{uAuWTQh;x}p zjWYEO0$L984py+gM3`LM4o!}zW?Q^1@cWKGZR$C_X9mImAbrz_j?2&>4v-HczOO<; zF&BkDg6ln~fkjA!B)Bi2n5DH8{WrqN!@n9{e;}O+v&_3^9tWRKh(mLrYr^>-jgI`j zE6riaH}(<-JAcNekiOU<-dpEy0z_PpdF4`DRc3@BVpJ+6O8A=n0jzRp8OzEEusf{B z|1S8Z@5tRsMD3D-wM$YH{D*UelF4W_jFd4@`KxMJhnZXHcQ}D9?5>9BNveT_6A1XIe?EMu)GoW_6tC@JIiZ5Y=#FkH zIk;Juz7jjK=8IxD&D|IvDeW$wwckL5&l}7rotqi5IF9b-@vR<#@gxS?o=a0x;|H3JOerum0UU5LyGcnaM(4||r z6La~iM#1Et>LiIq{ZH5BP5r=XjxTE-WW>wYFOW!H1Eov<+~T@kN#42HwjBR%ssh!p zGR$5anic?+qV`yJ<8);~%ves{PF{60$@x)YJQF$&lE`On^qm=TiPJ&nOs;GE5r$LZ zj#&x65c&b;l0@+w+wlem$-~G0Z%gujs=m#FuWVOW$_IphshZo~erHb2wOzyJi3*;0 z6&f14U!Ca&yQ+-pqw8&hfj9PC5G}E0Yf;kCJbH&1ggvR|7bMk?^rF)#GH z-VuX9Mcx?V&#}AL!4ujqJzJ2sBJR5Bf>PVV1YRzpM)|iH(|`M6E$xzvd^VS~heY~S z3m1RX{WM&29sH)8K0_E*z^U_SBSS1T?uC}mOuuW9rOmy0XpWstNzdkh4)TjwX5Qo2 zH*LJ}4cVXWwl-yHW5`Ae#b*^cg6|sBIxEUMXY&b$x-qm%+Ss@6tqqSFRTWi=W%Ru) zlA0d|e`7ecG-%%wzS5m)naQ&Pn?h%s`-Ec4(mBL5A`OhZ1|N$l;RHGT6`*fpTI)k$ zx{M1=bK+$)+WW+myjqy0XBQ&Nrx)-V4&d9e-pXyq&t%`$AG7-?)oZa~Yktu-C%i%Q zxV>ACoPojC&0L(hv})dvv&hi=%kXMTnq{anRV%9kSyz4Zg(Hh8YNgc@`KafySfscj zv(0KyMp5=&MNOP%30XflXwE3VPpt=DjWtCeF|d&`6FKOVzW@65UYXHHtdu&XMWvQI z%;a2Oc-a&!9DMW`QbXX;54cG0#c#uk1$DPq=EfRv@o;kE2kz2^VJ_uUN=Ge2#qMVz z)XKR^xE61jSD0*kx{53(ZmqRA>f6nzX=>8ieuOd%o3&2>n?pltrTO~)6+P+$o~XGr zchjwCn1ML=v0QLd1k^CxQz_Bi=z?|UDbbGIg|KI|J|X)wWPOmvAO<} zk)bVl6Lq;*OxA>!jikmg1rFbB|kt z?_7z+RGF*;L-xyiO=sHAWKKi2WgTGO8n*MTF2agZR+&P@r+#HxkTgRbQHyKSKDrf- zIX1l6#8uUzxrpEoWi!DD!{bqDj^a+ZN=)W!*Hspa%@D6rB6S{4EkKs;97shaoQ>#p zTd%0KSS(Ggazj=8P)|s`Bpgxb2OB-kGVajhh|=jn=yE#Ovy#2cJl12ImTl=-f_z;W z)1~wH7s1ixmMzEsoc^t$DRV1|Qe>Y%-$fB}#)aaj{2I0A+m78Jl)SPZ$RT_ z+;5tj|F9fyZ8NA25CjLQ>AGS+tPl&ciHiL2p(Hyk?N#)r<#RFU&zZ*&coYMpxU)!q zax0hb>w?C97?`?Omo~uobW%t9wi?ETEjI67fllUH;eMjx8+7m-`{v#?uz=4!h5oSS z;myvy(8s5)Gozq?na=$G=MAk@Fp!KIS5*e7iuWzM+ z_C^VqJ>QcBdMS)}U|iD0 zIF_G-1(xN!Gq%HE=*Jsn!|{hR)mmCw1IzsgdtesqP!ApEnVC*B2a!t1a^CdYTrc&r z{L2bBO^kqqdGM1EHe&(q@cmgOW465IN^shN(m)0zD)I)dPLFW@JL|IvE5=i}Y`FX- z9F7DNJHw5dA3NLk@d~C7mAjW$A=3o?R!xijT#?!duM_s@3=mvkXE`)Ys;BeY40{~a zyn%BO+4;xs6ETSPzilw|PO?Qn!6WxzgD->by2}`bM_$Yp8e?sliIGB~sWyYEE}Y-X zsM*d%B)}{DY_YTU!W@mNC?46z(zt>^QvWMxQ(_3|l%1$(-uj{5*iKthGh*XIJhGcB zr6--f4kSM=;=vH0$% zCz@)0m4$K{_vJ8uN^}O~bzj+Hh$D~3Id?evLMLC7mzh{qRdvfAAJ#NR=q{_js$>(J?_wn0Gk*eT%vo4I4b1BvdF2n?Ere`nzT^^@*#vNrduXirG z6XjBxxLGr)o*yM>?5(TAz|m|c<~v@J2U8Cf4Xh|l65?kY#MRweu| z2#u*#NF{~z`?n*jT?23@G1Vg?>f)36r5GoE=uRdwe!W*~lK#d!U9qii&f;D*UPcqx z^u3I&@mng5;FNfkv$+f#rogH*0_Z(cW-af6y?+hGXK$x>B?tFuZ{Iy!6}&8hy~Vde zvJ~*?xwy3zjWtor&BkKmjcM`5_h)QcHuI+nRrhMnZbnksNeOdxqyuwv1dev}kJk(O z+O!!qx`Z#!&NKa4)*wM-Efy)BVY_GW@x+lAO@mF``qOh;ryh@0PUm#MkLf<&3h7r@ zQ)2{&2(g@%05aF;ncQX9ebb*Kf{5)`d?U>E)Jk<^oG{6Bml{A-4_b*EyX$|}_Oc&mB za{9`_o=0PR+Y49A$KKSw9y?}RP3M~&G?0#eXDC!%vI%&FYxsD$WW|u(#dG_zGnTdQpOvt=Nxe`UQkeeplZI_hPaGZ)D zH;Kl!XlA+@c-|FcxHNo9%tF24(M9H<$e5E64#ZbgVkOmir;iie@@({n1z5-!V^^;S z0{8m})rA(}zEA2Nl#gkey?5qUm)_Glm#%(^_WV4(l4VY>Vl7c|MY;XBPcCU@C24d# z`x07(hTr^lz)mo!BB?lXi87P&n7k4us%tRWxU*?~?mz#W{%e=-Omg*xYDSPYM)(lL z^2@#FuSG@OhSJa4Zf5(^llLV!EBn-bmY%NF(HTrX+cqNzH!_U~q8CU@5lU+=DCt%V zPVvT)CsmD&5tezY%CT26E_L-1QD!9#ysp7bd=p&H_Ts8Ow=xhXlEBRraW(vC8kdH=3wBBeg%FxzUjy;T*6hEfw?WaZP$~9 z>ipdN80tk8q3EmLSy2vb&=XO)QS1RiD{3x&$b zzJ_eG=pp69>cj`!9M_%ciCIh=hByJn>VWcWvK29?ZoM@=G`MeT%dO2%C&Fh~CCr)B z*Ve5ymOvxbM(i?BtJ55xjUVgJ^$*|tRS;p=xy@*Z9ZHMX8(l*5$P)HZaPj$?TO7M@ z=l8MXf=e0WQ7Cd!`Ruu}8lc>HDR|= z63Nwgyi}wSev$pUcTR6ecXzsw9*HshSxxFI;&rAYfA0-hlhe`>z*AZ4cWMisg<^Ii;KLoX*Wm5;ID^(<&6VZ>G}7 zkyMy7xcAr!Hm2!3B237OXK)txnn+z$<{PQjxVRc7CU^M7QfCEETFe?>ES;#wHSRX} z(-iCK@0>yL6k(nAa(2&EtUQ;siW$MK+4q%AmM(W+9b$H<9S)w|!&bX}{!x{&s#FCc z?_k5M9)-g#7Ix15P~myqXk)t+%hF{-uM$H!fimUG88Z8+ez8-*BQ86EP6kZh<+$HciAB8vG}Qs#eR@w^h9m8FK}z((Px-_hxw8-cles^!^>B{xW7zsAwU;ZyM* zRo?WH-LZ@oPENI^*aB&kjx)U!^UR)Ya7+2TjE4`>!>e^4SNx1I=@SmL6Ri3)B@LD}$c z#ZbC`oFN^4;eaw2*A87`vyA_hqUg})B26A3KaptUa8xGuy<#}gS+P7W7&*V(gVe23 zhmi}ana7RPzV+|hH8Pj8uAkHDG$6N=jd(tOfIy6N_x3(r@F0VE4~9A*Cv=`@zuVF6 z=mkG<&5llXc~8~R(JA*+(bCo~^YfIg4uu|!&xr|KtRbym{f^Dr zIwd`uK4C3|t!Rd7Yf#Nb#8D5U7zCCgJ9u^bhThn8d$5k%U*FwWwmuqOu2Lux_ny$! zM;(64Rn-&jtwaBHp3`t=^%~uZK15`#7;mVwZ3qkc`SFEt;5F~Qmgnzp9LPBT7`M3L zjwKCpZN4|-JXW=jx#uR;whdI9#aC(-oKrb8!mQOua2prB%)@>FqsUf33tbFBI&GV` z5WW_DqZIw1oK`gKNia5>waMOGT5`=i>8Ec1qse7cpE#D!uP**PaWKsN(~zs(OTHWm z1=dit*KnK$BOr`)y$9&MxYfaX-tGpQrqZYFIA#pI678uat8)VynmiQ_vLtypblV&x zT?Q=+#TERXDQ+uYlKrs%VTPlkjTVqHX&B1Y5{4!FE_Ne7bHzR0v#Bc&OJH>hk(zc^ z)(nt{Xt{B3rWCE4`CWtp%b-3_%&5uaeS)|@y$4fgR-)~*Fn!nU{^jZZbf&d7*p=eA zoGaCfF~BW?HCcy+`Y_bHWUt&wIoNb@rf)y)x$4DrZawABYRi_WZ?BRhZbuH5eV57b zZ}_H6*LP4YL_J&`=KP>c;*PX*d@#E-L%IF!vyJfJh5CC#TNH~I7=*NjmfK8qSWo4B zY?(ERpBsf}y4F-Do*8>_^psfXNhnQZlHo10?SxD0_il6VO+_kl+moq*E?ytC|5EVZ z_=FzJ6<6nfpU2}N$I`*`rHx#c|4@?_BJ`nLpNK`O`r>ler|e?jWEMiC@`Fm@{Za1t zuXiHvk{FK;A1d-?xyQ2PFrahiv1nP~_(5eR9hqfi9a@DG?xv2I25FJ>xWIu$&3~h= zaI;BCsdh+ap7Gw;+s|S#C@8G_S4z`|Pv^73EVD_RIOn#dBeMmBPn(M)_6AMo<0rb* zxCFl!bkV!RcL1uBY(`R6;j{fsts$(MxF)XakK1@*EQTzjhJ-A%4ZVI6-3iDyioOJi$xL@xS)$Kc4=mjwvqMS8*nr!;r(W4O9(%eCD_x>Lwsot^$DFmG z{P||*mVzgRS;rs?#Sj{TAF?U`{2(qIQ16rmCLABix;WQr;0Y%cj{FQRAD2Y9dlOEA z`+5!EW&Rxdi{}Y~lu3MqXyZMPFeANlWe^{|>?PrO#*t5**<4wR^u@?)DUe6@VcS}Y%_-`nl&7P!rszVW| zri+mL92*$FdpIJ~tyE~N%G&XRmS)1%`vMo%^+7-QeOx-1`eO-^3?A*7!c@GM!1_1k zhV0wK{==y>yjpNH+x?M_cMtC1w8k=tiw-=l8%0XUvV@#5Ocf5hdMYcHuWZ-bnTepB zES<|7N|rmDp304Ab|R}AtA{f}9}{iS#)@QJ^y<r40JpyL+J@+}5^L~?+Uc?_WM9ozd8~b3y+cjE^DovU*2)B=jl8B==FDG(BdZ%k z5Gqm+CT3g^$#Tq%j7tRCyu z**=m6bo@RMRnVb~-kh^wOup)q)H{8JTxc*VPVl%4Gm>WAaOrCvUe7y{?rK%G`wJ$! zD$o=Hz9>`F^QQXh)IL%VSK%hzHR5{{cbIdV+l#=-ZmMwk_-0uzCFNOT@N;X+uxgH9 zM7*k6MGtr=g<|}Bw%@p|Us-nXSvn)j;#RE`ulPHBoMQz%R0A{`eMunP;Kq&TR6s|y z?TC|Y(R(Y>*KE9?8mhRkb^ujXTOt2YEguiqa~j+LO2ea*+GPU1|{;JhH)d@dwK=B zY{}K7u|i|efjY1J-$9DNdQ>VxMstzZv@`fT?29U^91%`PM&X8R_}6@0GiN7NH;~{5 z6;H}%3A6G|u@8W)(9Ofwuhi!Q#j1R)PfgZec;|eLTw4--mkVHSH~RDq6ujR94BMq& z(SQ7|+vwO_X>OFbhOyk~B1IsAXk9R6F+dgnsB)j4jo}K8yntysjj)sVPO1a}M?_pq zbqC3OmXO-Uf_mB3FEw2Np~N7lo^L`kzUFS$$de5EY(*T_(Z&dBmaE~GOK7Ejd4CGL zgxtrPiqF)4q6FtdId6S+bfX3mdn;m))%BmGH9hMR_P0)?7C+t_+V94-B_1pDmn{83 z%*4K?TJcQ35`uiCLYd>I4vqeW1JRm23cg!Yb;MqH%G`6fO&mf>!N`|?jt^rHix$YP zB}moR&qOkQ2x}M15k@IH*ZluyAAQ3bS0t_B zTvW-Lr~}tDvkaS>+&u+0Ra?q(#8BC>?mF7=WmFp2?pnVp_xF@(?J)o$Zr8#OVI6~8 zxo||i4*+|oXQhiv-o|7pjG}t?VpiI-T!ua_o?*1sEw^0A5*;q-UoP5oVI8)yM^Dl3 zQwe@n{)K8N1M~gC-A&rl`67YlKAx_ePu9Y`q`&em-r}PdvG%xE<~4v#L7|8Pc{hj~;F&J?%xJtu64qDQQBGgC9 z2BvDtE{kuwe}1gDMqmFt0rnOLRwVpG@E)s=*W<6pp-mXp&d-@r6Ehc36hv>^-gD2f zyNl6q&@6cIQ>)-$xHz78Oit7D*hyG**}=x>^3CPbFxx@;UL829TJ&P|M9Zfw{^yl$oDXz{pq~+Z9jS@9zjKe98 zenS^S?9jg$_xih>s6o%S1)v87&iXyxYVxy~UuR#GI* z7S6?TEoHzGUU8M{0~afoz_MXcN_vp|$gw9yfrJ7q+tvP($otYr4 zO|t}9|4bfQw^-$L>8W4AvHT2+shO^VZnO^dK}@0IODcUhA!}lMi^pPH)l+5FvS71- zXe!5U_Pi#u%1$mxTB+a90vVQ&IUmaIA6Lj9d8^5gku3d6@U_pMa}N~bE?nNoNub7G z_1DWpoA?q!N~$DLY2Mnpr*-i1!59kLzRt^v+nKxr^Q8LaK(W3PHa=4N;ePi-Hf-I` zcnIw-CnQJ5uQ{Zp{1}yfoios7LJdUyYP_bhW*PNZM8Ga^HvG9UYwB3yVlYAmR3l3D z_-yxHXINhE6(3WzuYHcJ{rQ=O@hG{3a3?5bzoyf99@C|b${n`Nn#A;}8pPKn`wfd2 zMr1t5HkrV@CTy%Qk817Gg4MA)!98qB=POu$g=EL~UhKWlyFT->n1a~iVy{ML$L``K zNZ>Py=+XzSMy5&>!nc8!rK)~vSg8N$*w!SFJy@056MWCXIx=4NvoU9Bko-1ioMgA| z6%Fw(-t#{e=(AWacg;^{7a!U|kLMTbf4X@%Tw173=l3g+TNF8dUqSzYk?zda0EKHr8ck ztHa8_OPc-vD{p{6w%MCuqz!P(VAru(1QLY(bCYsp(7Mcb7SJ=#Yn=G`ak?naz#Za<*LrooEf)LsT>y;f8wzP)eb$i4jtrKLOMy3U#C<1Rd!ZLx&Ckn zMt4T8?<8W=RxOhk}y!`y|l$Kh4ijAT)yqKUyy`#1o zE`D-yeMM|=YMoNlOM#7|`iM3aDGbleEf2Z9e(2T=&mzArdZET(6btm-H&aRQFO^pH z#`4ZuF`2S{OYaY~P3IY;aJctiDqI4GHYbjA%Ya>^nJsg#7YO7imuhBTwgRb(plA z2fQ=T(JL{1IRHYbJ4WK+Te#BxQm2VDKRdm?pj6GnzGwEwgMQUJ)=t(j(BO0q=q*2U zqMt`ID2kb+=%6cFg3XiPPp{%B-Cd21dEI&?rJ{L4U2rxCHa8?8LSBuO=OwG{X0xdv zU-f-K8c~(R6Jt}#W}x3A6NKzx(XJf(VXoS#yrd?vn77U-r|e@@kIj51>O~Atb9r1U zsg2U)uks|R#~>4~tY;W^RX4NE$vbq?nNJ(nC%_qrSteO%2Uv8!RPQ$^9S8lqp$T)V zjF-zW>_bhHWwny}c;j5Rq$rfV%%yW790RPYReCFrg(p*^^cbI(Gg~U^Dt1fbt#?+4 zp9{&d@XKf7NMIr+U2pB(BWFh#H9;XsQg-6)q|&RwTb!*%Om;au#Zemee%Xu2lCK&$ z_2>qu>Dgl~PaK|^eB(6Ux}3bTyq}TzY04z&tSVP!)YP~ofRczqdeZP}!t!Q8AEj3@)r%ny4$#h zg{#H(@8Dc=slUTq+SjZQ z5|wXdutDRiTRhU^@gBbH%|1&t8mwl@Co3NrD(+v_Xq+`Zz}kqOo#Y4kIw{Di zjNm-xY%^47ThyF-NW^t~CnvlTW9^&qt|Qsd595cm4US)%hoF>72%6`cOI^!%72Ohw=GCeW9(;MXR+{Y?K0v%^$&7Q^# zfm&2A_N~qTsqIUnn#kI2?Y5mj!B&wL1+-OA5wMkjf)MASWe}N%5K);DLJ$aZhz$a5 zE1)7EAVfq#h9n>)Kro3A5rt+9B#;myB0~saOaf%$7WDhB`>pRz-@5DGANqrpsybD5 z>YV4tExpi6q5j2BP-$C5L7}+gd^8xm$;};%@(Ddgy$N zqfW-Pk$Hhros)9rZdco8oCkMZ!>se$4##0#qwOmL6WxIv_b*!#-HR!6XiM#-ki4;$ zJMUl8{iX2L3{DFUYEwhn5vh4YbpIl~?*Q!MadE2&U3R^THvXri1PEX=FfE-QxBM9x zdm;#A3Dx|Yr=y*f`I0afb)>ijtIGY}dACzi%?%{VS1#7c2+PeX7^yOK{NaX86`kXd zHF&{7(>)8;4B0-%o3>3=%q-r+x%-2LowKf`NS<`xy>3HJEzBtrEQRJXR+81=qvOCd zxO@>rT6Y%gP&L_lm+31zcM?$>VJ447T^1W33G29;jGcGJ&Gx;NUo)MKpj+KHI0O|3+SuAO zpU~FK@EBn&O2+#VdFSw0eMUGZ8owI*N5|hj?k`BZ2_$5NDsN!F;(>K_>_IQ<+6U2( zg!Va`&*E*Sc0;HxV!G!c3CG@FY}3PN%`nJt5X_FS0PE$SMzE*wG=qe}TKsJE6lA_6 zfa?@iy}ErEaxfWh8Ho(|fwWedKn zwDjGn(9r{aKRmVr6e*|B|5l{D5oBdCZmhhl#bf`&DtvO~?`!P;Luk1AhyMbK{r}>S z6(qdGslNPcdySgl6PMOw+M|7?9VLRSgky6r=06{K2r|_#&H+}~qMq8BvDhv$F(o*= zF%Rr@q=sC$4=YnhKcP)c`}D;`C>xw-urm10-Y}q~t;#^!pI?{3oD(w~xLX)W>_=Ff z{CXovy>w{K5r_>}*1O8nHF=iZUUj~&GBh>ynlIQ1n5MB&L14dU5Y*huo*5u0VUNFj zWZATS!@p z47Vg8`utq1_k2&H)VFI7OCOp|p%fLOchy7$)D~>$DJx$JiVZ@*qW$2(a0Y3Jl^*x# zfMS!HFd65!m9rc8}{l1Ovi;KjjQV{j1;k{yje8?$sm)83^*9Md}xg1j4Fx%`h z^=<{TwLv01`rp^%tcYqt4o(&3kvL2$PiqnqQ)0O9072oqG1#pjOeXhOQ-(|PCE0L* z2l?>O7_9(?C_AP-hz)iND>sgnQ+n=plkETrBGk>5Gf`X2AQRErE{4S;PE^l@Re<*u z6A>?2;Rk+bN(`TSyv?kfEnE#uEspGYirzjM?8=HpS0Tl^szrx`)i(B$lIXWRcKoPu zsY4fg2p-AF31^PKbG*kSO_|p;=3hw)w(k?k2HZ4l4%va~m{j6VXyWG2i7jEPICD$E z+*{NilJg9sjS~0@vH|It#7v2Xrm9FK2sq|_pifsV_iU}2t}3p+usYTbZn`qYmofZ* zB!akeICBus`K!|!!J$N>M0zXM_I>BkfzuY&!ypB~p7@qiB*bbJxw}hr72kTtIVX?& zl7Spa-(O5)%r#!Pi;0iFCNdBgY+BRc|Ifc_-Xgh41ZtoUs|nr6EyZ zjZ|^j5>S)_Z!2bVf`M_fOS^>r2xP=#Dj3l_p3Hv}0-#*Ge<2_4-UU-mV})_b1lN$G zD&y4ojxMW#F%;D?S%E0V0XcIzcHTI8zT-Na zmsXwR)uvQXCn5zS0YdHlcFikL44V0_&P3ae_VcT0C@;nj%Ugv@_xIk8C&5a^uM91R z%YDCAMpnV&jbKSQvlyUJzF1xZb8`yKu|fd!evm5=GduT~*)ZipW1loWLF>bBOf-4* z`zxYbNrTk90N~3odm$4~tp8wa1g_+2eLdvAJ9;SxkYD1=Uh<@s1Ly9VR_SdHM*6d) zVbA$b+ky*WWM4T+jRkS-b#DR|psF?E5f`}bVIiumYFNy(RQv$Y@- zlUh9B^)~uvD;;qCj&229$Dm*@i34qZSK-B#9)yiDvr5l8AC2TaAQ#WCefyv$$Ik_bzHzEQRvvOSFac1DSDPY? zY-*Z+@~*{n4JF^~mn6}PoJ7X&e)zIC&!#A3H9JT(K#Y6!?|WD*@sjKsW#dN-2V= zNK|^>zhkB9B7Tms%8}MSS(fin1|TmmHG2LJ=*G?pWV`#BBW_P5w1(zrt~{8TApmTb z$!ABxTPkkEtgP7p!;sU_`*HHG2MLp;s>|$umkac$r?pf7z|yKnz?N?2h-=gO@5tIc zz*4h+XoVd-!(zONC!G_lJKLAP+#c?dzPo4!w-tX(2jAtqhPL>i7w-TNUKrYZ%cYpW zCVbCns@}jgg1s{o#HX5)aqeQzLuXb#H2|0irn4n3noP2|H0D?zn1+Vl#_{81r3YD& zsQ>V7AJ-V@U6?Ob-4LyvyTYWD1|Z9PR|SJxDMkyABtYm#R(?x~fk1a;V(Rop&qWrw zPXgZ(JNs;{6Jicv_&5MQ^RCQR=a~bprg7@uB?GO~*&h5K6)y2#b8!LDey1x#vJC6J z{}QS(!9M;0A%XFvs*{J3Nw^^EDEkV9*p!UX^#~IlaM9^~3N^j^ShXDxxDx>o?hUL1 zxhaWmwq8e_BwifTujRY1Qgp#0KqH9@jsjA`m|q>Y%g$|m$7=povNhkntoop zknNWU)xCnoNuON*#recSaCWsFyC!gja7S>EG}6=u@3T-k01ClYXm{MTk>wk~o>Ok` znzlTQUji1Yr{`B*F`)VZ7_T~@tiYq%8(Ny_Tu@JW8U4D)nqyYu%$WB)EH8D7s6D(e zV#li0ntO|Fz(3RtGuuW(}y-6GW#hxmw%-OhK2C#yPqg)2veA%G;dHM>xnopY5Z{*>7>-7zf^7?Gc=`-sS!cP&_|(jzTK>{_F`IT3L{c?F19V+3{M@b(_ztvY_O6 zz}7Xhs7UYOKe}OZY3Y&N6MnWKJJ&4jc-Zt5d)y&(R&p*pYUv5(@QVK8%-Da*$R@}j z_L^;PzpS24^S`bs`VXtg%svM4rf$H>8un7K_y4Fy`VU6}N38j;2$=rQhaCBzB&Tjw zz6bqQx1TlHi*nB!H@=Zyy?QlyHfDtwZ(6?~LD3J$P zj-J>2cJ`uRK*pUH)_s*(AAw{6)dB8j(P;F;M$~DY8o+s&1r(6C>l=^iPf1FJ!eYYz9(Ux8@e{EkAro*wMK9ID+CO z3}@&{jVv9|r=nS}3iLSL;K`L~u|aSA`;0;>cJJgY!vx!Y8|JrD!#KzA}VwaOVx zJOmC@77!Z}Hq>7r%pN(71{^-tHMQqi01m+@)1ZNq28M>HVavASd4Gje>}+q}5Y=NN z6QVnS2cGvvkYZg|s6R0d%1CWPn)UXtQ>WZMpS-zx--x0-g5VYO{-CD8MrFiNb=}kc zB(z-~f=A@UEhPqovp*~IsJ51{v-KnrbNv>rJM^S2*HYIV2aHZ~g=}JLB7f#VTU1Zg z9a%mwEzAuR(e`w5`}h}h@4#4y&6_AfY+$w_7s0%KJdbF8_UA_vfNa|hCrf*J87ONMwYo@3(j*Z!O z>}r>+l-z`6;td*E54#yMHp>%VVuBu;uyn>$d?rnAIT!9w@qTB3+VRnbz1Hg$x6!qA zbxovRklXodm4>bqi#b8hm4xuc3o{WAdByZEz9&x)w3>NeO|_d2)e%1$vgVxtzG=Ti zf`MH8t+MkCbhqEPW>#}9f~8DgzRH=r^VtzQ#H3p+n0cJ{+#es{mKxx9!K+YP`3>EC zj9#}nnF!LQb7KHpc&|z}-Yhk-eLB=*K(zM?IVW&k%S!|QtIWyc1F$~bLP=`Cs z#=^n5o>}S(;&U|17|HASd|kU``ZVxlF4(YkDc$$S7Sf8<##+D+2m1Y<)9DV$8Dt~Y zQvFEq$GM%=P1udv{4&7UG+QC$DRGeChIOX5KW%2QDn7}gSHaez9Lvq`q1&Lp}TAUDlb3w=U)vohtJFU z26oXWAAqxO`Z+yA!O+}WCvQcmvXvLcuRv)DtJVd|Z^p_-uW0^3!1gwj(F0r=P9AOb zL5u3`R&H!T0Yq*dHa00B5UBs@!E1rD-9hcs$v;3^~aD=FGW9bHRd$2NEhP<#Q@&-GlP_h-uPpZ zBuL1YgQgKvp0Zv-T*h5An=ms=md~|1H1E%vyHezxmkd=*xFCRRGtb>CM4O2;oQRPF zBIfil1)79pBk-UM8H+F`lr7Z+%kd`apA&^!XU#Zms4Xvr67WQ^z`?_Rp zPOs~oB=y~YmtZQZ{v&(|_{WKAc5BN-OE@5lNpTKWBF&)yV(t*x)Y5(-6|8j|6V~$K zZ^1*eJ|R}?W{NrlZkRUcZ6*-drP<-; z`ZJ|*Mf@S}S+LpTfM^doA^=`zO~2vpJ`q>rhSTkd^-R-!^viFJ+?V!!ae!IeK;=om zi)LU;>U;;7XP8B`($-9z1N?N2P=8bB^QLR3?Uuie-pCK6OJ8)%A3I$>?Zq1gTp5^C za;bW%1Zeat^8f;HSaeKl4G7pa9vhRVfUhM(8*phNrD5d5C4$qCc}u{nSVCBq5`wHS z6d~d6n=(=85IoSru`1?e|AeFoF`P;v9Sr~QSF|P@FCCO9G$YtqSkK$)hJ(Isv$buf z3kZ3pWCBFiwa@ew5=&=BG_Tu_n7X)K*sf{nMyNx2G(c%SyqLK3HY>k)%A!ky*vH{m z)hIHsBHqSe8*xw&A2d97!KSuo+Es8as%%ckzOybS;$V`~srnI11J{M{TT9&B8yq`h zJ6rnCt?-m^y#8NCQ@tjqDS95>S2f2~-gxKO&BIS!g<_T00dp%))?t&k>s{qxU8h$} zmL}7&^4HwE&DuEFEvL2Rz7uiMW##lTc{T@M?@68?8FOiS{o^~B(nP4M9MYW}O4cP! zqo-q%5iWGFf^P@GP1u-m?`%-pa|H#I5LV>@9#KYeUxQ@jIFSpuIWV|^*A0cnakCGd zM>=D3pgyyLS;dT`2k@DyeOz~U_)^XL)PxrNh*KQ5q89Kp=C=JogtOQzs)X1hnz`$+ z*U8PXh^7?K!bdViLO(%`K1;kv-Jz*juPb8xHq9bnR~j~6O3@mDRjgDP0!HLDs>bg- zxfec5)W-z`+7xxW;dEMmbpT@k+=6^Ro8(cGdUjF15v#7HtN~oSdS<&LZCJBil|600 zCWb>9<G{eP@Cuq>3 zNz-|<5^3cCud%YfU84XJhnSZ&6k1u9Avdhk85vM<8AELGQYh47Vjy{jZuQ2)Qr{OR zKi`t=7LI6eZZMECUWz1lVWI!E{aVE6)wQ0VskePG@W@3ic+|utc+}h_xV#?}F7sQ@ z`FndSPBPfRei&*;%q+Uu)$x(HhmPmi&U2e0Z|g{eyXk zX{g6PQ?O|Je#VSM$U%rFdcPdp9u0VDpDQ+!OanEG-}}y+&@!(TV70C9#^grHP49&7_JdTbi)h>zy)Q6jRF+avKEGWUA{7ZyPiTYrt!?Wz&qo} zq=F?B{XFPR>5^0SN{IwuR(=J?i9l?rd9z=zNnMaF030RTEcJr>eX{Cux3Ad38SntB zvFRUc8Y`5)_5Nl9_4<^m4PSA(;viF8igQn^6ikH0T1hI?>O!wJUu+HV;(j;@%qZ?G zD?&2YYFs~kk=H?!x6*2J*O(VOF_ciirDkd|K%4yJ)o^JP$cwJj^+#_=11oFMK-3=w z)Nx)I%Wio)eSR#SIzI!JOgQ?^@(Mrk`^NSDYCnuRLQpbA6a{U0Vfn^bCas_ca7|Bh ziHzw_THVKEaYNu5&>pHDi zi#C84|Hv&8T<}Q=7S_!rANhJbgFqR2k=XcJdWtnE;UkT4LGQ3M2V~oZc;Ug~8j}qS zk7y4EY(w}k9V8*p*ta?;yQ^@OMRaD3uU}P)j;Al?II%BK;ej{kt82Fko&LRSF*hQx z;V<+0;isD<;to4vGOy2jof*vsyEGI-!cE{N6nN*m$pd}OmQ?+7n z2QJ+*@Y}}+MvvrNo+7V)#;$mY=qZ(ozLhBzG7exO1KDVw^7=<2cB(D=M6*;PgafTA zjJ_T*nMj)gJl9Z|nySk3&0Fe)zn*-%IjJ1|)$w@7H1~U&0P=I*D6sX&Ed~O9a=QPww zD<flvie7f64#TSLGiMBw(tEz5Wu zz^QDk1$X;R{hxq`Zw3dG=qN0^&niZDRt;Kp#!Wb2L-JsciD^n%Z{@sMX!Q$NL$Mt; z=;FnTQ%R5f>y@V+BAq%VoSuc^<~?B>9C_KPWuv_dCApSE&4(Q`fzt9?F+Zl8BtHEl z3573vP)kK(j>?shS`yy;7^3NNw9_$X!cAQA)vl~eNJ|_pVbb#QB ztj7}P;c;Px-vi#`W5N`L&M%bFHmu8J+ivkwX0dH+02^=v6#lV6Cz$0|`n3~PFqcR( zlBa{0w!1Wtg1BU7&H@JxKj}w4u(0pAYqgV2P%fS9HJO2q_RiMGl2kp|-!cgw)AiHe ztkxJ-Hqu5F&A7(|_~dbCvad4dL@9WWWx8tM=wrhocfU3a=LCIJadXX@U42(CoORrd zTQug8j1|o?UkfQ0~b;fB!|Yz9!QW@k4pNCKZK=+Vk`pB!`QfHEi4X22j2BOm>XhVe4!b#{9$6C3!I~}NVX^) z(TGQ#zXG-^E*g|J_h2wXw##2(R_k0rZA>ZZ#Mfyc$l#jFe`CHslAc;g7R}QM9UZ%; zV&eJ;=OK|gTV&KvH46)0v)YJ2?z0sH@mp+%(yKv}KDjzNV`B_r{-N`Wg5MyzeDkX; zSm}WtV)l`yFvDWFjcy+bLTE|vh#fsq0=IM;zn_~aGjfRPP7WP`1t#=+^bTA)=Gk}S zW`b-_b*SA0JS*S4GcLBR_R&0Mbc*NEkb-n0>|XJd*9sIpJ|4rDVXHK0=53(0>WwL? zebDEQ$V#kNkYUH5|5%>6x$D(imMT4!Nxr#v&tZB!``rL!AtQGJG4vP3G~{Nbjn0YB zhQnmPplTXrqR@GuxJJX(J6Y1aMG*RNP76pwyS$*9!qvVE*)O*{fY3Sm+uH~uje;)j zuOPA0P5Z|^SIg^dTeFNKyjwfQvS#VhwHsACh5t1picRh&_c)BA2C2) z)zG2fkzzkphi&Om7oQ~&b$s#g zVi3Ff3-?Z!AD7}7icIt+W_E5_-`fq(4jy9_4!@eeZWdf^m5555LZSs8`1S6f59GQ6 z=k29mn061pRCv<|%)@HtS7tI-VrwaO)D-o8AE3?H%1w!JAeuVHjGZ~UFft2?1T&JG z)RSeeI^w7^qM6!?nMhPWQ&WfM3_yB&b>*l_c(hX=zY725HD&2wEFwRE?0%wDT!QC0 z*1b_NB);sa8gzHoFeU5tgkka)RytFF?Cqe?7=`DO7RMP>b854?kzqBJ6641EKJ8y@ zhqUV4X*dUVmxsahEH#`TjKaQ2h%-FmsuW@!}@BK z{kpn=RmJKRee^8O`In8->W;9pG`Vq^u$VCA?=&cpn1S|G8rc`()|8HxdBb*=>1pIBn=$g{ zpp(|~vad%b1PhN*w`AMLhn;_^YX53)Qnk*$rE*xbK>1|4K+Ur$lTfG6aq1c_M> z-%YOp$htRifi*@>o!7XX17%%~j_p*J!B0{S z*i5gvaq%HuhRQ3xtc6m%hR3uOQ%A*V+oi(dEPYO}tqJ_Nbt$xSTj`g!tvuT(C*s0}YU`}YJKREZwxC+)x=X4#XuJ=HLz2wry z`DB?FX-JaU!9?2O1+(ak^JX@pA5|1qq@bJQe$=p7M+2N5SEW^@c`Pp?U#1kRdq-Nj zdv#n99E6d#A2#A2C)%9-4x^2#8dBg+#GI^uK;~4$ORqv7_$7JK(e7&tztNN z2j|Z?bb0l$*}o+-@6OdPvsGkYuy!ijBA^}>$AeS{ZSF&9)OFL${?O^3{-}&X;U9ua zxrm;QaEg!N?#wwabvC zUFnzm@}&v*Opg)tct)PHm-8JS`Fp1nx;Sc5hW;9AH10P*3kSl{nwLVmKRu=90gi=l z*-iV-C)LiDesQRE4h>%Z)u1b^Z4ACw0n8&$(Yr$_^WN_Ot;4!~>+V?YE(lP;mL~QH zFX4+s&IzH#_vL!!u6IMM33hI+ui5O6rDSmcBG+9G+ z$@7a|N{o}*ARoD$aays}2F#rWp3kj-u0aFgJxjvzlu>unzq9NF>I;koFlE|jw=EPa zonXsiK9eYcKx3L!Fiq)Rg!4u-QQs2Ot;X?K1(6h2a!JDw_TcR?ol(LTl=f>lqK)8# z%6q+V$qA^5|H}ew!}?fy%<%)0tehYyTN3YLY)atvhGjd+-B0FLP}ot=s@)FX3qRd0`C3q(w!I)OVP!#y-4X*4Lb7T&3&j=1oaB321?#(gmV~ zQf$^gnXT{II&W4)wuy-!p;ZpFExg&lBzGzpggikJBuwfbBO>OR2A(NFM~6J#lpr>A zEgcUwtTIrp6S zW8ZR{N*O@xylC+|^u6u5b+;4$OufGGMs1H>INuK!2NQia+^u$=Mj%i%;-4oJ;j1IR>>A`ZOVVyzetug%#Y@#Fp+p zsP4zH)hl&lB0bi8^3Hd&HI+v34@eBg0T`DMJGT zGU^JmanR?F6&SmahBIxX|ByvwwOQ6fz)%U|;qQ4_s?@rQrOcpGKb4)+i$#>df5lLW zqD*XB7vaA_#vGVh6!WV=7+lN= z>^OhI9GzDxFWCK?Ikcy4+8lb;qwO|5QKX-g72vA>Hr%%15{N2w)1&Nj7u-l!?cFKe zTabQSvDe>K@I)kjh}D^j>1U257T46g$LeI_PJ5A-6sO}(o`y!|m}`TLPeb+M(D~3o z(z<2&SYFySC>7^DD{v_8mkrSo=}>|Wh&VZ}ww@K-@EQD^$)V0I z*-M`Mc7F1SOE{a`QBM2;?PSl;{~XvPk!+BKxFW*Xtk#Ni z@#h}qNGDEhv_#@G3rYyyDXg$I{h^WGfcMJ-Oi?f|qJOl*1VXQ~R*x83iJh@lZ5_J# z`BuQgSsW5A9Y;O2+T&&0V+X}VMn`&NCn??wx76r!Li&@$n@Kvx*H7qN#ST94M#a(O z)WrHX*Rse9>&6fI!?d1RK_HP!Gg5{0xEMV)W~VC|W@|Z*C4<`3WgSC9q@pt2e0_$< z^IvES;uU^BT{>wn+X#sS=%&axu+eD(R>w;(i(jWUW}PuZK5Z=t#rU4um}6KP$@l3n zde9HHr1Vqe(`CY0mk9PJZX)T{?LQ15tUE}W?)}LZOqS*9{-JHP%bd->0~GDa^mg&} zcR@PF*-rzMB=fxe=Fl*QOUr-ynsls3(??`(TI~-urAFC_P_bbSSE3_D^PsiSd03#*D73$EZ{+{Co00h+* zwut{vj0!HNs32OWo-YhyA3c<4+4dzI z&`txsHu`94Y>M=oxX2GwoFUqd^-gM1pXSytRG1~G0$iuozqn54#po_*3=nyw<(t0{ zfHI0YUYLGRQ8T&VHP2xr#ehKUI){YY8nY(B6VitnRa5xki^K?yq zT$$VQm2v&b9=qi>^Y+600?ITXY<^jl`bN-{>gBL>d!8xdOzJNC)luHZmVx$M@4oNS zUEFD98C8oGs_Sw1`kO6Y33{w)g?U*oaklz(R8R2c`}_mW#oOJNgBQKi=HL4HPyfT* z-{wbG7P1_hyDRzSsX7eOo{X1<%4?#CXNxzUv|~S-mmFkV1;}Z|$lNMr%&ZKd^ku`3 z;NNg|j-V#&RoULL1)q!d>z@F~denhse;`-*URn$_*7*X`V0C9-MCIii_P;DWUTy6d zX->9=T)yL;4}e3!tG#@_NboqnNBe=bps;ls1shCQ?Z&yLdE5U|?g7)No>!dtN2_mX zf6{KDWe0xK0B|l~q8K~Gg@f2RTc_k{;lS(%Ue4q*ta@wDmw>}s{RAi&XrK5`?faTF z{Aalt*o;E@jk6XR?-NX{ZhhPsvow-b(!Z*-*t>SbXT*18EEq@19o-Q7*%>2WoF(~n z=m1>rF7JP8L${86kKmzMt3S&Rhn&_~sX#c6YVdOrb2~e4uJDmSb36khBhq}kMF-G( zF}>`kl`(zo1LQB0Z?e2X`s;u;b?epk_yhH+Mi!bH8gA2rl+1T~3D<5=d)-Ky zhQVNgfDk0eC#U$$n@UZRckXd7`Vx-szhfHm zev45MiEJnkemH}+ZSO1kbhDq!)JJgZt_H#}JmyHdHD}hxI<=)X_7=78-c8yDZT26d zWJ6LM2D{wl)2Tmw##*vnsQ+XkKeLYO4NuT0x83?!6NH0}&H|$5aE?Z4a zAKk6sP5?Y=f9vR>NqQQSrN-HlYXZHuvA(w0!`DpANI+ z0=VaePPInVL!&TMWr?k36F(1IwA90I9Ej-muM0OGuy{+QqJHU4Ey^02xqG%VD6nEN zUz^!e3$~xS8A$j>bv}Oct@yA}fJSwwhu_v?zh6tox^rqu*n?H+1|1n1 zY1i}gq7_slbo&B8t<3C{Egk943N~*DXZF4O^z*4ei&N86f0+6--n>@s#u>c57TB** z@W^Xd{Ra=YP`Rd^8D+dfh2Srr94)2IdJmvuLc`OzmQ%?Vf!4Moip9-%(>$hHxd(t+`TPE zy35YM_xsYX6I4F!SXXF!);$luk6{7E?cLaE zUh7lrbXj{`ItPQ=#Inho$7~!_AGVg?>AWt0445DDbGKrU0C+uD-ovJ*AUUONYXb)k z>$^TaJNY4X0l{Z)%U$g1GP*#teBWXEp3)Nk!)_po(4ICXCJl@Fab#`x@T!ahHMwrL z^5BRUHkRI>3ubolyr*fqf9f#J+R|Usu&rsc@ch=e?E>q`^Yq%1@W#j1Uyj=+an~wD zGgkVe{vJu_;F11sMXCP8{J(wf^6b$eOC$-UH;xn<%SipQ?^LWYe)E>_0q<5)@#+&K zXjJzOys?xfzj+gvix`9k?N8cKd@kH$wL{i8UJfdk^3Qq@S^T_D0(SM@+Rv!77JEo& zpt*i;K#qFGxnYoA%aq(Hn_L0>p=H#UC1 ziP8~>V2iHjLnOkVJbu@q-Cs*mPZKOP61Rm%#dj2U7 z`JTBA3X$IZdno1svSwj0pyG+PTun{|J=#2tZ05(dgZ!_NXf=W4=+5?LniKFjj_(TF zvU_SrHA={*lhg;4RYd_hn$@U=J!%~4{12RnI4dB!{@m`;8I;!2I}va7i&bYW?^`{| zE%f%*YNt4ZipFid{^~Wap6)%CJPHn6I{I!MBDPP$CLx+k0cZ4hS*7)ue2@}TWuHEmhtxZ$Uhsg!)VLOik{EL@ z+2nZ-?_caj*|K_j0b$d^G!HC}c$T`-*zF#^ee5DHF@dPgDtU}E+K4Z4-En%;-6Ois{8oDBT}vz3$=du zZPz8cg8BXpK!boN9UtgflEDUHtlR^r>c5x2KUTY}g9_IuKcAOtT)Q>=>hXSf?*b(9 z>|*x-b!&R{raSj|0@9#_VzJk=96P+swxCe}9ZmOc{+9Xp*JTwm&UE|v4X zxZv>M=E7Gf1Ajry`YK%RKeuv3q2)}Ed$GJn$5x~|xxC>)&Yr~=Q)~7DQ*X`Hi?$c= I=WfRTHz`B#LjV8( literal 0 HcmV?d00001 diff --git a/wiki/settings_tab_visualization.png b/wiki/settings_tab_visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..cf3dba884ca425e26eb7adaaad1f1d92bbe628f3 GIT binary patch literal 76985 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 z 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 Date: Sat, 8 May 2021 04:52:59 -0400 Subject: [PATCH 09/32] minor updates --- .../bedlevelvisualizer_settings.jinja2 | 2 +- setup.py | 2 +- wiki/settings_tab_support.png | Bin 72180 -> 74187 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 index 5b4ddb8..cf8422b 100644 --- a/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 +++ b/octoprint_bedlevelvisualizer/templates/bedlevelvisualizer_settings.jinja2 @@ -178,7 +178,7 @@