From 7a70663312f5b360bdc8a4797c066ed2db08d12b Mon Sep 17 00:00:00 2001 From: siyangy Date: Thu, 8 Feb 2018 15:32:59 -0800 Subject: [PATCH] send route_path separately --- .../backend/common/dreamview_gflags.cc | 7 +++- .../backend/common/dreamview_gflags.h | 4 +++ .../dreamview/backend/handlers/websocket.cc | 1 + .../simulation_world_service.cc | 36 ++++++++++++++++--- .../simulation_world_service.h | 7 +++- .../simulation_world_updater.cc | 10 +++++- modules/dreamview/frontend/dist/app.bundle.js | 4 +-- .../dreamview/frontend/dist/app.bundle.js.map | 2 +- .../dreamview/frontend/src/renderer/index.js | 6 +++- .../dreamview/frontend/src/renderer/map.js | 2 +- .../frontend/src/renderer/routing.js | 12 +++---- .../src/store/websocket/websocket_realtime.js | 15 ++++++++ 12 files changed, 85 insertions(+), 21 deletions(-) diff --git a/modules/dreamview/backend/common/dreamview_gflags.cc b/modules/dreamview/backend/common/dreamview_gflags.cc index 1c70f3b177..8d15fab338 100644 --- a/modules/dreamview/backend/common/dreamview_gflags.cc +++ b/modules/dreamview/backend/common/dreamview_gflags.cc @@ -65,7 +65,12 @@ DEFINE_double(sim_map_radius, 300.0, "elements around the car."); DEFINE_int32(dreamview_worker_num, 3, "number of dreamview thread workers"); + DEFINE_bool(enable_update_size_check, true, "True to check if the update byte number is less than threshold"); + DEFINE_uint32(max_update_size, 1000000, - "number of max update bytes allowed to push to dreamview FE"); + "Number of max update bytes allowed to push to dreamview FE"); + +DEFINE_bool(sim_world_with_routing_path, false, + "Whether the routing_path is included in sim_world proto."); diff --git a/modules/dreamview/backend/common/dreamview_gflags.h b/modules/dreamview/backend/common/dreamview_gflags.h index 15c10e350d..9e1c2b3f13 100644 --- a/modules/dreamview/backend/common/dreamview_gflags.h +++ b/modules/dreamview/backend/common/dreamview_gflags.h @@ -44,7 +44,11 @@ DECLARE_string(ssl_certificate); DECLARE_double(sim_map_radius); DECLARE_int32(dreamview_worker_num); + DECLARE_bool(enable_update_size_check); + DECLARE_uint32(max_update_size); +DECLARE_bool(sim_world_with_routing_path); + #endif // MODULES_DREAMVIEW_BACKEND_COMMON_DREAMVIEW_GFLAGS_H_ diff --git a/modules/dreamview/backend/handlers/websocket.cc b/modules/dreamview/backend/handlers/websocket.cc index e8f8e9dd39..366aa1f7c8 100644 --- a/modules/dreamview/backend/handlers/websocket.cc +++ b/modules/dreamview/backend/handlers/websocket.cc @@ -116,6 +116,7 @@ bool WebSocketHandler::SendData(Connection *conn, const std::string &data, } } } + // Note that while we are holding the connection lock, the connection won't be // closed and removed. int ret; diff --git a/modules/dreamview/backend/simulation_world/simulation_world_service.cc b/modules/dreamview/backend/simulation_world/simulation_world_service.cc index 60a6c52f1c..0d46220a4a 100644 --- a/modules/dreamview/backend/simulation_world/simulation_world_service.cc +++ b/modules/dreamview/backend/simulation_world/simulation_world_service.cc @@ -192,9 +192,7 @@ void UpdateTurnSignal(const apollo::common::VehicleSignal &signal, } } -inline double SecToMs(const double sec) { - return sec * 1000.0; -} +inline double SecToMs(const double sec) { return sec * 1000.0; } } // namespace @@ -234,6 +232,9 @@ void SimulationWorldService::Update() { auto car = world_.auto_driving_car(); world_.Clear(); *world_.mutable_auto_driving_car() = car; + + route_paths_.clear(); + to_clear_ = false; } @@ -303,7 +304,7 @@ Json SimulationWorldService::GetUpdateAsJson(double radius) const { } void SimulationWorldService::GetMapElementIds(double radius, - MapElementIds *ids) { + MapElementIds *ids) const { // Gather required map element ids based on current location. apollo::common::PointENU point; const auto &adc = world_.auto_driving_car(); @@ -850,6 +851,7 @@ void SimulationWorldService::UpdateSimulationWorld( } world_.clear_route_path(); + route_paths_.clear(); world_.set_routing_time(header_time); for (const Path &path : paths) { @@ -859,14 +861,38 @@ void SimulationWorldService::UpdateSimulationWorld( std::vector sampled_indices = DownsampleByAngle(path.path_points(), angle_threshold); - RoutePath *route_path = world_.add_route_path(); + route_paths_.emplace_back(); + RoutePath *route_path = &route_paths_.back(); for (int index : sampled_indices) { const auto &path_point = path.path_points()[index]; PolygonPoint *route_point = route_path->add_point(); route_point->set_x(path_point.x() + map_service_->GetXOffset()); route_point->set_y(path_point.y() + map_service_->GetYOffset()); } + + // Populate route path + if (FLAGS_sim_world_with_routing_path) { + auto *new_path = world_.add_route_path(); + *new_path = *route_path; + } + } +} + +Json SimulationWorldService::GetRoutePathAsJson() const { + Json response; + response["routingTime"] = world_.routing_time(); + response["routePath"] = Json::array(); + for (const auto &route_path : route_paths_) { + Json path; + path["point"] = Json::array(); + for (const auto &route_point : route_path.point()) { + path["point"].push_back({{"x", route_point.x()}, + {"y", route_point.y()}, + {"z", route_point.z()}}); + } + response["routePath"].push_back(path); } + return response; } void SimulationWorldService::ReadRoutingFromFile( diff --git a/modules/dreamview/backend/simulation_world/simulation_world_service.h b/modules/dreamview/backend/simulation_world/simulation_world_service.h index 94f35c41a7..bb0eb930d1 100644 --- a/modules/dreamview/backend/simulation_world/simulation_world_service.h +++ b/modules/dreamview/backend/simulation_world/simulation_world_service.h @@ -134,7 +134,9 @@ class SimulationWorldService { buffer.AddMonitorMsgItem(log_level, msg); } - void GetMapElementIds(double radius, MapElementIds *ids); + void GetMapElementIds(double radius, MapElementIds *ids) const; + + nlohmann::json GetRoutePathAsJson() const; private: /** @@ -199,6 +201,9 @@ class SimulationWorldService { // SimulationWorldService instance. SimulationWorld world_; + // Downsampled route paths to be rendered in frontend. + std::vector route_paths_; + // The handle of MapService, not owned by SimulationWorldService. const MapService *map_service_; diff --git a/modules/dreamview/backend/simulation_world/simulation_world_updater.cc b/modules/dreamview/backend/simulation_world/simulation_world_updater.cc index 447793cb52..76db08728e 100644 --- a/modules/dreamview/backend/simulation_world/simulation_world_updater.cc +++ b/modules/dreamview/backend/simulation_world/simulation_world_updater.cc @@ -43,8 +43,8 @@ SimulationWorldUpdater::SimulationWorldUpdater(WebSocketHandler *websocket, bool routing_from_file) : sim_world_service_(map_service, routing_from_file), map_service_(map_service), - map_ws_(map_ws), websocket_(websocket), + map_ws_(map_ws), sim_control_(sim_control) { RegisterMessageHandlers(); } @@ -149,6 +149,14 @@ void SimulationWorldUpdater::RegisterMessageHandlers() { websocket_->SendBinaryData(conn, to_send, true); }); + websocket_->RegisterMessageHandler( + "RequestRoutePath", + [this](const Json &json, WebSocketHandler::Connection *conn) { + Json response = sim_world_service_.GetRoutePathAsJson(); + response["type"] = "RoutePath"; + websocket_->SendData(conn, response.dump()); + }); + websocket_->RegisterMessageHandler( "GetDefaultEndPoint", [this](const Json &json, WebSocketHandler::Connection *conn) { diff --git a/modules/dreamview/frontend/dist/app.bundle.js b/modules/dreamview/frontend/dist/app.bundle.js index 6fddc0a59b..4f27ca09c9 100644 --- a/modules/dreamview/frontend/dist/app.bundle.js +++ b/modules/dreamview/frontend/dist/app.bundle.js @@ -17,12 +17,12 @@ MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ -var Xt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},Zt=function(){function e(e){void 0===e&&(e="Atom@"+xe()),this.name=e,this.isPendingUnobservation=!0,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.NOT_TRACKING}return e.prototype.onBecomeUnobserved=function(){},e.prototype.reportObserved=function(){nt(this)},e.prototype.reportChanged=function(){et(),rt(this),tt()},e.prototype.toString=function(){return this.name},e}(),Kt=function(e){function t(t,n,r){void 0===t&&(t="Atom@"+xe()),void 0===n&&(n=In),void 0===r&&(r=In);var i=e.call(this,t)||this;return i.name=t,i.onBecomeObservedHandler=n,i.onBecomeUnobservedHandler=r,i.isPendingUnobservation=!1,i.isBeingTracked=!1,i}return r(t,e),t.prototype.reportObserved=function(){return et(),e.prototype.reportObserved.call(this),this.isBeingTracked||(this.isBeingTracked=!0,this.onBecomeObservedHandler()),tt(),!!Bn.trackingDerivation},t.prototype.onBecomeUnobserved=function(){this.isBeingTracked=!1,this.onBecomeUnobservedHandler()},t}(Zt),Jt=ze("Atom",Zt),$t={spyReportEnd:!0},Qt="__$$iterating",en=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),tn=0,nn=function(){function e(){}return e}();!function(e,t){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):void 0!==e.prototype.__proto__?e.prototype.__proto__=t:e.prototype=t}(nn,Array.prototype),Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach(function(e){Object.defineProperty(nn.prototype,e,{configurable:!0,writable:!0,value:Array.prototype[e]})});var rn=function(){function e(e,t,n,r){this.array=n,this.owned=r,this.values=[],this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new Zt(e||"ObservableArray@"+xe()),this.enhancer=function(n,r){return t(n,r,e+"[..]")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer?e.map(this.dehancer):e},e.prototype.intercept=function(e){return o(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),l(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r0&&e+t+1>tn&&x(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;ut(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:void 0===t||null===t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=[]),i(this)){var s=a(this,{object:this.array,type:"splice",index:e,removedCount:t,added:n});if(!s)return Rn;t=s.removedCount,n=s.added}n=n.map(function(e){return r.enhancer(e,void 0)});var l=n.length-t;this.updateArrayLength(o,l);var u=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,u),this.dehanceValues(u)},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(i=this.values).splice.apply(i,[e,t].concat(n));var r=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),r;var i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:"update",index:e,newValue:t,oldValue:n}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:"splice",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e}(),on=function(e){function t(t,n,r,i){void 0===r&&(r="ObservableArray@"+xe()),void 0===i&&(i=!1);var o=e.call(this)||this,a=new rn(r,n,o,i);return Re(o,"$mobx",a),t&&t.length&&o.spliceWithArray(0,0,t),en&&Object.defineProperty(a.array,"0",an),o}return r(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error("[mobx.array] Index out of bounds: "+e+" is negative");var t=this.$mobx.values.length;if(e>=t)throw new Error("[mobx.array] Index out of bounds: "+e+" is not smaller than "+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,i=this.$mobx.values;r=e";Ae(e,t,pn(o,n))},function(e){return this[e]},function(){we(!1,w("m001"))},!1,!0),hn=R(function(e,t,n){F(e,t,n)},function(e){return this[e]},function(){we(!1,w("m001"))},!1,!1),pn=function(e,t,n,r){return 1===arguments.length&&"function"==typeof e?M(e.name||"",e):2===arguments.length&&"function"==typeof t?M(e,t):1===arguments.length&&"string"==typeof e?N(e):N(t).apply(null,arguments)};pn.bound=function(e,t,n){if("function"==typeof e){var r=M("",e);return r.autoBind=!0,r}return hn.apply(null,arguments)};var mn={identity:j,structural:U,default:W},gn=function(){function e(e,t,n,r,i){this.derivation=e,this.scope=t,this.equals=n,this.dependenciesState=Gn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+xe(),this.value=new Vn(null),this.isComputing=!1,this.isRunningSetter=!1,this.name=r||"ComputedValue@"+xe(),i&&(this.setter=M(r+"-setter",i))}return e.prototype.onBecomeStale=function(){ot(this)},e.prototype.onBecomeUnobserved=function(){ft(this),this.value=void 0},e.prototype.get=function(){we(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),0===Bn.inBatch?(et(),st(this)&&(this.value=this.computeValue(!1)),tt()):(nt(this),st(this)&&this.trackAndCompute()&&it(this));var e=this.value;if(at(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(at(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){we(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else we(!1,"[ComputedValue '"+this.name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){c()&&d({object:this.scope,type:"compute",fn:this.derivation});var e=this.value,t=this.dependenciesState===Gn.NOT_TRACKING,n=this.value=this.computeValue(!0);return t||at(e)||at(n)||!this.equals(e,n)},e.prototype.computeValue=function(e){this.isComputing=!0,Bn.computationDepth++;var t;if(e)t=ct(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new Vn(e)}return Bn.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return G(function(){var o=n.get();if(!r||t){var a=pt();e({type:"update",object:n,newValue:o,oldValue:i}),mt(a)}r=!1,i=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return Ve(this.get())},e.prototype.whyRun=function(){var e=Boolean(Bn.trackingDerivation),t=Ee(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=Ee(Ke(this).map(function(e){return e.name}));return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+(e?"[active] the value of this computation is needed by a reaction":this.isComputing?"[get] The value of this computed was requested outside a reaction":"[idle] not running at the moment")+"\n"+(this.dependenciesState===Gn.NOT_TRACKING?w("m032"):" * This computation will re-run if any of the following observables changes:\n "+Te(t)+"\n "+(this.isComputing&&e?" (... or any observable accessed during the remainder of the current run)":"")+"\n "+w("m038")+"\n\n * If the outcome of this computation changes, the following observers will be re-run:\n "+Te(n)+"\n")},e}();gn.prototype[Ge()]=gn.prototype.valueOf;var vn=ze("ComputedValue",gn),yn=function(){function e(e,t){this.target=e,this.name=t,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return we(!0!==t,"`observe` doesn't support the fire immediately property for observable objects."),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}(),bn={},xn={},_n=ze("ObservableObjectAdministration",yn),wn=ie(fe),Mn=ie(he),Sn=ie(pe),En=ie(me),Tn=ie(ge),kn={box:function(e,t){return arguments.length>2&&ue("box"),new un(e,fe,t)},shallowBox:function(e,t){return arguments.length>2&&ue("shallowBox"),new un(e,pe,t)},array:function(e,t){return arguments.length>2&&ue("array"),new on(e,fe,t)},shallowArray:function(e,t){return arguments.length>2&&ue("shallowArray"),new on(e,pe,t)},map:function(e,t){return arguments.length>2&&ue("map"),new Cn(e,fe,t)},shallowMap:function(e,t){return arguments.length>2&&ue("shallowMap"),new Cn(e,pe,t)},object:function(e,t){arguments.length>2&&ue("object");var n={};return q(n,t),oe(n,e),n},shallowObject:function(e,t){arguments.length>2&&ue("shallowObject");var n={};return q(n,t),ae(n,e),n},ref:function(){return arguments.length<2?de(pe,arguments[0]):Sn.apply(null,arguments)},shallow:function(){return arguments.length<2?de(he,arguments[0]):Mn.apply(null,arguments)},deep:function(){return arguments.length<2?de(fe,arguments[0]):wn.apply(null,arguments)},struct:function(){return arguments.length<2?de(me,arguments[0]):En.apply(null,arguments)}},On=le;Object.keys(kn).forEach(function(e){return On[e]=kn[e]}),On.deep.struct=On.struct,On.ref.struct=function(){return arguments.length<2?de(ge,arguments[0]):Tn.apply(null,arguments)};var Pn={},Cn=function(){function e(e,t,n){void 0===t&&(t=fe),void 0===n&&(n="ObservableMap@"+xe()),this.enhancer=t,this.name=n,this.$mobx=Pn,this._data=Object.create(null),this._hasMap=Object.create(null),this._keys=new on(void 0,pe,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this.dehancer=void 0,this.merge(e)}return e.prototype._has=function(e){return void 0!==this._data[e]},e.prototype.has=function(e){return!!this.isValidKey(e)&&(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get())},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(i(this)){var r=a(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,i(this)){var n=a(this,{type:"delete",object:this,name:e});if(!n)return!1}if(this._has(e)){var r=c(),o=s(this),n=o||r?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;return r&&f(n),ve(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1),t._data[e].setNewValue(void 0),t._data[e]=void 0}),o&&u(this,n),r&&h(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap[e];return n?n.setNewValue(t):n=this._hasMap[e]=new un(t,pe,this.name+"."+e+"?",!1),n},e.prototype._updateValue=function(e,t){var n=this._data[e];if((t=n.prepareNewValue(t))!==ln){var r=c(),i=s(this),o=i||r?{type:"update",object:this,oldValue:n.value,name:e,newValue:t}:null;r&&f(o),n.setNewValue(t),i&&u(this,o),r&&h()}},e.prototype._addValue=function(e,t){var n=this;ve(function(){var r=n._data[e]=new un(t,n.enhancer,n.name+"."+e,!1);t=r.value,n._updateHasMapEntry(e,!0),n._keys.push(e)});var r=c(),i=s(this),o=i||r?{type:"add",object:this,name:e,newValue:t}:null;r&&f(o),i&&u(this,o),r&&h()},e.prototype.get=function(e){return e=""+e,this.has(e)?this.dehanceValue(this._data[e].get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return g(this._keys.slice())},e.prototype.values=function(){return g(this._keys.map(this.get,this))},e.prototype.entries=function(){var e=this;return g(this._keys.map(function(t){return[t,e.get(t)]}))},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r,n)})},e.prototype.merge=function(e){var t=this;return An(e)&&(e=e.toJS()),ve(function(){Oe(e)?Object.keys(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):Ue(e)?e.forEach(function(e,n){return t.set(n,e)}):null!==e&&void 0!==e&&_e("Cannot initialize map from "+e)}),this},e.prototype.clear=function(){var e=this;ve(function(){ht(function(){e.keys().forEach(e.delete,e)})})},e.prototype.replace=function(e){var t=this;return ve(function(){var n=We(e);t.keys().filter(function(e){return-1===n.indexOf(e)}).forEach(function(e){return t.delete(e)}),t.merge(e)}),this},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var e=this,t={};return this.keys().forEach(function(n){return t[n]=e.get(n)}),t},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null!==e&&void 0!==e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e)},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"', only strings, numbers and booleans are accepted as key in observable maps.")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,t){return we(!0!==t,w("m033")),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}();v(Cn.prototype,function(){return this.entries()});var An=ze("ObservableMap",Cn),Rn=[];Object.freeze(Rn);var Ln=[],In=function(){},Dn=Object.prototype.hasOwnProperty,Nn=["mobxGuid","resetId","spyListeners","strictMode","runId"],zn=function(){function e(){this.version=5,this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[],this.globalReactionErrorHandlers=[]}return e}(),Bn=new zn,Fn=!1,jn=!1,Un=!1,Wn=be();Wn.__mobxInstanceCount?(Wn.__mobxInstanceCount++,setTimeout(function(){Fn||jn||Un||(Un=!0,console.warn("[mobx] Warning: there are multiple mobx instances active. This might lead to unexpected results. See https://github.com/mobxjs/mobx/issues/1082 for details."))})):Wn.__mobxInstanceCount=1;var Gn;!function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(Gn||(Gn={}));var Vn=function(){function e(e){this.cause=e}return e}(),Hn=function(){function e(e,t){void 0===e&&(e="Reaction@"+xe()),this.name=e,this.onInvalidate=t,this.observing=[],this.newObserving=[],this.dependenciesState=Gn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+xe(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Bn.pendingReactions.push(this),bt())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(et(),this._isScheduled=!1,st(this)&&(this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&c()&&d({object:this,type:"scheduled-reaction"})),tt())},e.prototype.track=function(e){et();var t,n=c();n&&(t=Date.now(),f({object:this,type:"reaction",fn:e})),this._isRunning=!0;var r=ct(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ft(this),at(r)&&this.reportExceptionInDerivation(r.cause),n&&h({time:Date.now()-t}),tt()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)return void this.errorHandler(e,this);var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this,r=w("m037");console.error(n||r,e),c()&&d({type:"error",message:n,error:e,object:this}),Bn.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(et(),ft(this),tt()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e.onError=vt,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.whyRun=function(){var e=Ee(this._isRunning?this.newObserving:this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+Te(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n\t"+w("m038")+"\n"},e}(),Yn=100,qn=function(e){return e()},Xn=ze("Reaction",Hn),Zn=Tt(mn.default),Kn=Tt(mn.structural),Jn=function(e,t,n){if("string"==typeof t)return Zn.apply(null,arguments);we("function"==typeof e,w("m011")),we(arguments.length<3,w("m012"));var r="object"==typeof t?t:{};r.setter="function"==typeof t?t:r.setter;var i=r.equals?r.equals:r.compareStructural||r.struct?mn.structural:mn.default;return new gn(e,r.context,i,r.name||e.name||"",r.setter)};Jn.struct=Kn,Jn.equals=Tt;var $n={allowStateChanges:P,deepEqual:Ne,getAtom:kt,getDebugName:Pt,getDependencyTree:Gt,getAdministration:Ot,getGlobalState:qe,getObserverTree:Ht,interceptReads:qt,isComputingDerivation:lt,isSpyEnabled:c,onReactionError:yt,reserveArrayBuffer:x,resetGlobalState:Xe,isolateGlobalState:He,shareGlobalState:Ye,spyReport:d,spyReportEnd:h,spyReportStart:f,setReactionScheduler:_t},Qn={Reaction:Hn,untracked:ht,Atom:Kt,BaseAtom:Zt,useStrict:k,isStrictModeEnabled:O,spy:p,comparer:mn,asReference:wt,asFlat:St,asStructure:Mt,asMap:Et,isModifierDescriptor:ce,isObservableObject:ne,isBoxedObservable:cn,isObservableArray:_,ObservableMap:Cn,isObservableMap:An,map:ye,transaction:ve,observable:On,computed:Jn,isObservable:re,isComputed:Ct,extendObservable:oe,extendShallowObservable:ae,observe:At,intercept:It,autorun:G,autorunAsync:H,when:V,reaction:Y,action:pn,isAction:B,runInAction:z,expr:zt,toJS:Bt,createTransformer:Ft,whyRun:Wt,isArrayLike:Fe,extras:$n},er=!1;for(var tr in Qn)!function(e){var t=Qn[e];Object.defineProperty(Qn,e,{get:function(){return er||(er=!0,console.warn("Using default export (`import mobx from 'mobx'`) is deprecated and won’t work in mobx@4.0.0\nUse `import * as mobx from 'mobx'` instead")),t}})}(tr);"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:p,extras:$n}),t.default=Qn}.call(t,n(68))},function(e,t,n){e.exports=n(395)()},function(e,t,n){e.exports={default:n(297),__esModule:!0}},function(e,t,n){var r=n(20);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(36)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";function r(e,t,n){if(i.call(this,e,n),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comments={},this.reserved=void 0,t)for(var r=Object.keys(t),o=0;o0)},o.Buffer=function(){try{var e=o.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(e){return"number"==typeof e?o.Buffer?o._Buffer_allocUnsafe(e):new o.Array(e):o.Buffer?o._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},o.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,o.Long=e.dcodeIO&&e.dcodeIO.Long||o.inquire("long"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(e){return e?o.LongBits.from(e).toHash():o.LongBits.zeroHash},o.longFromHash=function(e,t){var n=o.LongBits.fromHash(e);return o.Long?o.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},o.merge=r,o.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},o.newError=i,o.ProtocolError=i("ProtocolError"),o.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},o.oneOfSetter=function(e){return function(t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=new g.MeshBasicMaterial({map:E.load(e),transparent:!0,depthWrite:!1}),s=new g.Mesh(new g.PlaneGeometry(t,n),a);return s.material.side=g.DoubleSide,s.position.set(r,i,o),s.overdraw=!0,s}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],l=new g.Path,u=l.createGeometry(e);u.computeLineDistances();var c=new g.LineDashedMaterial({color:t,dashSize:r,linewidth:n,gapSize:o}),d=new g.Line(u,c);return i(d,a),d.matrixAutoUpdate=s,s||d.updateMatrix(),d}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=new g.CircleGeometry(e,n);return new g.Mesh(r,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16777215,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=M(e.map(function(e){return[e.x,e.y]})),s=new g.ShaderMaterial(S({side:g.DoubleSide,diffuse:n,thickness:t,opacity:r,transparent:!0})),l=new g.Mesh(a,s);return i(l,o),l}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,l=new g.Path,u=l.createGeometry(e),c=new g.LineBasicMaterial({color:t,linewidth:n,transparent:a,opacity:s}),d=new g.Line(u,c);return i(d,r),d.matrixAutoUpdate=o,!1===o&&d.updateMatrix(),d}function c(e,t,n){var r=new g.CubeGeometry(e.x,e.y,e.z),i=new g.MeshBasicMaterial({color:t}),o=new g.Mesh(r,i),a=new g.BoxHelper(o);return a.material.linewidth=n,a}function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.01,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.02,o=new g.CubeGeometry(e.x,e.y,e.z);o=new g.EdgesGeometry(o),o=(new g.Geometry).fromBufferGeometry(o),o.computeLineDistances();var a=new g.LineDashedMaterial({color:t,linewidth:n,dashSize:r,gapSize:i});return new g.LineSegments(o,a)}function f(e,t,n,r,i){var o=new g.Vector3(0,e,0);return u([new g.Vector3(0,0,0),o,new g.Vector3(r/2,e-n,0),o,new g.Vector3(-r/2,e-n,0)],i,t,1)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new g.Shape;if(t){n.moveTo(e[0].x,e[0].y);for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:new g.MeshBasicMaterial({color:16711680}),n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=h(e,n),s=new g.Mesh(a,t);return i(s,r),s.matrixAutoUpdate=o,!1===o&&s.updateMatrix(),s}Object.defineProperty(t,"__esModule",{value:!0}),t.addOffsetZ=i,t.drawImage=o,t.drawDashedLineFromPoints=a,t.drawCircle=s,t.drawThickBandFromPoints=l,t.drawSegmentsFromPoints=u,t.drawBox=c,t.drawDashedBox=d,t.drawArrow=f,t.getShapeGeometryFromPoints=h,t.drawShapeFromPoints=p;var m=n(10),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(m),v=n(422),y=r(v),b=n(423),x=r(b),_=n(39),w=.04,M=(0,y.default)(g),S=(0,x.default)(g),E=new g.TextureLoader},function(e,t,n){"use strict";e.exports={},e.exports.Arc=n(268),e.exports.Line=n(269),e.exports.Point=n(270),e.exports.Rectangle=n(271)},function(e,t,n){var r=n(21),i=n(51);e.exports=n(26)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){e.exports={default:n(299),__esModule:!0}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(76),i=n(73);e.exports=function(e){return r(i(e))}},function(e,t,n){(function(e,r){var i;(function(){function o(e,t){return e.set(t[0],t[1]),e}function a(e,t){return e.add(t),e}function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function l(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function p(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function F(e,t){for(var n=e.length;n--&&S(t,e[n],0)>-1;);return n}function j(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function U(e){return"\\"+On[e]}function W(e,t){return null==e?ie:e[t]}function G(e){return bn.test(e)}function V(e){return xn.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function Y(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function q(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,i=0,o=[];++n>>1,Fe=[["ary",Me],["bind",ge],["bindKey",ve],["curry",be],["curryRight",xe],["flip",Ee],["partial",_e],["partialRight",we],["rearg",Se]],je="[object Arguments]",Ue="[object Array]",We="[object AsyncFunction]",Ge="[object Boolean]",Ve="[object Date]",He="[object DOMException]",Ye="[object Error]",qe="[object Function]",Xe="[object GeneratorFunction]",Ze="[object Map]",Ke="[object Number]",Je="[object Null]",$e="[object Object]",Qe="[object Proxy]",et="[object RegExp]",tt="[object Set]",nt="[object String]",rt="[object Symbol]",it="[object Undefined]",ot="[object WeakMap]",at="[object WeakSet]",st="[object ArrayBuffer]",lt="[object DataView]",ut="[object Float32Array]",ct="[object Float64Array]",dt="[object Int8Array]",ft="[object Int16Array]",ht="[object Int32Array]",pt="[object Uint8Array]",mt="[object Uint8ClampedArray]",gt="[object Uint16Array]",vt="[object Uint32Array]",yt=/\b__p \+= '';/g,bt=/\b(__p \+=) '' \+/g,xt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>"']/g,Mt=RegExp(_t.source),St=RegExp(wt.source),Et=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,kt=/<%=([\s\S]+?)%>/g,Ot=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pt=/^\w*$/,Ct=/^\./,At=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,Lt=RegExp(Rt.source),It=/^\s+|\s+$/g,Dt=/^\s+/,Nt=/\s+$/,zt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ft=/,? & /,jt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ut=/\\(\\)?/g,Wt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Gt=/\w*$/,Vt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Yt=/^\[object .+?Constructor\]$/,qt=/^0o[0-7]+$/i,Xt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Jt=/['\n\r\u2028\u2029\\]/g,$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",en="["+Qt+"]",tn="["+$t+"]",nn="[a-z\\xdf-\\xf6\\xf8-\\xff]",rn="[^\\ud800-\\udfff"+Qt+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",on="\\ud83c[\\udffb-\\udfff]",an="(?:\\ud83c[\\udde6-\\uddff]){2}",sn="[\\ud800-\\udbff][\\udc00-\\udfff]",ln="[A-Z\\xc0-\\xd6\\xd8-\\xde]",un="(?:"+nn+"|"+rn+")",cn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",dn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",an,sn].join("|")+")[\\ufe0e\\ufe0f]?"+cn+")*",fn="[\\ufe0e\\ufe0f]?"+cn+dn,hn="(?:"+["[\\u2700-\\u27bf]",an,sn].join("|")+")"+fn,pn="(?:"+["[^\\ud800-\\udfff]"+tn+"?",tn,an,sn,"[\\ud800-\\udfff]"].join("|")+")",mn=RegExp("['’]","g"),gn=RegExp(tn,"g"),vn=RegExp(on+"(?="+on+")|"+pn+fn,"g"),yn=RegExp([ln+"?"+nn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[en,ln,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[en,ln+un,"$"].join("|")+")",ln+"?"+un+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ln+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",hn].join("|"),"g"),bn=RegExp("[\\u200d\\ud800-\\udfff"+$t+"\\ufe0e\\ufe0f]"),xn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_n=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wn=-1,Mn={};Mn[ut]=Mn[ct]=Mn[dt]=Mn[ft]=Mn[ht]=Mn[pt]=Mn[mt]=Mn[gt]=Mn[vt]=!0,Mn[je]=Mn[Ue]=Mn[st]=Mn[Ge]=Mn[lt]=Mn[Ve]=Mn[Ye]=Mn[qe]=Mn[Ze]=Mn[Ke]=Mn[$e]=Mn[et]=Mn[tt]=Mn[nt]=Mn[ot]=!1;var Sn={};Sn[je]=Sn[Ue]=Sn[st]=Sn[lt]=Sn[Ge]=Sn[Ve]=Sn[ut]=Sn[ct]=Sn[dt]=Sn[ft]=Sn[ht]=Sn[Ze]=Sn[Ke]=Sn[$e]=Sn[et]=Sn[tt]=Sn[nt]=Sn[rt]=Sn[pt]=Sn[mt]=Sn[gt]=Sn[vt]=!0,Sn[Ye]=Sn[qe]=Sn[ot]=!1;var En={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},Tn={"&":"&","<":"<",">":">",'"':""","'":"'"},kn={"&":"&","<":"<",">":">",""":'"',"'":"'"},On={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pn=parseFloat,Cn=parseInt,An="object"==typeof e&&e&&e.Object===Object&&e,Rn="object"==typeof self&&self&&self.Object===Object&&self,Ln=An||Rn||Function("return this")(),In="object"==typeof t&&t&&!t.nodeType&&t,Dn=In&&"object"==typeof r&&r&&!r.nodeType&&r,Nn=Dn&&Dn.exports===In,zn=Nn&&An.process,Bn=function(){try{return zn&&zn.binding&&zn.binding("util")}catch(e){}}(),Fn=Bn&&Bn.isArrayBuffer,jn=Bn&&Bn.isDate,Un=Bn&&Bn.isMap,Wn=Bn&&Bn.isRegExp,Gn=Bn&&Bn.isSet,Vn=Bn&&Bn.isTypedArray,Hn=O("length"),Yn=P(En),qn=P(Tn),Xn=P(kn),Zn=function e(t){function n(e){if(ol(e)&&!vf(e)&&!(e instanceof x)){if(e instanceof i)return e;if(gc.call(e,"__wrapped__"))return na(e)}return new i(e)}function r(){}function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ie}function x(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ne,this.__views__=[]}function P(){var e=new x(this.__wrapped__);return e.__actions__=zi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=zi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=zi(this.__views__),e}function J(){if(this.__filtered__){var e=new x(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function te(){var e=this.__wrapped__.value(),t=this.__dir__,n=vf(e),r=t<0,i=n?e.length:0,o=ko(0,i,this.__views__),a=o.start,s=o.end,l=s-a,u=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,h=Yc(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return yi(e,this.__actions__);var p=[];e:for(;l--&&f-1}function ln(e,t){var n=this.__data__,r=Kn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function rr(e,t,n,r,i,o){var a,s=t&de,l=t&fe,c=t&he;if(n&&(a=i?n(e,r,i,o):n(e)),a!==ie)return a;if(!il(e))return e;var d=vf(e);if(d){if(a=Co(e),!s)return zi(e,a)}else{var f=Td(e),h=f==qe||f==Xe;if(bf(e))return Ei(e,s);if(f==$e||f==je||h&&!i){if(a=l||h?{}:Ao(e),!s)return l?ji(e,Qn(a,e)):Fi(e,$n(a,e))}else{if(!Sn[f])return i?e:{};a=Ro(e,f,rr,s)}}o||(o=new xn);var p=o.get(e);if(p)return p;o.set(e,a);var m=c?l?bo:yo:l?Ul:jl,g=d?ie:m(e);return u(g||e,function(r,i){g&&(i=r,r=e[i]),Hn(a,i,rr(r,t,n,i,e,o))}),a}function ir(e){var t=jl(e);return function(n){return or(n,e,t)}}function or(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var i=n[r],o=t[i],a=e[i];if(a===ie&&!(i in e)||!o(a))return!1}return!0}function ar(e,t,n){if("function"!=typeof e)throw new cc(se);return Pd(function(){e.apply(ie,n)},t)}function sr(e,t,n,r){var i=-1,o=h,a=!0,s=e.length,l=[],u=t.length;if(!s)return l;n&&(t=m(t,D(n))),r?(o=p,a=!1):t.length>=oe&&(o=z,a=!1,t=new vn(t));e:for(;++ii?0:i+n),r=r===ie||r>i?i:wl(r),r<0&&(r+=i),r=n>r?0:Ml(r);n0&&n(s)?t>1?fr(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function hr(e,t){return e&&gd(e,t,jl)}function pr(e,t){return e&&vd(e,t,jl)}function mr(e,t){return f(t,function(t){return tl(e[t])})}function gr(e,t){t=Mi(t,e);for(var n=0,r=t.length;null!=e&&nt}function xr(e,t){return null!=e&&gc.call(e,t)}function _r(e,t){return null!=e&&t in sc(e)}function wr(e,t,n){return e>=Yc(t,n)&&e=120&&c.length>=120)?new vn(a&&c):ie}c=e[0];var d=-1,f=s[0];e:for(;++d-1;)s!==e&&Cc.call(s,l,1),Cc.call(e,l,1);return e}function $r(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;Do(i)?Cc.call(e,i,1):mi(e,i)}}return e}function Qr(e,t){return e+Fc(Zc()*(t-e+1))}function ei(e,t,n,r){for(var i=-1,o=Hc(Bc((t-e)/(n||1)),0),a=nc(o);o--;)a[r?o:++i]=e,e+=n;return a}function ti(e,t){var n="";if(!e||t<1||t>Le)return n;do{t%2&&(n+=e),(t=Fc(t/2))&&(e+=e)}while(t);return n}function ni(e,t){return Cd(qo(e,t,Cu),e+"")}function ri(e){return In(Ql(e))}function ii(e,t){var n=Ql(e);return $o(n,nr(t,0,n.length))}function oi(e,t,n,r){if(!il(e))return e;t=Mi(t,e);for(var i=-1,o=t.length,a=o-1,s=e;null!=s&&++ii?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=nc(i);++r>>1,a=e[o];null!==a&&!gl(a)&&(n?a<=t:a=oe){var u=t?null:wd(e);if(u)return Z(u);a=!1,i=z,l=new vn}else l=t?[]:s;e:for(;++r=r?e:si(e,t,n)}function Ei(e,t){if(t)return e.slice();var n=e.length,r=Tc?Tc(n):new e.constructor(n);return e.copy(r),r}function Ti(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function ki(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Oi(e,t,n){return v(t?n(Y(e),de):Y(e),o,new e.constructor)}function Pi(e){var t=new e.constructor(e.source,Gt.exec(e));return t.lastIndex=e.lastIndex,t}function Ci(e,t,n){return v(t?n(Z(e),de):Z(e),a,new e.constructor)}function Ai(e){return dd?sc(dd.call(e)):{}}function Ri(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Li(e,t){if(e!==t){var n=e!==ie,r=null===e,i=e===e,o=gl(e),a=t!==ie,s=null===t,l=t===t,u=gl(t);if(!s&&!u&&!o&&e>t||o&&a&&l&&!s&&!u||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!u&&e=s)return l;return l*("desc"==n[r]?-1:1)}}return e.index-t.index}function Di(e,t,n,r){for(var i=-1,o=e.length,a=n.length,s=-1,l=t.length,u=Hc(o-a,0),c=nc(l+u),d=!r;++s1?n[i-1]:ie,a=i>2?n[2]:ie;for(o=e.length>3&&"function"==typeof o?(i--,o):ie,a&&No(n[0],n[1],a)&&(o=i<3?ie:o,i=1),t=sc(t);++r-1?i[o?t[a]:a]:ie}}function Ji(e){return vo(function(t){var n=t.length,r=n,o=i.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new cc(se);if(o&&!s&&"wrapper"==xo(a))var s=new i([],!0)}for(r=s?r:n;++r1&&y.reverse(),d&&ls))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var c=-1,d=!0,f=n&me?new vn:ie;for(o.set(e,t),o.set(t,e);++c1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(zt,"{\n/* [wrapped with "+t+"] */\n")}function Io(e){return vf(e)||gf(e)||!!(Ac&&e&&e[Ac])}function Do(e,t){return!!(t=null==t?Le:t)&&("number"==typeof e||Xt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Oe)return arguments[0]}else t=0;return e.apply(ie,arguments)}}function $o(e,t){var n=-1,r=e.length,i=r-1;for(t=t===ie?r:t;++n=this.__values__.length;return{done:e,value:e?ie:this.__values__[this.__index__++]}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var i=na(n);i.__index__=0,i.__values__=ie,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t}function is(){var e=this.__wrapped__;if(e instanceof x){var t=e;return this.__actions__.length&&(t=new x(this)),t=t.reverse(),t.__actions__.push({func:$a,args:[Oa],thisArg:ie}),new i(t,this.__chain__)}return this.thru(Oa)}function os(){return yi(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=vf(e)?d:lr;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function ss(e,t){return(vf(e)?f:dr)(e,wo(t,3))}function ls(e,t){return fr(ps(e,t),1)}function us(e,t){return fr(ps(e,t),Re)}function cs(e,t,n){return n=n===ie?1:wl(n),fr(ps(e,t),n)}function ds(e,t){return(vf(e)?u:pd)(e,wo(t,3))}function fs(e,t){return(vf(e)?c:md)(e,wo(t,3))}function hs(e,t,n,r){e=Ys(e)?e:Ql(e),n=n&&!r?wl(n):0;var i=e.length;return n<0&&(n=Hc(i+n,0)),ml(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&S(e,t,n)>-1}function ps(e,t){return(vf(e)?m:Ur)(e,wo(t,3))}function ms(e,t,n,r){return null==e?[]:(vf(t)||(t=null==t?[]:[t]),n=r?ie:n,vf(n)||(n=null==n?[]:[n]),qr(e,t,n))}function gs(e,t,n){var r=vf(e)?v:C,i=arguments.length<3;return r(e,wo(t,4),n,i,pd)}function vs(e,t,n){var r=vf(e)?y:C,i=arguments.length<3;return r(e,wo(t,4),n,i,md)}function ys(e,t){return(vf(e)?f:dr)(e,Rs(wo(t,3)))}function bs(e){return(vf(e)?In:ri)(e)}function xs(e,t,n){return t=(n?No(e,t,n):t===ie)?1:wl(t),(vf(e)?Dn:ii)(e,t)}function _s(e){return(vf(e)?zn:ai)(e)}function ws(e){if(null==e)return 0;if(Ys(e))return ml(e)?Q(e):e.length;var t=Td(e);return t==Ze||t==tt?e.size:Br(e).length}function Ms(e,t,n){var r=vf(e)?b:li;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function Ss(e,t){if("function"!=typeof t)throw new cc(se);return e=wl(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ie:t,t=e&&null==t?e.length:t,uo(e,Me,ie,ie,ie,ie,t)}function Ts(e,t){var n;if("function"!=typeof t)throw new cc(se);return e=wl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ie),n}}function ks(e,t,n){t=n?ie:t;var r=uo(e,be,ie,ie,ie,ie,ie,t);return r.placeholder=ks.placeholder,r}function Os(e,t,n){t=n?ie:t;var r=uo(e,xe,ie,ie,ie,ie,ie,t);return r.placeholder=Os.placeholder,r}function Ps(e,t,n){function r(t){var n=f,r=h;return f=h=ie,y=t,m=e.apply(r,n)}function i(e){return y=e,g=Pd(s,t),b?r(e):m}function o(e){var n=e-v,r=e-y,i=t-n;return x?Yc(i,p-r):i}function a(e){var n=e-v,r=e-y;return v===ie||n>=t||n<0||x&&r>=p}function s(){var e=of();if(a(e))return l(e);g=Pd(s,o(e))}function l(e){return g=ie,_&&f?r(e):(f=h=ie,m)}function u(){g!==ie&&_d(g),y=0,f=v=h=g=ie}function c(){return g===ie?m:l(of())}function d(){var e=of(),n=a(e);if(f=arguments,h=this,v=e,n){if(g===ie)return i(v);if(x)return g=Pd(s,t),r(v)}return g===ie&&(g=Pd(s,t)),m}var f,h,p,m,g,v,y=0,b=!1,x=!1,_=!0;if("function"!=typeof e)throw new cc(se);return t=Sl(t)||0,il(n)&&(b=!!n.leading,x="maxWait"in n,p=x?Hc(Sl(n.maxWait)||0,t):p,_="trailing"in n?!!n.trailing:_),d.cancel=u,d.flush=c,d}function Cs(e){return uo(e,Ee)}function As(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new cc(se);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||un),n}function Rs(e){if("function"!=typeof e)throw new cc(se);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Ls(e){return Ts(2,e)}function Is(e,t){if("function"!=typeof e)throw new cc(se);return t=t===ie?t:wl(t),ni(e,t)}function Ds(e,t){if("function"!=typeof e)throw new cc(se);return t=null==t?0:Hc(wl(t),0),ni(function(n){var r=n[t],i=Si(n,0,t);return r&&g(i,r),s(e,this,i)})}function Ns(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new cc(se);return il(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ps(e,t,{leading:r,maxWait:t,trailing:i})}function zs(e){return Es(e,1)}function Bs(e,t){return df(wi(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return vf(e)?e:[e]}function js(e){return rr(e,he)}function Us(e,t){return t="function"==typeof t?t:ie,rr(e,he,t)}function Ws(e){return rr(e,de|he)}function Gs(e,t){return t="function"==typeof t?t:ie,rr(e,de|he,t)}function Vs(e,t){return null==t||or(e,t,jl(t))}function Hs(e,t){return e===t||e!==e&&t!==t}function Ys(e){return null!=e&&rl(e.length)&&!tl(e)}function qs(e){return ol(e)&&Ys(e)}function Xs(e){return!0===e||!1===e||ol(e)&&yr(e)==Ge}function Zs(e){return ol(e)&&1===e.nodeType&&!hl(e)}function Ks(e){if(null==e)return!0;if(Ys(e)&&(vf(e)||"string"==typeof e||"function"==typeof e.splice||bf(e)||Sf(e)||gf(e)))return!e.length;var t=Td(e);if(t==Ze||t==tt)return!e.size;if(Uo(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Js(e,t){return Pr(e,t)}function $s(e,t,n){n="function"==typeof n?n:ie;var r=n?n(e,t):ie;return r===ie?Pr(e,t,ie,n):!!r}function Qs(e){if(!ol(e))return!1;var t=yr(e);return t==Ye||t==He||"string"==typeof e.message&&"string"==typeof e.name&&!hl(e)}function el(e){return"number"==typeof e&&Wc(e)}function tl(e){if(!il(e))return!1;var t=yr(e);return t==qe||t==Xe||t==We||t==Qe}function nl(e){return"number"==typeof e&&e==wl(e)}function rl(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Le}function il(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ol(e){return null!=e&&"object"==typeof e}function al(e,t){return e===t||Rr(e,t,So(t))}function sl(e,t,n){return n="function"==typeof n?n:ie,Rr(e,t,So(t),n)}function ll(e){return fl(e)&&e!=+e}function ul(e){if(kd(e))throw new ic(ae);return Lr(e)}function cl(e){return null===e}function dl(e){return null==e}function fl(e){return"number"==typeof e||ol(e)&&yr(e)==Ke}function hl(e){if(!ol(e)||yr(e)!=$e)return!1;var t=kc(e);if(null===t)return!0;var n=gc.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&mc.call(n)==xc}function pl(e){return nl(e)&&e>=-Le&&e<=Le}function ml(e){return"string"==typeof e||!vf(e)&&ol(e)&&yr(e)==nt}function gl(e){return"symbol"==typeof e||ol(e)&&yr(e)==rt}function vl(e){return e===ie}function yl(e){return ol(e)&&Td(e)==ot}function bl(e){return ol(e)&&yr(e)==at}function xl(e){if(!e)return[];if(Ys(e))return ml(e)?ee(e):zi(e);if(Rc&&e[Rc])return H(e[Rc]());var t=Td(e);return(t==Ze?Y:t==tt?Z:Ql)(e)}function _l(e){if(!e)return 0===e?e:0;if((e=Sl(e))===Re||e===-Re){return(e<0?-1:1)*Ie}return e===e?e:0}function wl(e){var t=_l(e),n=t%1;return t===t?n?t-n:t:0}function Ml(e){return e?nr(wl(e),0,Ne):0}function Sl(e){if("number"==typeof e)return e;if(gl(e))return De;if(il(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=il(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(It,"");var n=Ht.test(e);return n||qt.test(e)?Cn(e.slice(2),n?2:8):Vt.test(e)?De:+e}function El(e){return Bi(e,Ul(e))}function Tl(e){return e?nr(wl(e),-Le,Le):0===e?e:0}function kl(e){return null==e?"":hi(e)}function Ol(e,t){var n=hd(e);return null==t?n:$n(n,t)}function Pl(e,t){return w(e,wo(t,3),hr)}function Cl(e,t){return w(e,wo(t,3),pr)}function Al(e,t){return null==e?e:gd(e,wo(t,3),Ul)}function Rl(e,t){return null==e?e:vd(e,wo(t,3),Ul)}function Ll(e,t){return e&&hr(e,wo(t,3))}function Il(e,t){return e&&pr(e,wo(t,3))}function Dl(e){return null==e?[]:mr(e,jl(e))}function Nl(e){return null==e?[]:mr(e,Ul(e))}function zl(e,t,n){var r=null==e?ie:gr(e,t);return r===ie?n:r}function Bl(e,t){return null!=e&&Po(e,t,xr)}function Fl(e,t){return null!=e&&Po(e,t,_r)}function jl(e){return Ys(e)?Rn(e):Br(e)}function Ul(e){return Ys(e)?Rn(e,!0):Fr(e)}function Wl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,t(e,r,i),e)}),n}function Gl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,r,t(e,r,i))}),n}function Vl(e,t){return Hl(e,Rs(wo(t)))}function Hl(e,t){if(null==e)return{};var n=m(bo(e),function(e){return[e]});return t=wo(t),Zr(e,n,function(e,n){return t(e,n[0])})}function Yl(e,t,n){t=Mi(t,e);var r=-1,i=t.length;for(i||(i=1,e=ie);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Zc();return Yc(e+i*(t-e+Pn("1e-"+((i+"").length-1))),t)}return Qr(e,t)}function iu(e){return Kf(kl(e).toLowerCase())}function ou(e){return(e=kl(e))&&e.replace(Zt,Yn).replace(gn,"")}function au(e,t,n){e=kl(e),t=hi(t);var r=e.length;n=n===ie?r:nr(wl(n),0,r);var i=n;return(n-=t.length)>=0&&e.slice(n,i)==t}function su(e){return e=kl(e),e&&St.test(e)?e.replace(wt,qn):e}function lu(e){return e=kl(e),e&&Lt.test(e)?e.replace(Rt,"\\$&"):e}function uu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return no(Fc(i),n)+e+no(Bc(i),n)}function cu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;return t&&r>>0)?(e=kl(e),e&&("string"==typeof t||null!=t&&!wf(t))&&!(t=hi(t))&&G(e)?Si(ee(e),0,n):e.split(t,n)):[]}function gu(e,t,n){return e=kl(e),n=null==n?0:nr(wl(n),0,e.length),t=hi(t),e.slice(n,n+t.length)==t}function vu(e,t,r){var i=n.templateSettings;r&&No(e,t,r)&&(t=ie),e=kl(e),t=Pf({},t,i,co);var o,a,s=Pf({},t.imports,i.imports,co),l=jl(s),u=N(s,l),c=0,d=t.interpolate||Kt,f="__p += '",h=lc((t.escape||Kt).source+"|"+d.source+"|"+(d===kt?Wt:Kt).source+"|"+(t.evaluate||Kt).source+"|$","g"),p="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++wn+"]")+"\n";e.replace(h,function(t,n,r,i,s,l){return r||(r=i),f+=e.slice(c,l).replace(Jt,U),n&&(o=!0,f+="' +\n__e("+n+") +\n'"),s&&(a=!0,f+="';\n"+s+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=l+t.length,t}),f+="';\n";var m=t.variable;m||(f="with (obj) {\n"+f+"\n}\n"),f=(a?f.replace(yt,""):f).replace(bt,"$1").replace(xt,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Jf(function(){return oc(l,p+"return "+f).apply(ie,u)});if(g.source=f,Qs(g))throw g;return g}function yu(e){return kl(e).toLowerCase()}function bu(e){return kl(e).toUpperCase()}function xu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(It,"");if(!e||!(t=hi(t)))return e;var r=ee(e),i=ee(t);return Si(r,B(r,i),F(r,i)+1).join("")}function _u(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Nt,"");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,0,F(r,ee(t))+1).join("")}function wu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Dt,"");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,B(r,ee(t))).join("")}function Mu(e,t){var n=Te,r=ke;if(il(t)){var i="separator"in t?t.separator:i;n="length"in t?wl(t.length):n,r="omission"in t?hi(t.omission):r}e=kl(e);var o=e.length;if(G(e)){var a=ee(e);o=a.length}if(n>=o)return e;var s=n-Q(r);if(s<1)return r;var l=a?Si(a,0,s).join(""):e.slice(0,s);if(i===ie)return l+r;if(a&&(s+=l.length-s),wf(i)){if(e.slice(s).search(i)){var u,c=l;for(i.global||(i=lc(i.source,kl(Gt.exec(i))+"g")),i.lastIndex=0;u=i.exec(c);)var d=u.index;l=l.slice(0,d===ie?s:d)}}else if(e.indexOf(hi(i),s)!=s){var f=l.lastIndexOf(i);f>-1&&(l=l.slice(0,f))}return l+r}function Su(e){return e=kl(e),e&&Mt.test(e)?e.replace(_t,Xn):e}function Eu(e,t,n){return e=kl(e),t=n?ie:t,t===ie?V(e)?re(e):_(e):e.match(t)||[]}function Tu(e){var t=null==e?0:e.length,n=wo();return e=t?m(e,function(e){if("function"!=typeof e[1])throw new cc(se);return[n(e[0]),e[1]]}):[],ni(function(n){for(var r=-1;++rLe)return[];var n=Ne,r=Yc(e,Ne);t=wo(t),e-=Ne;for(var i=L(r,t);++n1?e[t-1]:ie;return n="function"==typeof n?(e.pop(),n):ie,qa(e,n)}),Zd=vo(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return tr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof x&&Do(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:$a,args:[o],thisArg:ie}),new i(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ie),e})):this.thru(o)}),Kd=Ui(function(e,t,n){gc.call(e,n)?++e[n]:er(e,n,1)}),Jd=Ki(da),$d=Ki(fa),Qd=Ui(function(e,t,n){gc.call(e,n)?e[n].push(t):er(e,n,[t])}),ef=ni(function(e,t,n){var r=-1,i="function"==typeof t,o=Ys(e)?nc(e.length):[];return pd(e,function(e){o[++r]=i?s(t,e,n):Er(e,t,n)}),o}),tf=Ui(function(e,t,n){er(e,n,t)}),nf=Ui(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=ni(function(e,t){if(null==e)return[];var n=t.length;return n>1&&No(e,t[0],t[1])?t=[]:n>2&&No(t[0],t[1],t[2])&&(t=[t[0]]),qr(e,fr(t,1),[])}),of=Nc||function(){return Ln.Date.now()},af=ni(function(e,t,n){var r=ge;if(n.length){var i=X(n,_o(af));r|=_e}return uo(e,r,t,n,i)}),sf=ni(function(e,t,n){var r=ge|ve;if(n.length){var i=X(n,_o(sf));r|=_e}return uo(t,r,e,n,i)}),lf=ni(function(e,t){return ar(e,1,t)}),uf=ni(function(e,t,n){return ar(e,Sl(t)||0,n)});As.Cache=un;var cf=xd(function(e,t){t=1==t.length&&vf(t[0])?m(t[0],D(wo())):m(fr(t,1),D(wo()));var n=t.length;return ni(function(r){for(var i=-1,o=Yc(r.length,n);++i=t}),gf=Tr(function(){return arguments}())?Tr:function(e){return ol(e)&&gc.call(e,"callee")&&!Pc.call(e,"callee")},vf=nc.isArray,yf=Fn?D(Fn):kr,bf=Uc||Uu,xf=jn?D(jn):Or,_f=Un?D(Un):Ar,wf=Wn?D(Wn):Ir,Mf=Gn?D(Gn):Dr,Sf=Vn?D(Vn):Nr,Ef=oo(jr),Tf=oo(function(e,t){return e<=t}),kf=Wi(function(e,t){if(Uo(t)||Ys(t))return void Bi(t,jl(t),e);for(var n in t)gc.call(t,n)&&Hn(e,n,t[n])}),Of=Wi(function(e,t){Bi(t,Ul(t),e)}),Pf=Wi(function(e,t,n,r){Bi(t,Ul(t),e,r)}),Cf=Wi(function(e,t,n,r){Bi(t,jl(t),e,r)}),Af=vo(tr),Rf=ni(function(e){return e.push(ie,co),s(Pf,ie,e)}),Lf=ni(function(e){return e.push(ie,fo),s(Bf,ie,e)}),If=Qi(function(e,t,n){e[t]=n},Ou(Cu)),Df=Qi(function(e,t,n){gc.call(e,t)?e[t].push(n):e[t]=[n]},wo),Nf=ni(Er),zf=Wi(function(e,t,n){Vr(e,t,n)}),Bf=Wi(function(e,t,n,r){Vr(e,t,n,r)}),Ff=vo(function(e,t){var n={};if(null==e)return n;var r=!1;t=m(t,function(t){return t=Mi(t,e),r||(r=t.length>1),t}),Bi(e,bo(e),n),r&&(n=rr(n,de|fe|he,ho));for(var i=t.length;i--;)mi(n,t[i]);return n}),jf=vo(function(e,t){return null==e?{}:Xr(e,t)}),Uf=lo(jl),Wf=lo(Ul),Gf=qi(function(e,t,n){return t=t.toLowerCase(),e+(n?iu(t):t)}),Vf=qi(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hf=qi(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Yf=Yi("toLowerCase"),qf=qi(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),Xf=qi(function(e,t,n){return e+(n?" ":"")+Kf(t)}),Zf=qi(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Kf=Yi("toUpperCase"),Jf=ni(function(e,t){try{return s(e,ie,t)}catch(e){return Qs(e)?e:new ic(e)}}),$f=vo(function(e,t){return u(t,function(t){t=Qo(t),er(e,t,af(e[t],e))}),e}),Qf=Ji(),eh=Ji(!0),th=ni(function(e,t){return function(n){return Er(n,e,t)}}),nh=ni(function(e,t){return function(n){return Er(e,n,t)}}),rh=to(m),ih=to(d),oh=to(b),ah=io(),sh=io(!0),lh=eo(function(e,t){return e+t},0),uh=so("ceil"),ch=eo(function(e,t){return e/t},1),dh=so("floor"),fh=eo(function(e,t){return e*t},1),hh=so("round"),ph=eo(function(e,t){return e-t},0);return n.after=Ss,n.ary=Es,n.assign=kf,n.assignIn=Of,n.assignInWith=Pf,n.assignWith=Cf,n.at=Af,n.before=Ts,n.bind=af,n.bindAll=$f,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=ia,n.concat=oa,n.cond=Tu,n.conforms=ku,n.constant=Ou,n.countBy=Kd,n.create=Ol,n.curry=ks,n.curryRight=Os,n.debounce=Ps,n.defaults=Rf,n.defaultsDeep=Lf,n.defer=lf,n.delay=uf,n.difference=Rd,n.differenceBy=Ld,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=la,n.dropWhile=ua,n.fill=ca,n.filter=ss,n.flatMap=ls,n.flatMapDeep=us,n.flatMapDepth=cs,n.flatten=ha,n.flattenDeep=pa,n.flattenDepth=ma,n.flip=Cs,n.flow=Qf,n.flowRight=eh,n.fromPairs=ga,n.functions=Dl,n.functionsIn=Nl,n.groupBy=Qd,n.initial=ba,n.intersection=Dd,n.intersectionBy=Nd,n.intersectionWith=zd,n.invert=If,n.invertBy=Df,n.invokeMap=ef,n.iteratee=Au,n.keyBy=tf,n.keys=jl,n.keysIn=Ul,n.map=ps,n.mapKeys=Wl,n.mapValues=Gl,n.matches=Ru,n.matchesProperty=Lu,n.memoize=As,n.merge=zf,n.mergeWith=Bf,n.method=th,n.methodOf=nh,n.mixin=Iu,n.negate=Rs,n.nthArg=zu,n.omit=Ff,n.omitBy=Vl,n.once=Ls,n.orderBy=ms,n.over=rh,n.overArgs=cf,n.overEvery=ih,n.overSome=oh,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=jf,n.pickBy=Hl,n.property=Bu,n.propertyOf=Fu,n.pull=Bd,n.pullAll=Sa,n.pullAllBy=Ea,n.pullAllWith=Ta,n.pullAt=Fd,n.range=ah,n.rangeRight=sh,n.rearg=hf,n.reject=ys,n.remove=ka,n.rest=Is,n.reverse=Oa,n.sampleSize=xs,n.set=ql,n.setWith=Xl,n.shuffle=_s,n.slice=Pa,n.sortBy=rf,n.sortedUniq=Na,n.sortedUniqBy=za,n.split=mu,n.spread=Ds,n.tail=Ba,n.take=Fa,n.takeRight=ja,n.takeRightWhile=Ua,n.takeWhile=Wa,n.tap=Ja,n.throttle=Ns,n.thru=$a,n.toArray=xl,n.toPairs=Uf,n.toPairsIn=Wf,n.toPath=Yu,n.toPlainObject=El,n.transform=Zl,n.unary=zs,n.union=jd,n.unionBy=Ud,n.unionWith=Wd,n.uniq=Ga,n.uniqBy=Va,n.uniqWith=Ha,n.unset=Kl,n.unzip=Ya,n.unzipWith=qa,n.update=Jl,n.updateWith=$l,n.values=Ql,n.valuesIn=eu,n.without=Gd,n.words=Eu,n.wrap=Bs,n.xor=Vd,n.xorBy=Hd,n.xorWith=Yd,n.zip=qd,n.zipObject=Xa,n.zipObjectDeep=Za,n.zipWith=Xd,n.entries=Uf,n.entriesIn=Wf,n.extend=Of,n.extendWith=Pf,Iu(n,n),n.add=lh,n.attempt=Jf,n.camelCase=Gf,n.capitalize=iu,n.ceil=uh,n.clamp=tu,n.clone=js,n.cloneDeep=Ws,n.cloneDeepWith=Gs,n.cloneWith=Us,n.conformsTo=Vs,n.deburr=ou,n.defaultTo=Pu,n.divide=ch,n.endsWith=au,n.eq=Hs,n.escape=su,n.escapeRegExp=lu,n.every=as,n.find=Jd,n.findIndex=da,n.findKey=Pl,n.findLast=$d,n.findLastIndex=fa,n.findLastKey=Cl,n.floor=dh,n.forEach=ds,n.forEachRight=fs,n.forIn=Al,n.forInRight=Rl,n.forOwn=Ll,n.forOwnRight=Il,n.get=zl,n.gt=pf,n.gte=mf,n.has=Bl,n.hasIn=Fl,n.head=va,n.identity=Cu,n.includes=hs,n.indexOf=ya,n.inRange=nu,n.invoke=Nf,n.isArguments=gf,n.isArray=vf,n.isArrayBuffer=yf,n.isArrayLike=Ys,n.isArrayLikeObject=qs,n.isBoolean=Xs,n.isBuffer=bf,n.isDate=xf,n.isElement=Zs,n.isEmpty=Ks,n.isEqual=Js,n.isEqualWith=$s,n.isError=Qs,n.isFinite=el,n.isFunction=tl,n.isInteger=nl,n.isLength=rl,n.isMap=_f,n.isMatch=al,n.isMatchWith=sl,n.isNaN=ll,n.isNative=ul,n.isNil=dl,n.isNull=cl,n.isNumber=fl,n.isObject=il,n.isObjectLike=ol,n.isPlainObject=hl,n.isRegExp=wf,n.isSafeInteger=pl,n.isSet=Mf,n.isString=ml,n.isSymbol=gl,n.isTypedArray=Sf,n.isUndefined=vl,n.isWeakMap=yl,n.isWeakSet=bl,n.join=xa,n.kebabCase=Vf,n.last=_a,n.lastIndexOf=wa,n.lowerCase=Hf,n.lowerFirst=Yf,n.lt=Ef,n.lte=Tf,n.max=Xu,n.maxBy=Zu,n.mean=Ku,n.meanBy=Ju,n.min=$u,n.minBy=Qu,n.stubArray=ju,n.stubFalse=Uu,n.stubObject=Wu,n.stubString=Gu,n.stubTrue=Vu,n.multiply=fh,n.nth=Ma,n.noConflict=Du,n.noop=Nu,n.now=of,n.pad=uu,n.padEnd=cu,n.padStart=du,n.parseInt=fu,n.random=ru,n.reduce=gs,n.reduceRight=vs,n.repeat=hu,n.replace=pu,n.result=Yl,n.round=hh,n.runInContext=e,n.sample=bs,n.size=ws,n.snakeCase=qf,n.some=Ms,n.sortedIndex=Ca,n.sortedIndexBy=Aa,n.sortedIndexOf=Ra,n.sortedLastIndex=La,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=Da,n.startCase=Xf,n.startsWith=gu,n.subtract=ph,n.sum=ec,n.sumBy=tc,n.template=vu,n.times=Hu,n.toFinite=_l,n.toInteger=wl,n.toLength=Ml,n.toLower=yu,n.toNumber=Sl,n.toSafeInteger=Tl,n.toString=kl,n.toUpper=bu,n.trim=xu,n.trimEnd=_u,n.trimStart=wu,n.truncate=Mu,n.unescape=Su,n.uniqueId=qu,n.upperCase=Zf,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=va,Iu(n,function(){var e={};return hr(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION="4.17.4",u(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){n[e].placeholder=n}),u(["drop","take"],function(e,t){x.prototype[e]=function(n){n=n===ie?1:Hc(wl(n),0);var r=this.__filtered__&&!t?new x(this):this.clone();return r.__filtered__?r.__takeCount__=Yc(n,r.__takeCount__):r.__views__.push({size:Yc(n,Ne),type:e+(r.__dir__<0?"Right":"")}),r},x.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),u(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==Ce||3==n;x.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:wo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),u(["head","last"],function(e,t){var n="take"+(t?"Right":"");x.prototype[e]=function(){return this[n](1).value()[0]}}),u(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");x.prototype[e]=function(){return this.__filtered__?new x(this):this[n](1)}}),x.prototype.compact=function(){return this.filter(Cu)},x.prototype.find=function(e){return this.filter(e).head()},x.prototype.findLast=function(e){return this.reverse().find(e)},x.prototype.invokeMap=ni(function(e,t){return"function"==typeof e?new x(this):this.map(function(n){return Er(n,e,t)})}),x.prototype.reject=function(e){return this.filter(Rs(wo(e)))},x.prototype.slice=function(e,t){e=wl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new x(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ie&&(t=wl(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},x.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},x.prototype.toArray=function(){return this.take(Ne)},hr(x.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),a=n[o?"take"+("last"==t?"Right":""):t],s=o||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,l=o?[1]:arguments,u=t instanceof x,c=l[0],d=u||vf(t),f=function(e){var t=a.apply(n,g([e],l));return o&&h?t[0]:t};d&&r&&"function"==typeof c&&1!=c.length&&(u=d=!1);var h=this.__chain__,p=!!this.__actions__.length,m=s&&!h,v=u&&!p;if(!s&&d){t=v?t:new x(this);var y=e.apply(t,l);return y.__actions__.push({func:$a,args:[f],thisArg:ie}),new i(y,h)}return m&&v?e.apply(this,l):(y=this.thru(f),m?o?y.value()[0]:y.value():y)})}),u(["pop","push","shift","sort","splice","unshift"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var n=this.value();return t.apply(vf(n)?n:[],e)}return this[r](function(n){return t.apply(vf(n)?n:[],e)})}}),hr(x.prototype,function(e,t){var r=n[t];if(r){var i=r.name+"";(id[i]||(id[i]=[])).push({name:t,func:r})}}),id[$i(ie,ve).name]=[{name:"wrapper",func:ie}],x.prototype.clone=P,x.prototype.reverse=J,x.prototype.value=te,n.prototype.at=Zd,n.prototype.chain=Qa,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=is,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=os,n.prototype.first=n.prototype.head,Rc&&(n.prototype[Rc]=ns),n}();Ln._=Zn,(i=function(){return Zn}.call(t,n,t,r))!==ie&&(r.exports=i)}).call(this)}).call(t,n(68),n(101)(e))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(470),d=(r(c),n(420)),f=r(d),h=n(31),p=r(h),m=n(199),g=r(m),v=n(198),y=r(v),b=n(202),x=r(b),_=n(208),w=r(_),M=n(203),S=r(M),E=n(209),T=r(E),k=n(105),O=r(k),P=n(200),C=r(P),A=n(204),R=r(A),L=n(205),I=r(L),D=n(206),N=r(D),z=n(201),B=r(z),F=(n(39),function(){function e(){(0,o.default)(this,e);var t=!this.isMobileDevice();this.coordinates=new g.default,this.renderer=new u.WebGLRenderer({antialias:t}),this.scene=new u.Scene,this.scene.background=new u.Color(3095),this.dimension={width:0,height:0},this.ground="tile"===p.default.ground.type?new w.default:new x.default,this.map=new S.default,this.adc=new y.default("adc",this.scene),this.planningAdc=new y.default("plannigAdc",this.scene),this.planningTrajectory=new T.default,this.perceptionObstacles=new O.default,this.decision=new C.default,this.prediction=new R.default,this.routing=new I.default,this.routingEditor=new N.default,this.gnss=new B.default,this.stats=null,p.default.debug.performanceMonitor&&(this.stats=new f.default,this.stats.showPanel(1),this.stats.domElement.style.position="absolute",this.stats.domElement.style.top=null,this.stats.domElement.style.bottom="0px",document.body.appendChild(this.stats.domElement)),this.geolocation={x:0,y:0}}return(0,s.default)(e,[{key:"initialize",value:function(e,t,n,r){this.options=r,this.canvasId=e,this.viewAngle=p.default.camera.viewAngle,this.viewDistance=p.default.camera.laneWidth*p.default.camera.laneWidthToViewDistanceRatio,this.camera=new u.PerspectiveCamera(p.default.camera[this.options.cameraAngle].fov,window.innerWidth/window.innerHeight,p.default.camera[this.options.cameraAngle].near,p.default.camera[this.options.cameraAngle].far),this.camera.name="camera",this.scene.add(this.camera),this.updateDimension(t,n),this.renderer.setPixelRatio(window.devicePixelRatio),document.getElementById(e).appendChild(this.renderer.domElement);var i=new u.AmbientLight(4473924),o=new u.DirectionalLight(16772829);o.position.set(0,0,1).normalize(),this.controls=new u.OrbitControls(this.camera,this.renderer.domElement),this.controls.enable=!1,this.onMouseDownHandler=this.editRoute.bind(this),this.scene.add(i),this.scene.add(o),this.animate()}},{key:"maybeInitializeOffest",value:function(e,t){this.coordinates.isInitialized()||this.coordinates.initialize(e,t)}},{key:"updateDimension",value:function(e,t){this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.dimension.width=e,this.dimension.height=t}},{key:"enableOrbitControls",value:function(){var e=this.adc.mesh.position;this.controls.enabled=!0,this.controls.enableRotate=!1,this.controls.reset(),this.controls.minDistance=20,this.controls.maxDistance=1e3,this.controls.target.set(e.x,e.y,0),this.camera.position.set(e.x,e.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.x,e.y,0)}},{key:"adjustCamera",value:function(e,t){if(!this.routingEditor.isInEditingMode()){switch(this.camera.fov=p.default.camera[t].fov,this.camera.near=p.default.camera[t].near,this.camera.far=p.default.camera[t].far,t){case"Default":var n=this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=this.viewDistance*Math.sin(this.viewAngle);this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case"Near":n=.5*this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=.5*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case"Overhead":r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=2*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x,this.camera.position.y=e.position.y+r,this.camera.position.z=2*(e.position.z+i),this.camera.up.set(0,1,0),this.camera.lookAt({x:e.position.x,y:e.position.y+r,z:0}),this.controls.enabled=!1;break;case"Monitor":this.camera.position.set(e.position.x,e.position.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.position.x,e.position.y,0),this.controls.enabled=!1;break;case"Map":this.controls.enabled||this.enableOrbitControls()}this.camera.updateProjectionMatrix()}}},{key:"enableRouteEditing",value:function(){this.enableOrbitControls(),this.routingEditor.enableEditingMode(this.camera,this.adc),document.getElementById(this.canvasId).addEventListener("mousedown",this.onMouseDownHandler,!1)}},{key:"disableRouteEditing",value:function(){this.routingEditor.disableEditingMode(this.scene),document.getElementById(this.canvasId).removeEventListener("mousedown",this.onMouseDownHandler,!1)}},{key:"addDefaultEndPoint",value:function(e){for(var t=0;t0)n=e.stepSize;else{var o=r.niceNum(t.max-t.min,!1);n=r.niceNum(o/(e.maxTicks-1),!0)}var a=Math.floor(t.min/n)*n,s=Math.ceil(t.max/n)*n;e.min&&e.max&&e.stepSize&&r.almostWhole((e.max-e.min)/e.stepSize,n/1e3)&&(a=e.min,s=e.max);var l=(s-a)/n;l=r.almostEquals(l,Math.round(l),n/1e3)?Math.round(l):Math.ceil(l),i.push(void 0!==e.min?e.min:a);for(var u=1;u3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&e!==Math.floor(e)&&(i=e-Math.floor(e));var o=r.log10(Math.abs(i)),a="";if(0!==e){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),a=e.toFixed(s)}else a="0";return a},logarithmic:function(e,t,n){var i=e/Math.pow(10,Math.floor(r.log10(e)));return 0===e?"0":1===i||2===i||5===i||0===t||t===n.length-1?e.toExponential():""}}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(28),i=n(117),o=n(115),a=n(25),s=n(63),l=n(90),u={},c={},t=e.exports=function(e,t,n,d,f){var h,p,m,g,v=f?function(){return e}:l(e),y=r(n,d,t?2:1),b=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(o(v)){for(h=s(e.length);h>b;b++)if((g=t?y(a(p=e[b])[0],p[1]):y(e[b]))===u||g===c)return g}else for(m=v.call(e);!(p=m.next()).done;)if((g=i(m,y,p.value,t))===u||g===c)return g};t.BREAK=u,t.RETURN=c},function(e,t){e.exports={}},function(e,t,n){var r=n(122),i=n(75);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(21).f,i=n(37),o=n(15)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(325)(!0);n(77)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";function r(e){return"string"==typeof e&&i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){"use strict";function r(e){if(e&&e.length){for(var t={},n=0;n=t)return!0;return!1},i.isReservedName=function(e,t){if(e)for(var n=0;n0;){var r=e.shift();if(n.nested&&n.nested[r]){if(!((n=n.nested[r])instanceof i))throw Error("path conflicts with non-namespace objects")}else n.add(n=new i(r))}return t&&n.addJSON(t),n},i.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return r}else if(r instanceof i&&(r=r.lookup(e.slice(1),t,!0)))return r}else for(var o=0;o=0;o--)t.call(n,e[o],o);else for(o=0;odocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(86),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){n(329);for(var r=n(14),i=n(34),o=n(49),a=n(15)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l1&&void 0!==arguments[1]?arguments[1]:0;if(e.constructor===Array&&e.length>0)for(;t0?r:n)(e)}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(14),i=n(9),o=n(60),a=n(89),s=n(21).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(15)},function(e,t,n){var r=n(72),i=n(15)("iterator"),o=n(49);e.exports=n(9).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t){},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(364),o=r(i),a=n(367),s=r(a),l=n(366),u=r(l),c=n(368),d=r(c),f=n(369),h=r(f),p=n(370),m=r(p),g=n(371),v=r(g),y=n(372),b=r(y),x=n(373),_=r(x),w=n(374),M=r(w),S=n(375),E=r(S),T=n(377),k=r(T),O=n(365),P=r(O),C=[u.default,s.default,d.default,m.default,v.default,b.default,_.default,M.default,E.default,h.default],A=(0,o.default)({prefixMap:P.default.prefixMap,plugins:C},k.default);t.default=A,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/* +var Xt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},Zt=function(){function e(e){void 0===e&&(e="Atom@"+xe()),this.name=e,this.isPendingUnobservation=!0,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.NOT_TRACKING}return e.prototype.onBecomeUnobserved=function(){},e.prototype.reportObserved=function(){nt(this)},e.prototype.reportChanged=function(){et(),rt(this),tt()},e.prototype.toString=function(){return this.name},e}(),Kt=function(e){function t(t,n,r){void 0===t&&(t="Atom@"+xe()),void 0===n&&(n=In),void 0===r&&(r=In);var i=e.call(this,t)||this;return i.name=t,i.onBecomeObservedHandler=n,i.onBecomeUnobservedHandler=r,i.isPendingUnobservation=!1,i.isBeingTracked=!1,i}return r(t,e),t.prototype.reportObserved=function(){return et(),e.prototype.reportObserved.call(this),this.isBeingTracked||(this.isBeingTracked=!0,this.onBecomeObservedHandler()),tt(),!!Bn.trackingDerivation},t.prototype.onBecomeUnobserved=function(){this.isBeingTracked=!1,this.onBecomeUnobservedHandler()},t}(Zt),Jt=ze("Atom",Zt),$t={spyReportEnd:!0},Qt="__$$iterating",en=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),tn=0,nn=function(){function e(){}return e}();!function(e,t){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):void 0!==e.prototype.__proto__?e.prototype.__proto__=t:e.prototype=t}(nn,Array.prototype),Object.isFrozen(Array)&&["constructor","push","shift","concat","pop","unshift","replace","find","findIndex","splice","reverse","sort"].forEach(function(e){Object.defineProperty(nn.prototype,e,{configurable:!0,writable:!0,value:Array.prototype[e]})});var rn=function(){function e(e,t,n,r){this.array=n,this.owned=r,this.values=[],this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new Zt(e||"ObservableArray@"+xe()),this.enhancer=function(n,r){return t(n,r,e+"[..]")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer?e.map(this.dehancer):e},e.prototype.intercept=function(e){return o(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),l(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r0&&e+t+1>tn&&x(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;ut(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:void 0===t||null===t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=[]),i(this)){var s=a(this,{object:this.array,type:"splice",index:e,removedCount:t,added:n});if(!s)return Rn;t=s.removedCount,n=s.added}n=n.map(function(e){return r.enhancer(e,void 0)});var l=n.length-t;this.updateArrayLength(o,l);var u=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,u),this.dehanceValues(u)},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(i=this.values).splice.apply(i,[e,t].concat(n));var r=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),r;var i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:"update",index:e,newValue:t,oldValue:n}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:"splice",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e}(),on=function(e){function t(t,n,r,i){void 0===r&&(r="ObservableArray@"+xe()),void 0===i&&(i=!1);var o=e.call(this)||this,a=new rn(r,n,o,i);return Re(o,"$mobx",a),t&&t.length&&o.spliceWithArray(0,0,t),en&&Object.defineProperty(a.array,"0",an),o}return r(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error("[mobx.array] Index out of bounds: "+e+" is negative");var t=this.$mobx.values.length;if(e>=t)throw new Error("[mobx.array] Index out of bounds: "+e+" is not smaller than "+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,i=this.$mobx.values;r=e";Ae(e,t,pn(o,n))},function(e){return this[e]},function(){we(!1,w("m001"))},!1,!0),hn=R(function(e,t,n){F(e,t,n)},function(e){return this[e]},function(){we(!1,w("m001"))},!1,!1),pn=function(e,t,n,r){return 1===arguments.length&&"function"==typeof e?M(e.name||"",e):2===arguments.length&&"function"==typeof t?M(e,t):1===arguments.length&&"string"==typeof e?N(e):N(t).apply(null,arguments)};pn.bound=function(e,t,n){if("function"==typeof e){var r=M("",e);return r.autoBind=!0,r}return hn.apply(null,arguments)};var mn={identity:j,structural:U,default:W},gn=function(){function e(e,t,n,r,i){this.derivation=e,this.scope=t,this.equals=n,this.dependenciesState=Gn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+xe(),this.value=new Vn(null),this.isComputing=!1,this.isRunningSetter=!1,this.name=r||"ComputedValue@"+xe(),i&&(this.setter=M(r+"-setter",i))}return e.prototype.onBecomeStale=function(){ot(this)},e.prototype.onBecomeUnobserved=function(){ft(this),this.value=void 0},e.prototype.get=function(){we(!this.isComputing,"Cycle detected in computation "+this.name,this.derivation),0===Bn.inBatch?(et(),st(this)&&(this.value=this.computeValue(!1)),tt()):(nt(this),st(this)&&this.trackAndCompute()&&it(this));var e=this.value;if(at(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(at(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){we(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else we(!1,"[ComputedValue '"+this.name+"'] It is not possible to assign a new value to a computed value.")},e.prototype.trackAndCompute=function(){c()&&d({object:this.scope,type:"compute",fn:this.derivation});var e=this.value,t=this.dependenciesState===Gn.NOT_TRACKING,n=this.value=this.computeValue(!0);return t||at(e)||at(n)||!this.equals(e,n)},e.prototype.computeValue=function(e){this.isComputing=!0,Bn.computationDepth++;var t;if(e)t=ct(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new Vn(e)}return Bn.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return G(function(){var o=n.get();if(!r||t){var a=pt();e({type:"update",object:n,newValue:o,oldValue:i}),mt(a)}r=!1,i=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return Ve(this.get())},e.prototype.whyRun=function(){var e=Boolean(Bn.trackingDerivation),t=Ee(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=Ee(Ke(this).map(function(e){return e.name}));return"\nWhyRun? computation '"+this.name+"':\n * Running because: "+(e?"[active] the value of this computation is needed by a reaction":this.isComputing?"[get] The value of this computed was requested outside a reaction":"[idle] not running at the moment")+"\n"+(this.dependenciesState===Gn.NOT_TRACKING?w("m032"):" * This computation will re-run if any of the following observables changes:\n "+Te(t)+"\n "+(this.isComputing&&e?" (... or any observable accessed during the remainder of the current run)":"")+"\n "+w("m038")+"\n\n * If the outcome of this computation changes, the following observers will be re-run:\n "+Te(n)+"\n")},e}();gn.prototype[Ge()]=gn.prototype.valueOf;var vn=ze("ComputedValue",gn),yn=function(){function e(e,t){this.target=e,this.name=t,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return we(!0!==t,"`observe` doesn't support the fire immediately property for observable objects."),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}(),bn={},xn={},_n=ze("ObservableObjectAdministration",yn),wn=ie(fe),Mn=ie(he),Sn=ie(pe),En=ie(me),Tn=ie(ge),kn={box:function(e,t){return arguments.length>2&&ue("box"),new un(e,fe,t)},shallowBox:function(e,t){return arguments.length>2&&ue("shallowBox"),new un(e,pe,t)},array:function(e,t){return arguments.length>2&&ue("array"),new on(e,fe,t)},shallowArray:function(e,t){return arguments.length>2&&ue("shallowArray"),new on(e,pe,t)},map:function(e,t){return arguments.length>2&&ue("map"),new Cn(e,fe,t)},shallowMap:function(e,t){return arguments.length>2&&ue("shallowMap"),new Cn(e,pe,t)},object:function(e,t){arguments.length>2&&ue("object");var n={};return q(n,t),oe(n,e),n},shallowObject:function(e,t){arguments.length>2&&ue("shallowObject");var n={};return q(n,t),ae(n,e),n},ref:function(){return arguments.length<2?de(pe,arguments[0]):Sn.apply(null,arguments)},shallow:function(){return arguments.length<2?de(he,arguments[0]):Mn.apply(null,arguments)},deep:function(){return arguments.length<2?de(fe,arguments[0]):wn.apply(null,arguments)},struct:function(){return arguments.length<2?de(me,arguments[0]):En.apply(null,arguments)}},On=le;Object.keys(kn).forEach(function(e){return On[e]=kn[e]}),On.deep.struct=On.struct,On.ref.struct=function(){return arguments.length<2?de(ge,arguments[0]):Tn.apply(null,arguments)};var Pn={},Cn=function(){function e(e,t,n){void 0===t&&(t=fe),void 0===n&&(n="ObservableMap@"+xe()),this.enhancer=t,this.name=n,this.$mobx=Pn,this._data=Object.create(null),this._hasMap=Object.create(null),this._keys=new on(void 0,pe,this.name+".keys()",!0),this.interceptors=null,this.changeListeners=null,this.dehancer=void 0,this.merge(e)}return e.prototype._has=function(e){return void 0!==this._data[e]},e.prototype.has=function(e){return!!this.isValidKey(e)&&(e=""+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get())},e.prototype.set=function(e,t){this.assertValidKey(e),e=""+e;var n=this._has(e);if(i(this)){var r=a(this,{type:n?"update":"add",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=""+e,i(this)){var n=a(this,{type:"delete",object:this,name:e});if(!n)return!1}if(this._has(e)){var r=c(),o=s(this),n=o||r?{type:"delete",object:this,oldValue:this._data[e].value,name:e}:null;return r&&f(n),ve(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1),t._data[e].setNewValue(void 0),t._data[e]=void 0}),o&&u(this,n),r&&h(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap[e];return n?n.setNewValue(t):n=this._hasMap[e]=new un(t,pe,this.name+"."+e+"?",!1),n},e.prototype._updateValue=function(e,t){var n=this._data[e];if((t=n.prepareNewValue(t))!==ln){var r=c(),i=s(this),o=i||r?{type:"update",object:this,oldValue:n.value,name:e,newValue:t}:null;r&&f(o),n.setNewValue(t),i&&u(this,o),r&&h()}},e.prototype._addValue=function(e,t){var n=this;ve(function(){var r=n._data[e]=new un(t,n.enhancer,n.name+"."+e,!1);t=r.value,n._updateHasMapEntry(e,!0),n._keys.push(e)});var r=c(),i=s(this),o=i||r?{type:"add",object:this,name:e,newValue:t}:null;r&&f(o),i&&u(this,o),r&&h()},e.prototype.get=function(e){return e=""+e,this.has(e)?this.dehanceValue(this._data[e].get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return g(this._keys.slice())},e.prototype.values=function(){return g(this._keys.map(this.get,this))},e.prototype.entries=function(){var e=this;return g(this._keys.map(function(t){return[t,e.get(t)]}))},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r,n)})},e.prototype.merge=function(e){var t=this;return An(e)&&(e=e.toJS()),ve(function(){Oe(e)?Object.keys(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):Ue(e)?e.forEach(function(e,n){return t.set(n,e)}):null!==e&&void 0!==e&&_e("Cannot initialize map from "+e)}),this},e.prototype.clear=function(){var e=this;ve(function(){ht(function(){e.keys().forEach(e.delete,e)})})},e.prototype.replace=function(e){var t=this;return ve(function(){var n=We(e);t.keys().filter(function(e){return-1===n.indexOf(e)}).forEach(function(e){return t.delete(e)}),t.merge(e)}),this},Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var e=this,t={};return this.keys().forEach(function(n){return t[n]=e.get(n)}),t},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null!==e&&void 0!==e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e)},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error("[mobx.map] Invalid key: '"+e+"', only strings, numbers and booleans are accepted as key in observable maps.")},e.prototype.toString=function(){var e=this;return this.name+"[{ "+this.keys().map(function(t){return t+": "+e.get(t)}).join(", ")+" }]"},e.prototype.observe=function(e,t){return we(!0!==t,w("m033")),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}();v(Cn.prototype,function(){return this.entries()});var An=ze("ObservableMap",Cn),Rn=[];Object.freeze(Rn);var Ln=[],In=function(){},Dn=Object.prototype.hasOwnProperty,Nn=["mobxGuid","resetId","spyListeners","strictMode","runId"],zn=function(){function e(){this.version=5,this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[],this.globalReactionErrorHandlers=[]}return e}(),Bn=new zn,Fn=!1,jn=!1,Un=!1,Wn=be();Wn.__mobxInstanceCount?(Wn.__mobxInstanceCount++,setTimeout(function(){Fn||jn||Un||(Un=!0,console.warn("[mobx] Warning: there are multiple mobx instances active. This might lead to unexpected results. See https://github.com/mobxjs/mobx/issues/1082 for details."))})):Wn.__mobxInstanceCount=1;var Gn;!function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(Gn||(Gn={}));var Vn=function(){function e(e){this.cause=e}return e}(),Hn=function(){function e(e,t){void 0===e&&(e="Reaction@"+xe()),this.name=e,this.onInvalidate=t,this.observing=[],this.newObserving=[],this.dependenciesState=Gn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+xe(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Bn.pendingReactions.push(this),bt())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(et(),this._isScheduled=!1,st(this)&&(this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&c()&&d({object:this,type:"scheduled-reaction"})),tt())},e.prototype.track=function(e){et();var t,n=c();n&&(t=Date.now(),f({object:this,type:"reaction",fn:e})),this._isRunning=!0;var r=ct(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ft(this),at(r)&&this.reportExceptionInDerivation(r.cause),n&&h({time:Date.now()-t}),tt()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)return void this.errorHandler(e,this);var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this,r=w("m037");console.error(n||r,e),c()&&d({type:"error",message:n,error:e,object:this}),Bn.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(et(),ft(this),tt()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e.onError=vt,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.whyRun=function(){var e=Ee(this._isRunning?this.newObserving:this.observing).map(function(e){return e.name});return"\nWhyRun? reaction '"+this.name+"':\n * Status: ["+(this.isDisposed?"stopped":this._isRunning?"running":this.isScheduled()?"scheduled":"idle")+"]\n * This reaction will re-run if any of the following observables changes:\n "+Te(e)+"\n "+(this._isRunning?" (... or any observable accessed during the remainder of the current run)":"")+"\n\t"+w("m038")+"\n"},e}(),Yn=100,qn=function(e){return e()},Xn=ze("Reaction",Hn),Zn=Tt(mn.default),Kn=Tt(mn.structural),Jn=function(e,t,n){if("string"==typeof t)return Zn.apply(null,arguments);we("function"==typeof e,w("m011")),we(arguments.length<3,w("m012"));var r="object"==typeof t?t:{};r.setter="function"==typeof t?t:r.setter;var i=r.equals?r.equals:r.compareStructural||r.struct?mn.structural:mn.default;return new gn(e,r.context,i,r.name||e.name||"",r.setter)};Jn.struct=Kn,Jn.equals=Tt;var $n={allowStateChanges:P,deepEqual:Ne,getAtom:kt,getDebugName:Pt,getDependencyTree:Gt,getAdministration:Ot,getGlobalState:qe,getObserverTree:Ht,interceptReads:qt,isComputingDerivation:lt,isSpyEnabled:c,onReactionError:yt,reserveArrayBuffer:x,resetGlobalState:Xe,isolateGlobalState:He,shareGlobalState:Ye,spyReport:d,spyReportEnd:h,spyReportStart:f,setReactionScheduler:_t},Qn={Reaction:Hn,untracked:ht,Atom:Kt,BaseAtom:Zt,useStrict:k,isStrictModeEnabled:O,spy:p,comparer:mn,asReference:wt,asFlat:St,asStructure:Mt,asMap:Et,isModifierDescriptor:ce,isObservableObject:ne,isBoxedObservable:cn,isObservableArray:_,ObservableMap:Cn,isObservableMap:An,map:ye,transaction:ve,observable:On,computed:Jn,isObservable:re,isComputed:Ct,extendObservable:oe,extendShallowObservable:ae,observe:At,intercept:It,autorun:G,autorunAsync:H,when:V,reaction:Y,action:pn,isAction:B,runInAction:z,expr:zt,toJS:Bt,createTransformer:Ft,whyRun:Wt,isArrayLike:Fe,extras:$n},er=!1;for(var tr in Qn)!function(e){var t=Qn[e];Object.defineProperty(Qn,e,{get:function(){return er||(er=!0,console.warn("Using default export (`import mobx from 'mobx'`) is deprecated and won’t work in mobx@4.0.0\nUse `import * as mobx from 'mobx'` instead")),t}})}(tr);"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:p,extras:$n}),t.default=Qn}.call(t,n(68))},function(e,t,n){e.exports=n(395)()},function(e,t,n){e.exports={default:n(297),__esModule:!0}},function(e,t,n){var r=n(20);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(36)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";function r(e,t,n){if(i.call(this,e,n),t&&"object"!=typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comments={},this.reserved=void 0,t)for(var r=Object.keys(t),o=0;o0)},o.Buffer=function(){try{var e=o.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(e){return"number"==typeof e?o.Buffer?o._Buffer_allocUnsafe(e):new o.Array(e):o.Buffer?o._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},o.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,o.Long=e.dcodeIO&&e.dcodeIO.Long||o.inquire("long"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(e){return e?o.LongBits.from(e).toHash():o.LongBits.zeroHash},o.longFromHash=function(e,t){var n=o.LongBits.fromHash(e);return o.Long?o.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},o.merge=r,o.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},o.newError=i,o.ProtocolError=i("ProtocolError"),o.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},o.oneOfSetter=function(e){return function(t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=new g.MeshBasicMaterial({map:E.load(e),transparent:!0,depthWrite:!1}),s=new g.Mesh(new g.PlaneGeometry(t,n),a);return s.material.side=g.DoubleSide,s.position.set(r,i,o),s.overdraw=!0,s}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],l=new g.Path,u=l.createGeometry(e);u.computeLineDistances();var c=new g.LineDashedMaterial({color:t,dashSize:r,linewidth:n,gapSize:o}),d=new g.Line(u,c);return i(d,a),d.matrixAutoUpdate=s,s||d.updateMatrix(),d}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=new g.CircleGeometry(e,n);return new g.Mesh(r,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16777215,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=M(e.map(function(e){return[e.x,e.y]})),s=new g.ShaderMaterial(S({side:g.DoubleSide,diffuse:n,thickness:t,opacity:r,transparent:!0})),l=new g.Mesh(a,s);return i(l,o),l}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,l=new g.Path,u=l.createGeometry(e),c=new g.LineBasicMaterial({color:t,linewidth:n,transparent:a,opacity:s}),d=new g.Line(u,c);return i(d,r),d.matrixAutoUpdate=o,!1===o&&d.updateMatrix(),d}function c(e,t,n){var r=new g.CubeGeometry(e.x,e.y,e.z),i=new g.MeshBasicMaterial({color:t}),o=new g.Mesh(r,i),a=new g.BoxHelper(o);return a.material.linewidth=n,a}function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.01,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.02,o=new g.CubeGeometry(e.x,e.y,e.z);o=new g.EdgesGeometry(o),o=(new g.Geometry).fromBufferGeometry(o),o.computeLineDistances();var a=new g.LineDashedMaterial({color:t,linewidth:n,dashSize:r,gapSize:i});return new g.LineSegments(o,a)}function f(e,t,n,r,i){var o=new g.Vector3(0,e,0);return u([new g.Vector3(0,0,0),o,new g.Vector3(r/2,e-n,0),o,new g.Vector3(-r/2,e-n,0)],i,t,1)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new g.Shape;if(t){n.moveTo(e[0].x,e[0].y);for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:new g.MeshBasicMaterial({color:16711680}),n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=h(e,n),s=new g.Mesh(a,t);return i(s,r),s.matrixAutoUpdate=o,!1===o&&s.updateMatrix(),s}Object.defineProperty(t,"__esModule",{value:!0}),t.addOffsetZ=i,t.drawImage=o,t.drawDashedLineFromPoints=a,t.drawCircle=s,t.drawThickBandFromPoints=l,t.drawSegmentsFromPoints=u,t.drawBox=c,t.drawDashedBox=d,t.drawArrow=f,t.getShapeGeometryFromPoints=h,t.drawShapeFromPoints=p;var m=n(10),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(m),v=n(422),y=r(v),b=n(423),x=r(b),_=n(39),w=.04,M=(0,y.default)(g),S=(0,x.default)(g),E=new g.TextureLoader},function(e,t,n){"use strict";e.exports={},e.exports.Arc=n(268),e.exports.Line=n(269),e.exports.Point=n(270),e.exports.Rectangle=n(271)},function(e,t,n){var r=n(21),i=n(51);e.exports=n(26)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){e.exports={default:n(299),__esModule:!0}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(76),i=n(73);e.exports=function(e){return r(i(e))}},function(e,t,n){(function(e,r){var i;(function(){function o(e,t){return e.set(t[0],t[1]),e}function a(e,t){return e.add(t),e}function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function l(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function p(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function F(e,t){for(var n=e.length;n--&&S(t,e[n],0)>-1;);return n}function j(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function U(e){return"\\"+On[e]}function W(e,t){return null==e?ie:e[t]}function G(e){return bn.test(e)}function V(e){return xn.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function Y(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function q(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,i=0,o=[];++n>>1,Fe=[["ary",Me],["bind",ge],["bindKey",ve],["curry",be],["curryRight",xe],["flip",Ee],["partial",_e],["partialRight",we],["rearg",Se]],je="[object Arguments]",Ue="[object Array]",We="[object AsyncFunction]",Ge="[object Boolean]",Ve="[object Date]",He="[object DOMException]",Ye="[object Error]",qe="[object Function]",Xe="[object GeneratorFunction]",Ze="[object Map]",Ke="[object Number]",Je="[object Null]",$e="[object Object]",Qe="[object Proxy]",et="[object RegExp]",tt="[object Set]",nt="[object String]",rt="[object Symbol]",it="[object Undefined]",ot="[object WeakMap]",at="[object WeakSet]",st="[object ArrayBuffer]",lt="[object DataView]",ut="[object Float32Array]",ct="[object Float64Array]",dt="[object Int8Array]",ft="[object Int16Array]",ht="[object Int32Array]",pt="[object Uint8Array]",mt="[object Uint8ClampedArray]",gt="[object Uint16Array]",vt="[object Uint32Array]",yt=/\b__p \+= '';/g,bt=/\b(__p \+=) '' \+/g,xt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>"']/g,Mt=RegExp(_t.source),St=RegExp(wt.source),Et=/<%-([\s\S]+?)%>/g,Tt=/<%([\s\S]+?)%>/g,kt=/<%=([\s\S]+?)%>/g,Ot=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pt=/^\w*$/,Ct=/^\./,At=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,Lt=RegExp(Rt.source),It=/^\s+|\s+$/g,Dt=/^\s+/,Nt=/\s+$/,zt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ft=/,? & /,jt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ut=/\\(\\)?/g,Wt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Gt=/\w*$/,Vt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Yt=/^\[object .+?Constructor\]$/,qt=/^0o[0-7]+$/i,Xt=/^(?:0|[1-9]\d*)$/,Zt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Kt=/($^)/,Jt=/['\n\r\u2028\u2029\\]/g,$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",en="["+Qt+"]",tn="["+$t+"]",nn="[a-z\\xdf-\\xf6\\xf8-\\xff]",rn="[^\\ud800-\\udfff"+Qt+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",on="\\ud83c[\\udffb-\\udfff]",an="(?:\\ud83c[\\udde6-\\uddff]){2}",sn="[\\ud800-\\udbff][\\udc00-\\udfff]",ln="[A-Z\\xc0-\\xd6\\xd8-\\xde]",un="(?:"+nn+"|"+rn+")",cn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",dn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",an,sn].join("|")+")[\\ufe0e\\ufe0f]?"+cn+")*",fn="[\\ufe0e\\ufe0f]?"+cn+dn,hn="(?:"+["[\\u2700-\\u27bf]",an,sn].join("|")+")"+fn,pn="(?:"+["[^\\ud800-\\udfff]"+tn+"?",tn,an,sn,"[\\ud800-\\udfff]"].join("|")+")",mn=RegExp("['’]","g"),gn=RegExp(tn,"g"),vn=RegExp(on+"(?="+on+")|"+pn+fn,"g"),yn=RegExp([ln+"?"+nn+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[en,ln,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[en,ln+un,"$"].join("|")+")",ln+"?"+un+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ln+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)","\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)","\\d+",hn].join("|"),"g"),bn=RegExp("[\\u200d\\ud800-\\udfff"+$t+"\\ufe0e\\ufe0f]"),xn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_n=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wn=-1,Mn={};Mn[ut]=Mn[ct]=Mn[dt]=Mn[ft]=Mn[ht]=Mn[pt]=Mn[mt]=Mn[gt]=Mn[vt]=!0,Mn[je]=Mn[Ue]=Mn[st]=Mn[Ge]=Mn[lt]=Mn[Ve]=Mn[Ye]=Mn[qe]=Mn[Ze]=Mn[Ke]=Mn[$e]=Mn[et]=Mn[tt]=Mn[nt]=Mn[ot]=!1;var Sn={};Sn[je]=Sn[Ue]=Sn[st]=Sn[lt]=Sn[Ge]=Sn[Ve]=Sn[ut]=Sn[ct]=Sn[dt]=Sn[ft]=Sn[ht]=Sn[Ze]=Sn[Ke]=Sn[$e]=Sn[et]=Sn[tt]=Sn[nt]=Sn[rt]=Sn[pt]=Sn[mt]=Sn[gt]=Sn[vt]=!0,Sn[Ye]=Sn[qe]=Sn[ot]=!1;var En={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},Tn={"&":"&","<":"<",">":">",'"':""","'":"'"},kn={"&":"&","<":"<",">":">",""":'"',"'":"'"},On={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Pn=parseFloat,Cn=parseInt,An="object"==typeof e&&e&&e.Object===Object&&e,Rn="object"==typeof self&&self&&self.Object===Object&&self,Ln=An||Rn||Function("return this")(),In="object"==typeof t&&t&&!t.nodeType&&t,Dn=In&&"object"==typeof r&&r&&!r.nodeType&&r,Nn=Dn&&Dn.exports===In,zn=Nn&&An.process,Bn=function(){try{return zn&&zn.binding&&zn.binding("util")}catch(e){}}(),Fn=Bn&&Bn.isArrayBuffer,jn=Bn&&Bn.isDate,Un=Bn&&Bn.isMap,Wn=Bn&&Bn.isRegExp,Gn=Bn&&Bn.isSet,Vn=Bn&&Bn.isTypedArray,Hn=O("length"),Yn=P(En),qn=P(Tn),Xn=P(kn),Zn=function e(t){function n(e){if(ol(e)&&!vf(e)&&!(e instanceof x)){if(e instanceof i)return e;if(gc.call(e,"__wrapped__"))return na(e)}return new i(e)}function r(){}function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ie}function x(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ne,this.__views__=[]}function P(){var e=new x(this.__wrapped__);return e.__actions__=zi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=zi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=zi(this.__views__),e}function J(){if(this.__filtered__){var e=new x(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function te(){var e=this.__wrapped__.value(),t=this.__dir__,n=vf(e),r=t<0,i=n?e.length:0,o=ko(0,i,this.__views__),a=o.start,s=o.end,l=s-a,u=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,h=Yc(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return yi(e,this.__actions__);var p=[];e:for(;l--&&f-1}function ln(e,t){var n=this.__data__,r=Kn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function rr(e,t,n,r,i,o){var a,s=t&de,l=t&fe,c=t&he;if(n&&(a=i?n(e,r,i,o):n(e)),a!==ie)return a;if(!il(e))return e;var d=vf(e);if(d){if(a=Co(e),!s)return zi(e,a)}else{var f=Td(e),h=f==qe||f==Xe;if(bf(e))return Ei(e,s);if(f==$e||f==je||h&&!i){if(a=l||h?{}:Ao(e),!s)return l?ji(e,Qn(a,e)):Fi(e,$n(a,e))}else{if(!Sn[f])return i?e:{};a=Ro(e,f,rr,s)}}o||(o=new xn);var p=o.get(e);if(p)return p;o.set(e,a);var m=c?l?bo:yo:l?Ul:jl,g=d?ie:m(e);return u(g||e,function(r,i){g&&(i=r,r=e[i]),Hn(a,i,rr(r,t,n,i,e,o))}),a}function ir(e){var t=jl(e);return function(n){return or(n,e,t)}}function or(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var i=n[r],o=t[i],a=e[i];if(a===ie&&!(i in e)||!o(a))return!1}return!0}function ar(e,t,n){if("function"!=typeof e)throw new cc(se);return Pd(function(){e.apply(ie,n)},t)}function sr(e,t,n,r){var i=-1,o=h,a=!0,s=e.length,l=[],u=t.length;if(!s)return l;n&&(t=m(t,D(n))),r?(o=p,a=!1):t.length>=oe&&(o=z,a=!1,t=new vn(t));e:for(;++ii?0:i+n),r=r===ie||r>i?i:wl(r),r<0&&(r+=i),r=n>r?0:Ml(r);n0&&n(s)?t>1?fr(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function hr(e,t){return e&&gd(e,t,jl)}function pr(e,t){return e&&vd(e,t,jl)}function mr(e,t){return f(t,function(t){return tl(e[t])})}function gr(e,t){t=Mi(t,e);for(var n=0,r=t.length;null!=e&&nt}function xr(e,t){return null!=e&&gc.call(e,t)}function _r(e,t){return null!=e&&t in sc(e)}function wr(e,t,n){return e>=Yc(t,n)&&e=120&&c.length>=120)?new vn(a&&c):ie}c=e[0];var d=-1,f=s[0];e:for(;++d-1;)s!==e&&Cc.call(s,l,1),Cc.call(e,l,1);return e}function $r(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;Do(i)?Cc.call(e,i,1):mi(e,i)}}return e}function Qr(e,t){return e+Fc(Zc()*(t-e+1))}function ei(e,t,n,r){for(var i=-1,o=Hc(Bc((t-e)/(n||1)),0),a=nc(o);o--;)a[r?o:++i]=e,e+=n;return a}function ti(e,t){var n="";if(!e||t<1||t>Le)return n;do{t%2&&(n+=e),(t=Fc(t/2))&&(e+=e)}while(t);return n}function ni(e,t){return Cd(qo(e,t,Cu),e+"")}function ri(e){return In(Ql(e))}function ii(e,t){var n=Ql(e);return $o(n,nr(t,0,n.length))}function oi(e,t,n,r){if(!il(e))return e;t=Mi(t,e);for(var i=-1,o=t.length,a=o-1,s=e;null!=s&&++ii?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=nc(i);++r>>1,a=e[o];null!==a&&!gl(a)&&(n?a<=t:a=oe){var u=t?null:wd(e);if(u)return Z(u);a=!1,i=z,l=new vn}else l=t?[]:s;e:for(;++r=r?e:si(e,t,n)}function Ei(e,t){if(t)return e.slice();var n=e.length,r=Tc?Tc(n):new e.constructor(n);return e.copy(r),r}function Ti(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function ki(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Oi(e,t,n){return v(t?n(Y(e),de):Y(e),o,new e.constructor)}function Pi(e){var t=new e.constructor(e.source,Gt.exec(e));return t.lastIndex=e.lastIndex,t}function Ci(e,t,n){return v(t?n(Z(e),de):Z(e),a,new e.constructor)}function Ai(e){return dd?sc(dd.call(e)):{}}function Ri(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Li(e,t){if(e!==t){var n=e!==ie,r=null===e,i=e===e,o=gl(e),a=t!==ie,s=null===t,l=t===t,u=gl(t);if(!s&&!u&&!o&&e>t||o&&a&&l&&!s&&!u||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!u&&e=s)return l;return l*("desc"==n[r]?-1:1)}}return e.index-t.index}function Di(e,t,n,r){for(var i=-1,o=e.length,a=n.length,s=-1,l=t.length,u=Hc(o-a,0),c=nc(l+u),d=!r;++s1?n[i-1]:ie,a=i>2?n[2]:ie;for(o=e.length>3&&"function"==typeof o?(i--,o):ie,a&&No(n[0],n[1],a)&&(o=i<3?ie:o,i=1),t=sc(t);++r-1?i[o?t[a]:a]:ie}}function Ji(e){return vo(function(t){var n=t.length,r=n,o=i.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new cc(se);if(o&&!s&&"wrapper"==xo(a))var s=new i([],!0)}for(r=s?r:n;++r1&&y.reverse(),d&&ls))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var c=-1,d=!0,f=n&me?new vn:ie;for(o.set(e,t),o.set(t,e);++c1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(zt,"{\n/* [wrapped with "+t+"] */\n")}function Io(e){return vf(e)||gf(e)||!!(Ac&&e&&e[Ac])}function Do(e,t){return!!(t=null==t?Le:t)&&("number"==typeof e||Xt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Oe)return arguments[0]}else t=0;return e.apply(ie,arguments)}}function $o(e,t){var n=-1,r=e.length,i=r-1;for(t=t===ie?r:t;++n=this.__values__.length;return{done:e,value:e?ie:this.__values__[this.__index__++]}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var i=na(n);i.__index__=0,i.__values__=ie,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t}function is(){var e=this.__wrapped__;if(e instanceof x){var t=e;return this.__actions__.length&&(t=new x(this)),t=t.reverse(),t.__actions__.push({func:$a,args:[Oa],thisArg:ie}),new i(t,this.__chain__)}return this.thru(Oa)}function os(){return yi(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=vf(e)?d:lr;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function ss(e,t){return(vf(e)?f:dr)(e,wo(t,3))}function ls(e,t){return fr(ps(e,t),1)}function us(e,t){return fr(ps(e,t),Re)}function cs(e,t,n){return n=n===ie?1:wl(n),fr(ps(e,t),n)}function ds(e,t){return(vf(e)?u:pd)(e,wo(t,3))}function fs(e,t){return(vf(e)?c:md)(e,wo(t,3))}function hs(e,t,n,r){e=Ys(e)?e:Ql(e),n=n&&!r?wl(n):0;var i=e.length;return n<0&&(n=Hc(i+n,0)),ml(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&S(e,t,n)>-1}function ps(e,t){return(vf(e)?m:Ur)(e,wo(t,3))}function ms(e,t,n,r){return null==e?[]:(vf(t)||(t=null==t?[]:[t]),n=r?ie:n,vf(n)||(n=null==n?[]:[n]),qr(e,t,n))}function gs(e,t,n){var r=vf(e)?v:C,i=arguments.length<3;return r(e,wo(t,4),n,i,pd)}function vs(e,t,n){var r=vf(e)?y:C,i=arguments.length<3;return r(e,wo(t,4),n,i,md)}function ys(e,t){return(vf(e)?f:dr)(e,Rs(wo(t,3)))}function bs(e){return(vf(e)?In:ri)(e)}function xs(e,t,n){return t=(n?No(e,t,n):t===ie)?1:wl(t),(vf(e)?Dn:ii)(e,t)}function _s(e){return(vf(e)?zn:ai)(e)}function ws(e){if(null==e)return 0;if(Ys(e))return ml(e)?Q(e):e.length;var t=Td(e);return t==Ze||t==tt?e.size:Br(e).length}function Ms(e,t,n){var r=vf(e)?b:li;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function Ss(e,t){if("function"!=typeof t)throw new cc(se);return e=wl(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ie:t,t=e&&null==t?e.length:t,uo(e,Me,ie,ie,ie,ie,t)}function Ts(e,t){var n;if("function"!=typeof t)throw new cc(se);return e=wl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ie),n}}function ks(e,t,n){t=n?ie:t;var r=uo(e,be,ie,ie,ie,ie,ie,t);return r.placeholder=ks.placeholder,r}function Os(e,t,n){t=n?ie:t;var r=uo(e,xe,ie,ie,ie,ie,ie,t);return r.placeholder=Os.placeholder,r}function Ps(e,t,n){function r(t){var n=f,r=h;return f=h=ie,y=t,m=e.apply(r,n)}function i(e){return y=e,g=Pd(s,t),b?r(e):m}function o(e){var n=e-v,r=e-y,i=t-n;return x?Yc(i,p-r):i}function a(e){var n=e-v,r=e-y;return v===ie||n>=t||n<0||x&&r>=p}function s(){var e=of();if(a(e))return l(e);g=Pd(s,o(e))}function l(e){return g=ie,_&&f?r(e):(f=h=ie,m)}function u(){g!==ie&&_d(g),y=0,f=v=h=g=ie}function c(){return g===ie?m:l(of())}function d(){var e=of(),n=a(e);if(f=arguments,h=this,v=e,n){if(g===ie)return i(v);if(x)return g=Pd(s,t),r(v)}return g===ie&&(g=Pd(s,t)),m}var f,h,p,m,g,v,y=0,b=!1,x=!1,_=!0;if("function"!=typeof e)throw new cc(se);return t=Sl(t)||0,il(n)&&(b=!!n.leading,x="maxWait"in n,p=x?Hc(Sl(n.maxWait)||0,t):p,_="trailing"in n?!!n.trailing:_),d.cancel=u,d.flush=c,d}function Cs(e){return uo(e,Ee)}function As(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new cc(se);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||un),n}function Rs(e){if("function"!=typeof e)throw new cc(se);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Ls(e){return Ts(2,e)}function Is(e,t){if("function"!=typeof e)throw new cc(se);return t=t===ie?t:wl(t),ni(e,t)}function Ds(e,t){if("function"!=typeof e)throw new cc(se);return t=null==t?0:Hc(wl(t),0),ni(function(n){var r=n[t],i=Si(n,0,t);return r&&g(i,r),s(e,this,i)})}function Ns(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw new cc(se);return il(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Ps(e,t,{leading:r,maxWait:t,trailing:i})}function zs(e){return Es(e,1)}function Bs(e,t){return df(wi(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return vf(e)?e:[e]}function js(e){return rr(e,he)}function Us(e,t){return t="function"==typeof t?t:ie,rr(e,he,t)}function Ws(e){return rr(e,de|he)}function Gs(e,t){return t="function"==typeof t?t:ie,rr(e,de|he,t)}function Vs(e,t){return null==t||or(e,t,jl(t))}function Hs(e,t){return e===t||e!==e&&t!==t}function Ys(e){return null!=e&&rl(e.length)&&!tl(e)}function qs(e){return ol(e)&&Ys(e)}function Xs(e){return!0===e||!1===e||ol(e)&&yr(e)==Ge}function Zs(e){return ol(e)&&1===e.nodeType&&!hl(e)}function Ks(e){if(null==e)return!0;if(Ys(e)&&(vf(e)||"string"==typeof e||"function"==typeof e.splice||bf(e)||Sf(e)||gf(e)))return!e.length;var t=Td(e);if(t==Ze||t==tt)return!e.size;if(Uo(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Js(e,t){return Pr(e,t)}function $s(e,t,n){n="function"==typeof n?n:ie;var r=n?n(e,t):ie;return r===ie?Pr(e,t,ie,n):!!r}function Qs(e){if(!ol(e))return!1;var t=yr(e);return t==Ye||t==He||"string"==typeof e.message&&"string"==typeof e.name&&!hl(e)}function el(e){return"number"==typeof e&&Wc(e)}function tl(e){if(!il(e))return!1;var t=yr(e);return t==qe||t==Xe||t==We||t==Qe}function nl(e){return"number"==typeof e&&e==wl(e)}function rl(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Le}function il(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ol(e){return null!=e&&"object"==typeof e}function al(e,t){return e===t||Rr(e,t,So(t))}function sl(e,t,n){return n="function"==typeof n?n:ie,Rr(e,t,So(t),n)}function ll(e){return fl(e)&&e!=+e}function ul(e){if(kd(e))throw new ic(ae);return Lr(e)}function cl(e){return null===e}function dl(e){return null==e}function fl(e){return"number"==typeof e||ol(e)&&yr(e)==Ke}function hl(e){if(!ol(e)||yr(e)!=$e)return!1;var t=kc(e);if(null===t)return!0;var n=gc.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&mc.call(n)==xc}function pl(e){return nl(e)&&e>=-Le&&e<=Le}function ml(e){return"string"==typeof e||!vf(e)&&ol(e)&&yr(e)==nt}function gl(e){return"symbol"==typeof e||ol(e)&&yr(e)==rt}function vl(e){return e===ie}function yl(e){return ol(e)&&Td(e)==ot}function bl(e){return ol(e)&&yr(e)==at}function xl(e){if(!e)return[];if(Ys(e))return ml(e)?ee(e):zi(e);if(Rc&&e[Rc])return H(e[Rc]());var t=Td(e);return(t==Ze?Y:t==tt?Z:Ql)(e)}function _l(e){if(!e)return 0===e?e:0;if((e=Sl(e))===Re||e===-Re){return(e<0?-1:1)*Ie}return e===e?e:0}function wl(e){var t=_l(e),n=t%1;return t===t?n?t-n:t:0}function Ml(e){return e?nr(wl(e),0,Ne):0}function Sl(e){if("number"==typeof e)return e;if(gl(e))return De;if(il(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=il(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(It,"");var n=Ht.test(e);return n||qt.test(e)?Cn(e.slice(2),n?2:8):Vt.test(e)?De:+e}function El(e){return Bi(e,Ul(e))}function Tl(e){return e?nr(wl(e),-Le,Le):0===e?e:0}function kl(e){return null==e?"":hi(e)}function Ol(e,t){var n=hd(e);return null==t?n:$n(n,t)}function Pl(e,t){return w(e,wo(t,3),hr)}function Cl(e,t){return w(e,wo(t,3),pr)}function Al(e,t){return null==e?e:gd(e,wo(t,3),Ul)}function Rl(e,t){return null==e?e:vd(e,wo(t,3),Ul)}function Ll(e,t){return e&&hr(e,wo(t,3))}function Il(e,t){return e&&pr(e,wo(t,3))}function Dl(e){return null==e?[]:mr(e,jl(e))}function Nl(e){return null==e?[]:mr(e,Ul(e))}function zl(e,t,n){var r=null==e?ie:gr(e,t);return r===ie?n:r}function Bl(e,t){return null!=e&&Po(e,t,xr)}function Fl(e,t){return null!=e&&Po(e,t,_r)}function jl(e){return Ys(e)?Rn(e):Br(e)}function Ul(e){return Ys(e)?Rn(e,!0):Fr(e)}function Wl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,t(e,r,i),e)}),n}function Gl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,r,t(e,r,i))}),n}function Vl(e,t){return Hl(e,Rs(wo(t)))}function Hl(e,t){if(null==e)return{};var n=m(bo(e),function(e){return[e]});return t=wo(t),Zr(e,n,function(e,n){return t(e,n[0])})}function Yl(e,t,n){t=Mi(t,e);var r=-1,i=t.length;for(i||(i=1,e=ie);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Zc();return Yc(e+i*(t-e+Pn("1e-"+((i+"").length-1))),t)}return Qr(e,t)}function iu(e){return Kf(kl(e).toLowerCase())}function ou(e){return(e=kl(e))&&e.replace(Zt,Yn).replace(gn,"")}function au(e,t,n){e=kl(e),t=hi(t);var r=e.length;n=n===ie?r:nr(wl(n),0,r);var i=n;return(n-=t.length)>=0&&e.slice(n,i)==t}function su(e){return e=kl(e),e&&St.test(e)?e.replace(wt,qn):e}function lu(e){return e=kl(e),e&&Lt.test(e)?e.replace(Rt,"\\$&"):e}function uu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return no(Fc(i),n)+e+no(Bc(i),n)}function cu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;return t&&r>>0)?(e=kl(e),e&&("string"==typeof t||null!=t&&!wf(t))&&!(t=hi(t))&&G(e)?Si(ee(e),0,n):e.split(t,n)):[]}function gu(e,t,n){return e=kl(e),n=null==n?0:nr(wl(n),0,e.length),t=hi(t),e.slice(n,n+t.length)==t}function vu(e,t,r){var i=n.templateSettings;r&&No(e,t,r)&&(t=ie),e=kl(e),t=Pf({},t,i,co);var o,a,s=Pf({},t.imports,i.imports,co),l=jl(s),u=N(s,l),c=0,d=t.interpolate||Kt,f="__p += '",h=lc((t.escape||Kt).source+"|"+d.source+"|"+(d===kt?Wt:Kt).source+"|"+(t.evaluate||Kt).source+"|$","g"),p="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++wn+"]")+"\n";e.replace(h,function(t,n,r,i,s,l){return r||(r=i),f+=e.slice(c,l).replace(Jt,U),n&&(o=!0,f+="' +\n__e("+n+") +\n'"),s&&(a=!0,f+="';\n"+s+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=l+t.length,t}),f+="';\n";var m=t.variable;m||(f="with (obj) {\n"+f+"\n}\n"),f=(a?f.replace(yt,""):f).replace(bt,"$1").replace(xt,"$1;"),f="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=Jf(function(){return oc(l,p+"return "+f).apply(ie,u)});if(g.source=f,Qs(g))throw g;return g}function yu(e){return kl(e).toLowerCase()}function bu(e){return kl(e).toUpperCase()}function xu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(It,"");if(!e||!(t=hi(t)))return e;var r=ee(e),i=ee(t);return Si(r,B(r,i),F(r,i)+1).join("")}function _u(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Nt,"");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,0,F(r,ee(t))+1).join("")}function wu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Dt,"");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,B(r,ee(t))).join("")}function Mu(e,t){var n=Te,r=ke;if(il(t)){var i="separator"in t?t.separator:i;n="length"in t?wl(t.length):n,r="omission"in t?hi(t.omission):r}e=kl(e);var o=e.length;if(G(e)){var a=ee(e);o=a.length}if(n>=o)return e;var s=n-Q(r);if(s<1)return r;var l=a?Si(a,0,s).join(""):e.slice(0,s);if(i===ie)return l+r;if(a&&(s+=l.length-s),wf(i)){if(e.slice(s).search(i)){var u,c=l;for(i.global||(i=lc(i.source,kl(Gt.exec(i))+"g")),i.lastIndex=0;u=i.exec(c);)var d=u.index;l=l.slice(0,d===ie?s:d)}}else if(e.indexOf(hi(i),s)!=s){var f=l.lastIndexOf(i);f>-1&&(l=l.slice(0,f))}return l+r}function Su(e){return e=kl(e),e&&Mt.test(e)?e.replace(_t,Xn):e}function Eu(e,t,n){return e=kl(e),t=n?ie:t,t===ie?V(e)?re(e):_(e):e.match(t)||[]}function Tu(e){var t=null==e?0:e.length,n=wo();return e=t?m(e,function(e){if("function"!=typeof e[1])throw new cc(se);return[n(e[0]),e[1]]}):[],ni(function(n){for(var r=-1;++rLe)return[];var n=Ne,r=Yc(e,Ne);t=wo(t),e-=Ne;for(var i=L(r,t);++n1?e[t-1]:ie;return n="function"==typeof n?(e.pop(),n):ie,qa(e,n)}),Zd=vo(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return tr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof x&&Do(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:$a,args:[o],thisArg:ie}),new i(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ie),e})):this.thru(o)}),Kd=Ui(function(e,t,n){gc.call(e,n)?++e[n]:er(e,n,1)}),Jd=Ki(da),$d=Ki(fa),Qd=Ui(function(e,t,n){gc.call(e,n)?e[n].push(t):er(e,n,[t])}),ef=ni(function(e,t,n){var r=-1,i="function"==typeof t,o=Ys(e)?nc(e.length):[];return pd(e,function(e){o[++r]=i?s(t,e,n):Er(e,t,n)}),o}),tf=Ui(function(e,t,n){er(e,n,t)}),nf=Ui(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=ni(function(e,t){if(null==e)return[];var n=t.length;return n>1&&No(e,t[0],t[1])?t=[]:n>2&&No(t[0],t[1],t[2])&&(t=[t[0]]),qr(e,fr(t,1),[])}),of=Nc||function(){return Ln.Date.now()},af=ni(function(e,t,n){var r=ge;if(n.length){var i=X(n,_o(af));r|=_e}return uo(e,r,t,n,i)}),sf=ni(function(e,t,n){var r=ge|ve;if(n.length){var i=X(n,_o(sf));r|=_e}return uo(t,r,e,n,i)}),lf=ni(function(e,t){return ar(e,1,t)}),uf=ni(function(e,t,n){return ar(e,Sl(t)||0,n)});As.Cache=un;var cf=xd(function(e,t){t=1==t.length&&vf(t[0])?m(t[0],D(wo())):m(fr(t,1),D(wo()));var n=t.length;return ni(function(r){for(var i=-1,o=Yc(r.length,n);++i=t}),gf=Tr(function(){return arguments}())?Tr:function(e){return ol(e)&&gc.call(e,"callee")&&!Pc.call(e,"callee")},vf=nc.isArray,yf=Fn?D(Fn):kr,bf=Uc||Uu,xf=jn?D(jn):Or,_f=Un?D(Un):Ar,wf=Wn?D(Wn):Ir,Mf=Gn?D(Gn):Dr,Sf=Vn?D(Vn):Nr,Ef=oo(jr),Tf=oo(function(e,t){return e<=t}),kf=Wi(function(e,t){if(Uo(t)||Ys(t))return void Bi(t,jl(t),e);for(var n in t)gc.call(t,n)&&Hn(e,n,t[n])}),Of=Wi(function(e,t){Bi(t,Ul(t),e)}),Pf=Wi(function(e,t,n,r){Bi(t,Ul(t),e,r)}),Cf=Wi(function(e,t,n,r){Bi(t,jl(t),e,r)}),Af=vo(tr),Rf=ni(function(e){return e.push(ie,co),s(Pf,ie,e)}),Lf=ni(function(e){return e.push(ie,fo),s(Bf,ie,e)}),If=Qi(function(e,t,n){e[t]=n},Ou(Cu)),Df=Qi(function(e,t,n){gc.call(e,t)?e[t].push(n):e[t]=[n]},wo),Nf=ni(Er),zf=Wi(function(e,t,n){Vr(e,t,n)}),Bf=Wi(function(e,t,n,r){Vr(e,t,n,r)}),Ff=vo(function(e,t){var n={};if(null==e)return n;var r=!1;t=m(t,function(t){return t=Mi(t,e),r||(r=t.length>1),t}),Bi(e,bo(e),n),r&&(n=rr(n,de|fe|he,ho));for(var i=t.length;i--;)mi(n,t[i]);return n}),jf=vo(function(e,t){return null==e?{}:Xr(e,t)}),Uf=lo(jl),Wf=lo(Ul),Gf=qi(function(e,t,n){return t=t.toLowerCase(),e+(n?iu(t):t)}),Vf=qi(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Hf=qi(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Yf=Yi("toLowerCase"),qf=qi(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),Xf=qi(function(e,t,n){return e+(n?" ":"")+Kf(t)}),Zf=qi(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Kf=Yi("toUpperCase"),Jf=ni(function(e,t){try{return s(e,ie,t)}catch(e){return Qs(e)?e:new ic(e)}}),$f=vo(function(e,t){return u(t,function(t){t=Qo(t),er(e,t,af(e[t],e))}),e}),Qf=Ji(),eh=Ji(!0),th=ni(function(e,t){return function(n){return Er(n,e,t)}}),nh=ni(function(e,t){return function(n){return Er(e,n,t)}}),rh=to(m),ih=to(d),oh=to(b),ah=io(),sh=io(!0),lh=eo(function(e,t){return e+t},0),uh=so("ceil"),ch=eo(function(e,t){return e/t},1),dh=so("floor"),fh=eo(function(e,t){return e*t},1),hh=so("round"),ph=eo(function(e,t){return e-t},0);return n.after=Ss,n.ary=Es,n.assign=kf,n.assignIn=Of,n.assignInWith=Pf,n.assignWith=Cf,n.at=Af,n.before=Ts,n.bind=af,n.bindAll=$f,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=ia,n.concat=oa,n.cond=Tu,n.conforms=ku,n.constant=Ou,n.countBy=Kd,n.create=Ol,n.curry=ks,n.curryRight=Os,n.debounce=Ps,n.defaults=Rf,n.defaultsDeep=Lf,n.defer=lf,n.delay=uf,n.difference=Rd,n.differenceBy=Ld,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=la,n.dropWhile=ua,n.fill=ca,n.filter=ss,n.flatMap=ls,n.flatMapDeep=us,n.flatMapDepth=cs,n.flatten=ha,n.flattenDeep=pa,n.flattenDepth=ma,n.flip=Cs,n.flow=Qf,n.flowRight=eh,n.fromPairs=ga,n.functions=Dl,n.functionsIn=Nl,n.groupBy=Qd,n.initial=ba,n.intersection=Dd,n.intersectionBy=Nd,n.intersectionWith=zd,n.invert=If,n.invertBy=Df,n.invokeMap=ef,n.iteratee=Au,n.keyBy=tf,n.keys=jl,n.keysIn=Ul,n.map=ps,n.mapKeys=Wl,n.mapValues=Gl,n.matches=Ru,n.matchesProperty=Lu,n.memoize=As,n.merge=zf,n.mergeWith=Bf,n.method=th,n.methodOf=nh,n.mixin=Iu,n.negate=Rs,n.nthArg=zu,n.omit=Ff,n.omitBy=Vl,n.once=Ls,n.orderBy=ms,n.over=rh,n.overArgs=cf,n.overEvery=ih,n.overSome=oh,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=jf,n.pickBy=Hl,n.property=Bu,n.propertyOf=Fu,n.pull=Bd,n.pullAll=Sa,n.pullAllBy=Ea,n.pullAllWith=Ta,n.pullAt=Fd,n.range=ah,n.rangeRight=sh,n.rearg=hf,n.reject=ys,n.remove=ka,n.rest=Is,n.reverse=Oa,n.sampleSize=xs,n.set=ql,n.setWith=Xl,n.shuffle=_s,n.slice=Pa,n.sortBy=rf,n.sortedUniq=Na,n.sortedUniqBy=za,n.split=mu,n.spread=Ds,n.tail=Ba,n.take=Fa,n.takeRight=ja,n.takeRightWhile=Ua,n.takeWhile=Wa,n.tap=Ja,n.throttle=Ns,n.thru=$a,n.toArray=xl,n.toPairs=Uf,n.toPairsIn=Wf,n.toPath=Yu,n.toPlainObject=El,n.transform=Zl,n.unary=zs,n.union=jd,n.unionBy=Ud,n.unionWith=Wd,n.uniq=Ga,n.uniqBy=Va,n.uniqWith=Ha,n.unset=Kl,n.unzip=Ya,n.unzipWith=qa,n.update=Jl,n.updateWith=$l,n.values=Ql,n.valuesIn=eu,n.without=Gd,n.words=Eu,n.wrap=Bs,n.xor=Vd,n.xorBy=Hd,n.xorWith=Yd,n.zip=qd,n.zipObject=Xa,n.zipObjectDeep=Za,n.zipWith=Xd,n.entries=Uf,n.entriesIn=Wf,n.extend=Of,n.extendWith=Pf,Iu(n,n),n.add=lh,n.attempt=Jf,n.camelCase=Gf,n.capitalize=iu,n.ceil=uh,n.clamp=tu,n.clone=js,n.cloneDeep=Ws,n.cloneDeepWith=Gs,n.cloneWith=Us,n.conformsTo=Vs,n.deburr=ou,n.defaultTo=Pu,n.divide=ch,n.endsWith=au,n.eq=Hs,n.escape=su,n.escapeRegExp=lu,n.every=as,n.find=Jd,n.findIndex=da,n.findKey=Pl,n.findLast=$d,n.findLastIndex=fa,n.findLastKey=Cl,n.floor=dh,n.forEach=ds,n.forEachRight=fs,n.forIn=Al,n.forInRight=Rl,n.forOwn=Ll,n.forOwnRight=Il,n.get=zl,n.gt=pf,n.gte=mf,n.has=Bl,n.hasIn=Fl,n.head=va,n.identity=Cu,n.includes=hs,n.indexOf=ya,n.inRange=nu,n.invoke=Nf,n.isArguments=gf,n.isArray=vf,n.isArrayBuffer=yf,n.isArrayLike=Ys,n.isArrayLikeObject=qs,n.isBoolean=Xs,n.isBuffer=bf,n.isDate=xf,n.isElement=Zs,n.isEmpty=Ks,n.isEqual=Js,n.isEqualWith=$s,n.isError=Qs,n.isFinite=el,n.isFunction=tl,n.isInteger=nl,n.isLength=rl,n.isMap=_f,n.isMatch=al,n.isMatchWith=sl,n.isNaN=ll,n.isNative=ul,n.isNil=dl,n.isNull=cl,n.isNumber=fl,n.isObject=il,n.isObjectLike=ol,n.isPlainObject=hl,n.isRegExp=wf,n.isSafeInteger=pl,n.isSet=Mf,n.isString=ml,n.isSymbol=gl,n.isTypedArray=Sf,n.isUndefined=vl,n.isWeakMap=yl,n.isWeakSet=bl,n.join=xa,n.kebabCase=Vf,n.last=_a,n.lastIndexOf=wa,n.lowerCase=Hf,n.lowerFirst=Yf,n.lt=Ef,n.lte=Tf,n.max=Xu,n.maxBy=Zu,n.mean=Ku,n.meanBy=Ju,n.min=$u,n.minBy=Qu,n.stubArray=ju,n.stubFalse=Uu,n.stubObject=Wu,n.stubString=Gu,n.stubTrue=Vu,n.multiply=fh,n.nth=Ma,n.noConflict=Du,n.noop=Nu,n.now=of,n.pad=uu,n.padEnd=cu,n.padStart=du,n.parseInt=fu,n.random=ru,n.reduce=gs,n.reduceRight=vs,n.repeat=hu,n.replace=pu,n.result=Yl,n.round=hh,n.runInContext=e,n.sample=bs,n.size=ws,n.snakeCase=qf,n.some=Ms,n.sortedIndex=Ca,n.sortedIndexBy=Aa,n.sortedIndexOf=Ra,n.sortedLastIndex=La,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=Da,n.startCase=Xf,n.startsWith=gu,n.subtract=ph,n.sum=ec,n.sumBy=tc,n.template=vu,n.times=Hu,n.toFinite=_l,n.toInteger=wl,n.toLength=Ml,n.toLower=yu,n.toNumber=Sl,n.toSafeInteger=Tl,n.toString=kl,n.toUpper=bu,n.trim=xu,n.trimEnd=_u,n.trimStart=wu,n.truncate=Mu,n.unescape=Su,n.uniqueId=qu,n.upperCase=Zf,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=va,Iu(n,function(){var e={};return hr(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION="4.17.4",u(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){n[e].placeholder=n}),u(["drop","take"],function(e,t){x.prototype[e]=function(n){n=n===ie?1:Hc(wl(n),0);var r=this.__filtered__&&!t?new x(this):this.clone();return r.__filtered__?r.__takeCount__=Yc(n,r.__takeCount__):r.__views__.push({size:Yc(n,Ne),type:e+(r.__dir__<0?"Right":"")}),r},x.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),u(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==Ce||3==n;x.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:wo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),u(["head","last"],function(e,t){var n="take"+(t?"Right":"");x.prototype[e]=function(){return this[n](1).value()[0]}}),u(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");x.prototype[e]=function(){return this.__filtered__?new x(this):this[n](1)}}),x.prototype.compact=function(){return this.filter(Cu)},x.prototype.find=function(e){return this.filter(e).head()},x.prototype.findLast=function(e){return this.reverse().find(e)},x.prototype.invokeMap=ni(function(e,t){return"function"==typeof e?new x(this):this.map(function(n){return Er(n,e,t)})}),x.prototype.reject=function(e){return this.filter(Rs(wo(e)))},x.prototype.slice=function(e,t){e=wl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new x(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ie&&(t=wl(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},x.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},x.prototype.toArray=function(){return this.take(Ne)},hr(x.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),a=n[o?"take"+("last"==t?"Right":""):t],s=o||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,l=o?[1]:arguments,u=t instanceof x,c=l[0],d=u||vf(t),f=function(e){var t=a.apply(n,g([e],l));return o&&h?t[0]:t};d&&r&&"function"==typeof c&&1!=c.length&&(u=d=!1);var h=this.__chain__,p=!!this.__actions__.length,m=s&&!h,v=u&&!p;if(!s&&d){t=v?t:new x(this);var y=e.apply(t,l);return y.__actions__.push({func:$a,args:[f],thisArg:ie}),new i(y,h)}return m&&v?e.apply(this,l):(y=this.thru(f),m?o?y.value()[0]:y.value():y)})}),u(["pop","push","shift","sort","splice","unshift"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var n=this.value();return t.apply(vf(n)?n:[],e)}return this[r](function(n){return t.apply(vf(n)?n:[],e)})}}),hr(x.prototype,function(e,t){var r=n[t];if(r){var i=r.name+"";(id[i]||(id[i]=[])).push({name:t,func:r})}}),id[$i(ie,ve).name]=[{name:"wrapper",func:ie}],x.prototype.clone=P,x.prototype.reverse=J,x.prototype.value=te,n.prototype.at=Zd,n.prototype.chain=Qa,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=is,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=os,n.prototype.first=n.prototype.head,Rc&&(n.prototype[Rc]=ns),n}();Ln._=Zn,(i=function(){return Zn}.call(t,n,t,r))!==ie&&(r.exports=i)}).call(this)}).call(t,n(68),n(101)(e))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(470),d=(r(c),n(420)),f=r(d),h=n(31),p=r(h),m=n(199),g=r(m),v=n(198),y=r(v),b=n(202),x=r(b),_=n(208),w=r(_),M=n(203),S=r(M),E=n(209),T=r(E),k=n(105),O=r(k),P=n(200),C=r(P),A=n(204),R=r(A),L=n(205),I=r(L),D=n(206),N=r(D),z=n(201),B=r(z),F=(n(39),function(){function e(){(0,o.default)(this,e);var t=!this.isMobileDevice();this.coordinates=new g.default,this.renderer=new u.WebGLRenderer({antialias:t}),this.scene=new u.Scene,this.scene.background=new u.Color(3095),this.dimension={width:0,height:0},this.ground="tile"===p.default.ground.type?new w.default:new x.default,this.map=new S.default,this.adc=new y.default("adc",this.scene),this.planningAdc=new y.default("plannigAdc",this.scene),this.planningTrajectory=new T.default,this.perceptionObstacles=new O.default,this.decision=new C.default,this.prediction=new R.default,this.routing=new I.default,this.routingEditor=new N.default,this.gnss=new B.default,this.stats=null,p.default.debug.performanceMonitor&&(this.stats=new f.default,this.stats.showPanel(1),this.stats.domElement.style.position="absolute",this.stats.domElement.style.top=null,this.stats.domElement.style.bottom="0px",document.body.appendChild(this.stats.domElement)),this.geolocation={x:0,y:0}}return(0,s.default)(e,[{key:"initialize",value:function(e,t,n,r){this.options=r,this.canvasId=e,this.viewAngle=p.default.camera.viewAngle,this.viewDistance=p.default.camera.laneWidth*p.default.camera.laneWidthToViewDistanceRatio,this.camera=new u.PerspectiveCamera(p.default.camera[this.options.cameraAngle].fov,window.innerWidth/window.innerHeight,p.default.camera[this.options.cameraAngle].near,p.default.camera[this.options.cameraAngle].far),this.camera.name="camera",this.scene.add(this.camera),this.updateDimension(t,n),this.renderer.setPixelRatio(window.devicePixelRatio),document.getElementById(e).appendChild(this.renderer.domElement);var i=new u.AmbientLight(4473924),o=new u.DirectionalLight(16772829);o.position.set(0,0,1).normalize(),this.controls=new u.OrbitControls(this.camera,this.renderer.domElement),this.controls.enable=!1,this.onMouseDownHandler=this.editRoute.bind(this),this.scene.add(i),this.scene.add(o),this.animate()}},{key:"maybeInitializeOffest",value:function(e,t){this.coordinates.isInitialized()||this.coordinates.initialize(e,t)}},{key:"updateDimension",value:function(e,t){this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.dimension.width=e,this.dimension.height=t}},{key:"enableOrbitControls",value:function(){var e=this.adc.mesh.position;this.controls.enabled=!0,this.controls.enableRotate=!1,this.controls.reset(),this.controls.minDistance=20,this.controls.maxDistance=1e3,this.controls.target.set(e.x,e.y,0),this.camera.position.set(e.x,e.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.x,e.y,0)}},{key:"adjustCamera",value:function(e,t){if(!this.routingEditor.isInEditingMode()){switch(this.camera.fov=p.default.camera[t].fov,this.camera.near=p.default.camera[t].near,this.camera.far=p.default.camera[t].far,t){case"Default":var n=this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=this.viewDistance*Math.sin(this.viewAngle);this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case"Near":n=.5*this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=.5*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case"Overhead":r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=2*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x,this.camera.position.y=e.position.y+r,this.camera.position.z=2*(e.position.z+i),this.camera.up.set(0,1,0),this.camera.lookAt({x:e.position.x,y:e.position.y+r,z:0}),this.controls.enabled=!1;break;case"Monitor":this.camera.position.set(e.position.x,e.position.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.position.x,e.position.y,0),this.controls.enabled=!1;break;case"Map":this.controls.enabled||this.enableOrbitControls()}this.camera.updateProjectionMatrix()}}},{key:"enableRouteEditing",value:function(){this.enableOrbitControls(),this.routingEditor.enableEditingMode(this.camera,this.adc),document.getElementById(this.canvasId).addEventListener("mousedown",this.onMouseDownHandler,!1)}},{key:"disableRouteEditing",value:function(){this.routingEditor.disableEditingMode(this.scene),document.getElementById(this.canvasId).removeEventListener("mousedown",this.onMouseDownHandler,!1)}},{key:"addDefaultEndPoint",value:function(e){for(var t=0;t0)n=e.stepSize;else{var o=r.niceNum(t.max-t.min,!1);n=r.niceNum(o/(e.maxTicks-1),!0)}var a=Math.floor(t.min/n)*n,s=Math.ceil(t.max/n)*n;e.min&&e.max&&e.stepSize&&r.almostWhole((e.max-e.min)/e.stepSize,n/1e3)&&(a=e.min,s=e.max);var l=(s-a)/n;l=r.almostEquals(l,Math.round(l),n/1e3)?Math.round(l):Math.ceil(l),i.push(void 0!==e.min?e.min:a);for(var u=1;u3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&e!==Math.floor(e)&&(i=e-Math.floor(e));var o=r.log10(Math.abs(i)),a="";if(0!==e){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),a=e.toFixed(s)}else a="0";return a},logarithmic:function(e,t,n){var i=e/Math.pow(10,Math.floor(r.log10(e)));return 0===e?"0":1===i||2===i||5===i||0===t||t===n.length-1?e.toExponential():""}}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(28),i=n(117),o=n(115),a=n(25),s=n(63),l=n(90),u={},c={},t=e.exports=function(e,t,n,d,f){var h,p,m,g,v=f?function(){return e}:l(e),y=r(n,d,t?2:1),b=0;if("function"!=typeof v)throw TypeError(e+" is not iterable!");if(o(v)){for(h=s(e.length);h>b;b++)if((g=t?y(a(p=e[b])[0],p[1]):y(e[b]))===u||g===c)return g}else for(m=v.call(e);!(p=m.next()).done;)if((g=i(m,y,p.value,t))===u||g===c)return g};t.BREAK=u,t.RETURN=c},function(e,t){e.exports={}},function(e,t,n){var r=n(122),i=n(75);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(21).f,i=n(37),o=n(15)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(325)(!0);n(77)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){"use strict";function r(e){return"string"==typeof e&&i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){"use strict";function r(e){if(e&&e.length){for(var t={},n=0;n=t)return!0;return!1},i.isReservedName=function(e,t){if(e)for(var n=0;n0;){var r=e.shift();if(n.nested&&n.nested[r]){if(!((n=n.nested[r])instanceof i))throw Error("path conflicts with non-namespace objects")}else n.add(n=new i(r))}return t&&n.addJSON(t),n},i.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return r}else if(r instanceof i&&(r=r.lookup(e.slice(1),t,!0)))return r}else for(var o=0;o=0;o--)t.call(n,e[o],o);else for(o=0;odocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(86),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){n(329);for(var r=n(14),i=n(34),o=n(49),a=n(15)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l1&&void 0!==arguments[1]?arguments[1]:0;if(e.constructor===Array&&e.length>0)for(;t0?r:n)(e)}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(14),i=n(9),o=n(60),a=n(89),s=n(21).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(15)},function(e,t,n){var r=n(72),i=n(15)("iterator"),o=n(49);e.exports=n(9).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t){},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(364),o=r(i),a=n(367),s=r(a),l=n(366),u=r(l),c=n(368),d=r(c),f=n(369),h=r(f),p=n(370),m=r(p),g=n(371),v=r(g),y=n(372),b=r(y),x=n(373),_=r(x),w=n(374),M=r(w),S=n(375),E=r(S),T=n(377),k=r(T),O=n(365),P=r(O),C=[u.default,s.default,d.default,m.default,v.default,b.default,_.default,M.default,E.default,h.default],A=(0,o.default)({prefixMap:P.default.prefixMap,plugins:C},k.default);t.default=A,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/* object-assign (c) Sindre Sorhus @license MIT */ -var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=r(e),u=1;u-1&&this.oneof.splice(t,1),e.partOf=null,this},r.prototype.onAdd=function(e){o.prototype.onAdd.call(this,e);for(var t=this,n=0;n "+e.len)}function i(e){this.buf=e,this.pos=0,this.len=e.length}function o(){var e=new c(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw r(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw r(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function a(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function s(){if(this.pos+8>this.len)throw r(this,8);return new c(a(this.buf,this.pos+=4),a(this.buf,this.pos+=4))}e.exports=i;var l,u=n(30),c=u.LongBits,d=u.utf8,f="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new i(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new i(e);throw Error("illegal buffer")};i.create=u.Buffer?function(e){return(i.create=function(e){return u.Buffer.isBuffer(e)?new l(e):f(e)})(e)}:f,i.prototype._slice=u.Array.prototype.subarray||u.Array.prototype.slice,i.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,r(this,10);return e}}(),i.prototype.int32=function(){return 0|this.uint32()},i.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},i.prototype.bool=function(){return 0!==this.uint32()},i.prototype.fixed32=function(){if(this.pos+4>this.len)throw r(this,4);return a(this.buf,this.pos+=4)},i.prototype.sfixed32=function(){if(this.pos+4>this.len)throw r(this,4);return 0|a(this.buf,this.pos+=4)},i.prototype.float=function(){if(this.pos+4>this.len)throw r(this,4);var e=u.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},i.prototype.double=function(){if(this.pos+8>this.len)throw r(this,4);var e=u.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},i.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw r(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},i.prototype.string=function(){var e=this.bytes();return d.read(e,0,e.length)},i.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw r(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw r(this)}while(128&this.buf[this.pos++]);return this},i.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){if(4==(e=7&this.uint32()))break;this.skipType(e)}break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},i._configure=function(e){l=e;var t=u.Long?"toLong":"toNumber";u.merge(i.prototype,{int64:function(){return o.call(this)[t](!1)},uint64:function(){return o.call(this)[t](!0)},sint64:function(){return o.call(this).zzDecode()[t](!1)},fixed64:function(){return s.call(this)[t](!0)},sfixed64:function(){return s.call(this)[t](!1)}})}},function(e,t,n){"use strict";function r(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function i(){}function o(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new r(i,0,0),this.tail=this.head,this.states=null}function s(e,t,n){t[n]=255&e}function l(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e}function u(e,t){this.len=e,this.next=void 0,this.val=t}function c(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function d(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}e.exports=a;var f,h=n(30),p=h.LongBits,m=h.base64,g=h.utf8;a.create=h.Buffer?function(){return(a.create=function(){return new f})()}:function(){return new a},a.alloc=function(e){return new h.Array(e)},h.Array!==Array&&(a.alloc=h.pool(a.alloc,h.Array.prototype.subarray)),a.prototype._push=function(e,t,n){return this.tail=this.tail.next=new r(e,t,n),this.len+=t,this},u.prototype=Object.create(r.prototype),u.prototype.fn=l,a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new u((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},a.prototype.int32=function(e){return e<0?this._push(c,10,p.fromNumber(e)):this.uint32(e)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.uint64=function(e){var t=p.from(e);return this._push(c,t.length(),t)},a.prototype.int64=a.prototype.uint64,a.prototype.sint64=function(e){var t=p.from(e).zzEncode();return this._push(c,t.length(),t)},a.prototype.bool=function(e){return this._push(s,1,e?1:0)},a.prototype.fixed32=function(e){return this._push(d,4,e>>>0)},a.prototype.sfixed32=a.prototype.fixed32,a.prototype.fixed64=function(e){var t=p.from(e);return this._push(d,4,t.lo)._push(d,4,t.hi)},a.prototype.sfixed64=a.prototype.fixed64,a.prototype.float=function(e){return this._push(h.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this._push(h.float.writeDoubleLE,8,e)};var v=h.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r>>0;if(!t)return this._push(s,1,0);if(h.isString(e)){var n=a.alloc(t=m.length(e));m.decode(e,n,0),e=n}return this.uint32(t)._push(v,t,e)},a.prototype.string=function(e){var t=g.length(e);return t?this.uint32(t)._push(g.write,t,e):this._push(s,1,0)},a.prototype.fork=function(){return this.states=new o(this),this.head=this.tail=new r(i,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new r(i,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},a.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},a._configure=function(e){f=e}},function(e,t,n){var r=n(411),i=n(23);e.exports=function(e,t,n){var i=e[t];if(i){var o=[];if(Object.keys(i).forEach(function(e){-1===r.indexOf(e)&&o.push(e)}),o.length)throw new Error("Prop "+t+" passed to "+n+". Has invalid keys "+o.join(", "))}},e.exports.isRequired=function(t,n,r){if(!t[n])throw new Error("Prop "+n+" passed to "+r+" is required");return e.exports(t,n,r)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t,n){"use strict";function r(){return r=Object.assign||function(e){for(var t=1;t0?1:-1,f=Math.tan(s)*d,h=d*c.x,p=f*c.y,m=Math.atan2(p,h),g=a.data[0],v=g.tooltipPosition();e.ctx.font=x.default.helpers.fontString(20,"normal","Helvetica Neue"),e.ctx.translate(v.x,v.y),e.ctx.rotate(-m),e.ctx.fillText("►",0,0),e.ctx.restore()}})}}),x.default.defaults.global.defaultFontColor="#FFFFFF";var _=function(e){function t(){return(0,u.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,d.default)(t,[{key:"initializeCanvas",value:function(e,t){this.name2idx={};var n={title:{display:e&&e.length>0,text:e},legend:{display:t.legend.display},tooltips:{enable:!0,mode:"nearest",intersect:!1}};if(t.axes){n.scales||(n.scales={});for(var r in t.axes){var i=r+"Axes",o=t.axes[r],a={id:r+"-axis-0",scaleLabel:{display:!0,labelString:o.labelString},ticks:{min:o.min,max:o.max},gridLines:{color:"rgba(153, 153, 153, 0.5)",zeroLineColor:"rgba(153, 153, 153, 0.7)"}};n.scales[i]||(n.scales[i]=[]),n.scales[i].push(a)}}var s=this.canvasElement.getContext("2d");this.chart=new x.default(s,{type:"scatter",options:n})}},{key:"updateData",value:function(e,t,n,r){var i=t.substring(0,5);if(void 0===this.chart.data.datasets[e]){var o={label:i,showText:n.showLabel,text:t,backgroundColor:n.color,borderColor:n.color,data:r};for(var a in n)o[a]=n[a];this.chart.data.datasets.push(o)}else this.chart.data.datasets[e].text=t,this.chart.data.datasets[e].data=r}},{key:"updateChart",value:function(e){for(var t in e.properties.lines){void 0===this.name2idx[t]&&(this.name2idx[t]=this.chart.data.datasets.length);var n=this.name2idx[t],r=e.properties.lines[t],i=e.data?e.data[t]:[];this.updateData(n,t,r,i)}var a=(0,o.default)(this.name2idx).length;if(e.boxes)for(var s in e.boxes){var l=e.boxes[s];this.updateData(a,s,e.properties.box,l),a++}this.chart.data.datasets.splice(a,this.chart.data.datasets.length-a),this.chart.update(0)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.title,n=e.options;this.initializeCanvas(t,n),this.updateChart(this.props)}},{key:"componentWillUnmount",value:function(){this.chart.destroy()}},{key:"componentWillReceiveProps",value:function(e){this.updateChart(e)}},{key:"render",value:function(){var e=this,t=this.props;t.data,t.properties,t.options,t.boxes;return v.default.createElement("div",{className:"scatter-graph"},v.default.createElement("canvas",{ref:function(t){e.canvasElement=t}}))}}]),t}(v.default.Component);t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=n(11),v=r(g),y=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:"render",value:function(){var e=this.props,t=e.id,n=e.title,r=e.isChecked,i=e.onClick,o=e.disabled,a=e.extraClasses;return m.default.createElement("ul",{className:(0,v.default)({disabled:o},a)},m.default.createElement("li",{id:t,onClick:function(){o||i()}},m.default.createElement("div",{className:"switch"},m.default.createElement("input",{type:"checkbox",className:"toggle-switch",name:t,checked:r,disabled:o,readOnly:!0}),m.default.createElement("label",{className:"toggle-switch-label",htmlFor:t})),m.default.createElement("span",null,n)))}}]),t}(m.default.Component);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:"render",value:function(){var e=this.props,t=e.id,n=e.title,r=(e.options,e.onClick),i=e.checked,o=e.extraClasses;return m.default.createElement("ul",{className:o},m.default.createElement("li",{onClick:r},m.default.createElement("input",{type:"radio",name:t,checked:i,readOnly:!0}),m.default.createElement("label",{className:"radio-selector-label",htmlFor:n}),m.default.createElement("span",null,n)))}}]),t}(m.default.Component);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ObstacleColorMapping=t.DEFAULT_COLOR=void 0;var i=n(234),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(16),h=r(f),p=n(207),m=r(p),g=n(69),v=n(32),y=n(39),b=t.DEFAULT_COLOR=16711932,x=t.ObstacleColorMapping={PEDESTRIAN:16771584,BICYCLE:56555,VEHICLE:65340,VIRTUAL:8388608},_=function(){function e(){(0,s.default)(this,e),this.textRender=new m.default,this.arrows=[],this.ids=[],this.solidCubes=[],this.dashedCubes=[],this.extrusionSolidFaces=[],this.extrusionDashedFaces=[]}return(0,u.default)(e,[{key:"update",value:function(e,t,n){y.isEmpty(this.ids)||(this.ids.forEach(function(e){e.children.forEach(function(e){return e.visible=!1}),n.remove(e)}),this.ids=[]),this.textRender.reset();var r=e.object;if(y.isEmpty(r))return(0,g.hideArrayObjects)(this.arrows),(0,g.hideArrayObjects)(this.solidCubes),(0,g.hideArrayObjects)(this.dashedCubes),(0,g.hideArrayObjects)(this.extrusionSolidFaces),void(0,g.hideArrayObjects)(this.extrusionDashedFaces);for(var i=t.applyOffset({x:e.autoDrivingCar.positionX,y:e.autoDrivingCar.positionY}),a=0,s=0,l=0,u=0;u.5){var m=this.updateArrow(f,c.speedHeading,p,a++,n),v=1+(0,o.default)(c.speed);m.scale.set(v,v,v),m.visible=!0}if(h.default.options.showObstaclesHeading){var _=this.updateArrow(f,c.heading,16777215,a++,n);_.scale.set(1,1,1),_.visible=!0}h.default.options.showObstaclesId&&this.updateIdAndDistance(c.id,new d.Vector3(f.x,f.y,c.height),i.distanceTo(f).toFixed(1),n);var w=c.confidence;w=Math.max(0,w),w=Math.min(1,w);var M=c.polygonPoint;void 0!==M&&M.length>0?(this.updatePolygon(M,c.height,p,t,w,l,n),l+=M.length):c.length&&c.width&&c.height&&this.updateCube(c.length,c.width,c.height,f,c.heading,p,w,s++,n)}}(0,g.hideArrayObjects)(this.arrows,a),(0,g.hideArrayObjects)(this.solidCubes,s),(0,g.hideArrayObjects)(this.dashedCubes,s),(0,g.hideArrayObjects)(this.extrusionSolidFaces,l),(0,g.hideArrayObjects)(this.extrusionDashedFaces,l)}},{key:"updateArrow",value:function(e,t,n,r,i){var o=this.getArrow(r,i);return(0,g.copyProperty)(o.position,e),o.material.color.setHex(n),o.rotation.set(0,0,-(Math.PI/2-t)),o}},{key:"updateIdAndDistance",value:function(e,t,n,r){var i=this.textRender.composeText(e+" D:"+n);if(null!==i){i.position.set(t.x,t.y+.5,t.z||3);var o=r.getObjectByName("camera");void 0!==o&&i.quaternion.copy(o.quaternion),i.children.forEach(function(e){return e.visible=!0}),i.visible=!0,i.name="id_"+e,this.ids.push(i),r.add(i)}}},{key:"updatePolygon",value:function(e,t,n,r,i,o,a){for(var s=0;s0){var u=this.getCube(s,l,!0);u.position.set(r.x,r.y,r.z+n*(a-1)/2),u.scale.set(e,t,n*a),u.material.color.setHex(o),u.rotation.set(0,0,i),u.visible=!0}if(a<1){var c=this.getCube(s,l,!1);c.position.set(r.x,r.y,r.z+n*a/2),c.scale.set(e,t,n*(1-a)),c.material.color.setHex(o),c.rotation.set(0,0,i),c.visible=!0}}},{key:"getArrow",value:function(e,t){if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.extrusionSolidFaces:this.extrusionDashedFaces;if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.solidCubes:this.dashedCubes;if(e0&&(u=e.getDatasetMeta(u[0]._datasetIndex).data),u},"x-axis":function(e,t){return l(e,t,{intersect:!1})},point:function(e,t){return o(e,r(t,e))},nearest:function(e,t,n){var i=r(t,e);n.axis=n.axis||"xy";var o=s(n.axis),l=a(e,i,n.intersect,o);return l.length>1&&l.sort(function(e,t){var n=e.getArea(),r=t.getArea(),i=n-r;return 0===i&&(i=e._datasetIndex-t._datasetIndex),i}),l.slice(0,1)},x:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inXRange(o.x)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a},y:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inYRange(o.y)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a}}}},function(e,t,n){"use strict";var r=n(6),i=n(275),o=n(276),a=o._enabled?o:i;e.exports=r.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},a)},function(e,t,n){var r=n(288),i=n(286),o=function(e){if(e instanceof o)return e;if(!(this instanceof o))return new o(e);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var t;"string"==typeof e?(t=i.getRgba(e),t?this.setValues("rgb",t):(t=i.getHsla(e))?this.setValues("hsl",t):(t=i.getHwb(e))&&this.setValues("hwb",t)):"object"==typeof e&&(t=e,void 0!==t.r||void 0!==t.red?this.setValues("rgb",t):void 0!==t.l||void 0!==t.lightness?this.setValues("hsl",t):void 0!==t.v||void 0!==t.value?this.setValues("hsv",t):void 0!==t.w||void 0!==t.whiteness?this.setValues("hwb",t):void 0===t.c&&void 0===t.cyan||this.setValues("cmyk",t))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues("alpha",e),this)},red:function(e){return this.setChannel("rgb",0,e)},green:function(e){return this.setChannel("rgb",1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e%=360,e=e<0?360+e:e),this.setChannel("hsl",0,e)},saturation:function(e){return this.setChannel("hsl",1,e)},lightness:function(e){return this.setChannel("hsl",2,e)},saturationv:function(e){return this.setChannel("hsv",1,e)},whiteness:function(e){return this.setChannel("hwb",1,e)},blackness:function(e){return this.setChannel("hwb",2,e)},value:function(e){return this.setChannel("hsv",2,e)},cyan:function(e){return this.setChannel("cmyk",0,e)},magenta:function(e){return this.setChannel("cmyk",1,e)},yellow:function(e){return this.setChannel("cmyk",2,e)},black:function(e){return this.setChannel("cmyk",3,e)},hexString:function(){return i.hexString(this.values.rgb)},rgbString:function(){return i.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return i.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return i.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return i.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return i.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return i.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return i.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,r=e,i=void 0===t?.5:t,o=2*i-1,a=n.alpha()-r.alpha(),s=((o*a==-1?o:(o+a)/(1+o*a))+1)/2,l=1-s;return this.rgb(s*n.red()+l*r.red(),s*n.green()+l*r.green(),s*n.blue()+l*r.blue()).alpha(n.alpha()*i+r.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new o,r=this.values,i=n.values;for(var a in r)r.hasOwnProperty(a)&&(e=r[a],t={}.toString.call(e),"[object Array]"===t?i[a]=e.slice(0):"[object Number]"===t?i[a]=e:console.error("unexpected color value:",e));return n}},o.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(e){for(var t=this.values,n={},r=0;rl;)r(s,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(25),i=n(20),o=n(79);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){e.exports=n(34)},function(e,t,n){"use strict";var r=n(14),i=n(9),o=n(21),a=n(26),s=n(15)("species");e.exports=function(e){var t="function"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(25),i=n(46),o=n(15)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(28),s=n(316),l=n(113),u=n(74),c=n(14),d=c.process,f=c.setImmediate,h=c.clearImmediate,p=c.MessageChannel,m=c.Dispatch,g=0,v={},y=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},h=function(e){delete v[e]},"process"==n(47)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+"","*")},c.addEventListener("message",b,!1)):r="onreadystatechange"in u("script")?function(e){l.appendChild(u("script")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){"use strict";function r(e){return(0,o.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=n(362),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i>>0",r,r);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",r,r);break;case"uint64":l=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",r,r,l)('else if(typeof d%s==="string")',r)("m%s=parseInt(d%s,10)",r,r)('else if(typeof d%s==="number")',r)("m%s=d%s",r,r)('else if(typeof d%s==="object")',r)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",r,r,r,l?"true":"");break;case"bytes":e('if(typeof d%s==="string")',r)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",r,r,r)("else if(d%s.length)",r)("m%s=d%s",r,r);break;case"string":e("m%s=String(d%s)",r,r);break;case"bool":e("m%s=Boolean(d%s)",r,r)}}return e}function i(e,t,n,r){if(t.resolvedType)t.resolvedType instanceof a?e("d%s=o.enums===String?types[%i].values[m%s]:m%s",r,n,r,r):e("d%s=types[%i].toObject(m%s,o)",r,n,r);else{var i=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",r,r,r,r);break;case"uint64":i=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',r)("d%s=o.longs===String?String(m%s):m%s",r,r,r)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",r,r,r,r,i?"true":"",r);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",r,r,r,r,r);break;default:e("d%s=m%s",r,r)}}return e}var o=t,a=n(27),s=n(13);o.fromObject=function(e){var t=e.fieldsArray,n=s.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return n("return new this.ctor");n("var m=new this.ctor");for(var i=0;i>>3){");for(var n=0;n>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,r,(t.id<<3|2)>>>0)}function i(e){for(var t,n,i=s.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),l=e.fieldsArray.slice().sort(s.compareFieldsById),t=0;t>>0,8|a.mapKey[u.keyType],u.keyType),void 0===f?i("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",c,n):i(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|f,d,n),i("}")("}")):u.repeated?(i("if(%s!=null&&%s.length){",n,n),u.packed&&void 0!==a.packed[d]?i("w.uint32(%i).fork()",(u.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",n)("w.%s(%s[i])",d,n)("w.ldelim()"):(i("for(var i=0;i<%s.length;++i)",n),void 0===f?r(i,u,c,n+"[i]"):i("w.uint32(%i).%s(%s[i])",(u.id<<3|f)>>>0,d,n)),i("}")):(u.optional&&i("if(%s!=null&&m.hasOwnProperty(%j))",n,u.name),void 0===f?r(i,u,c,n):i("w.uint32(%i).%s(%s)",(u.id<<3|f)>>>0,d,n))}return i("return w")}e.exports=i;var o=n(27),a=n(56),s=n(13)},function(e,t,n){"use strict";function r(e,t,n,r,o){if(i.call(this,e,t,r,o),!a.isString(n))throw TypeError("keyType must be a string");this.keyType=n,this.resolvedKeyType=null,this.map=!0}e.exports=r;var i=n(42);((r.prototype=Object.create(i.prototype)).constructor=r).className="MapField";var o=n(56),a=n(13);r.fromJSON=function(e,t){return new r(e,t.id,t.keyType,t.type,t.options)},r.prototype.toJSON=function(){return a.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options])},r.prototype.resolve=function(){if(this.resolved)return this;if(void 0===o.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return i.prototype.resolve.call(this)},r.d=function(e,t,n){return"function"==typeof n?n=a.decorateType(n).name:n&&"object"==typeof n&&(n=a.decorateEnum(n).name),function(i,o){a.decorateType(i.constructor).add(new r(o,e,t,n))}}},function(e,t,n){"use strict";function r(e,t,n,r,a,s,l){if(o.isObject(a)?(l=a,a=s=void 0):o.isObject(s)&&(l=s,s=void 0),void 0!==t&&!o.isString(t))throw TypeError("type must be a string");if(!o.isString(n))throw TypeError("requestType must be a string");if(!o.isString(r))throw TypeError("responseType must be a string");i.call(this,e,l),this.type=t||"rpc",this.requestType=n,this.requestStream=!!a||void 0,this.responseType=r,this.responseStream=!!s||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null}e.exports=r;var i=n(43);((r.prototype=Object.create(i.prototype)).constructor=r).className="Method";var o=n(13);r.fromJSON=function(e,t){return new r(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options)},r.prototype.toJSON=function(){return o.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options])},r.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},function(e,t,n){"use strict";function r(e){a.call(this,"",e),this.deferred=[],this.files=[]}function i(){}function o(e,t){var n=t.parent.lookup(t.extend);if(n){var r=new c(t.fullName,t.id,t.type,t.rule,void 0,t.options);return r.declaringField=t,t.extensionField=r,n.add(r),!0}return!1}e.exports=r;var a=n(55);((r.prototype=Object.create(a.prototype)).constructor=r).className="Root";var s,l,u,c=n(42),d=n(27),f=n(96),h=n(13);r.fromJSON=function(e,t){return t||(t=new r),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},r.prototype.resolvePath=h.path.resolve,r.prototype.load=function e(t,n,r){function o(e,t){if(r){var n=r;if(r=null,d)throw e;n(e,t)}}function a(e,t){try{if(h.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),h.isString(t)){l.filename=e;var r,i=l(t,c,n),a=0;if(i.imports)for(;a-1){var i=e.substring(n);i in u&&(e=i)}if(!(c.files.indexOf(e)>-1)){if(c.files.push(e),e in u)return void(d?a(e,u[e]):(++f,setTimeout(function(){--f,a(e,u[e])})));if(d){var s;try{s=h.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||o(e))}a(e,s)}else++f,h.fetch(e,function(n,i){if(--f,r)return n?void(t?f||o(null,c):o(n)):void a(e,i)})}}"function"==typeof n&&(r=n,n=void 0);var c=this;if(!r)return h.asPromise(e,c,t,n);var d=r===i,f=0;h.isString(t)&&(t=[t]);for(var p,m=0;m-1&&this.deferred.splice(t,1)}}else if(e instanceof d)p.test(e.name)&&delete e.parent[e.name];else if(e instanceof a){for(var n=0;n=0&&b.splice(t,1)}function s(e){var t=document.createElement("style");return e.attrs.type="text/css",u(t,e.attrs),o(e,t),t}function l(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",u(t,e.attrs),o(e,t),t}function u(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var u=y++;n=v||(v=s(t)),r=d.bind(null,n,u,!1),i=d.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(t),r=h.bind(null,n,t),i=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=f.bind(null,n),i=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function d(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function f(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function h(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=x(r)),i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var p={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,y=0,b=[],x=n(421);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");t=t||{},t.attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=i(e,t);return r(n,t),function(e){for(var o=[],a=0;a1&&void 0!==arguments[1]&&arguments[1];return null===this.offset?(console.error("Offset is not set."),null):isNaN(this.offset.x)||isNaN(this.offset.y)?(console.error("Offset contains NaN!"),null):isNaN(e.x)||isNaN(e.y)?(console.warn("Point contains NaN!"),null):isNaN(e.z)?new u.Vector2(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y):new u.Vector3(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y,e.z)}},{key:"applyOffsetToArray",value:function(e){var t=this;return e.map(function(e){return t.applyOffset(e)})}}]),e}();t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(440),h=r(f),p=n(444),m=r(p),g=n(442),v=r(g),y=n(445),b=r(y),x=n(443),_=r(x),w=n(434),M=r(w),S=n(437),E=r(S),T=n(435),k=r(T),O=n(438),P=r(O),C=n(436),A=r(C),R=n(439),L=r(R),I=n(432),D=r(I),N=n(447),z=r(N),B=n(446),F=r(B),j=n(448),U=r(j),W=n(449),G=r(W),V=n(450),H=r(V),Y=n(430),q=r(Y),X=n(431),Z=r(X),K=n(433),J=r(K),$=n(441),Q=r($),ee=n(69),te=n(32),ne=n(39),re={STOP:16724016,FOLLOW:1757281,YIELD:16724215,OVERTAKE:3188223},ie={STOP_REASON_HEAD_VEHICLE:L.default,STOP_REASON_DESTINATION:D.default,STOP_REASON_PEDESTRIAN:z.default,STOP_REASON_OBSTACLE:F.default,STOP_REASON_SIGNAL:U.default,STOP_REASON_STOP_SIGN:G.default,STOP_REASON_YIELD_SIGN:H.default,STOP_REASON_CLEAR_ZONE:q.default,STOP_REASON_CROSSWALK:Z.default,STOP_REASON_EMERGENCY:J.default,STOP_REASON_NOT_READY:Q.default},oe=function(){function e(){(0,o.default)(this,e),this.markers={STOP:[],FOLLOW:[],YIELD:[],OVERTAKE:[]},this.nudges=[],this.mainDecision=this.getMainDecision(),this.mainDecisionAddedToScene=!1}return(0,s.default)(e,[{key:"update",value:function(e,t,n){var r=this;this.nudges.forEach(function(e){n.remove(e),e.geometry.dispose(),e.material.dispose()}),this.nudges=[];var i=e.mainStop;if(!d.default.options.showDecisionMain||ne.isEmpty(i))this.mainDecision.visible=!1;else{this.mainDecision.visible=!0,this.mainDecisionAddedToScene||(n.add(this.mainDecision),this.mainDecisionAddedToScene=!0),(0,ee.copyProperty)(this.mainDecision.position,t.applyOffset(new u.Vector3(i.positionX,i.positionY,.2))),this.mainDecision.rotation.set(Math.PI/2,i.heading-Math.PI/2,0);var o=ne.attempt(function(){return i.decision[0].stopReason});if(!ne.isError(o)&&o){var a=null;for(a in ie)this.mainDecision[a].visible=!1;this.mainDecision[o].visible=!0}}var s=e.object;if(d.default.options.showDecisionObstacle&&!ne.isEmpty(s)){for(var l={STOP:0,FOLLOW:0,YIELD:0,OVERTAKE:0},c=0;c=r.markers[o].length?(a=r.getObstacleDecision(o),r.markers[o].push(a),n.add(a)):a=r.markers[o][l[o]];var d=t.applyOffset(new u.Vector3(i.positionX,i.positionY,0));if(null===d)return"continue";if(a.position.set(d.x,d.y,.2),a.rotation.set(Math.PI/2,i.heading-Math.PI/2,0),a.visible=!0,l[o]++,"YIELD"===o||"OVERTAKE"===o){var h=a.connect;h.geometry.vertices[0].set(s[c].positionX-i.positionX,s[c].positionY-i.positionY,0),h.geometry.verticesNeedUpdate=!0,h.geometry.computeLineDistances(),h.geometry.lineDistancesNeedUpdate=!0,h.rotation.set(Math.PI/-2,0,Math.PI/2-i.heading)}}else if("NUDGE"===o){var p=(0,te.drawShapeFromPoints)(t.applyOffsetToArray(i.polygonPoint),new u.MeshBasicMaterial({color:16744192}),!1,2);r.nudges.push(p),n.add(p)}})(h)}}var p=null;for(p in re)(0,ee.hideArrayObjects)(this.markers[p],l[p])}else{var m=null;for(m in re)(0,ee.hideArrayObjects)(this.markers[m])}}},{key:"getMainDecision",value:function(){var e=this.getFence("MAIN_STOP"),t=null;for(t in ie){var n=(0,te.drawImage)(ie[t],1,1,4.1,3.5,0);e.add(n),e[t]=n}return e.visible=!1,e}},{key:"getObstacleDecision",value:function(e){var t=this.getFence(e);if("YIELD"===e||"OVERTAKE"===e){var n=re[e],r=(0,te.drawDashedLineFromPoints)([new u.Vector3(1,1,0),new u.Vector3(0,0,0)],n,2,2,1,30);t.add(r),t.connect=r}return t.visible=!1,t}},{key:"getFence",value:function(e){var t=new u.Object3D;switch(e){case"STOP":var n=(0,te.drawImage)(E.default,11.625,3,0,1.5,0);t.add(n);var r=(0,te.drawImage)(m.default,1,1,3,3.6,0);t.add(r);break;case"FOLLOW":n=(0,te.drawImage)(k.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(v.default,1,1,3,3.6,0),t.add(r);break;case"YIELD":n=(0,te.drawImage)(P.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(b.default,1,1,3,3.6,0),t.add(r);break;case"OVERTAKE":n=(0,te.drawImage)(A.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(_.default,1,1,3,3.6,0),t.add(r);break;case"MAIN_STOP":n=(0,te.drawImage)(M.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(h.default,1,1,3,3.6,0),t.add(r)}return t}}]),e}();t.default=oe},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(32),h=function(){function e(){(0,o.default)(this,e),this.circle=null,this.base=null}return(0,s.default)(e,[{key:"update",value:function(e,t,n){if(e.gps&&e.autoDrivingCar){if(!this.circle){var r=new u.MeshBasicMaterial({color:27391,transparent:!1,opacity:.5});this.circle=(0,f.drawCircle)(.2,r),n.add(this.circle)}this.base||(this.base=(0,f.drawSegmentsFromPoints)([new u.Vector3(3.89,-1.05,0),new u.Vector3(3.89,1.06,0),new u.Vector3(-1.04,1.06,0),new u.Vector3(-1.04,-1.05,0),new u.Vector3(3.89,-1.05,0)],27391,2,5),n.add(this.base));var i=d.default.options.showPositionGps,o=t.applyOffset({x:e.gps.positionX,y:e.gps.positionY,z:0});this.circle.position.set(o.x,o.y,o.z),this.circle.visible=i,this.base.position.set(o.x,o.y,o.z),this.base.rotation.set(0,0,e.gps.heading),this.base.visible=i}}}]),e}();t.default=h},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(57),d=n(451),f=r(d),h=n(31),p=r(h),m=function(){function e(){var t=this;(0,o.default)(this,e),this.type="default",this.loadedMap=null,this.updateMap=null,this.mesh=null,this.geometry=null,this.initialized=!1,(0,c.loadTexture)(f.default,function(e){t.geometry=new u.PlaneGeometry(1,1),t.mesh=new u.Mesh(t.geometry,new u.MeshBasicMaterial({map:e}))})}return(0,s.default)(e,[{key:"initialize",value:function(e){return!!this.mesh&&(!(this.loadedMap===this.updateMap&&!this.render(e))&&(this.initialized=!0,!0))}},{key:"update",value:function(e,t,n){var r=this;if(!0===this.initialized&&this.loadedMap!==this.updateMap){var i=this.titleCaseToSnakeCase(this.updateMap),o="http://"+window.location.hostname+":8888",a=o+"/assets/map_data/"+i+"/background.jpg";(0,c.loadTexture)(a,function(e){console.log("updating ground image with "+i),r.mesh.material.map=e,r.render(t,i)},function(e){console.log("using grid as ground image..."),(0,c.loadTexture)(f.default,function(e){r.mesh.material.map=e,r.render(t)})}),this.loadedMap=this.updateMap}}},{key:"updateImage",value:function(e){this.updateMap=e}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"defaults";console.log("rendering ground image...");var n=p.default.ground[t],r=n.xres,i=n.yres,o=n.mpp,a=n.xorigin,s=n.yorigin,l=e.applyOffset({x:a,y:s});return null===l?(console.warn("Cannot find position for ground mesh!"),!1):("defaults"===t&&(l={x:0,y:0}),this.mesh.position.set(l.x,l.y,0),this.mesh.scale.set(r*o,i*o,1),this.mesh.material.needsUpdate=!0,this.mesh.overdraw=!1,!0)}},{key:"titleCaseToSnakeCase",value:function(e){return e.replace(/\s/g,"_").toLowerCase()}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(108),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(17),h=n(32),p=n(426),m=r(p),g=n(427),v=r(g),y=n(428),b=r(y),x=n(429),w=r(x),M=n(57),S={YELLOW:14329120,WHITE:13421772,CORAL:16744272,RED:16737894,GREEN:25600,BLUE:3188223,PURE_WHITE:16777215,DEFAULT:12632256},E={x:.006,y:.006,z:.006},T={x:2,y:2,z:2},k=function(){function e(){(0,s.default)(this,e),(0,M.loadObject)(b.default,w.default,E),(0,M.loadObject)(m.default,v.default,T),this.hash=-1,this.data={},this.laneHeading={},this.overlapMap={},this.initialized=!1}return(0,u.default)(e,[{key:"diffMapElements",value:function(e,t){var n={},r=!0;for(var i in e)!function(i){n[i]=[];for(var o=e[i],a=t[i],s=0;s=2){var r=Math.atan2(t[n-1].y-t[0].y,t[n-1].x-t[0].x);return 1.5*Math.PI+r}return NaN}},{key:"getSignalPositionAndHeading",value:function(e,t){var n=[];if(e.subsignal.forEach(function(e){e.location&&n.push(e.location)}),0===n.length&&(console.warn("Subsignal locations not found, use signal boundary instead."),n.push(e.boundary.point)),0===n.length)return console.warn("Unable to determine signal location, skip."),null;var r=void 0,i=e.overlapId.length;if(i>0){var o=e.overlapId[i-1].id;r=this.laneHeading[this.overlapMap[o]]}if(r||(console.warn("Unable to get traffic light heading, use orthogonal direction of StopLine."),r=this.getHeadingFromStopLine(e)),isNaN(r))return console.error("Error loading traffic light. Unable to determine heading."),null;var a=new d.Vector3(0,0,0);return a.x=_.meanBy(_.values(n),function(e){return e.x}),a.y=_.meanBy(_.values(n),function(e){return e.y}),a=t.applyOffset(a),{pos:a,heading:r}}},{key:"drawStopLine",value:function(e,t,n,r){e.forEach(function(e){e.segment.forEach(function(e){var i=n.applyOffsetToArray(e.lineSegment.point),o=(0,h.drawSegmentsFromPoints)(i,S.PURE_WHITE,5,3,!1);r.add(o),t.push(o)})})}},{key:"addTrafficLight",value:function(e,t,n){var r=[],i=this.getSignalPositionAndHeading(e,t);return i&&(0,M.loadObject)(b.default,w.default,E,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:"getStopSignPositionAndHeading",value:function(e,t){var n=void 0;if(e.overlapId.length>0){var r=e.overlapId[0].id;n=this.laneHeading[this.overlapMap[r]]}if(n||(console.warn("Unable to get stop sign heading, use orthogonal direction of StopLine."),n=this.getHeadingFromStopLine(e)),isNaN(n))return console.error("Error loading traffic light. Unable to determine heading."),null;var i=e.stopLine[0].segment[0].lineSegment.point[0],o=new d.Vector3(i.x,i.y,0);return o=t.applyOffset(o),{pos:o,heading:n}}},{key:"addStopSign",value:function(e,t,n){var r=[],i=this.getStopSignPositionAndHeading(e,t);return i&&(0,M.loadObject)(m.default,v.default,T,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading+Math.PI/2,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:"removeDrewObjects",value:function(e,t){e&&e.forEach(function(e){t.remove(e),e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}},{key:"removeExpiredElements",value:function(e,t){var n=this,r={};for(var i in this.data)!function(i){r[i]=[];var o=n.data[i],a=e[i];o.forEach(function(e){a&&a.includes(e.id.id)?r[i].push(e):(n.removeDrewObjects(e.drewObjects,t),"lane"===i&&delete n.laneHeading[e.id.id])})}(i);this.data=r}},{key:"appendMapData",value:function(e,t,n){for(var r in e){this.data[r]||(this.data[r]=[]);for(var i=0;i.2&&(g-=.7)})}}))}},{key:"getPredCircle",value:function(){var e=new u.MeshBasicMaterial({color:16777215,transparent:!1,opacity:.5}),t=(0,h.drawCircle)(.2,e);return this.predCircles.push(t),t}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l),n(16)),c=r(u),d=n(32),f=(n(39),function(){function e(){(0,o.default)(this,e),this.routePaths=[],this.lastRoutingTime=-1}return(0,s.default)(e,[{key:"update",value:function(e,t,n){var r=this;this.routePaths.forEach(function(e){e.visible=c.default.options.showRouting}),this.lastRoutingTime!==e.routingTime&&(this.lastRoutingTime=e.routingTime,this.routePaths.forEach(function(e){n.remove(e),e.material.dispose(),e.geometry.dispose()}),void 0!==e.routePath&&e.routePath.forEach(function(e){var i=t.applyOffsetToArray(e.point),o=(0,d.drawThickBandFromPoints)(i,.3,16711680,.6,5);o.visible=c.default.options.showRouting,n.add(o),r.routePaths.push(o)}))}}]),e}());t.default=f},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l);n(473);var u=n(461),c=r(u),d=n(31),f=r(d),h=n(16),p=(r(h),n(17)),m=r(p),g=n(32),v=function(){function e(){(0,o.default)(this,e),this.routePoints=[],this.inEditingMode=!1}return(0,s.default)(e,[{key:"isInEditingMode",value:function(){return this.inEditingMode}},{key:"enableEditingMode",value:function(e,t){this.inEditingMode=!0;e.fov=f.default.camera.Map.fov,e.near=f.default.camera.Map.near,e.far=f.default.camera.Map.far,e.updateProjectionMatrix(),m.default.requestMapElementIdsByRadius(this.EDITING_MAP_RADIUS)}},{key:"disableEditingMode",value:function(e){this.inEditingMode=!1,this.removeAllRoutePoints(e)}},{key:"addRoutingPoint",value:function(e,t,n){var r=t.applyOffset({x:e.x,y:e.y}),i=(0,g.drawImage)(c.default,3.5,3.5,r.x,r.y,.3);this.routePoints.push(i),n.add(i)}},{key:"removeLastRoutingPoint",value:function(e){var t=this.routePoints.pop();t&&(e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose())}},{key:"removeAllRoutePoints",value:function(e){this.routePoints.forEach(function(t){e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}),this.routePoints=[]}},{key:"sendRoutingRequest",value:function(e,t){if(0===this.routePoints.length)return alert("Please provide at least an end point."),!1;var n=this.routePoints.map(function(e){return e.position.z=0,t.applyOffset(e.position,!0)}),r=n.length>1?n[0]:t.applyOffset(e,!0),i=n[n.length-1],o=n.length>1?n.slice(1,-1):[];return m.default.requestRoute(r,o,i),!0}}]),e}();t.default=v,v.prototype.EDITING_MAP_RADIUS=1500},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(39),d={},f=!1,h=new u.FontLoader,p="fonts/gentilis_bold.typeface.json";h.load(p,function(e){d.gentilis_bold=e,f=!0},function(e){console.log(p+e.loaded/e.total*100+"% loaded")},function(e){console.log("An error happened when loading "+p)});var m=function(){function e(){(0,o.default)(this,e),this.charMeshes={},this.charPointers={}}return(0,s.default)(e,[{key:"reset",value:function(){this.charPointers={}}},{key:"composeText",value:function(e){if(!f)return null;for(var t=c.map(e,function(e){return e.charCodeAt(0)-32}),n=new u.Object3D,r=0;r0?this.charMeshes[i][0].clone():this.drawChar3D(e[r]),this.charMeshes[i].push(a)),a.position.set(.4*(r-t.length/2),0,0),this.charPointers[i]++,n.add(a)}return n}},{key:"drawChar3D",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.gentilis_bold,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16771584,o=new u.TextGeometry(e,{font:t,size:n,height:r}),a=new u.MeshBasicMaterial({color:i});return new u.Mesh(o,a)}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=new f.default(e);for(var r in t)n.delete(r);return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(58),a=r(o),s=n(0),l=r(s),u=n(1),c=r(u),d=n(238),f=r(d),h=n(10),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(h),m=n(31),g=r(m),v=n(17),y=(r(v),n(57)),b=function(){function e(){(0,l.default)(this,e),this.mesh=!0,this.type="tile",this.hash=-1,this.currentTiles={},this.initialized=!1,this.range=g.default.ground.tileRange,this.metadata=null,this.mapId=null,this.mapUrlPrefix=null}return(0,c.default)(e,[{key:"initialize",value:function(e,t){this.metadata={tileLength:t.tile*t.mpp,left:t.left,top:t.top,numCols:t.wnum,numRows:t.hnum,mpp:t.mpp,tile:t.tile,imageUrl:t.image_url},this.mapId=t.mapid,this.mapUrlPrefix=this.metadata.imageUrl?this.metadata.imageUrl+"/"+this.mapId:e+"/map/getMapPic",this.initialized=!0}},{key:"removeDrewObject",value:function(e,t){var n=this.currentTiles[e];n&&(t.remove(n),n.geometry&&n.geometry.dispose(),n.material&&n.material.dispose()),delete this.currentTiles[e]}},{key:"appendTiles",value:function(e,t,n,r,i){var o=this;if(!(t<0||t>this.metadata.numCols||e<0||e>this.metadata.numRows)){var a=this.metadata.imageUrl?this.mapUrlPrefix+"/"+this.metadata.mpp+"_"+e+"_"+t+"_"+this.metadata.tile+".png":this.mapUrlPrefix+"?mapId="+this.mapId+"&i="+e+"&j="+t,s=r.applyOffset({x:this.metadata.left+(e+.5)*this.metadata.tileLength,y:this.metadata.top-(t+.5)*this.metadata.tileLength,z:0});(0,y.loadTexture)(a,function(e){var t=new p.Mesh(new p.PlaneGeometry(1,1),new p.MeshBasicMaterial({map:e}));t.position.set(s.x,s.y,s.z),t.scale.set(o.metadata.tileLength,o.metadata.tileLength,1),t.overdraw=!1,o.currentTiles[n]=t,i.add(t)})}}},{key:"removeExpiredTiles",value:function(e,t){for(var n in this.currentTiles)e.has(n)||this.removeDrewObject(n,t)}},{key:"updateIndex",value:function(e,t,n,r){if(e!==this.hash){this.hash=e,this.removeExpiredTiles(t,r);var o=i(t,this.currentTiles);if(!_.isEmpty(o)||!this.initialized){var s=!0,l=!1,u=void 0;try{for(var c,d=(0,a.default)(o);!(s=(c=d.next()).done);s=!0){var f=c.value;this.currentTiles[f]=null;var h=f.split(","),p=parseInt(h[0]),m=parseInt(h[1]);this.appendTiles(p,m,f,n,r)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}}}},{key:"update",value:function(e,t,n){if(t.isInitialized()&&this.initialized){for(var r=e.autoDrivingCar.positionX,i=e.autoDrivingCar.positionY,o=Math.floor((r-this.metadata.left)/this.metadata.tileLength),a=Math.floor((this.metadata.top-i)/this.metadata.tileLength),s=new f.default,l="",u=o-this.range;u<=o+this.range;u++)for(var c=a-this.range;c<=a+this.range;c++){var d=u+","+c;s.add(d),l+=d}this.updateIndex(l,s,t,n)}}}]),e}();t.default=b},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)return[];for(var n=[],r=0;r0){if(Math.abs(n[n.length-1].x-o.x)+Math.abs(n[n.length-1].y-o.y)1e-4?t.length/Math.tan(n):1e5;var i=t.heading,o=Math.abs(r),a=7200/(2*Math.PI*o)*Math.PI/180,s=null,l=null,u=null,c=null;r>=0?(u=Math.PI/2+i,c=i-Math.PI/2,s=0,l=a):(u=i-Math.PI/2,c=Math.PI/2+i,s=-a,l=0);var d=t.positionX+Math.cos(u)*o,f=t.positionY+Math.sin(u)*o,h=new v.EllipseCurve(d,f,o,o,s,l,!1,c);e.steerCurve=h.getPoints(25)}},{key:"interpolateValueByCurrentTime",value:function(e,t,n){if("timestampSec"===n)return t;var r=e.map(function(e){return e.timestampSec}),i=e.map(function(e){return e[n]});return new v.LinearInterpolant(r,i,1,[]).evaluate(t)[0]}},{key:"updateGraph",value:function(e,t,n,r,i){var o=n.timestampSec,a=e.target.length>0&&o=80;if(a?(e.target=[],e.real=[],e.autoModeZone=[]):s&&(e.target.shift(),e.real.shift(),e.autoModeZone.shift()),0===e.target.length||o!==e.target[e.target.length-1].t){e.plan=t.map(function(e){return{x:e[r],y:e[i]}}),e.target.push({x:this.interpolateValueByCurrentTime(t,o,r),y:this.interpolateValueByCurrentTime(t,o,i),t:o}),e.real.push({x:n[r],y:n[i]});var l="DISENGAGE_NONE"===n.disengageType;e.autoModeZone.push({x:n[r],y:l?n[i]:void 0})}}},{key:"update",value:function(e){var t=e.planningTrajectory,n=e.autoDrivingCar;t&&n&&(this.updateGraph(this.data.speedGraph,t,n,"timestampSec","speed"),this.updateGraph(this.data.accelerationGraph,t,n,"timestampSec","speedAcceleration"),this.updateGraph(this.data.curvatureGraph,t,n,"timestampSec","kappa"),this.updateGraph(this.data.trajectoryGraph,t,n,"positionX","positionY"),this.updateSteerCurve(this.data.trajectoryGraph,n),this.data.trajectoryGraph.pose[0].x=n.positionX,this.data.trajectoryGraph.pose[0].y=n.positionY,this.data.trajectoryGraph.pose[0].rotation=n.heading,this.updateTime(e.planningTime))}}]),e}(),s=o(a.prototype,"lastUpdatedTime",[g.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,"updateTime",[g.action],(0,d.default)(a.prototype,"updateTime"),a.prototype),a);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,m.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h,p=n(18),m=r(p),g=n(24),v=r(g),y=n(35),b=r(y),x=n(0),_=r(x),w=n(1),M=r(w),S=n(22),E=n(17),T=r(E),k=(a=function(){function e(){(0,_.default)(this,e),this.modes={},i(this,"currentMode",s,this),this.vehicles=[],i(this,"currentVehicle",l,this),this.maps=[],i(this,"currentMap",u,this),i(this,"moduleStatus",c,this),i(this,"hardwareStatus",d,this),i(this,"enableStartAuto",f,this),this.displayName={},i(this,"dockerImage",h,this)}return(0,M.default)(e,[{key:"initialize",value:function(e){var t=this;e.dockerImage&&(this.dockerImage=e.dockerImage),e.modes&&(this.modes=e.modes),this.vehicles=(0,b.default)(e.availableVehicles).sort().map(function(e){return e}),this.maps=(0,b.default)(e.availableMaps).sort().map(function(e){return e}),(0,b.default)(e.modules).forEach(function(n){t.moduleStatus.set(n,!1),t.displayName[n]=e.modules[n].displayName}),(0,b.default)(e.hardware).forEach(function(n){t.hardwareStatus.set(n,"NOT_READY"),t.displayName[n]=e.hardware[n].displayName})}},{key:"updateStatus",value:function(e){if(e.currentMode&&(this.currentMode=e.currentMode),e.currentMap&&(this.currentMap=e.currentMap),e.currentVehicle&&(this.currentVehicle=e.currentVehicle),e.systemStatus){if(e.systemStatus.modules)for(var t in e.systemStatus.modules)this.moduleStatus.set(t,e.systemStatus.modules[t].processStatus.running);if(e.systemStatus.hardware)for(var n in e.systemStatus.hardware)this.hardwareStatus.set(n,e.systemStatus.hardware[n].summary)}}},{key:"update",value:function(e){this.enableStartAuto="READY_TO_ENGAGE"===e.engageAdvice}},{key:"toggleModule",value:function(e){this.moduleStatus.set(e,!this.moduleStatus.get(e));var t=this.moduleStatus.get(e)?"start":"stop";T.default.executeModuleCommand(e,t)}},{key:"showRTKCommands",get:function(){return"RTK Record / Replay"===this.currentMode}},{key:"showNavigationMap",get:function(){return"Navigation"===this.currentMode}}]),e}(),s=o(a.prototype,"currentMode",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),l=o(a.prototype,"currentVehicle",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),u=o(a.prototype,"currentMap",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),c=o(a.prototype,"moduleStatus",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),d=o(a.prototype,"hardwareStatus",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),f=o(a.prototype,"enableStartAuto",[S.observable],{enumerable:!0,initializer:function(){return!1}}),h=o(a.prototype,"dockerImage",[S.observable],{enumerable:!0,initializer:function(){return""}}),o(a.prototype,"initialize",[S.action],(0,v.default)(a.prototype,"initialize"),a.prototype),o(a.prototype,"updateStatus",[S.action],(0,v.default)(a.prototype,"updateStatus"),a.prototype),o(a.prototype,"update",[S.action],(0,v.default)(a.prototype,"update"),a.prototype),o(a.prototype,"toggleModule",[S.action],(0,v.default)(a.prototype,"toggleModule"),a.prototype),o(a.prototype,"showRTKCommands",[S.computed],(0,v.default)(a.prototype,"showRTKCommands"),a.prototype),o(a.prototype,"showNavigationMap",[S.computed],(0,v.default)(a.prototype,"showNavigationMap"),a.prototype),a);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,b.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}function a(e){return 10*Math.round(e/10)}function s(e){switch(e){case"DISENGAGE_MANUAL":return"MANUAL";case"DISENGAGE_NONE":return"AUTO";case"DISENGAGE_EMERGENCY":return"DISENGAGED";case"DISENGAGE_AUTO_STEER_ONLY":return"AUTO STEER";case"DISENGAGE_AUTO_SPEED_ONLY":return"AUTO SPEED";case"DISENGAGE_CHASSIS_ERROR":return"CHASSIS ERROR";default:return"?"}}function l(e){return"DISENGAGE_NONE"===e||"DISENGAGE_AUTO_STEER_ONLY"===e||"DISENGAGE_AUTO_SPEED_ONLY"===e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u,c,d,f,h,p,m,g,v,y=n(18),b=r(y),x=n(24),_=r(x),w=n(0),M=r(w),S=n(1),E=r(S),T=n(22),k=(u=function(){function e(){(0,M.default)(this,e),i(this,"throttlePercent",c,this),i(this,"brakePercent",d,this),i(this,"speed",f,this),i(this,"steeringAngle",h,this),i(this,"steeringPercentage",p,this),i(this,"drivingMode",m,this),i(this,"isAutoMode",g,this),i(this,"turnSignal",v,this)}return(0,E.default)(e,[{key:"update",value:function(e){e.autoDrivingCar&&(void 0!==e.autoDrivingCar.throttlePercentage&&(this.throttlePercent=a(e.autoDrivingCar.throttlePercentage)),void 0!==e.autoDrivingCar.brakePercentage&&(this.brakePercent=a(e.autoDrivingCar.brakePercentage)),void 0!==e.autoDrivingCar.speed&&(this.speed=e.autoDrivingCar.speed),void 0===e.autoDrivingCar.steeringPercentage||isNaN(e.autoDrivingCar.steeringPercentage)||(this.steeringPercentage=Math.round(e.autoDrivingCar.steeringPercentage)),void 0===e.autoDrivingCar.steeringAngle||isNaN(e.autoDrivingCar.steeringAngle)||(this.steeringAngle=-Math.round(180*e.autoDrivingCar.steeringAngle/Math.PI)),void 0!==e.autoDrivingCar.disengageType&&(this.drivingMode=s(e.autoDrivingCar.disengageType),this.isAutoMode=l(e.autoDrivingCar.disengageType)),void 0!==e.autoDrivingCar.currentSignal&&(this.turnSignal=e.autoDrivingCar.currentSignal))}}]),e}(),c=o(u.prototype,"throttlePercent",[T.observable],{enumerable:!0,initializer:function(){return 0}}),d=o(u.prototype,"brakePercent",[T.observable],{enumerable:!0,initializer:function(){return 0}}),f=o(u.prototype,"speed",[T.observable],{enumerable:!0,initializer:function(){return 0}}),h=o(u.prototype,"steeringAngle",[T.observable],{enumerable:!0,initializer:function(){return 0}}),p=o(u.prototype,"steeringPercentage",[T.observable],{enumerable:!0,initializer:function(){return 0}}),m=o(u.prototype,"drivingMode",[T.observable],{enumerable:!0,initializer:function(){return"?"}}),g=o(u.prototype,"isAutoMode",[T.observable],{enumerable:!0,initializer:function(){return!1}}),v=o(u.prototype,"turnSignal",[T.observable],{enumerable:!0,initializer:function(){return""}}),o(u.prototype,"update",[T.action],(0,_.default)(u.prototype,"update"),u.prototype),u);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,d.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c=n(18),d=r(c),f=n(24),h=r(f),p=n(0),m=r(p),g=n(1),v=r(g),y=n(22),b=(a=function(){function e(){(0,m.default)(this,e),i(this,"lastUpdateTimestamp",s,this),i(this,"hasActiveNotification",l,this),i(this,"items",u,this),this.refreshTimer=null}return(0,v.default)(e,[{key:"startRefresh",value:function(){var e=this;this.clearRefreshTimer(),this.refreshTimer=setInterval(function(){Date.now()-e.lastUpdateTimestamp>6e3&&(e.setHasActiveNotification(!1),e.clearRefreshTimer())},500)}},{key:"clearRefreshTimer",value:function(){null!==this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}},{key:"setHasActiveNotification",value:function(e){this.hasActiveNotification=e}},{key:"update",value:function(e){if(e.monitor){var t=e.monitor,n=t.item,r=t.header,i=Math.floor(1e3*r.timestampSec);i>this.lastUpdateTimestamp&&(this.hasActiveNotification=!0,this.lastUpdateTimestamp=i,this.items.replace(n),this.startRefresh())}}},{key:"insert",value:function(e,t,n){var r=[];r.push({msg:t,logLevel:e});for(var i=0;i10||e<-10?100*e/Math.abs(e):e}},{key:"extractDataPoints",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!e)return[];var o=e.map(function(e){return{x:e[t]+i,y:e[n]}});return r&&e.length&&o.push({x:e[0][t],y:e[0][n]}),o}},{key:"updateSLFrame",value:function(e){var t=this.data.slGraph,n=e[0].sampledS;t.mapLowerBound=this.generateDataPoints(n,e[0].mapLowerBound,this.transformMapBound),t.mapUpperBound=this.generateDataPoints(n,e[0].mapUpperBound,this.transformMapBound),t.staticObstacleLowerBound=this.generateDataPoints(n,e[0].staticObstacleLowerBound),t.staticObstacleUpperBound=this.generateDataPoints(n,e[0].staticObstacleUpperBound),t.dynamicObstacleLowerBound=this.generateDataPoints(n,e[0].dynamicObstacleLowerBound),t.dynamicObstacleUpperBound=this.generateDataPoints(n,e[0].dynamicObstacleUpperBound),t.pathLine=this.extractDataPoints(e[0].slPath,"s","l");var r=e[1].aggregatedBoundaryS;t.aggregatedBoundaryLow=this.generateDataPoints(r,e[1].aggregatedBoundaryLow),t.aggregatedBoundaryHigh=this.generateDataPoints(r,e[1].aggregatedBoundaryHigh)}},{key:"updateSTGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.stGraph[a.name]={obstaclesBoundary:{}};var s=this.data.stGraph[a.name];if(a.boundary){var l=!0,u=!1,c=void 0;try{for(var d,f=(0,h.default)(a.boundary);!(l=(d=f.next()).done);l=!0){var p=d.value,m=p.type.substring("ST_BOUNDARY_TYPE_".length),g=p.name+"_"+m;s.obstaclesBoundary[g]=this.extractDataPoints(p.point,"t","s",!0)}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}s.curveLine=this.extractDataPoints(a.speedProfile,"t","s"),a.kernelCruiseRef&&(s.kernelCruise=this.generateDataPoints(a.kernelCruiseRef.t,a.kernelCruiseRef.cruiseLineS)),a.kernelFollowRef&&(s.kernelFollow=this.generateDataPoints(a.kernelFollowRef.t,a.kernelFollowRef.followLineS))}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updateSTSpeedGraph",value:function(e){var t=this,n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e);!(n=(o=a.next()).done);n=!0){var s=o.value;this.data.stSpeedGraph[s.name]={};var l=this.data.stSpeedGraph[s.name];l.limit=this.extractDataPoints(s.speedLimit,"s","v"),l.planned=this.extractDataPoints(s.speedProfile,"s","v"),s.speedConstraint&&function(){var e=s.speedProfile.map(function(e){return e.t}),n=s.speedProfile.map(function(e){return e.s}),r=new b.LinearInterpolant(e,n,1,[]),i=s.speedConstraint.t.map(function(e){return r.evaluate(e)[0]});l.lowerConstraint=t.generateDataPoints(i,s.speedConstraint.lowerBound),l.upperConstraint=t.generateDataPoints(i,s.speedConstraint.upperBound)}()}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}},{key:"updateSpeed",value:function(e,t){var n=this.data.speedGraph;if(e){var r=!0,i=!1,o=void 0;try{for(var a,s=(0,h.default)(e);!(r=(a=s.next()).done);r=!0){var l=a.value;n[l.name]=this.extractDataPoints(l.speedPoint,"t","v")}}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}}t&&(n.finalSpeed=this.extractDataPoints(t,"timestampSec","speed",!1,-this.planningTime))}},{key:"updateAccelerationGraph",value:function(e){var t=this.data.accelerationGraph;e&&(t.acceleration=this.extractDataPoints(e,"timestampSec","speedAcceleration",!1,-this.planningTime))}},{key:"updateKappaGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.kappaGraph[a.name]=this.extractDataPoints(a.pathPoint,"s","kappa")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updateDkappaGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.dkappaGraph[a.name]=this.extractDataPoints(a.pathPoint,"s","dkappa")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updadteLatencyGraph",value:function(e,t){for(var n in this.latencyGraph){var r=this.latencyGraph[n];if(r.length>0){var i=r[0].x,o=r[r.length-1].x,a=e-i;e3e5&&r.shift()}0!==r.length&&r[r.length-1].x===e||r.push({x:e,y:t.planning})}}},{key:"updateDpPolyGraph",value:function(e){var t=this.data.dpPolyGraph;if(e.sampleLayer){t.sampleLayer=[];var n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e.sampleLayer);!(n=(o=a.next()).done);n=!0){o.value.slPoint.map(function(e){var n=e.s,r=e.l;t.sampleLayer.push({x:n,y:r})})}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}e.minCostPoint&&(t.minCostPoint=this.extractDataPoints(e.minCostPoint,"s","l"))}},{key:"update",value:function(e){var t=e.planningData;if(t){if(this.planningTime===e.planningTime)return;this.data=this.initData(),t.slFrame&&t.slFrame.length>=2&&this.updateSLFrame(t.slFrame),t.stGraph&&(this.updateSTGraph(t.stGraph),this.updateSTSpeedGraph(t.stGraph)),t.speedPlan&&e.planningTrajectory&&this.updateSpeed(t.speedPlan,e.planningTrajectory),e.planningTrajectory&&this.updateAccelerationGraph(e.planningTrajectory),t.path&&(this.updateKappaGraph(t.path),this.updateDkappaGraph(t.path)),t.dpPolyGraph&&this.updateDpPolyGraph(t.dpPolyGraph),e.latency&&this.updadteLatencyGraph(e.planningTime,e.latency),this.updatePlanningTime(e.planningTime)}}}]),e}(),s=o(a.prototype,"planningTime",[y.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,"updatePlanningTime",[y.action],(0,d.default)(a.prototype,"updatePlanningTime"),a.prototype),a);t.default=x},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,p.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h=n(18),p=r(h),m=n(24),g=r(m),v=n(0),y=r(v),b=n(1),x=r(b),_=n(22);n(476);var w=(a=function(){function e(){(0,y.default)(this,e),this.FPS=10,this.msPerFrame=100,this.jobId=null,this.mapId=null,i(this,"numFrames",s,this),i(this,"requestedFrame",l,this),i(this,"retrievedFrame",u,this),i(this,"isPlaying",c,this),i(this,"isSeeking",d,this),i(this,"seekingFrame",f,this)}return(0,x.default)(e,[{key:"setMapId",value:function(e){this.mapId=e}},{key:"setJobId",value:function(e){this.jobId=e}},{key:"setNumFrames",value:function(e){this.numFrames=parseInt(e)}},{key:"setPlayRate",value:function(e){if("number"==typeof e&&e>0){var t=1/this.FPS*1e3;this.msPerFrame=t/e}}},{key:"initialized",value:function(){return this.numFrames&&null!==this.jobId&&null!==this.mapId}},{key:"hasNext",value:function(){return this.initialized()&&this.requestedFrame0&&e<=this.numFrames&&(this.seekingFrame=e,this.requestedFrame=e-1,this.isSeeking=!0)}},{key:"resetFrame",value:function(){this.requestedFrame=0,this.retrievedFrame=0,this.seekingFrame=1}},{key:"shouldProcessFrame",value:function(e){return!(!e||!e.sequenceNum||this.seekingFrame!==e.sequenceNum||!this.isPlaying&&!this.isSeeking)&&(this.retrievedFrame=e.sequenceNum,this.isSeeking=!1,this.seekingFrame++,!0)}},{key:"currentFrame",get:function(){return this.retrievedFrame}},{key:"replayComplete",get:function(){return this.seekingFrame>this.numFrames}}]),e}(),s=o(a.prototype,"numFrames",[_.observable],{enumerable:!0,initializer:function(){return 0}}),l=o(a.prototype,"requestedFrame",[_.observable],{enumerable:!0,initializer:function(){return 0}}),u=o(a.prototype,"retrievedFrame",[_.observable],{enumerable:!0,initializer:function(){return 0}}),c=o(a.prototype,"isPlaying",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=o(a.prototype,"isSeeking",[_.observable],{enumerable:!0,initializer:function(){return!0}}),f=o(a.prototype,"seekingFrame",[_.observable],{enumerable:!0,initializer:function(){return 1}}),o(a.prototype,"next",[_.action],(0,g.default)(a.prototype,"next"),a.prototype),o(a.prototype,"currentFrame",[_.computed],(0,g.default)(a.prototype,"currentFrame"),a.prototype),o(a.prototype,"replayComplete",[_.computed],(0,g.default)(a.prototype,"replayComplete"),a.prototype),o(a.prototype,"setPlayAction",[_.action],(0,g.default)(a.prototype,"setPlayAction"),a.prototype),o(a.prototype,"seekFrame",[_.action],(0,g.default)(a.prototype,"seekFrame"),a.prototype),o(a.prototype,"resetFrame",[_.action],(0,g.default)(a.prototype,"resetFrame"),a.prototype),o(a.prototype,"shouldProcessFrame",[_.action],(0,g.default)(a.prototype,"shouldProcessFrame"),a.prototype),a);t.default=w},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,c.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u=n(18),c=r(u),d=n(24),f=r(d),h=n(0),p=r(h),m=n(1),g=r(m),v=n(22),y=n(40),b=r(y),x=(a=function(){function e(){(0,p.default)(this,e),i(this,"defaultRoutingEndPoint",s,this),i(this,"currentPOI",l,this)}return(0,g.default)(e,[{key:"updateDefaultRoutingEndPoint",value:function(e){if(void 0!==e.poi){this.defaultRoutingEndPoint={};for(var t=0;t150&&console.log("Last sim_world_update took "+(e.timestamp-this.lastUpdateTimestamp)+"ms"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.world.sequenceNum>this.lastSeqNum+1&&console.debug("Last seq: "+this.lastSeqNum+". New seq: "+e.world.sequenceNum+"."),this.lastSeqNum=e.world.sequenceNum}},{key:"startPlayback",value:function(e){var t=this;clearInterval(this.requestTimer),this.requestTimer=setInterval(function(){t.websocket.readyState===t.websocket.OPEN&&f.default.playback.initialized()&&(t.requestSimulationWorld(f.default.playback.jobId,f.default.playback.next()),f.default.playback.hasNext()||(clearInterval(t.requestTimer),t.requestTimer=null))},e/2),clearInterval(this.processTimer),this.processTimer=setInterval(function(){if(f.default.playback.initialized()){var e=100*f.default.playback.seekingFrame;e in t.frameData&&t.processSimWorld(t.frameData[e]),f.default.playback.replayComplete&&(clearInterval(t.processTimer),t.processTimer=null)}},e)}},{key:"pausePlayback",value:function(){clearInterval(this.requestTimer),clearInterval(this.processTimer),this.requestTimer=null,this.processTimer=null}},{key:"requestGroundMeta",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveGroundMeta",mapId:e}))}},{key:"processSimWorld",value:function(e){var t="string"==typeof e.world?JSON.parse(e.world):e.world;f.default.playback.shouldProcessFrame(t)&&(f.default.updateTimestamp(e.timestamp),p.default.maybeInitializeOffest(t.autoDrivingCar.positionX,t.autoDrivingCar.positionY),p.default.updateWorld(t,e.planningData),f.default.meters.update(t),f.default.monitor.update(t),f.default.trafficSignal.update(t))}},{key:"requstFrameCount",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveFrameCount",jobId:e}))}},{key:"requestSimulationWorld",value:function(e,t){var n=100*t;n in this.frameData?f.default.playback.isSeeking&&this.processSimWorld(this.frameData[n]):this.websocket.send((0,o.default)({type:"RequestSimulationWorld",jobId:e,frameId:t}))}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(70),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(16),d=r(c),f=n(40),h=r(f),p=n(136),m=p.Root.fromJSON(n(479)),g=m.lookupType("apollo.dreamview.SimulationWorld"),v=function(){function e(t){(0,s.default)(this,e),this.serverAddr=t,this.websocket=null,this.counter=0,this.lastUpdateTimestamp=0,this.lastSeqNum=-1,this.currMapRadius=null,this.updatePOI=!0}return(0,u.default)(e,[{key:"initialize",value:function(){var e=this;this.counter=0;try{this.websocket=new WebSocket(this.serverAddr),this.websocket.binaryType="arraybuffer"}catch(t){return console.error("Failed to establish a connection: "+t),void setTimeout(function(){e.initialize()},1e3)}this.websocket.onmessage=function(t){var n=null;switch("string"==typeof t.data?n=JSON.parse(t.data):(n=g.toObject(g.decode(new Uint8Array(t.data)),{enums:String}),n.type="SimWorldUpdate"),n.type){case"HMIConfig":d.default.hmi.initialize(n.data);break;case"HMIStatus":d.default.hmi.updateStatus(n.data),h.default.updateGroundImage(d.default.hmi.currentMap);break;case"SimWorldUpdate":e.checkMessage(n),d.default.updateTimestamp(n.timestamp),d.default.updateModuleDelay(n),h.default.maybeInitializeOffest(n.autoDrivingCar.positionX,n.autoDrivingCar.positionY),d.default.meters.update(n),d.default.monitor.update(n),d.default.trafficSignal.update(n),d.default.hmi.update(n),h.default.updateWorld(n),d.default.options.showPNCMonitor&&(d.default.planningData.update(n),d.default.controlData.update(n)),n.mapHash&&e.counter%10==0&&(e.counter=0,e.currMapRadius=n.mapRadius,h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius)),e.counter+=1;break;case"MapElementIds":h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius);break;case"DefaultEndPoint":d.default.routeEditingManager.updateDefaultRoutingEndPoint(n)}},this.websocket.onclose=function(t){console.log("WebSocket connection closed, close_code: "+t.code),e.initialize()},clearInterval(this.timer),this.timer=setInterval(function(){if(e.websocket.readyState===e.websocket.OPEN){e.updatePOI&&(e.requestDefaultRoutingEndPoint(),e.updatePOI=!1);var t=d.default.options.showPNCMonitor;e.websocket.send((0,o.default)({type:"RequestSimulationWorld",planning:t}))}},100)}},{key:"checkMessage",value:function(e){0!==this.lastUpdateTimestamp&&e.timestamp-this.lastUpdateTimestamp>150&&console.log("Last sim_world_update took "+(e.timestamp-this.lastUpdateTimestamp)+"ms"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.sequenceNum>this.lastSeqNum+1&&console.debug("Last seq: "+this.lastSeqNum+". New seq: "+e.sequenceNum+"."),this.lastSeqNum=e.sequenceNum}},{key:"requestMapElementIdsByRadius",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveMapElementIdsByRadius",radius:e}))}},{key:"requestRoute",value:function(e,t,n){this.websocket.send((0,o.default)({type:"SendRoutingRequest",start:e,end:n,waypoint:t}))}},{key:"requestDefaultRoutingEndPoint",value:function(){this.websocket.send((0,o.default)({type:"GetDefaultEndPoint"}))}},{key:"resetBackend",value:function(){this.websocket.send((0,o.default)({type:"Reset"}))}},{key:"dumpMessages",value:function(){this.websocket.send((0,o.default)({type:"Dump"}))}},{key:"changeSetupMode",value:function(e){this.websocket.send((0,o.default)({type:"ChangeMode",new_mode:e}))}},{key:"changeMap",value:function(e){this.websocket.send((0,o.default)({type:"ChangeMap",new_map:e})),this.updatePOI=!0}},{key:"changeVehicle",value:function(e){this.websocket.send((0,o.default)({type:"ChangeVehicle",new_vehicle:e}))}},{key:"executeModeCommand",value:function(e){this.websocket.send((0,o.default)({type:"ExecuteModeCommand",command:e}))}},{key:"executeModuleCommand",value:function(e,t){this.websocket.send((0,o.default)({type:"ExecuteModuleCommand",module:e,command:t}))}},{key:"executeToolCommand",value:function(e,t){this.websocket.send((0,o.default)({type:"ExecuteToolCommand",tool:e,command:t}))}},{key:"changeDrivingMode",value:function(e){this.websocket.send((0,o.default)({type:"ChangeDrivingMode",new_mode:e}))}},{key:"submitDriveEvent",value:function(e,t){this.websocket.send((0,o.default)({type:"SubmitDriveEvent",event_time_ms:e,event_msg:t}))}},{key:"toggleSimControl",value:function(e){this.websocket.send((0,o.default)({type:"ToggleSimControl",enable:e}))}}]),e}();t.default=v},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'body{margin:0;overflow:hidden;background-color:#14171a!important;font:14px Lucida Grande,Helvetica,Arial,sans-serif;color:#fff}::-webkit-scrollbar{width:4px;height:8px;opacity:.3;background-color:#fff}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}::-webkit-scrollbar-thumb{opacity:.8;background-color:#30a5ff}::-webkit-scrollbar-thumb:active{background-color:#30a5ff}.header{display:flex;align-items:center;z-index:100;position:relative;top:0;left:0;height:60px;background:#000;color:#fff;font-size:16px;text-align:left}@media (max-height:800px){.header{height:55px;font-size:14px}}.header .apollo-logo{flex:0 0 auto;top:40px;left:40px;height:40px;width:121px;margin:10px auto 5px 18px}@media (max-height:800px){.header .apollo-logo{top:15px;left:25px;height:25px;width:80px;margin-top:5px}}.header .selector{flex:0 0 auto;position:relative;margin:5px;border:1px solid #383838}.header .selector select{display:block;border:none;padding:.5em 3em .5em .5em;background:#000;color:#fff;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header .selector .arrow{position:absolute;top:0;right:0;width:30px;height:100%;border-left:1px solid #383838;background:#181818;pointer-events:none}.header .selector .arrow:before{position:absolute;top:55%;right:7px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:"";pointer-events:none}.pane-container{position:absolute;width:100%;height:calc(100% - 60px)}@media (max-height:800px){.pane-container{height:calc(100% - 55px)}}.pane-container .left-pane{display:flex;flex-flow:row nowrap;align-items:stretch;position:absolute;bottom:0;top:0;width:100%}.pane-container .left-pane .dreamview-body{display:flex;flex-flow:column nowrap;flex:1 1 auto;overflow:hidden}.pane-container .left-pane .dreamview-body .main-view{flex:0 0 auto;position:relative}.pane-container .right-pane{position:absolute;right:0;width:100%;height:100%;overflow:hidden}.pane-container .right-pane ::-webkit-scrollbar{width:6px}.pane-container .SplitPane .Resizer{background:#000;opacity:.2;z-index:1;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-background-clip:padding;-webkit-background-clip:padding;background-clip:padding-box}.pane-container .SplitPane .Resizer:hover{-webkit-transition:all 2s ease;transition:all 2s ease}.pane-container .SplitPane .Resizer.vertical{width:11px;margin:0 -5px;border-left:5px solid hsla(0,0%,100%,0);border-right:5px solid hsla(0,0%,100%,0);cursor:col-resize}.pane-container .SplitPane .Resizer.vertical:hover{border-left:5px solid rgba(0,0,0,.5);border-right:5px solid rgba(0,0,0,.5)}.pane-container .SplitPane .Resizer.disabled{cursor:auto}.pane-container .SplitPane .Resizer.disabled:hover{border-color:transparent}.offlineview{display:flex;flex-flow:column nowrap;position:absolute;width:100%;height:100%}.offlineview .main-view{flex:0 0 auto;position:relative}.dreamview-canvas{z-index:1;position:absolute}.dreamview-canvas .geolocation{z-index:10;position:absolute;bottom:10px;right:10px;color:#fff}.hidden{display:none}.tools{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;margin-top:3px;overflow:hidden}.tools .card{flex:1 1 auto;border-right:3px solid #000;padding:25px 10px 25px 20px;background:#1d2226}@media (max-height:800px){.tools .card{padding:15px 5px 15px 15px}}.tools .card .card-header{width:100%;padding-bottom:15px;font-size:18px}.tools .card .card-header span{width:200px;border-bottom:1px solid #999;padding:10px 10px 10px 0}@media (max-height:800px){.tools .card .card-header{font-size:16px}}.tools .card .card-content-row{display:flex;flex-flow:row wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;height:85%}.tools .card .card-content-column{display:flex;flex-flow:column nowrap;overflow-x:hidden;overflow-y:auto;height:85%}.tools ul{flex:0 0 auto;margin:0 2px 0 0;padding-left:0;padding-right:5px;background-color:#1d2226;color:#999;list-style:none;cursor:pointer;font-size:12px}.tools ul li{line-height:40px}.tools ul li span{padding-left:20px}.tools ul li:hover{color:#fff;background-color:#2a3238}.tools .switch{display:inline-block;position:relative;width:40px;transform:translate(35%,25%)}.tools .switch .toggle-switch{display:none}.tools .switch .toggle-switch-label{display:block;overflow:hidden;cursor:pointer;height:20px;padding:0;line-height:20px;border:0;background-color:#3f4548;transition:background-color .2s ease-in}.tools .switch .toggle-switch-label:before{content:"";display:block;width:16px;margin:2px;background:#a0a0a0;position:absolute;top:0;bottom:0;right:20px;transition:all .2s ease-in}.tools .switch .toggle-switch:checked+.toggle-switch-label{background-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label,.tools .switch .toggle-switch:checked+.toggle-switch-label:before{border-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label:before{right:0;background-color:#30a5ff}.tools .switch .toggle-switch:disabled+.toggle-switch-label,.tools .switch .toggle-switch:disabled+.toggle-switch-label:before{cursor:not-allowed}.tools .nav-side-menu{display:flex;flex-flow:row nowrap;align-items:stretch;flex:2 1 auto;z-index:10!important;margin-right:3px;overflow-y:hidden;overflow-x:auto;background:#1d2226;font-size:14px;color:#fff;text-align:left;white-space:nowrap}.tools .nav-side-menu .summary{line-height:50px}@media (max-height:800px){.tools .nav-side-menu .summary{line-height:25px}}.tools .nav-side-menu .summary img{position:relative;width:30px;height:30px;transform:translate(-30%,25%)}@media (max-height:800px){.tools .nav-side-menu .summary img{width:15px;height:15px;transform:translate(-50%,10%)}}.tools .nav-side-menu .summary span{padding-left:10px}.tools .nav-side-menu input[type=radio]{display:none}.tools .nav-side-menu .radio-selector-label{display:inline-block;position:relative;transform:translate(65%,30%);box-sizing:border-box;-webkit-box-sizing:border-box;width:25px;height:25px;margin-right:6px;border-radius:50%;-webkit-border-radius:50%;background-color:#a0a0a0;box-shadow:inset 1px 0 #a0a0a0;border:7px solid #3f4548}.tools .nav-side-menu input[type=radio]:checked+.radio-selector-label{border:7px solid #0e3d62;background-color:#30a5ff}.tools .console{z-index:10;position:relative;min-width:230px;margin:0;border:none;padding:0;overflow-y:auto;overflow-x:hidden}.tools .console .monitor-item{display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default}.tools .console .monitor-item .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.tools .console .monitor-item .icon{height:15px;width:15px}}.tools .console .monitor-item .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.tools .console .monitor-item .alert{color:#d7466f}.tools .console .monitor-item .warn{color:#a3842d}.tools .poi-button{min-width:250px}.side-bar{display:flex;flex-direction:column;flex:0 0 auto;z-index:100;background:#1d2226;border-right:3px solid #000;overflow-y:auto;overflow-x:hidden}.side-bar .main-panel{margin-bottom:auto}.side-bar button:focus{outline:0}.side-bar .button{display:block;width:90px;border:none;padding:20px 10px;font-size:14px;text-align:center;background:#1d2226;color:#fff;opacity:.6;cursor:pointer}@media (max-height:800px){.side-bar .button{font-size:12px;width:80px;padding-top:10px}}.side-bar .button .icon{width:30px;height:30px;margin:auto}.side-bar .button .label{padding-top:10px}@media (max-height:800px){.side-bar .button .label{padding-top:4px}}.side-bar .button:first-child{padding-top:25px}@media (max-height:800px){.side-bar .button:first-child{padding-top:10px}}.side-bar .button:disabled{color:#414141;cursor:not-allowed}.side-bar .button:disabled .icon{opacity:.2}.side-bar .button-active{background:#2a3238;opacity:1;color:#fff}.side-bar .sub-button{display:block;width:90px;height:80px;border:none;padding:20px;font-size:14px;text-align:center;background:#3e4041;color:#999;cursor:pointer}@media (max-height:800px){.side-bar .sub-button{font-size:12px;width:80px;height:60px}}.side-bar .sub-button:disabled{cursor:not-allowed;opacity:.3}.side-bar .sub-button-active{background:#30a5ff;color:#fff}.status-bar{z-index:10;position:absolute;top:0;left:0;width:100%}.status-bar .auto-meter{position:absolute;width:224px;height:112px;top:10px;right:20px;background:rgba(0,0,0,.8)}.status-bar .auto-meter .speed-read{position:absolute;top:27px;left:15px;font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .auto-meter .speed-unit{position:absolute;top:66px;left:17px;color:#fff;font-size:15px}.status-bar .auto-meter .brake-panel{position:absolute;top:21px;right:2px}.status-bar .auto-meter .throttle-panel{position:absolute;top:61px;right:2px}.status-bar .auto-meter .meter-container .meter-label{font-size:13px;color:#fff}.status-bar .auto-meter .meter-container .meter-head{display:inline-block;position:absolute;margin:5px 0 0;border-width:4px;border-style:solid}.status-bar .auto-meter .meter-container .meter-background{position:relative;display:block;height:2px;width:120px;margin:8px}.status-bar .auto-meter .meter-container .meter-background span{position:relative;overflow:hidden;display:block;height:100%}.status-bar .wheel-panel{display:flex;flex-direction:row;justify-content:left;align-items:center;position:absolute;top:128px;right:20px;width:187px;height:92px;padding:10px 22px 10px 15px;background:rgba(0,0,0,.8)}.status-bar .wheel-panel .steerangle-read{font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .wheel-panel .steerangle-unit{padding:20px 10px 0 3px;color:#fff;font-size:13px}.status-bar .wheel-panel .left-arrow{position:absolute;top:45px;right:115px;width:0;height:0;border-style:solid;border-width:12px 15px 12px 0;border-color:transparent}.status-bar .wheel-panel .right-arrow{position:absolute;top:45px;right:15px;width:0;height:0;border-style:solid;border-width:12px 0 12px 15px;border-color:transparent transparent transparent #30435e}.status-bar .wheel-panel .wheel{position:absolute;top:15px;right:33px}.status-bar .wheel-panel .wheel-background{stroke-width:3px;stroke:#006aff}.status-bar .wheel-panel .wheel-arm{stroke-width:3px;stroke:#006aff;fill:#006aff}.status-bar .traffic-light-and-driving-mode{position:absolute;top:246px;right:20px;width:224px;height:35px;font-size:14px}.status-bar .traffic-light-and-driving-mode .traffic-light{position:absolute;width:116px;height:35px;background:rgba(0,0,0,.8)}.status-bar .traffic-light-and-driving-mode .traffic-light .symbol{position:relative;top:4px;left:4px;width:28px;height:28px}.status-bar .traffic-light-and-driving-mode .traffic-light .text{position:absolute;top:10px;right:8px;color:#fff}.status-bar .traffic-light-and-driving-mode .driving-mode{position:absolute;top:0;right:0;width:105px;height:35px}.status-bar .traffic-light-and-driving-mode .driving-mode .text{position:absolute;top:50%;left:50%;float:right;transform:translate(-50%,-50%);text-align:center}.status-bar .traffic-light-and-driving-mode .auto-mode{background:linear-gradient(90deg,rgba(17,30,48,.8),rgba(7,42,94,.8));border-right:1px solid #006aff;color:#006aff}.status-bar .traffic-light-and-driving-mode .manual-mode{background:linear-gradient(90deg,rgba(30,17,17,.8),rgba(71,36,36,.8));color:#b43131;border-right:1px solid #b43131}.status-bar .notification-warn{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #a3842d;background-color:rgba(52,39,5,.3)}.status-bar .notification-warn .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-warn .icon{height:15px;width:15px}}.status-bar .notification-warn .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-warn .alert{color:#d7466f}.status-bar .notification-warn .warn{color:#a3842d}.status-bar .notification-alert{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #d7466f;background-color:rgba(74,5,24,.3)}.status-bar .notification-alert .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-alert .icon{height:15px;width:15px}}.status-bar .notification-alert .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-alert .alert{color:#d7466f}.status-bar .notification-alert .warn{color:#a3842d}.tasks{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.tasks .command-group{display:flex;flex-flow:row nowrap;justify-content:flex-start;flex:1 1 0;min-height:45px;min-width:130px}.tasks .command-group .name{width:40px;padding:15px}.tasks .start-auto-command{flex:2 2 0}.tasks .start-auto-command .start-auto-button{max-height:unset}.tasks .others{min-width:165px;max-width:260px}.tasks .delay{min-width:265px;line-height:26px}.tasks .delay .delay-item{position:relative;margin:0 10px;font-size:16px}.tasks .delay .delay-item .name{display:inline-block;min-width:140px;color:#1c9063}.tasks .delay .delay-item .value{display:inline-block;position:absolute;right:0;min-width:70px;text-align:right}.tasks button{flex:1 1 0;margin:5px;border:0;min-width:75px;min-height:40px;max-height:60px;color:#999;border-bottom:2px solid #1c9063;background:linear-gradient(#000,#111f1d);outline:none;cursor:pointer}.tasks button:hover{color:#fff;background:#151e1b}.tasks button:active{background:rgba(35,51,45,.6)}.tasks button:disabled{color:#999;border-color:#555;background:linear-gradient(rgba(0,0,0,.8),rgba(9,17,16,.8));cursor:not-allowed}.tasks .disabled{cursor:not-allowed}.module-controller{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow:hidden}.module-controller .controller{min-width:180px}.module-controller .modules-container{flex-flow:column wrap}.module-controller .status-display{min-width:250px;padding:5px 20px 5px 5px}.module-controller .status-display .name{display:inline-block;padding:10px;min-width:80px}.module-controller .status-display .status{display:inline-block;position:relative;width:130px;padding:10px;background:#000;white-space:nowrap}.module-controller .status-display .status .status-icon{position:absolute;right:10px;width:15px;height:15px;background-color:#b43131}.route-editing-bar{z-index:10;position:absolute;top:0;left:0;right:0;min-height:90px;border-bottom:3px solid #000;padding-left:10px;background:#1d2226}@media (max-height:800px){.route-editing-bar{min-height:60px}}.route-editing-bar .editing-panel{display:flex;justify-content:center;align-items:center;overflow:hidden;white-space:nowrap}.route-editing-bar .editing-panel .button{height:90px;border:none;padding:10px 15px;background:#1d2226;outline:none;color:#999}@media (max-height:800px){.route-editing-bar .editing-panel .button{height:60px;padding:5px 10px}}.route-editing-bar .editing-panel .button img{display:block;top:23px;margin:15px auto}@media (max-height:800px){.route-editing-bar .editing-panel .button img{top:13px;margin:7px auto}}.route-editing-bar .editing-panel .button span{font-family:PingFangSC-Light;font-size:14px;color:#d8d8d8;text-align:center}@media (max-height:800px){.route-editing-bar .editing-panel .button span{font-size:12px}}.route-editing-bar .editing-panel .button:hover{background:#2a3238}.route-editing-bar .editing-panel .active{color:#fff;background:#2a3238}.route-editing-bar .editing-panel .editing-tip{height:90px;width:90px;margin-left:auto;border:none;color:#d8d8d8;font-size:35px}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip{height:60px;width:60px;font-size:20px}}.route-editing-bar .editing-panel .editing-tip p{position:absolute;top:120%;right:15px;width:400px;border-radius:3px;padding:20px;background-color:#fff;color:#999;font-size:14px;text-align:left;white-space:pre-wrap}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p{right:5px}}.route-editing-bar .editing-panel .editing-tip p:before{position:absolute;top:-20px;right:13px;content:"";border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #fff}@-moz-document url-prefix(){.route-editing-bar .editing-panel .editing-tip p:before{top:-38px}}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p:before{right:8px}}.data-recorder{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.data-recorder .drive-event-card table{width:100%;text-align:center}.data-recorder .drive-event-card .drive-event-msg{width:100%}.data-recorder .drive-event-card .toolbar button{width:200px}.loader{flex:0 0 auto;position:relative;width:100%;height:100%;background-color:#000c17}.loader .img-container{position:relative;top:50%;left:50%;width:40%;transform:translate(-50%,-50%)}.loader .img-container img{width:100%;height:auto}.loader .img-container .status-message{margin-top:10px;font-size:18px;font-size:1.7vw;color:#fff;text-align:center;animation-name:flash;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:running}@keyframes flash{0%{color:#fff}to{color:#000c17}}.loader .offline-loader{width:60%;max-width:650px}.loader .offline-loader .status-message{position:relative;top:-70px;top:-4.5vw;font-size:3vw}.video{z-index:1;position:absolute;top:0;left:0}.video img{position:relative;min-width:100px;min-height:20px;max-width:380px;max-height:300px;padding:1px;border:1px solid #383838}@media (max-height:800px){.video img{max-width:300px;max-height:200px}}.dashcam-player{z-index:1;position:absolute;top:0;left:0;color:#fff}.dashcam-player video{max-width:380px;max-height:300px}@media (max-height:800px){.dashcam-player video{max-width:300px;max-height:200px}}.dashcam-player .controls{display:flex;justify-content:flex-end;z-index:10;position:absolute;right:0}.dashcam-player .controls button{width:27px;height:27px;border:none;background-color:#000;opacity:.6;color:#fff}.dashcam-player .controls button img{width:15px}.dashcam-player .controls button:hover{opacity:.9}.dashcam-player .controls .close{font-size:20px}.dashcam-player .controls .syncup{padding-top:.5em}.pnc-monitor{height:100%;border:1px solid #000;box-sizing:border-box;background-color:#1d2226;overflow:auto}.pnc-monitor .scatter-graph{margin:0;border:1px #000;border-style:solid none}.pnc-monitor .react-tabs__tab-list{display:table;width:100%;margin:0;border-bottom:1px solid #000;padding:0}.pnc-monitor .react-tabs__tab{display:table-cell;position:relative;border:1px solid transparent;border-bottom:none;padding:6px 12px;background:#1d2226;color:#999;list-style:none;cursor:pointer}.pnc-monitor .react-tabs__tab--selected{background:#2a3238;color:#fff}.pnc-monitor .react-tabs__tab-panel{display:none}.pnc-monitor .react-tabs__tab-panel--selected{display:block}',""])},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'.playback-controls{z-index:100;position:absolute;width:100%;height:40px;bottom:0;background:#1d2226;font-size:16px;min-width:550px}@media (max-height:800px){.playback-controls{font-size:14px}}.playback-controls .icon{display:inline-block;width:20px;height:20px;padding:10px;cursor:pointer}.playback-controls .icon .play{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#1d2226}.playback-controls .icon .pause,.playback-controls .icon .replay{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#006aff}.playback-controls .icon .replay{top:2px}.playback-controls .icon .exit-fullscreen,.playback-controls .icon .fullscreen{stroke-linejoin:round;stroke-width:10px;stroke:#006aff;fill:#1d2226}.playback-controls .left-controls{display:inline-block;float:left}.playback-controls .right-controls{display:inline-block;float:right}.playback-controls .rate-selector{position:absolute;left:40px}.playback-controls .rate-selector select{display:block;border:none;padding:11px 23px 0 5px;color:#fff;background:#1d2226;outline:none;cursor:pointer;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.playback-controls .rate-selector .arrow{position:absolute;top:5px;right:0;width:10px;height:100%;pointer-events:none}.playback-controls .rate-selector .arrow:before{position:absolute;top:16px;right:1px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:"";pointer-events:none}.playback-controls .time-controls{position:absolute;min-width:300px;height:100%;left:125px;right:50px}.playback-controls .time-controls .rangeslider{position:absolute;top:7px;left:10px;right:115px;margin:10px 0;height:7px;border-radius:10px;background:#2d3b50;-ms-touch-action:none;touch-action:none}.playback-controls .time-controls .rangeslider .rangeslider__fill{display:block;height:100%;border-radius:10px;background-color:#006aff;background:#006aff}.playback-controls .time-controls .rangeslider .rangeslider__handle{display:inline-block;position:absolute;height:16px;width:16px;top:50%;transform:translate3d(-50%,-50%,0);border:1px solid #006aff;border-radius:100%;background:#006aff;cursor:pointer;box-shadow:none}.playback-controls .time-controls .time-display{position:absolute;top:12px;right:0;color:#fff}',""])},function(e,t,n){"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var i=new Array(64),o=new Array(123),a=0;a<64;)o[i[a]=a<26?a+65:a<52?a+71:a<62?a-4:a-59|43]=a++;r.encode=function(e,t,n){for(var r,o=null,a=[],s=0,l=0;t>2],r=(3&u)<<4,l=1;break;case 1:a[s++]=i[r|u>>4],r=(15&u)<<2,l=2;break;case 2:a[s++]=i[r|u>>6],a[s++]=i[63&u],l=0}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0)}return l&&(a[s++]=i[r],a[s++]=61,1===l&&(a[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join("")):String.fromCharCode.apply(String,a.slice(0,s))};r.decode=function(e,t,n){for(var r,i=n,a=0,s=0;s1)break;if(void 0===(l=o[l]))throw Error("invalid encoding");switch(a){case 0:r=l,a=1;break;case 1:t[n++]=r<<2|(48&l)>>4,r=l,a=2;break;case 2:t[n++]=(15&r)<<4|(60&l)>>2,r=l,a=3;break;case 3:t[n++]=(3&r)<<6|l,a=0}}if(1===a)throw Error("invalid encoding");return n-i},r.test=function(e){return/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e)}},function(e,t,n){"use strict";function r(e,t){function n(e){if("string"!=typeof e){var t=i();if(r.verbose&&console.log("codegen: "+t),t="return "+t,e){for(var a=Object.keys(e),s=new Array(a.length+1),l=new Array(a.length),u=0;u0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>3.4028234663852886e38)e((i<<31|2139095040)>>>0,n,r);else if(t<1.1754943508222875e-38)e((i<<31|Math.round(t/1.401298464324817e-45))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2),a=8388607&Math.round(t*Math.pow(2,-o)*8388608);e((i<<31|o+127<<23|a)>>>0,n,r)}}function n(e,t,n){var r=e(t,n),i=2*(r>>31)+1,o=r>>>23&255,a=8388607&r;return 255===o?a?NaN:i*(1/0):0===o?1.401298464324817e-45*i*a:i*Math.pow(2,o-150)*(a+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,o),e.readFloatLE=n.bind(null,a),e.readFloatBE=n.bind(null,s)}(),"undefined"!=typeof Float64Array?function(){function t(e,t,n){o[0]=e,t[n]=a[0],t[n+1]=a[1],t[n+2]=a[2],t[n+3]=a[3],t[n+4]=a[4],t[n+5]=a[5],t[n+6]=a[6],t[n+7]=a[7]}function n(e,t,n){o[0]=e,t[n]=a[7],t[n+1]=a[6],t[n+2]=a[5],t[n+3]=a[4],t[n+4]=a[3],t[n+5]=a[2],t[n+6]=a[1],t[n+7]=a[0]}function r(e,t){return a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],o[0]}function i(e,t){return a[7]=e[t],a[6]=e[t+1],a[5]=e[t+2],a[4]=e[t+3],a[3]=e[t+4],a[2]=e[t+5],a[1]=e[t+6],a[0]=e[t+7],o[0]}var o=new Float64Array([-0]),a=new Uint8Array(o.buffer),s=128===a[7];e.writeDoubleLE=s?t:n,e.writeDoubleBE=s?n:t,e.readDoubleLE=s?r:i,e.readDoubleBE=s?i:r}():function(){function t(e,t,n,r,i,o){var a=r<0?1:0;if(a&&(r=-r),0===r)e(0,i,o+t),e(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))e(0,i,o+t),e(2146959360,i,o+n);else if(r>1.7976931348623157e308)e(0,i,o+t),e((a<<31|2146435072)>>>0,i,o+n);else{var s;if(r<2.2250738585072014e-308)s=r/5e-324,e(s>>>0,i,o+t),e((a<<31|s/4294967296)>>>0,i,o+n);else{var l=Math.floor(Math.log(r)/Math.LN2);1024===l&&(l=1023),s=r*Math.pow(2,-l),e(4503599627370496*s>>>0,i,o+t),e((a<<31|l+1023<<20|1048576*s&1048575)>>>0,i,o+n)}}}function n(e,t,n,r,i){var o=e(r,i+t),a=e(r,i+n),s=2*(a>>31)+1,l=a>>>20&2047,u=4294967296*(1048575&a)+o;return 2047===l?u?NaN:s*(1/0):0===l?5e-324*s*u:s*Math.pow(2,l-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,o,4,0),e.readDoubleLE=n.bind(null,a,0,4),e.readDoubleBE=n.bind(null,s,4,0)}(),e}function i(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function o(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=r(r)},function(e,t,n){"use strict";var r=t,i=r.isAbsolute=function(e){return/^(?:\/|\w+:)/.test(e)},o=r.normalize=function(e){e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/");var t=e.split("/"),n=i(e),r="";n&&(r=t.shift()+"/");for(var o=0;o0&&".."!==t[o-1]?t.splice(--o,2):n?t.splice(o,1):++o:"."===t[o]?t.splice(o,1):++o;return r+t.join("/")};r.resolve=function(e,t,n){return n||(t=o(t)),i(t)?t:(n||(e=o(e)),(e=e.replace(/(?:\/|^)[^\/]+$/,"")).length?o(e+"/"+t):t)}},function(e,t,n){"use strict";function r(e,t,n){var r=n||8192,i=r>>>1,o=null,a=r;return function(n){if(n<1||n>i)return e(n);a+n>r&&(o=e(r),a=0);var s=t.call(o,a,a+=n);return 7&a&&(a=1+(7|a)),s}}e.exports=r},function(e,t,n){"use strict";var r=t;r.length=function(e){for(var t=0,n=0,r=0;r191&&r<224?o[a++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[a++]=55296+(r>>10),o[a++]=56320+(1023&r)):o[a++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),a=0);return i?(a&&i.push(String.fromCharCode.apply(String,o.slice(0,a))),i.join("")):String.fromCharCode.apply(String,o.slice(0,a))},r.write=function(e,t,n){for(var r,i,o=n,a=0;a>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(a+1)))?(r=65536+((1023&r)<<10)+(1023&i),++a,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},function(e,t,n){e.exports={default:n(290),__esModule:!0}},function(e,t,n){e.exports={default:n(293),__esModule:!0}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){e.exports={default:n(300),__esModule:!0}},function(e,t,n){e.exports={default:n(301),__esModule:!0}},function(e,t,n){e.exports={default:n(302),__esModule:!0}},function(e,t,n){e.exports={default:n(303),__esModule:!0}},function(e,t,n){e.exports={default:n(304),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){/*! +var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=r(e),u=1;u-1&&this.oneof.splice(t,1),e.partOf=null,this},r.prototype.onAdd=function(e){o.prototype.onAdd.call(this,e);for(var t=this,n=0;n "+e.len)}function i(e){this.buf=e,this.pos=0,this.len=e.length}function o(){var e=new c(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw r(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw r(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function a(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function s(){if(this.pos+8>this.len)throw r(this,8);return new c(a(this.buf,this.pos+=4),a(this.buf,this.pos+=4))}e.exports=i;var l,u=n(30),c=u.LongBits,d=u.utf8,f="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new i(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new i(e);throw Error("illegal buffer")};i.create=u.Buffer?function(e){return(i.create=function(e){return u.Buffer.isBuffer(e)?new l(e):f(e)})(e)}:f,i.prototype._slice=u.Array.prototype.subarray||u.Array.prototype.slice,i.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,r(this,10);return e}}(),i.prototype.int32=function(){return 0|this.uint32()},i.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},i.prototype.bool=function(){return 0!==this.uint32()},i.prototype.fixed32=function(){if(this.pos+4>this.len)throw r(this,4);return a(this.buf,this.pos+=4)},i.prototype.sfixed32=function(){if(this.pos+4>this.len)throw r(this,4);return 0|a(this.buf,this.pos+=4)},i.prototype.float=function(){if(this.pos+4>this.len)throw r(this,4);var e=u.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},i.prototype.double=function(){if(this.pos+8>this.len)throw r(this,4);var e=u.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},i.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw r(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},i.prototype.string=function(){var e=this.bytes();return d.read(e,0,e.length)},i.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw r(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw r(this)}while(128&this.buf[this.pos++]);return this},i.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){if(4==(e=7&this.uint32()))break;this.skipType(e)}break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},i._configure=function(e){l=e;var t=u.Long?"toLong":"toNumber";u.merge(i.prototype,{int64:function(){return o.call(this)[t](!1)},uint64:function(){return o.call(this)[t](!0)},sint64:function(){return o.call(this).zzDecode()[t](!1)},fixed64:function(){return s.call(this)[t](!0)},sfixed64:function(){return s.call(this)[t](!1)}})}},function(e,t,n){"use strict";function r(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function i(){}function o(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new r(i,0,0),this.tail=this.head,this.states=null}function s(e,t,n){t[n]=255&e}function l(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e}function u(e,t){this.len=e,this.next=void 0,this.val=t}function c(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function d(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}e.exports=a;var f,h=n(30),p=h.LongBits,m=h.base64,g=h.utf8;a.create=h.Buffer?function(){return(a.create=function(){return new f})()}:function(){return new a},a.alloc=function(e){return new h.Array(e)},h.Array!==Array&&(a.alloc=h.pool(a.alloc,h.Array.prototype.subarray)),a.prototype._push=function(e,t,n){return this.tail=this.tail.next=new r(e,t,n),this.len+=t,this},u.prototype=Object.create(r.prototype),u.prototype.fn=l,a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new u((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},a.prototype.int32=function(e){return e<0?this._push(c,10,p.fromNumber(e)):this.uint32(e)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.uint64=function(e){var t=p.from(e);return this._push(c,t.length(),t)},a.prototype.int64=a.prototype.uint64,a.prototype.sint64=function(e){var t=p.from(e).zzEncode();return this._push(c,t.length(),t)},a.prototype.bool=function(e){return this._push(s,1,e?1:0)},a.prototype.fixed32=function(e){return this._push(d,4,e>>>0)},a.prototype.sfixed32=a.prototype.fixed32,a.prototype.fixed64=function(e){var t=p.from(e);return this._push(d,4,t.lo)._push(d,4,t.hi)},a.prototype.sfixed64=a.prototype.fixed64,a.prototype.float=function(e){return this._push(h.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this._push(h.float.writeDoubleLE,8,e)};var v=h.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r>>0;if(!t)return this._push(s,1,0);if(h.isString(e)){var n=a.alloc(t=m.length(e));m.decode(e,n,0),e=n}return this.uint32(t)._push(v,t,e)},a.prototype.string=function(e){var t=g.length(e);return t?this.uint32(t)._push(g.write,t,e):this._push(s,1,0)},a.prototype.fork=function(){return this.states=new o(this),this.head=this.tail=new r(i,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new r(i,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},a.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},a._configure=function(e){f=e}},function(e,t,n){var r=n(411),i=n(23);e.exports=function(e,t,n){var i=e[t];if(i){var o=[];if(Object.keys(i).forEach(function(e){-1===r.indexOf(e)&&o.push(e)}),o.length)throw new Error("Prop "+t+" passed to "+n+". Has invalid keys "+o.join(", "))}},e.exports.isRequired=function(t,n,r){if(!t[n])throw new Error("Prop "+n+" passed to "+r+" is required");return e.exports(t,n,r)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t,n){"use strict";function r(){return r=Object.assign||function(e){for(var t=1;t0?1:-1,f=Math.tan(s)*d,h=d*c.x,p=f*c.y,m=Math.atan2(p,h),g=a.data[0],v=g.tooltipPosition();e.ctx.font=x.default.helpers.fontString(20,"normal","Helvetica Neue"),e.ctx.translate(v.x,v.y),e.ctx.rotate(-m),e.ctx.fillText("►",0,0),e.ctx.restore()}})}}),x.default.defaults.global.defaultFontColor="#FFFFFF";var _=function(e){function t(){return(0,u.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,d.default)(t,[{key:"initializeCanvas",value:function(e,t){this.name2idx={};var n={title:{display:e&&e.length>0,text:e},legend:{display:t.legend.display},tooltips:{enable:!0,mode:"nearest",intersect:!1}};if(t.axes){n.scales||(n.scales={});for(var r in t.axes){var i=r+"Axes",o=t.axes[r],a={id:r+"-axis-0",scaleLabel:{display:!0,labelString:o.labelString},ticks:{min:o.min,max:o.max},gridLines:{color:"rgba(153, 153, 153, 0.5)",zeroLineColor:"rgba(153, 153, 153, 0.7)"}};n.scales[i]||(n.scales[i]=[]),n.scales[i].push(a)}}var s=this.canvasElement.getContext("2d");this.chart=new x.default(s,{type:"scatter",options:n})}},{key:"updateData",value:function(e,t,n,r){var i=t.substring(0,5);if(void 0===this.chart.data.datasets[e]){var o={label:i,showText:n.showLabel,text:t,backgroundColor:n.color,borderColor:n.color,data:r};for(var a in n)o[a]=n[a];this.chart.data.datasets.push(o)}else this.chart.data.datasets[e].text=t,this.chart.data.datasets[e].data=r}},{key:"updateChart",value:function(e){for(var t in e.properties.lines){void 0===this.name2idx[t]&&(this.name2idx[t]=this.chart.data.datasets.length);var n=this.name2idx[t],r=e.properties.lines[t],i=e.data?e.data[t]:[];this.updateData(n,t,r,i)}var a=(0,o.default)(this.name2idx).length;if(e.boxes)for(var s in e.boxes){var l=e.boxes[s];this.updateData(a,s,e.properties.box,l),a++}this.chart.data.datasets.splice(a,this.chart.data.datasets.length-a),this.chart.update(0)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.title,n=e.options;this.initializeCanvas(t,n),this.updateChart(this.props)}},{key:"componentWillUnmount",value:function(){this.chart.destroy()}},{key:"componentWillReceiveProps",value:function(e){this.updateChart(e)}},{key:"render",value:function(){var e=this,t=this.props;t.data,t.properties,t.options,t.boxes;return v.default.createElement("div",{className:"scatter-graph"},v.default.createElement("canvas",{ref:function(t){e.canvasElement=t}}))}}]),t}(v.default.Component);t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=n(11),v=r(g),y=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:"render",value:function(){var e=this.props,t=e.id,n=e.title,r=e.isChecked,i=e.onClick,o=e.disabled,a=e.extraClasses;return m.default.createElement("ul",{className:(0,v.default)({disabled:o},a)},m.default.createElement("li",{id:t,onClick:function(){o||i()}},m.default.createElement("div",{className:"switch"},m.default.createElement("input",{type:"checkbox",className:"toggle-switch",name:t,checked:r,disabled:o,readOnly:!0}),m.default.createElement("label",{className:"toggle-switch-label",htmlFor:t})),m.default.createElement("span",null,n)))}}]),t}(m.default.Component);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:"render",value:function(){var e=this.props,t=e.id,n=e.title,r=(e.options,e.onClick),i=e.checked,o=e.extraClasses;return m.default.createElement("ul",{className:o},m.default.createElement("li",{onClick:r},m.default.createElement("input",{type:"radio",name:t,checked:i,readOnly:!0}),m.default.createElement("label",{className:"radio-selector-label",htmlFor:n}),m.default.createElement("span",null,n)))}}]),t}(m.default.Component);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ObstacleColorMapping=t.DEFAULT_COLOR=void 0;var i=n(234),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(16),h=r(f),p=n(207),m=r(p),g=n(69),v=n(32),y=n(39),b=t.DEFAULT_COLOR=16711932,x=t.ObstacleColorMapping={PEDESTRIAN:16771584,BICYCLE:56555,VEHICLE:65340,VIRTUAL:8388608},_=function(){function e(){(0,s.default)(this,e),this.textRender=new m.default,this.arrows=[],this.ids=[],this.solidCubes=[],this.dashedCubes=[],this.extrusionSolidFaces=[],this.extrusionDashedFaces=[]}return(0,u.default)(e,[{key:"update",value:function(e,t,n){y.isEmpty(this.ids)||(this.ids.forEach(function(e){e.children.forEach(function(e){return e.visible=!1}),n.remove(e)}),this.ids=[]),this.textRender.reset();var r=e.object;if(y.isEmpty(r))return(0,g.hideArrayObjects)(this.arrows),(0,g.hideArrayObjects)(this.solidCubes),(0,g.hideArrayObjects)(this.dashedCubes),(0,g.hideArrayObjects)(this.extrusionSolidFaces),void(0,g.hideArrayObjects)(this.extrusionDashedFaces);for(var i=t.applyOffset({x:e.autoDrivingCar.positionX,y:e.autoDrivingCar.positionY}),a=0,s=0,l=0,u=0;u.5){var m=this.updateArrow(f,c.speedHeading,p,a++,n),v=1+(0,o.default)(c.speed);m.scale.set(v,v,v),m.visible=!0}if(h.default.options.showObstaclesHeading){var _=this.updateArrow(f,c.heading,16777215,a++,n);_.scale.set(1,1,1),_.visible=!0}h.default.options.showObstaclesId&&this.updateIdAndDistance(c.id,new d.Vector3(f.x,f.y,c.height),i.distanceTo(f).toFixed(1),n);var w=c.confidence;w=Math.max(0,w),w=Math.min(1,w);var M=c.polygonPoint;void 0!==M&&M.length>0?(this.updatePolygon(M,c.height,p,t,w,l,n),l+=M.length):c.length&&c.width&&c.height&&this.updateCube(c.length,c.width,c.height,f,c.heading,p,w,s++,n)}}(0,g.hideArrayObjects)(this.arrows,a),(0,g.hideArrayObjects)(this.solidCubes,s),(0,g.hideArrayObjects)(this.dashedCubes,s),(0,g.hideArrayObjects)(this.extrusionSolidFaces,l),(0,g.hideArrayObjects)(this.extrusionDashedFaces,l)}},{key:"updateArrow",value:function(e,t,n,r,i){var o=this.getArrow(r,i);return(0,g.copyProperty)(o.position,e),o.material.color.setHex(n),o.rotation.set(0,0,-(Math.PI/2-t)),o}},{key:"updateIdAndDistance",value:function(e,t,n,r){var i=this.textRender.composeText(e+" D:"+n);if(null!==i){i.position.set(t.x,t.y+.5,t.z||3);var o=r.getObjectByName("camera");void 0!==o&&i.quaternion.copy(o.quaternion),i.children.forEach(function(e){return e.visible=!0}),i.visible=!0,i.name="id_"+e,this.ids.push(i),r.add(i)}}},{key:"updatePolygon",value:function(e,t,n,r,i,o,a){for(var s=0;s0){var u=this.getCube(s,l,!0);u.position.set(r.x,r.y,r.z+n*(a-1)/2),u.scale.set(e,t,n*a),u.material.color.setHex(o),u.rotation.set(0,0,i),u.visible=!0}if(a<1){var c=this.getCube(s,l,!1);c.position.set(r.x,r.y,r.z+n*a/2),c.scale.set(e,t,n*(1-a)),c.material.color.setHex(o),c.rotation.set(0,0,i),c.visible=!0}}},{key:"getArrow",value:function(e,t){if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.extrusionSolidFaces:this.extrusionDashedFaces;if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.solidCubes:this.dashedCubes;if(e0&&(u=e.getDatasetMeta(u[0]._datasetIndex).data),u},"x-axis":function(e,t){return l(e,t,{intersect:!1})},point:function(e,t){return o(e,r(t,e))},nearest:function(e,t,n){var i=r(t,e);n.axis=n.axis||"xy";var o=s(n.axis),l=a(e,i,n.intersect,o);return l.length>1&&l.sort(function(e,t){var n=e.getArea(),r=t.getArea(),i=n-r;return 0===i&&(i=e._datasetIndex-t._datasetIndex),i}),l.slice(0,1)},x:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inXRange(o.x)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a},y:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inYRange(o.y)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a}}}},function(e,t,n){"use strict";var r=n(6),i=n(275),o=n(276),a=o._enabled?o:i;e.exports=r.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},a)},function(e,t,n){var r=n(288),i=n(286),o=function(e){if(e instanceof o)return e;if(!(this instanceof o))return new o(e);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var t;"string"==typeof e?(t=i.getRgba(e),t?this.setValues("rgb",t):(t=i.getHsla(e))?this.setValues("hsl",t):(t=i.getHwb(e))&&this.setValues("hwb",t)):"object"==typeof e&&(t=e,void 0!==t.r||void 0!==t.red?this.setValues("rgb",t):void 0!==t.l||void 0!==t.lightness?this.setValues("hsl",t):void 0!==t.v||void 0!==t.value?this.setValues("hsv",t):void 0!==t.w||void 0!==t.whiteness?this.setValues("hwb",t):void 0===t.c&&void 0===t.cyan||this.setValues("cmyk",t))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues("alpha",e),this)},red:function(e){return this.setChannel("rgb",0,e)},green:function(e){return this.setChannel("rgb",1,e)},blue:function(e){return this.setChannel("rgb",2,e)},hue:function(e){return e&&(e%=360,e=e<0?360+e:e),this.setChannel("hsl",0,e)},saturation:function(e){return this.setChannel("hsl",1,e)},lightness:function(e){return this.setChannel("hsl",2,e)},saturationv:function(e){return this.setChannel("hsv",1,e)},whiteness:function(e){return this.setChannel("hwb",1,e)},blackness:function(e){return this.setChannel("hwb",2,e)},value:function(e){return this.setChannel("hsv",2,e)},cyan:function(e){return this.setChannel("cmyk",0,e)},magenta:function(e){return this.setChannel("cmyk",1,e)},yellow:function(e){return this.setChannel("cmyk",2,e)},black:function(e){return this.setChannel("cmyk",3,e)},hexString:function(){return i.hexString(this.values.rgb)},rgbString:function(){return i.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return i.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return i.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return i.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return i.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return i.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return i.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?"AAA":t>=4.5?"AA":""},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues("rgb",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues("hsl",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues("hsl",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues("hsl",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues("hsl",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues("hwb",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues("hwb",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues("rgb",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues("alpha",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues("alpha",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues("hsl",t),this},mix:function(e,t){var n=this,r=e,i=void 0===t?.5:t,o=2*i-1,a=n.alpha()-r.alpha(),s=((o*a==-1?o:(o+a)/(1+o*a))+1)/2,l=1-s;return this.rgb(s*n.red()+l*r.red(),s*n.green()+l*r.green(),s*n.blue()+l*r.blue()).alpha(n.alpha()*i+r.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new o,r=this.values,i=n.values;for(var a in r)r.hasOwnProperty(a)&&(e=r[a],t={}.toString.call(e),"[object Array]"===t?i[a]=e.slice(0):"[object Number]"===t?i[a]=e:console.error("unexpected color value:",e));return n}},o.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(e){for(var t=this.values,n={},r=0;rl;)r(s,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(25),i=n(20),o=n(79);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){e.exports=n(34)},function(e,t,n){"use strict";var r=n(14),i=n(9),o=n(21),a=n(26),s=n(15)("species");e.exports=function(e){var t="function"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(25),i=n(46),o=n(15)("species");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(28),s=n(316),l=n(113),u=n(74),c=n(14),d=c.process,f=c.setImmediate,h=c.clearImmediate,p=c.MessageChannel,m=c.Dispatch,g=0,v={},y=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},h=function(e){delete v[e]},"process"==n(47)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+"","*")},c.addEventListener("message",b,!1)):r="onreadystatechange"in u("script")?function(e){l.appendChild(u("script")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t,n){"use strict";function r(e){return(0,o.default)(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=n(362),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i>>0",r,r);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",r,r);break;case"uint64":l=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",r,r,l)('else if(typeof d%s==="string")',r)("m%s=parseInt(d%s,10)",r,r)('else if(typeof d%s==="number")',r)("m%s=d%s",r,r)('else if(typeof d%s==="object")',r)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",r,r,r,l?"true":"");break;case"bytes":e('if(typeof d%s==="string")',r)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",r,r,r)("else if(d%s.length)",r)("m%s=d%s",r,r);break;case"string":e("m%s=String(d%s)",r,r);break;case"bool":e("m%s=Boolean(d%s)",r,r)}}return e}function i(e,t,n,r){if(t.resolvedType)t.resolvedType instanceof a?e("d%s=o.enums===String?types[%i].values[m%s]:m%s",r,n,r,r):e("d%s=types[%i].toObject(m%s,o)",r,n,r);else{var i=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",r,r,r,r);break;case"uint64":i=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',r)("d%s=o.longs===String?String(m%s):m%s",r,r,r)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",r,r,r,r,i?"true":"",r);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",r,r,r,r,r);break;default:e("d%s=m%s",r,r)}}return e}var o=t,a=n(27),s=n(13);o.fromObject=function(e){var t=e.fieldsArray,n=s.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return n("return new this.ctor");n("var m=new this.ctor");for(var i=0;i>>3){");for(var n=0;n>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,r,(t.id<<3|2)>>>0)}function i(e){for(var t,n,i=s.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),l=e.fieldsArray.slice().sort(s.compareFieldsById),t=0;t>>0,8|a.mapKey[u.keyType],u.keyType),void 0===f?i("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",c,n):i(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|f,d,n),i("}")("}")):u.repeated?(i("if(%s!=null&&%s.length){",n,n),u.packed&&void 0!==a.packed[d]?i("w.uint32(%i).fork()",(u.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",n)("w.%s(%s[i])",d,n)("w.ldelim()"):(i("for(var i=0;i<%s.length;++i)",n),void 0===f?r(i,u,c,n+"[i]"):i("w.uint32(%i).%s(%s[i])",(u.id<<3|f)>>>0,d,n)),i("}")):(u.optional&&i("if(%s!=null&&m.hasOwnProperty(%j))",n,u.name),void 0===f?r(i,u,c,n):i("w.uint32(%i).%s(%s)",(u.id<<3|f)>>>0,d,n))}return i("return w")}e.exports=i;var o=n(27),a=n(56),s=n(13)},function(e,t,n){"use strict";function r(e,t,n,r,o){if(i.call(this,e,t,r,o),!a.isString(n))throw TypeError("keyType must be a string");this.keyType=n,this.resolvedKeyType=null,this.map=!0}e.exports=r;var i=n(42);((r.prototype=Object.create(i.prototype)).constructor=r).className="MapField";var o=n(56),a=n(13);r.fromJSON=function(e,t){return new r(e,t.id,t.keyType,t.type,t.options)},r.prototype.toJSON=function(){return a.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options])},r.prototype.resolve=function(){if(this.resolved)return this;if(void 0===o.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return i.prototype.resolve.call(this)},r.d=function(e,t,n){return"function"==typeof n?n=a.decorateType(n).name:n&&"object"==typeof n&&(n=a.decorateEnum(n).name),function(i,o){a.decorateType(i.constructor).add(new r(o,e,t,n))}}},function(e,t,n){"use strict";function r(e,t,n,r,a,s,l){if(o.isObject(a)?(l=a,a=s=void 0):o.isObject(s)&&(l=s,s=void 0),void 0!==t&&!o.isString(t))throw TypeError("type must be a string");if(!o.isString(n))throw TypeError("requestType must be a string");if(!o.isString(r))throw TypeError("responseType must be a string");i.call(this,e,l),this.type=t||"rpc",this.requestType=n,this.requestStream=!!a||void 0,this.responseType=r,this.responseStream=!!s||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null}e.exports=r;var i=n(43);((r.prototype=Object.create(i.prototype)).constructor=r).className="Method";var o=n(13);r.fromJSON=function(e,t){return new r(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options)},r.prototype.toJSON=function(){return o.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options])},r.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},function(e,t,n){"use strict";function r(e){a.call(this,"",e),this.deferred=[],this.files=[]}function i(){}function o(e,t){var n=t.parent.lookup(t.extend);if(n){var r=new c(t.fullName,t.id,t.type,t.rule,void 0,t.options);return r.declaringField=t,t.extensionField=r,n.add(r),!0}return!1}e.exports=r;var a=n(55);((r.prototype=Object.create(a.prototype)).constructor=r).className="Root";var s,l,u,c=n(42),d=n(27),f=n(96),h=n(13);r.fromJSON=function(e,t){return t||(t=new r),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},r.prototype.resolvePath=h.path.resolve,r.prototype.load=function e(t,n,r){function o(e,t){if(r){var n=r;if(r=null,d)throw e;n(e,t)}}function a(e,t){try{if(h.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),h.isString(t)){l.filename=e;var r,i=l(t,c,n),a=0;if(i.imports)for(;a-1){var i=e.substring(n);i in u&&(e=i)}if(!(c.files.indexOf(e)>-1)){if(c.files.push(e),e in u)return void(d?a(e,u[e]):(++f,setTimeout(function(){--f,a(e,u[e])})));if(d){var s;try{s=h.fs.readFileSync(e).toString("utf8")}catch(e){return void(t||o(e))}a(e,s)}else++f,h.fetch(e,function(n,i){if(--f,r)return n?void(t?f||o(null,c):o(n)):void a(e,i)})}}"function"==typeof n&&(r=n,n=void 0);var c=this;if(!r)return h.asPromise(e,c,t,n);var d=r===i,f=0;h.isString(t)&&(t=[t]);for(var p,m=0;m-1&&this.deferred.splice(t,1)}}else if(e instanceof d)p.test(e.name)&&delete e.parent[e.name];else if(e instanceof a){for(var n=0;n=0&&b.splice(t,1)}function s(e){var t=document.createElement("style");return e.attrs.type="text/css",u(t,e.attrs),o(e,t),t}function l(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",u(t,e.attrs),o(e,t),t}function u(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var u=y++;n=v||(v=s(t)),r=d.bind(null,n,u,!1),i=d.bind(null,n,u,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(t),r=h.bind(null,n,t),i=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=f.bind(null,n),i=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function d(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function f(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function h(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=x(r)),i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var p={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,y=0,b=[],x=n(421);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");t=t||{},t.attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=i(e,t);return r(n,t),function(e){for(var o=[],a=0;a1&&void 0!==arguments[1]&&arguments[1];return null===this.offset?(console.error("Offset is not set."),null):isNaN(this.offset.x)||isNaN(this.offset.y)?(console.error("Offset contains NaN!"),null):isNaN(e.x)||isNaN(e.y)?(console.warn("Point contains NaN!"),null):isNaN(e.z)?new u.Vector2(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y):new u.Vector3(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y,e.z)}},{key:"applyOffsetToArray",value:function(e){var t=this;return e.map(function(e){return t.applyOffset(e)})}}]),e}();t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(440),h=r(f),p=n(444),m=r(p),g=n(442),v=r(g),y=n(445),b=r(y),x=n(443),_=r(x),w=n(434),M=r(w),S=n(437),E=r(S),T=n(435),k=r(T),O=n(438),P=r(O),C=n(436),A=r(C),R=n(439),L=r(R),I=n(432),D=r(I),N=n(447),z=r(N),B=n(446),F=r(B),j=n(448),U=r(j),W=n(449),G=r(W),V=n(450),H=r(V),Y=n(430),q=r(Y),X=n(431),Z=r(X),K=n(433),J=r(K),$=n(441),Q=r($),ee=n(69),te=n(32),ne=n(39),re={STOP:16724016,FOLLOW:1757281,YIELD:16724215,OVERTAKE:3188223},ie={STOP_REASON_HEAD_VEHICLE:L.default,STOP_REASON_DESTINATION:D.default,STOP_REASON_PEDESTRIAN:z.default,STOP_REASON_OBSTACLE:F.default,STOP_REASON_SIGNAL:U.default,STOP_REASON_STOP_SIGN:G.default,STOP_REASON_YIELD_SIGN:H.default,STOP_REASON_CLEAR_ZONE:q.default,STOP_REASON_CROSSWALK:Z.default,STOP_REASON_EMERGENCY:J.default,STOP_REASON_NOT_READY:Q.default},oe=function(){function e(){(0,o.default)(this,e),this.markers={STOP:[],FOLLOW:[],YIELD:[],OVERTAKE:[]},this.nudges=[],this.mainDecision=this.getMainDecision(),this.mainDecisionAddedToScene=!1}return(0,s.default)(e,[{key:"update",value:function(e,t,n){var r=this;this.nudges.forEach(function(e){n.remove(e),e.geometry.dispose(),e.material.dispose()}),this.nudges=[];var i=e.mainStop;if(!d.default.options.showDecisionMain||ne.isEmpty(i))this.mainDecision.visible=!1;else{this.mainDecision.visible=!0,this.mainDecisionAddedToScene||(n.add(this.mainDecision),this.mainDecisionAddedToScene=!0),(0,ee.copyProperty)(this.mainDecision.position,t.applyOffset(new u.Vector3(i.positionX,i.positionY,.2))),this.mainDecision.rotation.set(Math.PI/2,i.heading-Math.PI/2,0);var o=ne.attempt(function(){return i.decision[0].stopReason});if(!ne.isError(o)&&o){var a=null;for(a in ie)this.mainDecision[a].visible=!1;this.mainDecision[o].visible=!0}}var s=e.object;if(d.default.options.showDecisionObstacle&&!ne.isEmpty(s)){for(var l={STOP:0,FOLLOW:0,YIELD:0,OVERTAKE:0},c=0;c=r.markers[o].length?(a=r.getObstacleDecision(o),r.markers[o].push(a),n.add(a)):a=r.markers[o][l[o]];var d=t.applyOffset(new u.Vector3(i.positionX,i.positionY,0));if(null===d)return"continue";if(a.position.set(d.x,d.y,.2),a.rotation.set(Math.PI/2,i.heading-Math.PI/2,0),a.visible=!0,l[o]++,"YIELD"===o||"OVERTAKE"===o){var h=a.connect;h.geometry.vertices[0].set(s[c].positionX-i.positionX,s[c].positionY-i.positionY,0),h.geometry.verticesNeedUpdate=!0,h.geometry.computeLineDistances(),h.geometry.lineDistancesNeedUpdate=!0,h.rotation.set(Math.PI/-2,0,Math.PI/2-i.heading)}}else if("NUDGE"===o){var p=(0,te.drawShapeFromPoints)(t.applyOffsetToArray(i.polygonPoint),new u.MeshBasicMaterial({color:16744192}),!1,2);r.nudges.push(p),n.add(p)}})(h)}}var p=null;for(p in re)(0,ee.hideArrayObjects)(this.markers[p],l[p])}else{var m=null;for(m in re)(0,ee.hideArrayObjects)(this.markers[m])}}},{key:"getMainDecision",value:function(){var e=this.getFence("MAIN_STOP"),t=null;for(t in ie){var n=(0,te.drawImage)(ie[t],1,1,4.1,3.5,0);e.add(n),e[t]=n}return e.visible=!1,e}},{key:"getObstacleDecision",value:function(e){var t=this.getFence(e);if("YIELD"===e||"OVERTAKE"===e){var n=re[e],r=(0,te.drawDashedLineFromPoints)([new u.Vector3(1,1,0),new u.Vector3(0,0,0)],n,2,2,1,30);t.add(r),t.connect=r}return t.visible=!1,t}},{key:"getFence",value:function(e){var t=new u.Object3D;switch(e){case"STOP":var n=(0,te.drawImage)(E.default,11.625,3,0,1.5,0);t.add(n);var r=(0,te.drawImage)(m.default,1,1,3,3.6,0);t.add(r);break;case"FOLLOW":n=(0,te.drawImage)(k.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(v.default,1,1,3,3.6,0),t.add(r);break;case"YIELD":n=(0,te.drawImage)(P.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(b.default,1,1,3,3.6,0),t.add(r);break;case"OVERTAKE":n=(0,te.drawImage)(A.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(_.default,1,1,3,3.6,0),t.add(r);break;case"MAIN_STOP":n=(0,te.drawImage)(M.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(h.default,1,1,3,3.6,0),t.add(r)}return t}}]),e}();t.default=oe},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(32),h=function(){function e(){(0,o.default)(this,e),this.circle=null,this.base=null}return(0,s.default)(e,[{key:"update",value:function(e,t,n){if(e.gps&&e.autoDrivingCar){if(!this.circle){var r=new u.MeshBasicMaterial({color:27391,transparent:!1,opacity:.5});this.circle=(0,f.drawCircle)(.2,r),n.add(this.circle)}this.base||(this.base=(0,f.drawSegmentsFromPoints)([new u.Vector3(3.89,-1.05,0),new u.Vector3(3.89,1.06,0),new u.Vector3(-1.04,1.06,0),new u.Vector3(-1.04,-1.05,0),new u.Vector3(3.89,-1.05,0)],27391,2,5),n.add(this.base));var i=d.default.options.showPositionGps,o=t.applyOffset({x:e.gps.positionX,y:e.gps.positionY,z:0});this.circle.position.set(o.x,o.y,o.z),this.circle.visible=i,this.base.position.set(o.x,o.y,o.z),this.base.rotation.set(0,0,e.gps.heading),this.base.visible=i}}}]),e}();t.default=h},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(57),d=n(451),f=r(d),h=n(31),p=r(h),m=function(){function e(){var t=this;(0,o.default)(this,e),this.type="default",this.loadedMap=null,this.updateMap=null,this.mesh=null,this.geometry=null,this.initialized=!1,(0,c.loadTexture)(f.default,function(e){t.geometry=new u.PlaneGeometry(1,1),t.mesh=new u.Mesh(t.geometry,new u.MeshBasicMaterial({map:e}))})}return(0,s.default)(e,[{key:"initialize",value:function(e){return!!this.mesh&&(!(this.loadedMap===this.updateMap&&!this.render(e))&&(this.initialized=!0,!0))}},{key:"update",value:function(e,t,n){var r=this;if(!0===this.initialized&&this.loadedMap!==this.updateMap){var i=this.titleCaseToSnakeCase(this.updateMap),o="http://"+window.location.hostname+":8888",a=o+"/assets/map_data/"+i+"/background.jpg";(0,c.loadTexture)(a,function(e){console.log("updating ground image with "+i),r.mesh.material.map=e,r.render(t,i)},function(e){console.log("using grid as ground image..."),(0,c.loadTexture)(f.default,function(e){r.mesh.material.map=e,r.render(t)})}),this.loadedMap=this.updateMap}}},{key:"updateImage",value:function(e){this.updateMap=e}},{key:"render",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"defaults";console.log("rendering ground image...");var n=p.default.ground[t],r=n.xres,i=n.yres,o=n.mpp,a=n.xorigin,s=n.yorigin,l=e.applyOffset({x:a,y:s});return null===l?(console.warn("Cannot find position for ground mesh!"),!1):("defaults"===t&&(l={x:0,y:0}),this.mesh.position.set(l.x,l.y,0),this.mesh.scale.set(r*o,i*o,1),this.mesh.material.needsUpdate=!0,this.mesh.overdraw=!1,!0)}},{key:"titleCaseToSnakeCase",value:function(e){return e.replace(/\s/g,"_").toLowerCase()}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(108),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(17),h=n(32),p=n(426),m=r(p),g=n(427),v=r(g),y=n(428),b=r(y),x=n(429),w=r(x),M=n(57),S={YELLOW:14329120,WHITE:13421772,CORAL:16744272,RED:16737894,GREEN:25600,BLUE:3188223,PURE_WHITE:16777215,DEFAULT:12632256},E={x:.006,y:.006,z:.006},T={x:2,y:2,z:2},k=function(){function e(){(0,s.default)(this,e),(0,M.loadObject)(b.default,w.default,E),(0,M.loadObject)(m.default,v.default,T),this.hash=-1,this.data={},this.laneHeading={},this.overlapMap={},this.initialized=!1}return(0,u.default)(e,[{key:"diffMapElements",value:function(e,t){var n={},r=!0;for(var i in e)!function(i){n[i]=[];for(var o=e[i],a=t[i],s=0;s=2){var r=Math.atan2(t[n-1].y-t[0].y,t[n-1].x-t[0].x);return 1.5*Math.PI+r}return NaN}},{key:"getSignalPositionAndHeading",value:function(e,t){var n=[];if(e.subsignal.forEach(function(e){e.location&&n.push(e.location)}),0===n.length&&(console.warn("Subsignal locations not found, use signal boundary instead."),n.push(e.boundary.point)),0===n.length)return console.warn("Unable to determine signal location, skip."),null;var r=void 0,i=e.overlapId.length;if(i>0){var o=e.overlapId[i-1].id;r=this.laneHeading[this.overlapMap[o]]}if(r||(console.warn("Unable to get traffic light heading, use orthogonal direction of StopLine."),r=this.getHeadingFromStopLine(e)),isNaN(r))return console.error("Error loading traffic light. Unable to determine heading."),null;var a=new d.Vector3(0,0,0);return a.x=_.meanBy(_.values(n),function(e){return e.x}),a.y=_.meanBy(_.values(n),function(e){return e.y}),a=t.applyOffset(a),{pos:a,heading:r}}},{key:"drawStopLine",value:function(e,t,n,r){e.forEach(function(e){e.segment.forEach(function(e){var i=n.applyOffsetToArray(e.lineSegment.point),o=(0,h.drawSegmentsFromPoints)(i,S.PURE_WHITE,5,3,!1);r.add(o),t.push(o)})})}},{key:"addTrafficLight",value:function(e,t,n){var r=[],i=this.getSignalPositionAndHeading(e,t);return i&&(0,M.loadObject)(b.default,w.default,E,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:"getStopSignPositionAndHeading",value:function(e,t){var n=void 0;if(e.overlapId.length>0){var r=e.overlapId[0].id;n=this.laneHeading[this.overlapMap[r]]}if(n||(console.warn("Unable to get stop sign heading, use orthogonal direction of StopLine."),n=this.getHeadingFromStopLine(e)),isNaN(n))return console.error("Error loading stop sign. Unable to determine heading."),null;var i=e.stopLine[0].segment[0].lineSegment.point[0],o=new d.Vector3(i.x,i.y,0);return o=t.applyOffset(o),{pos:o,heading:n}}},{key:"addStopSign",value:function(e,t,n){var r=[],i=this.getStopSignPositionAndHeading(e,t);return i&&(0,M.loadObject)(m.default,v.default,T,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading+Math.PI/2,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:"removeDrewObjects",value:function(e,t){e&&e.forEach(function(e){t.remove(e),e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}},{key:"removeExpiredElements",value:function(e,t){var n=this,r={};for(var i in this.data)!function(i){r[i]=[];var o=n.data[i],a=e[i];o.forEach(function(e){a&&a.includes(e.id.id)?r[i].push(e):(n.removeDrewObjects(e.drewObjects,t),"lane"===i&&delete n.laneHeading[e.id.id])})}(i);this.data=r}},{key:"appendMapData",value:function(e,t,n){for(var r in e){this.data[r]||(this.data[r]=[]);for(var i=0;i.2&&(g-=.7)})}}))}},{key:"getPredCircle",value:function(){var e=new u.MeshBasicMaterial({color:16777215,transparent:!1,opacity:.5}),t=(0,h.drawCircle)(.2,e);return this.predCircles.push(t),t}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l),n(16)),c=r(u),d=n(32),f=(n(39),function(){function e(){(0,o.default)(this,e),this.routePaths=[],this.lastRoutingTime=-1}return(0,s.default)(e,[{key:"update",value:function(e,t,n,r){var i=this;this.routePaths.forEach(function(e){e.visible=c.default.options.showRouting}),this.lastRoutingTime!==e&&void 0!==t&&(this.lastRoutingTime=e,this.routePaths.forEach(function(e){r.remove(e),e.material.dispose(),e.geometry.dispose()}),t.forEach(function(e){var t=n.applyOffsetToArray(e.point),o=(0,d.drawThickBandFromPoints)(t,.3,16711680,.6,5);o.visible=c.default.options.showRouting,r.add(o),i.routePaths.push(o)}))}}]),e}());t.default=f},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l);n(473);var u=n(461),c=r(u),d=n(31),f=r(d),h=n(16),p=(r(h),n(17)),m=r(p),g=n(32),v=function(){function e(){(0,o.default)(this,e),this.routePoints=[],this.inEditingMode=!1}return(0,s.default)(e,[{key:"isInEditingMode",value:function(){return this.inEditingMode}},{key:"enableEditingMode",value:function(e,t){this.inEditingMode=!0;e.fov=f.default.camera.Map.fov,e.near=f.default.camera.Map.near,e.far=f.default.camera.Map.far,e.updateProjectionMatrix(),m.default.requestMapElementIdsByRadius(this.EDITING_MAP_RADIUS)}},{key:"disableEditingMode",value:function(e){this.inEditingMode=!1,this.removeAllRoutePoints(e)}},{key:"addRoutingPoint",value:function(e,t,n){var r=t.applyOffset({x:e.x,y:e.y}),i=(0,g.drawImage)(c.default,3.5,3.5,r.x,r.y,.3);this.routePoints.push(i),n.add(i)}},{key:"removeLastRoutingPoint",value:function(e){var t=this.routePoints.pop();t&&(e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose())}},{key:"removeAllRoutePoints",value:function(e){this.routePoints.forEach(function(t){e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}),this.routePoints=[]}},{key:"sendRoutingRequest",value:function(e,t){if(0===this.routePoints.length)return alert("Please provide at least an end point."),!1;var n=this.routePoints.map(function(e){return e.position.z=0,t.applyOffset(e.position,!0)}),r=n.length>1?n[0]:t.applyOffset(e,!0),i=n[n.length-1],o=n.length>1?n.slice(1,-1):[];return m.default.requestRoute(r,o,i),!0}}]),e}();t.default=v,v.prototype.EDITING_MAP_RADIUS=1500},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(39),d={},f=!1,h=new u.FontLoader,p="fonts/gentilis_bold.typeface.json";h.load(p,function(e){d.gentilis_bold=e,f=!0},function(e){console.log(p+e.loaded/e.total*100+"% loaded")},function(e){console.log("An error happened when loading "+p)});var m=function(){function e(){(0,o.default)(this,e),this.charMeshes={},this.charPointers={}}return(0,s.default)(e,[{key:"reset",value:function(){this.charPointers={}}},{key:"composeText",value:function(e){if(!f)return null;for(var t=c.map(e,function(e){return e.charCodeAt(0)-32}),n=new u.Object3D,r=0;r0?this.charMeshes[i][0].clone():this.drawChar3D(e[r]),this.charMeshes[i].push(a)),a.position.set(.4*(r-t.length/2),0,0),this.charPointers[i]++,n.add(a)}return n}},{key:"drawChar3D",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.gentilis_bold,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16771584,o=new u.TextGeometry(e,{font:t,size:n,height:r}),a=new u.MeshBasicMaterial({color:i});return new u.Mesh(o,a)}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=new f.default(e);for(var r in t)n.delete(r);return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=n(58),a=r(o),s=n(0),l=r(s),u=n(1),c=r(u),d=n(238),f=r(d),h=n(10),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(h),m=n(31),g=r(m),v=n(17),y=(r(v),n(57)),b=function(){function e(){(0,l.default)(this,e),this.mesh=!0,this.type="tile",this.hash=-1,this.currentTiles={},this.initialized=!1,this.range=g.default.ground.tileRange,this.metadata=null,this.mapId=null,this.mapUrlPrefix=null}return(0,c.default)(e,[{key:"initialize",value:function(e,t){this.metadata={tileLength:t.tile*t.mpp,left:t.left,top:t.top,numCols:t.wnum,numRows:t.hnum,mpp:t.mpp,tile:t.tile,imageUrl:t.image_url},this.mapId=t.mapid,this.mapUrlPrefix=this.metadata.imageUrl?this.metadata.imageUrl+"/"+this.mapId:e+"/map/getMapPic",this.initialized=!0}},{key:"removeDrewObject",value:function(e,t){var n=this.currentTiles[e];n&&(t.remove(n),n.geometry&&n.geometry.dispose(),n.material&&n.material.dispose()),delete this.currentTiles[e]}},{key:"appendTiles",value:function(e,t,n,r,i){var o=this;if(!(t<0||t>this.metadata.numCols||e<0||e>this.metadata.numRows)){var a=this.metadata.imageUrl?this.mapUrlPrefix+"/"+this.metadata.mpp+"_"+e+"_"+t+"_"+this.metadata.tile+".png":this.mapUrlPrefix+"?mapId="+this.mapId+"&i="+e+"&j="+t,s=r.applyOffset({x:this.metadata.left+(e+.5)*this.metadata.tileLength,y:this.metadata.top-(t+.5)*this.metadata.tileLength,z:0});(0,y.loadTexture)(a,function(e){var t=new p.Mesh(new p.PlaneGeometry(1,1),new p.MeshBasicMaterial({map:e}));t.position.set(s.x,s.y,s.z),t.scale.set(o.metadata.tileLength,o.metadata.tileLength,1),t.overdraw=!1,o.currentTiles[n]=t,i.add(t)})}}},{key:"removeExpiredTiles",value:function(e,t){for(var n in this.currentTiles)e.has(n)||this.removeDrewObject(n,t)}},{key:"updateIndex",value:function(e,t,n,r){if(e!==this.hash){this.hash=e,this.removeExpiredTiles(t,r);var o=i(t,this.currentTiles);if(!_.isEmpty(o)||!this.initialized){var s=!0,l=!1,u=void 0;try{for(var c,d=(0,a.default)(o);!(s=(c=d.next()).done);s=!0){var f=c.value;this.currentTiles[f]=null;var h=f.split(","),p=parseInt(h[0]),m=parseInt(h[1]);this.appendTiles(p,m,f,n,r)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}}}},{key:"update",value:function(e,t,n){if(t.isInitialized()&&this.initialized){for(var r=e.autoDrivingCar.positionX,i=e.autoDrivingCar.positionY,o=Math.floor((r-this.metadata.left)/this.metadata.tileLength),a=Math.floor((this.metadata.top-i)/this.metadata.tileLength),s=new f.default,l="",u=o-this.range;u<=o+this.range;u++)for(var c=a-this.range;c<=a+this.range;c++){var d=u+","+c;s.add(d),l+=d}this.updateIndex(l,s,t,n)}}}]),e}();t.default=b},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)return[];for(var n=[],r=0;r0){if(Math.abs(n[n.length-1].x-o.x)+Math.abs(n[n.length-1].y-o.y)1e-4?t.length/Math.tan(n):1e5;var i=t.heading,o=Math.abs(r),a=7200/(2*Math.PI*o)*Math.PI/180,s=null,l=null,u=null,c=null;r>=0?(u=Math.PI/2+i,c=i-Math.PI/2,s=0,l=a):(u=i-Math.PI/2,c=Math.PI/2+i,s=-a,l=0);var d=t.positionX+Math.cos(u)*o,f=t.positionY+Math.sin(u)*o,h=new v.EllipseCurve(d,f,o,o,s,l,!1,c);e.steerCurve=h.getPoints(25)}},{key:"interpolateValueByCurrentTime",value:function(e,t,n){if("timestampSec"===n)return t;var r=e.map(function(e){return e.timestampSec}),i=e.map(function(e){return e[n]});return new v.LinearInterpolant(r,i,1,[]).evaluate(t)[0]}},{key:"updateGraph",value:function(e,t,n,r,i){var o=n.timestampSec,a=e.target.length>0&&o=80;if(a?(e.target=[],e.real=[],e.autoModeZone=[]):s&&(e.target.shift(),e.real.shift(),e.autoModeZone.shift()),0===e.target.length||o!==e.target[e.target.length-1].t){e.plan=t.map(function(e){return{x:e[r],y:e[i]}}),e.target.push({x:this.interpolateValueByCurrentTime(t,o,r),y:this.interpolateValueByCurrentTime(t,o,i),t:o}),e.real.push({x:n[r],y:n[i]});var l="DISENGAGE_NONE"===n.disengageType;e.autoModeZone.push({x:n[r],y:l?n[i]:void 0})}}},{key:"update",value:function(e){var t=e.planningTrajectory,n=e.autoDrivingCar;t&&n&&(this.updateGraph(this.data.speedGraph,t,n,"timestampSec","speed"),this.updateGraph(this.data.accelerationGraph,t,n,"timestampSec","speedAcceleration"),this.updateGraph(this.data.curvatureGraph,t,n,"timestampSec","kappa"),this.updateGraph(this.data.trajectoryGraph,t,n,"positionX","positionY"),this.updateSteerCurve(this.data.trajectoryGraph,n),this.data.trajectoryGraph.pose[0].x=n.positionX,this.data.trajectoryGraph.pose[0].y=n.positionY,this.data.trajectoryGraph.pose[0].rotation=n.heading,this.updateTime(e.planningTime))}}]),e}(),s=o(a.prototype,"lastUpdatedTime",[g.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,"updateTime",[g.action],(0,d.default)(a.prototype,"updateTime"),a.prototype),a);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,m.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h,p=n(18),m=r(p),g=n(24),v=r(g),y=n(35),b=r(y),x=n(0),_=r(x),w=n(1),M=r(w),S=n(22),E=n(17),T=r(E),k=(a=function(){function e(){(0,_.default)(this,e),this.modes={},i(this,"currentMode",s,this),this.vehicles=[],i(this,"currentVehicle",l,this),this.maps=[],i(this,"currentMap",u,this),i(this,"moduleStatus",c,this),i(this,"hardwareStatus",d,this),i(this,"enableStartAuto",f,this),this.displayName={},i(this,"dockerImage",h,this)}return(0,M.default)(e,[{key:"initialize",value:function(e){var t=this;e.dockerImage&&(this.dockerImage=e.dockerImage),e.modes&&(this.modes=e.modes),this.vehicles=(0,b.default)(e.availableVehicles).sort().map(function(e){return e}),this.maps=(0,b.default)(e.availableMaps).sort().map(function(e){return e}),(0,b.default)(e.modules).forEach(function(n){t.moduleStatus.set(n,!1),t.displayName[n]=e.modules[n].displayName}),(0,b.default)(e.hardware).forEach(function(n){t.hardwareStatus.set(n,"NOT_READY"),t.displayName[n]=e.hardware[n].displayName})}},{key:"updateStatus",value:function(e){if(e.currentMode&&(this.currentMode=e.currentMode),e.currentMap&&(this.currentMap=e.currentMap),e.currentVehicle&&(this.currentVehicle=e.currentVehicle),e.systemStatus){if(e.systemStatus.modules)for(var t in e.systemStatus.modules)this.moduleStatus.set(t,e.systemStatus.modules[t].processStatus.running);if(e.systemStatus.hardware)for(var n in e.systemStatus.hardware)this.hardwareStatus.set(n,e.systemStatus.hardware[n].summary)}}},{key:"update",value:function(e){this.enableStartAuto="READY_TO_ENGAGE"===e.engageAdvice}},{key:"toggleModule",value:function(e){this.moduleStatus.set(e,!this.moduleStatus.get(e));var t=this.moduleStatus.get(e)?"start":"stop";T.default.executeModuleCommand(e,t)}},{key:"showRTKCommands",get:function(){return"RTK Record / Replay"===this.currentMode}},{key:"showNavigationMap",get:function(){return"Navigation"===this.currentMode}}]),e}(),s=o(a.prototype,"currentMode",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),l=o(a.prototype,"currentVehicle",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),u=o(a.prototype,"currentMap",[S.observable],{enumerable:!0,initializer:function(){return"none"}}),c=o(a.prototype,"moduleStatus",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),d=o(a.prototype,"hardwareStatus",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),f=o(a.prototype,"enableStartAuto",[S.observable],{enumerable:!0,initializer:function(){return!1}}),h=o(a.prototype,"dockerImage",[S.observable],{enumerable:!0,initializer:function(){return""}}),o(a.prototype,"initialize",[S.action],(0,v.default)(a.prototype,"initialize"),a.prototype),o(a.prototype,"updateStatus",[S.action],(0,v.default)(a.prototype,"updateStatus"),a.prototype),o(a.prototype,"update",[S.action],(0,v.default)(a.prototype,"update"),a.prototype),o(a.prototype,"toggleModule",[S.action],(0,v.default)(a.prototype,"toggleModule"),a.prototype),o(a.prototype,"showRTKCommands",[S.computed],(0,v.default)(a.prototype,"showRTKCommands"),a.prototype),o(a.prototype,"showNavigationMap",[S.computed],(0,v.default)(a.prototype,"showNavigationMap"),a.prototype),a);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,b.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}function a(e){return 10*Math.round(e/10)}function s(e){switch(e){case"DISENGAGE_MANUAL":return"MANUAL";case"DISENGAGE_NONE":return"AUTO";case"DISENGAGE_EMERGENCY":return"DISENGAGED";case"DISENGAGE_AUTO_STEER_ONLY":return"AUTO STEER";case"DISENGAGE_AUTO_SPEED_ONLY":return"AUTO SPEED";case"DISENGAGE_CHASSIS_ERROR":return"CHASSIS ERROR";default:return"?"}}function l(e){return"DISENGAGE_NONE"===e||"DISENGAGE_AUTO_STEER_ONLY"===e||"DISENGAGE_AUTO_SPEED_ONLY"===e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var u,c,d,f,h,p,m,g,v,y=n(18),b=r(y),x=n(24),_=r(x),w=n(0),M=r(w),S=n(1),E=r(S),T=n(22),k=(u=function(){function e(){(0,M.default)(this,e),i(this,"throttlePercent",c,this),i(this,"brakePercent",d,this),i(this,"speed",f,this),i(this,"steeringAngle",h,this),i(this,"steeringPercentage",p,this),i(this,"drivingMode",m,this),i(this,"isAutoMode",g,this),i(this,"turnSignal",v,this)}return(0,E.default)(e,[{key:"update",value:function(e){e.autoDrivingCar&&(void 0!==e.autoDrivingCar.throttlePercentage&&(this.throttlePercent=a(e.autoDrivingCar.throttlePercentage)),void 0!==e.autoDrivingCar.brakePercentage&&(this.brakePercent=a(e.autoDrivingCar.brakePercentage)),void 0!==e.autoDrivingCar.speed&&(this.speed=e.autoDrivingCar.speed),void 0===e.autoDrivingCar.steeringPercentage||isNaN(e.autoDrivingCar.steeringPercentage)||(this.steeringPercentage=Math.round(e.autoDrivingCar.steeringPercentage)),void 0===e.autoDrivingCar.steeringAngle||isNaN(e.autoDrivingCar.steeringAngle)||(this.steeringAngle=-Math.round(180*e.autoDrivingCar.steeringAngle/Math.PI)),void 0!==e.autoDrivingCar.disengageType&&(this.drivingMode=s(e.autoDrivingCar.disengageType),this.isAutoMode=l(e.autoDrivingCar.disengageType)),void 0!==e.autoDrivingCar.currentSignal&&(this.turnSignal=e.autoDrivingCar.currentSignal))}}]),e}(),c=o(u.prototype,"throttlePercent",[T.observable],{enumerable:!0,initializer:function(){return 0}}),d=o(u.prototype,"brakePercent",[T.observable],{enumerable:!0,initializer:function(){return 0}}),f=o(u.prototype,"speed",[T.observable],{enumerable:!0,initializer:function(){return 0}}),h=o(u.prototype,"steeringAngle",[T.observable],{enumerable:!0,initializer:function(){return 0}}),p=o(u.prototype,"steeringPercentage",[T.observable],{enumerable:!0,initializer:function(){return 0}}),m=o(u.prototype,"drivingMode",[T.observable],{enumerable:!0,initializer:function(){return"?"}}),g=o(u.prototype,"isAutoMode",[T.observable],{enumerable:!0,initializer:function(){return!1}}),v=o(u.prototype,"turnSignal",[T.observable],{enumerable:!0,initializer:function(){return""}}),o(u.prototype,"update",[T.action],(0,_.default)(u.prototype,"update"),u.prototype),u);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,d.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c=n(18),d=r(c),f=n(24),h=r(f),p=n(0),m=r(p),g=n(1),v=r(g),y=n(22),b=(a=function(){function e(){(0,m.default)(this,e),i(this,"lastUpdateTimestamp",s,this),i(this,"hasActiveNotification",l,this),i(this,"items",u,this),this.refreshTimer=null}return(0,v.default)(e,[{key:"startRefresh",value:function(){var e=this;this.clearRefreshTimer(),this.refreshTimer=setInterval(function(){Date.now()-e.lastUpdateTimestamp>6e3&&(e.setHasActiveNotification(!1),e.clearRefreshTimer())},500)}},{key:"clearRefreshTimer",value:function(){null!==this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}},{key:"setHasActiveNotification",value:function(e){this.hasActiveNotification=e}},{key:"update",value:function(e){if(e.monitor){var t=e.monitor,n=t.item,r=t.header,i=Math.floor(1e3*r.timestampSec);i>this.lastUpdateTimestamp&&(this.hasActiveNotification=!0,this.lastUpdateTimestamp=i,this.items.replace(n),this.startRefresh())}}},{key:"insert",value:function(e,t,n){var r=[];r.push({msg:t,logLevel:e});for(var i=0;i10||e<-10?100*e/Math.abs(e):e}},{key:"extractDataPoints",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!e)return[];var o=e.map(function(e){return{x:e[t]+i,y:e[n]}});return r&&e.length&&o.push({x:e[0][t],y:e[0][n]}),o}},{key:"updateSLFrame",value:function(e){var t=this.data.slGraph,n=e[0].sampledS;t.mapLowerBound=this.generateDataPoints(n,e[0].mapLowerBound,this.transformMapBound),t.mapUpperBound=this.generateDataPoints(n,e[0].mapUpperBound,this.transformMapBound),t.staticObstacleLowerBound=this.generateDataPoints(n,e[0].staticObstacleLowerBound),t.staticObstacleUpperBound=this.generateDataPoints(n,e[0].staticObstacleUpperBound),t.dynamicObstacleLowerBound=this.generateDataPoints(n,e[0].dynamicObstacleLowerBound),t.dynamicObstacleUpperBound=this.generateDataPoints(n,e[0].dynamicObstacleUpperBound),t.pathLine=this.extractDataPoints(e[0].slPath,"s","l");var r=e[1].aggregatedBoundaryS;t.aggregatedBoundaryLow=this.generateDataPoints(r,e[1].aggregatedBoundaryLow),t.aggregatedBoundaryHigh=this.generateDataPoints(r,e[1].aggregatedBoundaryHigh)}},{key:"updateSTGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.stGraph[a.name]={obstaclesBoundary:{}};var s=this.data.stGraph[a.name];if(a.boundary){var l=!0,u=!1,c=void 0;try{for(var d,f=(0,h.default)(a.boundary);!(l=(d=f.next()).done);l=!0){var p=d.value,m=p.type.substring("ST_BOUNDARY_TYPE_".length),g=p.name+"_"+m;s.obstaclesBoundary[g]=this.extractDataPoints(p.point,"t","s",!0)}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}s.curveLine=this.extractDataPoints(a.speedProfile,"t","s"),a.kernelCruiseRef&&(s.kernelCruise=this.generateDataPoints(a.kernelCruiseRef.t,a.kernelCruiseRef.cruiseLineS)),a.kernelFollowRef&&(s.kernelFollow=this.generateDataPoints(a.kernelFollowRef.t,a.kernelFollowRef.followLineS))}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updateSTSpeedGraph",value:function(e){var t=this,n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e);!(n=(o=a.next()).done);n=!0){var s=o.value;this.data.stSpeedGraph[s.name]={};var l=this.data.stSpeedGraph[s.name];l.limit=this.extractDataPoints(s.speedLimit,"s","v"),l.planned=this.extractDataPoints(s.speedProfile,"s","v"),s.speedConstraint&&function(){var e=s.speedProfile.map(function(e){return e.t}),n=s.speedProfile.map(function(e){return e.s}),r=new b.LinearInterpolant(e,n,1,[]),i=s.speedConstraint.t.map(function(e){return r.evaluate(e)[0]});l.lowerConstraint=t.generateDataPoints(i,s.speedConstraint.lowerBound),l.upperConstraint=t.generateDataPoints(i,s.speedConstraint.upperBound)}()}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}},{key:"updateSpeed",value:function(e,t){var n=this.data.speedGraph;if(e){var r=!0,i=!1,o=void 0;try{for(var a,s=(0,h.default)(e);!(r=(a=s.next()).done);r=!0){var l=a.value;n[l.name]=this.extractDataPoints(l.speedPoint,"t","v")}}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}}t&&(n.finalSpeed=this.extractDataPoints(t,"timestampSec","speed",!1,-this.planningTime))}},{key:"updateAccelerationGraph",value:function(e){var t=this.data.accelerationGraph;e&&(t.acceleration=this.extractDataPoints(e,"timestampSec","speedAcceleration",!1,-this.planningTime))}},{key:"updateKappaGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.kappaGraph[a.name]=this.extractDataPoints(a.pathPoint,"s","kappa")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updateDkappaGraph",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.dkappaGraph[a.name]=this.extractDataPoints(a.pathPoint,"s","dkappa")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:"updadteLatencyGraph",value:function(e,t){for(var n in this.latencyGraph){var r=this.latencyGraph[n];if(r.length>0){var i=r[0].x,o=r[r.length-1].x,a=e-i;e3e5&&r.shift()}0!==r.length&&r[r.length-1].x===e||r.push({x:e,y:t.planning})}}},{key:"updateDpPolyGraph",value:function(e){var t=this.data.dpPolyGraph;if(e.sampleLayer){t.sampleLayer=[];var n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e.sampleLayer);!(n=(o=a.next()).done);n=!0){o.value.slPoint.map(function(e){var n=e.s,r=e.l;t.sampleLayer.push({x:n,y:r})})}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}e.minCostPoint&&(t.minCostPoint=this.extractDataPoints(e.minCostPoint,"s","l"))}},{key:"update",value:function(e){var t=e.planningData;if(t){if(this.planningTime===e.planningTime)return;this.data=this.initData(),t.slFrame&&t.slFrame.length>=2&&this.updateSLFrame(t.slFrame),t.stGraph&&(this.updateSTGraph(t.stGraph),this.updateSTSpeedGraph(t.stGraph)),t.speedPlan&&e.planningTrajectory&&this.updateSpeed(t.speedPlan,e.planningTrajectory),e.planningTrajectory&&this.updateAccelerationGraph(e.planningTrajectory),t.path&&(this.updateKappaGraph(t.path),this.updateDkappaGraph(t.path)),t.dpPolyGraph&&this.updateDpPolyGraph(t.dpPolyGraph),e.latency&&this.updadteLatencyGraph(e.planningTime,e.latency),this.updatePlanningTime(e.planningTime)}}}]),e}(),s=o(a.prototype,"planningTime",[y.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,"updatePlanningTime",[y.action],(0,d.default)(a.prototype,"updatePlanningTime"),a.prototype),a);t.default=x},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,p.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h=n(18),p=r(h),m=n(24),g=r(m),v=n(0),y=r(v),b=n(1),x=r(b),_=n(22);n(476);var w=(a=function(){function e(){(0,y.default)(this,e),this.FPS=10,this.msPerFrame=100,this.jobId=null,this.mapId=null,i(this,"numFrames",s,this),i(this,"requestedFrame",l,this),i(this,"retrievedFrame",u,this),i(this,"isPlaying",c,this),i(this,"isSeeking",d,this),i(this,"seekingFrame",f,this)}return(0,x.default)(e,[{key:"setMapId",value:function(e){this.mapId=e}},{key:"setJobId",value:function(e){this.jobId=e}},{key:"setNumFrames",value:function(e){this.numFrames=parseInt(e)}},{key:"setPlayRate",value:function(e){if("number"==typeof e&&e>0){var t=1/this.FPS*1e3;this.msPerFrame=t/e}}},{key:"initialized",value:function(){return this.numFrames&&null!==this.jobId&&null!==this.mapId}},{key:"hasNext",value:function(){return this.initialized()&&this.requestedFrame0&&e<=this.numFrames&&(this.seekingFrame=e,this.requestedFrame=e-1,this.isSeeking=!0)}},{key:"resetFrame",value:function(){this.requestedFrame=0,this.retrievedFrame=0,this.seekingFrame=1}},{key:"shouldProcessFrame",value:function(e){return!(!e||!e.sequenceNum||this.seekingFrame!==e.sequenceNum||!this.isPlaying&&!this.isSeeking)&&(this.retrievedFrame=e.sequenceNum,this.isSeeking=!1,this.seekingFrame++,!0)}},{key:"currentFrame",get:function(){return this.retrievedFrame}},{key:"replayComplete",get:function(){return this.seekingFrame>this.numFrames}}]),e}(),s=o(a.prototype,"numFrames",[_.observable],{enumerable:!0,initializer:function(){return 0}}),l=o(a.prototype,"requestedFrame",[_.observable],{enumerable:!0,initializer:function(){return 0}}),u=o(a.prototype,"retrievedFrame",[_.observable],{enumerable:!0,initializer:function(){return 0}}),c=o(a.prototype,"isPlaying",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=o(a.prototype,"isSeeking",[_.observable],{enumerable:!0,initializer:function(){return!0}}),f=o(a.prototype,"seekingFrame",[_.observable],{enumerable:!0,initializer:function(){return 1}}),o(a.prototype,"next",[_.action],(0,g.default)(a.prototype,"next"),a.prototype),o(a.prototype,"currentFrame",[_.computed],(0,g.default)(a.prototype,"currentFrame"),a.prototype),o(a.prototype,"replayComplete",[_.computed],(0,g.default)(a.prototype,"replayComplete"),a.prototype),o(a.prototype,"setPlayAction",[_.action],(0,g.default)(a.prototype,"setPlayAction"),a.prototype),o(a.prototype,"seekFrame",[_.action],(0,g.default)(a.prototype,"seekFrame"),a.prototype),o(a.prototype,"resetFrame",[_.action],(0,g.default)(a.prototype,"resetFrame"),a.prototype),o(a.prototype,"shouldProcessFrame",[_.action],(0,g.default)(a.prototype,"shouldProcessFrame"),a.prototype),a);t.default=w},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,c.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,s,l,u=n(18),c=r(u),d=n(24),f=r(d),h=n(0),p=r(h),m=n(1),g=r(m),v=n(22),y=n(40),b=r(y),x=(a=function(){function e(){(0,p.default)(this,e),i(this,"defaultRoutingEndPoint",s,this),i(this,"currentPOI",l,this)}return(0,g.default)(e,[{key:"updateDefaultRoutingEndPoint",value:function(e){if(void 0!==e.poi){this.defaultRoutingEndPoint={};for(var t=0;t150&&console.log("Last sim_world_update took "+(e.timestamp-this.lastUpdateTimestamp)+"ms"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.world.sequenceNum>this.lastSeqNum+1&&console.debug("Last seq: "+this.lastSeqNum+". New seq: "+e.world.sequenceNum+"."),this.lastSeqNum=e.world.sequenceNum}},{key:"startPlayback",value:function(e){var t=this;clearInterval(this.requestTimer),this.requestTimer=setInterval(function(){t.websocket.readyState===t.websocket.OPEN&&f.default.playback.initialized()&&(t.requestSimulationWorld(f.default.playback.jobId,f.default.playback.next()),f.default.playback.hasNext()||(clearInterval(t.requestTimer),t.requestTimer=null))},e/2),clearInterval(this.processTimer),this.processTimer=setInterval(function(){if(f.default.playback.initialized()){var e=100*f.default.playback.seekingFrame;e in t.frameData&&t.processSimWorld(t.frameData[e]),f.default.playback.replayComplete&&(clearInterval(t.processTimer),t.processTimer=null)}},e)}},{key:"pausePlayback",value:function(){clearInterval(this.requestTimer),clearInterval(this.processTimer),this.requestTimer=null,this.processTimer=null}},{key:"requestGroundMeta",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveGroundMeta",mapId:e}))}},{key:"processSimWorld",value:function(e){var t="string"==typeof e.world?JSON.parse(e.world):e.world;f.default.playback.shouldProcessFrame(t)&&(f.default.updateTimestamp(e.timestamp),p.default.maybeInitializeOffest(t.autoDrivingCar.positionX,t.autoDrivingCar.positionY),p.default.updateWorld(t,e.planningData),f.default.meters.update(t),f.default.monitor.update(t),f.default.trafficSignal.update(t))}},{key:"requstFrameCount",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveFrameCount",jobId:e}))}},{key:"requestSimulationWorld",value:function(e,t){var n=100*t;n in this.frameData?f.default.playback.isSeeking&&this.processSimWorld(this.frameData[n]):this.websocket.send((0,o.default)({type:"RequestSimulationWorld",jobId:e,frameId:t}))}}]),e}();t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(70),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(16),d=r(c),f=n(40),h=r(f),p=n(136),m=p.Root.fromJSON(n(479)),g=m.lookupType("apollo.dreamview.SimulationWorld"),v=function(){function e(t){(0,s.default)(this,e),this.serverAddr=t,this.websocket=null,this.counter=0,this.lastUpdateTimestamp=0,this.lastSeqNum=-1,this.currMapRadius=null,this.updatePOI=!0,this.routingTime=-1}return(0,u.default)(e,[{key:"initialize",value:function(){var e=this;this.counter=0;try{this.websocket=new WebSocket(this.serverAddr),this.websocket.binaryType="arraybuffer"}catch(t){return console.error("Failed to establish a connection: "+t),void setTimeout(function(){e.initialize()},1e3)}this.websocket.onmessage=function(t){var n=null;switch("string"==typeof t.data?n=JSON.parse(t.data):(n=g.toObject(g.decode(new Uint8Array(t.data)),{enums:String}),n.type="SimWorldUpdate"),n.type){case"HMIConfig":d.default.hmi.initialize(n.data);break;case"HMIStatus":d.default.hmi.updateStatus(n.data),h.default.updateGroundImage(d.default.hmi.currentMap);break;case"SimWorldUpdate":e.checkMessage(n),d.default.updateTimestamp(n.timestamp),d.default.updateModuleDelay(n),h.default.maybeInitializeOffest(n.autoDrivingCar.positionX,n.autoDrivingCar.positionY),d.default.meters.update(n),d.default.monitor.update(n),d.default.trafficSignal.update(n),d.default.hmi.update(n),h.default.updateWorld(n),d.default.options.showPNCMonitor&&(d.default.planningData.update(n),d.default.controlData.update(n)),n.mapHash&&e.counter%10==0&&(e.counter=0,e.currMapRadius=n.mapRadius,h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius)),e.routingTime!==n.routingTime&&(e.requestRoutePath(),e.routingTime=n.routingTime),e.counter+=1;break;case"MapElementIds":h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius);break;case"DefaultEndPoint":d.default.routeEditingManager.updateDefaultRoutingEndPoint(n);break;case"RoutePath":h.default.updateRouting(n.routingTime,n.routePath)}},this.websocket.onclose=function(t){console.log("WebSocket connection closed, close_code: "+t.code),e.initialize()},clearInterval(this.timer),this.timer=setInterval(function(){if(e.websocket.readyState===e.websocket.OPEN){e.updatePOI&&(e.requestDefaultRoutingEndPoint(),e.updatePOI=!1);var t=d.default.options.showPNCMonitor;e.websocket.send((0,o.default)({type:"RequestSimulationWorld",planning:t}))}},100)}},{key:"checkMessage",value:function(e){0!==this.lastUpdateTimestamp&&e.timestamp-this.lastUpdateTimestamp>150&&console.log("Last sim_world_update took "+(e.timestamp-this.lastUpdateTimestamp)+"ms"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.sequenceNum>this.lastSeqNum+1&&console.debug("Last seq: "+this.lastSeqNum+". New seq: "+e.sequenceNum+"."),this.lastSeqNum=e.sequenceNum}},{key:"requestMapElementIdsByRadius",value:function(e){this.websocket.send((0,o.default)({type:"RetrieveMapElementIdsByRadius",radius:e}))}},{key:"requestRoute",value:function(e,t,n){this.websocket.send((0,o.default)({type:"SendRoutingRequest",start:e,end:n,waypoint:t}))}},{key:"requestDefaultRoutingEndPoint",value:function(){this.websocket.send((0,o.default)({type:"GetDefaultEndPoint"}))}},{key:"resetBackend",value:function(){this.websocket.send((0,o.default)({type:"Reset"}))}},{key:"dumpMessages",value:function(){this.websocket.send((0,o.default)({type:"Dump"}))}},{key:"changeSetupMode",value:function(e){this.websocket.send((0,o.default)({type:"ChangeMode",new_mode:e}))}},{key:"changeMap",value:function(e){this.websocket.send((0,o.default)({type:"ChangeMap",new_map:e})),this.updatePOI=!0}},{key:"changeVehicle",value:function(e){this.websocket.send((0,o.default)({type:"ChangeVehicle",new_vehicle:e}))}},{key:"executeModeCommand",value:function(e){this.websocket.send((0,o.default)({type:"ExecuteModeCommand",command:e}))}},{key:"executeModuleCommand",value:function(e,t){this.websocket.send((0,o.default)({type:"ExecuteModuleCommand",module:e,command:t}))}},{key:"executeToolCommand",value:function(e,t){this.websocket.send((0,o.default)({type:"ExecuteToolCommand",tool:e,command:t}))}},{key:"changeDrivingMode",value:function(e){this.websocket.send((0,o.default)({type:"ChangeDrivingMode",new_mode:e}))}},{key:"submitDriveEvent",value:function(e,t){this.websocket.send((0,o.default)({type:"SubmitDriveEvent",event_time_ms:e,event_msg:t}))}},{key:"toggleSimControl",value:function(e){this.websocket.send((0,o.default)({type:"ToggleSimControl",enable:e}))}},{key:"requestRoutePath",value:function(){this.websocket.send((0,o.default)({type:"RequestRoutePath"}))}}]),e}();t.default=v},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'body{margin:0;overflow:hidden;background-color:#14171a!important;font:14px Lucida Grande,Helvetica,Arial,sans-serif;color:#fff}::-webkit-scrollbar{width:4px;height:8px;opacity:.3;background-color:#fff}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}::-webkit-scrollbar-thumb{opacity:.8;background-color:#30a5ff}::-webkit-scrollbar-thumb:active{background-color:#30a5ff}.header{display:flex;align-items:center;z-index:100;position:relative;top:0;left:0;height:60px;background:#000;color:#fff;font-size:16px;text-align:left}@media (max-height:800px){.header{height:55px;font-size:14px}}.header .apollo-logo{flex:0 0 auto;top:40px;left:40px;height:40px;width:121px;margin:10px auto 5px 18px}@media (max-height:800px){.header .apollo-logo{top:15px;left:25px;height:25px;width:80px;margin-top:5px}}.header .selector{flex:0 0 auto;position:relative;margin:5px;border:1px solid #383838}.header .selector select{display:block;border:none;padding:.5em 3em .5em .5em;background:#000;color:#fff;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header .selector .arrow{position:absolute;top:0;right:0;width:30px;height:100%;border-left:1px solid #383838;background:#181818;pointer-events:none}.header .selector .arrow:before{position:absolute;top:55%;right:7px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:"";pointer-events:none}.pane-container{position:absolute;width:100%;height:calc(100% - 60px)}@media (max-height:800px){.pane-container{height:calc(100% - 55px)}}.pane-container .left-pane{display:flex;flex-flow:row nowrap;align-items:stretch;position:absolute;bottom:0;top:0;width:100%}.pane-container .left-pane .dreamview-body{display:flex;flex-flow:column nowrap;flex:1 1 auto;overflow:hidden}.pane-container .left-pane .dreamview-body .main-view{flex:0 0 auto;position:relative}.pane-container .right-pane{position:absolute;right:0;width:100%;height:100%;overflow:hidden}.pane-container .right-pane ::-webkit-scrollbar{width:6px}.pane-container .SplitPane .Resizer{background:#000;opacity:.2;z-index:1;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-background-clip:padding;-webkit-background-clip:padding;background-clip:padding-box}.pane-container .SplitPane .Resizer:hover{-webkit-transition:all 2s ease;transition:all 2s ease}.pane-container .SplitPane .Resizer.vertical{width:11px;margin:0 -5px;border-left:5px solid hsla(0,0%,100%,0);border-right:5px solid hsla(0,0%,100%,0);cursor:col-resize}.pane-container .SplitPane .Resizer.vertical:hover{border-left:5px solid rgba(0,0,0,.5);border-right:5px solid rgba(0,0,0,.5)}.pane-container .SplitPane .Resizer.disabled{cursor:auto}.pane-container .SplitPane .Resizer.disabled:hover{border-color:transparent}.offlineview{display:flex;flex-flow:column nowrap;position:absolute;width:100%;height:100%}.offlineview .main-view{flex:0 0 auto;position:relative}.dreamview-canvas{z-index:1;position:absolute}.dreamview-canvas .geolocation{z-index:10;position:absolute;bottom:10px;right:10px;color:#fff}.hidden{display:none}.tools{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;margin-top:3px;overflow:hidden}.tools .card{flex:1 1 auto;border-right:3px solid #000;padding:25px 10px 25px 20px;background:#1d2226}@media (max-height:800px){.tools .card{padding:15px 5px 15px 15px}}.tools .card .card-header{width:100%;padding-bottom:15px;font-size:18px}.tools .card .card-header span{width:200px;border-bottom:1px solid #999;padding:10px 10px 10px 0}@media (max-height:800px){.tools .card .card-header{font-size:16px}}.tools .card .card-content-row{display:flex;flex-flow:row wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;height:85%}.tools .card .card-content-column{display:flex;flex-flow:column nowrap;overflow-x:hidden;overflow-y:auto;height:85%}.tools ul{flex:0 0 auto;margin:0 2px 0 0;padding-left:0;padding-right:5px;background-color:#1d2226;color:#999;list-style:none;cursor:pointer;font-size:12px}.tools ul li{line-height:40px}.tools ul li span{padding-left:20px}.tools ul li:hover{color:#fff;background-color:#2a3238}.tools .switch{display:inline-block;position:relative;width:40px;transform:translate(35%,25%)}.tools .switch .toggle-switch{display:none}.tools .switch .toggle-switch-label{display:block;overflow:hidden;cursor:pointer;height:20px;padding:0;line-height:20px;border:0;background-color:#3f4548;transition:background-color .2s ease-in}.tools .switch .toggle-switch-label:before{content:"";display:block;width:16px;margin:2px;background:#a0a0a0;position:absolute;top:0;bottom:0;right:20px;transition:all .2s ease-in}.tools .switch .toggle-switch:checked+.toggle-switch-label{background-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label,.tools .switch .toggle-switch:checked+.toggle-switch-label:before{border-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label:before{right:0;background-color:#30a5ff}.tools .switch .toggle-switch:disabled+.toggle-switch-label,.tools .switch .toggle-switch:disabled+.toggle-switch-label:before{cursor:not-allowed}.tools .nav-side-menu{display:flex;flex-flow:row nowrap;align-items:stretch;flex:2 1 auto;z-index:10!important;margin-right:3px;overflow-y:hidden;overflow-x:auto;background:#1d2226;font-size:14px;color:#fff;text-align:left;white-space:nowrap}.tools .nav-side-menu .summary{line-height:50px}@media (max-height:800px){.tools .nav-side-menu .summary{line-height:25px}}.tools .nav-side-menu .summary img{position:relative;width:30px;height:30px;transform:translate(-30%,25%)}@media (max-height:800px){.tools .nav-side-menu .summary img{width:15px;height:15px;transform:translate(-50%,10%)}}.tools .nav-side-menu .summary span{padding-left:10px}.tools .nav-side-menu input[type=radio]{display:none}.tools .nav-side-menu .radio-selector-label{display:inline-block;position:relative;transform:translate(65%,30%);box-sizing:border-box;-webkit-box-sizing:border-box;width:25px;height:25px;margin-right:6px;border-radius:50%;-webkit-border-radius:50%;background-color:#a0a0a0;box-shadow:inset 1px 0 #a0a0a0;border:7px solid #3f4548}.tools .nav-side-menu input[type=radio]:checked+.radio-selector-label{border:7px solid #0e3d62;background-color:#30a5ff}.tools .console{z-index:10;position:relative;min-width:230px;margin:0;border:none;padding:0;overflow-y:auto;overflow-x:hidden}.tools .console .monitor-item{display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default}.tools .console .monitor-item .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.tools .console .monitor-item .icon{height:15px;width:15px}}.tools .console .monitor-item .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.tools .console .monitor-item .alert{color:#d7466f}.tools .console .monitor-item .warn{color:#a3842d}.tools .poi-button{min-width:250px}.side-bar{display:flex;flex-direction:column;flex:0 0 auto;z-index:100;background:#1d2226;border-right:3px solid #000;overflow-y:auto;overflow-x:hidden}.side-bar .main-panel{margin-bottom:auto}.side-bar button:focus{outline:0}.side-bar .button{display:block;width:90px;border:none;padding:20px 10px;font-size:14px;text-align:center;background:#1d2226;color:#fff;opacity:.6;cursor:pointer}@media (max-height:800px){.side-bar .button{font-size:12px;width:80px;padding-top:10px}}.side-bar .button .icon{width:30px;height:30px;margin:auto}.side-bar .button .label{padding-top:10px}@media (max-height:800px){.side-bar .button .label{padding-top:4px}}.side-bar .button:first-child{padding-top:25px}@media (max-height:800px){.side-bar .button:first-child{padding-top:10px}}.side-bar .button:disabled{color:#414141;cursor:not-allowed}.side-bar .button:disabled .icon{opacity:.2}.side-bar .button-active{background:#2a3238;opacity:1;color:#fff}.side-bar .sub-button{display:block;width:90px;height:80px;border:none;padding:20px;font-size:14px;text-align:center;background:#3e4041;color:#999;cursor:pointer}@media (max-height:800px){.side-bar .sub-button{font-size:12px;width:80px;height:60px}}.side-bar .sub-button:disabled{cursor:not-allowed;opacity:.3}.side-bar .sub-button-active{background:#30a5ff;color:#fff}.status-bar{z-index:10;position:absolute;top:0;left:0;width:100%}.status-bar .auto-meter{position:absolute;width:224px;height:112px;top:10px;right:20px;background:rgba(0,0,0,.8)}.status-bar .auto-meter .speed-read{position:absolute;top:27px;left:15px;font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .auto-meter .speed-unit{position:absolute;top:66px;left:17px;color:#fff;font-size:15px}.status-bar .auto-meter .brake-panel{position:absolute;top:21px;right:2px}.status-bar .auto-meter .throttle-panel{position:absolute;top:61px;right:2px}.status-bar .auto-meter .meter-container .meter-label{font-size:13px;color:#fff}.status-bar .auto-meter .meter-container .meter-head{display:inline-block;position:absolute;margin:5px 0 0;border-width:4px;border-style:solid}.status-bar .auto-meter .meter-container .meter-background{position:relative;display:block;height:2px;width:120px;margin:8px}.status-bar .auto-meter .meter-container .meter-background span{position:relative;overflow:hidden;display:block;height:100%}.status-bar .wheel-panel{display:flex;flex-direction:row;justify-content:left;align-items:center;position:absolute;top:128px;right:20px;width:187px;height:92px;padding:10px 22px 10px 15px;background:rgba(0,0,0,.8)}.status-bar .wheel-panel .steerangle-read{font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .wheel-panel .steerangle-unit{padding:20px 10px 0 3px;color:#fff;font-size:13px}.status-bar .wheel-panel .left-arrow{position:absolute;top:45px;right:115px;width:0;height:0;border-style:solid;border-width:12px 15px 12px 0;border-color:transparent}.status-bar .wheel-panel .right-arrow{position:absolute;top:45px;right:15px;width:0;height:0;border-style:solid;border-width:12px 0 12px 15px;border-color:transparent transparent transparent #30435e}.status-bar .wheel-panel .wheel{position:absolute;top:15px;right:33px}.status-bar .wheel-panel .wheel-background{stroke-width:3px;stroke:#006aff}.status-bar .wheel-panel .wheel-arm{stroke-width:3px;stroke:#006aff;fill:#006aff}.status-bar .traffic-light-and-driving-mode{position:absolute;top:246px;right:20px;width:224px;height:35px;font-size:14px}.status-bar .traffic-light-and-driving-mode .traffic-light{position:absolute;width:116px;height:35px;background:rgba(0,0,0,.8)}.status-bar .traffic-light-and-driving-mode .traffic-light .symbol{position:relative;top:4px;left:4px;width:28px;height:28px}.status-bar .traffic-light-and-driving-mode .traffic-light .text{position:absolute;top:10px;right:8px;color:#fff}.status-bar .traffic-light-and-driving-mode .driving-mode{position:absolute;top:0;right:0;width:105px;height:35px}.status-bar .traffic-light-and-driving-mode .driving-mode .text{position:absolute;top:50%;left:50%;float:right;transform:translate(-50%,-50%);text-align:center}.status-bar .traffic-light-and-driving-mode .auto-mode{background:linear-gradient(90deg,rgba(17,30,48,.8),rgba(7,42,94,.8));border-right:1px solid #006aff;color:#006aff}.status-bar .traffic-light-and-driving-mode .manual-mode{background:linear-gradient(90deg,rgba(30,17,17,.8),rgba(71,36,36,.8));color:#b43131;border-right:1px solid #b43131}.status-bar .notification-warn{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #a3842d;background-color:rgba(52,39,5,.3)}.status-bar .notification-warn .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-warn .icon{height:15px;width:15px}}.status-bar .notification-warn .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-warn .alert{color:#d7466f}.status-bar .notification-warn .warn{color:#a3842d}.status-bar .notification-alert{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #d7466f;background-color:rgba(74,5,24,.3)}.status-bar .notification-alert .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-alert .icon{height:15px;width:15px}}.status-bar .notification-alert .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-alert .alert{color:#d7466f}.status-bar .notification-alert .warn{color:#a3842d}.tasks{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.tasks .command-group{display:flex;flex-flow:row nowrap;justify-content:flex-start;flex:1 1 0;min-height:45px;min-width:130px}.tasks .command-group .name{width:40px;padding:15px}.tasks .start-auto-command{flex:2 2 0}.tasks .start-auto-command .start-auto-button{max-height:unset}.tasks .others{min-width:165px;max-width:260px}.tasks .delay{min-width:265px;line-height:26px}.tasks .delay .delay-item{position:relative;margin:0 10px;font-size:16px}.tasks .delay .delay-item .name{display:inline-block;min-width:140px;color:#1c9063}.tasks .delay .delay-item .value{display:inline-block;position:absolute;right:0;min-width:70px;text-align:right}.tasks button{flex:1 1 0;margin:5px;border:0;min-width:75px;min-height:40px;max-height:60px;color:#999;border-bottom:2px solid #1c9063;background:linear-gradient(#000,#111f1d);outline:none;cursor:pointer}.tasks button:hover{color:#fff;background:#151e1b}.tasks button:active{background:rgba(35,51,45,.6)}.tasks button:disabled{color:#999;border-color:#555;background:linear-gradient(rgba(0,0,0,.8),rgba(9,17,16,.8));cursor:not-allowed}.tasks .disabled{cursor:not-allowed}.module-controller{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow:hidden}.module-controller .controller{min-width:180px}.module-controller .modules-container{flex-flow:column wrap}.module-controller .status-display{min-width:250px;padding:5px 20px 5px 5px}.module-controller .status-display .name{display:inline-block;padding:10px;min-width:80px}.module-controller .status-display .status{display:inline-block;position:relative;width:130px;padding:10px;background:#000;white-space:nowrap}.module-controller .status-display .status .status-icon{position:absolute;right:10px;width:15px;height:15px;background-color:#b43131}.route-editing-bar{z-index:10;position:absolute;top:0;left:0;right:0;min-height:90px;border-bottom:3px solid #000;padding-left:10px;background:#1d2226}@media (max-height:800px){.route-editing-bar{min-height:60px}}.route-editing-bar .editing-panel{display:flex;justify-content:center;align-items:center;overflow:hidden;white-space:nowrap}.route-editing-bar .editing-panel .button{height:90px;border:none;padding:10px 15px;background:#1d2226;outline:none;color:#999}@media (max-height:800px){.route-editing-bar .editing-panel .button{height:60px;padding:5px 10px}}.route-editing-bar .editing-panel .button img{display:block;top:23px;margin:15px auto}@media (max-height:800px){.route-editing-bar .editing-panel .button img{top:13px;margin:7px auto}}.route-editing-bar .editing-panel .button span{font-family:PingFangSC-Light;font-size:14px;color:#d8d8d8;text-align:center}@media (max-height:800px){.route-editing-bar .editing-panel .button span{font-size:12px}}.route-editing-bar .editing-panel .button:hover{background:#2a3238}.route-editing-bar .editing-panel .active{color:#fff;background:#2a3238}.route-editing-bar .editing-panel .editing-tip{height:90px;width:90px;margin-left:auto;border:none;color:#d8d8d8;font-size:35px}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip{height:60px;width:60px;font-size:20px}}.route-editing-bar .editing-panel .editing-tip p{position:absolute;top:120%;right:15px;width:400px;border-radius:3px;padding:20px;background-color:#fff;color:#999;font-size:14px;text-align:left;white-space:pre-wrap}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p{right:5px}}.route-editing-bar .editing-panel .editing-tip p:before{position:absolute;top:-20px;right:13px;content:"";border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #fff}@-moz-document url-prefix(){.route-editing-bar .editing-panel .editing-tip p:before{top:-38px}}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p:before{right:8px}}.data-recorder{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.data-recorder .drive-event-card table{width:100%;text-align:center}.data-recorder .drive-event-card .drive-event-msg{width:100%}.data-recorder .drive-event-card .toolbar button{width:200px}.loader{flex:0 0 auto;position:relative;width:100%;height:100%;background-color:#000c17}.loader .img-container{position:relative;top:50%;left:50%;width:40%;transform:translate(-50%,-50%)}.loader .img-container img{width:100%;height:auto}.loader .img-container .status-message{margin-top:10px;font-size:18px;font-size:1.7vw;color:#fff;text-align:center;animation-name:flash;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:running}@keyframes flash{0%{color:#fff}to{color:#000c17}}.loader .offline-loader{width:60%;max-width:650px}.loader .offline-loader .status-message{position:relative;top:-70px;top:-4.5vw;font-size:3vw}.video{z-index:1;position:absolute;top:0;left:0}.video img{position:relative;min-width:100px;min-height:20px;max-width:380px;max-height:300px;padding:1px;border:1px solid #383838}@media (max-height:800px){.video img{max-width:300px;max-height:200px}}.dashcam-player{z-index:1;position:absolute;top:0;left:0;color:#fff}.dashcam-player video{max-width:380px;max-height:300px}@media (max-height:800px){.dashcam-player video{max-width:300px;max-height:200px}}.dashcam-player .controls{display:flex;justify-content:flex-end;z-index:10;position:absolute;right:0}.dashcam-player .controls button{width:27px;height:27px;border:none;background-color:#000;opacity:.6;color:#fff}.dashcam-player .controls button img{width:15px}.dashcam-player .controls button:hover{opacity:.9}.dashcam-player .controls .close{font-size:20px}.dashcam-player .controls .syncup{padding-top:.5em}.pnc-monitor{height:100%;border:1px solid #000;box-sizing:border-box;background-color:#1d2226;overflow:auto}.pnc-monitor .scatter-graph{margin:0;border:1px #000;border-style:solid none}.pnc-monitor .react-tabs__tab-list{display:table;width:100%;margin:0;border-bottom:1px solid #000;padding:0}.pnc-monitor .react-tabs__tab{display:table-cell;position:relative;border:1px solid transparent;border-bottom:none;padding:6px 12px;background:#1d2226;color:#999;list-style:none;cursor:pointer}.pnc-monitor .react-tabs__tab--selected{background:#2a3238;color:#fff}.pnc-monitor .react-tabs__tab-panel{display:none}.pnc-monitor .react-tabs__tab-panel--selected{display:block}',""])},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'.playback-controls{z-index:100;position:absolute;width:100%;height:40px;bottom:0;background:#1d2226;font-size:16px;min-width:550px}@media (max-height:800px){.playback-controls{font-size:14px}}.playback-controls .icon{display:inline-block;width:20px;height:20px;padding:10px;cursor:pointer}.playback-controls .icon .play{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#1d2226}.playback-controls .icon .pause,.playback-controls .icon .replay{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#006aff}.playback-controls .icon .replay{top:2px}.playback-controls .icon .exit-fullscreen,.playback-controls .icon .fullscreen{stroke-linejoin:round;stroke-width:10px;stroke:#006aff;fill:#1d2226}.playback-controls .left-controls{display:inline-block;float:left}.playback-controls .right-controls{display:inline-block;float:right}.playback-controls .rate-selector{position:absolute;left:40px}.playback-controls .rate-selector select{display:block;border:none;padding:11px 23px 0 5px;color:#fff;background:#1d2226;outline:none;cursor:pointer;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.playback-controls .rate-selector .arrow{position:absolute;top:5px;right:0;width:10px;height:100%;pointer-events:none}.playback-controls .rate-selector .arrow:before{position:absolute;top:16px;right:1px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:"";pointer-events:none}.playback-controls .time-controls{position:absolute;min-width:300px;height:100%;left:125px;right:50px}.playback-controls .time-controls .rangeslider{position:absolute;top:7px;left:10px;right:115px;margin:10px 0;height:7px;border-radius:10px;background:#2d3b50;-ms-touch-action:none;touch-action:none}.playback-controls .time-controls .rangeslider .rangeslider__fill{display:block;height:100%;border-radius:10px;background-color:#006aff;background:#006aff}.playback-controls .time-controls .rangeslider .rangeslider__handle{display:inline-block;position:absolute;height:16px;width:16px;top:50%;transform:translate3d(-50%,-50%,0);border:1px solid #006aff;border-radius:100%;background:#006aff;cursor:pointer;box-shadow:none}.playback-controls .time-controls .time-display{position:absolute;top:12px;right:0;color:#fff}',""])},function(e,t,n){"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var i=new Array(64),o=new Array(123),a=0;a<64;)o[i[a]=a<26?a+65:a<52?a+71:a<62?a-4:a-59|43]=a++;r.encode=function(e,t,n){for(var r,o=null,a=[],s=0,l=0;t>2],r=(3&u)<<4,l=1;break;case 1:a[s++]=i[r|u>>4],r=(15&u)<<2,l=2;break;case 2:a[s++]=i[r|u>>6],a[s++]=i[63&u],l=0}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0)}return l&&(a[s++]=i[r],a[s++]=61,1===l&&(a[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join("")):String.fromCharCode.apply(String,a.slice(0,s))};r.decode=function(e,t,n){for(var r,i=n,a=0,s=0;s1)break;if(void 0===(l=o[l]))throw Error("invalid encoding");switch(a){case 0:r=l,a=1;break;case 1:t[n++]=r<<2|(48&l)>>4,r=l,a=2;break;case 2:t[n++]=(15&r)<<4|(60&l)>>2,r=l,a=3;break;case 3:t[n++]=(3&r)<<6|l,a=0}}if(1===a)throw Error("invalid encoding");return n-i},r.test=function(e){return/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e)}},function(e,t,n){"use strict";function r(e,t){function n(e){if("string"!=typeof e){var t=i();if(r.verbose&&console.log("codegen: "+t),t="return "+t,e){for(var a=Object.keys(e),s=new Array(a.length+1),l=new Array(a.length),u=0;u0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>3.4028234663852886e38)e((i<<31|2139095040)>>>0,n,r);else if(t<1.1754943508222875e-38)e((i<<31|Math.round(t/1.401298464324817e-45))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2),a=8388607&Math.round(t*Math.pow(2,-o)*8388608);e((i<<31|o+127<<23|a)>>>0,n,r)}}function n(e,t,n){var r=e(t,n),i=2*(r>>31)+1,o=r>>>23&255,a=8388607&r;return 255===o?a?NaN:i*(1/0):0===o?1.401298464324817e-45*i*a:i*Math.pow(2,o-150)*(a+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,o),e.readFloatLE=n.bind(null,a),e.readFloatBE=n.bind(null,s)}(),"undefined"!=typeof Float64Array?function(){function t(e,t,n){o[0]=e,t[n]=a[0],t[n+1]=a[1],t[n+2]=a[2],t[n+3]=a[3],t[n+4]=a[4],t[n+5]=a[5],t[n+6]=a[6],t[n+7]=a[7]}function n(e,t,n){o[0]=e,t[n]=a[7],t[n+1]=a[6],t[n+2]=a[5],t[n+3]=a[4],t[n+4]=a[3],t[n+5]=a[2],t[n+6]=a[1],t[n+7]=a[0]}function r(e,t){return a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],o[0]}function i(e,t){return a[7]=e[t],a[6]=e[t+1],a[5]=e[t+2],a[4]=e[t+3],a[3]=e[t+4],a[2]=e[t+5],a[1]=e[t+6],a[0]=e[t+7],o[0]}var o=new Float64Array([-0]),a=new Uint8Array(o.buffer),s=128===a[7];e.writeDoubleLE=s?t:n,e.writeDoubleBE=s?n:t,e.readDoubleLE=s?r:i,e.readDoubleBE=s?i:r}():function(){function t(e,t,n,r,i,o){var a=r<0?1:0;if(a&&(r=-r),0===r)e(0,i,o+t),e(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))e(0,i,o+t),e(2146959360,i,o+n);else if(r>1.7976931348623157e308)e(0,i,o+t),e((a<<31|2146435072)>>>0,i,o+n);else{var s;if(r<2.2250738585072014e-308)s=r/5e-324,e(s>>>0,i,o+t),e((a<<31|s/4294967296)>>>0,i,o+n);else{var l=Math.floor(Math.log(r)/Math.LN2);1024===l&&(l=1023),s=r*Math.pow(2,-l),e(4503599627370496*s>>>0,i,o+t),e((a<<31|l+1023<<20|1048576*s&1048575)>>>0,i,o+n)}}}function n(e,t,n,r,i){var o=e(r,i+t),a=e(r,i+n),s=2*(a>>31)+1,l=a>>>20&2047,u=4294967296*(1048575&a)+o;return 2047===l?u?NaN:s*(1/0):0===l?5e-324*s*u:s*Math.pow(2,l-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,o,4,0),e.readDoubleLE=n.bind(null,a,0,4),e.readDoubleBE=n.bind(null,s,4,0)}(),e}function i(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function o(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=r(r)},function(e,t,n){"use strict";var r=t,i=r.isAbsolute=function(e){return/^(?:\/|\w+:)/.test(e)},o=r.normalize=function(e){e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/");var t=e.split("/"),n=i(e),r="";n&&(r=t.shift()+"/");for(var o=0;o0&&".."!==t[o-1]?t.splice(--o,2):n?t.splice(o,1):++o:"."===t[o]?t.splice(o,1):++o;return r+t.join("/")};r.resolve=function(e,t,n){return n||(t=o(t)),i(t)?t:(n||(e=o(e)),(e=e.replace(/(?:\/|^)[^\/]+$/,"")).length?o(e+"/"+t):t)}},function(e,t,n){"use strict";function r(e,t,n){var r=n||8192,i=r>>>1,o=null,a=r;return function(n){if(n<1||n>i)return e(n);a+n>r&&(o=e(r),a=0);var s=t.call(o,a,a+=n);return 7&a&&(a=1+(7|a)),s}}e.exports=r},function(e,t,n){"use strict";var r=t;r.length=function(e){for(var t=0,n=0,r=0;r191&&r<224?o[a++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[a++]=55296+(r>>10),o[a++]=56320+(1023&r)):o[a++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),a=0);return i?(a&&i.push(String.fromCharCode.apply(String,o.slice(0,a))),i.join("")):String.fromCharCode.apply(String,o.slice(0,a))},r.write=function(e,t,n){for(var r,i,o=n,a=0;a>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(a+1)))?(r=65536+((1023&r)<<10)+(1023&i),++a,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},function(e,t,n){e.exports={default:n(290),__esModule:!0}},function(e,t,n){e.exports={default:n(293),__esModule:!0}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){e.exports={default:n(300),__esModule:!0}},function(e,t,n){e.exports={default:n(301),__esModule:!0}},function(e,t,n){e.exports={default:n(302),__esModule:!0}},function(e,t,n){e.exports={default:n(303),__esModule:!0}},function(e,t,n){e.exports={default:n(304),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){/*! * Bowser - a browser detector * https://github.com/ded/bowser * MIT License | (c) Dustin Diaz 2015 diff --git a/modules/dreamview/frontend/dist/app.bundle.js.map b/modules/dreamview/frontend/dist/app.bundle.js.map index e478ba41e9..8ea4be9b40 100644 --- a/modules/dreamview/frontend/dist/app.bundle.js.map +++ b/modules/dreamview/frontend/dist/app.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"app.bundle.js","sources":["webpack:///app.bundle.js"],"sourcesContent":["!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=159)}([function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(18),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n6?l-6:0),c=6;c>\",s=s||i,null==r[i]){if(t){var n=null===r[i]?\"null\":\"undefined\";return new Error(\"The \"+a+\" `\"+s+\"` is marked as required in `\"+o+\"`, but its value is `\"+n+\"`.\")}return null}return e.apply(void 0,[r,i,o,a,s].concat(u))})}var r=t.bind(null,!1);return r.isRequired=t.bind(null,!0),r}function i(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function o(e){var t=void 0===e?\"undefined\":S(e);return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":i(t,e)?\"symbol\":t}function a(e){var t=o(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function s(e,t){return r(function(r,i,s,l,u){return n.i(_.untracked)(function(){if(e&&o(r[i])===t.toLowerCase())return null;var n=void 0;switch(t){case\"Array\":n=_.isObservableArray;break;case\"Object\":n=_.isObservableObject;break;case\"Map\":n=_.isObservableMap;break;default:throw new Error(\"Unexpected mobxType: \"+t)}var l=r[i];if(!n(l)){var c=a(l),d=e?\" or javascript `\"+t.toLowerCase()+\"`\":\"\";return new Error(\"Invalid prop `\"+u+\"` of type `\"+c+\"` supplied to `\"+s+\"`, expected `mobx.Observable\"+t+\"`\"+d+\".\")}return null})})}function l(e,t){return r(function(r,i,o,a,l){for(var u=arguments.length,c=Array(u>5?u-5:0),d=5;d2&&void 0!==arguments[2]&&arguments[2],r=e[t],i=te[t],o=r?!0===n?function(){i.apply(this,arguments),r.apply(this,arguments)}:function(){r.apply(this,arguments),i.apply(this,arguments)}:i;e[t]=o}function y(e,t){if(null==e||null==t||\"object\"!==(void 0===e?\"undefined\":S(e))||\"object\"!==(void 0===t?\"undefined\":S(t)))return e!==t;var n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(var r=void 0,i=n.length-1;r=n[i];i--)if(t[r]!==e[r])return!0;return!1}function b(e,t){if(\"string\"==typeof e)throw new Error(\"Store names should be provided as array\");if(Array.isArray(e))return J||(J=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject(\"store1\", \"store2\") @observer ComponentClass` or `inject(\"store1\", \"store2\")(observer(componentClass))` instead of `@observer([\"store1\", \"store2\"]) ComponentClass`')),t?f.apply(null,e)(b(t)):function(t){return b(e,t)};var n=e;if(!0===n.isMobxInjector&&console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\"),!(\"function\"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||w.Component.isPrototypeOf(n))){var r,i;return b((i=r=function(e){function t(){return E(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return k(t,e),T(t,[{key:\"render\",value:function(){return n.call(this,this.props,this.context)}}]),t}(w.Component),r.displayName=n.displayName||n.name,r.contextTypes=n.contextTypes,r.propTypes=n.propTypes,r.defaultProps=n.defaultProps,i))}if(!n)throw new Error(\"Please pass a valid component to 'observer'\");return x(n.prototype||n),n.isMobXReactObserver=!0,n}function x(e){v(e,\"componentWillMount\",!0),[\"componentDidMount\",\"componentWillUnmount\",\"componentDidUpdate\"].forEach(function(t){v(e,t)}),e.shouldComponentUpdate||(e.shouldComponentUpdate=te.shouldComponentUpdate)}Object.defineProperty(t,\"__esModule\",{value:!0}),n.d(t,\"propTypes\",function(){return Y}),n.d(t,\"PropTypes\",function(){return Y}),n.d(t,\"onError\",function(){return se}),n.d(t,\"observer\",function(){return b}),n.d(t,\"Observer\",function(){return ne}),n.d(t,\"renderReporter\",function(){return Q}),n.d(t,\"componentByNodeRegistery\",function(){return $}),n.d(t,\"trackComponents\",function(){return m}),n.d(t,\"useStaticRendering\",function(){return g}),n.d(t,\"Provider\",function(){return ae}),n.d(t,\"inject\",function(){return f});var _=n(22),w=n(2),M=(n.n(w),n(44)),S=(n.n(M),\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}),E=(function(){function e(e){this.value=e}function t(t){function n(e,t){return new Promise(function(n,i){var s={key:e,arg:t,resolve:n,reject:i,next:null};a?a=a.next=s:(o=a=s,r(e,t))})}function r(n,o){try{var a=t[n](o),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){r(\"next\",e)},function(e){r(\"throw\",e)}):i(a.done?\"return\":\"normal\",a.value)}catch(e){i(\"throw\",e)}}function i(e,t){switch(e){case\"return\":o.resolve({value:t,done:!0});break;case\"throw\":o.reject(t);break;default:o.resolve({value:t,done:!1})}o=o.next,o?r(o.key,o.arg):a=null}var o,a;this._invoke=n,\"function\"!=typeof t.return&&(this.return=void 0)}\"function\"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke(\"next\",e)},t.prototype.throw=function(e){return this._invoke(\"throw\",e)},t.prototype.return=function(e){return this._invoke(\"return\",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}),T=function(){function e(e,t){for(var n=0;n\",r=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID,i=!1,o=!1;e.call(this,\"props\"),e.call(this,\"state\");var a=this.render.bind(this),s=null,l=!1,u=function(){return s=new _.Reaction(n+\"#\"+r+\".render()\",function(){if(!l&&(l=!0,\"function\"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t.__$mobxIsUnmounted)){var e=!0;try{o=!0,i||w.Component.prototype.forceUpdate.call(t),e=!1}finally{o=!1,e&&s.dispose()}}}),s.reactComponent=t,c.$mobx=s,t.render=c,c()},c=function(){l=!1;var e=void 0,n=void 0;if(s.track(function(){Z&&(t.__$mobRenderStart=Date.now());try{n=_.extras.allowStateChanges(!1,a)}catch(t){e=t}Z&&(t.__$mobRenderEnd=Date.now())}),e)throw ee.emit(e),e;return n};this.render=u}},componentWillUnmount:function(){if(!0!==K&&(this.render.$mobx&&this.render.$mobx.dispose(),this.__$mobxIsUnmounted=!0,Z)){var e=h(this);e&&$&&$.delete(e),Q.emit({event:\"destroy\",component:this,node:e})}},componentDidMount:function(){Z&&p(this)},componentDidUpdate:function(){Z&&p(this)},shouldComponentUpdate:function(e,t){return K&&console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\"),this.state!==t||y(this.props,e)}},ne=b(function(e){return(0,e.children)()});ne.displayName=\"Observer\",ne.propTypes={children:function(e,t,n,r,i){if(\"function\"!=typeof e[t])return new Error(\"Invalid prop `\"+i+\"` of type `\"+S(e[t])+\"` supplied to `\"+n+\"`, expected `function`.\")}};var re,ie,oe={children:!0,key:!0,ref:!0},ae=(ie=re=function(e){function t(){return E(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return k(t,e),T(t,[{key:\"render\",value:function(){return w.Children.only(this.props.children)}},{key:\"getChildContext\",value:function(){var e={},t=this.context.mobxStores;if(t)for(var n in t)e[n]=t[n];for(var r in this.props)oe[r]||\"suppressChangedStoreWarning\"===r||(e[r]=this.props[r]);return{mobxStores:e}}},{key:\"componentWillReceiveProps\",value:function(e){if(Object.keys(e).length!==Object.keys(this.props).length&&console.warn(\"MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children\"),!e.suppressChangedStoreWarning)for(var t in e)oe[t]||this.props[t]===e[t]||console.warn(\"MobX Provider: Provided store '\"+t+\"' has changed. Please avoid replacing stores as the change might not propagate to all children\")}}]),t}(w.Component),re.contextTypes={mobxStores:H},re.childContextTypes={mobxStores:H.isRequired},ie);if(!w.Component)throw new Error(\"mobx-react requires React to be available\");if(!_.extras)throw new Error(\"mobx-react requires mobx to be available\");\"function\"==typeof M.unstable_batchedUpdates&&_.extras.setReactionScheduler(M.unstable_batchedUpdates);var se=function(e){return ee.on(e)};if(\"object\"===(\"undefined\"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?\"undefined\":S(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var le={spy:_.spy,extras:_.extras},ue={renderReporter:Q,componentByNodeRegistery:$,trackComponents:m};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(ue,le)}},function(e,t,n){\"use strict\";var r=n(6);e.exports={_set:function(e,t){return r.merge(this[e]||(this[e]={}),t)}}},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){\"use strict\";function r(){}function i(e,t){this.x=e||0,this.y=t||0}function o(e,t,n,r,a,s,l,u,c,d){Object.defineProperty(this,\"id\",{value:ps++}),this.uuid=hs.generateUUID(),this.name=\"\",this.image=void 0!==e?e:o.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==t?t:o.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:la,this.wrapT=void 0!==r?r:la,this.magFilter=void 0!==a?a:ha,this.minFilter=void 0!==s?s:ma,this.anisotropy=void 0!==c?c:1,this.format=void 0!==l?l:Ca,this.type=void 0!==u?u:ga,this.offset=new i(0,0),this.repeat=new i(1,1),this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==d?d:rs,this.version=0,this.onUpdate=null}function a(e,t,n,r){this.x=e||0,this.y=t||0,this.z=n||0,this.w=void 0!==r?r:1}function s(e,t,n){this.uuid=hs.generateUUID(),this.width=e,this.height=t,this.scissor=new a(0,0,e,t),this.scissorTest=!1,this.viewport=new a(0,0,e,t),n=n||{},void 0===n.minFilter&&(n.minFilter=ha),this.texture=new o(void 0,void 0,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0===n.stencilBuffer||n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}function l(e,t,n){s.call(this,e,t,n),this.activeCubeFace=0,this.activeMipMapLevel=0}function u(e,t,n,r){this._x=e||0,this._y=t||0,this._z=n||0,this._w=void 0!==r?r:1}function c(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0}function d(){this.elements=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}function f(e,t,n,r,i,a,s,l,u,c){e=void 0!==e?e:[],t=void 0!==t?t:ea,o.call(this,e,t,n,r,i,a,s,l,u,c),this.flipY=!1}function h(){this.seq=[],this.map={}}function p(e,t,n){var r=e[0];if(r<=0||r>0)return e;var i=t*n,o=vs[i];if(void 0===o&&(o=new Float32Array(i),vs[i]=o),0!==t){r.toArray(o,0);for(var a=1,s=0;a!==t;++a)s+=n,e[a].toArray(o,s)}return o}function m(e,t){var n=ys[t];void 0===n&&(n=new Int32Array(t),ys[t]=n);for(var r=0;r!==t;++r)n[r]=e.allocTextureUnit();return n}function g(e,t){e.uniform1f(this.addr,t)}function v(e,t){e.uniform1i(this.addr,t)}function y(e,t){void 0===t.x?e.uniform2fv(this.addr,t):e.uniform2f(this.addr,t.x,t.y)}function b(e,t){void 0!==t.x?e.uniform3f(this.addr,t.x,t.y,t.z):void 0!==t.r?e.uniform3f(this.addr,t.r,t.g,t.b):e.uniform3fv(this.addr,t)}function x(e,t){void 0===t.x?e.uniform4fv(this.addr,t):e.uniform4f(this.addr,t.x,t.y,t.z,t.w)}function _(e,t){e.uniformMatrix2fv(this.addr,!1,t.elements||t)}function w(e,t){e.uniformMatrix3fv(this.addr,!1,t.elements||t)}function M(e,t){e.uniformMatrix4fv(this.addr,!1,t.elements||t)}function S(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTexture2D(t||ms,r)}function E(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTextureCube(t||gs,r)}function T(e,t){e.uniform2iv(this.addr,t)}function k(e,t){e.uniform3iv(this.addr,t)}function O(e,t){e.uniform4iv(this.addr,t)}function P(e){switch(e){case 5126:return g;case 35664:return y;case 35665:return b;case 35666:return x;case 35674:return _;case 35675:return w;case 35676:return M;case 35678:return S;case 35680:return E;case 5124:case 35670:return v;case 35667:case 35671:return T;case 35668:case 35672:return k;case 35669:case 35673:return O}}function C(e,t){e.uniform1fv(this.addr,t)}function A(e,t){e.uniform1iv(this.addr,t)}function R(e,t){e.uniform2fv(this.addr,p(t,this.size,2))}function L(e,t){e.uniform3fv(this.addr,p(t,this.size,3))}function I(e,t){e.uniform4fv(this.addr,p(t,this.size,4))}function D(e,t){e.uniformMatrix2fv(this.addr,!1,p(t,this.size,4))}function N(e,t){e.uniformMatrix3fv(this.addr,!1,p(t,this.size,9))}function z(e,t){e.uniformMatrix4fv(this.addr,!1,p(t,this.size,16))}function B(e,t,n){var r=t.length,i=m(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTexture2D(t[o]||ms,i[o])}function F(e,t,n){var r=t.length,i=m(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTextureCube(t[o]||gs,i[o])}function j(e){switch(e){case 5126:return C;case 35664:return R;case 35665:return L;case 35666:return I;case 35674:return D;case 35675:return N;case 35676:return z;case 35678:return B;case 35680:return F;case 5124:case 35670:return A;case 35667:case 35671:return T;case 35668:case 35672:return k;case 35669:case 35673:return O}}function U(e,t,n){this.id=e,this.addr=n,this.setValue=P(t.type)}function W(e,t,n){this.id=e,this.addr=n,this.size=t.size,this.setValue=j(t.type)}function G(e){this.id=e,h.call(this)}function V(e,t){e.seq.push(t),e.map[t.id]=t}function H(e,t,n){var r=e.name,i=r.length;for(bs.lastIndex=0;;){var o=bs.exec(r),a=bs.lastIndex,s=o[1],l=\"]\"===o[2],u=o[3];if(l&&(s|=0),void 0===u||\"[\"===u&&a+2===i){V(n,void 0===u?new U(s,e,t):new W(s,e,t));break}var c=n.map,d=c[s];void 0===d&&(d=new G(s),V(n,d)),n=d}}function Y(e,t,n){h.call(this),this.renderer=n;for(var r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),i=0;i.001&&A.scale>.001&&(M.x=A.x,M.y=A.y,M.z=A.z,_=A.size*A.scale/g.w,w.x=_*y,w.y=_,p.uniform3f(d.screenPosition,M.x,M.y,M.z),p.uniform2f(d.scale,w.x,w.y),p.uniform1f(d.rotation,A.rotation),p.uniform1f(d.opacity,A.opacity),p.uniform3f(d.color,A.color.r,A.color.g,A.color.b),m.setBlending(A.blending,A.blendEquation,A.blendSrc,A.blendDst),e.setTexture2D(A.texture,1),p.drawElements(p.TRIANGLES,6,p.UNSIGNED_SHORT,0))}}}m.enable(p.CULL_FACE),m.enable(p.DEPTH_TEST),m.setDepthWrite(!0),e.resetGLState()}}}function J(e,t){function n(){var e=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),t=new Uint16Array([0,1,2,0,2,3]);a=p.createBuffer(),s=p.createBuffer(),p.bindBuffer(p.ARRAY_BUFFER,a),p.bufferData(p.ARRAY_BUFFER,e,p.STATIC_DRAW),p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,s),p.bufferData(p.ELEMENT_ARRAY_BUFFER,t,p.STATIC_DRAW),l=r(),d={position:p.getAttribLocation(l,\"position\"),uv:p.getAttribLocation(l,\"uv\")},f={uvOffset:p.getUniformLocation(l,\"uvOffset\"),uvScale:p.getUniformLocation(l,\"uvScale\"),rotation:p.getUniformLocation(l,\"rotation\"),scale:p.getUniformLocation(l,\"scale\"),color:p.getUniformLocation(l,\"color\"),map:p.getUniformLocation(l,\"map\"),opacity:p.getUniformLocation(l,\"opacity\"),modelViewMatrix:p.getUniformLocation(l,\"modelViewMatrix\"),projectionMatrix:p.getUniformLocation(l,\"projectionMatrix\"),fogType:p.getUniformLocation(l,\"fogType\"),fogDensity:p.getUniformLocation(l,\"fogDensity\"),fogNear:p.getUniformLocation(l,\"fogNear\"),fogFar:p.getUniformLocation(l,\"fogFar\"),fogColor:p.getUniformLocation(l,\"fogColor\"),alphaTest:p.getUniformLocation(l,\"alphaTest\")};var n=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");n.width=8,n.height=8;var i=n.getContext(\"2d\");i.fillStyle=\"white\",i.fillRect(0,0,8,8),h=new o(n),h.needsUpdate=!0}function r(){var t=p.createProgram(),n=p.createShader(p.VERTEX_SHADER),r=p.createShader(p.FRAGMENT_SHADER);return p.shaderSource(n,[\"precision \"+e.getPrecision()+\" float;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform float rotation;\",\"uniform vec2 scale;\",\"uniform vec2 uvOffset;\",\"uniform vec2 uvScale;\",\"attribute vec2 position;\",\"attribute vec2 uv;\",\"varying vec2 vUV;\",\"void main() {\",\"vUV = uvOffset + uv * uvScale;\",\"vec2 alignedPosition = position * scale;\",\"vec2 rotatedPosition;\",\"rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\",\"rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\",\"vec4 finalPosition;\",\"finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\",\"finalPosition.xy += rotatedPosition;\",\"finalPosition = projectionMatrix * finalPosition;\",\"gl_Position = finalPosition;\",\"}\"].join(\"\\n\")),p.shaderSource(r,[\"precision \"+e.getPrecision()+\" float;\",\"uniform vec3 color;\",\"uniform sampler2D map;\",\"uniform float opacity;\",\"uniform int fogType;\",\"uniform vec3 fogColor;\",\"uniform float fogDensity;\",\"uniform float fogNear;\",\"uniform float fogFar;\",\"uniform float alphaTest;\",\"varying vec2 vUV;\",\"void main() {\",\"vec4 texture = texture2D( map, vUV );\",\"if ( texture.a < alphaTest ) discard;\",\"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\",\"if ( fogType > 0 ) {\",\"float depth = gl_FragCoord.z / gl_FragCoord.w;\",\"float fogFactor = 0.0;\",\"if ( fogType == 1 ) {\",\"fogFactor = smoothstep( fogNear, fogFar, depth );\",\"} else {\",\"const float LOG2 = 1.442695;\",\"fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\",\"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\",\"}\",\"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\",\"}\",\"}\"].join(\"\\n\")),p.compileShader(n),p.compileShader(r),p.attachShader(t,n),p.attachShader(t,r),p.linkProgram(t),t}function i(e,t){return e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:t.id-e.id}var a,s,l,d,f,h,p=e.context,m=e.state,g=new c,v=new u,y=new c;this.render=function(r,o){if(0!==t.length){void 0===l&&n(),p.useProgram(l),m.initAttributes(),m.enableAttribute(d.position),m.enableAttribute(d.uv),m.disableUnusedAttributes(),m.disable(p.CULL_FACE),m.enable(p.BLEND),p.bindBuffer(p.ARRAY_BUFFER,a),p.vertexAttribPointer(d.position,2,p.FLOAT,!1,16,0),p.vertexAttribPointer(d.uv,2,p.FLOAT,!1,16,8),p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,s),p.uniformMatrix4fv(f.projectionMatrix,!1,o.projectionMatrix.elements),m.activeTexture(p.TEXTURE0),p.uniform1i(f.map,0);var u=0,c=0,b=r.fog;b?(p.uniform3f(f.fogColor,b.color.r,b.color.g,b.color.b),b.isFog?(p.uniform1f(f.fogNear,b.near),p.uniform1f(f.fogFar,b.far),p.uniform1i(f.fogType,1),u=1,c=1):b.isFogExp2&&(p.uniform1f(f.fogDensity,b.density),p.uniform1i(f.fogType,2),u=2,c=2)):(p.uniform1i(f.fogType,0),u=0,c=0);for(var x=0,_=t.length;x<_;x++){var w=t[x];w.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,w.matrixWorld),w.z=-w.modelViewMatrix.elements[14]}t.sort(i);for(var M=[],x=0,_=t.length;x<_;x++){var w=t[x],S=w.material;if(!1!==S.visible){p.uniform1f(f.alphaTest,S.alphaTest),p.uniformMatrix4fv(f.modelViewMatrix,!1,w.modelViewMatrix.elements),w.matrixWorld.decompose(g,v,y),M[0]=y.x,M[1]=y.y;var E=0;r.fog&&S.fog&&(E=c),u!==E&&(p.uniform1i(f.fogType,E),u=E),null!==S.map?(p.uniform2f(f.uvOffset,S.map.offset.x,S.map.offset.y),p.uniform2f(f.uvScale,S.map.repeat.x,S.map.repeat.y)):(p.uniform2f(f.uvOffset,0,0),p.uniform2f(f.uvScale,1,1)),p.uniform1f(f.opacity,S.opacity),p.uniform3f(f.color,S.color.r,S.color.g,S.color.b),p.uniform1f(f.rotation,S.rotation),p.uniform2fv(f.scale,M),m.setBlending(S.blending,S.blendEquation,S.blendSrc,S.blendDst),m.setDepthTest(S.depthTest),m.setDepthWrite(S.depthWrite),S.map?e.setTexture2D(S.map,0):e.setTexture2D(h,0),p.drawElements(p.TRIANGLES,6,p.UNSIGNED_SHORT,0)}}m.enable(p.CULL_FACE),e.resetGLState()}}}function $(){Object.defineProperty(this,\"id\",{value:Es++}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"Material\",this.fog=!0,this.lights=!0,this.blending=go,this.side=ao,this.shading=co,this.vertexColors=fo,this.opacity=1,this.transparent=!1,this.blendSrc=Co,this.blendDst=Ao,this.blendEquation=_o,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=jo,this.depthTest=!0,this.depthWrite=!0,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.alphaTest=0,this.premultipliedAlpha=!1,this.overdraw=0,this.visible=!0,this._needsUpdate=!0}function Q(e){$.call(this),this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.vertexShader=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",this.fragmentShader=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,void 0!==e&&(void 0!==e.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\"),this.setValues(e))}function ee(e){$.call(this),this.type=\"MeshDepthMaterial\",this.depthPacking=ds,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(e)}function te(e,t){this.min=void 0!==e?e:new c(1/0,1/0,1/0),this.max=void 0!==t?t:new c(-1/0,-1/0,-1/0)}function ne(e,t){this.center=void 0!==e?e:new c,this.radius=void 0!==t?t:0}function re(){this.elements=new Float32Array([1,0,0,0,1,0,0,0,1]),arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}function ie(e,t){this.normal=void 0!==e?e:new c(1,0,0),this.constant=void 0!==t?t:0}function oe(e,t,n,r,i,o){this.planes=[void 0!==e?e:new ie,void 0!==t?t:new ie,void 0!==n?n:new ie,void 0!==r?r:new ie,void 0!==i?i:new ie,void 0!==o?o:new ie]}function ae(e,t,n,r){function o(t,n,r,i){var o=t.geometry,a=null,s=S,l=t.customDepthMaterial;if(r&&(s=E,l=t.customDistanceMaterial),l)a=l;else{var u=!1;n.morphTargets&&(o&&o.isBufferGeometry?u=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(u=o.morphTargets&&o.morphTargets.length>0));var c=t.isSkinnedMesh&&n.skinning,d=0;u&&(d|=_),c&&(d|=w),a=s[d]}if(e.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){var f=a.uuid,h=n.uuid,p=T[f];void 0===p&&(p={},T[f]=p);var m=p[h];void 0===m&&(m=a.clone(),p[h]=m),a=m}a.visible=n.visible,a.wireframe=n.wireframe;var g=n.side;return B.renderSingleSided&&g==lo&&(g=ao),B.renderReverseSided&&(g===ao?g=so:g===so&&(g=ao)),a.side=g,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(i),a}function l(e,t,n){if(!1!==e.visible){if(0!=(e.layers.mask&t.layers.mask)&&(e.isMesh||e.isLine||e.isPoints)&&e.castShadow&&(!1===e.frustumCulled||!0===h.intersectsObject(e))){!0===e.material.visible&&(e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),x.push(e))}for(var r=e.children,i=0,o=r.length;in&&(n=e[t]);return n}function ke(){return ks++}function Oe(){Object.defineProperty(this,\"id\",{value:ke()}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"Geometry\",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function Pe(){Object.defineProperty(this,\"id\",{value:ke()}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0}}function Ce(e,t){ce.call(this),this.type=\"Mesh\",this.geometry=void 0!==e?e:new Pe,this.material=void 0!==t?t:new pe({color:16777215*Math.random()}),this.drawMode=es,this.updateMorphTargets()}function Ae(e,t,n,r,i,o){Oe.call(this),this.type=\"BoxGeometry\",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:o},this.fromBufferGeometry(new Re(e,t,n,r,i,o)),this.mergeVertices()}function Re(e,t,n,r,i,o){function a(e,t,n,r,i,o,a,m,g,v,y){var b,x,_=o/g,w=a/v,M=o/2,S=a/2,E=m/2,T=g+1,k=v+1,O=0,P=0,C=new c;for(x=0;x0?1:-1,d.push(C.x,C.y,C.z),f.push(b/g),f.push(1-x/v),O+=1}}for(x=0;x\");return $e(n)}var n=/#include +<([\\w\\d.]+)>/g;return e.replace(n,t)}function Qe(e){function t(e,t,n,r){for(var i=\"\",o=parseInt(t);o0?e.gammaFactor:1,g=qe(o,r,e.extensions),v=Xe(a),y=i.createProgram();n.isRawShaderMaterial?(h=[v,\"\\n\"].filter(Ke).join(\"\\n\"),p=[g,v,\"\\n\"].filter(Ke).join(\"\\n\")):(h=[\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+n.__webglShader.name,v,r.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+r.maxBones,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+d:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.displacementMap&&r.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.skinning?\"#define USE_SKINNING\":\"\",r.useVertexTexture?\"#define BONE_TEXTURE\":\"\",r.morphTargets?\"#define USE_MORPHTARGETS\":\"\",r.morphNormals&&!1===r.flatShading?\"#define USE_MORPHNORMALS\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&e.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_COLOR\",\"\\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(Ke).join(\"\\n\"),p=[g,\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+n.__webglShader.name,v,r.alphaTest?\"#define ALPHATEST \"+r.alphaTest:\"\",\"#define GAMMA_FACTOR \"+m,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+c:\"\",r.envMap?\"#define \"+d:\"\",r.envMap?\"#define \"+f:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.gradientMap?\"#define USE_GRADIENTMAP\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,\"#define UNION_CLIPPING_PLANES \"+(r.numClippingPlanes-r.numClipIntersection),r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",r.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&e.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",r.envMap&&e.extensions.get(\"EXT_shader_texture_lod\")?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",r.toneMapping!==Xo?\"#define TONE_MAPPING\":\"\",r.toneMapping!==Xo?_s.tonemapping_pars_fragment:\"\",r.toneMapping!==Xo?Ye(\"toneMapping\",r.toneMapping):\"\",r.outputEncoding||r.mapEncoding||r.envMapEncoding||r.emissiveMapEncoding?_s.encodings_pars_fragment:\"\",r.mapEncoding?Ve(\"mapTexelToLinear\",r.mapEncoding):\"\",r.envMapEncoding?Ve(\"envMapTexelToLinear\",r.envMapEncoding):\"\",r.emissiveMapEncoding?Ve(\"emissiveMapTexelToLinear\",r.emissiveMapEncoding):\"\",r.outputEncoding?He(\"linearToOutputTexel\",r.outputEncoding):\"\",r.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(Ke).join(\"\\n\")),s=$e(s,r),s=Je(s,r),l=$e(l,r),l=Je(l,r),n.isShaderMaterial||(s=Qe(s),l=Qe(l));var b=h+s,x=p+l,_=We(i,i.VERTEX_SHADER,b),w=We(i,i.FRAGMENT_SHADER,x);i.attachShader(y,_),i.attachShader(y,w),void 0!==n.index0AttributeName?i.bindAttribLocation(y,0,n.index0AttributeName):!0===r.morphTargets&&i.bindAttribLocation(y,0,\"position\"),i.linkProgram(y);var M=i.getProgramInfoLog(y),S=i.getShaderInfoLog(_),E=i.getShaderInfoLog(w),T=!0,k=!0;!1===i.getProgramParameter(y,i.LINK_STATUS)?(T=!1,console.error(\"THREE.WebGLProgram: shader error: \",i.getError(),\"gl.VALIDATE_STATUS\",i.getProgramParameter(y,i.VALIDATE_STATUS),\"gl.getProgramInfoLog\",M,S,E)):\"\"!==M?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",M):\"\"!==S&&\"\"!==E||(k=!1),k&&(this.diagnostics={runnable:T,material:n,programLog:M,vertexShader:{log:S,prefix:h},fragmentShader:{log:E,prefix:p}}),i.deleteShader(_),i.deleteShader(w);var O;this.getUniforms=function(){return void 0===O&&(O=new Y(i,y,e)),O};var P;return this.getAttributes=function(){return void 0===P&&(P=Ze(i,y)),P},this.destroy=function(){i.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn(\"THREE.WebGLProgram: .uniforms is now .getUniforms().\"),this.getUniforms()}},attributes:{get:function(){return console.warn(\"THREE.WebGLProgram: .attributes is now .getAttributes().\"),this.getAttributes()}}}),this.id=Os++,this.code=t,this.usedTimes=1,this.program=y,this.vertexShader=_,this.fragmentShader=w,this}function tt(e,t){function n(e){if(t.floatVertexTextures&&e&&e.skeleton&&e.skeleton.useVertexTexture)return 1024;var n=t.maxVertexUniforms,r=Math.floor((n-20)/4),i=r;return void 0!==e&&e&&e.isSkinnedMesh&&(i=Math.min(e.skeleton.bones.length,i))0,shadowMapType:e.shadowMap.type,toneMapping:e.toneMapping,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,alphaTest:i.alphaTest,doubleSided:i.side===lo,flipSided:i.side===so,depthPacking:void 0!==i.depthPacking&&i.depthPacking}},this.getProgramCode=function(e,t){var n=[];if(t.shaderID?n.push(t.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(var r in e.defines)n.push(r),n.push(e.defines[r]);for(var i=0;i65535?we:xe)(o,1);return i(p,e.ELEMENT_ARRAY_BUFFER),r.wireframe=p,p}var c=new nt(e,t,n);return{getAttributeBuffer:s,getAttributeProperties:l,getWireframeAttribute:u,update:r}}function it(e,t,n,r,i,o,a){function s(e,t){if(e.width>t||e.height>t){var n=t/Math.max(e.width,e.height),r=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");r.width=Math.floor(e.width*n),r.height=Math.floor(e.height*n);return r.getContext(\"2d\").drawImage(e,0,0,e.width,e.height,0,0,r.width,r.height),console.warn(\"THREE.WebGLRenderer: image is too big (\"+e.width+\"x\"+e.height+\"). Resized to \"+r.width+\"x\"+r.height,e),r}return e}function l(e){return hs.isPowerOfTwo(e.width)&&hs.isPowerOfTwo(e.height)}function u(e){if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement){var t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");t.width=hs.nearestPowerOfTwo(e.width),t.height=hs.nearestPowerOfTwo(e.height);return t.getContext(\"2d\").drawImage(e,0,0,t.width,t.height),console.warn(\"THREE.WebGLRenderer: image is not power of two (\"+e.width+\"x\"+e.height+\"). Resized to \"+t.width+\"x\"+t.height,e),t}return e}function c(e){return e.wrapS!==la||e.wrapT!==la||e.minFilter!==ca&&e.minFilter!==ha}function d(t){return t===ca||t===da||t===fa?e.NEAREST:e.LINEAR}function f(e){var t=e.target;t.removeEventListener(\"dispose\",f),p(t),k.textures--}function h(e){var t=e.target;t.removeEventListener(\"dispose\",h),m(t),k.textures--}function p(t){var n=r.get(t);if(t.image&&n.__image__webglTextureCube)e.deleteTexture(n.__image__webglTextureCube);else{if(void 0===n.__webglInit)return;e.deleteTexture(n.__webglTexture)}r.delete(t)}function m(t){var n=r.get(t),i=r.get(t.texture);if(t){if(void 0!==i.__webglTexture&&e.deleteTexture(i.__webglTexture),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLRenderTargetCube)for(var o=0;o<6;o++)e.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer[o]);else e.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer);r.delete(t.texture),r.delete(t)}}function g(t,i){var o=r.get(t);if(t.version>0&&o.__version!==t.version){var a=t.image;if(void 0===a)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\",t);else{if(!1!==a.complete)return void x(o,t,i);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\",t)}}n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_2D,o.__webglTexture)}function v(t,a){var u=r.get(t);if(6===t.image.length)if(t.version>0&&u.__version!==t.version){u.__image__webglTextureCube||(t.addEventListener(\"dispose\",f),u.__image__webglTextureCube=e.createTexture(),k.textures++),n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_CUBE_MAP,u.__image__webglTextureCube),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY);for(var c=t&&t.isCompressedTexture,d=t.image[0]&&t.image[0].isDataTexture,h=[],p=0;p<6;p++)h[p]=c||d?d?t.image[p].image:t.image[p]:s(t.image[p],i.maxCubemapSize);var m=h[0],g=l(m),v=o(t.format),y=o(t.type);b(e.TEXTURE_CUBE_MAP,t,g);for(var p=0;p<6;p++)if(c)for(var x,_=h[p].mipmaps,w=0,M=_.length;w-1?n.compressedTexImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,w,v,x.width,x.height,0,x.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,w,v,x.width,x.height,0,v,y,x.data);else d?n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,h[p].width,h[p].height,0,v,y,h[p].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,v,y,h[p]);t.generateMipmaps&&g&&e.generateMipmap(e.TEXTURE_CUBE_MAP),u.__version=t.version,t.onUpdate&&t.onUpdate(t)}else n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_CUBE_MAP,u.__image__webglTextureCube)}function y(t,i){n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_CUBE_MAP,r.get(t).__webglTexture)}function b(n,a,s){var l;if(s?(e.texParameteri(n,e.TEXTURE_WRAP_S,o(a.wrapS)),e.texParameteri(n,e.TEXTURE_WRAP_T,o(a.wrapT)),e.texParameteri(n,e.TEXTURE_MAG_FILTER,o(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,o(a.minFilter))):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),a.wrapS===la&&a.wrapT===la||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\",a),e.texParameteri(n,e.TEXTURE_MAG_FILTER,d(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,d(a.minFilter)),a.minFilter!==ca&&a.minFilter!==ha&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\",a)),l=t.get(\"EXT_texture_filter_anisotropic\")){if(a.type===wa&&null===t.get(\"OES_texture_float_linear\"))return;if(a.type===Ma&&null===t.get(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function x(t,r,a){void 0===t.__webglInit&&(t.__webglInit=!0,r.addEventListener(\"dispose\",f),t.__webglTexture=e.createTexture(),k.textures++),n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_2D,t.__webglTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment);var d=s(r.image,i.maxTextureSize);c(r)&&!1===l(d)&&(d=u(d));var h=l(d),p=o(r.format),m=o(r.type);b(e.TEXTURE_2D,r,h);var g,v=r.mipmaps;if(r.isDepthTexture){var y=e.DEPTH_COMPONENT;if(r.type===wa){if(!O)throw new Error(\"Float Depth Texture only supported in WebGL2.0\");y=e.DEPTH_COMPONENT32F}else O&&(y=e.DEPTH_COMPONENT16);r.format===Ia&&y===e.DEPTH_COMPONENT&&r.type!==ba&&r.type!==_a&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),r.type=ba,m=o(r.type)),r.format===Da&&(y=e.DEPTH_STENCIL,r.type!==ka&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),r.type=ka,m=o(r.type))),n.texImage2D(e.TEXTURE_2D,0,y,d.width,d.height,0,p,m,null)}else if(r.isDataTexture)if(v.length>0&&h){for(var x=0,_=v.length;x<_;x++)g=v[x],n.texImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,p,d.width,d.height,0,p,m,d.data);else if(r.isCompressedTexture)for(var x=0,_=v.length;x<_;x++)g=v[x],r.format!==Ca&&r.format!==Pa?n.getCompressedTextureFormats().indexOf(p)>-1?n.compressedTexImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,g.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):n.texImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);else if(v.length>0&&h){for(var x=0,_=v.length;x<_;x++)g=v[x],n.texImage2D(e.TEXTURE_2D,x,p,p,m,g);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,p,p,m,d);r.generateMipmaps&&h&&e.generateMipmap(e.TEXTURE_2D),t.__version=r.version,r.onUpdate&&r.onUpdate(r)}function _(t,i,a,s){var l=o(i.texture.format),u=o(i.texture.type);n.texImage2D(s,0,l,i.width,i.height,0,l,u,null),e.bindFramebuffer(e.FRAMEBUFFER,t),e.framebufferTexture2D(e.FRAMEBUFFER,a,s,r.get(i.texture).__webglTexture,0),e.bindFramebuffer(e.FRAMEBUFFER,null)}function w(t,n){e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)):n.depthBuffer&&n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)):e.renderbufferStorage(e.RENDERBUFFER,e.RGBA4,n.width,n.height),e.bindRenderbuffer(e.RENDERBUFFER,null)}function M(t,n){if(n&&n.isWebGLRenderTargetCube)throw new Error(\"Depth Texture with cube render targets is not supported!\");if(e.bindFramebuffer(e.FRAMEBUFFER,t),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");r.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),g(n.depthTexture,0);var i=r.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===Ia)e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,i,0);else{if(n.depthTexture.format!==Da)throw new Error(\"Unknown depthTexture format\");e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,i,0)}}function S(t){var n=r.get(t),i=!0===t.isWebGLRenderTargetCube;if(t.depthTexture){if(i)throw new Error(\"target.depthTexture not supported in Cube render targets\");M(n.__webglFramebuffer,t)}else if(i){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=e.createRenderbuffer(),w(n.__webglDepthbuffer[o],t)}else e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer),n.__webglDepthbuffer=e.createRenderbuffer(),w(n.__webglDepthbuffer,t);e.bindFramebuffer(e.FRAMEBUFFER,null)}function E(t){var i=r.get(t),o=r.get(t.texture);t.addEventListener(\"dispose\",h),o.__webglTexture=e.createTexture(),k.textures++;var a=!0===t.isWebGLRenderTargetCube,s=l(t);if(a){i.__webglFramebuffer=[];for(var u=0;u<6;u++)i.__webglFramebuffer[u]=e.createFramebuffer()}else i.__webglFramebuffer=e.createFramebuffer();if(a){n.bindTexture(e.TEXTURE_CUBE_MAP,o.__webglTexture),b(e.TEXTURE_CUBE_MAP,t.texture,s);for(var u=0;u<6;u++)_(i.__webglFramebuffer[u],t,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+u);t.texture.generateMipmaps&&s&&e.generateMipmap(e.TEXTURE_CUBE_MAP),n.bindTexture(e.TEXTURE_CUBE_MAP,null)}else n.bindTexture(e.TEXTURE_2D,o.__webglTexture),b(e.TEXTURE_2D,t.texture,s),_(i.__webglFramebuffer,t,e.COLOR_ATTACHMENT0,e.TEXTURE_2D),t.texture.generateMipmaps&&s&&e.generateMipmap(e.TEXTURE_2D),n.bindTexture(e.TEXTURE_2D,null);t.depthBuffer&&S(t)}function T(t){var i=t.texture;if(i.generateMipmaps&&l(t)&&i.minFilter!==ca&&i.minFilter!==ha){var o=t&&t.isWebGLRenderTargetCube?e.TEXTURE_CUBE_MAP:e.TEXTURE_2D,a=r.get(i).__webglTexture;n.bindTexture(o,a),e.generateMipmap(o),n.bindTexture(o,null)}}var k=a.memory,O=\"undefined\"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext;this.setTexture2D=g,this.setTextureCube=v,this.setTextureCubeDynamic=y,this.setupRenderTarget=E,this.updateRenderTargetMipmap=T}function ot(){var e={};return{get:function(t){var n=t.uuid,r=e[n];return void 0===r&&(r={},e[n]=r),r},delete:function(t){delete e[t.uuid]},clear:function(){e={}}}}function at(e,t,n){function r(){var t=!1,n=new a,r=null,i=new a;return{setMask:function(n){r===n||t||(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,o,a,s){!0===s&&(t*=a,r*=a,o*=a),n.set(t,r,o,a),!1===i.equals(n)&&(e.clearColor(t,r,o,a),i.copy(n))},reset:function(){t=!1,r=null,i.set(0,0,0,1)}}}function i(){var t=!1,n=null,r=null,i=null;return{setTest:function(t){t?h(e.DEPTH_TEST):p(e.DEPTH_TEST)},setMask:function(r){n===r||t||(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){if(t)switch(t){case zo:e.depthFunc(e.NEVER);break;case Bo:e.depthFunc(e.ALWAYS);break;case Fo:e.depthFunc(e.LESS);break;case jo:e.depthFunc(e.LEQUAL);break;case Uo:e.depthFunc(e.EQUAL);break;case Wo:e.depthFunc(e.GEQUAL);break;case Go:e.depthFunc(e.GREATER);break;case Vo:e.depthFunc(e.NOTEQUAL);break;default:e.depthFunc(e.LEQUAL)}else e.depthFunc(e.LEQUAL);r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}}function o(){var t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,u=null;return{setTest:function(t){t?h(e.STENCIL_TEST):p(e.STENCIL_TEST)},setMask:function(r){n===r||t||(e.stencilMask(r),n=r)},setFunc:function(t,n,a){r===t&&i===n&&o===a||(e.stencilFunc(t,n,a),r=t,i=n,o=a)},setOp:function(t,n,r){a===t&&s===n&&l===r||(e.stencilOp(t,n,r),a=t,s=n,l=r)},setLocked:function(e){t=e},setClear:function(t){u!==t&&(e.clearStencil(t),u=t)},reset:function(){t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,u=null}}}function s(t,n,r){var i=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(var a=0;a=1,ce=null,de={},fe=new a,he=new a,pe={};return pe[e.TEXTURE_2D]=s(e.TEXTURE_2D,e.TEXTURE_2D,1),pe[e.TEXTURE_CUBE_MAP]=s(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),{buffers:{color:B,depth:F,stencil:j},init:l,initAttributes:u,enableAttribute:c,enableAttributeAndDivisor:d,disableUnusedAttributes:f,enable:h,disable:p,getCompressedTextureFormats:m,setBlending:g,setColorWrite:v,setDepthTest:y,setDepthWrite:b,setDepthFunc:x,setStencilTest:_,setStencilWrite:w,setStencilFunc:M,setStencilOp:S,setFlipSided:E,setCullFace:T,setLineWidth:k,setPolygonOffset:O,getScissorTest:P,setScissorTest:C,activeTexture:A,bindTexture:R,compressedTexImage2D:L,texImage2D:I,scissor:D,viewport:N,reset:z}}function st(e,t,n){function r(){if(void 0!==o)return o;var n=t.get(\"EXT_texture_filter_anisotropic\");return o=null!==n?e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function i(t){if(\"highp\"===t){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}var o,a=void 0!==n.precision?n.precision:\"highp\",s=i(a);s!==a&&(console.warn(\"THREE.WebGLRenderer:\",a,\"not supported, using\",s,\"instead.\"),a=s);var l=!0===n.logarithmicDepthBuffer&&!!t.get(\"EXT_frag_depth\"),u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),c=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),d=e.getParameter(e.MAX_TEXTURE_SIZE),f=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),h=e.getParameter(e.MAX_VERTEX_ATTRIBS),p=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),g=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=c>0,y=!!t.get(\"OES_texture_float\");return{getMaxAnisotropy:r,getMaxPrecision:i,precision:a,logarithmicDepthBuffer:l,maxTextures:u,maxVertexTextures:c,maxTextureSize:d,maxCubemapSize:f,maxAttributes:h,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y}}function lt(e){var t={};return{get:function(n){if(void 0!==t[n])return t[n];var r;switch(n){case\"WEBGL_depth_texture\":r=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;case\"WEBGL_compressed_texture_etc1\":r=e.getExtension(\"WEBGL_compressed_texture_etc1\");break;default:r=e.getExtension(n)}return null===r&&console.warn(\"THREE.WebGLRenderer: \"+n+\" extension not supported.\"),t[n]=r,r}}}function ut(){function e(){u.value!==r&&(u.value=r,u.needsUpdate=i>0),n.numPlanes=i,n.numIntersection=0}function t(e,t,r,i){var o=null!==e?e.length:0,a=null;if(0!==o){if(a=u.value,!0!==i||null===a){var c=r+4*o,d=t.matrixWorldInverse;l.getNormalMatrix(d),(null===a||a.length=0){var c=o[l];if(void 0!==c){var d=c.normalized,f=c.itemSize,h=dt.getAttributeProperties(c),p=h.__webglBuffer,m=h.type,g=h.bytesPerElement;if(c.isInterleavedBufferAttribute){var v=c.data,y=v.stride,b=c.offset;v&&v.isInstancedInterleavedBuffer?(et.enableAttributeAndDivisor(u,v.meshPerAttribute,i),void 0===n.maxInstancedCount&&(n.maxInstancedCount=v.meshPerAttribute*v.count)):et.enableAttribute(u),Ke.bindBuffer(Ke.ARRAY_BUFFER,p),Ke.vertexAttribPointer(u,f,m,d,y*g,(r*y+b)*g)}else c.isInstancedBufferAttribute?(et.enableAttributeAndDivisor(u,c.meshPerAttribute,i),void 0===n.maxInstancedCount&&(n.maxInstancedCount=c.meshPerAttribute*c.count)):et.enableAttribute(u),Ke.bindBuffer(Ke.ARRAY_BUFFER,p),Ke.vertexAttribPointer(u,f,m,d,0,r*f*g)}else if(void 0!==s){var x=s[l];if(void 0!==x)switch(x.length){case 2:Ke.vertexAttrib2fv(u,x);break;case 3:Ke.vertexAttrib3fv(u,x);break;case 4:Ke.vertexAttrib4fv(u,x);break;default:Ke.vertexAttrib1fv(u,x)}}}}et.disableUnusedAttributes()}function f(e,t){return Math.abs(t[0])-Math.abs(e[0])}function h(e,t){return e.object.renderOrder!==t.object.renderOrder?e.object.renderOrder-t.object.renderOrder:e.material.program&&t.material.program&&e.material.program!==t.material.program?e.material.program.id-t.material.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function p(e,t){return e.object.renderOrder!==t.object.renderOrder?e.object.renderOrder-t.object.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function m(e,t,n,r,i){var o,a;n.transparent?(o=re,a=++ie):(o=ee,a=++te);var s=o[a];void 0!==s?(s.id=e.id,s.object=e,s.geometry=t,s.material=n,s.z=He.z,s.group=i):(s={id:e.id,object:e,geometry:t,material:n,z:He.z,group:i},o.push(s))}function g(e){var t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),Ge.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),y(Ge)}function v(e){return Ge.center.set(0,0,0),Ge.radius=.7071067811865476,Ge.applyMatrix4(e.matrixWorld),y(Ge)}function y(e){if(!Le.intersectsSphere(e))return!1;var t=De.numPlanes;if(0===t)return!0;var n=ce.clippingPlanes,r=e.center,i=-e.radius,o=0;do{if(n[o].distanceToPoint(r)=0&&e.numSupportedMorphTargets++}if(e.morphNormals){e.numSupportedMorphNormals=0;for(var f=0;f=0&&e.numSupportedMorphNormals++}var h=r.__webglShader.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(r.numClippingPlanes=De.numPlanes,r.numIntersection=De.numIntersection,h.clippingPlanes=De.uniform),r.fog=t,r.lightsHash=Xe.hash,e.lights&&(h.ambientLightColor.value=Xe.ambient,h.directionalLights.value=Xe.directional,h.spotLights.value=Xe.spot,h.rectAreaLights.value=Xe.rectArea,h.pointLights.value=Xe.point,h.hemisphereLights.value=Xe.hemi,h.directionalShadowMap.value=Xe.directionalShadowMap,h.directionalShadowMatrix.value=Xe.directionalShadowMatrix,h.spotShadowMap.value=Xe.spotShadowMap,h.spotShadowMatrix.value=Xe.spotShadowMatrix,h.pointShadowMap.value=Xe.pointShadowMap,h.pointShadowMatrix.value=Xe.pointShadowMatrix);var p=r.program.getUniforms(),m=Y.seqWithValue(p.seq,h);r.uniformsList=m}function w(e){e.side===lo?et.disable(Ke.CULL_FACE):et.enable(Ke.CULL_FACE),et.setFlipSided(e.side===so),!0===e.transparent?et.setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha):et.setBlending(mo),et.setDepthFunc(e.depthFunc),et.setDepthTest(e.depthTest),et.setDepthWrite(e.depthWrite),et.setColorWrite(e.colorWrite),et.setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits)}function M(e,t,n,r){_e=0;var i=nt.get(n);if(Ue&&(We||e!==ve)){var o=e===ve&&n.id===me;De.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,e,i,o)}!1===n.needsUpdate&&(void 0===i.program?n.needsUpdate=!0:n.fog&&i.fog!==t?n.needsUpdate=!0:n.lights&&i.lightsHash!==Xe.hash?n.needsUpdate=!0:void 0===i.numClippingPlanes||i.numClippingPlanes===De.numPlanes&&i.numIntersection===De.numIntersection||(n.needsUpdate=!0)),n.needsUpdate&&(_(n,t,r),n.needsUpdate=!1);var a=!1,s=!1,l=!1,u=i.program,c=u.getUniforms(),d=i.__webglShader.uniforms;if(u.id!==de&&(Ke.useProgram(u.program),de=u.id,a=!0,s=!0,l=!0),n.id!==me&&(me=n.id,s=!0),a||e!==ve){if(c.set(Ke,e,\"projectionMatrix\"),Qe.logarithmicDepthBuffer&&c.setValue(Ke,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2)),e!==ve&&(ve=e,s=!0,l=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var f=c.map.cameraPosition;void 0!==f&&f.setValue(Ke,He.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&c.setValue(Ke,\"viewMatrix\",e.matrixWorldInverse),c.set(Ke,ce,\"toneMappingExposure\"),c.set(Ke,ce,\"toneMappingWhitePoint\")}if(n.skinning){c.setOptional(Ke,r,\"bindMatrix\"),c.setOptional(Ke,r,\"bindMatrixInverse\");var h=r.skeleton;h&&(Qe.floatVertexTextures&&h.useVertexTexture?(c.set(Ke,h,\"boneTexture\"),c.set(Ke,h,\"boneTextureWidth\"),c.set(Ke,h,\"boneTextureHeight\")):c.setOptional(Ke,h,\"boneMatrices\"))}return s&&(n.lights&&D(d,l),t&&n.fog&&O(d,t),(n.isMeshBasicMaterial||n.isMeshLambertMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.isMeshNormalMaterial||n.isMeshDepthMaterial)&&S(d,n),n.isLineBasicMaterial?E(d,n):n.isLineDashedMaterial?(E(d,n),T(d,n)):n.isPointsMaterial?k(d,n):n.isMeshLambertMaterial?P(d,n):n.isMeshToonMaterial?A(d,n):n.isMeshPhongMaterial?C(d,n):n.isMeshPhysicalMaterial?L(d,n):n.isMeshStandardMaterial?R(d,n):n.isMeshDepthMaterial?n.displacementMap&&(d.displacementMap.value=n.displacementMap,d.displacementScale.value=n.displacementScale,d.displacementBias.value=n.displacementBias):n.isMeshNormalMaterial&&I(d,n),void 0!==d.ltcMat&&(d.ltcMat.value=THREE.UniformsLib.LTC_MAT_TEXTURE),void 0!==d.ltcMag&&(d.ltcMag.value=THREE.UniformsLib.LTC_MAG_TEXTURE),Y.upload(Ke,i.uniformsList,d,ce)),c.set(Ke,r,\"modelViewMatrix\"),c.set(Ke,r,\"normalMatrix\"),c.setValue(Ke,\"modelMatrix\",r.matrixWorld),u}function S(e,t){e.opacity.value=t.opacity,e.diffuse.value=t.color,t.emissive&&e.emissive.value.copy(t.emissive).multiplyScalar(t.emissiveIntensity),e.map.value=t.map,e.specularMap.value=t.specularMap,e.alphaMap.value=t.alphaMap,t.lightMap&&(e.lightMap.value=t.lightMap,e.lightMapIntensity.value=t.lightMapIntensity),t.aoMap&&(e.aoMap.value=t.aoMap,e.aoMapIntensity.value=t.aoMapIntensity);var n;if(t.map?n=t.map:t.specularMap?n=t.specularMap:t.displacementMap?n=t.displacementMap:t.normalMap?n=t.normalMap:t.bumpMap?n=t.bumpMap:t.roughnessMap?n=t.roughnessMap:t.metalnessMap?n=t.metalnessMap:t.alphaMap?n=t.alphaMap:t.emissiveMap&&(n=t.emissiveMap),void 0!==n){n.isWebGLRenderTarget&&(n=n.texture);var r=n.offset,i=n.repeat;e.offsetRepeat.value.set(r.x,r.y,i.x,i.y)}e.envMap.value=t.envMap,e.flipEnvMap.value=t.envMap&&t.envMap.isCubeTexture?-1:1,e.reflectivity.value=t.reflectivity,e.refractionRatio.value=t.refractionRatio}function E(e,t){e.diffuse.value=t.color,e.opacity.value=t.opacity}function T(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function k(e,t){if(e.diffuse.value=t.color,e.opacity.value=t.opacity,e.size.value=t.size*Te,e.scale.value=.5*Ee,e.map.value=t.map,null!==t.map){var n=t.map.offset,r=t.map.repeat;e.offsetRepeat.value.set(n.x,n.y,r.x,r.y)}}function O(e,t){e.fogColor.value=t.color,t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)}function P(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function C(e,t){e.specular.value=t.specular,e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function A(e,t){C(e,t),t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function R(e,t){e.roughness.value=t.roughness,e.metalness.value=t.metalness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap),t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function L(e,t){e.clearCoat.value=t.clearCoat,e.clearCoatRoughness.value=t.clearCoatRoughness,R(e,t)}function I(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function D(e,t){e.ambientLightColor.needsUpdate=t,e.directionalLights.needsUpdate=t,e.pointLights.needsUpdate=t,e.spotLights.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function N(e){for(var t=0,n=0,r=e.length;n=Qe.maxTextures&&console.warn(\"WebGLRenderer: trying to use \"+e+\" texture units while this GPU supports only \"+Qe.maxTextures),_e+=1,e}function F(e){var t;if(e===sa)return Ke.REPEAT;if(e===la)return Ke.CLAMP_TO_EDGE;if(e===ua)return Ke.MIRRORED_REPEAT;if(e===ca)return Ke.NEAREST;if(e===da)return Ke.NEAREST_MIPMAP_NEAREST;if(e===fa)return Ke.NEAREST_MIPMAP_LINEAR;if(e===ha)return Ke.LINEAR;if(e===pa)return Ke.LINEAR_MIPMAP_NEAREST;if(e===ma)return Ke.LINEAR_MIPMAP_LINEAR;if(e===ga)return Ke.UNSIGNED_BYTE;if(e===Sa)return Ke.UNSIGNED_SHORT_4_4_4_4;if(e===Ea)return Ke.UNSIGNED_SHORT_5_5_5_1;if(e===Ta)return Ke.UNSIGNED_SHORT_5_6_5;if(e===va)return Ke.BYTE;if(e===ya)return Ke.SHORT;if(e===ba)return Ke.UNSIGNED_SHORT;if(e===xa)return Ke.INT;if(e===_a)return Ke.UNSIGNED_INT;if(e===wa)return Ke.FLOAT;if(e===Ma&&null!==(t=$e.get(\"OES_texture_half_float\")))return t.HALF_FLOAT_OES;if(e===Oa)return Ke.ALPHA;if(e===Pa)return Ke.RGB;if(e===Ca)return Ke.RGBA;if(e===Aa)return Ke.LUMINANCE;if(e===Ra)return Ke.LUMINANCE_ALPHA;if(e===Ia)return Ke.DEPTH_COMPONENT;if(e===Da)return Ke.DEPTH_STENCIL;if(e===_o)return Ke.FUNC_ADD;if(e===wo)return Ke.FUNC_SUBTRACT;if(e===Mo)return Ke.FUNC_REVERSE_SUBTRACT;if(e===To)return Ke.ZERO;if(e===ko)return Ke.ONE;if(e===Oo)return Ke.SRC_COLOR;if(e===Po)return Ke.ONE_MINUS_SRC_COLOR;if(e===Co)return Ke.SRC_ALPHA;if(e===Ao)return Ke.ONE_MINUS_SRC_ALPHA;if(e===Ro)return Ke.DST_ALPHA;if(e===Lo)return Ke.ONE_MINUS_DST_ALPHA;if(e===Io)return Ke.DST_COLOR;if(e===Do)return Ke.ONE_MINUS_DST_COLOR;if(e===No)return Ke.SRC_ALPHA_SATURATE;if((e===Na||e===za||e===Ba||e===Fa)&&null!==(t=$e.get(\"WEBGL_compressed_texture_s3tc\"))){if(e===Na)return t.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===za)return t.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Ba)return t.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===Fa)return t.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((e===ja||e===Ua||e===Wa||e===Ga)&&null!==(t=$e.get(\"WEBGL_compressed_texture_pvrtc\"))){if(e===ja)return t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===Ua)return t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===Wa)return t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===Ga)return t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===Va&&null!==(t=$e.get(\"WEBGL_compressed_texture_etc1\")))return t.COMPRESSED_RGB_ETC1_WEBGL;if((e===So||e===Eo)&&null!==(t=$e.get(\"EXT_blend_minmax\"))){if(e===So)return t.MIN_EXT;if(e===Eo)return t.MAX_EXT}return e===ka&&null!==(t=$e.get(\"WEBGL_depth_texture\"))?t.UNSIGNED_INT_24_8_WEBGL:0}console.log(\"THREE.WebGLRenderer\",Zi),e=e||{};var j=void 0!==e.canvas?e.canvas:document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),U=void 0!==e.context?e.context:null,W=void 0!==e.alpha&&e.alpha,G=void 0===e.depth||e.depth,V=void 0===e.stencil||e.stencil,H=void 0!==e.antialias&&e.antialias,X=void 0===e.premultipliedAlpha||e.premultipliedAlpha,Z=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,$=[],ee=[],te=-1,re=[],ie=-1,se=new Float32Array(8),le=[],ue=[];this.domElement=j,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=Zo,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var ce=this,de=null,fe=null,he=null,me=-1,ge=\"\",ve=null,ye=new a,be=null,xe=new a,_e=0,we=new q(0),Me=0,Se=j.width,Ee=j.height,Te=1,ke=new a(0,0,Se,Ee),Oe=!1,Ae=new a(0,0,Se,Ee),Le=new oe,De=new ut,Ue=!1,We=!1,Ge=new ne,Ve=new d,He=new c,Ye=new d,qe=new d,Xe={hash:\"\",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Ze={calls:0,vertices:0,faces:0,points:0};this.info={render:Ze,memory:{geometries:0,textures:0},programs:null};var Ke;try{var Je={alpha:W,depth:G,stencil:V,antialias:H,premultipliedAlpha:X,preserveDrawingBuffer:Z};if(null===(Ke=U||j.getContext(\"webgl\",Je)||j.getContext(\"experimental-webgl\",Je)))throw null!==j.getContext(\"webgl\")?\"Error creating WebGL context with your selected attributes.\":\"Error creating WebGL context.\";void 0===Ke.getShaderPrecisionFormat&&(Ke.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),j.addEventListener(\"webglcontextlost\",i,!1)}catch(e){console.error(\"THREE.WebGLRenderer: \"+e)}var $e=new lt(Ke);$e.get(\"WEBGL_depth_texture\"),$e.get(\"OES_texture_float\"),$e.get(\"OES_texture_float_linear\"),$e.get(\"OES_texture_half_float\"),$e.get(\"OES_texture_half_float_linear\"),$e.get(\"OES_standard_derivatives\"),$e.get(\"ANGLE_instanced_arrays\"),$e.get(\"OES_element_index_uint\")&&(Pe.MaxIndex=4294967296);var Qe=new st(Ke,$e,e),et=new at(Ke,$e,F),nt=new ot,ct=new it(Ke,$e,et,nt,Qe,F,this.info),dt=new rt(Ke,nt,this.info),ft=new tt(this,Qe),ht=new je;this.info.programs=ft.programs;var pt,mt,gt,vt,yt=new Fe(Ke,$e,Ze),bt=new Be(Ke,$e,Ze);n(),this.context=Ke,this.capabilities=Qe,this.extensions=$e,this.properties=nt,this.state=et;var xt=new ae(this,Xe,dt,Qe);this.shadowMap=xt;var _t=new J(this,le),wt=new K(this,ue);this.getContext=function(){return Ke},this.getContextAttributes=function(){return Ke.getContextAttributes()},this.forceContextLoss=function(){$e.get(\"WEBGL_lose_context\").loseContext()},this.getMaxAnisotropy=function(){return Qe.getMaxAnisotropy()},this.getPrecision=function(){return Qe.precision},this.getPixelRatio=function(){return Te},this.setPixelRatio=function(e){void 0!==e&&(Te=e,this.setSize(Ae.z,Ae.w,!1))},this.getSize=function(){return{width:Se,height:Ee}},this.setSize=function(e,t,n){Se=e,Ee=t,j.width=e*Te,j.height=t*Te,!1!==n&&(j.style.width=e+\"px\",j.style.height=t+\"px\"),this.setViewport(0,0,e,t)},this.setViewport=function(e,t,n,r){et.viewport(Ae.set(e,t,n,r))},this.setScissor=function(e,t,n,r){et.scissor(ke.set(e,t,n,r))},this.setScissorTest=function(e){et.setScissorTest(Oe=e)},this.getClearColor=function(){return we},this.setClearColor=function(e,t){we.set(e),Me=void 0!==t?t:1,et.buffers.color.setClear(we.r,we.g,we.b,Me,X)},this.getClearAlpha=function(){return Me},this.setClearAlpha=function(e){Me=e,et.buffers.color.setClear(we.r,we.g,we.b,Me,X)},this.clear=function(e,t,n){var r=0;(void 0===e||e)&&(r|=Ke.COLOR_BUFFER_BIT),(void 0===t||t)&&(r|=Ke.DEPTH_BUFFER_BIT),(void 0===n||n)&&(r|=Ke.STENCIL_BUFFER_BIT),Ke.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(e,t,n,r){this.setRenderTarget(e),this.clear(t,n,r)},this.resetGLState=r,this.dispose=function(){re=[],ie=-1,ee=[],te=-1,j.removeEventListener(\"webglcontextlost\",i,!1)},this.renderBufferImmediate=function(e,t,n){et.initAttributes();var r=nt.get(e);e.hasPositions&&!r.position&&(r.position=Ke.createBuffer()),e.hasNormals&&!r.normal&&(r.normal=Ke.createBuffer()),e.hasUvs&&!r.uv&&(r.uv=Ke.createBuffer()),e.hasColors&&!r.color&&(r.color=Ke.createBuffer());var i=t.getAttributes();if(e.hasPositions&&(Ke.bindBuffer(Ke.ARRAY_BUFFER,r.position),Ke.bufferData(Ke.ARRAY_BUFFER,e.positionArray,Ke.DYNAMIC_DRAW),et.enableAttribute(i.position),Ke.vertexAttribPointer(i.position,3,Ke.FLOAT,!1,0,0)),e.hasNormals){if(Ke.bindBuffer(Ke.ARRAY_BUFFER,r.normal),!n.isMeshPhongMaterial&&!n.isMeshStandardMaterial&&!n.isMeshNormalMaterial&&n.shading===uo)for(var o=0,a=3*e.count;o8&&(h.length=8);for(var v=r.morphAttributes,p=0,m=h.length;p0&&S.renderInstances(r,C,R):S.render(C,R)}},this.render=function(e,t,n,r){if(void 0!==t&&!0!==t.isCamera)return void console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");ge=\"\",me=-1,ve=null,!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),t.matrixWorldInverse.getInverse(t.matrixWorld),Ve.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Le.setFromMatrix(Ve),$.length=0,te=-1,ie=-1,le.length=0,ue.length=0,We=this.localClippingEnabled,Ue=De.init(this.clippingPlanes,We,t),b(e,t),ee.length=te+1,re.length=ie+1,!0===ce.sortObjects&&(ee.sort(h),re.sort(p)),Ue&&De.beginShadows(),N($),xt.render(e,t),z($,t),Ue&&De.endShadows(),Ze.calls=0,Ze.vertices=0,Ze.faces=0,Ze.points=0,void 0===n&&(n=null),this.setRenderTarget(n);var i=e.background;if(null===i?et.buffers.color.setClear(we.r,we.g,we.b,Me,X):i&&i.isColor&&(et.buffers.color.setClear(i.r,i.g,i.b,1,X),r=!0),(this.autoClear||r)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil),i&&i.isCubeTexture?(void 0===gt&&(gt=new Ne,vt=new Ce(new Re(5,5,5),new Q({uniforms:Ss.cube.uniforms,vertexShader:Ss.cube.vertexShader,fragmentShader:Ss.cube.fragmentShader,side:so,depthTest:!1,depthWrite:!1,fog:!1}))),gt.projectionMatrix.copy(t.projectionMatrix),gt.matrixWorld.extractRotation(t.matrixWorld),gt.matrixWorldInverse.getInverse(gt.matrixWorld),vt.material.uniforms.tCube.value=i,vt.modelViewMatrix.multiplyMatrices(gt.matrixWorldInverse,vt.matrixWorld),dt.update(vt),ce.renderBufferDirect(gt,null,vt.geometry,vt.material,vt,null)):i&&i.isTexture&&(void 0===pt&&(pt=new ze(-1,1,1,-1,0,1),mt=new Ce(new Ie(2,2),new pe({depthTest:!1,depthWrite:!1,fog:!1}))),mt.material.map=i,dt.update(mt),ce.renderBufferDirect(pt,null,mt.geometry,mt.material,mt,null)),e.overrideMaterial){var o=e.overrideMaterial;x(ee,e,t,o),x(re,e,t,o)}else et.setBlending(mo),x(ee,e,t),x(re,e,t);_t.render(e,t),wt.render(e,t,xe),n&&ct.updateRenderTargetMipmap(n),et.setDepthTest(!0),et.setDepthWrite(!0),et.setColorWrite(!0)},this.setFaceCulling=function(e,t){et.setCullFace(e),et.setFlipSided(t===to)},this.allocTextureUnit=B,this.setTexture2D=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTarget&&(e||(console.warn(\"THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.\"),e=!0),t=t.texture),ct.setTexture2D(t,n)}}(),this.setTexture=function(){var e=!1;return function(t,n){e||(console.warn(\"THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead.\"),e=!0),ct.setTexture2D(t,n)}}(),this.setTextureCube=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTargetCube&&(e||(console.warn(\"THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),e=!0),t=t.texture),t&&t.isCubeTexture||Array.isArray(t.image)&&6===t.image.length?ct.setTextureCube(t,n):ct.setTextureCubeDynamic(t,n)}}(),this.getCurrentRenderTarget=function(){return fe},this.setRenderTarget=function(e){fe=e,e&&void 0===nt.get(e).__webglFramebuffer&&ct.setupRenderTarget(e);var t,n=e&&e.isWebGLRenderTargetCube;if(e){var r=nt.get(e);t=n?r.__webglFramebuffer[e.activeCubeFace]:r.__webglFramebuffer,ye.copy(e.scissor),be=e.scissorTest,xe.copy(e.viewport)}else t=null,ye.copy(ke).multiplyScalar(Te),be=Oe,xe.copy(Ae).multiplyScalar(Te);if(he!==t&&(Ke.bindFramebuffer(Ke.FRAMEBUFFER,t),he=t),et.scissor(ye),et.setScissorTest(be),et.viewport(xe),n){var i=nt.get(e.texture);Ke.framebufferTexture2D(Ke.FRAMEBUFFER,Ke.COLOR_ATTACHMENT0,Ke.TEXTURE_CUBE_MAP_POSITIVE_X+e.activeCubeFace,i.__webglTexture,e.activeMipMapLevel)}},this.readRenderTargetPixels=function(e,t,n,r,i,o){if(!1===(e&&e.isWebGLRenderTarget))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");var a=nt.get(e).__webglFramebuffer;if(a){var s=!1;a!==he&&(Ke.bindFramebuffer(Ke.FRAMEBUFFER,a),s=!0);try{var l=e.texture,u=l.format,c=l.type;if(u!==Ca&&F(u)!==Ke.getParameter(Ke.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");if(!(c===ga||F(c)===Ke.getParameter(Ke.IMPLEMENTATION_COLOR_READ_TYPE)||c===wa&&($e.get(\"OES_texture_float\")||$e.get(\"WEBGL_color_buffer_float\"))||c===Ma&&$e.get(\"EXT_color_buffer_half_float\")))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");Ke.checkFramebufferStatus(Ke.FRAMEBUFFER)===Ke.FRAMEBUFFER_COMPLETE?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&Ke.readPixels(t,n,r,i,F(u),F(c),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&&Ke.bindFramebuffer(Ke.FRAMEBUFFER,he)}}}}function dt(e,t){this.name=\"\",this.color=new q(e),this.density=void 0!==t?t:25e-5}function ft(e,t,n){this.name=\"\",this.color=new q(e),this.near=void 0!==t?t:1,this.far=void 0!==n?n:1e3}function ht(){ce.call(this),this.type=\"Scene\",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function pt(e,t,n,r,i){ce.call(this),this.lensFlares=[],this.positionScreen=new c,this.customUpdateCallback=void 0,void 0!==e&&this.add(e,t,n,r,i)}function mt(e){$.call(this),this.type=\"SpriteMaterial\",this.color=new q(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(e)}function gt(e){ce.call(this),this.type=\"Sprite\",this.material=void 0!==e?e:new mt}function vt(){ce.call(this),this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function yt(e,t,n){if(this.useVertexTexture=void 0===n||n,this.identityMatrix=new d,e=e||[],this.bones=e.slice(0),this.useVertexTexture){var r=Math.sqrt(4*this.bones.length);r=hs.nextPowerOfTwo(Math.ceil(r)),r=Math.max(r,4),this.boneTextureWidth=r,this.boneTextureHeight=r,this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new X(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,Ca,wa)}else this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===t)this.calculateInverses();else if(this.bones.length===t.length)this.boneInverses=t.slice(0);else{console.warn(\"THREE.Skeleton bonInverses is the wrong length.\"),this.boneInverses=[];for(var i=0,o=this.bones.length;i=e.HAVE_CURRENT_DATA&&(d.needsUpdate=!0)}o.call(this,e,t,n,r,i,a,s,l,u),this.generateMipmaps=!1;var d=this;c()}function Ot(e,t,n,r,i,a,s,l,u,c,d,f){o.call(this,null,a,s,l,u,c,r,i,d,f),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}function Pt(e,t,n,r,i,a,s,l,u){o.call(this,e,t,n,r,i,a,s,l,u),this.needsUpdate=!0}function Ct(e,t,n,r,i,a,s,l,u,c){if((c=void 0!==c?c:Ia)!==Ia&&c!==Da)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===Ia&&(n=ba),void 0===n&&c===Da&&(n=ka),o.call(this,null,r,i,a,s,l,c,n,u),this.image={width:e,height:t},this.magFilter=void 0!==s?s:ca,this.minFilter=void 0!==l?l:ca,this.flipY=!1,this.generateMipmaps=!1}function At(e){function t(e,t){return e-t}Pe.call(this),this.type=\"WireframeGeometry\";var n,r,i,o,a,s,l,u,d=[],f=[0,0],h={},p=[\"a\",\"b\",\"c\"];if(e&&e.isGeometry){var m=e.faces;for(n=0,i=m.length;n.9&&o<.1&&(t<.2&&(m[e+0]+=1),n<.2&&(m[e+2]+=1),r<.2&&(m[e+4]+=1))}}function s(e){p.push(e.x,e.y,e.z)}function l(t,n){var r=3*t;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function u(){for(var e=new c,t=new c,n=new c,r=new c,o=new i,a=new i,s=new i,l=0,u=0;l0)&&m.push(w,M,E),(l!==n-1||u0&&u(!0),t>0&&u(!1)),this.setIndex(f),this.addAttribute(\"position\",new Me(h,3)),this.addAttribute(\"normal\",new Me(p,3)),this.addAttribute(\"uv\",new Me(m,2))}function cn(e,t,n,r,i,o,a){ln.call(this,0,e,t,n,r,i,o,a),this.type=\"ConeGeometry\",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function dn(e,t,n,r,i,o,a){un.call(this,0,e,t,n,r,i,o,a),this.type=\"ConeBufferGeometry\",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function fn(e,t,n,r){Oe.call(this),this.type=\"CircleGeometry\",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},this.fromBufferGeometry(new hn(e,t,n,r))}function hn(e,t,n,r){Pe.call(this),this.type=\"CircleBufferGeometry\",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},e=e||50,t=void 0!==t?Math.max(3,t):8,n=void 0!==n?n:0,r=void 0!==r?r:2*Math.PI;var o,a,s=[],l=[],u=[],d=[],f=new c,h=new i;for(l.push(0,0,0),u.push(0,0,1),d.push(.5,.5),a=0,o=3;a<=t;a++,o+=3){var p=n+a/t*r;f.x=e*Math.cos(p),f.y=e*Math.sin(p),l.push(f.x,f.y,f.z),u.push(0,0,1),h.x=(l[o]/e+1)/2,h.y=(l[o+1]/e+1)/2,d.push(h.x,h.y)}for(o=1;o<=t;o++)s.push(o,o+1,0);this.setIndex(s),this.addAttribute(\"position\",new Me(l,3)),this.addAttribute(\"normal\",new Me(u,3)),this.addAttribute(\"uv\",new Me(d,2))}function pn(){Q.call(this,{uniforms:xs.merge([Ms.lights,{opacity:{value:1}}]),vertexShader:_s.shadow_vert,fragmentShader:_s.shadow_frag}),this.lights=!0,this.transparent=!0,Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}}})}function mn(e){Q.call(this,e),this.type=\"RawShaderMaterial\"}function gn(e){this.uuid=hs.generateUUID(),this.type=\"MultiMaterial\",this.materials=Array.isArray(e)?e:[],this.visible=!0}function vn(e){$.call(this),this.defines={STANDARD:\"\"},this.type=\"MeshStandardMaterial\",this.color=new q(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function yn(e){vn.call(this),this.defines={PHYSICAL:\"\"},this.type=\"MeshPhysicalMaterial\",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(e)}function bn(e){$.call(this),this.type=\"MeshPhongMaterial\",this.color=new q(16777215),this.specular=new q(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ho,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function xn(e){bn.call(this),this.defines={TOON:\"\"},this.type=\"MeshToonMaterial\",this.gradientMap=null,this.setValues(e)}function _n(e){$.call(this,e),this.type=\"MeshNormalMaterial\",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function wn(e){$.call(this),this.type=\"MeshLambertMaterial\",this.color=new q(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ho,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Mn(e){$.call(this),this.type=\"LineDashedMaterial\",this.color=new q(16777215),this.linewidth=1,this.scale=1,this.dashSize=3,this.gapSize=1,this.lights=!1,this.setValues(e)}function Sn(e,t,n){var r=this,i=!1,o=0,a=0;this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){a++,!1===i&&void 0!==r.onStart&&r.onStart(e,o,a),i=!0},this.itemEnd=function(e){o++,void 0!==r.onProgress&&r.onProgress(e,o,a),o===a&&(i=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)}}function En(e){this.manager=void 0!==e?e:Ls}function Tn(e){this.manager=void 0!==e?e:Ls,this._parser=null}function kn(e){this.manager=void 0!==e?e:Ls,this._parser=null}function On(e){this.manager=void 0!==e?e:Ls}function Pn(e){this.manager=void 0!==e?e:Ls}function Cn(e){this.manager=void 0!==e?e:Ls}function An(e,t){ce.call(this),this.type=\"Light\",this.color=new q(e),this.intensity=void 0!==t?t:1,this.receiveShadow=void 0}function Rn(e,t,n){An.call(this,e,n),this.type=\"HemisphereLight\",this.castShadow=void 0,this.position.copy(ce.DefaultUp),this.updateMatrix(),this.groundColor=new q(t)}function Ln(e){this.camera=e,this.bias=0,this.radius=1,this.mapSize=new i(512,512),this.map=null,this.matrix=new d}function In(){Ln.call(this,new Ne(50,1,.5,500))}function Dn(e,t,n,r,i,o){An.call(this,e,t),this.type=\"SpotLight\",this.position.copy(ce.DefaultUp),this.updateMatrix(),this.target=new ce,Object.defineProperty(this,\"power\",{get:function(){return this.intensity*Math.PI},set:function(e){this.intensity=e/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==r?r:Math.PI/3,this.penumbra=void 0!==i?i:0,this.decay=void 0!==o?o:1,this.shadow=new In}function Nn(e,t,n,r){An.call(this,e,t),this.type=\"PointLight\",Object.defineProperty(this,\"power\",{get:function(){return 4*this.intensity*Math.PI},set:function(e){this.intensity=e/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==r?r:1,this.shadow=new Ln(new Ne(90,1,.5,500))}function zn(){Ln.call(this,new ze(-5,5,5,-5,.5,500))}function Bn(e,t){An.call(this,e,t),this.type=\"DirectionalLight\",this.position.copy(ce.DefaultUp),this.updateMatrix(),this.target=new ce,this.shadow=new zn}function Fn(e,t){An.call(this,e,t),this.type=\"AmbientLight\",this.castShadow=void 0}function jn(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n}function Un(e,t,n,r){jn.call(this,e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Wn(e,t,n,r){jn.call(this,e,t,n,r)}function Gn(e,t,n,r){jn.call(this,e,t,n,r)}function Vn(e,t,n,r){if(void 0===e)throw new Error(\"track name is undefined\");if(void 0===t||0===t.length)throw new Error(\"no keyframes in track named \"+e);this.name=e,this.times=Is.convertArray(t,this.TimeBufferType),this.values=Is.convertArray(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation),this.validate(),this.optimize()}function Hn(e,t,n,r){Vn.call(this,e,t,n,r)}function Yn(e,t,n,r){jn.call(this,e,t,n,r)}function qn(e,t,n,r){Vn.call(this,e,t,n,r)}function Xn(e,t,n,r){Vn.call(this,e,t,n,r)}function Zn(e,t,n,r){Vn.call(this,e,t,n,r)}function Kn(e,t,n){Vn.call(this,e,t,n)}function Jn(e,t,n,r){Vn.call(this,e,t,n,r)}function $n(e,t,n,r){Vn.apply(this,arguments)}function Qn(e,t,n){this.name=e,this.tracks=n,this.duration=void 0!==t?t:-1,this.uuid=hs.generateUUID(),this.duration<0&&this.resetDuration(),this.optimize()}function er(e){this.manager=void 0!==e?e:Ls,this.textures={}}function tr(e){this.manager=void 0!==e?e:Ls}function nr(){this.onLoadStart=function(){},this.onLoadProgress=function(){},this.onLoadComplete=function(){}}function rr(e){\"boolean\"==typeof e&&(console.warn(\"THREE.JSONLoader: showStatus parameter has been removed from constructor.\"),e=void 0),this.manager=void 0!==e?e:Ls,this.withCredentials=!1}function ir(e){this.manager=void 0!==e?e:Ls,this.texturePath=\"\"}function or(e,t,n,r,i){var o=.5*(r-t),a=.5*(i-n),s=e*e;return(2*n-2*r+o+a)*(e*s)+(-3*n+3*r-2*o-a)*s+o*e+n}function ar(e,t){var n=1-e;return n*n*t}function sr(e,t){return 2*(1-e)*e*t}function lr(e,t){return e*e*t}function ur(e,t,n,r){return ar(e,t)+sr(e,n)+lr(e,r)}function cr(e,t){var n=1-e;return n*n*n*t}function dr(e,t){var n=1-e;return 3*n*n*e*t}function fr(e,t){return 3*(1-e)*e*e*t}function hr(e,t){return e*e*e*t}function pr(e,t,n,r,i){return cr(e,t)+dr(e,n)+fr(e,r)+hr(e,i)}function mr(){}function gr(e,t){this.v1=e,this.v2=t}function vr(){this.curves=[],this.autoClose=!1}function yr(e,t,n,r,i,o,a,s){this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s||0}function br(e){this.points=void 0===e?[]:e}function xr(e,t,n,r){this.v0=e,this.v1=t,this.v2=n,this.v3=r}function _r(e,t,n){this.v0=e,this.v1=t,this.v2=n}function wr(e){vr.call(this),this.currentPoint=new i,e&&this.fromPoints(e)}function Mr(){wr.apply(this,arguments),this.holes=[]}function Sr(){this.subPaths=[],this.currentPath=null}function Er(e){this.data=e}function Tr(e){this.manager=void 0!==e?e:Ls}function kr(e){this.manager=void 0!==e?e:Ls}function Or(e,t,n,r){An.call(this,e,t),this.type=\"RectAreaLight\",this.position.set(0,1,0),this.updateMatrix(),this.width=void 0!==n?n:10,this.height=void 0!==r?r:10}function Pr(){this.type=\"StereoCamera\",this.aspect=1,this.eyeSep=.064,this.cameraL=new Ne,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Ne,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Cr(e,t,n){ce.call(this),this.type=\"CubeCamera\";var r=new Ne(90,1,e,t);r.up.set(0,-1,0),r.lookAt(new c(1,0,0)),this.add(r);var i=new Ne(90,1,e,t);i.up.set(0,-1,0),i.lookAt(new c(-1,0,0)),this.add(i);var o=new Ne(90,1,e,t);o.up.set(0,0,1),o.lookAt(new c(0,1,0)),this.add(o);var a=new Ne(90,1,e,t);a.up.set(0,0,-1),a.lookAt(new c(0,-1,0)),this.add(a);var s=new Ne(90,1,e,t);s.up.set(0,-1,0),s.lookAt(new c(0,0,1)),this.add(s);var u=new Ne(90,1,e,t);u.up.set(0,-1,0),u.lookAt(new c(0,0,-1)),this.add(u);var d={format:Pa,magFilter:ha,minFilter:ha};this.renderTarget=new l(n,n,d),this.updateCubeMap=function(e,t){null===this.parent&&this.updateMatrixWorld();var n=this.renderTarget,l=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,n.activeCubeFace=0,e.render(t,r,n),n.activeCubeFace=1,e.render(t,i,n),n.activeCubeFace=2,e.render(t,o,n),n.activeCubeFace=3,e.render(t,a,n),n.activeCubeFace=4,e.render(t,s,n),n.texture.generateMipmaps=l,n.activeCubeFace=5,e.render(t,u,n),e.setRenderTarget(null)}}function Ar(){ce.call(this),this.type=\"AudioListener\",this.context=Bs.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null}function Rr(e){ce.call(this),this.type=\"Audio\",this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType=\"empty\",this.filters=[]}function Lr(e){Rr.call(this,e),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function Ir(e,t){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=void 0!==t?t:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}function Dr(e,t,n){this.binding=e,this.valueSize=n;var r,i=Float64Array;switch(t){case\"quaternion\":r=this._slerp;break;case\"string\":case\"bool\":i=Array,r=this._select;break;default:r=this._lerp}this.buffer=new i(4*n),this._mixBufferRegion=r,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}function Nr(e,t,n){this.path=t,this.parsedPath=n||Nr.parseTrackName(t),this.node=Nr.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e}function zr(e){this.uuid=hs.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var t={};this._indicesByUUID=t;for(var n=0,r=arguments.length;n!==r;++n)t[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var i=this;this.stats={objects:{get total(){return i._objects.length},get inUse(){return this.total-i.nCachedObjects_}},get bindingsPerObject(){return i._bindings.length}}}function Br(e,t,n){this._mixer=e,this._clip=t,this._localRoot=n||null;for(var r=t.tracks,i=r.length,o=new Array(i),a={endingStart:Ja,endingEnd:Ja},s=0;s!==i;++s){var l=r[s].createInterpolant(null);o[s]=l,l.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ya,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}function Fr(e){this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function jr(e){\"string\"==typeof e&&(console.warn(\"THREE.Uniform: Type parameter is no longer needed.\"),e=arguments[1]),this.value=e}function Ur(){Pe.call(this),this.type=\"InstancedBufferGeometry\",this.maxInstancedCount=void 0}function Wr(e,t,n,r){this.uuid=hs.generateUUID(),this.data=e,this.itemSize=t,this.offset=n,this.normalized=!0===r}function Gr(e,t){this.uuid=hs.generateUUID(),this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function Vr(e,t,n){Gr.call(this,e,t),this.meshPerAttribute=n||1}function Hr(e,t,n){me.call(this,e,t),this.meshPerAttribute=n||1}function Yr(e,t,n,r){this.ray=new se(e,t),this.near=n||0,this.far=r||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn(\"THREE.Raycaster: params.PointCloud has been renamed to params.Points.\"),this.Points}}})}function qr(e,t){return e.distance-t.distance}function Xr(e,t,n,r){if(!1!==e.visible&&(e.raycast(t,n),!0===r))for(var i=e.children,o=0,a=i.length;o0?1:+e}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,\"name\",{get:function(){return this.toString().match(/^\\s*function\\s*([^\\(\\s]*)/)[1]}}),void 0===Object.assign&&function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var t=Object(e),n=1;n>=4,n[i]=t[19===i?3&e|8:e]);return n.join(\"\")}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},lerp:function(e,t,n){return(1-n)*e+n*t},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},degToRad:function(e){return e*hs.DEG2RAD},radToDeg:function(e){return e*hs.RAD2DEG},isPowerOfTwo:function(e){return 0==(e&e-1)&&0!==e},nearestPowerOfTwo:function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},nextPowerOfTwo:function(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}};i.prototype={constructor:i,isVector2:!0,get width(){return this.x},set width(e){this.x=e},get height(){return this.y},set height(e){this.y=e},set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e):(this.x=0,this.y=0),this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new i,t=new i),e.set(n,n),t.set(r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.multiplyScalar(Math.max(e,Math.min(t,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(e){return this.x*e.x+this.y*e.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var e=Math.atan2(this.y,this.x);return e<0&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this},rotateAround:function(e,t){var n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,o=this.y-e.y;return this.x=i*n-o*r+e.x,this.y=i*r+o*n+e.y,this}};var ps=0;o.DEFAULT_IMAGE=void 0,o.DEFAULT_MAPPING=Qo,o.prototype={constructor:o,isTexture:!0,set needsUpdate(e){!0===e&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){if(void 0!==e.textures[this.uuid])return e.textures[this.uuid];var t={metadata:{version:4.4,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;void 0===n.uuid&&(n.uuid=hs.generateUUID()),void 0===e.images[n.uuid]&&(e.images[n.uuid]={uuid:n.uuid,url:function(e){var t;return void 0!==e.toDataURL?t=e:(t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),t.width=e.width,t.height=e.height,t.getContext(\"2d\").drawImage(e,0,0,e.width,e.height)),t.width>2048||t.height>2048?t.toDataURL(\"image/jpeg\",.6):t.toDataURL(\"image/png\")}(n)}),t.image=n.uuid}return e.textures[this.uuid]=t,t},dispose:function(){this.dispatchEvent({type:\"dispose\"})},transformUv:function(e){if(this.mapping===Qo){if(e.multiply(this.repeat),e.add(this.offset),e.x<0||e.x>1)switch(this.wrapS){case sa:e.x=e.x-Math.floor(e.x);break;case la:e.x=e.x<0?0:1;break;case ua:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case sa:e.y=e.y-Math.floor(e.y);break;case la:e.y=e.y<0?0:1;break;case ua:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}this.flipY&&(e.y=1-e.y)}}},Object.assign(o.prototype,r.prototype),a.prototype={constructor:a,isVector4:!0,set:function(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setW:function(e){return this.w=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e,this.z*=e,this.w*=e):(this.x=0,this.y=0,this.z=0,this.w=0),this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r+o[12]*i,this.y=o[1]*t+o[5]*n+o[9]*r+o[13]*i,this.z=o[2]*t+o[6]*n+o[10]*r+o[14]*i,this.w=o[3]*t+o[7]*n+o[11]*r+o[15]*i,this},divideScalar:function(e){return this.multiplyScalar(1/e)},setAxisAngleFromQuaternion:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},setAxisAngleFromRotationMatrix:function(e){var t,n,r,i,o=e.elements,a=o[0],s=o[4],l=o[8],u=o[1],c=o[5],d=o[9],f=o[2],h=o[6],p=o[10];if(Math.abs(s-u)<.01&&Math.abs(l-f)<.01&&Math.abs(d-h)<.01){if(Math.abs(s+u)<.1&&Math.abs(l+f)<.1&&Math.abs(d+h)<.1&&Math.abs(a+c+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;var m=(a+1)/2,g=(c+1)/2,v=(p+1)/2,y=(s+u)/4,b=(l+f)/4,x=(d+h)/4;return m>g&&m>v?m<.01?(n=0,r=.707106781,i=.707106781):(n=Math.sqrt(m),r=y/n,i=b/n):g>v?g<.01?(n=.707106781,r=0,i=.707106781):(r=Math.sqrt(g),n=y/r,i=x/r):v<.01?(n=.707106781,r=.707106781,i=0):(i=Math.sqrt(v),n=b/i,r=x/i),this.set(n,r,i,t),this}var _=Math.sqrt((h-d)*(h-d)+(l-f)*(l-f)+(u-s)*(u-s));return Math.abs(_)<.001&&(_=1),this.x=(h-d)/_,this.y=(l-f)/_,this.z=(u-s)/_,this.w=Math.acos((a+c+p-1)/2),this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new a,t=new a),e.set(n,n,n,n),t.set(r,r,r,r),this.clamp(e,t)}}(),floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}},s.prototype={constructor:s,isWebGLRenderTarget:!0,setSize:function(e,t){this.width===e&&this.height===t||(this.width=e,this.height=t,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.width=e.width,this.height=e.height,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign(s.prototype,r.prototype),l.prototype=Object.create(s.prototype),l.prototype.constructor=l,l.prototype.isWebGLRenderTargetCube=!0,u.prototype={constructor:u,get x(){return this._x},set x(e){this._x=e,this.onChangeCallback()},get y(){return this._y},set y(e){this._y=e,this.onChangeCallback()},get z(){return this._z},set z(e){this._z=e,this.onChangeCallback()},get w(){return this._w},set w(e){this._w=e,this.onChangeCallback()},set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this.onChangeCallback(),this},setFromEuler:function(e,t){if(!1===(e&&e.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");var n=Math.cos(e._x/2),r=Math.cos(e._y/2),i=Math.cos(e._z/2),o=Math.sin(e._x/2),a=Math.sin(e._y/2),s=Math.sin(e._z/2),l=e.order;return\"XYZ\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i-o*a*s):\"YXZ\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i+o*a*s):\"ZXY\"===l?(this._x=o*r*i-n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i-o*a*s):\"ZYX\"===l?(this._x=o*r*i-n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i+o*a*s):\"YZX\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i-o*a*s):\"XZY\"===l&&(this._x=o*r*i-n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i+o*a*s),!1!==t&&this.onChangeCallback(),this},setFromAxisAngle:function(e,t){var n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(e){var t,n=e.elements,r=n[0],i=n[4],o=n[8],a=n[1],s=n[5],l=n[9],u=n[2],c=n[6],d=n[10],f=r+s+d;return f>0?(t=.5/Math.sqrt(f+1),this._w=.25/t,this._x=(c-l)*t,this._y=(o-u)*t,this._z=(a-i)*t):r>s&&r>d?(t=2*Math.sqrt(1+r-s-d),this._w=(c-l)/t,this._x=.25*t,this._y=(i+a)/t,this._z=(o+u)/t):s>d?(t=2*Math.sqrt(1+s-r-d),this._w=(o-u)/t,this._x=(i+a)/t,this._y=.25*t,this._z=(l+c)/t):(t=2*Math.sqrt(1+d-r-s),this._w=(a-i)/t,this._x=(o+u)/t,this._y=(l+c)/t,this._z=.25*t),this.onChangeCallback(),this},setFromUnitVectors:function(){var e,t;return function(n,r){return void 0===e&&(e=new c),t=n.dot(r)+1,t<1e-6?(t=0,Math.abs(n.x)>Math.abs(n.z)?e.set(-n.y,n.x,0):e.set(0,-n.z,n.y)):e.crossVectors(n,r),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this.onChangeCallback(),this},multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},premultiply:function(e){return this.multiplyQuaternions(e,this)},multiplyQuaternions:function(e,t){var n=e._x,r=e._y,i=e._z,o=e._w,a=t._x,s=t._y,l=t._z,u=t._w;return this._x=n*u+o*a+r*l-i*s,this._y=r*u+o*s+i*a-n*l,this._z=i*u+o*l+n*s-r*a,this._w=o*u-n*a-r*s-i*l,this.onChangeCallback(),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this._x,r=this._y,i=this._z,o=this._w,a=o*e._w+n*e._x+r*e._y+i*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=r,this._z=i,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(n+this._x),this._y=.5*(r+this._y),this._z=.5*(i+this._z),this;var l=Math.atan2(s,a),u=Math.sin((1-t)*l)/s,c=Math.sin(t*l)/s;return this._w=o*u+this._w*c,this._x=n*u+this._x*c,this._y=r*u+this._y*c,this._z=i*u+this._z*c,this.onChangeCallback(),this},equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},fromArray:function(e,t){return void 0===t&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}},Object.assign(u,{slerp:function(e,t,n,r){return n.copy(e).slerp(t,r)},slerpFlat:function(e,t,n,r,i,o,a){var s=n[r+0],l=n[r+1],u=n[r+2],c=n[r+3],d=i[o+0],f=i[o+1],h=i[o+2],p=i[o+3];if(c!==p||s!==d||l!==f||u!==h){var m=1-a,g=s*d+l*f+u*h+c*p,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var b=Math.sqrt(y),x=Math.atan2(b,g*v);m=Math.sin(m*x)/b,a=Math.sin(a*x)/b}var _=a*v;if(s=s*m+d*_,l=l*m+f*_,u=u*m+h*_,c=c*m+p*_,m===1-a){var w=1/Math.sqrt(s*s+l*l+u*u+c*c);s*=w,l*=w,u*=w,c*=w}}e[t]=s,e[t+1]=l,e[t+2]=u,e[t+3]=c}}),c.prototype={constructor:c,isVector3:!0,set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e,this.z*=e):(this.x=0,this.y=0,this.z=0),this},multiplyVectors:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},applyEuler:function(){var e;return function(t){return!1===(t&&t.isEuler)&&console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),void 0===e&&(e=new u),this.applyQuaternion(e.setFromEuler(t))}}(),applyAxisAngle:function(){var e;return function(t,n){return void 0===e&&(e=new u),this.applyQuaternion(e.setFromAxisAngle(t,n))}}(),applyMatrix3:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;this.x=i[0]*t+i[4]*n+i[8]*r+i[12],this.y=i[1]*t+i[5]*n+i[9]*r+i[13],this.z=i[2]*t+i[6]*n+i[10]*r+i[14];var o=i[3]*t+i[7]*n+i[11]*r+i[15];return this.divideScalar(o)},applyQuaternion:function(e){var t=this.x,n=this.y,r=this.z,i=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*r-a*n,u=s*n+a*t-i*r,c=s*r+i*n-o*t,d=-i*t-o*n-a*r;return this.x=l*s+d*-i+u*-a-c*-o,this.y=u*s+d*-o+c*-i-l*-a,this.z=c*s+d*-a+l*-o-u*-i,this},project:function(){var e;return function(t){return void 0===e&&(e=new d),e.multiplyMatrices(t.projectionMatrix,e.getInverse(t.matrixWorld)),this.applyMatrix4(e)}}(),unproject:function(){var e;return function(t){return void 0===e&&(e=new d),e.multiplyMatrices(t.matrixWorld,e.getInverse(t.projectionMatrix)),this.applyMatrix4(e)}}(),transformDirection:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()},divide:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new c,t=new c),e.set(n,n,n),t.set(r,r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.multiplyScalar(Math.max(e,Math.min(t,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},cross:function(e,t){if(void 0!==t)return console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(e,t);var n=this.x,r=this.y,i=this.z;return this.x=r*e.z-i*e.y,this.y=i*e.x-n*e.z,this.z=n*e.y-r*e.x,this},crossVectors:function(e,t){var n=e.x,r=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=r*s-i*a,this.y=i*o-n*s,this.z=n*a-r*o,this},projectOnVector:function(e){var t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)},projectOnPlane:function(){var e;return function(t){return void 0===e&&(e=new c),e.copy(this).projectOnVector(t),this.sub(e)}}(),reflect:function(){var e;return function(t){return void 0===e&&(e=new c),this.sub(e.copy(t).multiplyScalar(2*this.dot(t)))}}(),angleTo:function(e){var t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return Math.acos(hs.clamp(t,-1,1))},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},setFromSpherical:function(e){var t=Math.sin(e.phi)*e.radius;return this.x=t*Math.sin(e.theta),this.y=Math.cos(e.phi)*e.radius,this.z=t*Math.cos(e.theta),this},setFromCylindrical:function(e){return this.x=e.radius*Math.sin(e.theta),this.y=e.y,this.z=e.radius*Math.cos(e.theta),this},setFromMatrixPosition:function(e){return this.setFromMatrixColumn(e,3)},setFromMatrixScale:function(e){var t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this},setFromMatrixColumn:function(e,t){if(\"number\"==typeof e){console.warn(\"THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).\");var n=e;e=t,t=n}return this.fromArray(e.elements,4*t)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}},d.prototype={constructor:d,isMatrix4:!0,set:function(e,t,n,r,i,o,a,s,l,u,c,d,f,h,p,m){var g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=o,g[9]=a,g[13]=s,g[2]=l,g[6]=u,g[10]=c,g[14]=d,g[3]=f,g[7]=h,g[11]=p,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new d).fromArray(this.elements)},copy:function(e){return this.elements.set(e.elements),this},copyPosition:function(e){var t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this},extractBasis:function(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this},extractRotation:function(){var e;return function(t){void 0===e&&(e=new c);var n=this.elements,r=t.elements,i=1/e.setFromMatrixColumn(t,0).length(),o=1/e.setFromMatrixColumn(t,1).length(),a=1/e.setFromMatrixColumn(t,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[4]=r[4]*o,n[5]=r[5]*o,n[6]=r[6]*o,n[8]=r[8]*a,n[9]=r[9]*a,n[10]=r[10]*a,this}}(),makeRotationFromEuler:function(e){!1===(e&&e.isEuler)&&console.error(\"THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");var t=this.elements,n=e.x,r=e.y,i=e.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(r),l=Math.sin(r),u=Math.cos(i),c=Math.sin(i);if(\"XYZ\"===e.order){var d=o*u,f=o*c,h=a*u,p=a*c;t[0]=s*u,t[4]=-s*c,t[8]=l,t[1]=f+h*l,t[5]=d-p*l,t[9]=-a*s,t[2]=p-d*l,t[6]=h+f*l,t[10]=o*s}else if(\"YXZ\"===e.order){var m=s*u,g=s*c,v=l*u,y=l*c;t[0]=m+y*a,t[4]=v*a-g,t[8]=o*l,t[1]=o*c,t[5]=o*u,t[9]=-a,t[2]=g*a-v,t[6]=y+m*a,t[10]=o*s}else if(\"ZXY\"===e.order){var m=s*u,g=s*c,v=l*u,y=l*c;t[0]=m-y*a,t[4]=-o*c,t[8]=v+g*a,t[1]=g+v*a,t[5]=o*u,t[9]=y-m*a,t[2]=-o*l,t[6]=a,t[10]=o*s}else if(\"ZYX\"===e.order){var d=o*u,f=o*c,h=a*u,p=a*c;t[0]=s*u,t[4]=h*l-f,t[8]=d*l+p,t[1]=s*c,t[5]=p*l+d,t[9]=f*l-h,t[2]=-l,t[6]=a*s,t[10]=o*s}else if(\"YZX\"===e.order){var b=o*s,x=o*l,_=a*s,w=a*l;t[0]=s*u,t[4]=w-b*c,t[8]=_*c+x,t[1]=c,t[5]=o*u,t[9]=-a*u,t[2]=-l*u,t[6]=x*c+_,t[10]=b-w*c}else if(\"XZY\"===e.order){var b=o*s,x=o*l,_=a*s,w=a*l;t[0]=s*u,t[4]=-c,t[8]=l*u,t[1]=b*c+w,t[5]=o*u,t[9]=x*c-_,t[2]=_*c-x,t[6]=a*u,t[10]=w*c+b}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},makeRotationFromQuaternion:function(e){var t=this.elements,n=e.x,r=e.y,i=e.z,o=e.w,a=n+n,s=r+r,l=i+i,u=n*a,c=n*s,d=n*l,f=r*s,h=r*l,p=i*l,m=o*a,g=o*s,v=o*l;return t[0]=1-(f+p),t[4]=c-v,t[8]=d+g,t[1]=c+v,t[5]=1-(u+p),t[9]=h-m,t[2]=d-g,t[6]=h+m,t[10]=1-(u+f),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},lookAt:function(){var e,t,n;return function(r,i,o){void 0===e&&(e=new c,t=new c,n=new c);var a=this.elements;return n.subVectors(r,i).normalize(),0===n.lengthSq()&&(n.z=1),e.crossVectors(o,n).normalize(),0===e.lengthSq()&&(n.z+=1e-4,e.crossVectors(o,n).normalize()),t.crossVectors(n,e),a[0]=e.x,a[4]=t.x,a[8]=n.x,a[1]=e.y,a[5]=t.y,a[9]=n.y,a[2]=e.z,a[6]=t.z,a[10]=n.z,this}}(),multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[4],s=n[8],l=n[12],u=n[1],c=n[5],d=n[9],f=n[13],h=n[2],p=n[6],m=n[10],g=n[14],v=n[3],y=n[7],b=n[11],x=n[15],_=r[0],w=r[4],M=r[8],S=r[12],E=r[1],T=r[5],k=r[9],O=r[13],P=r[2],C=r[6],A=r[10],R=r[14],L=r[3],I=r[7],D=r[11],N=r[15];return i[0]=o*_+a*E+s*P+l*L,i[4]=o*w+a*T+s*C+l*I,i[8]=o*M+a*k+s*A+l*D,i[12]=o*S+a*O+s*R+l*N,i[1]=u*_+c*E+d*P+f*L,i[5]=u*w+c*T+d*C+f*I,i[9]=u*M+c*k+d*A+f*D,i[13]=u*S+c*O+d*R+f*N,i[2]=h*_+p*E+m*P+g*L,i[6]=h*w+p*T+m*C+g*I,i[10]=h*M+p*k+m*A+g*D,i[14]=h*S+p*O+m*R+g*N,i[3]=v*_+y*E+b*P+x*L,i[7]=v*w+y*T+b*C+x*I,i[11]=v*M+y*k+b*A+x*D,i[15]=v*S+y*O+b*R+x*N,this},multiplyToArray:function(e,t,n){var r=this.elements;return this.multiplyMatrices(e,t),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},applyToBufferAttribute:function(){var e;return function(t){void 0===e&&(e=new c);for(var n=0,r=t.count;n 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec2 ltcTextureCoords( const in GeometricContext geometry, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = (LUT_SIZE - 1.0)/LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5/LUT_SIZE;\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tfloat theta = acos( dot( N, V ) );\\n\\tvec2 uv = vec2(\\n\\t\\tsqrt( saturate( roughness ) ),\\n\\t\\tsaturate( theta / ( 0.5 * PI ) ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nvoid clipQuadToHorizon( inout vec3 L[5], out int n ) {\\n\\tint config = 0;\\n\\tif ( L[0].z > 0.0 ) config += 1;\\n\\tif ( L[1].z > 0.0 ) config += 2;\\n\\tif ( L[2].z > 0.0 ) config += 4;\\n\\tif ( L[3].z > 0.0 ) config += 8;\\n\\tn = 0;\\n\\tif ( config == 0 ) {\\n\\t} else if ( config == 1 ) {\\n\\t\\tn = 3;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 2 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 3 ) {\\n\\t\\tn = 4;\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t\\tL[3] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 4 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t} else if ( config == 5 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 6 ) {\\n\\t\\tn = 4;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 7 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 8 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[1] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = L[3];\\n\\t} else if ( config == 9 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t} else if ( config == 10 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 11 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 12 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t} else if ( config == 13 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = L[2];\\n\\t\\tL[2] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t} else if ( config == 14 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t} else if ( config == 15 ) {\\n\\t\\tn = 4;\\n\\t}\\n\\tif ( n == 3 )\\n\\t\\tL[3] = L[0];\\n\\tif ( n == 4 )\\n\\t\\tL[4] = L[0];\\n}\\nfloat integrateLtcBrdfOverRectEdge( vec3 v1, vec3 v2 ) {\\n\\tfloat cosTheta = dot( v1, v2 );\\n\\tfloat theta = acos( cosTheta );\\n\\tfloat res = cross( v1, v2 ).z * ( ( theta > 0.001 ) ? theta / sin( theta ) : 1.0 );\\n\\treturn res;\\n}\\nvoid initRectPoints( const in vec3 pos, const in vec3 halfWidth, const in vec3 halfHeight, out vec3 rectPoints[4] ) {\\n\\trectPoints[0] = pos - halfWidth - halfHeight;\\n\\trectPoints[1] = pos + halfWidth - halfHeight;\\n\\trectPoints[2] = pos + halfWidth + halfHeight;\\n\\trectPoints[3] = pos - halfWidth + halfHeight;\\n}\\nvec3 integrateLtcBrdfOverRect( const in GeometricContext geometry, const in mat3 brdfMat, const in vec3 rectPoints[4] ) {\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tvec3 T1, T2;\\n\\tT1 = normalize(V - N * dot( V, N ));\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 brdfWrtSurface = brdfMat * transpose( mat3( T1, T2, N ) );\\n\\tvec3 clippedRect[5];\\n\\tclippedRect[0] = brdfWrtSurface * ( rectPoints[0] - P );\\n\\tclippedRect[1] = brdfWrtSurface * ( rectPoints[1] - P );\\n\\tclippedRect[2] = brdfWrtSurface * ( rectPoints[2] - P );\\n\\tclippedRect[3] = brdfWrtSurface * ( rectPoints[3] - P );\\n\\tint n;\\n\\tclipQuadToHorizon(clippedRect, n);\\n\\tif ( n == 0 )\\n\\t\\treturn vec3( 0, 0, 0 );\\n\\tclippedRect[0] = normalize( clippedRect[0] );\\n\\tclippedRect[1] = normalize( clippedRect[1] );\\n\\tclippedRect[2] = normalize( clippedRect[2] );\\n\\tclippedRect[3] = normalize( clippedRect[3] );\\n\\tclippedRect[4] = normalize( clippedRect[4] );\\n\\tfloat sum = 0.0;\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[0], clippedRect[1] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[1], clippedRect[2] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[2], clippedRect[3] );\\n\\tif (n >= 4)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[3], clippedRect[4] );\\n\\tif (n == 5)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[4], clippedRect[0] );\\n\\tsum = max( 0.0, sum );\\n\\tvec3 Lo_i = vec3( sum, sum, sum );\\n\\treturn Lo_i;\\n}\\nvec3 Rect_Area_Light_Specular_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight,\\n\\t\\tconst in float roughness,\\n\\t\\tconst in sampler2D ltcMat, const in sampler2D ltcMag ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tvec2 uv = ltcTextureCoords( geometry, roughness );\\n\\tvec4 brdfLtcApproxParams, t;\\n\\tbrdfLtcApproxParams = texture2D( ltcMat, uv );\\n\\tt = texture2D( ltcMat, uv );\\n\\tfloat brdfLtcScalar = texture2D( ltcMag, uv ).a;\\n\\tmat3 brdfLtcApproxMat = mat3(\\n\\t\\tvec3( 1, 0, t.y ),\\n\\t\\tvec3( 0, t.z, 0 ),\\n\\t\\tvec3( t.w, 0, t.x )\\n\\t);\\n\\tvec3 specularReflectance = integrateLtcBrdfOverRect( geometry, brdfLtcApproxMat, rectPoints );\\n\\tspecularReflectance *= brdfLtcScalar;\\n\\treturn specularReflectance;\\n}\\nvec3 Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tmat3 diffuseBrdfMat = mat3(1);\\n\\tvec3 diffuseReflectance = integrateLtcBrdfOverRect( geometry, diffuseBrdfMat, rectPoints );\\n\\treturn diffuseReflectance;\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",bumpmap_pars_fragment:\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",clipping_planes_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\\n\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t\\t\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\\n\\t\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\tif ( clipped ) discard;\\n\\t\\n\\t#endif\\n#endif\\n\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",color_fragment:\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",color_pars_vertex:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",common:\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define PI_HALF 1.5707963267949\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\nmat3 transpose( const in mat3 v ) {\\n\\tmat3 tmp;\\n\\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\\n\\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\\n\\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\\n\\treturn tmp;\\n}\\n\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",defaultnormal_vertex:\"#ifdef FLIP_SIDED\\n\\tobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\\n\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",encodings_fragment:\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",encodings_pars_fragment:\"\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n\\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n\\tfloat maxComponent = max( max( value.r, value.g ), value.b );\\n\\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n\\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n\\tM = ceil( M * 255.0 ) / 255.0;\\n\\treturn vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat D = max( maxRange / maxRGB, 1.0 );\\n\\tD = min( floor( D ) / 255.0, 1.0 );\\n\\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n\\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n\\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n\\tvec4 vResult;\\n\\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n\\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n\\tvResult.w = fract(Le);\\n\\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n\\treturn vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n\\tfloat Le = value.z * 255.0 + value.w;\\n\\tvec3 Xp_Y_XYZp;\\n\\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n\\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n\\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n\\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n\\treturn vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",envmap_pars_fragment:\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntensity;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",fog_vertex:\"\\n#ifdef USE_FOG\\nfogDepth = -mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n varying float fogDepth;\\n#endif\\n\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float fogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\\n\",gradientmap_pars_fragment:\"#ifdef TOON\\n\\tuniform sampler2D gradientMap;\\n\\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\t\\tfloat dotNL = dot( normal, lightDirection );\\n\\t\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t\\t#ifdef USE_GRADIENTMAP\\n\\t\\t\\treturn texture2D( gradientMap, coord ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_vertex:\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lights_pars:\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tdirectLight.color = pointLight.color;\\n\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( angleCos > spotLight.coneCos ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltcMat;\\tuniform sampler2D ltcMag;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\\n\\t\\t\\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = BlinnExponentToGGXRoughness( material.specularShininess );\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec / PI2;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff / PI2;\\n\\t}\\n#endif\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifdef TOON\\n\\t\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\t#else\\n\\t\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\t\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#endif\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.specularRoughness;\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff;\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",lights_template:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\\n\\t#endif\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\\n\\t#ifndef STANDARD\\n\\t\\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\\n\\t#else\\n\\t\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n\\t#endif\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",logdepthbuf_fragment:\"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\\n\\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\\n\\t#endif\\n#endif\\n\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",map_particle_fragment:\"#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",map_particle_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform vec4 offsetRepeat;\\n\\tuniform sampler2D map;\\n#endif\\n\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.r;\\n#endif\\n\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",normal_flip:\"#ifdef DOUBLE_SIDED\\n\\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n#else\\n\\tfloat flipNormal = 1.0;\\n#endif\\n\",normal_fragment:\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal ) * flipNormal;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\n\\t\\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\tmapN.xy = normalScale * mapN.xy;\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\\n\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 1.0 - 2.0 * rgb.xyz;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",project_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 mvPosition = modelViewMatrix * skinned;\\n#else\\n\\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\\n\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.r;\\n#endif\\n\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",shadowmap_pars_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",shadowmap_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureWidth;\\n\\t\\tuniform int boneTextureHeight;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureWidth ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureWidth ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureWidth );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureHeight );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\tskinned = bindMatrixInverse * skinned;\\n#endif\\n\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",tonemapping_pars_fragment:\"#define saturate(a) clamp( a, 0.0, 1.0 )\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",uv_pars_fragment:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",uv_pars_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform vec4 offsetRepeat;\\n#endif\\n\",uv_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",uv2_pars_fragment:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_pars_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n\\t#ifdef USE_SKINNING\\n\\t\\tvec4 worldPosition = modelMatrix * skinned;\\n\\t#else\\n\\t\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n\\t#endif\\n#endif\\n\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",cube_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",distanceRGBA_frag:\"uniform vec3 lightPos;\\nvarying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\\n}\\n\",distanceRGBA_vert:\"varying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition;\\n}\\n\",equirect_frag:\"uniform sampler2D tEquirect;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",equirect_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_frag:\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_frag:\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_vert:\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",normal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\\n\",normal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\\n\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",shadow_frag:\"uniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\\n}\\n\",shadow_vert:\"#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\"};q.prototype={constructor:q,isColor:!0,r:1,g:1,b:1,set:function(e){return e&&e.isColor?this.copy(e):\"number\"==typeof e?this.setHex(e):\"string\"==typeof e&&this.setStyle(e),this},setScalar:function(e){return this.r=e,this.g=e,this.b=e,this},setHex:function(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this},setRGB:function(e,t,n){return this.r=e,this.g=t,this.b=n,this},setHSL:function(){function e(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}return function(t,n,r){if(t=hs.euclideanModulo(t,1),n=hs.clamp(n,0,1),r=hs.clamp(r,0,1),0===n)this.r=this.g=this.b=r;else{var i=r<=.5?r*(1+n):r+n-r*n,o=2*r-i;this.r=e(o,i,t+1/3),this.g=e(o,i,t),this.b=e(o,i,t-1/3)}return this}}(),setStyle:function(e){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}var n;if(n=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(e)){var r,i=n[1],o=n[2];switch(i){case\"rgb\":case\"rgba\":if(r=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,t(r[5]),this;if(r=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,t(r[5]),this;break;case\"hsl\":case\"hsla\":if(r=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o)){var a=parseFloat(r[1])/360,s=parseInt(r[2],10)/100,l=parseInt(r[3],10)/100;return t(r[5]),this.setHSL(a,s,l)}}}else if(n=/^\\#([A-Fa-f0-9]+)$/.exec(e)){var u=n[1],c=u.length;if(3===c)return this.r=parseInt(u.charAt(0)+u.charAt(0),16)/255,this.g=parseInt(u.charAt(1)+u.charAt(1),16)/255,this.b=parseInt(u.charAt(2)+u.charAt(2),16)/255,this;if(6===c)return this.r=parseInt(u.charAt(0)+u.charAt(1),16)/255,this.g=parseInt(u.charAt(2)+u.charAt(3),16)/255,this.b=parseInt(u.charAt(4)+u.charAt(5),16)/255,this}if(e&&e.length>0){var u=ws[e];void 0!==u?this.setHex(u):console.warn(\"THREE.Color: Unknown color \"+e)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},copyGammaToLinear:function(e,t){return void 0===t&&(t=2),this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this},copyLinearToGamma:function(e,t){void 0===t&&(t=2);var n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this},convertGammaToLinear:function(){var e=this.r,t=this.g,n=this.b;return this.r=e*e,this.g=t*t,this.b=n*n,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(e){var t,n,r=e||{h:0,s:0,l:0},i=this.r,o=this.g,a=this.b,s=Math.max(i,o,a),l=Math.min(i,o,a),u=(l+s)/2;if(l===s)t=0,n=0;else{var c=s-l;switch(n=u<=.5?c/(s+l):c/(2-s-l),s){case i:t=(o-a)/c+(othis.max.x||e.ythis.max.y)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y},getParameter:function(e,t){return(t||new i).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)},clampPoint:function(e,t){return(t||new i).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new i;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};var Es=0;$.prototype={constructor:$,isMaterial:!0,get needsUpdate(){return this._needsUpdate},set needsUpdate(e){!0===e&&this.update(),this._needsUpdate=e},setValues:function(e){if(void 0!==e)for(var t in e){var n=e[t];if(void 0!==n){var r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=\"overdraw\"===t?Number(n):n:console.warn(\"THREE.\"+this.type+\": '\"+t+\"' is not a property of this material.\")}else console.warn(\"THREE.Material: '\"+t+\"' parameter is undefined.\")}},toJSON:function(e){function t(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}var n=void 0===e;n&&(e={textures:{},images:{}});var r={metadata:{version:4.4,type:\"Material\",generator:\"Material.toJSON\"}};if(r.uuid=this.uuid,r.type=this.type,\"\"!==this.name&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),void 0!==this.roughness&&(r.roughness=this.roughness),void 0!==this.metalness&&(r.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),void 0!==this.shininess&&(r.shininess=this.shininess),void 0!==this.clearCoat&&(r.clearCoat=this.clearCoat),void 0!==this.clearCoatRoughness&&(r.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,r.reflectivity=this.reflectivity),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.size&&(r.size=this.size),void 0!==this.sizeAttenuation&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==go&&(r.blending=this.blending),this.shading!==co&&(r.shading=this.shading),this.side!==ao&&(r.side=this.side),this.vertexColors!==fo&&(r.vertexColors=this.vertexColors),this.opacity<1&&(r.opacity=this.opacity),!0===this.transparent&&(r.transparent=this.transparent),r.depthFunc=this.depthFunc,r.depthTest=this.depthTest,r.depthWrite=this.depthWrite,this.alphaTest>0&&(r.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(r.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(r.wireframe=this.wireframe),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(r.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(r.wireframeLinejoin=this.wireframeLinejoin),r.skinning=this.skinning,r.morphTargets=this.morphTargets,n){var i=t(e.textures),o=t(e.images);i.length>0&&(r.textures=i),o.length>0&&(r.images=o)}return r},clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.name=e.name,this.fog=e.fog,this.lights=e.lights,this.blending=e.blending,this.side=e.side,this.shading=e.shading,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.alphaTest=e.alphaTest,this.premultipliedAlpha=e.premultipliedAlpha,this.overdraw=e.overdraw,this.visible=e.visible,this.clipShadows=e.clipShadows,this.clipIntersection=e.clipIntersection;var t=e.clippingPlanes,n=null;if(null!==t){var r=t.length;n=new Array(r);for(var i=0;i!==r;++i)n[i]=t[i].clone()}return this.clippingPlanes=n,this},update:function(){this.dispatchEvent({type:\"update\"})},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign($.prototype,r.prototype),Q.prototype=Object.create($.prototype),Q.prototype.constructor=Q,Q.prototype.isShaderMaterial=!0,Q.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=xs.clone(e.uniforms),this.defines=e.defines,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=e.extensions,this},Q.prototype.toJSON=function(e){var t=$.prototype.toJSON.call(this,e);return t.uniforms=this.uniforms,t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t},ee.prototype=Object.create($.prototype),ee.prototype.constructor=ee,ee.prototype.isMeshDepthMaterial=!0,ee.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.depthPacking=e.depthPacking,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this},te.prototype={constructor:te,isBox3:!0,set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromArray:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.length;si&&(i=u),c>o&&(o=c),d>a&&(a=d)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromBufferAttribute:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.count;si&&(i=u),c>o&&(o=c),d>a&&(a=d)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},getParameter:function(e,t){return(t||new c).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)},intersectsSphere:function(){var e;return function(t){return void 0===e&&(e=new c),this.clampPoint(t.center,e),e.distanceToSquared(t.center)<=t.radius*t.radius}}(),intersectsPlane:function(e){var t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=e.constant&&n>=e.constant},clampPoint:function(e,t){return(t||new c).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new c;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),getBoundingSphere:function(){var e=new c;return function(t){var n=t||new ne;return this.getCenter(n.center),n.radius=.5*this.getSize(e).length(),n}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},applyMatrix4:function(){var e=[new c,new c,new c,new c,new c,new c,new c,new c];return function(t){return this.isEmpty()?this:(e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(e),this)}}(),translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},ne.prototype={constructor:ne,set:function(e,t){return this.center.copy(e),this.radius=t,this},setFromPoints:function(){var e;return function(t,n){void 0===e&&(e=new te);var r=this.center;void 0!==n?r.copy(n):e.setFromPoints(t).getCenter(r);for(var i=0,o=0,a=t.length;othis.radius*this.radius&&(r.sub(this.center).normalize(),r.multiplyScalar(this.radius).add(this.center)),r},getBoundingBox:function(e){var t=e||new te;return t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},translate:function(e){return this.center.add(e),this},equals:function(e){return e.center.equals(this.center)&&e.radius===this.radius}},re.prototype={constructor:re,isMatrix3:!0,set:function(e,t,n,r,i,o,a,s,l){var u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=i,u[5]=s,u[6]=n,u[7]=o,u[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(e){var t=e.elements;return this.set(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]),this},setFromMatrix4:function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},applyToBufferAttribute:function(){var e;return function(t){void 0===e&&(e=new c);for(var n=0,r=t.count;n1))return r.copy(i).multiplyScalar(a).add(t.start)}else if(0===this.distanceToPoint(t.start))return r.copy(t.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return(e||new c).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new c,t=new re;return function(n,r){var i=this.coplanarPoint(e).applyMatrix4(n),o=r||t.getNormalMatrix(n),a=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(a),this}}(),translate:function(e){return this.constant=this.constant-e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}},oe.prototype={constructor:oe,set:function(e,t,n,r,i,o){var a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(i),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){for(var t=this.planes,n=0;n<6;n++)t[n].copy(e.planes[n]);return this},setFromMatrix:function(e){var t=this.planes,n=e.elements,r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],l=n[5],u=n[6],c=n[7],d=n[8],f=n[9],h=n[10],p=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return t[0].setComponents(a-r,c-s,p-d,y-m).normalize(),t[1].setComponents(a+r,c+s,p+d,y+m).normalize(),t[2].setComponents(a+i,c+l,p+f,y+g).normalize(),t[3].setComponents(a-i,c-l,p-f,y-g).normalize(),t[4].setComponents(a-o,c-u,p-h,y-v).normalize(),t[5].setComponents(a+o,c+u,p+h,y+v).normalize(),this},intersectsObject:function(){var e=new ne;return function(t){var n=t.geometry;return null===n.boundingSphere&&n.computeBoundingSphere(),e.copy(n.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSprite:function(){var e=new ne;return function(t){return e.center.set(0,0,0),e.radius=.7071067811865476,e.applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSphere:function(e){for(var t=this.planes,n=e.center,r=-e.radius,i=0;i<6;i++){if(t[i].distanceToPoint(n)0?n.min.x:n.max.x,t.x=o.normal.x>0?n.max.x:n.min.x,e.y=o.normal.y>0?n.min.y:n.max.y,t.y=o.normal.y>0?n.max.y:n.min.y,e.z=o.normal.z>0?n.min.z:n.max.z,t.z=o.normal.z>0?n.max.z:n.min.z;var a=o.distanceToPoint(e),s=o.distanceToPoint(t);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(e){for(var t=this.planes,n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}},se.prototype={constructor:se,set:function(e,t){return this.origin.copy(e),this.direction.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this},at:function(e,t){return(t||new c).copy(this.direction).multiplyScalar(e).add(this.origin)},lookAt:function(e){return this.direction.copy(e).sub(this.origin).normalize(),this},recast:function(){var e=new c;return function(t){return this.origin.copy(this.at(t,e)),this}}(),closestPointToPoint:function(e,t){var n=t||new c;n.subVectors(e,this.origin);var r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.direction).multiplyScalar(r).add(this.origin)},distanceToPoint:function(e){return Math.sqrt(this.distanceSqToPoint(e))},distanceSqToPoint:function(){var e=new c;return function(t){var n=e.subVectors(t,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(t):(e.copy(this.direction).multiplyScalar(n).add(this.origin),e.distanceToSquared(t))}}(),distanceSqToSegment:function(){var e=new c,t=new c,n=new c;return function(r,i,o,a){e.copy(r).add(i).multiplyScalar(.5),t.copy(i).sub(r).normalize(),n.copy(this.origin).sub(e);var s,l,u,c,d=.5*r.distanceTo(i),f=-this.direction.dot(t),h=n.dot(this.direction),p=-n.dot(t),m=n.lengthSq(),g=Math.abs(1-f*f);if(g>0)if(s=f*p-h,l=f*h-p,c=d*g,s>=0)if(l>=-c)if(l<=c){var v=1/g;s*=v,l*=v,u=s*(s+f*l+2*h)+l*(f*s+l+2*p)+m}else l=d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;else l=-d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;else l<=-c?(s=Math.max(0,-(-f*d+h)),l=s>0?-d:Math.min(Math.max(-d,-p),d),u=-s*s+l*(l+2*p)+m):l<=c?(s=0,l=Math.min(Math.max(-d,-p),d),u=l*(l+2*p)+m):(s=Math.max(0,-(f*d+h)),l=s>0?d:Math.min(Math.max(-d,-p),d),u=-s*s+l*(l+2*p)+m);else l=f>0?-d:d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(t).multiplyScalar(l).add(e),u}}(),intersectSphere:function(){var e=new c;return function(t,n){e.subVectors(t.center,this.origin);var r=e.dot(this.direction),i=e.dot(e)-r*r,o=t.radius*t.radius;if(i>o)return null;var a=Math.sqrt(o-i),s=r-a,l=r+a;return s<0&&l<0?null:s<0?this.at(l,n):this.at(s,n)}}(),intersectsSphere:function(e){return this.distanceToPoint(e.center)<=e.radius},distanceToPlane:function(e){var t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null},intersectPlane:function(e,t){var n=this.distanceToPlane(e);return null===n?null:this.at(n,t)},intersectsPlane:function(e){var t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0},intersectBox:function(e,t){var n,r,i,o,a,s,l=1/this.direction.x,u=1/this.direction.y,c=1/this.direction.z,d=this.origin;return l>=0?(n=(e.min.x-d.x)*l,r=(e.max.x-d.x)*l):(n=(e.max.x-d.x)*l,r=(e.min.x-d.x)*l),u>=0?(i=(e.min.y-d.y)*u,o=(e.max.y-d.y)*u):(i=(e.max.y-d.y)*u,o=(e.min.y-d.y)*u),n>o||i>r?null:((i>n||n!==n)&&(n=i),(o=0?(a=(e.min.z-d.z)*c,s=(e.max.z-d.z)*c):(a=(e.max.z-d.z)*c,s=(e.min.z-d.z)*c),n>s||a>r?null:((a>n||n!==n)&&(n=a),(s=0?n:r,t)))},intersectsBox:function(){var e=new c;return function(t){return null!==this.intersectBox(t,e)}}(),intersectTriangle:function(){var e=new c,t=new c,n=new c,r=new c;return function(i,o,a,s,l){t.subVectors(o,i),n.subVectors(a,i),r.crossVectors(t,n);var u,c=this.direction.dot(r);if(c>0){if(s)return null;u=1}else{if(!(c<0))return null;u=-1,c=-c}e.subVectors(this.origin,i);var d=u*this.direction.dot(n.crossVectors(e,n));if(d<0)return null;var f=u*this.direction.dot(t.cross(e));if(f<0)return null;if(d+f>c)return null;var h=-u*e.dot(r);return h<0?null:this.at(h/c,l)}}(),applyMatrix4:function(e){return this.direction.add(this.origin).applyMatrix4(e),this.origin.applyMatrix4(e),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}},le.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"],le.DefaultOrder=\"XYZ\",le.prototype={constructor:le,isEuler:!0,get x(){return this._x},set x(e){this._x=e,this.onChangeCallback()},get y(){return this._y},set y(e){this._y=e,this.onChangeCallback()},get z(){return this._z},set z(e){this._z=e,this.onChangeCallback()},get order(){return this._order},set order(e){this._order=e,this.onChangeCallback()},set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._order=r||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this.onChangeCallback(),this},setFromRotationMatrix:function(e,t,n){var r=hs.clamp,i=e.elements,o=i[0],a=i[4],s=i[8],l=i[1],u=i[5],c=i[9],d=i[2],f=i[6],h=i[10];return t=t||this._order,\"XYZ\"===t?(this._y=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(f,u),this._z=0)):\"YXZ\"===t?(this._x=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(this._y=Math.atan2(s,h),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,o),this._z=0)):\"ZXY\"===t?(this._x=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(this._y=Math.atan2(-d,h),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(l,o))):\"ZYX\"===t?(this._y=Math.asin(-r(d,-1,1)),Math.abs(d)<.99999?(this._x=Math.atan2(f,h),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-a,u))):\"YZX\"===t?(this._z=Math.asin(r(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-c,u),this._y=Math.atan2(-d,o)):(this._x=0,this._y=Math.atan2(s,h))):\"XZY\"===t?(this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(f,u),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-c,h),this._y=0)):console.warn(\"THREE.Euler: .setFromRotationMatrix() given unsupported order: \"+t),this._order=t,!1!==n&&this.onChangeCallback(),this},setFromQuaternion:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeRotationFromQuaternion(t),this.setFromRotationMatrix(e,n,r)}}(),setFromVector3:function(e,t){return this.set(e.x,e.y,e.z,t||this._order)},reorder:function(){var e=new u;return function(t){return e.setFromEuler(this),this.setFromQuaternion(e,t)}}(),equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order},fromArray:function(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e},toVector3:function(e){return e?e.set(this._x,this._y,this._z):new c(this._x,this._y,this._z)},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}},ue.prototype={constructor:ue,set:function(e){this.mask=1<1){for(var t=0;t1)for(var t=0;t0){i.children=[];for(var o=0;o0&&(r.geometries=a),s.length>0&&(r.materials=s),l.length>0&&(r.textures=l),u.length>0&&(r.images=u)}return r.object=i,r},clone:function(e){return(new this.constructor).copy(this,e)},copy:function(e,t){if(void 0===t&&(t=!0),this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(var n=0;n0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),fe.barycoordFromPoint=function(){var e=new c,t=new c,n=new c;return function(r,i,o,a,s){e.subVectors(a,i),t.subVectors(o,i),n.subVectors(r,i);var l=e.dot(e),u=e.dot(t),d=e.dot(n),f=t.dot(t),h=t.dot(n),p=l*f-u*u,m=s||new c;if(0===p)return m.set(-2,-1,-1);var g=1/p,v=(f*d-u*h)*g,y=(l*h-u*d)*g;return m.set(1-v-y,y,v)}}(),fe.containsPoint=function(){var e=new c;return function(t,n,r,i){var o=fe.barycoordFromPoint(t,n,r,i,e);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}(),fe.prototype={constructor:fe,set:function(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this},setFromPointsAndIndices:function(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this},area:function(){var e=new c,t=new c;return function(){return e.subVectors(this.c,this.b),t.subVectors(this.a,this.b),.5*e.cross(t).length()}}(),midpoint:function(e){return(e||new c).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(e){return fe.normal(this.a,this.b,this.c,e)},plane:function(e){return(e||new ie).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(e,t){return fe.barycoordFromPoint(e,this.a,this.b,this.c,t)},containsPoint:function(e){return fe.containsPoint(e,this.a,this.b,this.c)},closestPointToPoint:function(){var e,t,n,r;return function(i,o){void 0===e&&(e=new ie,t=[new de,new de,new de],n=new c,r=new c);var a=o||new c,s=1/0;if(e.setFromCoplanarPoints(this.a,this.b,this.c),e.projectPoint(i,n),!0===this.containsPoint(n))a.copy(n);else{t[0].set(this.a,this.b),t[1].set(this.b,this.c),t[2].set(this.c,this.a);for(var l=0;l0,s=o[1]&&o[1].length>0,l=e.morphTargets,u=l.length;if(u>0){t=[];for(var c=0;c0){d=[];for(var c=0;c0)for(var m=0;m0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var e,t,n;for(this.computeFaceNormals(),e=0,t=this.faces.length;e0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var e,t,n,r,i;for(n=0,r=this.faces.length;n0&&(e+=t[n].distanceTo(t[n-1])),this.lineDistances[n]=e},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new te),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ne),this.boundingSphere.setFromPoints(this.vertices)},merge:function(e,t,n){if(!1===(e&&e.isGeometry))return void console.error(\"THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.\",e);var r,i=this.vertices.length,o=this.vertices,a=e.vertices,s=this.faces,l=e.faces,u=this.faceVertexUvs[0],c=e.faceVertexUvs[0],d=this.colors,f=e.colors;void 0===n&&(n=0),void 0!==t&&(r=(new re).getNormalMatrix(t));for(var h=0,p=a.length;h=0;n--){var p=f[n];for(this.faces.splice(p,1),a=0,s=this.faceVertexUvs.length;a0,x=v.vertexNormals.length>0,_=1!==v.color.r||1!==v.color.g||1!==v.color.b,w=v.vertexColors.length>0,M=0;if(M=e(M,0,0),M=e(M,1,!0),M=e(M,2,!1),M=e(M,3,y),M=e(M,4,b),M=e(M,5,x),M=e(M,6,_),M=e(M,7,w),c.push(M),c.push(v.a,v.b,v.c),c.push(v.materialIndex),y){var S=this.faceVertexUvs[0][l];c.push(r(S[0]),r(S[1]),r(S[2]))}if(b&&c.push(t(v.normal)),x){var E=v.vertexNormals;c.push(t(E[0]),t(E[1]),t(E[2]))}if(_&&c.push(n(v.color)),w){var T=v.vertexColors;c.push(n(T[0]),n(T[1]),n(T[2]))}}return i.data={},i.data.vertices=s,i.data.normals=d,h.length>0&&(i.data.colors=h),m.length>0&&(i.data.uvs=[m]),i.data.faces=c,i},clone:function(){return(new Oe).copy(this)},copy:function(e){var t,n,r,i,o,a;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var s=e.vertices;for(t=0,n=s.length;t65535?we:xe)(e,1):this.index=e},addAttribute:function(e,t){return!1===(t&&t.isBufferAttribute)&&!1===(t&&t.isInterleavedBufferAttribute)?(console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\"),void this.addAttribute(e,new me(arguments[1],arguments[2]))):\"index\"===e?(console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\"),void this.setIndex(t)):(this.attributes[e]=t,this)},getAttribute:function(e){return this.attributes[e]},removeAttribute:function(e){return delete this.attributes[e],this},addGroup:function(e,t,n){this.groups.push({start:e,count:t,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(e,t){this.drawRange.start=e,this.drawRange.count=t},applyMatrix:function(e){var t=this.attributes.position;void 0!==t&&(e.applyToBufferAttribute(t),t.needsUpdate=!0);var n=this.attributes.normal;if(void 0!==n){(new re).getNormalMatrix(e).applyToBufferAttribute(n),n.needsUpdate=!0}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeTranslation(t,n,r),this.applyMatrix(e),this}}(),scale:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeScale(t,n,r),this.applyMatrix(e),this}}(),lookAt:function(){var e;return function(t){void 0===e&&(e=new ce),e.lookAt(t),e.updateMatrix(),this.applyMatrix(e.matrix)}}(),center:function(){this.computeBoundingBox();var e=this.boundingBox.getCenter().negate();return this.translate(e.x,e.y,e.z),e},setFromObject:function(e){var t=e.geometry;if(e.isPoints||e.isLine){var n=new Me(3*t.vertices.length,3),r=new Me(3*t.colors.length,3);if(this.addAttribute(\"position\",n.copyVector3sArray(t.vertices)),this.addAttribute(\"color\",r.copyColorsArray(t.colors)),t.lineDistances&&t.lineDistances.length===t.vertices.length){var i=new Me(t.lineDistances.length,1);this.addAttribute(\"lineDistance\",i.copyArray(t.lineDistances))}null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone())}else e.isMesh&&t&&t.isGeometry&&this.fromGeometry(t);return this},updateFromObject:function(e){var t=e.geometry;if(e.isMesh){var n=t.__directGeometry;if(!0===t.elementsNeedUpdate&&(n=void 0,t.elementsNeedUpdate=!1),void 0===n)return this.fromGeometry(t);n.verticesNeedUpdate=t.verticesNeedUpdate,n.normalsNeedUpdate=t.normalsNeedUpdate,n.colorsNeedUpdate=t.colorsNeedUpdate,n.uvsNeedUpdate=t.uvsNeedUpdate,n.groupsNeedUpdate=t.groupsNeedUpdate,t.verticesNeedUpdate=!1,t.normalsNeedUpdate=!1,t.colorsNeedUpdate=!1,t.uvsNeedUpdate=!1,t.groupsNeedUpdate=!1,t=n}var r;return!0===t.verticesNeedUpdate&&(r=this.attributes.position,void 0!==r&&(r.copyVector3sArray(t.vertices),r.needsUpdate=!0),t.verticesNeedUpdate=!1),!0===t.normalsNeedUpdate&&(r=this.attributes.normal,void 0!==r&&(r.copyVector3sArray(t.normals),r.needsUpdate=!0),t.normalsNeedUpdate=!1),!0===t.colorsNeedUpdate&&(r=this.attributes.color,void 0!==r&&(r.copyColorsArray(t.colors),r.needsUpdate=!0),t.colorsNeedUpdate=!1),t.uvsNeedUpdate&&(r=this.attributes.uv,void 0!==r&&(r.copyVector2sArray(t.uvs),r.needsUpdate=!0),t.uvsNeedUpdate=!1),t.lineDistancesNeedUpdate&&(r=this.attributes.lineDistance,void 0!==r&&(r.copyArray(t.lineDistances),r.needsUpdate=!0),t.lineDistancesNeedUpdate=!1),t.groupsNeedUpdate&&(t.computeGroups(e.geometry),this.groups=t.groups,t.groupsNeedUpdate=!1),this},fromGeometry:function(e){return e.__directGeometry=(new Ee).fromGeometry(e),this.fromDirectGeometry(e.__directGeometry)},fromDirectGeometry:function(e){var t=new Float32Array(3*e.vertices.length);if(this.addAttribute(\"position\",new me(t,3).copyVector3sArray(e.vertices)),e.normals.length>0){var n=new Float32Array(3*e.normals.length);this.addAttribute(\"normal\",new me(n,3).copyVector3sArray(e.normals))}if(e.colors.length>0){var r=new Float32Array(3*e.colors.length);this.addAttribute(\"color\",new me(r,3).copyColorsArray(e.colors))}if(e.uvs.length>0){var i=new Float32Array(2*e.uvs.length);this.addAttribute(\"uv\",new me(i,2).copyVector2sArray(e.uvs))}if(e.uvs2.length>0){var o=new Float32Array(2*e.uvs2.length);this.addAttribute(\"uv2\",new me(o,2).copyVector2sArray(e.uvs2))}if(e.indices.length>0){var a=Te(e.indices)>65535?Uint32Array:Uint16Array,s=new a(3*e.indices.length);this.setIndex(new me(s,1).copyIndicesArray(e.indices))}this.groups=e.groups;for(var l in e.morphTargets){for(var u=[],c=e.morphTargets[l],d=0,f=c.length;d0){var m=new Me(4*e.skinIndices.length,4);this.addAttribute(\"skinIndex\",m.copyVector4sArray(e.skinIndices))}if(e.skinWeights.length>0){var g=new Me(4*e.skinWeights.length,4);this.addAttribute(\"skinWeight\",g.copyVector4sArray(e.skinWeights))}return null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new te);var e=this.attributes.position;void 0!==e?this.boundingBox.setFromBufferAttribute(e):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var e=new te,t=new c;return function(){null===this.boundingSphere&&(this.boundingSphere=new ne);var n=this.attributes.position;if(n){var r=this.boundingSphere.center;e.setFromBufferAttribute(n),e.getCenter(r);for(var i=0,o=0,a=n.count;o0&&(e.data.groups=JSON.parse(JSON.stringify(s)));var l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e},clone:function(){return(new Pe).copy(this)},copy:function(e){var t,n,r;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var i=e.index;null!==i&&this.setIndex(i.clone());var o=e.attributes;for(t in o){var a=o[t];this.addAttribute(t,a.clone())}var s=e.morphAttributes;for(t in s){var l=[],u=s[t];for(n=0,r=u.length;n0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var t=0,n=e.length;tt.far?null:{distance:l,point:x.clone(),object:e}}function n(n,r,i,o,a,c,d,f){s.fromBufferAttribute(o,c),l.fromBufferAttribute(o,d),u.fromBufferAttribute(o,f);var h=t(n,r,i,s,l,u,b);return h&&(a&&(m.fromBufferAttribute(a,c),g.fromBufferAttribute(a,d),v.fromBufferAttribute(a,f),h.uv=e(b,s,l,u,m,g,v)),h.face=new he(c,d,f,fe.normal(s,l,u)),h.faceIndex=c),h}var r=new d,o=new se,a=new ne,s=new c,l=new c,u=new c,f=new c,h=new c,p=new c,m=new i,g=new i,v=new i,y=new c,b=new c,x=new c;return function(i,c){var d=this.geometry,y=this.material,x=this.matrixWorld;if(void 0!==y&&(null===d.boundingSphere&&d.computeBoundingSphere(),a.copy(d.boundingSphere),a.applyMatrix4(x),!1!==i.ray.intersectsSphere(a)&&(r.getInverse(x),o.copy(i.ray).applyMatrix4(r),null===d.boundingBox||!1!==o.intersectsBox(d.boundingBox)))){var _;if(d.isBufferGeometry){var w,M,S,E,T,k=d.index,O=d.attributes.position,P=d.attributes.uv;if(null!==k)for(E=0,T=k.count;E0&&(L=B);for(var F=0,j=z.length;Fthis.scale.x*this.scale.y/4||n.push({distance:Math.sqrt(r),point:this.position,face:null,object:this})}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),vt.prototype=Object.assign(Object.create(ce.prototype),{constructor:vt,copy:function(e){ce.prototype.copy.call(this,e,!1);for(var t=e.levels,n=0,r=t.length;n1){e.setFromMatrixPosition(n.matrixWorld),t.setFromMatrixPosition(this.matrixWorld);var i=e.distanceTo(t);r[0].object.visible=!0;for(var o=1,a=r.length;o=r[o].distance;o++)r[o-1].object.visible=!1,r[o].object.visible=!0;for(;oa)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}else for(var b=0,x=v.length/3-1;ba)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}else if(s.isGeometry)for(var E=s.vertices,T=E.length,b=0;ba)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Mt.prototype=Object.assign(Object.create(wt.prototype),{constructor:Mt,isLineSegments:!0}),St.prototype=Object.create($.prototype),St.prototype.constructor=St,St.prototype.isPointsMaterial=!0,St.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this},Et.prototype=Object.assign(Object.create(ce.prototype),{constructor:Et,isPoints:!0,raycast:function(){var e=new d,t=new se,n=new ne;return function(r,i){function o(e,n){var o=t.distanceSqToPoint(e);if(or.far)return;i.push({distance:u,distanceToRay:Math.sqrt(o),point:s.clone(),index:n,face:null,object:a})}}var a=this,s=this.geometry,l=this.matrixWorld,u=r.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(l),!1!==r.ray.intersectsSphere(n)){e.getInverse(l),t.copy(r.ray).applyMatrix4(e);var d=u/((this.scale.x+this.scale.y+this.scale.z)/3),f=d*d,h=new c;if(s.isBufferGeometry){var p=s.index,m=s.attributes,g=m.position.array;if(null!==p)for(var v=p.array,y=0,b=v.length;y=-Number.EPSILON&&O>=-Number.EPSILON&&k>=-Number.EPSILON))return!1;return!0}return function(t,n){var r=t.length;if(r<3)return null;var i,o,a,s=[],l=[],u=[];if(Ps.area(t)>0)for(o=0;o2;){if(d--<=0)return console.warn(\"THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()\"),n?u:s;if(i=o,c<=i&&(i=0),o=i+1,c<=o&&(o=0),a=o+1,c<=a&&(a=0),e(t,i,o,a,c,l)){var f,h,p,m,g;for(f=l[i],h=l[o],p=l[a],s.push([t[f],t[h],t[p]]),u.push([l[i],l[o],l[a]]),m=o,g=o+1;g2&&e[t-1].equals(e[0])&&e.pop()}function r(e,t,n){return e.x!==t.x?e.xNumber.EPSILON){var p;if(f>0){if(h<0||h>f)return[];if((p=u*c-l*d)<0||p>f)return[]}else{if(h>0||h0||pE?[]:x===E?o?[]:[y]:_<=E?[y,b]:[y,M]}function o(e,t,n,r){var i=t.x-e.x,o=t.y-e.y,a=n.x-e.x,s=n.y-e.y,l=r.x-e.x,u=r.y-e.y,c=i*s-o*a,d=i*u-o*l;if(Math.abs(c)>Number.EPSILON){var f=l*s-u*a;return c>0?d>=0&&f>=0:d>=0||f>=0}return d>0}n(e),t.forEach(n);for(var a,s,l,u,c,d,f={},h=e.concat(),p=0,m=t.length;p0;){if(--_<0){console.log(\"Infinite Loop! Holes left:\"+g.length+\", Probably Hole outside Shape!\");break}for(a=x;ar&&(a=0);var s=o(m[e],m[i],m[a],n[t]);if(!s)return!1;var l=n.length-1,u=t-1;u<0&&(u=l);var c=t+1;return c>l&&(c=0),!!(s=o(n[t],n[u],n[c],m[e]))}(a,w)&&!function(e,t){var n,r,o;for(n=0;n0)return!0;return!1}(s,l)&&!function(e,n){var r,o,a,s,l;for(r=0;r0)return!0;return!1}(s,l)){r=w,g.splice(y,1),d=m.slice(0,a+1),f=m.slice(a),h=n.slice(r),p=n.slice(0,r+1),m=d.concat(h).concat(p).concat(f),x=a;break}if(r>=0)break;v[c]=!0}if(r>=0)break}}return m}(e,t),v=Ps.triangulate(g,!1);for(a=0,s=v.length;aNumber.EPSILON){var h=Math.sqrt(d),p=Math.sqrt(u*u+c*c),m=t.x-l/h,g=t.y+s/h,v=n.x-c/p,y=n.y+u/p,b=((v-m)*c-(y-g)*u)/(s*c-l*u);r=m+s*b-e.x,o=g+l*b-e.y;var x=r*r+o*o;if(x<=2)return new i(r,o);a=Math.sqrt(x/2)}else{var _=!1;s>Number.EPSILON?u>Number.EPSILON&&(_=!0):s<-Number.EPSILON?u<-Number.EPSILON&&(_=!0):Math.sign(l)===Math.sign(c)&&(_=!0),_?(r=-l,o=s,a=Math.sqrt(d)):(r=s,o=l,a=Math.sqrt(d/2))}return new i(r/a,o/a)}function o(e,t){var n,r;for(H=e.length;--H>=0;){n=H,r=H-1,r<0&&(r=e.length-1);var i=0,o=_+2*y;for(i=0;i=0;N--){for(B=N/y,F=g*Math.cos(B*Math.PI/2),z=v*Math.sin(B*Math.PI/2),H=0,Y=D.length;H0||0===e.search(/^data\\:image\\/jpeg/);i.format=r?Pa:Ca,i.image=n,i.needsUpdate=!0,void 0!==t&&t(i)},n,r),i},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),An.prototype=Object.assign(Object.create(ce.prototype),{constructor:An,isLight:!0,copy:function(e){return ce.prototype.copy.call(this,e),this.color.copy(e.color),this.intensity=e.intensity,this},toJSON:function(e){var t=ce.prototype.toJSON.call(this,e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}),Rn.prototype=Object.assign(Object.create(An.prototype),{constructor:Rn,isHemisphereLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}),Object.assign(Ln.prototype,{copy:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}),In.prototype=Object.assign(Object.create(Ln.prototype),{constructor:In,isSpotLightShadow:!0,update:function(e){var t=2*hs.RAD2DEG*e.angle,n=this.mapSize.width/this.mapSize.height,r=e.distance||500,i=this.camera;t===i.fov&&n===i.aspect&&r===i.far||(i.fov=t,i.aspect=n,i.far=r,i.updateProjectionMatrix())}}),Dn.prototype=Object.assign(Object.create(An.prototype),{constructor:Dn,isSpotLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Nn.prototype=Object.assign(Object.create(An.prototype),{constructor:Nn,isPointLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}),zn.prototype=Object.assign(Object.create(Ln.prototype),{constructor:zn}),Bn.prototype=Object.assign(Object.create(An.prototype),{constructor:Bn,isDirectionalLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Fn.prototype=Object.assign(Object.create(An.prototype),{constructor:Fn,isAmbientLight:!0});var Is={arraySlice:function(e,t,n){return Is.isTypedArray(e)?new e.constructor(e.subarray(t,n)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:\"number\"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function t(t,n){return e[t]-e[n]}for(var n=e.length,r=new Array(n),i=0;i!==n;++i)r[i]=i;return r.sort(t),r},sortedArray:function(e,t,n){for(var r=e.length,i=new e.constructor(r),o=0,a=0;a!==r;++o)for(var s=n[o]*t,l=0;l!==t;++l)i[a++]=e[s+l];return i},flattenJSON:function(e,t,n,r){for(var i=1,o=e[0];void 0!==o&&void 0===o[r];)o=e[i++];if(void 0!==o){var a=o[r];if(void 0!==a)if(Array.isArray(a))do{a=o[r],void 0!==a&&(t.push(o.time),n.push.apply(n,a)),o=e[i++]}while(void 0!==o);else if(void 0!==a.toArray)do{a=o[r],void 0!==a&&(t.push(o.time),a.toArray(n,n.length)),o=e[i++]}while(void 0!==o);else do{a=o[r],void 0!==a&&(t.push(o.time),n.push(a)),o=e[i++]}while(void 0!==o)}}};jn.prototype={constructor:jn,evaluate:function(e){var t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{var o;n:{r:if(!(e=i)break e;var s=t[1];e=i)break t}o=n,n=0}}for(;n>>1;et;)--o;if(++o,0!==i||o!==r){i>=o&&(o=Math.max(o,1),i=o-1);var a=this.getValueSize();this.times=Is.arraySlice(n,i,o),this.values=Is.arraySlice(this.values,i*a,o*a)}return this},validate:function(){var e=!0,t=this.getValueSize();t-Math.floor(t)!=0&&(console.error(\"invalid value size in track\",this),e=!1);var n=this.times,r=this.values,i=n.length;0===i&&(console.error(\"track is empty\",this),e=!1);for(var o=null,a=0;a!==i;a++){var s=n[a];if(\"number\"==typeof s&&isNaN(s)){console.error(\"time is not a valid number\",this,a,s),e=!1;break}if(null!==o&&o>s){console.error(\"out of order keys\",this,a,s,o),e=!1;break}o=s}if(void 0!==r&&Is.isTypedArray(r))for(var a=0,l=r.length;a!==l;++a){var u=r[a];if(isNaN(u)){console.error(\"value is not a valid number\",this,a,u),e=!1;break}}return e},optimize:function(){for(var e=this.times,t=this.values,n=this.getValueSize(),r=this.getInterpolation()===Ka,i=1,o=e.length-1,a=1;a0){e[i]=e[o];for(var p=o*n,m=i*n,f=0;f!==n;++f)t[m+f]=t[p+f];++i}return i!==e.length&&(this.times=Is.arraySlice(e,0,i),this.values=Is.arraySlice(t,0,i*n)),this}},Hn.prototype=Object.assign(Object.create(Ds),{constructor:Hn,ValueTypeName:\"vector\"}),Yn.prototype=Object.assign(Object.create(jn.prototype),{constructor:Yn,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=(n-t)/(r-t),c=s+a;s!==c;s+=4)u.slerpFlat(i,0,o,s-a,o,s,l);return i}}),qn.prototype=Object.assign(Object.create(Ds),{constructor:qn,ValueTypeName:\"quaternion\",DefaultInterpolation:Za,InterpolantFactoryMethodLinear:function(e){return new Yn(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:void 0}),Xn.prototype=Object.assign(Object.create(Ds),{constructor:Xn,ValueTypeName:\"number\"}),Zn.prototype=Object.assign(Object.create(Ds),{constructor:Zn,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:Xa,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Kn.prototype=Object.assign(Object.create(Ds),{constructor:Kn,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:Xa,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Jn.prototype=Object.assign(Object.create(Ds),{constructor:Jn,ValueTypeName:\"color\"}),$n.prototype=Ds,Ds.constructor=$n,Object.assign($n,{parse:function(e){if(void 0===e.type)throw new Error(\"track type undefined, can not parse\");var t=$n._getTrackTypeForValueTypeName(e.type);if(void 0===e.times){var n=[],r=[];Is.flattenJSON(e.keys,n,r,\"value\"),e.times=n,e.values=r}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)},toJSON:function(e){var t,n=e.constructor;if(void 0!==n.toJSON)t=n.toJSON(e);else{t={name:e.name,times:Is.convertArray(e.times,Array),values:Is.convertArray(e.values,Array)};var r=e.getInterpolation();r!==e.DefaultInterpolation&&(t.interpolation=r)}return t.type=e.ValueTypeName,t},_getTrackTypeForValueTypeName:function(e){switch(e.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return Xn;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return Hn;case\"color\":return Jn;case\"quaternion\":return qn;case\"bool\":case\"boolean\":return Kn;case\"string\":return Zn}throw new Error(\"Unsupported typeName: \"+e)}}),Qn.prototype={constructor:Qn,resetDuration:function(){for(var e=this.tracks,t=0,n=0,r=e.length;n!==r;++n){var i=this.tracks[n];t=Math.max(t,i.times[i.times.length-1])}this.duration=t},trim:function(){for(var e=0;e1){var u=l[1],c=r[u];c||(r[u]=c=[]),c.push(s)}}var d=[];for(var u in r)d.push(Qn.CreateFromMorphTargetSequence(u,r[u],t,n));return d},parseAnimation:function(e,t){if(!e)return console.error(\" no animation in JSONLoader data\"),null;for(var n=function(e,t,n,r,i){if(0!==n.length){var o=[],a=[];Is.flattenJSON(n,o,a,r),0!==o.length&&i.push(new e(t,o,a))}},r=[],i=e.name||\"default\",o=e.length||-1,a=e.fps||30,s=e.hierarchy||[],l=0;l1?e.skinWeights[r+1]:0,l=t>2?e.skinWeights[r+2]:0,u=t>3?e.skinWeights[r+3]:0;n.skinWeights.push(new a(o,s,l,u))}if(e.skinIndices)for(var r=0,i=e.skinIndices.length;r1?e.skinIndices[r+1]:0,f=t>2?e.skinIndices[r+2]:0,h=t>3?e.skinIndices[r+3]:0;n.skinIndices.push(new a(c,d,f,h))}n.bones=e.bones,n.bones&&n.bones.length>0&&(n.skinWeights.length!==n.skinIndices.length||n.skinIndices.length!==n.vertices.length)&&console.warn(\"When skinning, number of vertices (\"+n.vertices.length+\"), skinIndices (\"+n.skinIndices.length+\"), and skinWeights (\"+n.skinWeights.length+\") should match.\")}(),function(t){if(void 0!==e.morphTargets)for(var r=0,i=e.morphTargets.length;r0){console.warn('THREE.JSONLoader: \"morphColors\" no longer supported. Using them as face colors.');for(var d=n.faces,f=e.morphColors[0].colors,r=0,i=d.length;r0&&(n.animations=t)}(),n.computeFaceNormals(),n.computeBoundingSphere(),void 0===e.materials||0===e.materials.length)return{geometry:n};var o=nr.prototype.initMaterials(e.materials,t,this.crossOrigin);return{geometry:n,materials:o}}}),Object.assign(ir.prototype,{load:function(e,t,n,r){\"\"===this.texturePath&&(this.texturePath=e.substring(0,e.lastIndexOf(\"/\")+1));var i=this;new En(i.manager).load(e,function(n){var o=null;try{o=JSON.parse(n)}catch(t){return void 0!==r&&r(t),void console.error(\"THREE:ObjectLoader: Can't parse \"+e+\".\",t.message)}var a=o.metadata;if(void 0===a||void 0===a.type||\"geometry\"===a.type.toLowerCase())return void console.error(\"THREE.ObjectLoader: Can't load \"+e+\". Use THREE.JSONLoader instead.\");i.parse(o,t)},n,r)},setTexturePath:function(e){this.texturePath=e},setCrossOrigin:function(e){this.crossOrigin=e},parse:function(e,t){var n=this.parseGeometries(e.geometries),r=this.parseImages(e.images,function(){void 0!==t&&t(a)}),i=this.parseTextures(e.textures,r),o=this.parseMaterials(e.materials,i),a=this.parseObject(e.object,n,o);return e.animations&&(a.animations=this.parseAnimations(e.animations)),void 0!==e.images&&0!==e.images.length||void 0!==t&&t(a),a},parseGeometries:function(e){var t={};if(void 0!==e)for(var n=new rr,r=new tr,i=0,o=e.length;i0){var i=new Sn(t),o=new On(i);o.setCrossOrigin(this.crossOrigin);for(var a=0,s=e.length;a0?new xt(s,l):new Ce(s,l);break;case\"LOD\":a=new vt;break;case\"Line\":a=new wt(i(t.geometry),o(t.material),t.mode);break;case\"LineSegments\":a=new Mt(i(t.geometry),o(t.material));break;case\"PointCloud\":case\"Points\":a=new Et(i(t.geometry),o(t.material));break;case\"Sprite\":a=new gt(o(t.material));break;case\"Group\":a=new Tt;break;case\"SkinnedMesh\":console.warn(\"THREE.ObjectLoader.parseObject() does not support SkinnedMesh type. Instantiates Object3D instead.\");default:a=new ce}if(a.uuid=t.uuid,void 0!==t.name&&(a.name=t.name),void 0!==t.matrix?(e.fromArray(t.matrix),e.decompose(a.position,a.quaternion,a.scale)):(void 0!==t.position&&a.position.fromArray(t.position),void 0!==t.rotation&&a.rotation.fromArray(t.rotation),void 0!==t.quaternion&&a.quaternion.fromArray(t.quaternion),void 0!==t.scale&&a.scale.fromArray(t.scale)),void 0!==t.castShadow&&(a.castShadow=t.castShadow),void 0!==t.receiveShadow&&(a.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(a.shadow.bias=t.shadow.bias),void 0!==t.shadow.radius&&(a.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&a.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(a.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(a.visible=t.visible),void 0!==t.userData&&(a.userData=t.userData),void 0!==t.children)for(var u in t.children)a.add(this.parseObject(t.children[u],n,r));if(\"LOD\"===t.type)for(var c=t.levels,d=0;d0)){l=i;break}l=i-1}if(i=l,r[i]===n){var u=i/(o-1);return u}var c=r[i],d=r[i+1],f=d-c,h=(n-c)/f,u=(i+h)/(o-1);return u},getTangent:function(e){var t=e-1e-4,n=e+1e-4;t<0&&(t=0),n>1&&(n=1);var r=this.getPoint(t);return this.getPoint(n).clone().sub(r).normalize()},getTangentAt:function(e){var t=this.getUtoTmapping(e);return this.getTangent(t)},computeFrenetFrames:function(e,t){var n,r,i,o=new c,a=[],s=[],l=[],u=new c,f=new d;for(n=0;n<=e;n++)r=n/e,a[n]=this.getTangentAt(r),a[n].normalize();s[0]=new c,l[0]=new c;var h=Number.MAX_VALUE,p=Math.abs(a[0].x),m=Math.abs(a[0].y),g=Math.abs(a[0].z);for(p<=h&&(h=p,o.set(1,0,0)),m<=h&&(h=m,o.set(0,1,0)),g<=h&&o.set(0,0,1),u.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],u),l[0].crossVectors(a[0],s[0]),n=1;n<=e;n++)s[n]=s[n-1].clone(),l[n]=l[n-1].clone(),u.crossVectors(a[n-1],a[n]),u.length()>Number.EPSILON&&(u.normalize(),i=Math.acos(hs.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(f.makeRotationAxis(u,i))),l[n].crossVectors(a[n],s[n]);if(!0===t)for(i=Math.acos(hs.clamp(s[0].dot(s[e]),-1,1)),i/=e,a[0].dot(u.crossVectors(s[0],s[e]))>0&&(i=-i),n=1;n<=e;n++)s[n].applyMatrix4(f.makeRotationAxis(a[n],i*n)),l[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:l}}},gr.prototype=Object.create(mr.prototype),gr.prototype.constructor=gr,gr.prototype.isLineCurve=!0,gr.prototype.getPoint=function(e){if(1===e)return this.v2.clone();var t=this.v2.clone().sub(this.v1);return t.multiplyScalar(e).add(this.v1),t},gr.prototype.getPointAt=function(e){return this.getPoint(e)},gr.prototype.getTangent=function(e){return this.v2.clone().sub(this.v1).normalize()},vr.prototype=Object.assign(Object.create(mr.prototype),{constructor:vr,add:function(e){this.curves.push(e)},closePath:function(){var e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new gr(t,e))},getPoint:function(e){for(var t=e*this.getLength(),n=this.getCurveLengths(),r=0;r=t){var i=n[r]-t,o=this.curves[r],a=o.getLength(),s=0===a?0:1-i/a;return o.getPointAt(s)}r++}return null},getLength:function(){var e=this.getCurveLengths();return e[e.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],t=0,n=0,r=this.curves.length;n1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},createPointsGeometry:function(e){var t=this.getPoints(e);return this.createGeometry(t)},createSpacedPointsGeometry:function(e){var t=this.getSpacedPoints(e);return this.createGeometry(t)},createGeometry:function(e){for(var t=new Oe,n=0,r=e.length;nt;)n-=t;nt.length-2?t.length-1:r+1],u=t[r>t.length-3?t.length-1:r+2];return new i(or(o,a.x,s.x,l.x,u.x),or(o,a.y,s.y,l.y,u.y))},xr.prototype=Object.create(mr.prototype),xr.prototype.constructor=xr,xr.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2,o=this.v3;return new i(pr(e,t.x,n.x,r.x,o.x),pr(e,t.y,n.y,r.y,o.y))},_r.prototype=Object.create(mr.prototype),_r.prototype.constructor=_r,_r.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2;return new i(ur(e,t.x,n.x,r.x),ur(e,t.y,n.y,r.y))};var Ns=Object.assign(Object.create(vr.prototype),{fromPoints:function(e){this.moveTo(e[0].x,e[0].y);for(var t=1,n=e.length;t0){var u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);var c=l.getPoint(1);this.currentPoint.copy(c)}});wr.prototype=Ns,Ns.constructor=wr,Mr.prototype=Object.assign(Object.create(Ns),{constructor:Mr,getPointsHoles:function(e){for(var t=[],n=0,r=this.holes.length;n1){for(var v=!1,y=[],b=0,x=f.length;bNumber.EPSILON){if(u<0&&(a=t[o],l=-l,s=t[i],u=-u),e.ys.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var c=u*(e.x-a.x)-l*(e.y-a.y);if(0===c)return!0;if(c<0)continue;r=!r}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return r})(M.p,f[E].p)&&(b!==E&&y.push({froms:b,tos:E,hole:w}),S?(S=!1,d[E].push(M)):v=!0);S&&d[b].push(M)}y.length>0&&(v||(h=d))}for(var T,m=0,k=f.length;m0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;e=.5)for(var o=0;o!==i;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,r,i){u.slerpFlat(e,t,e,t,e,n,r)},_lerp:function(e,t,n,r,i){for(var o=1-r,a=0;a!==i;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*r}}},Nr.prototype={constructor:Nr,getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,r=t.propertyName,i=t.propertyIndex;if(e||(e=Nr.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error(\" trying to update node for track: \"+this.path+\" but it wasn't found.\");if(n){var o=t.objectIndex;switch(n){case\"materials\":if(!e.material)return void console.error(\" can not bind to material as node does not have a material\",this);if(!e.material.materials)return void console.error(\" can not bind to material.materials as node.material does not have a materials array\",this);e=e.material.materials;break;case\"bones\":if(!e.skeleton)return void console.error(\" can not bind to bones as node does not have a skeleton\",this);e=e.skeleton.bones;for(var a=0;a=n){var d=n++,f=t[d];r[f.uuid]=c,t[c]=f,r[u]=d,t[d]=l;for(var h=0,p=o;h!==p;++h){var m=i[h],g=m[d],v=m[c];m[c]=g,m[d]=v}}}this.nCachedObjects_=n},uncache:function(e){for(var t=this._objects,n=t.length,r=this.nCachedObjects_,i=this._indicesByUUID,o=this._bindings,a=o.length,s=0,l=arguments.length;s!==l;++s){var u=arguments[s],c=u.uuid,d=i[c];if(void 0!==d)if(delete i[c],d0)for(var l=this._interpolants,u=this._propertyBindings,c=0,d=l.length;c!==d;++c)l[c].evaluate(a),u[c].accumulate(r,s)},_updateWeight:function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t},_updateTimeScale:function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n){t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t},_updateTime:function(e){var t=this.time+e;if(0===e)return t;var n=this._clip.duration,r=this.loop,i=this._loopCount;if(r===Ha){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(t>=n)t=n;else{if(!(t<0))break e;t=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e<0?-1:1})}}else{var o=r===qa;if(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),t>=n||t<0){var a=Math.floor(t/n);t-=n*a,i+=Math.abs(a);var s=this.repetitions-i;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,t=e>0?n:0,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e>0?1:-1});else{if(0===s){var l=e<0;this._setEndings(l,!l,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:a})}}if(o&&1==(1&i))return this.time=t,n-t}return this.time=t,t},_setEndings:function(e,t,n){var r=this._interpolantSettings;n?(r.endingStart=$a,r.endingEnd=$a):(r.endingStart=e?this.zeroSlopeAtStart?$a:Ja:Qa,r.endingEnd=t?this.zeroSlopeAtEnd?$a:Ja:Qa)},_scheduleFading:function(e,t,n){var r=this._mixer,i=r.time,o=this._weightInterpolant;null===o&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=i,s[0]=t,a[1]=i+e,s[1]=n,this}},Fr.prototype={constructor:Fr,clipAction:function(e,t){var n=t||this._root,r=n.uuid,i=\"string\"==typeof e?Qn.findByName(n,e):e,o=null!==i?i.uuid:e,a=this._actionsByClip[o],s=null;if(void 0!==a){var l=a.actionByRoot[r];if(void 0!==l)return l;s=a.knownActions[0],null===i&&(i=s._clip)}if(null===i)return null;var u=new Br(this,i,t);return this._bindAction(u,s),this._addInactiveAction(u,o,r),u},existingAction:function(e,t){var n=t||this._root,r=n.uuid,i=\"string\"==typeof e?Qn.findByName(n,e):e,o=i?i.uuid:e,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[r]||null:null},stopAllAction:function(){var e=this._actions,t=this._nActiveActions,n=this._bindings,r=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var i=0;i!==t;++i)e[i].reset();for(var i=0;i!==r;++i)n[i].useCount=0;return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a){var s=t[a];s.enabled&&s._update(r,e,i,o)}for(var l=this._bindings,u=this._nActiveBindings,a=0;a!==u;++a)l[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){for(var o=i.knownActions,a=0,s=o.length;a!==s;++a){var l=o[a];this._deactivateAction(l);var u=l._cacheIndex,c=t[t.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,c._cacheIndex=u,t[u]=c,t.pop(),this._removeInactiveBindingsForAction(l)}delete r[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var r in n){var i=n[r].actionByRoot,o=i[t];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[t];if(void 0!==s)for(var l in s){var u=s[l];u.restoreOriginalState(),this._removeInactiveBinding(u)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}},Object.assign(Fr.prototype,{_bindAction:function(e,t){var n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,l=this._bindingsByRootAndName,u=l[s];void 0===u&&(u={},l[s]=u);for(var c=0;c!==i;++c){var d=r[c],f=d.name,h=u[f];if(void 0!==h)o[c]=h;else{if(void 0!==(h=o[c])){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,s,f));continue}var p=t&&t._propertyBindings[c].binding.parsedPath;h=new Dr(Nr.create(n,f,p),d.ValueTypeName,d.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,s,f),o[c]=h}a[c].resultBuffer=h.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}for(var i=e._propertyBindings,o=0,a=i.length;o!==a;++o){var s=i[o];0==s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0==--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&t1){var u=l[1];r[u]||(r[u]={start:1/0,end:-1/0});var c=r[u];oc.end&&(c.end=o),t||(t=u)}}for(var u in r){var c=r[u];this.createAnimation(u,c.start,c.end,e)}this.firstAnimation=t},$r.prototype.setAnimationDirectionForward=function(e){var t=this.animationsMap[e];t&&(t.direction=1,t.directionBackwards=!1)},$r.prototype.setAnimationDirectionBackward=function(e){var t=this.animationsMap[e];t&&(t.direction=-1,t.directionBackwards=!0)},$r.prototype.setAnimationFPS=function(e,t){var n=this.animationsMap[e];n&&(n.fps=t,n.duration=(n.end-n.start)/n.fps)},$r.prototype.setAnimationDuration=function(e,t){var n=this.animationsMap[e];n&&(n.duration=t,n.fps=(n.end-n.start)/n.duration)},$r.prototype.setAnimationWeight=function(e,t){var n=this.animationsMap[e];n&&(n.weight=t)},$r.prototype.setAnimationTime=function(e,t){var n=this.animationsMap[e];n&&(n.time=t)},$r.prototype.getAnimationTime=function(e){var t=0,n=this.animationsMap[e];return n&&(t=n.time),t},$r.prototype.getAnimationDuration=function(e){var t=-1,n=this.animationsMap[e];return n&&(t=n.duration),t},$r.prototype.playAnimation=function(e){var t=this.animationsMap[e];t?(t.time=0,t.active=!0):console.warn(\"THREE.MorphBlendMesh: animation[\"+e+\"] undefined in .playAnimation()\")},$r.prototype.stopAnimation=function(e){var t=this.animationsMap[e];t&&(t.active=!1)},$r.prototype.update=function(e){for(var t=0,n=this.animationsList.length;tr.duration||r.time<0)&&(r.direction*=-1,r.time>r.duration&&(r.time=r.duration,r.directionBackwards=!0),r.time<0&&(r.time=0,r.directionBackwards=!1)):(r.time=r.time%r.duration,r.time<0&&(r.time+=r.duration));var o=r.start+hs.clamp(Math.floor(r.time/i),0,r.length-1),a=r.weight;o!==r.currentFrame&&(this.morphTargetInfluences[r.lastFrame]=0,this.morphTargetInfluences[r.currentFrame]=1*a,this.morphTargetInfluences[o]=0,r.lastFrame=r.currentFrame,r.currentFrame=o);var s=r.time%i/i;r.directionBackwards&&(s=1-s),r.currentFrame!==r.lastFrame?(this.morphTargetInfluences[r.currentFrame]=s*a,this.morphTargetInfluences[r.lastFrame]=(1-s)*a):this.morphTargetInfluences[r.currentFrame]=a}}},Qr.prototype=Object.create(ce.prototype),Qr.prototype.constructor=Qr,Qr.prototype.isImmediateRenderObject=!0,ei.prototype=Object.create(Mt.prototype),ei.prototype.constructor=ei,ei.prototype.update=function(){var e=new c,t=new c,n=new re;return function(){var r=[\"a\",\"b\",\"c\"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var i=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,l=a.faces,u=0,c=0,d=l.length;c.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(t.set(n.z,0,-n.x).normalize(),e=Math.acos(n.y),this.quaternion.setFromAxisAngle(t,e))}}(),fi.prototype.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(0,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},fi.prototype.setColor=function(e){this.line.material.color.copy(e),this.cone.material.color.copy(e)},hi.prototype=Object.create(Mt.prototype),hi.prototype.constructor=hi;var Us=new c,Ws=new pi,Gs=new pi,Vs=new pi;mi.prototype=Object.create(mr.prototype),mi.prototype.constructor=mi,mi.prototype.getPoint=function(e){var t=this.points,n=t.length;n<2&&console.log(\"duh, you need at least 2 points\");var r=(n-(this.closed?0:1))*e,i=Math.floor(r),o=r-i;this.closed?i+=i>0?0:(Math.floor(Math.abs(i)/t.length)+1)*t.length:0===o&&i===n-1&&(i=n-2,o=1);var a,s,l,u;if(this.closed||i>0?a=t[(i-1)%n]:(Us.subVectors(t[0],t[1]).add(t[0]),a=Us),s=t[i%n],l=t[(i+1)%n],this.closed||i+20}function o(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),Se(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function a(e,t){var n=pt();try{var r=e.interceptors;if(r)for(var i=0,o=r.length;i0}function l(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),Se(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function u(e,t){var n=pt(),r=e.changeListeners;if(r){r=r.slice();for(var i=0,o=r.length;i=this.length,value:t0,\"actions should have valid names, got: '\"+e+\"'\");var n=function(){return S(e,t,this,arguments)};return n.originalFn=t,n.isMobxAction=!0,n}function S(e,t,n,r){var i=E(e,t,n,r);try{return t.apply(n,r)}finally{T(i)}}function E(e,t,n,r){var i=c()&&!!e,o=0;if(i){o=Date.now();var a=r&&r.length||0,s=new Array(a);if(a>0)for(var l=0;l\",i=\"function\"==typeof e?e:t,o=\"function\"==typeof e?t:n;return we(\"function\"==typeof i,w(\"m002\")),we(0===i.length,w(\"m003\")),we(\"string\"==typeof r&&r.length>0,\"actions should have valid names, got: '\"+r+\"'\"),S(r,i,o,void 0)}function B(e){return\"function\"==typeof e&&!0===e.isMobxAction}function F(e,t,n){var r=function(){return S(t,n,e,arguments)};r.isMobxAction=!0,Ae(e,t,r)}function j(e,t){return e===t}function U(e,t){return Ne(e,t)}function W(e,t){return Be(e,t)||j(e,t)}function G(e,t,n){function r(){o(s)}var i,o,a;\"string\"==typeof e?(i=e,o=t,a=n):(i=e.name||\"Autorun@\"+xe(),o=e,a=t),we(\"function\"==typeof o,w(\"m004\")),we(!1===B(o),w(\"m005\")),a&&(o=o.bind(a));var s=new Hn(i,function(){this.track(r)});return s.schedule(),s.getDisposer()}function V(e,t,n,r){var i,o,a,s;return\"string\"==typeof e?(i=e,o=t,a=n,s=r):(i=\"When@\"+xe(),o=e,a=t,s=n),G(i,function(e){if(o.call(s)){e.dispose();var t=pt();a.call(s),mt(t)}})}function H(e,t,n,r){function i(){a(c)}var o,a,s,l;\"string\"==typeof e?(o=e,a=t,s=n,l=r):(o=e.name||\"AutorunAsync@\"+xe(),a=e,s=t,l=n),we(!1===B(a),w(\"m006\")),void 0===s&&(s=1),l&&(a=a.bind(l));var u=!1,c=new Hn(o,function(){u||(u=!0,setTimeout(function(){u=!1,c.isDisposed||c.track(i)},s))});return c.schedule(),c.getDisposer()}function Y(e,t,n){function r(){if(!u.isDisposed){var n=!1;u.track(function(){var t=e(u);n=a||!l(o,t),o=t}),a&&i.fireImmediately&&t(o,u),a||!0!==n||t(o,u),a&&(a=!1)}}arguments.length>3&&_e(w(\"m007\")),ce(e)&&_e(w(\"m008\"));var i;i=\"object\"==typeof n?n:{},i.name=i.name||e.name||t.name||\"Reaction@\"+xe(),i.fireImmediately=!0===n||!0===i.fireImmediately,i.delay=i.delay||0,i.compareStructural=i.compareStructural||i.struct||!1,t=pn(i.name,i.context?t.bind(i.context):t),i.context&&(e=e.bind(i.context));var o,a=!0,s=!1,l=i.equals?i.equals:i.compareStructural||i.struct?mn.structural:mn.default,u=new Hn(i.name,function(){a||i.delay<1?r():s||(s=!0,setTimeout(function(){s=!1,r()},i.delay))});return u.schedule(),u.getDisposer()}function q(e,t){if(ne(e)&&e.hasOwnProperty(\"$mobx\"))return e.$mobx;we(Object.isExtensible(e),w(\"m035\")),Oe(e)||(t=(e.constructor.name||\"ObservableObject\")+\"@\"+xe()),t||(t=\"ObservableObject@\"+xe());var n=new yn(e,t);return Re(e,\"$mobx\",n),n}function X(e,t,n,r){if(e.values[t]&&!vn(e.values[t]))return we(\"value\"in n,\"The property \"+t+\" in \"+e.name+\" is already observable, cannot redefine it as computed property\"),void(e.target[t]=n.value);if(\"value\"in n)if(ce(n.value)){var i=n.value;Z(e,t,i.initialValue,i.enhancer)}else B(n.value)&&!0===n.value.autoBind?F(e.target,t,n.value.originalFn):vn(n.value)?J(e,t,n.value):Z(e,t,n.value,r);else K(e,t,n.get,n.set,mn.default,!0)}function Z(e,t,n,r){if(Ie(e.target,t),i(e)){var o=a(e,{object:e.target,name:t,type:\"add\",newValue:n});if(!o)return;n=o.newValue}n=(e.values[t]=new un(n,r,e.name+\".\"+t,!1)).value,Object.defineProperty(e.target,t,$(t)),te(e,e.target,t,n)}function K(e,t,n,r,i,o){o&&Ie(e.target,t),e.values[t]=new gn(n,e.target,i,e.name+\".\"+t,r),o&&Object.defineProperty(e.target,t,Q(t))}function J(e,t,n){var r=e.name+\".\"+t;n.name=r,n.scope||(n.scope=e.target),e.values[t]=n,Object.defineProperty(e.target,t,Q(t))}function $(e){return bn[e]||(bn[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){ee(this,e,t)}})}function Q(e){return xn[e]||(xn[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:function(t){return this.$mobx.values[e].set(t)}})}function ee(e,t,n){var r=e.$mobx,o=r.values[t];if(i(r)){var l=a(r,{type:\"update\",object:e,name:t,newValue:n});if(!l)return;n=l.newValue}if((n=o.prepareNewValue(n))!==ln){var d=s(r),p=c(),l=d||p?{type:\"update\",object:e,oldValue:o.value,name:t,newValue:n}:null;p&&f(l),o.setNewValue(n),d&&u(r,l),p&&h()}}function te(e,t,n,r){var i=s(e),o=c(),a=i||o?{type:\"add\",object:t,name:n,newValue:r}:null;o&&f(a),i&&u(e,a),o&&h()}function ne(e){return!!ke(e)&&(I(e),_n(e.$mobx))}function re(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(_(e)||An(e))throw new Error(w(\"m019\"));if(ne(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return ne(e)||!!e.$mobx||Jt(e)||Xn(e)||vn(e)}function ie(e){return we(!!e,\":(\"),R(function(t,n,r,i,o){Ie(t,n),we(!o||!o.get,w(\"m022\")),Z(q(t,void 0),n,r,e)},function(e){var t=this.$mobx.values[e];if(void 0!==t)return t.get()},function(e,t){ee(this,e,t)},!0,!1)}function oe(e){for(var t=[],n=1;n=2,w(\"m014\")),we(\"object\"==typeof e,w(\"m015\")),we(!An(e),w(\"m016\")),n.forEach(function(e){we(\"object\"==typeof e,w(\"m017\")),we(!re(e),w(\"m018\"))});for(var r=q(e),i={},o=n.length-1;o>=0;o--){var a=n[o];for(var s in a)if(!0!==i[s]&&Ce(a,s)){if(i[s]=!0,e===a&&!Le(e,s))continue;var l=Object.getOwnPropertyDescriptor(a,s);X(r,s,l,t)}}return e}function le(e){if(void 0===e&&(e=void 0),\"string\"==typeof arguments[1])return wn.apply(null,arguments);if(we(arguments.length<=1,w(\"m021\")),we(!ce(e),w(\"m020\")),re(e))return e;var t=fe(e,void 0,void 0);return t!==e?t:On.box(e)}function ue(e){_e(\"Expected one or two arguments to observable.\"+e+\". Did you accidentally try to use observable.\"+e+\" as decorator?\")}function ce(e){return\"object\"==typeof e&&null!==e&&!0===e.isMobxModifierDescriptor}function de(e,t){return we(!ce(t),\"Modifiers cannot be nested\"),{isMobxModifierDescriptor:!0,initialValue:t,enhancer:e}}function fe(e,t,n){return ce(e)&&_e(\"You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it\"),re(e)?e:Array.isArray(e)?On.array(e,n):Oe(e)?On.object(e,n):Ue(e)?On.map(e,n):e}function he(e,t,n){return ce(e)&&_e(\"You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it\"),void 0===e||null===e?e:ne(e)||_(e)||An(e)?e:Array.isArray(e)?On.shallowArray(e,n):Oe(e)?On.shallowObject(e,n):Ue(e)?On.shallowMap(e,n):_e(\"The shallow modifier / decorator can only used in combination with arrays, objects and maps\")}function pe(e){return e}function me(e,t,n){if(Ne(e,t))return t;if(re(e))return e;if(Array.isArray(e))return new on(e,me,n);if(Ue(e))return new Cn(e,me,n);if(Oe(e)){var r={};return q(r,n),se(r,me,[e]),r}return e}function ge(e,t,n){return Ne(e,t)?t:e}function ve(e,t){void 0===t&&(t=void 0),et();try{return e.apply(t)}finally{tt()}}function ye(e){return Me(\"`mobx.map` is deprecated, use `new ObservableMap` or `mobx.observable.map` instead\"),On.map(e)}function be(){return\"undefined\"!=typeof window?window:e}function xe(){return++Bn.mobxGuid}function _e(e,t){throw we(!1,e,t),\"X\"}function we(e,t,n){if(!e)throw new Error(\"[mobx] Invariant failed: \"+t+(n?\" in '\"+n+\"'\":\"\"))}function Me(e){return-1===Ln.indexOf(e)&&(Ln.push(e),console.error(\"[mobx] Deprecated: \"+e),!0)}function Se(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function Ee(e){var t=[];return e.forEach(function(e){-1===t.indexOf(e)&&t.push(e)}),t}function Te(e,t,n){return void 0===t&&(t=100),void 0===n&&(n=\" - \"),e?e.slice(0,t).join(n)+(e.length>t?\" (... and \"+(e.length-t)+\"more)\":\"\"):\"\"}function ke(e){return null!==e&&\"object\"==typeof e}function Oe(e){if(null===e||\"object\"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function Pe(){for(var e=arguments[0],t=1,n=arguments.length;t=0;i--)if(!Ne(e[i],t[i]))return!1;return!0}if(r){if(e.size!==t.size)return!1;var o=!0;return e.forEach(function(e,n){o=o&&Ne(t.get(n),e)}),o}if(\"object\"==typeof e&&\"object\"==typeof t){if(null===e||null===t)return!1;if(je(e)&&je(t))return e.size===t.size&&Ne(On.shallowMap(e).entries(),On.shallowMap(t).entries());if(De(e).length!==De(t).length)return!1;for(var a in e){if(!(a in t))return!1;if(!Ne(e[a],t[a]))return!1}return!0}return!1}function ze(e,t){var n=\"isMobX\"+e;return t.prototype[n]=!0,function(e){return ke(e)&&!0===e[n]}}function Be(e,t){return\"number\"==typeof e&&\"number\"==typeof t&&isNaN(e)&&isNaN(t)}function Fe(e){return Array.isArray(e)||_(e)}function je(e){return Ue(e)||An(e)}function Ue(e){return void 0!==be().Map&&e instanceof be().Map}function We(e){var t;return Oe(e)?t=Object.keys(e):Array.isArray(e)?t=e.map(function(e){return e[0]}):je(e)?t=Array.from(e.keys()):_e(\"Cannot get keys from \"+e),t}function Ge(){return\"function\"==typeof Symbol&&Symbol.toPrimitive||\"@@toPrimitive\"}function Ve(e){return null===e?null:\"object\"==typeof e?\"\"+e:e}function He(){jn=!0,be().__mobxInstanceCount--}function Ye(){Me(\"Using `shareGlobalState` is not recommended, use peer dependencies instead. See https://github.com/mobxjs/mobx/issues/1082 for details.\"),Fn=!0;var e=be(),t=Bn;if(e.__mobservableTrackingStack||e.__mobservableViewStack)throw new Error(\"[mobx] An incompatible version of mobservable is already loaded.\");if(e.__mobxGlobal&&e.__mobxGlobal.version!==t.version)throw new Error(\"[mobx] An incompatible version of mobx is already loaded.\");e.__mobxGlobal?Bn=e.__mobxGlobal:e.__mobxGlobal=t}function qe(){return Bn}function Xe(){Bn.resetId++;var e=new zn;for(var t in e)-1===Nn.indexOf(t)&&(Bn[t]=e[t]);Bn.allowStateChanges=!Bn.strictMode}function Ze(e){return e.observers&&e.observers.length>0}function Ke(e){return e.observers}function Je(e,t){var n=e.observers.length;n&&(e.observersIndexes[t.__mapid]=n),e.observers[n]=t,e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function $e(e,t){if(1===e.observers.length)e.observers.length=0,Qe(e);else{var n=e.observers,r=e.observersIndexes,i=n.pop();if(i!==t){var o=r[t.__mapid]||0;o?r[i.__mapid]=o:delete r[i.__mapid],n[o]=i}delete r[t.__mapid]}}function Qe(e){e.isPendingUnobservation||(e.isPendingUnobservation=!0,Bn.pendingUnobservations.push(e))}function et(){Bn.inBatch++}function tt(){if(0==--Bn.inBatch){bt();for(var e=Bn.pendingUnobservations,t=0;t0;Bn.computationDepth>0&&t&&_e(w(\"m031\")+e.name),!Bn.allowStateChanges&&t&&_e(w(Bn.strictMode?\"m030a\":\"m030b\")+e.name)}function ct(e,t,n){gt(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++Bn.runId;var r=Bn.trackingDerivation;Bn.trackingDerivation=e;var i;try{i=t.call(n)}catch(e){i=new Vn(e)}return Bn.trackingDerivation=r,dt(e),i}function dt(e){for(var t=e.observing,n=e.observing=e.newObserving,r=Gn.UP_TO_DATE,i=0,o=e.unboundDepsCount,a=0;ar&&(r=s.dependenciesState)}for(n.length=i,e.newObserving=null,o=t.length;o--;){var s=t[o];0===s.diffValue&&$e(s,e),s.diffValue=0}for(;i--;){var s=n[i];1===s.diffValue&&(s.diffValue=0,Je(s,e))}r!==Gn.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}function ft(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)$e(t[n],e);e.dependenciesState=Gn.NOT_TRACKING}function ht(e){var t=pt(),n=e();return mt(t),n}function pt(){var e=Bn.trackingDerivation;return Bn.trackingDerivation=null,e}function mt(e){Bn.trackingDerivation=e}function gt(e){if(e.dependenciesState!==Gn.UP_TO_DATE){e.dependenciesState=Gn.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=Gn.UP_TO_DATE}}function vt(e){we(this&&this.$mobx&&Xn(this.$mobx),\"Invalid `this`\"),we(!this.$mobx.errorHandler,\"Only one onErrorHandler can be registered\"),this.$mobx.errorHandler=e}function yt(e){return Bn.globalReactionErrorHandlers.push(e),function(){var t=Bn.globalReactionErrorHandlers.indexOf(e);t>=0&&Bn.globalReactionErrorHandlers.splice(t,1)}}function bt(){Bn.inBatch>0||Bn.isRunningReactions||qn(xt)}function xt(){Bn.isRunningReactions=!0;for(var e=Bn.pendingReactions,t=0;e.length>0;){++t===Yn&&(console.error(\"Reaction doesn't converge to a stable state after \"+Yn+\" iterations. Probably there is a cycle in the reactive function: \"+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r0&&(t.dependencies=Ee(e.observing).map(Vt)),t}function Ht(e,t){return Yt(kt(e,t))}function Yt(e){var t={name:e.name};return Ze(e)&&(t.observers=Ke(e).map(Yt)),t}function qt(e,t,n){var r;if(An(e)||_(e)||cn(e))r=Ot(e);else{if(!ne(e))return _e(\"Expected observable map, object or array as first array\");if(\"string\"!=typeof t)return _e(\"InterceptReads can only be used with a specific property, not with an object in general\");r=Ot(e,t)}return void 0!==r.dehancer?_e(\"An intercept reader was already established\"):(r.dehancer=\"function\"==typeof t?t:n,function(){r.dehancer=void 0})}n.d(t,\"extras\",function(){return $n}),n.d(t,\"Reaction\",function(){return Hn}),n.d(t,\"untracked\",function(){return ht}),n.d(t,\"IDerivationState\",function(){return Gn}),n.d(t,\"Atom\",function(){return Kt}),n.d(t,\"BaseAtom\",function(){return Zt}),n.d(t,\"useStrict\",function(){return k}),n.d(t,\"isStrictModeEnabled\",function(){return O}),n.d(t,\"spy\",function(){return p}),n.d(t,\"comparer\",function(){return mn}),n.d(t,\"asReference\",function(){return wt}),n.d(t,\"asFlat\",function(){return St}),n.d(t,\"asStructure\",function(){return Mt}),n.d(t,\"asMap\",function(){return Et}),n.d(t,\"isModifierDescriptor\",function(){return ce}),n.d(t,\"isObservableObject\",function(){return ne}),n.d(t,\"isBoxedObservable\",function(){return cn}),n.d(t,\"isObservableArray\",function(){return _}),n.d(t,\"ObservableMap\",function(){return Cn}),n.d(t,\"isObservableMap\",function(){return An}),n.d(t,\"map\",function(){return ye}),n.d(t,\"transaction\",function(){return ve}),n.d(t,\"observable\",function(){return On}),n.d(t,\"computed\",function(){return Jn}),n.d(t,\"isObservable\",function(){return re}),n.d(t,\"isComputed\",function(){return Ct}),n.d(t,\"extendObservable\",function(){return oe}),n.d(t,\"extendShallowObservable\",function(){return ae}),n.d(t,\"observe\",function(){return At}),n.d(t,\"intercept\",function(){return It}),n.d(t,\"autorun\",function(){return G}),n.d(t,\"autorunAsync\",function(){return H}),n.d(t,\"when\",function(){return V}),n.d(t,\"reaction\",function(){return Y}),n.d(t,\"action\",function(){return pn}),n.d(t,\"isAction\",function(){return B}),n.d(t,\"runInAction\",function(){return z}),n.d(t,\"expr\",function(){return zt}),n.d(t,\"toJS\",function(){return Bt}),n.d(t,\"createTransformer\",function(){return Ft}),n.d(t,\"whyRun\",function(){return Wt}),n.d(t,\"isArrayLike\",function(){return Fe});/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Xt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},Zt=function(){function e(e){void 0===e&&(e=\"Atom@\"+xe()),this.name=e,this.isPendingUnobservation=!0,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.NOT_TRACKING}return e.prototype.onBecomeUnobserved=function(){},e.prototype.reportObserved=function(){nt(this)},e.prototype.reportChanged=function(){et(),rt(this),tt()},e.prototype.toString=function(){return this.name},e}(),Kt=function(e){function t(t,n,r){void 0===t&&(t=\"Atom@\"+xe()),void 0===n&&(n=In),void 0===r&&(r=In);var i=e.call(this,t)||this;return i.name=t,i.onBecomeObservedHandler=n,i.onBecomeUnobservedHandler=r,i.isPendingUnobservation=!1,i.isBeingTracked=!1,i}return r(t,e),t.prototype.reportObserved=function(){return et(),e.prototype.reportObserved.call(this),this.isBeingTracked||(this.isBeingTracked=!0,this.onBecomeObservedHandler()),tt(),!!Bn.trackingDerivation},t.prototype.onBecomeUnobserved=function(){this.isBeingTracked=!1,this.onBecomeUnobservedHandler()},t}(Zt),Jt=ze(\"Atom\",Zt),$t={spyReportEnd:!0},Qt=\"__$$iterating\",en=function(){var e=!1,t={};return Object.defineProperty(t,\"0\",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),tn=0,nn=function(){function e(){}return e}();!function(e,t){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):void 0!==e.prototype.__proto__?e.prototype.__proto__=t:e.prototype=t}(nn,Array.prototype),Object.isFrozen(Array)&&[\"constructor\",\"push\",\"shift\",\"concat\",\"pop\",\"unshift\",\"replace\",\"find\",\"findIndex\",\"splice\",\"reverse\",\"sort\"].forEach(function(e){Object.defineProperty(nn.prototype,e,{configurable:!0,writable:!0,value:Array.prototype[e]})});var rn=function(){function e(e,t,n,r){this.array=n,this.owned=r,this.values=[],this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new Zt(e||\"ObservableArray@\"+xe()),this.enhancer=function(n,r){return t(n,r,e+\"[..]\")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer?e.map(this.dehancer):e},e.prototype.intercept=function(e){return o(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.array,type:\"splice\",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),l(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if(\"number\"!=typeof e||e<0)throw new Error(\"[mobx.array] Out of range: \"+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r0&&e+t+1>tn&&x(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;ut(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:void 0===t||null===t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=[]),i(this)){var s=a(this,{object:this.array,type:\"splice\",index:e,removedCount:t,added:n});if(!s)return Rn;t=s.removedCount,n=s.added}n=n.map(function(e){return r.enhancer(e,void 0)});var l=n.length-t;this.updateArrayLength(o,l);var u=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,u),this.dehanceValues(u)},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(i=this.values).splice.apply(i,[e,t].concat(n));var r=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),r;var i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:\"update\",index:e,newValue:t,oldValue:n}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:\"splice\",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e}(),on=function(e){function t(t,n,r,i){void 0===r&&(r=\"ObservableArray@\"+xe()),void 0===i&&(i=!1);var o=e.call(this)||this,a=new rn(r,n,o,i);return Re(o,\"$mobx\",a),t&&t.length&&o.spliceWithArray(0,0,t),en&&Object.defineProperty(a.array,\"0\",an),o}return r(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error(\"[mobx.array] Index out of bounds: \"+e+\" is negative\");var t=this.$mobx.values.length;if(e>=t)throw new Error(\"[mobx.array] Index out of bounds: \"+e+\" is not smaller than \"+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,i=this.$mobx.values;r=e\";Ae(e,t,pn(o,n))},function(e){return this[e]},function(){we(!1,w(\"m001\"))},!1,!0),hn=R(function(e,t,n){F(e,t,n)},function(e){return this[e]},function(){we(!1,w(\"m001\"))},!1,!1),pn=function(e,t,n,r){return 1===arguments.length&&\"function\"==typeof e?M(e.name||\"\",e):2===arguments.length&&\"function\"==typeof t?M(e,t):1===arguments.length&&\"string\"==typeof e?N(e):N(t).apply(null,arguments)};pn.bound=function(e,t,n){if(\"function\"==typeof e){var r=M(\"\",e);return r.autoBind=!0,r}return hn.apply(null,arguments)};var mn={identity:j,structural:U,default:W},gn=function(){function e(e,t,n,r,i){this.derivation=e,this.scope=t,this.equals=n,this.dependenciesState=Gn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid=\"#\"+xe(),this.value=new Vn(null),this.isComputing=!1,this.isRunningSetter=!1,this.name=r||\"ComputedValue@\"+xe(),i&&(this.setter=M(r+\"-setter\",i))}return e.prototype.onBecomeStale=function(){ot(this)},e.prototype.onBecomeUnobserved=function(){ft(this),this.value=void 0},e.prototype.get=function(){we(!this.isComputing,\"Cycle detected in computation \"+this.name,this.derivation),0===Bn.inBatch?(et(),st(this)&&(this.value=this.computeValue(!1)),tt()):(nt(this),st(this)&&this.trackAndCompute()&&it(this));var e=this.value;if(at(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(at(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){we(!this.isRunningSetter,\"The setter of computed value '\"+this.name+\"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else we(!1,\"[ComputedValue '\"+this.name+\"'] It is not possible to assign a new value to a computed value.\")},e.prototype.trackAndCompute=function(){c()&&d({object:this.scope,type:\"compute\",fn:this.derivation});var e=this.value,t=this.dependenciesState===Gn.NOT_TRACKING,n=this.value=this.computeValue(!0);return t||at(e)||at(n)||!this.equals(e,n)},e.prototype.computeValue=function(e){this.isComputing=!0,Bn.computationDepth++;var t;if(e)t=ct(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new Vn(e)}return Bn.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return G(function(){var o=n.get();if(!r||t){var a=pt();e({type:\"update\",object:n,newValue:o,oldValue:i}),mt(a)}r=!1,i=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+\"[\"+this.derivation.toString()+\"]\"},e.prototype.valueOf=function(){return Ve(this.get())},e.prototype.whyRun=function(){var e=Boolean(Bn.trackingDerivation),t=Ee(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=Ee(Ke(this).map(function(e){return e.name}));return\"\\nWhyRun? computation '\"+this.name+\"':\\n * Running because: \"+(e?\"[active] the value of this computation is needed by a reaction\":this.isComputing?\"[get] The value of this computed was requested outside a reaction\":\"[idle] not running at the moment\")+\"\\n\"+(this.dependenciesState===Gn.NOT_TRACKING?w(\"m032\"):\" * This computation will re-run if any of the following observables changes:\\n \"+Te(t)+\"\\n \"+(this.isComputing&&e?\" (... or any observable accessed during the remainder of the current run)\":\"\")+\"\\n \"+w(\"m038\")+\"\\n\\n * If the outcome of this computation changes, the following observers will be re-run:\\n \"+Te(n)+\"\\n\")},e}();gn.prototype[Ge()]=gn.prototype.valueOf;var vn=ze(\"ComputedValue\",gn),yn=function(){function e(e,t){this.target=e,this.name=t,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return we(!0!==t,\"`observe` doesn't support the fire immediately property for observable objects.\"),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}(),bn={},xn={},_n=ze(\"ObservableObjectAdministration\",yn),wn=ie(fe),Mn=ie(he),Sn=ie(pe),En=ie(me),Tn=ie(ge),kn={box:function(e,t){return arguments.length>2&&ue(\"box\"),new un(e,fe,t)},shallowBox:function(e,t){return arguments.length>2&&ue(\"shallowBox\"),new un(e,pe,t)},array:function(e,t){return arguments.length>2&&ue(\"array\"),new on(e,fe,t)},shallowArray:function(e,t){return arguments.length>2&&ue(\"shallowArray\"),new on(e,pe,t)},map:function(e,t){return arguments.length>2&&ue(\"map\"),new Cn(e,fe,t)},shallowMap:function(e,t){return arguments.length>2&&ue(\"shallowMap\"),new Cn(e,pe,t)},object:function(e,t){arguments.length>2&&ue(\"object\");var n={};return q(n,t),oe(n,e),n},shallowObject:function(e,t){arguments.length>2&&ue(\"shallowObject\");var n={};return q(n,t),ae(n,e),n},ref:function(){return arguments.length<2?de(pe,arguments[0]):Sn.apply(null,arguments)},shallow:function(){return arguments.length<2?de(he,arguments[0]):Mn.apply(null,arguments)},deep:function(){return arguments.length<2?de(fe,arguments[0]):wn.apply(null,arguments)},struct:function(){return arguments.length<2?de(me,arguments[0]):En.apply(null,arguments)}},On=le;Object.keys(kn).forEach(function(e){return On[e]=kn[e]}),On.deep.struct=On.struct,On.ref.struct=function(){return arguments.length<2?de(ge,arguments[0]):Tn.apply(null,arguments)};var Pn={},Cn=function(){function e(e,t,n){void 0===t&&(t=fe),void 0===n&&(n=\"ObservableMap@\"+xe()),this.enhancer=t,this.name=n,this.$mobx=Pn,this._data=Object.create(null),this._hasMap=Object.create(null),this._keys=new on(void 0,pe,this.name+\".keys()\",!0),this.interceptors=null,this.changeListeners=null,this.dehancer=void 0,this.merge(e)}return e.prototype._has=function(e){return void 0!==this._data[e]},e.prototype.has=function(e){return!!this.isValidKey(e)&&(e=\"\"+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get())},e.prototype.set=function(e,t){this.assertValidKey(e),e=\"\"+e;var n=this._has(e);if(i(this)){var r=a(this,{type:n?\"update\":\"add\",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=\"\"+e,i(this)){var n=a(this,{type:\"delete\",object:this,name:e});if(!n)return!1}if(this._has(e)){var r=c(),o=s(this),n=o||r?{type:\"delete\",object:this,oldValue:this._data[e].value,name:e}:null;return r&&f(n),ve(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1),t._data[e].setNewValue(void 0),t._data[e]=void 0}),o&&u(this,n),r&&h(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap[e];return n?n.setNewValue(t):n=this._hasMap[e]=new un(t,pe,this.name+\".\"+e+\"?\",!1),n},e.prototype._updateValue=function(e,t){var n=this._data[e];if((t=n.prepareNewValue(t))!==ln){var r=c(),i=s(this),o=i||r?{type:\"update\",object:this,oldValue:n.value,name:e,newValue:t}:null;r&&f(o),n.setNewValue(t),i&&u(this,o),r&&h()}},e.prototype._addValue=function(e,t){var n=this;ve(function(){var r=n._data[e]=new un(t,n.enhancer,n.name+\".\"+e,!1);t=r.value,n._updateHasMapEntry(e,!0),n._keys.push(e)});var r=c(),i=s(this),o=i||r?{type:\"add\",object:this,name:e,newValue:t}:null;r&&f(o),i&&u(this,o),r&&h()},e.prototype.get=function(e){return e=\"\"+e,this.has(e)?this.dehanceValue(this._data[e].get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return g(this._keys.slice())},e.prototype.values=function(){return g(this._keys.map(this.get,this))},e.prototype.entries=function(){var e=this;return g(this._keys.map(function(t){return[t,e.get(t)]}))},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r,n)})},e.prototype.merge=function(e){var t=this;return An(e)&&(e=e.toJS()),ve(function(){Oe(e)?Object.keys(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):Ue(e)?e.forEach(function(e,n){return t.set(n,e)}):null!==e&&void 0!==e&&_e(\"Cannot initialize map from \"+e)}),this},e.prototype.clear=function(){var e=this;ve(function(){ht(function(){e.keys().forEach(e.delete,e)})})},e.prototype.replace=function(e){var t=this;return ve(function(){var n=We(e);t.keys().filter(function(e){return-1===n.indexOf(e)}).forEach(function(e){return t.delete(e)}),t.merge(e)}),this},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var e=this,t={};return this.keys().forEach(function(n){return t[n]=e.get(n)}),t},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null!==e&&void 0!==e&&(\"string\"==typeof e||\"number\"==typeof e||\"boolean\"==typeof e)},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error(\"[mobx.map] Invalid key: '\"+e+\"', only strings, numbers and booleans are accepted as key in observable maps.\")},e.prototype.toString=function(){var e=this;return this.name+\"[{ \"+this.keys().map(function(t){return t+\": \"+e.get(t)}).join(\", \")+\" }]\"},e.prototype.observe=function(e,t){return we(!0!==t,w(\"m033\")),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}();v(Cn.prototype,function(){return this.entries()});var An=ze(\"ObservableMap\",Cn),Rn=[];Object.freeze(Rn);var Ln=[],In=function(){},Dn=Object.prototype.hasOwnProperty,Nn=[\"mobxGuid\",\"resetId\",\"spyListeners\",\"strictMode\",\"runId\"],zn=function(){function e(){this.version=5,this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[],this.globalReactionErrorHandlers=[]}return e}(),Bn=new zn,Fn=!1,jn=!1,Un=!1,Wn=be();Wn.__mobxInstanceCount?(Wn.__mobxInstanceCount++,setTimeout(function(){Fn||jn||Un||(Un=!0,console.warn(\"[mobx] Warning: there are multiple mobx instances active. This might lead to unexpected results. See https://github.com/mobxjs/mobx/issues/1082 for details.\"))})):Wn.__mobxInstanceCount=1;var Gn;!function(e){e[e.NOT_TRACKING=-1]=\"NOT_TRACKING\",e[e.UP_TO_DATE=0]=\"UP_TO_DATE\",e[e.POSSIBLY_STALE=1]=\"POSSIBLY_STALE\",e[e.STALE=2]=\"STALE\"}(Gn||(Gn={}));var Vn=function(){function e(e){this.cause=e}return e}(),Hn=function(){function e(e,t){void 0===e&&(e=\"Reaction@\"+xe()),this.name=e,this.onInvalidate=t,this.observing=[],this.newObserving=[],this.dependenciesState=Gn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid=\"#\"+xe(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Bn.pendingReactions.push(this),bt())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(et(),this._isScheduled=!1,st(this)&&(this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&c()&&d({object:this,type:\"scheduled-reaction\"})),tt())},e.prototype.track=function(e){et();var t,n=c();n&&(t=Date.now(),f({object:this,type:\"reaction\",fn:e})),this._isRunning=!0;var r=ct(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ft(this),at(r)&&this.reportExceptionInDerivation(r.cause),n&&h({time:Date.now()-t}),tt()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)return void this.errorHandler(e,this);var n=\"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\"+this,r=w(\"m037\");console.error(n||r,e),c()&&d({type:\"error\",message:n,error:e,object:this}),Bn.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(et(),ft(this),tt()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e.onError=vt,e},e.prototype.toString=function(){return\"Reaction[\"+this.name+\"]\"},e.prototype.whyRun=function(){var e=Ee(this._isRunning?this.newObserving:this.observing).map(function(e){return e.name});return\"\\nWhyRun? reaction '\"+this.name+\"':\\n * Status: [\"+(this.isDisposed?\"stopped\":this._isRunning?\"running\":this.isScheduled()?\"scheduled\":\"idle\")+\"]\\n * This reaction will re-run if any of the following observables changes:\\n \"+Te(e)+\"\\n \"+(this._isRunning?\" (... or any observable accessed during the remainder of the current run)\":\"\")+\"\\n\\t\"+w(\"m038\")+\"\\n\"},e}(),Yn=100,qn=function(e){return e()},Xn=ze(\"Reaction\",Hn),Zn=Tt(mn.default),Kn=Tt(mn.structural),Jn=function(e,t,n){if(\"string\"==typeof t)return Zn.apply(null,arguments);we(\"function\"==typeof e,w(\"m011\")),we(arguments.length<3,w(\"m012\"));var r=\"object\"==typeof t?t:{};r.setter=\"function\"==typeof t?t:r.setter;var i=r.equals?r.equals:r.compareStructural||r.struct?mn.structural:mn.default;return new gn(e,r.context,i,r.name||e.name||\"\",r.setter)};Jn.struct=Kn,Jn.equals=Tt;var $n={allowStateChanges:P,deepEqual:Ne,getAtom:kt,getDebugName:Pt,getDependencyTree:Gt,getAdministration:Ot,getGlobalState:qe,getObserverTree:Ht,interceptReads:qt,isComputingDerivation:lt,isSpyEnabled:c,onReactionError:yt,reserveArrayBuffer:x,resetGlobalState:Xe,isolateGlobalState:He,shareGlobalState:Ye,spyReport:d,spyReportEnd:h,spyReportStart:f,setReactionScheduler:_t},Qn={Reaction:Hn,untracked:ht,Atom:Kt,BaseAtom:Zt,useStrict:k,isStrictModeEnabled:O,spy:p,comparer:mn,asReference:wt,asFlat:St,asStructure:Mt,asMap:Et,isModifierDescriptor:ce,isObservableObject:ne,isBoxedObservable:cn,isObservableArray:_,ObservableMap:Cn,isObservableMap:An,map:ye,transaction:ve,observable:On,computed:Jn,isObservable:re,isComputed:Ct,extendObservable:oe,extendShallowObservable:ae,observe:At,intercept:It,autorun:G,autorunAsync:H,when:V,reaction:Y,action:pn,isAction:B,runInAction:z,expr:zt,toJS:Bt,createTransformer:Ft,whyRun:Wt,isArrayLike:Fe,extras:$n},er=!1;for(var tr in Qn)!function(e){var t=Qn[e];Object.defineProperty(Qn,e,{get:function(){return er||(er=!0,console.warn(\"Using default export (`import mobx from 'mobx'`) is deprecated and won’t work in mobx@4.0.0\\nUse `import * as mobx from 'mobx'` instead\")),t}})}(tr);\"object\"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:p,extras:$n}),t.default=Qn}.call(t,n(68))},function(e,t,n){e.exports=n(395)()},function(e,t,n){e.exports={default:n(297),__esModule:!0}},function(e,t,n){var r=n(20);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n){e.exports=!n(36)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){\"use strict\";function r(e,t,n){if(i.call(this,e,n),t&&\"object\"!=typeof t)throw TypeError(\"values must be an object\");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comments={},this.reserved=void 0,t)for(var r=Object.keys(t),o=0;o0)},o.Buffer=function(){try{var e=o.inquire(\"buffer\").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(e){return\"number\"==typeof e?o.Buffer?o._Buffer_allocUnsafe(e):new o.Array(e):o.Buffer?o._Buffer_from(e):\"undefined\"==typeof Uint8Array?e:new Uint8Array(e)},o.Array=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o.Long=e.dcodeIO&&e.dcodeIO.Long||o.inquire(\"long\"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(e){return e?o.LongBits.from(e).toHash():o.LongBits.zeroHash},o.longFromHash=function(e,t){var n=o.LongBits.fromHash(e);return o.Long?o.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},o.merge=r,o.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},o.newError=i,o.ProtocolError=i(\"ProtocolError\"),o.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},o.oneOfSetter=function(e){return function(t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=new g.MeshBasicMaterial({map:E.load(e),transparent:!0,depthWrite:!1}),s=new g.Mesh(new g.PlaneGeometry(t,n),a);return s.material.side=g.DoubleSide,s.position.set(r,i,o),s.overdraw=!0,s}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],l=new g.Path,u=l.createGeometry(e);u.computeLineDistances();var c=new g.LineDashedMaterial({color:t,dashSize:r,linewidth:n,gapSize:o}),d=new g.Line(u,c);return i(d,a),d.matrixAutoUpdate=s,s||d.updateMatrix(),d}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=new g.CircleGeometry(e,n);return new g.Mesh(r,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16777215,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=M(e.map(function(e){return[e.x,e.y]})),s=new g.ShaderMaterial(S({side:g.DoubleSide,diffuse:n,thickness:t,opacity:r,transparent:!0})),l=new g.Mesh(a,s);return i(l,o),l}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,l=new g.Path,u=l.createGeometry(e),c=new g.LineBasicMaterial({color:t,linewidth:n,transparent:a,opacity:s}),d=new g.Line(u,c);return i(d,r),d.matrixAutoUpdate=o,!1===o&&d.updateMatrix(),d}function c(e,t,n){var r=new g.CubeGeometry(e.x,e.y,e.z),i=new g.MeshBasicMaterial({color:t}),o=new g.Mesh(r,i),a=new g.BoxHelper(o);return a.material.linewidth=n,a}function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.01,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.02,o=new g.CubeGeometry(e.x,e.y,e.z);o=new g.EdgesGeometry(o),o=(new g.Geometry).fromBufferGeometry(o),o.computeLineDistances();var a=new g.LineDashedMaterial({color:t,linewidth:n,dashSize:r,gapSize:i});return new g.LineSegments(o,a)}function f(e,t,n,r,i){var o=new g.Vector3(0,e,0);return u([new g.Vector3(0,0,0),o,new g.Vector3(r/2,e-n,0),o,new g.Vector3(-r/2,e-n,0)],i,t,1)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new g.Shape;if(t){n.moveTo(e[0].x,e[0].y);for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:new g.MeshBasicMaterial({color:16711680}),n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=h(e,n),s=new g.Mesh(a,t);return i(s,r),s.matrixAutoUpdate=o,!1===o&&s.updateMatrix(),s}Object.defineProperty(t,\"__esModule\",{value:!0}),t.addOffsetZ=i,t.drawImage=o,t.drawDashedLineFromPoints=a,t.drawCircle=s,t.drawThickBandFromPoints=l,t.drawSegmentsFromPoints=u,t.drawBox=c,t.drawDashedBox=d,t.drawArrow=f,t.getShapeGeometryFromPoints=h,t.drawShapeFromPoints=p;var m=n(10),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(m),v=n(422),y=r(v),b=n(423),x=r(b),_=n(39),w=.04,M=(0,y.default)(g),S=(0,x.default)(g),E=new g.TextureLoader},function(e,t,n){\"use strict\";e.exports={},e.exports.Arc=n(268),e.exports.Line=n(269),e.exports.Point=n(270),e.exports.Rectangle=n(271)},function(e,t,n){var r=n(21),i=n(51);e.exports=n(26)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){e.exports={default:n(299),__esModule:!0}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(76),i=n(73);e.exports=function(e){return r(i(e))}},function(e,t,n){(function(e,r){var i;(function(){function o(e,t){return e.set(t[0],t[1]),e}function a(e,t){return e.add(t),e}function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function l(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function p(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function F(e,t){for(var n=e.length;n--&&S(t,e[n],0)>-1;);return n}function j(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function U(e){return\"\\\\\"+On[e]}function W(e,t){return null==e?ie:e[t]}function G(e){return bn.test(e)}function V(e){return xn.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function Y(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function q(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,i=0,o=[];++n>>1,Fe=[[\"ary\",Me],[\"bind\",ge],[\"bindKey\",ve],[\"curry\",be],[\"curryRight\",xe],[\"flip\",Ee],[\"partial\",_e],[\"partialRight\",we],[\"rearg\",Se]],je=\"[object Arguments]\",Ue=\"[object Array]\",We=\"[object AsyncFunction]\",Ge=\"[object Boolean]\",Ve=\"[object Date]\",He=\"[object DOMException]\",Ye=\"[object Error]\",qe=\"[object Function]\",Xe=\"[object GeneratorFunction]\",Ze=\"[object Map]\",Ke=\"[object Number]\",Je=\"[object Null]\",$e=\"[object Object]\",Qe=\"[object Proxy]\",et=\"[object RegExp]\",tt=\"[object Set]\",nt=\"[object String]\",rt=\"[object Symbol]\",it=\"[object Undefined]\",ot=\"[object WeakMap]\",at=\"[object WeakSet]\",st=\"[object ArrayBuffer]\",lt=\"[object DataView]\",ut=\"[object Float32Array]\",ct=\"[object Float64Array]\",dt=\"[object Int8Array]\",ft=\"[object Int16Array]\",ht=\"[object Int32Array]\",pt=\"[object Uint8Array]\",mt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",vt=\"[object Uint32Array]\",yt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,xt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>\"']/g,Mt=RegExp(_t.source),St=RegExp(wt.source),Et=/<%-([\\s\\S]+?)%>/g,Tt=/<%([\\s\\S]+?)%>/g,kt=/<%=([\\s\\S]+?)%>/g,Ot=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Pt=/^\\w*$/,Ct=/^\\./,At=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Rt=/[\\\\^$.*+?()[\\]{}|]/g,Lt=RegExp(Rt.source),It=/^\\s+|\\s+$/g,Dt=/^\\s+/,Nt=/\\s+$/,zt=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Ft=/,? & /,jt=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Ut=/\\\\(\\\\)?/g,Wt=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Gt=/\\w*$/,Vt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Yt=/^\\[object .+?Constructor\\]$/,qt=/^0o[0-7]+$/i,Xt=/^(?:0|[1-9]\\d*)$/,Zt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Kt=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,$t=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",Qt=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",en=\"[\"+Qt+\"]\",tn=\"[\"+$t+\"]\",nn=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",rn=\"[^\\\\ud800-\\\\udfff\"+Qt+\"\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",on=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",an=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",sn=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",ln=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",un=\"(?:\"+nn+\"|\"+rn+\")\",cn=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",dn=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",an,sn].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+cn+\")*\",fn=\"[\\\\ufe0e\\\\ufe0f]?\"+cn+dn,hn=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",an,sn].join(\"|\")+\")\"+fn,pn=\"(?:\"+[\"[^\\\\ud800-\\\\udfff]\"+tn+\"?\",tn,an,sn,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",mn=RegExp(\"['’]\",\"g\"),gn=RegExp(tn,\"g\"),vn=RegExp(on+\"(?=\"+on+\")|\"+pn+fn,\"g\"),yn=RegExp([ln+\"?\"+nn+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[en,ln,\"$\"].join(\"|\")+\")\",\"(?:[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]|[^\\\\ud800-\\\\udfff\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[en,ln+un,\"$\"].join(\"|\")+\")\",ln+\"?\"+un+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",ln+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:(?:1ST|2ND|3RD|(?![123])\\\\dTH)\\\\b)\",\"\\\\d*(?:(?:1st|2nd|3rd|(?![123])\\\\dth)\\\\b)\",\"\\\\d+\",hn].join(\"|\"),\"g\"),bn=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+$t+\"\\\\ufe0e\\\\ufe0f]\"),xn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_n=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],wn=-1,Mn={};Mn[ut]=Mn[ct]=Mn[dt]=Mn[ft]=Mn[ht]=Mn[pt]=Mn[mt]=Mn[gt]=Mn[vt]=!0,Mn[je]=Mn[Ue]=Mn[st]=Mn[Ge]=Mn[lt]=Mn[Ve]=Mn[Ye]=Mn[qe]=Mn[Ze]=Mn[Ke]=Mn[$e]=Mn[et]=Mn[tt]=Mn[nt]=Mn[ot]=!1;var Sn={};Sn[je]=Sn[Ue]=Sn[st]=Sn[lt]=Sn[Ge]=Sn[Ve]=Sn[ut]=Sn[ct]=Sn[dt]=Sn[ft]=Sn[ht]=Sn[Ze]=Sn[Ke]=Sn[$e]=Sn[et]=Sn[tt]=Sn[nt]=Sn[rt]=Sn[pt]=Sn[mt]=Sn[gt]=Sn[vt]=!0,Sn[Ye]=Sn[qe]=Sn[ot]=!1;var En={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"IJ\":\"IJ\",\"ij\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ʼn\":\"'n\",\"ſ\":\"s\"},Tn={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},kn={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},On={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Pn=parseFloat,Cn=parseInt,An=\"object\"==typeof e&&e&&e.Object===Object&&e,Rn=\"object\"==typeof self&&self&&self.Object===Object&&self,Ln=An||Rn||Function(\"return this\")(),In=\"object\"==typeof t&&t&&!t.nodeType&&t,Dn=In&&\"object\"==typeof r&&r&&!r.nodeType&&r,Nn=Dn&&Dn.exports===In,zn=Nn&&An.process,Bn=function(){try{return zn&&zn.binding&&zn.binding(\"util\")}catch(e){}}(),Fn=Bn&&Bn.isArrayBuffer,jn=Bn&&Bn.isDate,Un=Bn&&Bn.isMap,Wn=Bn&&Bn.isRegExp,Gn=Bn&&Bn.isSet,Vn=Bn&&Bn.isTypedArray,Hn=O(\"length\"),Yn=P(En),qn=P(Tn),Xn=P(kn),Zn=function e(t){function n(e){if(ol(e)&&!vf(e)&&!(e instanceof x)){if(e instanceof i)return e;if(gc.call(e,\"__wrapped__\"))return na(e)}return new i(e)}function r(){}function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ie}function x(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ne,this.__views__=[]}function P(){var e=new x(this.__wrapped__);return e.__actions__=zi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=zi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=zi(this.__views__),e}function J(){if(this.__filtered__){var e=new x(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function te(){var e=this.__wrapped__.value(),t=this.__dir__,n=vf(e),r=t<0,i=n?e.length:0,o=ko(0,i,this.__views__),a=o.start,s=o.end,l=s-a,u=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,h=Yc(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return yi(e,this.__actions__);var p=[];e:for(;l--&&f-1}function ln(e,t){var n=this.__data__,r=Kn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function rr(e,t,n,r,i,o){var a,s=t&de,l=t&fe,c=t&he;if(n&&(a=i?n(e,r,i,o):n(e)),a!==ie)return a;if(!il(e))return e;var d=vf(e);if(d){if(a=Co(e),!s)return zi(e,a)}else{var f=Td(e),h=f==qe||f==Xe;if(bf(e))return Ei(e,s);if(f==$e||f==je||h&&!i){if(a=l||h?{}:Ao(e),!s)return l?ji(e,Qn(a,e)):Fi(e,$n(a,e))}else{if(!Sn[f])return i?e:{};a=Ro(e,f,rr,s)}}o||(o=new xn);var p=o.get(e);if(p)return p;o.set(e,a);var m=c?l?bo:yo:l?Ul:jl,g=d?ie:m(e);return u(g||e,function(r,i){g&&(i=r,r=e[i]),Hn(a,i,rr(r,t,n,i,e,o))}),a}function ir(e){var t=jl(e);return function(n){return or(n,e,t)}}function or(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var i=n[r],o=t[i],a=e[i];if(a===ie&&!(i in e)||!o(a))return!1}return!0}function ar(e,t,n){if(\"function\"!=typeof e)throw new cc(se);return Pd(function(){e.apply(ie,n)},t)}function sr(e,t,n,r){var i=-1,o=h,a=!0,s=e.length,l=[],u=t.length;if(!s)return l;n&&(t=m(t,D(n))),r?(o=p,a=!1):t.length>=oe&&(o=z,a=!1,t=new vn(t));e:for(;++ii?0:i+n),r=r===ie||r>i?i:wl(r),r<0&&(r+=i),r=n>r?0:Ml(r);n0&&n(s)?t>1?fr(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function hr(e,t){return e&&gd(e,t,jl)}function pr(e,t){return e&&vd(e,t,jl)}function mr(e,t){return f(t,function(t){return tl(e[t])})}function gr(e,t){t=Mi(t,e);for(var n=0,r=t.length;null!=e&&nt}function xr(e,t){return null!=e&&gc.call(e,t)}function _r(e,t){return null!=e&&t in sc(e)}function wr(e,t,n){return e>=Yc(t,n)&&e=120&&c.length>=120)?new vn(a&&c):ie}c=e[0];var d=-1,f=s[0];e:for(;++d-1;)s!==e&&Cc.call(s,l,1),Cc.call(e,l,1);return e}function $r(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;Do(i)?Cc.call(e,i,1):mi(e,i)}}return e}function Qr(e,t){return e+Fc(Zc()*(t-e+1))}function ei(e,t,n,r){for(var i=-1,o=Hc(Bc((t-e)/(n||1)),0),a=nc(o);o--;)a[r?o:++i]=e,e+=n;return a}function ti(e,t){var n=\"\";if(!e||t<1||t>Le)return n;do{t%2&&(n+=e),(t=Fc(t/2))&&(e+=e)}while(t);return n}function ni(e,t){return Cd(qo(e,t,Cu),e+\"\")}function ri(e){return In(Ql(e))}function ii(e,t){var n=Ql(e);return $o(n,nr(t,0,n.length))}function oi(e,t,n,r){if(!il(e))return e;t=Mi(t,e);for(var i=-1,o=t.length,a=o-1,s=e;null!=s&&++ii?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=nc(i);++r>>1,a=e[o];null!==a&&!gl(a)&&(n?a<=t:a=oe){var u=t?null:wd(e);if(u)return Z(u);a=!1,i=z,l=new vn}else l=t?[]:s;e:for(;++r=r?e:si(e,t,n)}function Ei(e,t){if(t)return e.slice();var n=e.length,r=Tc?Tc(n):new e.constructor(n);return e.copy(r),r}function Ti(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function ki(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Oi(e,t,n){return v(t?n(Y(e),de):Y(e),o,new e.constructor)}function Pi(e){var t=new e.constructor(e.source,Gt.exec(e));return t.lastIndex=e.lastIndex,t}function Ci(e,t,n){return v(t?n(Z(e),de):Z(e),a,new e.constructor)}function Ai(e){return dd?sc(dd.call(e)):{}}function Ri(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Li(e,t){if(e!==t){var n=e!==ie,r=null===e,i=e===e,o=gl(e),a=t!==ie,s=null===t,l=t===t,u=gl(t);if(!s&&!u&&!o&&e>t||o&&a&&l&&!s&&!u||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!u&&e=s)return l;return l*(\"desc\"==n[r]?-1:1)}}return e.index-t.index}function Di(e,t,n,r){for(var i=-1,o=e.length,a=n.length,s=-1,l=t.length,u=Hc(o-a,0),c=nc(l+u),d=!r;++s1?n[i-1]:ie,a=i>2?n[2]:ie;for(o=e.length>3&&\"function\"==typeof o?(i--,o):ie,a&&No(n[0],n[1],a)&&(o=i<3?ie:o,i=1),t=sc(t);++r-1?i[o?t[a]:a]:ie}}function Ji(e){return vo(function(t){var n=t.length,r=n,o=i.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new cc(se);if(o&&!s&&\"wrapper\"==xo(a))var s=new i([],!0)}for(r=s?r:n;++r1&&y.reverse(),d&&ls))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var c=-1,d=!0,f=n&me?new vn:ie;for(o.set(e,t),o.set(t,e);++c1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(zt,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Io(e){return vf(e)||gf(e)||!!(Ac&&e&&e[Ac])}function Do(e,t){return!!(t=null==t?Le:t)&&(\"number\"==typeof e||Xt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Oe)return arguments[0]}else t=0;return e.apply(ie,arguments)}}function $o(e,t){var n=-1,r=e.length,i=r-1;for(t=t===ie?r:t;++n=this.__values__.length;return{done:e,value:e?ie:this.__values__[this.__index__++]}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var i=na(n);i.__index__=0,i.__values__=ie,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t}function is(){var e=this.__wrapped__;if(e instanceof x){var t=e;return this.__actions__.length&&(t=new x(this)),t=t.reverse(),t.__actions__.push({func:$a,args:[Oa],thisArg:ie}),new i(t,this.__chain__)}return this.thru(Oa)}function os(){return yi(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=vf(e)?d:lr;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function ss(e,t){return(vf(e)?f:dr)(e,wo(t,3))}function ls(e,t){return fr(ps(e,t),1)}function us(e,t){return fr(ps(e,t),Re)}function cs(e,t,n){return n=n===ie?1:wl(n),fr(ps(e,t),n)}function ds(e,t){return(vf(e)?u:pd)(e,wo(t,3))}function fs(e,t){return(vf(e)?c:md)(e,wo(t,3))}function hs(e,t,n,r){e=Ys(e)?e:Ql(e),n=n&&!r?wl(n):0;var i=e.length;return n<0&&(n=Hc(i+n,0)),ml(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&S(e,t,n)>-1}function ps(e,t){return(vf(e)?m:Ur)(e,wo(t,3))}function ms(e,t,n,r){return null==e?[]:(vf(t)||(t=null==t?[]:[t]),n=r?ie:n,vf(n)||(n=null==n?[]:[n]),qr(e,t,n))}function gs(e,t,n){var r=vf(e)?v:C,i=arguments.length<3;return r(e,wo(t,4),n,i,pd)}function vs(e,t,n){var r=vf(e)?y:C,i=arguments.length<3;return r(e,wo(t,4),n,i,md)}function ys(e,t){return(vf(e)?f:dr)(e,Rs(wo(t,3)))}function bs(e){return(vf(e)?In:ri)(e)}function xs(e,t,n){return t=(n?No(e,t,n):t===ie)?1:wl(t),(vf(e)?Dn:ii)(e,t)}function _s(e){return(vf(e)?zn:ai)(e)}function ws(e){if(null==e)return 0;if(Ys(e))return ml(e)?Q(e):e.length;var t=Td(e);return t==Ze||t==tt?e.size:Br(e).length}function Ms(e,t,n){var r=vf(e)?b:li;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function Ss(e,t){if(\"function\"!=typeof t)throw new cc(se);return e=wl(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ie:t,t=e&&null==t?e.length:t,uo(e,Me,ie,ie,ie,ie,t)}function Ts(e,t){var n;if(\"function\"!=typeof t)throw new cc(se);return e=wl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ie),n}}function ks(e,t,n){t=n?ie:t;var r=uo(e,be,ie,ie,ie,ie,ie,t);return r.placeholder=ks.placeholder,r}function Os(e,t,n){t=n?ie:t;var r=uo(e,xe,ie,ie,ie,ie,ie,t);return r.placeholder=Os.placeholder,r}function Ps(e,t,n){function r(t){var n=f,r=h;return f=h=ie,y=t,m=e.apply(r,n)}function i(e){return y=e,g=Pd(s,t),b?r(e):m}function o(e){var n=e-v,r=e-y,i=t-n;return x?Yc(i,p-r):i}function a(e){var n=e-v,r=e-y;return v===ie||n>=t||n<0||x&&r>=p}function s(){var e=of();if(a(e))return l(e);g=Pd(s,o(e))}function l(e){return g=ie,_&&f?r(e):(f=h=ie,m)}function u(){g!==ie&&_d(g),y=0,f=v=h=g=ie}function c(){return g===ie?m:l(of())}function d(){var e=of(),n=a(e);if(f=arguments,h=this,v=e,n){if(g===ie)return i(v);if(x)return g=Pd(s,t),r(v)}return g===ie&&(g=Pd(s,t)),m}var f,h,p,m,g,v,y=0,b=!1,x=!1,_=!0;if(\"function\"!=typeof e)throw new cc(se);return t=Sl(t)||0,il(n)&&(b=!!n.leading,x=\"maxWait\"in n,p=x?Hc(Sl(n.maxWait)||0,t):p,_=\"trailing\"in n?!!n.trailing:_),d.cancel=u,d.flush=c,d}function Cs(e){return uo(e,Ee)}function As(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new cc(se);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||un),n}function Rs(e){if(\"function\"!=typeof e)throw new cc(se);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Ls(e){return Ts(2,e)}function Is(e,t){if(\"function\"!=typeof e)throw new cc(se);return t=t===ie?t:wl(t),ni(e,t)}function Ds(e,t){if(\"function\"!=typeof e)throw new cc(se);return t=null==t?0:Hc(wl(t),0),ni(function(n){var r=n[t],i=Si(n,0,t);return r&&g(i,r),s(e,this,i)})}function Ns(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new cc(se);return il(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),Ps(e,t,{leading:r,maxWait:t,trailing:i})}function zs(e){return Es(e,1)}function Bs(e,t){return df(wi(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return vf(e)?e:[e]}function js(e){return rr(e,he)}function Us(e,t){return t=\"function\"==typeof t?t:ie,rr(e,he,t)}function Ws(e){return rr(e,de|he)}function Gs(e,t){return t=\"function\"==typeof t?t:ie,rr(e,de|he,t)}function Vs(e,t){return null==t||or(e,t,jl(t))}function Hs(e,t){return e===t||e!==e&&t!==t}function Ys(e){return null!=e&&rl(e.length)&&!tl(e)}function qs(e){return ol(e)&&Ys(e)}function Xs(e){return!0===e||!1===e||ol(e)&&yr(e)==Ge}function Zs(e){return ol(e)&&1===e.nodeType&&!hl(e)}function Ks(e){if(null==e)return!0;if(Ys(e)&&(vf(e)||\"string\"==typeof e||\"function\"==typeof e.splice||bf(e)||Sf(e)||gf(e)))return!e.length;var t=Td(e);if(t==Ze||t==tt)return!e.size;if(Uo(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Js(e,t){return Pr(e,t)}function $s(e,t,n){n=\"function\"==typeof n?n:ie;var r=n?n(e,t):ie;return r===ie?Pr(e,t,ie,n):!!r}function Qs(e){if(!ol(e))return!1;var t=yr(e);return t==Ye||t==He||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!hl(e)}function el(e){return\"number\"==typeof e&&Wc(e)}function tl(e){if(!il(e))return!1;var t=yr(e);return t==qe||t==Xe||t==We||t==Qe}function nl(e){return\"number\"==typeof e&&e==wl(e)}function rl(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=Le}function il(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function ol(e){return null!=e&&\"object\"==typeof e}function al(e,t){return e===t||Rr(e,t,So(t))}function sl(e,t,n){return n=\"function\"==typeof n?n:ie,Rr(e,t,So(t),n)}function ll(e){return fl(e)&&e!=+e}function ul(e){if(kd(e))throw new ic(ae);return Lr(e)}function cl(e){return null===e}function dl(e){return null==e}function fl(e){return\"number\"==typeof e||ol(e)&&yr(e)==Ke}function hl(e){if(!ol(e)||yr(e)!=$e)return!1;var t=kc(e);if(null===t)return!0;var n=gc.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&mc.call(n)==xc}function pl(e){return nl(e)&&e>=-Le&&e<=Le}function ml(e){return\"string\"==typeof e||!vf(e)&&ol(e)&&yr(e)==nt}function gl(e){return\"symbol\"==typeof e||ol(e)&&yr(e)==rt}function vl(e){return e===ie}function yl(e){return ol(e)&&Td(e)==ot}function bl(e){return ol(e)&&yr(e)==at}function xl(e){if(!e)return[];if(Ys(e))return ml(e)?ee(e):zi(e);if(Rc&&e[Rc])return H(e[Rc]());var t=Td(e);return(t==Ze?Y:t==tt?Z:Ql)(e)}function _l(e){if(!e)return 0===e?e:0;if((e=Sl(e))===Re||e===-Re){return(e<0?-1:1)*Ie}return e===e?e:0}function wl(e){var t=_l(e),n=t%1;return t===t?n?t-n:t:0}function Ml(e){return e?nr(wl(e),0,Ne):0}function Sl(e){if(\"number\"==typeof e)return e;if(gl(e))return De;if(il(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=il(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(It,\"\");var n=Ht.test(e);return n||qt.test(e)?Cn(e.slice(2),n?2:8):Vt.test(e)?De:+e}function El(e){return Bi(e,Ul(e))}function Tl(e){return e?nr(wl(e),-Le,Le):0===e?e:0}function kl(e){return null==e?\"\":hi(e)}function Ol(e,t){var n=hd(e);return null==t?n:$n(n,t)}function Pl(e,t){return w(e,wo(t,3),hr)}function Cl(e,t){return w(e,wo(t,3),pr)}function Al(e,t){return null==e?e:gd(e,wo(t,3),Ul)}function Rl(e,t){return null==e?e:vd(e,wo(t,3),Ul)}function Ll(e,t){return e&&hr(e,wo(t,3))}function Il(e,t){return e&&pr(e,wo(t,3))}function Dl(e){return null==e?[]:mr(e,jl(e))}function Nl(e){return null==e?[]:mr(e,Ul(e))}function zl(e,t,n){var r=null==e?ie:gr(e,t);return r===ie?n:r}function Bl(e,t){return null!=e&&Po(e,t,xr)}function Fl(e,t){return null!=e&&Po(e,t,_r)}function jl(e){return Ys(e)?Rn(e):Br(e)}function Ul(e){return Ys(e)?Rn(e,!0):Fr(e)}function Wl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,t(e,r,i),e)}),n}function Gl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,r,t(e,r,i))}),n}function Vl(e,t){return Hl(e,Rs(wo(t)))}function Hl(e,t){if(null==e)return{};var n=m(bo(e),function(e){return[e]});return t=wo(t),Zr(e,n,function(e,n){return t(e,n[0])})}function Yl(e,t,n){t=Mi(t,e);var r=-1,i=t.length;for(i||(i=1,e=ie);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Zc();return Yc(e+i*(t-e+Pn(\"1e-\"+((i+\"\").length-1))),t)}return Qr(e,t)}function iu(e){return Kf(kl(e).toLowerCase())}function ou(e){return(e=kl(e))&&e.replace(Zt,Yn).replace(gn,\"\")}function au(e,t,n){e=kl(e),t=hi(t);var r=e.length;n=n===ie?r:nr(wl(n),0,r);var i=n;return(n-=t.length)>=0&&e.slice(n,i)==t}function su(e){return e=kl(e),e&&St.test(e)?e.replace(wt,qn):e}function lu(e){return e=kl(e),e&&Lt.test(e)?e.replace(Rt,\"\\\\$&\"):e}function uu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return no(Fc(i),n)+e+no(Bc(i),n)}function cu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;return t&&r>>0)?(e=kl(e),e&&(\"string\"==typeof t||null!=t&&!wf(t))&&!(t=hi(t))&&G(e)?Si(ee(e),0,n):e.split(t,n)):[]}function gu(e,t,n){return e=kl(e),n=null==n?0:nr(wl(n),0,e.length),t=hi(t),e.slice(n,n+t.length)==t}function vu(e,t,r){var i=n.templateSettings;r&&No(e,t,r)&&(t=ie),e=kl(e),t=Pf({},t,i,co);var o,a,s=Pf({},t.imports,i.imports,co),l=jl(s),u=N(s,l),c=0,d=t.interpolate||Kt,f=\"__p += '\",h=lc((t.escape||Kt).source+\"|\"+d.source+\"|\"+(d===kt?Wt:Kt).source+\"|\"+(t.evaluate||Kt).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(\"sourceURL\"in t?t.sourceURL:\"lodash.templateSources[\"+ ++wn+\"]\")+\"\\n\";e.replace(h,function(t,n,r,i,s,l){return r||(r=i),f+=e.slice(c,l).replace(Jt,U),n&&(o=!0,f+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(a=!0,f+=\"';\\n\"+s+\";\\n__p += '\"),r&&(f+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=l+t.length,t}),f+=\"';\\n\";var m=t.variable;m||(f=\"with (obj) {\\n\"+f+\"\\n}\\n\"),f=(a?f.replace(yt,\"\"):f).replace(bt,\"$1\").replace(xt,\"$1;\"),f=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(o?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var g=Jf(function(){return oc(l,p+\"return \"+f).apply(ie,u)});if(g.source=f,Qs(g))throw g;return g}function yu(e){return kl(e).toLowerCase()}function bu(e){return kl(e).toUpperCase()}function xu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(It,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e),i=ee(t);return Si(r,B(r,i),F(r,i)+1).join(\"\")}function _u(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Nt,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,0,F(r,ee(t))+1).join(\"\")}function wu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Dt,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,B(r,ee(t))).join(\"\")}function Mu(e,t){var n=Te,r=ke;if(il(t)){var i=\"separator\"in t?t.separator:i;n=\"length\"in t?wl(t.length):n,r=\"omission\"in t?hi(t.omission):r}e=kl(e);var o=e.length;if(G(e)){var a=ee(e);o=a.length}if(n>=o)return e;var s=n-Q(r);if(s<1)return r;var l=a?Si(a,0,s).join(\"\"):e.slice(0,s);if(i===ie)return l+r;if(a&&(s+=l.length-s),wf(i)){if(e.slice(s).search(i)){var u,c=l;for(i.global||(i=lc(i.source,kl(Gt.exec(i))+\"g\")),i.lastIndex=0;u=i.exec(c);)var d=u.index;l=l.slice(0,d===ie?s:d)}}else if(e.indexOf(hi(i),s)!=s){var f=l.lastIndexOf(i);f>-1&&(l=l.slice(0,f))}return l+r}function Su(e){return e=kl(e),e&&Mt.test(e)?e.replace(_t,Xn):e}function Eu(e,t,n){return e=kl(e),t=n?ie:t,t===ie?V(e)?re(e):_(e):e.match(t)||[]}function Tu(e){var t=null==e?0:e.length,n=wo();return e=t?m(e,function(e){if(\"function\"!=typeof e[1])throw new cc(se);return[n(e[0]),e[1]]}):[],ni(function(n){for(var r=-1;++rLe)return[];var n=Ne,r=Yc(e,Ne);t=wo(t),e-=Ne;for(var i=L(r,t);++n1?e[t-1]:ie;return n=\"function\"==typeof n?(e.pop(),n):ie,qa(e,n)}),Zd=vo(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return tr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof x&&Do(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:$a,args:[o],thisArg:ie}),new i(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ie),e})):this.thru(o)}),Kd=Ui(function(e,t,n){gc.call(e,n)?++e[n]:er(e,n,1)}),Jd=Ki(da),$d=Ki(fa),Qd=Ui(function(e,t,n){gc.call(e,n)?e[n].push(t):er(e,n,[t])}),ef=ni(function(e,t,n){var r=-1,i=\"function\"==typeof t,o=Ys(e)?nc(e.length):[];return pd(e,function(e){o[++r]=i?s(t,e,n):Er(e,t,n)}),o}),tf=Ui(function(e,t,n){er(e,n,t)}),nf=Ui(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=ni(function(e,t){if(null==e)return[];var n=t.length;return n>1&&No(e,t[0],t[1])?t=[]:n>2&&No(t[0],t[1],t[2])&&(t=[t[0]]),qr(e,fr(t,1),[])}),of=Nc||function(){return Ln.Date.now()},af=ni(function(e,t,n){var r=ge;if(n.length){var i=X(n,_o(af));r|=_e}return uo(e,r,t,n,i)}),sf=ni(function(e,t,n){var r=ge|ve;if(n.length){var i=X(n,_o(sf));r|=_e}return uo(t,r,e,n,i)}),lf=ni(function(e,t){return ar(e,1,t)}),uf=ni(function(e,t,n){return ar(e,Sl(t)||0,n)});As.Cache=un;var cf=xd(function(e,t){t=1==t.length&&vf(t[0])?m(t[0],D(wo())):m(fr(t,1),D(wo()));var n=t.length;return ni(function(r){for(var i=-1,o=Yc(r.length,n);++i=t}),gf=Tr(function(){return arguments}())?Tr:function(e){return ol(e)&&gc.call(e,\"callee\")&&!Pc.call(e,\"callee\")},vf=nc.isArray,yf=Fn?D(Fn):kr,bf=Uc||Uu,xf=jn?D(jn):Or,_f=Un?D(Un):Ar,wf=Wn?D(Wn):Ir,Mf=Gn?D(Gn):Dr,Sf=Vn?D(Vn):Nr,Ef=oo(jr),Tf=oo(function(e,t){return e<=t}),kf=Wi(function(e,t){if(Uo(t)||Ys(t))return void Bi(t,jl(t),e);for(var n in t)gc.call(t,n)&&Hn(e,n,t[n])}),Of=Wi(function(e,t){Bi(t,Ul(t),e)}),Pf=Wi(function(e,t,n,r){Bi(t,Ul(t),e,r)}),Cf=Wi(function(e,t,n,r){Bi(t,jl(t),e,r)}),Af=vo(tr),Rf=ni(function(e){return e.push(ie,co),s(Pf,ie,e)}),Lf=ni(function(e){return e.push(ie,fo),s(Bf,ie,e)}),If=Qi(function(e,t,n){e[t]=n},Ou(Cu)),Df=Qi(function(e,t,n){gc.call(e,t)?e[t].push(n):e[t]=[n]},wo),Nf=ni(Er),zf=Wi(function(e,t,n){Vr(e,t,n)}),Bf=Wi(function(e,t,n,r){Vr(e,t,n,r)}),Ff=vo(function(e,t){var n={};if(null==e)return n;var r=!1;t=m(t,function(t){return t=Mi(t,e),r||(r=t.length>1),t}),Bi(e,bo(e),n),r&&(n=rr(n,de|fe|he,ho));for(var i=t.length;i--;)mi(n,t[i]);return n}),jf=vo(function(e,t){return null==e?{}:Xr(e,t)}),Uf=lo(jl),Wf=lo(Ul),Gf=qi(function(e,t,n){return t=t.toLowerCase(),e+(n?iu(t):t)}),Vf=qi(function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}),Hf=qi(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()}),Yf=Yi(\"toLowerCase\"),qf=qi(function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}),Xf=qi(function(e,t,n){return e+(n?\" \":\"\")+Kf(t)}),Zf=qi(function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()}),Kf=Yi(\"toUpperCase\"),Jf=ni(function(e,t){try{return s(e,ie,t)}catch(e){return Qs(e)?e:new ic(e)}}),$f=vo(function(e,t){return u(t,function(t){t=Qo(t),er(e,t,af(e[t],e))}),e}),Qf=Ji(),eh=Ji(!0),th=ni(function(e,t){return function(n){return Er(n,e,t)}}),nh=ni(function(e,t){return function(n){return Er(e,n,t)}}),rh=to(m),ih=to(d),oh=to(b),ah=io(),sh=io(!0),lh=eo(function(e,t){return e+t},0),uh=so(\"ceil\"),ch=eo(function(e,t){return e/t},1),dh=so(\"floor\"),fh=eo(function(e,t){return e*t},1),hh=so(\"round\"),ph=eo(function(e,t){return e-t},0);return n.after=Ss,n.ary=Es,n.assign=kf,n.assignIn=Of,n.assignInWith=Pf,n.assignWith=Cf,n.at=Af,n.before=Ts,n.bind=af,n.bindAll=$f,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=ia,n.concat=oa,n.cond=Tu,n.conforms=ku,n.constant=Ou,n.countBy=Kd,n.create=Ol,n.curry=ks,n.curryRight=Os,n.debounce=Ps,n.defaults=Rf,n.defaultsDeep=Lf,n.defer=lf,n.delay=uf,n.difference=Rd,n.differenceBy=Ld,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=la,n.dropWhile=ua,n.fill=ca,n.filter=ss,n.flatMap=ls,n.flatMapDeep=us,n.flatMapDepth=cs,n.flatten=ha,n.flattenDeep=pa,n.flattenDepth=ma,n.flip=Cs,n.flow=Qf,n.flowRight=eh,n.fromPairs=ga,n.functions=Dl,n.functionsIn=Nl,n.groupBy=Qd,n.initial=ba,n.intersection=Dd,n.intersectionBy=Nd,n.intersectionWith=zd,n.invert=If,n.invertBy=Df,n.invokeMap=ef,n.iteratee=Au,n.keyBy=tf,n.keys=jl,n.keysIn=Ul,n.map=ps,n.mapKeys=Wl,n.mapValues=Gl,n.matches=Ru,n.matchesProperty=Lu,n.memoize=As,n.merge=zf,n.mergeWith=Bf,n.method=th,n.methodOf=nh,n.mixin=Iu,n.negate=Rs,n.nthArg=zu,n.omit=Ff,n.omitBy=Vl,n.once=Ls,n.orderBy=ms,n.over=rh,n.overArgs=cf,n.overEvery=ih,n.overSome=oh,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=jf,n.pickBy=Hl,n.property=Bu,n.propertyOf=Fu,n.pull=Bd,n.pullAll=Sa,n.pullAllBy=Ea,n.pullAllWith=Ta,n.pullAt=Fd,n.range=ah,n.rangeRight=sh,n.rearg=hf,n.reject=ys,n.remove=ka,n.rest=Is,n.reverse=Oa,n.sampleSize=xs,n.set=ql,n.setWith=Xl,n.shuffle=_s,n.slice=Pa,n.sortBy=rf,n.sortedUniq=Na,n.sortedUniqBy=za,n.split=mu,n.spread=Ds,n.tail=Ba,n.take=Fa,n.takeRight=ja,n.takeRightWhile=Ua,n.takeWhile=Wa,n.tap=Ja,n.throttle=Ns,n.thru=$a,n.toArray=xl,n.toPairs=Uf,n.toPairsIn=Wf,n.toPath=Yu,n.toPlainObject=El,n.transform=Zl,n.unary=zs,n.union=jd,n.unionBy=Ud,n.unionWith=Wd,n.uniq=Ga,n.uniqBy=Va,n.uniqWith=Ha,n.unset=Kl,n.unzip=Ya,n.unzipWith=qa,n.update=Jl,n.updateWith=$l,n.values=Ql,n.valuesIn=eu,n.without=Gd,n.words=Eu,n.wrap=Bs,n.xor=Vd,n.xorBy=Hd,n.xorWith=Yd,n.zip=qd,n.zipObject=Xa,n.zipObjectDeep=Za,n.zipWith=Xd,n.entries=Uf,n.entriesIn=Wf,n.extend=Of,n.extendWith=Pf,Iu(n,n),n.add=lh,n.attempt=Jf,n.camelCase=Gf,n.capitalize=iu,n.ceil=uh,n.clamp=tu,n.clone=js,n.cloneDeep=Ws,n.cloneDeepWith=Gs,n.cloneWith=Us,n.conformsTo=Vs,n.deburr=ou,n.defaultTo=Pu,n.divide=ch,n.endsWith=au,n.eq=Hs,n.escape=su,n.escapeRegExp=lu,n.every=as,n.find=Jd,n.findIndex=da,n.findKey=Pl,n.findLast=$d,n.findLastIndex=fa,n.findLastKey=Cl,n.floor=dh,n.forEach=ds,n.forEachRight=fs,n.forIn=Al,n.forInRight=Rl,n.forOwn=Ll,n.forOwnRight=Il,n.get=zl,n.gt=pf,n.gte=mf,n.has=Bl,n.hasIn=Fl,n.head=va,n.identity=Cu,n.includes=hs,n.indexOf=ya,n.inRange=nu,n.invoke=Nf,n.isArguments=gf,n.isArray=vf,n.isArrayBuffer=yf,n.isArrayLike=Ys,n.isArrayLikeObject=qs,n.isBoolean=Xs,n.isBuffer=bf,n.isDate=xf,n.isElement=Zs,n.isEmpty=Ks,n.isEqual=Js,n.isEqualWith=$s,n.isError=Qs,n.isFinite=el,n.isFunction=tl,n.isInteger=nl,n.isLength=rl,n.isMap=_f,n.isMatch=al,n.isMatchWith=sl,n.isNaN=ll,n.isNative=ul,n.isNil=dl,n.isNull=cl,n.isNumber=fl,n.isObject=il,n.isObjectLike=ol,n.isPlainObject=hl,n.isRegExp=wf,n.isSafeInteger=pl,n.isSet=Mf,n.isString=ml,n.isSymbol=gl,n.isTypedArray=Sf,n.isUndefined=vl,n.isWeakMap=yl,n.isWeakSet=bl,n.join=xa,n.kebabCase=Vf,n.last=_a,n.lastIndexOf=wa,n.lowerCase=Hf,n.lowerFirst=Yf,n.lt=Ef,n.lte=Tf,n.max=Xu,n.maxBy=Zu,n.mean=Ku,n.meanBy=Ju,n.min=$u,n.minBy=Qu,n.stubArray=ju,n.stubFalse=Uu,n.stubObject=Wu,n.stubString=Gu,n.stubTrue=Vu,n.multiply=fh,n.nth=Ma,n.noConflict=Du,n.noop=Nu,n.now=of,n.pad=uu,n.padEnd=cu,n.padStart=du,n.parseInt=fu,n.random=ru,n.reduce=gs,n.reduceRight=vs,n.repeat=hu,n.replace=pu,n.result=Yl,n.round=hh,n.runInContext=e,n.sample=bs,n.size=ws,n.snakeCase=qf,n.some=Ms,n.sortedIndex=Ca,n.sortedIndexBy=Aa,n.sortedIndexOf=Ra,n.sortedLastIndex=La,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=Da,n.startCase=Xf,n.startsWith=gu,n.subtract=ph,n.sum=ec,n.sumBy=tc,n.template=vu,n.times=Hu,n.toFinite=_l,n.toInteger=wl,n.toLength=Ml,n.toLower=yu,n.toNumber=Sl,n.toSafeInteger=Tl,n.toString=kl,n.toUpper=bu,n.trim=xu,n.trimEnd=_u,n.trimStart=wu,n.truncate=Mu,n.unescape=Su,n.uniqueId=qu,n.upperCase=Zf,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=va,Iu(n,function(){var e={};return hr(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION=\"4.17.4\",u([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){n[e].placeholder=n}),u([\"drop\",\"take\"],function(e,t){x.prototype[e]=function(n){n=n===ie?1:Hc(wl(n),0);var r=this.__filtered__&&!t?new x(this):this.clone();return r.__filtered__?r.__takeCount__=Yc(n,r.__takeCount__):r.__views__.push({size:Yc(n,Ne),type:e+(r.__dir__<0?\"Right\":\"\")}),r},x.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),u([\"filter\",\"map\",\"takeWhile\"],function(e,t){var n=t+1,r=n==Ce||3==n;x.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:wo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),u([\"head\",\"last\"],function(e,t){var n=\"take\"+(t?\"Right\":\"\");x.prototype[e]=function(){return this[n](1).value()[0]}}),u([\"initial\",\"tail\"],function(e,t){var n=\"drop\"+(t?\"\":\"Right\");x.prototype[e]=function(){return this.__filtered__?new x(this):this[n](1)}}),x.prototype.compact=function(){return this.filter(Cu)},x.prototype.find=function(e){return this.filter(e).head()},x.prototype.findLast=function(e){return this.reverse().find(e)},x.prototype.invokeMap=ni(function(e,t){return\"function\"==typeof e?new x(this):this.map(function(n){return Er(n,e,t)})}),x.prototype.reject=function(e){return this.filter(Rs(wo(e)))},x.prototype.slice=function(e,t){e=wl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new x(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ie&&(t=wl(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},x.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},x.prototype.toArray=function(){return this.take(Ne)},hr(x.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),a=n[o?\"take\"+(\"last\"==t?\"Right\":\"\"):t],s=o||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,l=o?[1]:arguments,u=t instanceof x,c=l[0],d=u||vf(t),f=function(e){var t=a.apply(n,g([e],l));return o&&h?t[0]:t};d&&r&&\"function\"==typeof c&&1!=c.length&&(u=d=!1);var h=this.__chain__,p=!!this.__actions__.length,m=s&&!h,v=u&&!p;if(!s&&d){t=v?t:new x(this);var y=e.apply(t,l);return y.__actions__.push({func:$a,args:[f],thisArg:ie}),new i(y,h)}return m&&v?e.apply(this,l):(y=this.thru(f),m?o?y.value()[0]:y.value():y)})}),u([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",i=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var n=this.value();return t.apply(vf(n)?n:[],e)}return this[r](function(n){return t.apply(vf(n)?n:[],e)})}}),hr(x.prototype,function(e,t){var r=n[t];if(r){var i=r.name+\"\";(id[i]||(id[i]=[])).push({name:t,func:r})}}),id[$i(ie,ve).name]=[{name:\"wrapper\",func:ie}],x.prototype.clone=P,x.prototype.reverse=J,x.prototype.value=te,n.prototype.at=Zd,n.prototype.chain=Qa,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=is,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=os,n.prototype.first=n.prototype.head,Rc&&(n.prototype[Rc]=ns),n}();Ln._=Zn,(i=function(){return Zn}.call(t,n,t,r))!==ie&&(r.exports=i)}).call(this)}).call(t,n(68),n(101)(e))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(470),d=(r(c),n(420)),f=r(d),h=n(31),p=r(h),m=n(199),g=r(m),v=n(198),y=r(v),b=n(202),x=r(b),_=n(208),w=r(_),M=n(203),S=r(M),E=n(209),T=r(E),k=n(105),O=r(k),P=n(200),C=r(P),A=n(204),R=r(A),L=n(205),I=r(L),D=n(206),N=r(D),z=n(201),B=r(z),F=(n(39),function(){function e(){(0,o.default)(this,e);var t=!this.isMobileDevice();this.coordinates=new g.default,this.renderer=new u.WebGLRenderer({antialias:t}),this.scene=new u.Scene,this.scene.background=new u.Color(3095),this.dimension={width:0,height:0},this.ground=\"tile\"===p.default.ground.type?new w.default:new x.default,this.map=new S.default,this.adc=new y.default(\"adc\",this.scene),this.planningAdc=new y.default(\"plannigAdc\",this.scene),this.planningTrajectory=new T.default,this.perceptionObstacles=new O.default,this.decision=new C.default,this.prediction=new R.default,this.routing=new I.default,this.routingEditor=new N.default,this.gnss=new B.default,this.stats=null,p.default.debug.performanceMonitor&&(this.stats=new f.default,this.stats.showPanel(1),this.stats.domElement.style.position=\"absolute\",this.stats.domElement.style.top=null,this.stats.domElement.style.bottom=\"0px\",document.body.appendChild(this.stats.domElement)),this.geolocation={x:0,y:0}}return(0,s.default)(e,[{key:\"initialize\",value:function(e,t,n,r){this.options=r,this.canvasId=e,this.viewAngle=p.default.camera.viewAngle,this.viewDistance=p.default.camera.laneWidth*p.default.camera.laneWidthToViewDistanceRatio,this.camera=new u.PerspectiveCamera(p.default.camera[this.options.cameraAngle].fov,window.innerWidth/window.innerHeight,p.default.camera[this.options.cameraAngle].near,p.default.camera[this.options.cameraAngle].far),this.camera.name=\"camera\",this.scene.add(this.camera),this.updateDimension(t,n),this.renderer.setPixelRatio(window.devicePixelRatio),document.getElementById(e).appendChild(this.renderer.domElement);var i=new u.AmbientLight(4473924),o=new u.DirectionalLight(16772829);o.position.set(0,0,1).normalize(),this.controls=new u.OrbitControls(this.camera,this.renderer.domElement),this.controls.enable=!1,this.onMouseDownHandler=this.editRoute.bind(this),this.scene.add(i),this.scene.add(o),this.animate()}},{key:\"maybeInitializeOffest\",value:function(e,t){this.coordinates.isInitialized()||this.coordinates.initialize(e,t)}},{key:\"updateDimension\",value:function(e,t){this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.dimension.width=e,this.dimension.height=t}},{key:\"enableOrbitControls\",value:function(){var e=this.adc.mesh.position;this.controls.enabled=!0,this.controls.enableRotate=!1,this.controls.reset(),this.controls.minDistance=20,this.controls.maxDistance=1e3,this.controls.target.set(e.x,e.y,0),this.camera.position.set(e.x,e.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.x,e.y,0)}},{key:\"adjustCamera\",value:function(e,t){if(!this.routingEditor.isInEditingMode()){switch(this.camera.fov=p.default.camera[t].fov,this.camera.near=p.default.camera[t].near,this.camera.far=p.default.camera[t].far,t){case\"Default\":var n=this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=this.viewDistance*Math.sin(this.viewAngle);this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case\"Near\":n=.5*this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=.5*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case\"Overhead\":r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=2*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x,this.camera.position.y=e.position.y+r,this.camera.position.z=2*(e.position.z+i),this.camera.up.set(0,1,0),this.camera.lookAt({x:e.position.x,y:e.position.y+r,z:0}),this.controls.enabled=!1;break;case\"Monitor\":this.camera.position.set(e.position.x,e.position.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.position.x,e.position.y,0),this.controls.enabled=!1;break;case\"Map\":this.controls.enabled||this.enableOrbitControls()}this.camera.updateProjectionMatrix()}}},{key:\"enableRouteEditing\",value:function(){this.enableOrbitControls(),this.routingEditor.enableEditingMode(this.camera,this.adc),document.getElementById(this.canvasId).addEventListener(\"mousedown\",this.onMouseDownHandler,!1)}},{key:\"disableRouteEditing\",value:function(){this.routingEditor.disableEditingMode(this.scene),document.getElementById(this.canvasId).removeEventListener(\"mousedown\",this.onMouseDownHandler,!1)}},{key:\"addDefaultEndPoint\",value:function(e){for(var t=0;t0)n=e.stepSize;else{var o=r.niceNum(t.max-t.min,!1);n=r.niceNum(o/(e.maxTicks-1),!0)}var a=Math.floor(t.min/n)*n,s=Math.ceil(t.max/n)*n;e.min&&e.max&&e.stepSize&&r.almostWhole((e.max-e.min)/e.stepSize,n/1e3)&&(a=e.min,s=e.max);var l=(s-a)/n;l=r.almostEquals(l,Math.round(l),n/1e3)?Math.round(l):Math.ceil(l),i.push(void 0!==e.min?e.min:a);for(var u=1;u3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&e!==Math.floor(e)&&(i=e-Math.floor(e));var o=r.log10(Math.abs(i)),a=\"\";if(0!==e){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),a=e.toFixed(s)}else a=\"0\";return a},logarithmic:function(e,t,n){var i=e/Math.pow(10,Math.floor(r.log10(e)));return 0===e?\"0\":1===i||2===i||5===i||0===t||t===n.length-1?e.toExponential():\"\"}}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(28),i=n(117),o=n(115),a=n(25),s=n(63),l=n(90),u={},c={},t=e.exports=function(e,t,n,d,f){var h,p,m,g,v=f?function(){return e}:l(e),y=r(n,d,t?2:1),b=0;if(\"function\"!=typeof v)throw TypeError(e+\" is not iterable!\");if(o(v)){for(h=s(e.length);h>b;b++)if((g=t?y(a(p=e[b])[0],p[1]):y(e[b]))===u||g===c)return g}else for(m=v.call(e);!(p=m.next()).done;)if((g=i(m,y,p.value,t))===u||g===c)return g};t.BREAK=u,t.RETURN=c},function(e,t){e.exports={}},function(e,t,n){var r=n(122),i=n(75);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(21).f,i=n(37),o=n(15)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){\"use strict\";var r=n(325)(!0);n(77)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){\"use strict\";function r(e){return\"string\"==typeof e&&i.test(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e&&e.length){for(var t={},n=0;n=t)return!0;return!1},i.isReservedName=function(e,t){if(e)for(var n=0;n0;){var r=e.shift();if(n.nested&&n.nested[r]){if(!((n=n.nested[r])instanceof i))throw Error(\"path conflicts with non-namespace objects\")}else n.add(n=new i(r))}return t&&n.addJSON(t),n},i.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return r}else if(r instanceof i&&(r=r.lookup(e.slice(1),t,!0)))return r}else for(var o=0;o=0;o--)t.call(n,e[o],o);else for(o=0;odocument.F=Object<\\/script>\"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(86),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){n(329);for(var r=n(14),i=n(34),o=n(49),a=n(15)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),l=0;l1&&void 0!==arguments[1]?arguments[1]:0;if(e.constructor===Array&&e.length>0)for(;t0?r:n)(e)}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(14),i=n(9),o=n(60),a=n(89),s=n(21).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(15)},function(e,t,n){var r=n(72),i=n(15)(\"iterator\"),o=n(49);e.exports=n(9).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t){},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(364),o=r(i),a=n(367),s=r(a),l=n(366),u=r(l),c=n(368),d=r(c),f=n(369),h=r(f),p=n(370),m=r(p),g=n(371),v=r(g),y=n(372),b=r(y),x=n(373),_=r(x),w=n(374),M=r(w),S=n(375),E=r(S),T=n(377),k=r(T),O=n(365),P=r(O),C=[u.default,s.default,d.default,m.default,v.default,b.default,_.default,M.default,E.default,h.default],A=(0,o.default)({prefixMap:P.default.prefixMap,plugins:C},k.default);t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\nvar i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){r[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=r(e),u=1;u-1&&this.oneof.splice(t,1),e.partOf=null,this},r.prototype.onAdd=function(e){o.prototype.onAdd.call(this,e);for(var t=this,n=0;n \"+e.len)}function i(e){this.buf=e,this.pos=0,this.len=e.length}function o(){var e=new c(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw r(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw r(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error(\"invalid varint encoding\")}function a(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function s(){if(this.pos+8>this.len)throw r(this,8);return new c(a(this.buf,this.pos+=4),a(this.buf,this.pos+=4))}e.exports=i;var l,u=n(30),c=u.LongBits,d=u.utf8,f=\"undefined\"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new i(e);throw Error(\"illegal buffer\")}:function(e){if(Array.isArray(e))return new i(e);throw Error(\"illegal buffer\")};i.create=u.Buffer?function(e){return(i.create=function(e){return u.Buffer.isBuffer(e)?new l(e):f(e)})(e)}:f,i.prototype._slice=u.Array.prototype.subarray||u.Array.prototype.slice,i.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,r(this,10);return e}}(),i.prototype.int32=function(){return 0|this.uint32()},i.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},i.prototype.bool=function(){return 0!==this.uint32()},i.prototype.fixed32=function(){if(this.pos+4>this.len)throw r(this,4);return a(this.buf,this.pos+=4)},i.prototype.sfixed32=function(){if(this.pos+4>this.len)throw r(this,4);return 0|a(this.buf,this.pos+=4)},i.prototype.float=function(){if(this.pos+4>this.len)throw r(this,4);var e=u.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},i.prototype.double=function(){if(this.pos+8>this.len)throw r(this,4);var e=u.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},i.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw r(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},i.prototype.string=function(){var e=this.bytes();return d.read(e,0,e.length)},i.prototype.skip=function(e){if(\"number\"==typeof e){if(this.pos+e>this.len)throw r(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw r(this)}while(128&this.buf[this.pos++]);return this},i.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){if(4==(e=7&this.uint32()))break;this.skipType(e)}break;case 5:this.skip(4);break;default:throw Error(\"invalid wire type \"+e+\" at offset \"+this.pos)}return this},i._configure=function(e){l=e;var t=u.Long?\"toLong\":\"toNumber\";u.merge(i.prototype,{int64:function(){return o.call(this)[t](!1)},uint64:function(){return o.call(this)[t](!0)},sint64:function(){return o.call(this).zzDecode()[t](!1)},fixed64:function(){return s.call(this)[t](!0)},sfixed64:function(){return s.call(this)[t](!1)}})}},function(e,t,n){\"use strict\";function r(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function i(){}function o(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new r(i,0,0),this.tail=this.head,this.states=null}function s(e,t,n){t[n]=255&e}function l(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e}function u(e,t){this.len=e,this.next=void 0,this.val=t}function c(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function d(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}e.exports=a;var f,h=n(30),p=h.LongBits,m=h.base64,g=h.utf8;a.create=h.Buffer?function(){return(a.create=function(){return new f})()}:function(){return new a},a.alloc=function(e){return new h.Array(e)},h.Array!==Array&&(a.alloc=h.pool(a.alloc,h.Array.prototype.subarray)),a.prototype._push=function(e,t,n){return this.tail=this.tail.next=new r(e,t,n),this.len+=t,this},u.prototype=Object.create(r.prototype),u.prototype.fn=l,a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new u((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},a.prototype.int32=function(e){return e<0?this._push(c,10,p.fromNumber(e)):this.uint32(e)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.uint64=function(e){var t=p.from(e);return this._push(c,t.length(),t)},a.prototype.int64=a.prototype.uint64,a.prototype.sint64=function(e){var t=p.from(e).zzEncode();return this._push(c,t.length(),t)},a.prototype.bool=function(e){return this._push(s,1,e?1:0)},a.prototype.fixed32=function(e){return this._push(d,4,e>>>0)},a.prototype.sfixed32=a.prototype.fixed32,a.prototype.fixed64=function(e){var t=p.from(e);return this._push(d,4,t.lo)._push(d,4,t.hi)},a.prototype.sfixed64=a.prototype.fixed64,a.prototype.float=function(e){return this._push(h.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this._push(h.float.writeDoubleLE,8,e)};var v=h.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r>>0;if(!t)return this._push(s,1,0);if(h.isString(e)){var n=a.alloc(t=m.length(e));m.decode(e,n,0),e=n}return this.uint32(t)._push(v,t,e)},a.prototype.string=function(e){var t=g.length(e);return t?this.uint32(t)._push(g.write,t,e):this._push(s,1,0)},a.prototype.fork=function(){return this.states=new o(this),this.head=this.tail=new r(i,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new r(i,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},a.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},a._configure=function(e){f=e}},function(e,t,n){var r=n(411),i=n(23);e.exports=function(e,t,n){var i=e[t];if(i){var o=[];if(Object.keys(i).forEach(function(e){-1===r.indexOf(e)&&o.push(e)}),o.length)throw new Error(\"Prop \"+t+\" passed to \"+n+\". Has invalid keys \"+o.join(\", \"))}},e.exports.isRequired=function(t,n,r){if(!t[n])throw new Error(\"Prop \"+n+\" passed to \"+r+\" is required\");return e.exports(t,n,r)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t0?1:-1,f=Math.tan(s)*d,h=d*c.x,p=f*c.y,m=Math.atan2(p,h),g=a.data[0],v=g.tooltipPosition();e.ctx.font=x.default.helpers.fontString(20,\"normal\",\"Helvetica Neue\"),e.ctx.translate(v.x,v.y),e.ctx.rotate(-m),e.ctx.fillText(\"►\",0,0),e.ctx.restore()}})}}),x.default.defaults.global.defaultFontColor=\"#FFFFFF\";var _=function(e){function t(){return(0,u.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,d.default)(t,[{key:\"initializeCanvas\",value:function(e,t){this.name2idx={};var n={title:{display:e&&e.length>0,text:e},legend:{display:t.legend.display},tooltips:{enable:!0,mode:\"nearest\",intersect:!1}};if(t.axes){n.scales||(n.scales={});for(var r in t.axes){var i=r+\"Axes\",o=t.axes[r],a={id:r+\"-axis-0\",scaleLabel:{display:!0,labelString:o.labelString},ticks:{min:o.min,max:o.max},gridLines:{color:\"rgba(153, 153, 153, 0.5)\",zeroLineColor:\"rgba(153, 153, 153, 0.7)\"}};n.scales[i]||(n.scales[i]=[]),n.scales[i].push(a)}}var s=this.canvasElement.getContext(\"2d\");this.chart=new x.default(s,{type:\"scatter\",options:n})}},{key:\"updateData\",value:function(e,t,n,r){var i=t.substring(0,5);if(void 0===this.chart.data.datasets[e]){var o={label:i,showText:n.showLabel,text:t,backgroundColor:n.color,borderColor:n.color,data:r};for(var a in n)o[a]=n[a];this.chart.data.datasets.push(o)}else this.chart.data.datasets[e].text=t,this.chart.data.datasets[e].data=r}},{key:\"updateChart\",value:function(e){for(var t in e.properties.lines){void 0===this.name2idx[t]&&(this.name2idx[t]=this.chart.data.datasets.length);var n=this.name2idx[t],r=e.properties.lines[t],i=e.data?e.data[t]:[];this.updateData(n,t,r,i)}var a=(0,o.default)(this.name2idx).length;if(e.boxes)for(var s in e.boxes){var l=e.boxes[s];this.updateData(a,s,e.properties.box,l),a++}this.chart.data.datasets.splice(a,this.chart.data.datasets.length-a),this.chart.update(0)}},{key:\"componentDidMount\",value:function(){var e=this.props,t=e.title,n=e.options;this.initializeCanvas(t,n),this.updateChart(this.props)}},{key:\"componentWillUnmount\",value:function(){this.chart.destroy()}},{key:\"componentWillReceiveProps\",value:function(e){this.updateChart(e)}},{key:\"render\",value:function(){var e=this,t=this.props;t.data,t.properties,t.options,t.boxes;return v.default.createElement(\"div\",{className:\"scatter-graph\"},v.default.createElement(\"canvas\",{ref:function(t){e.canvasElement=t}}))}}]),t}(v.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=n(11),v=r(g),y=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.title,r=e.isChecked,i=e.onClick,o=e.disabled,a=e.extraClasses;return m.default.createElement(\"ul\",{className:(0,v.default)({disabled:o},a)},m.default.createElement(\"li\",{id:t,onClick:function(){o||i()}},m.default.createElement(\"div\",{className:\"switch\"},m.default.createElement(\"input\",{type:\"checkbox\",className:\"toggle-switch\",name:t,checked:r,disabled:o,readOnly:!0}),m.default.createElement(\"label\",{className:\"toggle-switch-label\",htmlFor:t})),m.default.createElement(\"span\",null,n)))}}]),t}(m.default.Component);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.title,r=(e.options,e.onClick),i=e.checked,o=e.extraClasses;return m.default.createElement(\"ul\",{className:o},m.default.createElement(\"li\",{onClick:r},m.default.createElement(\"input\",{type:\"radio\",name:t,checked:i,readOnly:!0}),m.default.createElement(\"label\",{className:\"radio-selector-label\",htmlFor:n}),m.default.createElement(\"span\",null,n)))}}]),t}(m.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.ObstacleColorMapping=t.DEFAULT_COLOR=void 0;var i=n(234),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(16),h=r(f),p=n(207),m=r(p),g=n(69),v=n(32),y=n(39),b=t.DEFAULT_COLOR=16711932,x=t.ObstacleColorMapping={PEDESTRIAN:16771584,BICYCLE:56555,VEHICLE:65340,VIRTUAL:8388608},_=function(){function e(){(0,s.default)(this,e),this.textRender=new m.default,this.arrows=[],this.ids=[],this.solidCubes=[],this.dashedCubes=[],this.extrusionSolidFaces=[],this.extrusionDashedFaces=[]}return(0,u.default)(e,[{key:\"update\",value:function(e,t,n){y.isEmpty(this.ids)||(this.ids.forEach(function(e){e.children.forEach(function(e){return e.visible=!1}),n.remove(e)}),this.ids=[]),this.textRender.reset();var r=e.object;if(y.isEmpty(r))return(0,g.hideArrayObjects)(this.arrows),(0,g.hideArrayObjects)(this.solidCubes),(0,g.hideArrayObjects)(this.dashedCubes),(0,g.hideArrayObjects)(this.extrusionSolidFaces),void(0,g.hideArrayObjects)(this.extrusionDashedFaces);for(var i=t.applyOffset({x:e.autoDrivingCar.positionX,y:e.autoDrivingCar.positionY}),a=0,s=0,l=0,u=0;u.5){var m=this.updateArrow(f,c.speedHeading,p,a++,n),v=1+(0,o.default)(c.speed);m.scale.set(v,v,v),m.visible=!0}if(h.default.options.showObstaclesHeading){var _=this.updateArrow(f,c.heading,16777215,a++,n);_.scale.set(1,1,1),_.visible=!0}h.default.options.showObstaclesId&&this.updateIdAndDistance(c.id,new d.Vector3(f.x,f.y,c.height),i.distanceTo(f).toFixed(1),n);var w=c.confidence;w=Math.max(0,w),w=Math.min(1,w);var M=c.polygonPoint;void 0!==M&&M.length>0?(this.updatePolygon(M,c.height,p,t,w,l,n),l+=M.length):c.length&&c.width&&c.height&&this.updateCube(c.length,c.width,c.height,f,c.heading,p,w,s++,n)}}(0,g.hideArrayObjects)(this.arrows,a),(0,g.hideArrayObjects)(this.solidCubes,s),(0,g.hideArrayObjects)(this.dashedCubes,s),(0,g.hideArrayObjects)(this.extrusionSolidFaces,l),(0,g.hideArrayObjects)(this.extrusionDashedFaces,l)}},{key:\"updateArrow\",value:function(e,t,n,r,i){var o=this.getArrow(r,i);return(0,g.copyProperty)(o.position,e),o.material.color.setHex(n),o.rotation.set(0,0,-(Math.PI/2-t)),o}},{key:\"updateIdAndDistance\",value:function(e,t,n,r){var i=this.textRender.composeText(e+\" D:\"+n);if(null!==i){i.position.set(t.x,t.y+.5,t.z||3);var o=r.getObjectByName(\"camera\");void 0!==o&&i.quaternion.copy(o.quaternion),i.children.forEach(function(e){return e.visible=!0}),i.visible=!0,i.name=\"id_\"+e,this.ids.push(i),r.add(i)}}},{key:\"updatePolygon\",value:function(e,t,n,r,i,o,a){for(var s=0;s0){var u=this.getCube(s,l,!0);u.position.set(r.x,r.y,r.z+n*(a-1)/2),u.scale.set(e,t,n*a),u.material.color.setHex(o),u.rotation.set(0,0,i),u.visible=!0}if(a<1){var c=this.getCube(s,l,!1);c.position.set(r.x,r.y,r.z+n*a/2),c.scale.set(e,t,n*(1-a)),c.material.color.setHex(o),c.rotation.set(0,0,i),c.visible=!0}}},{key:\"getArrow\",value:function(e,t){if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.extrusionSolidFaces:this.extrusionDashedFaces;if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.solidCubes:this.dashedCubes;if(e0&&(u=e.getDatasetMeta(u[0]._datasetIndex).data),u},\"x-axis\":function(e,t){return l(e,t,{intersect:!1})},point:function(e,t){return o(e,r(t,e))},nearest:function(e,t,n){var i=r(t,e);n.axis=n.axis||\"xy\";var o=s(n.axis),l=a(e,i,n.intersect,o);return l.length>1&&l.sort(function(e,t){var n=e.getArea(),r=t.getArea(),i=n-r;return 0===i&&(i=e._datasetIndex-t._datasetIndex),i}),l.slice(0,1)},x:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inXRange(o.x)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a},y:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inYRange(o.y)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a}}}},function(e,t,n){\"use strict\";var r=n(6),i=n(275),o=n(276),a=o._enabled?o:i;e.exports=r.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},a)},function(e,t,n){var r=n(288),i=n(286),o=function(e){if(e instanceof o)return e;if(!(this instanceof o))return new o(e);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var t;\"string\"==typeof e?(t=i.getRgba(e),t?this.setValues(\"rgb\",t):(t=i.getHsla(e))?this.setValues(\"hsl\",t):(t=i.getHwb(e))&&this.setValues(\"hwb\",t)):\"object\"==typeof e&&(t=e,void 0!==t.r||void 0!==t.red?this.setValues(\"rgb\",t):void 0!==t.l||void 0!==t.lightness?this.setValues(\"hsl\",t):void 0!==t.v||void 0!==t.value?this.setValues(\"hsv\",t):void 0!==t.w||void 0!==t.whiteness?this.setValues(\"hwb\",t):void 0===t.c&&void 0===t.cyan||this.setValues(\"cmyk\",t))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace(\"rgb\",arguments)},hsl:function(){return this.setSpace(\"hsl\",arguments)},hsv:function(){return this.setSpace(\"hsv\",arguments)},hwb:function(){return this.setSpace(\"hwb\",arguments)},cmyk:function(){return this.setSpace(\"cmyk\",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues(\"alpha\",e),this)},red:function(e){return this.setChannel(\"rgb\",0,e)},green:function(e){return this.setChannel(\"rgb\",1,e)},blue:function(e){return this.setChannel(\"rgb\",2,e)},hue:function(e){return e&&(e%=360,e=e<0?360+e:e),this.setChannel(\"hsl\",0,e)},saturation:function(e){return this.setChannel(\"hsl\",1,e)},lightness:function(e){return this.setChannel(\"hsl\",2,e)},saturationv:function(e){return this.setChannel(\"hsv\",1,e)},whiteness:function(e){return this.setChannel(\"hwb\",1,e)},blackness:function(e){return this.setChannel(\"hwb\",2,e)},value:function(e){return this.setChannel(\"hsv\",2,e)},cyan:function(e){return this.setChannel(\"cmyk\",0,e)},magenta:function(e){return this.setChannel(\"cmyk\",1,e)},yellow:function(e){return this.setChannel(\"cmyk\",2,e)},black:function(e){return this.setChannel(\"cmyk\",3,e)},hexString:function(){return i.hexString(this.values.rgb)},rgbString:function(){return i.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return i.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return i.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return i.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return i.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return i.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return i.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?\"AAA\":t>=4.5?\"AA\":\"\"},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues(\"rgb\",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues(\"hsl\",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues(\"hsl\",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues(\"hsl\",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues(\"hsl\",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues(\"hwb\",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues(\"hwb\",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues(\"rgb\",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues(\"hsl\",t),this},mix:function(e,t){var n=this,r=e,i=void 0===t?.5:t,o=2*i-1,a=n.alpha()-r.alpha(),s=((o*a==-1?o:(o+a)/(1+o*a))+1)/2,l=1-s;return this.rgb(s*n.red()+l*r.red(),s*n.green()+l*r.green(),s*n.blue()+l*r.blue()).alpha(n.alpha()*i+r.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new o,r=this.values,i=n.values;for(var a in r)r.hasOwnProperty(a)&&(e=r[a],t={}.toString.call(e),\"[object Array]\"===t?i[a]=e.slice(0):\"[object Number]\"===t?i[a]=e:console.error(\"unexpected color value:\",e));return n}},o.prototype.spaces={rgb:[\"red\",\"green\",\"blue\"],hsl:[\"hue\",\"saturation\",\"lightness\"],hsv:[\"hue\",\"saturation\",\"value\"],hwb:[\"hue\",\"whiteness\",\"blackness\"],cmyk:[\"cyan\",\"magenta\",\"yellow\",\"black\"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(e){for(var t=this.values,n={},r=0;rl;)r(s,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(25),i=n(20),o=n(79);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){e.exports=n(34)},function(e,t,n){\"use strict\";var r=n(14),i=n(9),o=n(21),a=n(26),s=n(15)(\"species\");e.exports=function(e){var t=\"function\"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(25),i=n(46),o=n(15)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(28),s=n(316),l=n(113),u=n(74),c=n(14),d=c.process,f=c.setImmediate,h=c.clearImmediate,p=c.MessageChannel,m=c.Dispatch,g=0,v={},y=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++g]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(g),g},h=function(e){delete v[e]},\"process\"==n(47)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in u(\"script\")?function(e){l.appendChild(u(\"script\")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t,n){\"use strict\";function r(e){return(0,o.default)(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(362),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t){function n(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;i>>0\",r,r);break;case\"int32\":case\"sint32\":case\"sfixed32\":e(\"m%s=d%s|0\",r,r);break;case\"uint64\":l=!0;case\"int64\":case\"sint64\":case\"fixed64\":case\"sfixed64\":e(\"if(util.Long)\")(\"(m%s=util.Long.fromValue(d%s)).unsigned=%j\",r,r,l)('else if(typeof d%s===\"string\")',r)(\"m%s=parseInt(d%s,10)\",r,r)('else if(typeof d%s===\"number\")',r)(\"m%s=d%s\",r,r)('else if(typeof d%s===\"object\")',r)(\"m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)\",r,r,r,l?\"true\":\"\");break;case\"bytes\":e('if(typeof d%s===\"string\")',r)(\"util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)\",r,r,r)(\"else if(d%s.length)\",r)(\"m%s=d%s\",r,r);break;case\"string\":e(\"m%s=String(d%s)\",r,r);break;case\"bool\":e(\"m%s=Boolean(d%s)\",r,r)}}return e}function i(e,t,n,r){if(t.resolvedType)t.resolvedType instanceof a?e(\"d%s=o.enums===String?types[%i].values[m%s]:m%s\",r,n,r,r):e(\"d%s=types[%i].toObject(m%s,o)\",r,n,r);else{var i=!1;switch(t.type){case\"double\":case\"float\":e(\"d%s=o.json&&!isFinite(m%s)?String(m%s):m%s\",r,r,r,r);break;case\"uint64\":i=!0;case\"int64\":case\"sint64\":case\"fixed64\":case\"sfixed64\":e('if(typeof m%s===\"number\")',r)(\"d%s=o.longs===String?String(m%s):m%s\",r,r,r)(\"else\")(\"d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s\",r,r,r,r,i?\"true\":\"\",r);break;case\"bytes\":e(\"d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s\",r,r,r,r,r);break;default:e(\"d%s=m%s\",r,r)}}return e}var o=t,a=n(27),s=n(13);o.fromObject=function(e){var t=e.fieldsArray,n=s.codegen([\"d\"],e.name+\"$fromObject\")(\"if(d instanceof this.ctor)\")(\"return d\");if(!t.length)return n(\"return new this.ctor\");n(\"var m=new this.ctor\");for(var i=0;i>>3){\");for(var n=0;n>>0,(t.id<<3|4)>>>0):e(\"types[%i].encode(%s,w.uint32(%i).fork()).ldelim()\",n,r,(t.id<<3|2)>>>0)}function i(e){for(var t,n,i=s.codegen([\"m\",\"w\"],e.name+\"$encode\")(\"if(!w)\")(\"w=Writer.create()\"),l=e.fieldsArray.slice().sort(s.compareFieldsById),t=0;t>>0,8|a.mapKey[u.keyType],u.keyType),void 0===f?i(\"types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()\",c,n):i(\".uint32(%i).%s(%s[ks[i]]).ldelim()\",16|f,d,n),i(\"}\")(\"}\")):u.repeated?(i(\"if(%s!=null&&%s.length){\",n,n),u.packed&&void 0!==a.packed[d]?i(\"w.uint32(%i).fork()\",(u.id<<3|2)>>>0)(\"for(var i=0;i<%s.length;++i)\",n)(\"w.%s(%s[i])\",d,n)(\"w.ldelim()\"):(i(\"for(var i=0;i<%s.length;++i)\",n),void 0===f?r(i,u,c,n+\"[i]\"):i(\"w.uint32(%i).%s(%s[i])\",(u.id<<3|f)>>>0,d,n)),i(\"}\")):(u.optional&&i(\"if(%s!=null&&m.hasOwnProperty(%j))\",n,u.name),void 0===f?r(i,u,c,n):i(\"w.uint32(%i).%s(%s)\",(u.id<<3|f)>>>0,d,n))}return i(\"return w\")}e.exports=i;var o=n(27),a=n(56),s=n(13)},function(e,t,n){\"use strict\";function r(e,t,n,r,o){if(i.call(this,e,t,r,o),!a.isString(n))throw TypeError(\"keyType must be a string\");this.keyType=n,this.resolvedKeyType=null,this.map=!0}e.exports=r;var i=n(42);((r.prototype=Object.create(i.prototype)).constructor=r).className=\"MapField\";var o=n(56),a=n(13);r.fromJSON=function(e,t){return new r(e,t.id,t.keyType,t.type,t.options)},r.prototype.toJSON=function(){return a.toObject([\"keyType\",this.keyType,\"type\",this.type,\"id\",this.id,\"extend\",this.extend,\"options\",this.options])},r.prototype.resolve=function(){if(this.resolved)return this;if(void 0===o.mapKey[this.keyType])throw Error(\"invalid key type: \"+this.keyType);return i.prototype.resolve.call(this)},r.d=function(e,t,n){return\"function\"==typeof n?n=a.decorateType(n).name:n&&\"object\"==typeof n&&(n=a.decorateEnum(n).name),function(i,o){a.decorateType(i.constructor).add(new r(o,e,t,n))}}},function(e,t,n){\"use strict\";function r(e,t,n,r,a,s,l){if(o.isObject(a)?(l=a,a=s=void 0):o.isObject(s)&&(l=s,s=void 0),void 0!==t&&!o.isString(t))throw TypeError(\"type must be a string\");if(!o.isString(n))throw TypeError(\"requestType must be a string\");if(!o.isString(r))throw TypeError(\"responseType must be a string\");i.call(this,e,l),this.type=t||\"rpc\",this.requestType=n,this.requestStream=!!a||void 0,this.responseType=r,this.responseStream=!!s||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null}e.exports=r;var i=n(43);((r.prototype=Object.create(i.prototype)).constructor=r).className=\"Method\";var o=n(13);r.fromJSON=function(e,t){return new r(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options)},r.prototype.toJSON=function(){return o.toObject([\"type\",\"rpc\"!==this.type&&this.type||void 0,\"requestType\",this.requestType,\"requestStream\",this.requestStream,\"responseType\",this.responseType,\"responseStream\",this.responseStream,\"options\",this.options])},r.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},function(e,t,n){\"use strict\";function r(e){a.call(this,\"\",e),this.deferred=[],this.files=[]}function i(){}function o(e,t){var n=t.parent.lookup(t.extend);if(n){var r=new c(t.fullName,t.id,t.type,t.rule,void 0,t.options);return r.declaringField=t,t.extensionField=r,n.add(r),!0}return!1}e.exports=r;var a=n(55);((r.prototype=Object.create(a.prototype)).constructor=r).className=\"Root\";var s,l,u,c=n(42),d=n(27),f=n(96),h=n(13);r.fromJSON=function(e,t){return t||(t=new r),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},r.prototype.resolvePath=h.path.resolve,r.prototype.load=function e(t,n,r){function o(e,t){if(r){var n=r;if(r=null,d)throw e;n(e,t)}}function a(e,t){try{if(h.isString(t)&&\"{\"===t.charAt(0)&&(t=JSON.parse(t)),h.isString(t)){l.filename=e;var r,i=l(t,c,n),a=0;if(i.imports)for(;a-1){var i=e.substring(n);i in u&&(e=i)}if(!(c.files.indexOf(e)>-1)){if(c.files.push(e),e in u)return void(d?a(e,u[e]):(++f,setTimeout(function(){--f,a(e,u[e])})));if(d){var s;try{s=h.fs.readFileSync(e).toString(\"utf8\")}catch(e){return void(t||o(e))}a(e,s)}else++f,h.fetch(e,function(n,i){if(--f,r)return n?void(t?f||o(null,c):o(n)):void a(e,i)})}}\"function\"==typeof n&&(r=n,n=void 0);var c=this;if(!r)return h.asPromise(e,c,t,n);var d=r===i,f=0;h.isString(t)&&(t=[t]);for(var p,m=0;m-1&&this.deferred.splice(t,1)}}else if(e instanceof d)p.test(e.name)&&delete e.parent[e.name];else if(e instanceof a){for(var n=0;n=0&&b.splice(t,1)}function s(e){var t=document.createElement(\"style\");return e.attrs.type=\"text/css\",u(t,e.attrs),o(e,t),t}function l(e){var t=document.createElement(\"link\");return e.attrs.type=\"text/css\",e.attrs.rel=\"stylesheet\",u(t,e.attrs),o(e,t),t}function u(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var u=y++;n=v||(v=s(t)),r=d.bind(null,n,u,!1),i=d.bind(null,n,u,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=l(t),r=h.bind(null,n,t),i=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=f.bind(null,n),i=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function d(e,t,n,r){var i=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function f(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute(\"media\",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function h(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=x(r)),i&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\");var a=new Blob([r],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var p={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,y=0,b=[],x=n(421);e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");t=t||{},t.attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=i(e,t);return r(n,t),function(e){for(var o=[],a=0;a1&&void 0!==arguments[1]&&arguments[1];return null===this.offset?(console.error(\"Offset is not set.\"),null):isNaN(this.offset.x)||isNaN(this.offset.y)?(console.error(\"Offset contains NaN!\"),null):isNaN(e.x)||isNaN(e.y)?(console.warn(\"Point contains NaN!\"),null):isNaN(e.z)?new u.Vector2(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y):new u.Vector3(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y,e.z)}},{key:\"applyOffsetToArray\",value:function(e){var t=this;return e.map(function(e){return t.applyOffset(e)})}}]),e}();t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(440),h=r(f),p=n(444),m=r(p),g=n(442),v=r(g),y=n(445),b=r(y),x=n(443),_=r(x),w=n(434),M=r(w),S=n(437),E=r(S),T=n(435),k=r(T),O=n(438),P=r(O),C=n(436),A=r(C),R=n(439),L=r(R),I=n(432),D=r(I),N=n(447),z=r(N),B=n(446),F=r(B),j=n(448),U=r(j),W=n(449),G=r(W),V=n(450),H=r(V),Y=n(430),q=r(Y),X=n(431),Z=r(X),K=n(433),J=r(K),$=n(441),Q=r($),ee=n(69),te=n(32),ne=n(39),re={STOP:16724016,FOLLOW:1757281,YIELD:16724215,OVERTAKE:3188223},ie={STOP_REASON_HEAD_VEHICLE:L.default,STOP_REASON_DESTINATION:D.default,STOP_REASON_PEDESTRIAN:z.default,STOP_REASON_OBSTACLE:F.default,STOP_REASON_SIGNAL:U.default,STOP_REASON_STOP_SIGN:G.default,STOP_REASON_YIELD_SIGN:H.default,STOP_REASON_CLEAR_ZONE:q.default,STOP_REASON_CROSSWALK:Z.default,STOP_REASON_EMERGENCY:J.default,STOP_REASON_NOT_READY:Q.default},oe=function(){function e(){(0,o.default)(this,e),this.markers={STOP:[],FOLLOW:[],YIELD:[],OVERTAKE:[]},this.nudges=[],this.mainDecision=this.getMainDecision(),this.mainDecisionAddedToScene=!1}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n){var r=this;this.nudges.forEach(function(e){n.remove(e),e.geometry.dispose(),e.material.dispose()}),this.nudges=[];var i=e.mainStop;if(!d.default.options.showDecisionMain||ne.isEmpty(i))this.mainDecision.visible=!1;else{this.mainDecision.visible=!0,this.mainDecisionAddedToScene||(n.add(this.mainDecision),this.mainDecisionAddedToScene=!0),(0,ee.copyProperty)(this.mainDecision.position,t.applyOffset(new u.Vector3(i.positionX,i.positionY,.2))),this.mainDecision.rotation.set(Math.PI/2,i.heading-Math.PI/2,0);var o=ne.attempt(function(){return i.decision[0].stopReason});if(!ne.isError(o)&&o){var a=null;for(a in ie)this.mainDecision[a].visible=!1;this.mainDecision[o].visible=!0}}var s=e.object;if(d.default.options.showDecisionObstacle&&!ne.isEmpty(s)){for(var l={STOP:0,FOLLOW:0,YIELD:0,OVERTAKE:0},c=0;c=r.markers[o].length?(a=r.getObstacleDecision(o),r.markers[o].push(a),n.add(a)):a=r.markers[o][l[o]];var d=t.applyOffset(new u.Vector3(i.positionX,i.positionY,0));if(null===d)return\"continue\";if(a.position.set(d.x,d.y,.2),a.rotation.set(Math.PI/2,i.heading-Math.PI/2,0),a.visible=!0,l[o]++,\"YIELD\"===o||\"OVERTAKE\"===o){var h=a.connect;h.geometry.vertices[0].set(s[c].positionX-i.positionX,s[c].positionY-i.positionY,0),h.geometry.verticesNeedUpdate=!0,h.geometry.computeLineDistances(),h.geometry.lineDistancesNeedUpdate=!0,h.rotation.set(Math.PI/-2,0,Math.PI/2-i.heading)}}else if(\"NUDGE\"===o){var p=(0,te.drawShapeFromPoints)(t.applyOffsetToArray(i.polygonPoint),new u.MeshBasicMaterial({color:16744192}),!1,2);r.nudges.push(p),n.add(p)}})(h)}}var p=null;for(p in re)(0,ee.hideArrayObjects)(this.markers[p],l[p])}else{var m=null;for(m in re)(0,ee.hideArrayObjects)(this.markers[m])}}},{key:\"getMainDecision\",value:function(){var e=this.getFence(\"MAIN_STOP\"),t=null;for(t in ie){var n=(0,te.drawImage)(ie[t],1,1,4.1,3.5,0);e.add(n),e[t]=n}return e.visible=!1,e}},{key:\"getObstacleDecision\",value:function(e){var t=this.getFence(e);if(\"YIELD\"===e||\"OVERTAKE\"===e){var n=re[e],r=(0,te.drawDashedLineFromPoints)([new u.Vector3(1,1,0),new u.Vector3(0,0,0)],n,2,2,1,30);t.add(r),t.connect=r}return t.visible=!1,t}},{key:\"getFence\",value:function(e){var t=new u.Object3D;switch(e){case\"STOP\":var n=(0,te.drawImage)(E.default,11.625,3,0,1.5,0);t.add(n);var r=(0,te.drawImage)(m.default,1,1,3,3.6,0);t.add(r);break;case\"FOLLOW\":n=(0,te.drawImage)(k.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(v.default,1,1,3,3.6,0),t.add(r);break;case\"YIELD\":n=(0,te.drawImage)(P.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(b.default,1,1,3,3.6,0),t.add(r);break;case\"OVERTAKE\":n=(0,te.drawImage)(A.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(_.default,1,1,3,3.6,0),t.add(r);break;case\"MAIN_STOP\":n=(0,te.drawImage)(M.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(h.default,1,1,3,3.6,0),t.add(r)}return t}}]),e}();t.default=oe},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(32),h=function(){function e(){(0,o.default)(this,e),this.circle=null,this.base=null}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n){if(e.gps&&e.autoDrivingCar){if(!this.circle){var r=new u.MeshBasicMaterial({color:27391,transparent:!1,opacity:.5});this.circle=(0,f.drawCircle)(.2,r),n.add(this.circle)}this.base||(this.base=(0,f.drawSegmentsFromPoints)([new u.Vector3(3.89,-1.05,0),new u.Vector3(3.89,1.06,0),new u.Vector3(-1.04,1.06,0),new u.Vector3(-1.04,-1.05,0),new u.Vector3(3.89,-1.05,0)],27391,2,5),n.add(this.base));var i=d.default.options.showPositionGps,o=t.applyOffset({x:e.gps.positionX,y:e.gps.positionY,z:0});this.circle.position.set(o.x,o.y,o.z),this.circle.visible=i,this.base.position.set(o.x,o.y,o.z),this.base.rotation.set(0,0,e.gps.heading),this.base.visible=i}}}]),e}();t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(57),d=n(451),f=r(d),h=n(31),p=r(h),m=function(){function e(){var t=this;(0,o.default)(this,e),this.type=\"default\",this.loadedMap=null,this.updateMap=null,this.mesh=null,this.geometry=null,this.initialized=!1,(0,c.loadTexture)(f.default,function(e){t.geometry=new u.PlaneGeometry(1,1),t.mesh=new u.Mesh(t.geometry,new u.MeshBasicMaterial({map:e}))})}return(0,s.default)(e,[{key:\"initialize\",value:function(e){return!!this.mesh&&(!(this.loadedMap===this.updateMap&&!this.render(e))&&(this.initialized=!0,!0))}},{key:\"update\",value:function(e,t,n){var r=this;if(!0===this.initialized&&this.loadedMap!==this.updateMap){var i=this.titleCaseToSnakeCase(this.updateMap),o=\"http://\"+window.location.hostname+\":8888\",a=o+\"/assets/map_data/\"+i+\"/background.jpg\";(0,c.loadTexture)(a,function(e){console.log(\"updating ground image with \"+i),r.mesh.material.map=e,r.render(t,i)},function(e){console.log(\"using grid as ground image...\"),(0,c.loadTexture)(f.default,function(e){r.mesh.material.map=e,r.render(t)})}),this.loadedMap=this.updateMap}}},{key:\"updateImage\",value:function(e){this.updateMap=e}},{key:\"render\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"defaults\";console.log(\"rendering ground image...\");var n=p.default.ground[t],r=n.xres,i=n.yres,o=n.mpp,a=n.xorigin,s=n.yorigin,l=e.applyOffset({x:a,y:s});return null===l?(console.warn(\"Cannot find position for ground mesh!\"),!1):(\"defaults\"===t&&(l={x:0,y:0}),this.mesh.position.set(l.x,l.y,0),this.mesh.scale.set(r*o,i*o,1),this.mesh.material.needsUpdate=!0,this.mesh.overdraw=!1,!0)}},{key:\"titleCaseToSnakeCase\",value:function(e){return e.replace(/\\s/g,\"_\").toLowerCase()}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(108),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(17),h=n(32),p=n(426),m=r(p),g=n(427),v=r(g),y=n(428),b=r(y),x=n(429),w=r(x),M=n(57),S={YELLOW:14329120,WHITE:13421772,CORAL:16744272,RED:16737894,GREEN:25600,BLUE:3188223,PURE_WHITE:16777215,DEFAULT:12632256},E={x:.006,y:.006,z:.006},T={x:2,y:2,z:2},k=function(){function e(){(0,s.default)(this,e),(0,M.loadObject)(b.default,w.default,E),(0,M.loadObject)(m.default,v.default,T),this.hash=-1,this.data={},this.laneHeading={},this.overlapMap={},this.initialized=!1}return(0,u.default)(e,[{key:\"diffMapElements\",value:function(e,t){var n={},r=!0;for(var i in e)!function(i){n[i]=[];for(var o=e[i],a=t[i],s=0;s=2){var r=Math.atan2(t[n-1].y-t[0].y,t[n-1].x-t[0].x);return 1.5*Math.PI+r}return NaN}},{key:\"getSignalPositionAndHeading\",value:function(e,t){var n=[];if(e.subsignal.forEach(function(e){e.location&&n.push(e.location)}),0===n.length&&(console.warn(\"Subsignal locations not found, use signal boundary instead.\"),n.push(e.boundary.point)),0===n.length)return console.warn(\"Unable to determine signal location, skip.\"),null;var r=void 0,i=e.overlapId.length;if(i>0){var o=e.overlapId[i-1].id;r=this.laneHeading[this.overlapMap[o]]}if(r||(console.warn(\"Unable to get traffic light heading, use orthogonal direction of StopLine.\"),r=this.getHeadingFromStopLine(e)),isNaN(r))return console.error(\"Error loading traffic light. Unable to determine heading.\"),null;var a=new d.Vector3(0,0,0);return a.x=_.meanBy(_.values(n),function(e){return e.x}),a.y=_.meanBy(_.values(n),function(e){return e.y}),a=t.applyOffset(a),{pos:a,heading:r}}},{key:\"drawStopLine\",value:function(e,t,n,r){e.forEach(function(e){e.segment.forEach(function(e){var i=n.applyOffsetToArray(e.lineSegment.point),o=(0,h.drawSegmentsFromPoints)(i,S.PURE_WHITE,5,3,!1);r.add(o),t.push(o)})})}},{key:\"addTrafficLight\",value:function(e,t,n){var r=[],i=this.getSignalPositionAndHeading(e,t);return i&&(0,M.loadObject)(b.default,w.default,E,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:\"getStopSignPositionAndHeading\",value:function(e,t){var n=void 0;if(e.overlapId.length>0){var r=e.overlapId[0].id;n=this.laneHeading[this.overlapMap[r]]}if(n||(console.warn(\"Unable to get stop sign heading, use orthogonal direction of StopLine.\"),n=this.getHeadingFromStopLine(e)),isNaN(n))return console.error(\"Error loading traffic light. Unable to determine heading.\"),null;var i=e.stopLine[0].segment[0].lineSegment.point[0],o=new d.Vector3(i.x,i.y,0);return o=t.applyOffset(o),{pos:o,heading:n}}},{key:\"addStopSign\",value:function(e,t,n){var r=[],i=this.getStopSignPositionAndHeading(e,t);return i&&(0,M.loadObject)(m.default,v.default,T,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading+Math.PI/2,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:\"removeDrewObjects\",value:function(e,t){e&&e.forEach(function(e){t.remove(e),e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}},{key:\"removeExpiredElements\",value:function(e,t){var n=this,r={};for(var i in this.data)!function(i){r[i]=[];var o=n.data[i],a=e[i];o.forEach(function(e){a&&a.includes(e.id.id)?r[i].push(e):(n.removeDrewObjects(e.drewObjects,t),\"lane\"===i&&delete n.laneHeading[e.id.id])})}(i);this.data=r}},{key:\"appendMapData\",value:function(e,t,n){for(var r in e){this.data[r]||(this.data[r]=[]);for(var i=0;i.2&&(g-=.7)})}}))}},{key:\"getPredCircle\",value:function(){var e=new u.MeshBasicMaterial({color:16777215,transparent:!1,opacity:.5}),t=(0,h.drawCircle)(.2,e);return this.predCircles.push(t),t}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l),n(16)),c=r(u),d=n(32),f=(n(39),function(){function e(){(0,o.default)(this,e),this.routePaths=[],this.lastRoutingTime=-1}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n){var r=this;this.routePaths.forEach(function(e){e.visible=c.default.options.showRouting}),this.lastRoutingTime!==e.routingTime&&(this.lastRoutingTime=e.routingTime,this.routePaths.forEach(function(e){n.remove(e),e.material.dispose(),e.geometry.dispose()}),void 0!==e.routePath&&e.routePath.forEach(function(e){var i=t.applyOffsetToArray(e.point),o=(0,d.drawThickBandFromPoints)(i,.3,16711680,.6,5);o.visible=c.default.options.showRouting,n.add(o),r.routePaths.push(o)}))}}]),e}());t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l);n(473);var u=n(461),c=r(u),d=n(31),f=r(d),h=n(16),p=(r(h),n(17)),m=r(p),g=n(32),v=function(){function e(){(0,o.default)(this,e),this.routePoints=[],this.inEditingMode=!1}return(0,s.default)(e,[{key:\"isInEditingMode\",value:function(){return this.inEditingMode}},{key:\"enableEditingMode\",value:function(e,t){this.inEditingMode=!0;e.fov=f.default.camera.Map.fov,e.near=f.default.camera.Map.near,e.far=f.default.camera.Map.far,e.updateProjectionMatrix(),m.default.requestMapElementIdsByRadius(this.EDITING_MAP_RADIUS)}},{key:\"disableEditingMode\",value:function(e){this.inEditingMode=!1,this.removeAllRoutePoints(e)}},{key:\"addRoutingPoint\",value:function(e,t,n){var r=t.applyOffset({x:e.x,y:e.y}),i=(0,g.drawImage)(c.default,3.5,3.5,r.x,r.y,.3);this.routePoints.push(i),n.add(i)}},{key:\"removeLastRoutingPoint\",value:function(e){var t=this.routePoints.pop();t&&(e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose())}},{key:\"removeAllRoutePoints\",value:function(e){this.routePoints.forEach(function(t){e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}),this.routePoints=[]}},{key:\"sendRoutingRequest\",value:function(e,t){if(0===this.routePoints.length)return alert(\"Please provide at least an end point.\"),!1;var n=this.routePoints.map(function(e){return e.position.z=0,t.applyOffset(e.position,!0)}),r=n.length>1?n[0]:t.applyOffset(e,!0),i=n[n.length-1],o=n.length>1?n.slice(1,-1):[];return m.default.requestRoute(r,o,i),!0}}]),e}();t.default=v,v.prototype.EDITING_MAP_RADIUS=1500},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(39),d={},f=!1,h=new u.FontLoader,p=\"fonts/gentilis_bold.typeface.json\";h.load(p,function(e){d.gentilis_bold=e,f=!0},function(e){console.log(p+e.loaded/e.total*100+\"% loaded\")},function(e){console.log(\"An error happened when loading \"+p)});var m=function(){function e(){(0,o.default)(this,e),this.charMeshes={},this.charPointers={}}return(0,s.default)(e,[{key:\"reset\",value:function(){this.charPointers={}}},{key:\"composeText\",value:function(e){if(!f)return null;for(var t=c.map(e,function(e){return e.charCodeAt(0)-32}),n=new u.Object3D,r=0;r0?this.charMeshes[i][0].clone():this.drawChar3D(e[r]),this.charMeshes[i].push(a)),a.position.set(.4*(r-t.length/2),0,0),this.charPointers[i]++,n.add(a)}return n}},{key:\"drawChar3D\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.gentilis_bold,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16771584,o=new u.TextGeometry(e,{font:t,size:n,height:r}),a=new u.MeshBasicMaterial({color:i});return new u.Mesh(o,a)}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=new f.default(e);for(var r in t)n.delete(r);return n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=n(58),a=r(o),s=n(0),l=r(s),u=n(1),c=r(u),d=n(238),f=r(d),h=n(10),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(h),m=n(31),g=r(m),v=n(17),y=(r(v),n(57)),b=function(){function e(){(0,l.default)(this,e),this.mesh=!0,this.type=\"tile\",this.hash=-1,this.currentTiles={},this.initialized=!1,this.range=g.default.ground.tileRange,this.metadata=null,this.mapId=null,this.mapUrlPrefix=null}return(0,c.default)(e,[{key:\"initialize\",value:function(e,t){this.metadata={tileLength:t.tile*t.mpp,left:t.left,top:t.top,numCols:t.wnum,numRows:t.hnum,mpp:t.mpp,tile:t.tile,imageUrl:t.image_url},this.mapId=t.mapid,this.mapUrlPrefix=this.metadata.imageUrl?this.metadata.imageUrl+\"/\"+this.mapId:e+\"/map/getMapPic\",this.initialized=!0}},{key:\"removeDrewObject\",value:function(e,t){var n=this.currentTiles[e];n&&(t.remove(n),n.geometry&&n.geometry.dispose(),n.material&&n.material.dispose()),delete this.currentTiles[e]}},{key:\"appendTiles\",value:function(e,t,n,r,i){var o=this;if(!(t<0||t>this.metadata.numCols||e<0||e>this.metadata.numRows)){var a=this.metadata.imageUrl?this.mapUrlPrefix+\"/\"+this.metadata.mpp+\"_\"+e+\"_\"+t+\"_\"+this.metadata.tile+\".png\":this.mapUrlPrefix+\"?mapId=\"+this.mapId+\"&i=\"+e+\"&j=\"+t,s=r.applyOffset({x:this.metadata.left+(e+.5)*this.metadata.tileLength,y:this.metadata.top-(t+.5)*this.metadata.tileLength,z:0});(0,y.loadTexture)(a,function(e){var t=new p.Mesh(new p.PlaneGeometry(1,1),new p.MeshBasicMaterial({map:e}));t.position.set(s.x,s.y,s.z),t.scale.set(o.metadata.tileLength,o.metadata.tileLength,1),t.overdraw=!1,o.currentTiles[n]=t,i.add(t)})}}},{key:\"removeExpiredTiles\",value:function(e,t){for(var n in this.currentTiles)e.has(n)||this.removeDrewObject(n,t)}},{key:\"updateIndex\",value:function(e,t,n,r){if(e!==this.hash){this.hash=e,this.removeExpiredTiles(t,r);var o=i(t,this.currentTiles);if(!_.isEmpty(o)||!this.initialized){var s=!0,l=!1,u=void 0;try{for(var c,d=(0,a.default)(o);!(s=(c=d.next()).done);s=!0){var f=c.value;this.currentTiles[f]=null;var h=f.split(\",\"),p=parseInt(h[0]),m=parseInt(h[1]);this.appendTiles(p,m,f,n,r)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}}}},{key:\"update\",value:function(e,t,n){if(t.isInitialized()&&this.initialized){for(var r=e.autoDrivingCar.positionX,i=e.autoDrivingCar.positionY,o=Math.floor((r-this.metadata.left)/this.metadata.tileLength),a=Math.floor((this.metadata.top-i)/this.metadata.tileLength),s=new f.default,l=\"\",u=o-this.range;u<=o+this.range;u++)for(var c=a-this.range;c<=a+this.range;c++){var d=u+\",\"+c;s.add(d),l+=d}this.updateIndex(l,s,t,n)}}}]),e}();t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)return[];for(var n=[],r=0;r0){if(Math.abs(n[n.length-1].x-o.x)+Math.abs(n[n.length-1].y-o.y)1e-4?t.length/Math.tan(n):1e5;var i=t.heading,o=Math.abs(r),a=7200/(2*Math.PI*o)*Math.PI/180,s=null,l=null,u=null,c=null;r>=0?(u=Math.PI/2+i,c=i-Math.PI/2,s=0,l=a):(u=i-Math.PI/2,c=Math.PI/2+i,s=-a,l=0);var d=t.positionX+Math.cos(u)*o,f=t.positionY+Math.sin(u)*o,h=new v.EllipseCurve(d,f,o,o,s,l,!1,c);e.steerCurve=h.getPoints(25)}},{key:\"interpolateValueByCurrentTime\",value:function(e,t,n){if(\"timestampSec\"===n)return t;var r=e.map(function(e){return e.timestampSec}),i=e.map(function(e){return e[n]});return new v.LinearInterpolant(r,i,1,[]).evaluate(t)[0]}},{key:\"updateGraph\",value:function(e,t,n,r,i){var o=n.timestampSec,a=e.target.length>0&&o=80;if(a?(e.target=[],e.real=[],e.autoModeZone=[]):s&&(e.target.shift(),e.real.shift(),e.autoModeZone.shift()),0===e.target.length||o!==e.target[e.target.length-1].t){e.plan=t.map(function(e){return{x:e[r],y:e[i]}}),e.target.push({x:this.interpolateValueByCurrentTime(t,o,r),y:this.interpolateValueByCurrentTime(t,o,i),t:o}),e.real.push({x:n[r],y:n[i]});var l=\"DISENGAGE_NONE\"===n.disengageType;e.autoModeZone.push({x:n[r],y:l?n[i]:void 0})}}},{key:\"update\",value:function(e){var t=e.planningTrajectory,n=e.autoDrivingCar;t&&n&&(this.updateGraph(this.data.speedGraph,t,n,\"timestampSec\",\"speed\"),this.updateGraph(this.data.accelerationGraph,t,n,\"timestampSec\",\"speedAcceleration\"),this.updateGraph(this.data.curvatureGraph,t,n,\"timestampSec\",\"kappa\"),this.updateGraph(this.data.trajectoryGraph,t,n,\"positionX\",\"positionY\"),this.updateSteerCurve(this.data.trajectoryGraph,n),this.data.trajectoryGraph.pose[0].x=n.positionX,this.data.trajectoryGraph.pose[0].y=n.positionY,this.data.trajectoryGraph.pose[0].rotation=n.heading,this.updateTime(e.planningTime))}}]),e}(),s=o(a.prototype,\"lastUpdatedTime\",[g.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,\"updateTime\",[g.action],(0,d.default)(a.prototype,\"updateTime\"),a.prototype),a);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,m.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h,p=n(18),m=r(p),g=n(24),v=r(g),y=n(35),b=r(y),x=n(0),_=r(x),w=n(1),M=r(w),S=n(22),E=n(17),T=r(E),k=(a=function(){function e(){(0,_.default)(this,e),this.modes={},i(this,\"currentMode\",s,this),this.vehicles=[],i(this,\"currentVehicle\",l,this),this.maps=[],i(this,\"currentMap\",u,this),i(this,\"moduleStatus\",c,this),i(this,\"hardwareStatus\",d,this),i(this,\"enableStartAuto\",f,this),this.displayName={},i(this,\"dockerImage\",h,this)}return(0,M.default)(e,[{key:\"initialize\",value:function(e){var t=this;e.dockerImage&&(this.dockerImage=e.dockerImage),e.modes&&(this.modes=e.modes),this.vehicles=(0,b.default)(e.availableVehicles).sort().map(function(e){return e}),this.maps=(0,b.default)(e.availableMaps).sort().map(function(e){return e}),(0,b.default)(e.modules).forEach(function(n){t.moduleStatus.set(n,!1),t.displayName[n]=e.modules[n].displayName}),(0,b.default)(e.hardware).forEach(function(n){t.hardwareStatus.set(n,\"NOT_READY\"),t.displayName[n]=e.hardware[n].displayName})}},{key:\"updateStatus\",value:function(e){if(e.currentMode&&(this.currentMode=e.currentMode),e.currentMap&&(this.currentMap=e.currentMap),e.currentVehicle&&(this.currentVehicle=e.currentVehicle),e.systemStatus){if(e.systemStatus.modules)for(var t in e.systemStatus.modules)this.moduleStatus.set(t,e.systemStatus.modules[t].processStatus.running);if(e.systemStatus.hardware)for(var n in e.systemStatus.hardware)this.hardwareStatus.set(n,e.systemStatus.hardware[n].summary)}}},{key:\"update\",value:function(e){this.enableStartAuto=\"READY_TO_ENGAGE\"===e.engageAdvice}},{key:\"toggleModule\",value:function(e){this.moduleStatus.set(e,!this.moduleStatus.get(e));var t=this.moduleStatus.get(e)?\"start\":\"stop\";T.default.executeModuleCommand(e,t)}},{key:\"showRTKCommands\",get:function(){return\"RTK Record / Replay\"===this.currentMode}},{key:\"showNavigationMap\",get:function(){return\"Navigation\"===this.currentMode}}]),e}(),s=o(a.prototype,\"currentMode\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),l=o(a.prototype,\"currentVehicle\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),u=o(a.prototype,\"currentMap\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),c=o(a.prototype,\"moduleStatus\",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),d=o(a.prototype,\"hardwareStatus\",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),f=o(a.prototype,\"enableStartAuto\",[S.observable],{enumerable:!0,initializer:function(){return!1}}),h=o(a.prototype,\"dockerImage\",[S.observable],{enumerable:!0,initializer:function(){return\"\"}}),o(a.prototype,\"initialize\",[S.action],(0,v.default)(a.prototype,\"initialize\"),a.prototype),o(a.prototype,\"updateStatus\",[S.action],(0,v.default)(a.prototype,\"updateStatus\"),a.prototype),o(a.prototype,\"update\",[S.action],(0,v.default)(a.prototype,\"update\"),a.prototype),o(a.prototype,\"toggleModule\",[S.action],(0,v.default)(a.prototype,\"toggleModule\"),a.prototype),o(a.prototype,\"showRTKCommands\",[S.computed],(0,v.default)(a.prototype,\"showRTKCommands\"),a.prototype),o(a.prototype,\"showNavigationMap\",[S.computed],(0,v.default)(a.prototype,\"showNavigationMap\"),a.prototype),a);t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,b.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}function a(e){return 10*Math.round(e/10)}function s(e){switch(e){case\"DISENGAGE_MANUAL\":return\"MANUAL\";case\"DISENGAGE_NONE\":return\"AUTO\";case\"DISENGAGE_EMERGENCY\":return\"DISENGAGED\";case\"DISENGAGE_AUTO_STEER_ONLY\":return\"AUTO STEER\";case\"DISENGAGE_AUTO_SPEED_ONLY\":return\"AUTO SPEED\";case\"DISENGAGE_CHASSIS_ERROR\":return\"CHASSIS ERROR\";default:return\"?\"}}function l(e){return\"DISENGAGE_NONE\"===e||\"DISENGAGE_AUTO_STEER_ONLY\"===e||\"DISENGAGE_AUTO_SPEED_ONLY\"===e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var u,c,d,f,h,p,m,g,v,y=n(18),b=r(y),x=n(24),_=r(x),w=n(0),M=r(w),S=n(1),E=r(S),T=n(22),k=(u=function(){function e(){(0,M.default)(this,e),i(this,\"throttlePercent\",c,this),i(this,\"brakePercent\",d,this),i(this,\"speed\",f,this),i(this,\"steeringAngle\",h,this),i(this,\"steeringPercentage\",p,this),i(this,\"drivingMode\",m,this),i(this,\"isAutoMode\",g,this),i(this,\"turnSignal\",v,this)}return(0,E.default)(e,[{key:\"update\",value:function(e){e.autoDrivingCar&&(void 0!==e.autoDrivingCar.throttlePercentage&&(this.throttlePercent=a(e.autoDrivingCar.throttlePercentage)),void 0!==e.autoDrivingCar.brakePercentage&&(this.brakePercent=a(e.autoDrivingCar.brakePercentage)),void 0!==e.autoDrivingCar.speed&&(this.speed=e.autoDrivingCar.speed),void 0===e.autoDrivingCar.steeringPercentage||isNaN(e.autoDrivingCar.steeringPercentage)||(this.steeringPercentage=Math.round(e.autoDrivingCar.steeringPercentage)),void 0===e.autoDrivingCar.steeringAngle||isNaN(e.autoDrivingCar.steeringAngle)||(this.steeringAngle=-Math.round(180*e.autoDrivingCar.steeringAngle/Math.PI)),void 0!==e.autoDrivingCar.disengageType&&(this.drivingMode=s(e.autoDrivingCar.disengageType),this.isAutoMode=l(e.autoDrivingCar.disengageType)),void 0!==e.autoDrivingCar.currentSignal&&(this.turnSignal=e.autoDrivingCar.currentSignal))}}]),e}(),c=o(u.prototype,\"throttlePercent\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),d=o(u.prototype,\"brakePercent\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),f=o(u.prototype,\"speed\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),h=o(u.prototype,\"steeringAngle\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),p=o(u.prototype,\"steeringPercentage\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),m=o(u.prototype,\"drivingMode\",[T.observable],{enumerable:!0,initializer:function(){return\"?\"}}),g=o(u.prototype,\"isAutoMode\",[T.observable],{enumerable:!0,initializer:function(){return!1}}),v=o(u.prototype,\"turnSignal\",[T.observable],{enumerable:!0,initializer:function(){return\"\"}}),o(u.prototype,\"update\",[T.action],(0,_.default)(u.prototype,\"update\"),u.prototype),u);t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,d.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c=n(18),d=r(c),f=n(24),h=r(f),p=n(0),m=r(p),g=n(1),v=r(g),y=n(22),b=(a=function(){function e(){(0,m.default)(this,e),i(this,\"lastUpdateTimestamp\",s,this),i(this,\"hasActiveNotification\",l,this),i(this,\"items\",u,this),this.refreshTimer=null}return(0,v.default)(e,[{key:\"startRefresh\",value:function(){var e=this;this.clearRefreshTimer(),this.refreshTimer=setInterval(function(){Date.now()-e.lastUpdateTimestamp>6e3&&(e.setHasActiveNotification(!1),e.clearRefreshTimer())},500)}},{key:\"clearRefreshTimer\",value:function(){null!==this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}},{key:\"setHasActiveNotification\",value:function(e){this.hasActiveNotification=e}},{key:\"update\",value:function(e){if(e.monitor){var t=e.monitor,n=t.item,r=t.header,i=Math.floor(1e3*r.timestampSec);i>this.lastUpdateTimestamp&&(this.hasActiveNotification=!0,this.lastUpdateTimestamp=i,this.items.replace(n),this.startRefresh())}}},{key:\"insert\",value:function(e,t,n){var r=[];r.push({msg:t,logLevel:e});for(var i=0;i10||e<-10?100*e/Math.abs(e):e}},{key:\"extractDataPoints\",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!e)return[];var o=e.map(function(e){return{x:e[t]+i,y:e[n]}});return r&&e.length&&o.push({x:e[0][t],y:e[0][n]}),o}},{key:\"updateSLFrame\",value:function(e){var t=this.data.slGraph,n=e[0].sampledS;t.mapLowerBound=this.generateDataPoints(n,e[0].mapLowerBound,this.transformMapBound),t.mapUpperBound=this.generateDataPoints(n,e[0].mapUpperBound,this.transformMapBound),t.staticObstacleLowerBound=this.generateDataPoints(n,e[0].staticObstacleLowerBound),t.staticObstacleUpperBound=this.generateDataPoints(n,e[0].staticObstacleUpperBound),t.dynamicObstacleLowerBound=this.generateDataPoints(n,e[0].dynamicObstacleLowerBound),t.dynamicObstacleUpperBound=this.generateDataPoints(n,e[0].dynamicObstacleUpperBound),t.pathLine=this.extractDataPoints(e[0].slPath,\"s\",\"l\");var r=e[1].aggregatedBoundaryS;t.aggregatedBoundaryLow=this.generateDataPoints(r,e[1].aggregatedBoundaryLow),t.aggregatedBoundaryHigh=this.generateDataPoints(r,e[1].aggregatedBoundaryHigh)}},{key:\"updateSTGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.stGraph[a.name]={obstaclesBoundary:{}};var s=this.data.stGraph[a.name];if(a.boundary){var l=!0,u=!1,c=void 0;try{for(var d,f=(0,h.default)(a.boundary);!(l=(d=f.next()).done);l=!0){var p=d.value,m=p.type.substring(\"ST_BOUNDARY_TYPE_\".length),g=p.name+\"_\"+m;s.obstaclesBoundary[g]=this.extractDataPoints(p.point,\"t\",\"s\",!0)}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}s.curveLine=this.extractDataPoints(a.speedProfile,\"t\",\"s\"),a.kernelCruiseRef&&(s.kernelCruise=this.generateDataPoints(a.kernelCruiseRef.t,a.kernelCruiseRef.cruiseLineS)),a.kernelFollowRef&&(s.kernelFollow=this.generateDataPoints(a.kernelFollowRef.t,a.kernelFollowRef.followLineS))}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updateSTSpeedGraph\",value:function(e){var t=this,n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e);!(n=(o=a.next()).done);n=!0){var s=o.value;this.data.stSpeedGraph[s.name]={};var l=this.data.stSpeedGraph[s.name];l.limit=this.extractDataPoints(s.speedLimit,\"s\",\"v\"),l.planned=this.extractDataPoints(s.speedProfile,\"s\",\"v\"),s.speedConstraint&&function(){var e=s.speedProfile.map(function(e){return e.t}),n=s.speedProfile.map(function(e){return e.s}),r=new b.LinearInterpolant(e,n,1,[]),i=s.speedConstraint.t.map(function(e){return r.evaluate(e)[0]});l.lowerConstraint=t.generateDataPoints(i,s.speedConstraint.lowerBound),l.upperConstraint=t.generateDataPoints(i,s.speedConstraint.upperBound)}()}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}},{key:\"updateSpeed\",value:function(e,t){var n=this.data.speedGraph;if(e){var r=!0,i=!1,o=void 0;try{for(var a,s=(0,h.default)(e);!(r=(a=s.next()).done);r=!0){var l=a.value;n[l.name]=this.extractDataPoints(l.speedPoint,\"t\",\"v\")}}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}}t&&(n.finalSpeed=this.extractDataPoints(t,\"timestampSec\",\"speed\",!1,-this.planningTime))}},{key:\"updateAccelerationGraph\",value:function(e){var t=this.data.accelerationGraph;e&&(t.acceleration=this.extractDataPoints(e,\"timestampSec\",\"speedAcceleration\",!1,-this.planningTime))}},{key:\"updateKappaGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.kappaGraph[a.name]=this.extractDataPoints(a.pathPoint,\"s\",\"kappa\")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updateDkappaGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.dkappaGraph[a.name]=this.extractDataPoints(a.pathPoint,\"s\",\"dkappa\")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updadteLatencyGraph\",value:function(e,t){for(var n in this.latencyGraph){var r=this.latencyGraph[n];if(r.length>0){var i=r[0].x,o=r[r.length-1].x,a=e-i;e3e5&&r.shift()}0!==r.length&&r[r.length-1].x===e||r.push({x:e,y:t.planning})}}},{key:\"updateDpPolyGraph\",value:function(e){var t=this.data.dpPolyGraph;if(e.sampleLayer){t.sampleLayer=[];var n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e.sampleLayer);!(n=(o=a.next()).done);n=!0){o.value.slPoint.map(function(e){var n=e.s,r=e.l;t.sampleLayer.push({x:n,y:r})})}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}e.minCostPoint&&(t.minCostPoint=this.extractDataPoints(e.minCostPoint,\"s\",\"l\"))}},{key:\"update\",value:function(e){var t=e.planningData;if(t){if(this.planningTime===e.planningTime)return;this.data=this.initData(),t.slFrame&&t.slFrame.length>=2&&this.updateSLFrame(t.slFrame),t.stGraph&&(this.updateSTGraph(t.stGraph),this.updateSTSpeedGraph(t.stGraph)),t.speedPlan&&e.planningTrajectory&&this.updateSpeed(t.speedPlan,e.planningTrajectory),e.planningTrajectory&&this.updateAccelerationGraph(e.planningTrajectory),t.path&&(this.updateKappaGraph(t.path),this.updateDkappaGraph(t.path)),t.dpPolyGraph&&this.updateDpPolyGraph(t.dpPolyGraph),e.latency&&this.updadteLatencyGraph(e.planningTime,e.latency),this.updatePlanningTime(e.planningTime)}}}]),e}(),s=o(a.prototype,\"planningTime\",[y.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,\"updatePlanningTime\",[y.action],(0,d.default)(a.prototype,\"updatePlanningTime\"),a.prototype),a);t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,p.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h=n(18),p=r(h),m=n(24),g=r(m),v=n(0),y=r(v),b=n(1),x=r(b),_=n(22);n(476);var w=(a=function(){function e(){(0,y.default)(this,e),this.FPS=10,this.msPerFrame=100,this.jobId=null,this.mapId=null,i(this,\"numFrames\",s,this),i(this,\"requestedFrame\",l,this),i(this,\"retrievedFrame\",u,this),i(this,\"isPlaying\",c,this),i(this,\"isSeeking\",d,this),i(this,\"seekingFrame\",f,this)}return(0,x.default)(e,[{key:\"setMapId\",value:function(e){this.mapId=e}},{key:\"setJobId\",value:function(e){this.jobId=e}},{key:\"setNumFrames\",value:function(e){this.numFrames=parseInt(e)}},{key:\"setPlayRate\",value:function(e){if(\"number\"==typeof e&&e>0){var t=1/this.FPS*1e3;this.msPerFrame=t/e}}},{key:\"initialized\",value:function(){return this.numFrames&&null!==this.jobId&&null!==this.mapId}},{key:\"hasNext\",value:function(){return this.initialized()&&this.requestedFrame0&&e<=this.numFrames&&(this.seekingFrame=e,this.requestedFrame=e-1,this.isSeeking=!0)}},{key:\"resetFrame\",value:function(){this.requestedFrame=0,this.retrievedFrame=0,this.seekingFrame=1}},{key:\"shouldProcessFrame\",value:function(e){return!(!e||!e.sequenceNum||this.seekingFrame!==e.sequenceNum||!this.isPlaying&&!this.isSeeking)&&(this.retrievedFrame=e.sequenceNum,this.isSeeking=!1,this.seekingFrame++,!0)}},{key:\"currentFrame\",get:function(){return this.retrievedFrame}},{key:\"replayComplete\",get:function(){return this.seekingFrame>this.numFrames}}]),e}(),s=o(a.prototype,\"numFrames\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),l=o(a.prototype,\"requestedFrame\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),u=o(a.prototype,\"retrievedFrame\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),c=o(a.prototype,\"isPlaying\",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=o(a.prototype,\"isSeeking\",[_.observable],{enumerable:!0,initializer:function(){return!0}}),f=o(a.prototype,\"seekingFrame\",[_.observable],{enumerable:!0,initializer:function(){return 1}}),o(a.prototype,\"next\",[_.action],(0,g.default)(a.prototype,\"next\"),a.prototype),o(a.prototype,\"currentFrame\",[_.computed],(0,g.default)(a.prototype,\"currentFrame\"),a.prototype),o(a.prototype,\"replayComplete\",[_.computed],(0,g.default)(a.prototype,\"replayComplete\"),a.prototype),o(a.prototype,\"setPlayAction\",[_.action],(0,g.default)(a.prototype,\"setPlayAction\"),a.prototype),o(a.prototype,\"seekFrame\",[_.action],(0,g.default)(a.prototype,\"seekFrame\"),a.prototype),o(a.prototype,\"resetFrame\",[_.action],(0,g.default)(a.prototype,\"resetFrame\"),a.prototype),o(a.prototype,\"shouldProcessFrame\",[_.action],(0,g.default)(a.prototype,\"shouldProcessFrame\"),a.prototype),a);t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,c.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u=n(18),c=r(u),d=n(24),f=r(d),h=n(0),p=r(h),m=n(1),g=r(m),v=n(22),y=n(40),b=r(y),x=(a=function(){function e(){(0,p.default)(this,e),i(this,\"defaultRoutingEndPoint\",s,this),i(this,\"currentPOI\",l,this)}return(0,g.default)(e,[{key:\"updateDefaultRoutingEndPoint\",value:function(e){if(void 0!==e.poi){this.defaultRoutingEndPoint={};for(var t=0;t150&&console.log(\"Last sim_world_update took \"+(e.timestamp-this.lastUpdateTimestamp)+\"ms\"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.world.sequenceNum>this.lastSeqNum+1&&console.debug(\"Last seq: \"+this.lastSeqNum+\". New seq: \"+e.world.sequenceNum+\".\"),this.lastSeqNum=e.world.sequenceNum}},{key:\"startPlayback\",value:function(e){var t=this;clearInterval(this.requestTimer),this.requestTimer=setInterval(function(){t.websocket.readyState===t.websocket.OPEN&&f.default.playback.initialized()&&(t.requestSimulationWorld(f.default.playback.jobId,f.default.playback.next()),f.default.playback.hasNext()||(clearInterval(t.requestTimer),t.requestTimer=null))},e/2),clearInterval(this.processTimer),this.processTimer=setInterval(function(){if(f.default.playback.initialized()){var e=100*f.default.playback.seekingFrame;e in t.frameData&&t.processSimWorld(t.frameData[e]),f.default.playback.replayComplete&&(clearInterval(t.processTimer),t.processTimer=null)}},e)}},{key:\"pausePlayback\",value:function(){clearInterval(this.requestTimer),clearInterval(this.processTimer),this.requestTimer=null,this.processTimer=null}},{key:\"requestGroundMeta\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveGroundMeta\",mapId:e}))}},{key:\"processSimWorld\",value:function(e){var t=\"string\"==typeof e.world?JSON.parse(e.world):e.world;f.default.playback.shouldProcessFrame(t)&&(f.default.updateTimestamp(e.timestamp),p.default.maybeInitializeOffest(t.autoDrivingCar.positionX,t.autoDrivingCar.positionY),p.default.updateWorld(t,e.planningData),f.default.meters.update(t),f.default.monitor.update(t),f.default.trafficSignal.update(t))}},{key:\"requstFrameCount\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveFrameCount\",jobId:e}))}},{key:\"requestSimulationWorld\",value:function(e,t){var n=100*t;n in this.frameData?f.default.playback.isSeeking&&this.processSimWorld(this.frameData[n]):this.websocket.send((0,o.default)({type:\"RequestSimulationWorld\",jobId:e,frameId:t}))}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(70),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(16),d=r(c),f=n(40),h=r(f),p=n(136),m=p.Root.fromJSON(n(479)),g=m.lookupType(\"apollo.dreamview.SimulationWorld\"),v=function(){function e(t){(0,s.default)(this,e),this.serverAddr=t,this.websocket=null,this.counter=0,this.lastUpdateTimestamp=0,this.lastSeqNum=-1,this.currMapRadius=null,this.updatePOI=!0}return(0,u.default)(e,[{key:\"initialize\",value:function(){var e=this;this.counter=0;try{this.websocket=new WebSocket(this.serverAddr),this.websocket.binaryType=\"arraybuffer\"}catch(t){return console.error(\"Failed to establish a connection: \"+t),void setTimeout(function(){e.initialize()},1e3)}this.websocket.onmessage=function(t){var n=null;switch(\"string\"==typeof t.data?n=JSON.parse(t.data):(n=g.toObject(g.decode(new Uint8Array(t.data)),{enums:String}),n.type=\"SimWorldUpdate\"),n.type){case\"HMIConfig\":d.default.hmi.initialize(n.data);break;case\"HMIStatus\":d.default.hmi.updateStatus(n.data),h.default.updateGroundImage(d.default.hmi.currentMap);break;case\"SimWorldUpdate\":e.checkMessage(n),d.default.updateTimestamp(n.timestamp),d.default.updateModuleDelay(n),h.default.maybeInitializeOffest(n.autoDrivingCar.positionX,n.autoDrivingCar.positionY),d.default.meters.update(n),d.default.monitor.update(n),d.default.trafficSignal.update(n),d.default.hmi.update(n),h.default.updateWorld(n),d.default.options.showPNCMonitor&&(d.default.planningData.update(n),d.default.controlData.update(n)),n.mapHash&&e.counter%10==0&&(e.counter=0,e.currMapRadius=n.mapRadius,h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius)),e.counter+=1;break;case\"MapElementIds\":h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius);break;case\"DefaultEndPoint\":d.default.routeEditingManager.updateDefaultRoutingEndPoint(n)}},this.websocket.onclose=function(t){console.log(\"WebSocket connection closed, close_code: \"+t.code),e.initialize()},clearInterval(this.timer),this.timer=setInterval(function(){if(e.websocket.readyState===e.websocket.OPEN){e.updatePOI&&(e.requestDefaultRoutingEndPoint(),e.updatePOI=!1);var t=d.default.options.showPNCMonitor;e.websocket.send((0,o.default)({type:\"RequestSimulationWorld\",planning:t}))}},100)}},{key:\"checkMessage\",value:function(e){0!==this.lastUpdateTimestamp&&e.timestamp-this.lastUpdateTimestamp>150&&console.log(\"Last sim_world_update took \"+(e.timestamp-this.lastUpdateTimestamp)+\"ms\"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.sequenceNum>this.lastSeqNum+1&&console.debug(\"Last seq: \"+this.lastSeqNum+\". New seq: \"+e.sequenceNum+\".\"),this.lastSeqNum=e.sequenceNum}},{key:\"requestMapElementIdsByRadius\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveMapElementIdsByRadius\",radius:e}))}},{key:\"requestRoute\",value:function(e,t,n){this.websocket.send((0,o.default)({type:\"SendRoutingRequest\",start:e,end:n,waypoint:t}))}},{key:\"requestDefaultRoutingEndPoint\",value:function(){this.websocket.send((0,o.default)({type:\"GetDefaultEndPoint\"}))}},{key:\"resetBackend\",value:function(){this.websocket.send((0,o.default)({type:\"Reset\"}))}},{key:\"dumpMessages\",value:function(){this.websocket.send((0,o.default)({type:\"Dump\"}))}},{key:\"changeSetupMode\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeMode\",new_mode:e}))}},{key:\"changeMap\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeMap\",new_map:e})),this.updatePOI=!0}},{key:\"changeVehicle\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeVehicle\",new_vehicle:e}))}},{key:\"executeModeCommand\",value:function(e){this.websocket.send((0,o.default)({type:\"ExecuteModeCommand\",command:e}))}},{key:\"executeModuleCommand\",value:function(e,t){this.websocket.send((0,o.default)({type:\"ExecuteModuleCommand\",module:e,command:t}))}},{key:\"executeToolCommand\",value:function(e,t){this.websocket.send((0,o.default)({type:\"ExecuteToolCommand\",tool:e,command:t}))}},{key:\"changeDrivingMode\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeDrivingMode\",new_mode:e}))}},{key:\"submitDriveEvent\",value:function(e,t){this.websocket.send((0,o.default)({type:\"SubmitDriveEvent\",event_time_ms:e,event_msg:t}))}},{key:\"toggleSimControl\",value:function(e){this.websocket.send((0,o.default)({type:\"ToggleSimControl\",enable:e}))}}]),e}();t.default=v},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'body{margin:0;overflow:hidden;background-color:#14171a!important;font:14px Lucida Grande,Helvetica,Arial,sans-serif;color:#fff}::-webkit-scrollbar{width:4px;height:8px;opacity:.3;background-color:#fff}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}::-webkit-scrollbar-thumb{opacity:.8;background-color:#30a5ff}::-webkit-scrollbar-thumb:active{background-color:#30a5ff}.header{display:flex;align-items:center;z-index:100;position:relative;top:0;left:0;height:60px;background:#000;color:#fff;font-size:16px;text-align:left}@media (max-height:800px){.header{height:55px;font-size:14px}}.header .apollo-logo{flex:0 0 auto;top:40px;left:40px;height:40px;width:121px;margin:10px auto 5px 18px}@media (max-height:800px){.header .apollo-logo{top:15px;left:25px;height:25px;width:80px;margin-top:5px}}.header .selector{flex:0 0 auto;position:relative;margin:5px;border:1px solid #383838}.header .selector select{display:block;border:none;padding:.5em 3em .5em .5em;background:#000;color:#fff;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header .selector .arrow{position:absolute;top:0;right:0;width:30px;height:100%;border-left:1px solid #383838;background:#181818;pointer-events:none}.header .selector .arrow:before{position:absolute;top:55%;right:7px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:\"\";pointer-events:none}.pane-container{position:absolute;width:100%;height:calc(100% - 60px)}@media (max-height:800px){.pane-container{height:calc(100% - 55px)}}.pane-container .left-pane{display:flex;flex-flow:row nowrap;align-items:stretch;position:absolute;bottom:0;top:0;width:100%}.pane-container .left-pane .dreamview-body{display:flex;flex-flow:column nowrap;flex:1 1 auto;overflow:hidden}.pane-container .left-pane .dreamview-body .main-view{flex:0 0 auto;position:relative}.pane-container .right-pane{position:absolute;right:0;width:100%;height:100%;overflow:hidden}.pane-container .right-pane ::-webkit-scrollbar{width:6px}.pane-container .SplitPane .Resizer{background:#000;opacity:.2;z-index:1;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-background-clip:padding;-webkit-background-clip:padding;background-clip:padding-box}.pane-container .SplitPane .Resizer:hover{-webkit-transition:all 2s ease;transition:all 2s ease}.pane-container .SplitPane .Resizer.vertical{width:11px;margin:0 -5px;border-left:5px solid hsla(0,0%,100%,0);border-right:5px solid hsla(0,0%,100%,0);cursor:col-resize}.pane-container .SplitPane .Resizer.vertical:hover{border-left:5px solid rgba(0,0,0,.5);border-right:5px solid rgba(0,0,0,.5)}.pane-container .SplitPane .Resizer.disabled{cursor:auto}.pane-container .SplitPane .Resizer.disabled:hover{border-color:transparent}.offlineview{display:flex;flex-flow:column nowrap;position:absolute;width:100%;height:100%}.offlineview .main-view{flex:0 0 auto;position:relative}.dreamview-canvas{z-index:1;position:absolute}.dreamview-canvas .geolocation{z-index:10;position:absolute;bottom:10px;right:10px;color:#fff}.hidden{display:none}.tools{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;margin-top:3px;overflow:hidden}.tools .card{flex:1 1 auto;border-right:3px solid #000;padding:25px 10px 25px 20px;background:#1d2226}@media (max-height:800px){.tools .card{padding:15px 5px 15px 15px}}.tools .card .card-header{width:100%;padding-bottom:15px;font-size:18px}.tools .card .card-header span{width:200px;border-bottom:1px solid #999;padding:10px 10px 10px 0}@media (max-height:800px){.tools .card .card-header{font-size:16px}}.tools .card .card-content-row{display:flex;flex-flow:row wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;height:85%}.tools .card .card-content-column{display:flex;flex-flow:column nowrap;overflow-x:hidden;overflow-y:auto;height:85%}.tools ul{flex:0 0 auto;margin:0 2px 0 0;padding-left:0;padding-right:5px;background-color:#1d2226;color:#999;list-style:none;cursor:pointer;font-size:12px}.tools ul li{line-height:40px}.tools ul li span{padding-left:20px}.tools ul li:hover{color:#fff;background-color:#2a3238}.tools .switch{display:inline-block;position:relative;width:40px;transform:translate(35%,25%)}.tools .switch .toggle-switch{display:none}.tools .switch .toggle-switch-label{display:block;overflow:hidden;cursor:pointer;height:20px;padding:0;line-height:20px;border:0;background-color:#3f4548;transition:background-color .2s ease-in}.tools .switch .toggle-switch-label:before{content:\"\";display:block;width:16px;margin:2px;background:#a0a0a0;position:absolute;top:0;bottom:0;right:20px;transition:all .2s ease-in}.tools .switch .toggle-switch:checked+.toggle-switch-label{background-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label,.tools .switch .toggle-switch:checked+.toggle-switch-label:before{border-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label:before{right:0;background-color:#30a5ff}.tools .switch .toggle-switch:disabled+.toggle-switch-label,.tools .switch .toggle-switch:disabled+.toggle-switch-label:before{cursor:not-allowed}.tools .nav-side-menu{display:flex;flex-flow:row nowrap;align-items:stretch;flex:2 1 auto;z-index:10!important;margin-right:3px;overflow-y:hidden;overflow-x:auto;background:#1d2226;font-size:14px;color:#fff;text-align:left;white-space:nowrap}.tools .nav-side-menu .summary{line-height:50px}@media (max-height:800px){.tools .nav-side-menu .summary{line-height:25px}}.tools .nav-side-menu .summary img{position:relative;width:30px;height:30px;transform:translate(-30%,25%)}@media (max-height:800px){.tools .nav-side-menu .summary img{width:15px;height:15px;transform:translate(-50%,10%)}}.tools .nav-side-menu .summary span{padding-left:10px}.tools .nav-side-menu input[type=radio]{display:none}.tools .nav-side-menu .radio-selector-label{display:inline-block;position:relative;transform:translate(65%,30%);box-sizing:border-box;-webkit-box-sizing:border-box;width:25px;height:25px;margin-right:6px;border-radius:50%;-webkit-border-radius:50%;background-color:#a0a0a0;box-shadow:inset 1px 0 #a0a0a0;border:7px solid #3f4548}.tools .nav-side-menu input[type=radio]:checked+.radio-selector-label{border:7px solid #0e3d62;background-color:#30a5ff}.tools .console{z-index:10;position:relative;min-width:230px;margin:0;border:none;padding:0;overflow-y:auto;overflow-x:hidden}.tools .console .monitor-item{display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default}.tools .console .monitor-item .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.tools .console .monitor-item .icon{height:15px;width:15px}}.tools .console .monitor-item .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.tools .console .monitor-item .alert{color:#d7466f}.tools .console .monitor-item .warn{color:#a3842d}.tools .poi-button{min-width:250px}.side-bar{display:flex;flex-direction:column;flex:0 0 auto;z-index:100;background:#1d2226;border-right:3px solid #000;overflow-y:auto;overflow-x:hidden}.side-bar .main-panel{margin-bottom:auto}.side-bar button:focus{outline:0}.side-bar .button{display:block;width:90px;border:none;padding:20px 10px;font-size:14px;text-align:center;background:#1d2226;color:#fff;opacity:.6;cursor:pointer}@media (max-height:800px){.side-bar .button{font-size:12px;width:80px;padding-top:10px}}.side-bar .button .icon{width:30px;height:30px;margin:auto}.side-bar .button .label{padding-top:10px}@media (max-height:800px){.side-bar .button .label{padding-top:4px}}.side-bar .button:first-child{padding-top:25px}@media (max-height:800px){.side-bar .button:first-child{padding-top:10px}}.side-bar .button:disabled{color:#414141;cursor:not-allowed}.side-bar .button:disabled .icon{opacity:.2}.side-bar .button-active{background:#2a3238;opacity:1;color:#fff}.side-bar .sub-button{display:block;width:90px;height:80px;border:none;padding:20px;font-size:14px;text-align:center;background:#3e4041;color:#999;cursor:pointer}@media (max-height:800px){.side-bar .sub-button{font-size:12px;width:80px;height:60px}}.side-bar .sub-button:disabled{cursor:not-allowed;opacity:.3}.side-bar .sub-button-active{background:#30a5ff;color:#fff}.status-bar{z-index:10;position:absolute;top:0;left:0;width:100%}.status-bar .auto-meter{position:absolute;width:224px;height:112px;top:10px;right:20px;background:rgba(0,0,0,.8)}.status-bar .auto-meter .speed-read{position:absolute;top:27px;left:15px;font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .auto-meter .speed-unit{position:absolute;top:66px;left:17px;color:#fff;font-size:15px}.status-bar .auto-meter .brake-panel{position:absolute;top:21px;right:2px}.status-bar .auto-meter .throttle-panel{position:absolute;top:61px;right:2px}.status-bar .auto-meter .meter-container .meter-label{font-size:13px;color:#fff}.status-bar .auto-meter .meter-container .meter-head{display:inline-block;position:absolute;margin:5px 0 0;border-width:4px;border-style:solid}.status-bar .auto-meter .meter-container .meter-background{position:relative;display:block;height:2px;width:120px;margin:8px}.status-bar .auto-meter .meter-container .meter-background span{position:relative;overflow:hidden;display:block;height:100%}.status-bar .wheel-panel{display:flex;flex-direction:row;justify-content:left;align-items:center;position:absolute;top:128px;right:20px;width:187px;height:92px;padding:10px 22px 10px 15px;background:rgba(0,0,0,.8)}.status-bar .wheel-panel .steerangle-read{font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .wheel-panel .steerangle-unit{padding:20px 10px 0 3px;color:#fff;font-size:13px}.status-bar .wheel-panel .left-arrow{position:absolute;top:45px;right:115px;width:0;height:0;border-style:solid;border-width:12px 15px 12px 0;border-color:transparent}.status-bar .wheel-panel .right-arrow{position:absolute;top:45px;right:15px;width:0;height:0;border-style:solid;border-width:12px 0 12px 15px;border-color:transparent transparent transparent #30435e}.status-bar .wheel-panel .wheel{position:absolute;top:15px;right:33px}.status-bar .wheel-panel .wheel-background{stroke-width:3px;stroke:#006aff}.status-bar .wheel-panel .wheel-arm{stroke-width:3px;stroke:#006aff;fill:#006aff}.status-bar .traffic-light-and-driving-mode{position:absolute;top:246px;right:20px;width:224px;height:35px;font-size:14px}.status-bar .traffic-light-and-driving-mode .traffic-light{position:absolute;width:116px;height:35px;background:rgba(0,0,0,.8)}.status-bar .traffic-light-and-driving-mode .traffic-light .symbol{position:relative;top:4px;left:4px;width:28px;height:28px}.status-bar .traffic-light-and-driving-mode .traffic-light .text{position:absolute;top:10px;right:8px;color:#fff}.status-bar .traffic-light-and-driving-mode .driving-mode{position:absolute;top:0;right:0;width:105px;height:35px}.status-bar .traffic-light-and-driving-mode .driving-mode .text{position:absolute;top:50%;left:50%;float:right;transform:translate(-50%,-50%);text-align:center}.status-bar .traffic-light-and-driving-mode .auto-mode{background:linear-gradient(90deg,rgba(17,30,48,.8),rgba(7,42,94,.8));border-right:1px solid #006aff;color:#006aff}.status-bar .traffic-light-and-driving-mode .manual-mode{background:linear-gradient(90deg,rgba(30,17,17,.8),rgba(71,36,36,.8));color:#b43131;border-right:1px solid #b43131}.status-bar .notification-warn{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #a3842d;background-color:rgba(52,39,5,.3)}.status-bar .notification-warn .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-warn .icon{height:15px;width:15px}}.status-bar .notification-warn .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-warn .alert{color:#d7466f}.status-bar .notification-warn .warn{color:#a3842d}.status-bar .notification-alert{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #d7466f;background-color:rgba(74,5,24,.3)}.status-bar .notification-alert .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-alert .icon{height:15px;width:15px}}.status-bar .notification-alert .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-alert .alert{color:#d7466f}.status-bar .notification-alert .warn{color:#a3842d}.tasks{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.tasks .command-group{display:flex;flex-flow:row nowrap;justify-content:flex-start;flex:1 1 0;min-height:45px;min-width:130px}.tasks .command-group .name{width:40px;padding:15px}.tasks .start-auto-command{flex:2 2 0}.tasks .start-auto-command .start-auto-button{max-height:unset}.tasks .others{min-width:165px;max-width:260px}.tasks .delay{min-width:265px;line-height:26px}.tasks .delay .delay-item{position:relative;margin:0 10px;font-size:16px}.tasks .delay .delay-item .name{display:inline-block;min-width:140px;color:#1c9063}.tasks .delay .delay-item .value{display:inline-block;position:absolute;right:0;min-width:70px;text-align:right}.tasks button{flex:1 1 0;margin:5px;border:0;min-width:75px;min-height:40px;max-height:60px;color:#999;border-bottom:2px solid #1c9063;background:linear-gradient(#000,#111f1d);outline:none;cursor:pointer}.tasks button:hover{color:#fff;background:#151e1b}.tasks button:active{background:rgba(35,51,45,.6)}.tasks button:disabled{color:#999;border-color:#555;background:linear-gradient(rgba(0,0,0,.8),rgba(9,17,16,.8));cursor:not-allowed}.tasks .disabled{cursor:not-allowed}.module-controller{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow:hidden}.module-controller .controller{min-width:180px}.module-controller .modules-container{flex-flow:column wrap}.module-controller .status-display{min-width:250px;padding:5px 20px 5px 5px}.module-controller .status-display .name{display:inline-block;padding:10px;min-width:80px}.module-controller .status-display .status{display:inline-block;position:relative;width:130px;padding:10px;background:#000;white-space:nowrap}.module-controller .status-display .status .status-icon{position:absolute;right:10px;width:15px;height:15px;background-color:#b43131}.route-editing-bar{z-index:10;position:absolute;top:0;left:0;right:0;min-height:90px;border-bottom:3px solid #000;padding-left:10px;background:#1d2226}@media (max-height:800px){.route-editing-bar{min-height:60px}}.route-editing-bar .editing-panel{display:flex;justify-content:center;align-items:center;overflow:hidden;white-space:nowrap}.route-editing-bar .editing-panel .button{height:90px;border:none;padding:10px 15px;background:#1d2226;outline:none;color:#999}@media (max-height:800px){.route-editing-bar .editing-panel .button{height:60px;padding:5px 10px}}.route-editing-bar .editing-panel .button img{display:block;top:23px;margin:15px auto}@media (max-height:800px){.route-editing-bar .editing-panel .button img{top:13px;margin:7px auto}}.route-editing-bar .editing-panel .button span{font-family:PingFangSC-Light;font-size:14px;color:#d8d8d8;text-align:center}@media (max-height:800px){.route-editing-bar .editing-panel .button span{font-size:12px}}.route-editing-bar .editing-panel .button:hover{background:#2a3238}.route-editing-bar .editing-panel .active{color:#fff;background:#2a3238}.route-editing-bar .editing-panel .editing-tip{height:90px;width:90px;margin-left:auto;border:none;color:#d8d8d8;font-size:35px}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip{height:60px;width:60px;font-size:20px}}.route-editing-bar .editing-panel .editing-tip p{position:absolute;top:120%;right:15px;width:400px;border-radius:3px;padding:20px;background-color:#fff;color:#999;font-size:14px;text-align:left;white-space:pre-wrap}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p{right:5px}}.route-editing-bar .editing-panel .editing-tip p:before{position:absolute;top:-20px;right:13px;content:\"\";border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #fff}@-moz-document url-prefix(){.route-editing-bar .editing-panel .editing-tip p:before{top:-38px}}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p:before{right:8px}}.data-recorder{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.data-recorder .drive-event-card table{width:100%;text-align:center}.data-recorder .drive-event-card .drive-event-msg{width:100%}.data-recorder .drive-event-card .toolbar button{width:200px}.loader{flex:0 0 auto;position:relative;width:100%;height:100%;background-color:#000c17}.loader .img-container{position:relative;top:50%;left:50%;width:40%;transform:translate(-50%,-50%)}.loader .img-container img{width:100%;height:auto}.loader .img-container .status-message{margin-top:10px;font-size:18px;font-size:1.7vw;color:#fff;text-align:center;animation-name:flash;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:running}@keyframes flash{0%{color:#fff}to{color:#000c17}}.loader .offline-loader{width:60%;max-width:650px}.loader .offline-loader .status-message{position:relative;top:-70px;top:-4.5vw;font-size:3vw}.video{z-index:1;position:absolute;top:0;left:0}.video img{position:relative;min-width:100px;min-height:20px;max-width:380px;max-height:300px;padding:1px;border:1px solid #383838}@media (max-height:800px){.video img{max-width:300px;max-height:200px}}.dashcam-player{z-index:1;position:absolute;top:0;left:0;color:#fff}.dashcam-player video{max-width:380px;max-height:300px}@media (max-height:800px){.dashcam-player video{max-width:300px;max-height:200px}}.dashcam-player .controls{display:flex;justify-content:flex-end;z-index:10;position:absolute;right:0}.dashcam-player .controls button{width:27px;height:27px;border:none;background-color:#000;opacity:.6;color:#fff}.dashcam-player .controls button img{width:15px}.dashcam-player .controls button:hover{opacity:.9}.dashcam-player .controls .close{font-size:20px}.dashcam-player .controls .syncup{padding-top:.5em}.pnc-monitor{height:100%;border:1px solid #000;box-sizing:border-box;background-color:#1d2226;overflow:auto}.pnc-monitor .scatter-graph{margin:0;border:1px #000;border-style:solid none}.pnc-monitor .react-tabs__tab-list{display:table;width:100%;margin:0;border-bottom:1px solid #000;padding:0}.pnc-monitor .react-tabs__tab{display:table-cell;position:relative;border:1px solid transparent;border-bottom:none;padding:6px 12px;background:#1d2226;color:#999;list-style:none;cursor:pointer}.pnc-monitor .react-tabs__tab--selected{background:#2a3238;color:#fff}.pnc-monitor .react-tabs__tab-panel{display:none}.pnc-monitor .react-tabs__tab-panel--selected{display:block}',\"\"])},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'.playback-controls{z-index:100;position:absolute;width:100%;height:40px;bottom:0;background:#1d2226;font-size:16px;min-width:550px}@media (max-height:800px){.playback-controls{font-size:14px}}.playback-controls .icon{display:inline-block;width:20px;height:20px;padding:10px;cursor:pointer}.playback-controls .icon .play{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#1d2226}.playback-controls .icon .pause,.playback-controls .icon .replay{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#006aff}.playback-controls .icon .replay{top:2px}.playback-controls .icon .exit-fullscreen,.playback-controls .icon .fullscreen{stroke-linejoin:round;stroke-width:10px;stroke:#006aff;fill:#1d2226}.playback-controls .left-controls{display:inline-block;float:left}.playback-controls .right-controls{display:inline-block;float:right}.playback-controls .rate-selector{position:absolute;left:40px}.playback-controls .rate-selector select{display:block;border:none;padding:11px 23px 0 5px;color:#fff;background:#1d2226;outline:none;cursor:pointer;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.playback-controls .rate-selector .arrow{position:absolute;top:5px;right:0;width:10px;height:100%;pointer-events:none}.playback-controls .rate-selector .arrow:before{position:absolute;top:16px;right:1px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:\"\";pointer-events:none}.playback-controls .time-controls{position:absolute;min-width:300px;height:100%;left:125px;right:50px}.playback-controls .time-controls .rangeslider{position:absolute;top:7px;left:10px;right:115px;margin:10px 0;height:7px;border-radius:10px;background:#2d3b50;-ms-touch-action:none;touch-action:none}.playback-controls .time-controls .rangeslider .rangeslider__fill{display:block;height:100%;border-radius:10px;background-color:#006aff;background:#006aff}.playback-controls .time-controls .rangeslider .rangeslider__handle{display:inline-block;position:absolute;height:16px;width:16px;top:50%;transform:translate3d(-50%,-50%,0);border:1px solid #006aff;border-radius:100%;background:#006aff;cursor:pointer;box-shadow:none}.playback-controls .time-controls .time-display{position:absolute;top:12px;right:0;color:#fff}',\"\"])},function(e,t,n){\"use strict\";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&\"=\"===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var i=new Array(64),o=new Array(123),a=0;a<64;)o[i[a]=a<26?a+65:a<52?a+71:a<62?a-4:a-59|43]=a++;r.encode=function(e,t,n){for(var r,o=null,a=[],s=0,l=0;t>2],r=(3&u)<<4,l=1;break;case 1:a[s++]=i[r|u>>4],r=(15&u)<<2,l=2;break;case 2:a[s++]=i[r|u>>6],a[s++]=i[63&u],l=0}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0)}return l&&(a[s++]=i[r],a[s++]=61,1===l&&(a[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join(\"\")):String.fromCharCode.apply(String,a.slice(0,s))};r.decode=function(e,t,n){for(var r,i=n,a=0,s=0;s1)break;if(void 0===(l=o[l]))throw Error(\"invalid encoding\");switch(a){case 0:r=l,a=1;break;case 1:t[n++]=r<<2|(48&l)>>4,r=l,a=2;break;case 2:t[n++]=(15&r)<<4|(60&l)>>2,r=l,a=3;break;case 3:t[n++]=(3&r)<<6|l,a=0}}if(1===a)throw Error(\"invalid encoding\");return n-i},r.test=function(e){return/^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(e)}},function(e,t,n){\"use strict\";function r(e,t){function n(e){if(\"string\"!=typeof e){var t=i();if(r.verbose&&console.log(\"codegen: \"+t),t=\"return \"+t,e){for(var a=Object.keys(e),s=new Array(a.length+1),l=new Array(a.length),u=0;u0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>3.4028234663852886e38)e((i<<31|2139095040)>>>0,n,r);else if(t<1.1754943508222875e-38)e((i<<31|Math.round(t/1.401298464324817e-45))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2),a=8388607&Math.round(t*Math.pow(2,-o)*8388608);e((i<<31|o+127<<23|a)>>>0,n,r)}}function n(e,t,n){var r=e(t,n),i=2*(r>>31)+1,o=r>>>23&255,a=8388607&r;return 255===o?a?NaN:i*(1/0):0===o?1.401298464324817e-45*i*a:i*Math.pow(2,o-150)*(a+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,o),e.readFloatLE=n.bind(null,a),e.readFloatBE=n.bind(null,s)}(),\"undefined\"!=typeof Float64Array?function(){function t(e,t,n){o[0]=e,t[n]=a[0],t[n+1]=a[1],t[n+2]=a[2],t[n+3]=a[3],t[n+4]=a[4],t[n+5]=a[5],t[n+6]=a[6],t[n+7]=a[7]}function n(e,t,n){o[0]=e,t[n]=a[7],t[n+1]=a[6],t[n+2]=a[5],t[n+3]=a[4],t[n+4]=a[3],t[n+5]=a[2],t[n+6]=a[1],t[n+7]=a[0]}function r(e,t){return a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],o[0]}function i(e,t){return a[7]=e[t],a[6]=e[t+1],a[5]=e[t+2],a[4]=e[t+3],a[3]=e[t+4],a[2]=e[t+5],a[1]=e[t+6],a[0]=e[t+7],o[0]}var o=new Float64Array([-0]),a=new Uint8Array(o.buffer),s=128===a[7];e.writeDoubleLE=s?t:n,e.writeDoubleBE=s?n:t,e.readDoubleLE=s?r:i,e.readDoubleBE=s?i:r}():function(){function t(e,t,n,r,i,o){var a=r<0?1:0;if(a&&(r=-r),0===r)e(0,i,o+t),e(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))e(0,i,o+t),e(2146959360,i,o+n);else if(r>1.7976931348623157e308)e(0,i,o+t),e((a<<31|2146435072)>>>0,i,o+n);else{var s;if(r<2.2250738585072014e-308)s=r/5e-324,e(s>>>0,i,o+t),e((a<<31|s/4294967296)>>>0,i,o+n);else{var l=Math.floor(Math.log(r)/Math.LN2);1024===l&&(l=1023),s=r*Math.pow(2,-l),e(4503599627370496*s>>>0,i,o+t),e((a<<31|l+1023<<20|1048576*s&1048575)>>>0,i,o+n)}}}function n(e,t,n,r,i){var o=e(r,i+t),a=e(r,i+n),s=2*(a>>31)+1,l=a>>>20&2047,u=4294967296*(1048575&a)+o;return 2047===l?u?NaN:s*(1/0):0===l?5e-324*s*u:s*Math.pow(2,l-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,o,4,0),e.readDoubleLE=n.bind(null,a,0,4),e.readDoubleBE=n.bind(null,s,4,0)}(),e}function i(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function o(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=r(r)},function(e,t,n){\"use strict\";var r=t,i=r.isAbsolute=function(e){return/^(?:\\/|\\w+:)/.test(e)},o=r.normalize=function(e){e=e.replace(/\\\\/g,\"/\").replace(/\\/{2,}/g,\"/\");var t=e.split(\"/\"),n=i(e),r=\"\";n&&(r=t.shift()+\"/\");for(var o=0;o0&&\"..\"!==t[o-1]?t.splice(--o,2):n?t.splice(o,1):++o:\".\"===t[o]?t.splice(o,1):++o;return r+t.join(\"/\")};r.resolve=function(e,t,n){return n||(t=o(t)),i(t)?t:(n||(e=o(e)),(e=e.replace(/(?:\\/|^)[^\\/]+$/,\"\")).length?o(e+\"/\"+t):t)}},function(e,t,n){\"use strict\";function r(e,t,n){var r=n||8192,i=r>>>1,o=null,a=r;return function(n){if(n<1||n>i)return e(n);a+n>r&&(o=e(r),a=0);var s=t.call(o,a,a+=n);return 7&a&&(a=1+(7|a)),s}}e.exports=r},function(e,t,n){\"use strict\";var r=t;r.length=function(e){for(var t=0,n=0,r=0;r191&&r<224?o[a++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[a++]=55296+(r>>10),o[a++]=56320+(1023&r)):o[a++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),a=0);return i?(a&&i.push(String.fromCharCode.apply(String,o.slice(0,a))),i.join(\"\")):String.fromCharCode.apply(String,o.slice(0,a))},r.write=function(e,t,n){for(var r,i,o=n,a=0;a>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(a+1)))?(r=65536+((1023&r)<<10)+(1023&i),++a,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},function(e,t,n){e.exports={default:n(290),__esModule:!0}},function(e,t,n){e.exports={default:n(293),__esModule:!0}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){e.exports={default:n(300),__esModule:!0}},function(e,t,n){e.exports={default:n(301),__esModule:!0}},function(e,t,n){e.exports={default:n(302),__esModule:!0}},function(e,t,n){e.exports={default:n(303),__esModule:!0}},function(e,t,n){e.exports={default:n(304),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(477)(\"bowser\",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||\"\"}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||\"\"}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),l=/nexus\\s*[0-6]\\s*/i.test(e),u=!l&&/nexus\\s*[0-9]+/i.test(e),c=/CrOS/.test(e),d=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),p=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),g=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),v=!i&&!d&&/macintosh/i.test(e),y=!s&&!f&&!h&&!p&&/linux/i.test(e),b=n(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i),x=t(/version\\/(\\d+(\\.\\d+)?)/i),_=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!_&&/[^-]mobi/i.test(e),M=/xbox/i.test(e);/opera/i.test(e)?r={name:\"Opera\",opera:a,version:x||t(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/opr\\/|opios/i.test(e)?r={name:\"Opera\",opera:a,version:t(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)||x}:/SamsungBrowser/i.test(e)?r={name:\"Samsung Internet for Android\",samsungBrowser:a,version:x||t(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/coast/i.test(e)?r={name:\"Opera Coast\",coast:a,version:x||t(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/yabrowser/i.test(e)?r={name:\"Yandex Browser\",yandexbrowser:a,version:x||t(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:\"UC Browser\",ucbrowser:a,version:t(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/mxios/i.test(e)?r={name:\"Maxthon\",maxthon:a,version:t(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/epiphany/i.test(e)?r={name:\"Epiphany\",epiphany:a,version:t(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/puffin/i.test(e)?r={name:\"Puffin\",puffin:a,version:t(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)}:/sleipnir/i.test(e)?r={name:\"Sleipnir\",sleipnir:a,version:t(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/k-meleon/i.test(e)?r={name:\"K-Meleon\",kMeleon:a,version:t(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:m?(r={name:\"Windows Phone\",osname:\"Windows Phone\",windowsphone:a},b?(r.msedge=a,r.version=b):(r.msie=a,r.version=t(/iemobile\\/(\\d+(\\.\\d+)?)/i))):/msie|trident/i.test(e)?r={name:\"Internet Explorer\",msie:a,version:t(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)}:c?r={name:\"Chrome\",osname:\"Chrome OS\",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:\"Microsoft Edge\",msedge:a,version:b}:/vivaldi/i.test(e)?r={name:\"Vivaldi\",vivaldi:a,version:t(/vivaldi\\/(\\d+(\\.\\d+)?)/i)||x}:f?r={name:\"Sailfish\",osname:\"Sailfish OS\",sailfish:a,version:t(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)}:/seamonkey\\//i.test(e)?r={name:\"SeaMonkey\",seamonkey:a,version:t(/seamonkey\\/(\\d+(\\.\\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:\"Firefox\",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)},/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(e)&&(r.firefoxos=a,r.osname=\"Firefox OS\")):d?r={name:\"Amazon Silk\",silk:a,version:t(/silk\\/(\\d+(\\.\\d+)?)/i)}:/phantom/i.test(e)?r={name:\"PhantomJS\",phantom:a,version:t(/phantomjs\\/(\\d+(\\.\\d+)?)/i)}:/slimerjs/i.test(e)?r={name:\"SlimerJS\",slimer:a,version:t(/slimerjs\\/(\\d+(\\.\\d+)?)/i)}:/blackberry|\\bbb\\d+/i.test(e)||/rim\\stablet/i.test(e)?r={name:\"BlackBerry\",osname:\"BlackBerry OS\",blackberry:a,version:x||t(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)}:p?(r={name:\"WebOS\",osname:\"WebOS\",webos:a,version:x||t(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)},/touchpad\\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:\"Bada\",osname:\"Bada\",bada:a,version:t(/dolfin\\/(\\d+(\\.\\d+)?)/i)}:h?r={name:\"Tizen\",osname:\"Tizen\",tizen:a,version:t(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i)||x}:/qupzilla/i.test(e)?r={name:\"QupZilla\",qupzilla:a,version:t(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i)||x}:/chromium/i.test(e)?r={name:\"Chromium\",chromium:a,version:t(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i)||x}:/chrome|crios|crmo/i.test(e)?r={name:\"Chrome\",chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:s?r={name:\"Android\",version:x}:/safari|applewebkit/i.test(e)?(r={name:\"Safari\",safari:a},x&&(r.version=x)):i?(r={name:\"iphone\"==i?\"iPhone\":\"ipad\"==i?\"iPad\":\"iPod\"},x&&(r.version=x)):r=/googlebot/i.test(e)?{name:\"Googlebot\",googlebot:a,version:t(/googlebot\\/(\\d+(\\.\\d+))/i)||x}:{name:t(/^(.*)\\/(.*) /),version:n(/^(.*)\\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\\/537\\.36/i.test(e)?(r.name=r.name||\"Blink\",r.blink=a):(r.name=r.name||\"Webkit\",r.webkit=a),!r.version&&x&&(r.version=x)):!r.opera&&/gecko\\//i.test(e)&&(r.name=r.name||\"Gecko\",r.gecko=a,r.version=r.version||t(/gecko\\/(\\d+(\\.\\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname=\"iOS\"):v?(r.mac=a,r.osname=\"macOS\"):M?(r.xbox=a,r.osname=\"Xbox\"):g?(r.windows=a,r.osname=\"Windows\"):y&&(r.linux=a,r.osname=\"Linux\"):(r.android=a,r.osname=\"Android\");var S=\"\";r.windows?S=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}}(t(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i)):r.windowsphone?S=t(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i):r.mac?(S=t(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i),S=S.replace(/[_\\s]/g,\".\")):i?(S=t(/os (\\d+([_\\s]\\d+)*) like mac os x/i),S=S.replace(/[_\\s]/g,\".\")):s?S=t(/android[ \\/-](\\d+(\\.\\d+)*)/i):r.webos?S=t(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i):r.blackberry?S=t(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i):r.bada?S=t(/bada\\/(\\d+(\\.\\d+)*)/i):r.tizen&&(S=t(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i)),S&&(r.osversion=S);var E=!r.windows&&S.split(\".\")[0];return _||u||\"ipad\"==i||s&&(3==E||E>=4&&!w)||r.silk?r.tablet=a:(w||\"iphone\"==i||\"ipod\"==i||s||l||r.blackberry||r.webos||r.bada)&&(r.mobile=a),r.msedge||r.msie&&r.version>=10||r.yandexbrowser&&r.version>=15||r.vivaldi&&r.version>=1||r.chrome&&r.version>=20||r.samsungBrowser&&r.version>=4||r.firefox&&r.version>=20||r.safari&&r.version>=6||r.opera&&r.version>=10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]>=6||r.blackberry&&r.version>=10.1||r.chromium&&r.version>=20?r.a=a:r.msie&&r.version<10||r.chrome&&r.version<20||r.firefox&&r.version<20||r.safari&&r.version<6||r.opera&&r.version<10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]<6||r.chromium&&r.version<20?r.c=a:r.x=a,r}function t(e){return e.split(\".\").length}function n(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n=0;){if(i[0][r]>i[1][r])return 1;if(i[0][r]!==i[1][r])return-1;if(0===r)return 0}}function i(t,n,i){var o=s;\"string\"==typeof n&&(i=n,n=void 0),void 0===n&&(n=!1),i&&(o=e(i));var a=\"\"+o.version;for(var l in t)if(t.hasOwnProperty(l)&&o[l]){if(\"string\"!=typeof t[l])throw new Error(\"Browser version in the minVersion map should be a string: \"+l+\": \"+String(t));return r([a,t[l]])<0}return n}function o(e,t,n){return!i(e,t,n)}var a=!0,s=e(\"undefined\"!=typeof navigator?navigator.userAgent||\"\":\"\");return s.test=function(e){for(var t=0;t0&&(e[0].yLabel?n=e[0].yLabel:t.labels.length>0&&e[0].index=0&&i>0)&&(g+=i));return o=d.getPixelForValue(g),a=d.getPixelForValue(g+h),s=(a-o)/2,{size:s,base:o,head:a,center:a+s/2}},calculateBarIndexPixels:function(e,t,n){var r,i,a,s,l,u,c=this,d=n.scale.options,f=c.getStackIndex(e),h=n.pixels,p=h[t],m=h.length,g=n.start,v=n.end;return 1===m?(r=p>g?p-g:v-p,i=p0&&(r=(p-h[t-1])/2,t===m-1&&(i=r)),t');var n=e.data,r=n.datasets,i=n.labels;if(r.length)for(var o=0;o'),i[o]&&t.push(i[o]),t.push(\"\");return t.push(\"\"),t.join(\"\")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,r){var i=e.getDatasetMeta(0),a=t.datasets[0],s=i.data[r],l=s&&s.custom||{},u=o.valueAtIndexOrDefault,c=e.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:u(a.backgroundColor,r,c.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(a.borderColor,r,c.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(a.borderWidth,r,c.borderWidth),hidden:isNaN(a.data[r])||i.data[r].hidden,index:r}}):[]}},onClick:function(e,t){var n,r,i,o=t.index,a=this.chart;for(n=0,r=(a.data.datasets||[]).length;n=Math.PI?-1:p<-Math.PI?1:0);var m=p+h,g={x:Math.cos(p),y:Math.sin(p)},v={x:Math.cos(m),y:Math.sin(m)},y=p<=0&&m>=0||p<=2*Math.PI&&2*Math.PI<=m,b=p<=.5*Math.PI&&.5*Math.PI<=m||p<=2.5*Math.PI&&2.5*Math.PI<=m,x=p<=-Math.PI&&-Math.PI<=m||p<=Math.PI&&Math.PI<=m,_=p<=.5*-Math.PI&&.5*-Math.PI<=m||p<=1.5*Math.PI&&1.5*Math.PI<=m,w=f/100,M={x:x?-1:Math.min(g.x*(g.x<0?1:w),v.x*(v.x<0?1:w)),y:_?-1:Math.min(g.y*(g.y<0?1:w),v.y*(v.y<0?1:w))},S={x:y?1:Math.max(g.x*(g.x>0?1:w),v.x*(v.x>0?1:w)),y:b?1:Math.max(g.y*(g.y>0?1:w),v.y*(v.y>0?1:w))},E={width:.5*(S.x-M.x),height:.5*(S.y-M.y)};u=Math.min(s/E.width,l/E.height),c={x:-.5*(S.x+M.x),y:-.5*(S.y+M.y)}}n.borderWidth=t.getMaxBorderWidth(d.data),n.outerRadius=Math.max((u-n.borderWidth)/2,0),n.innerRadius=Math.max(f?n.outerRadius/100*f:0,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),n.offsetX=c.x*n.outerRadius,n.offsetY=c.y*n.outerRadius,d.total=t.calculateTotal(),t.outerRadius=n.outerRadius-n.radiusLength*t.getRingIndex(t.index),t.innerRadius=Math.max(t.outerRadius-n.radiusLength,0),o.each(d.data,function(n,r){t.updateElement(n,r,e)})},updateElement:function(e,t,n){var r=this,i=r.chart,a=i.chartArea,s=i.options,l=s.animation,u=(a.left+a.right)/2,c=(a.top+a.bottom)/2,d=s.rotation,f=s.rotation,h=r.getDataset(),p=n&&l.animateRotate?0:e.hidden?0:r.calculateCircumference(h.data[t])*(s.circumference/(2*Math.PI)),m=n&&l.animateScale?0:r.innerRadius,g=n&&l.animateScale?0:r.outerRadius,v=o.valueAtIndexOrDefault;o.extend(e,{_datasetIndex:r.index,_index:t,_model:{x:u+i.offsetX,y:c+i.offsetY,startAngle:d,endAngle:f,circumference:p,outerRadius:g,innerRadius:m,label:v(h.label,t,i.data.labels[t])}});var y=e._model;this.removeHoverStyle(e),n&&l.animateRotate||(y.startAngle=0===t?s.rotation:r.getMeta().data[t-1]._model.endAngle,y.endAngle=y.startAngle+y.circumference),e.pivot()},removeHoverStyle:function(t){e.DatasetController.prototype.removeHoverStyle.call(this,t,this.chart.options.elements.arc)},calculateTotal:function(){var e,t=this.getDataset(),n=this.getMeta(),r=0;return o.each(n.data,function(n,i){e=t.data[i],isNaN(e)||n.hidden||(r+=Math.abs(e))}),r},calculateCircumference:function(e){var t=this.getMeta().total;return t>0&&!isNaN(e)?2*Math.PI*(e/t):0},getMaxBorderWidth:function(e){for(var t,n,r=0,i=this.index,o=e.length,a=0;ar?t:r,r=n>r?n:r;return r}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"line\",{showLines:!0,spanGaps:!1,hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",id:\"y-axis-0\"}]}}),e.exports=function(e){function t(e,t){return o.valueOrDefault(e.showLine,t.showLines)}e.controllers.line=e.DatasetController.extend({datasetElementType:i.Line,dataElementType:i.Point,update:function(e){var n,r,i,a=this,s=a.getMeta(),l=s.dataset,u=s.data||[],c=a.chart.options,d=c.elements.line,f=a.getScaleForId(s.yAxisID),h=a.getDataset(),p=t(h,c);for(p&&(i=l.custom||{},void 0!==h.tension&&void 0===h.lineTension&&(h.lineTension=h.tension),l._scale=f,l._datasetIndex=a.index,l._children=u,l._model={spanGaps:h.spanGaps?h.spanGaps:c.spanGaps,tension:i.tension?i.tension:o.valueOrDefault(h.lineTension,d.tension),backgroundColor:i.backgroundColor?i.backgroundColor:h.backgroundColor||d.backgroundColor,borderWidth:i.borderWidth?i.borderWidth:h.borderWidth||d.borderWidth,borderColor:i.borderColor?i.borderColor:h.borderColor||d.borderColor,borderCapStyle:i.borderCapStyle?i.borderCapStyle:h.borderCapStyle||d.borderCapStyle,borderDash:i.borderDash?i.borderDash:h.borderDash||d.borderDash,borderDashOffset:i.borderDashOffset?i.borderDashOffset:h.borderDashOffset||d.borderDashOffset,borderJoinStyle:i.borderJoinStyle?i.borderJoinStyle:h.borderJoinStyle||d.borderJoinStyle,fill:i.fill?i.fill:void 0!==h.fill?h.fill:d.fill,steppedLine:i.steppedLine?i.steppedLine:o.valueOrDefault(h.steppedLine,d.stepped),cubicInterpolationMode:i.cubicInterpolationMode?i.cubicInterpolationMode:o.valueOrDefault(h.cubicInterpolationMode,d.cubicInterpolationMode)},l.pivot()),n=0,r=u.length;n');var n=e.data,r=n.datasets,i=n.labels;if(r.length)for(var o=0;o'),i[o]&&t.push(i[o]),t.push(\"\");return t.push(\"\"),t.join(\"\")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,r){var i=e.getDatasetMeta(0),a=t.datasets[0],s=i.data[r],l=s.custom||{},u=o.valueAtIndexOrDefault,c=e.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:u(a.backgroundColor,r,c.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(a.borderColor,r,c.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(a.borderWidth,r,c.borderWidth),hidden:isNaN(a.data[r])||i.data[r].hidden,index:r}}):[]}},onClick:function(e,t){var n,r,i,o=t.index,a=this.chart;for(n=0,r=(a.data.datasets||[]).length;n0&&!isNaN(e)?2*Math.PI/t:0}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"radar\",{scale:{type:\"radialLinear\"},elements:{line:{tension:0}}}),e.exports=function(e){e.controllers.radar=e.DatasetController.extend({datasetElementType:i.Line,dataElementType:i.Point,linkScales:o.noop,update:function(e){var t=this,n=t.getMeta(),r=n.dataset,i=n.data,a=r.custom||{},s=t.getDataset(),l=t.chart.options.elements.line,u=t.chart.scale;void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),o.extend(n.dataset,{_datasetIndex:t.index,_scale:u,_children:i,_loop:!0,_model:{tension:a.tension?a.tension:o.valueOrDefault(s.lineTension,l.tension),backgroundColor:a.backgroundColor?a.backgroundColor:s.backgroundColor||l.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:s.borderWidth||l.borderWidth,borderColor:a.borderColor?a.borderColor:s.borderColor||l.borderColor,fill:a.fill?a.fill:void 0!==s.fill?s.fill:l.fill,borderCapStyle:a.borderCapStyle?a.borderCapStyle:s.borderCapStyle||l.borderCapStyle,borderDash:a.borderDash?a.borderDash:s.borderDash||l.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:s.borderDashOffset||l.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:s.borderJoinStyle||l.borderJoinStyle}}),n.dataset.pivot(),o.each(i,function(n,r){t.updateElement(n,r,e)},t),t.updateBezierControlPoints()},updateElement:function(e,t,n){var r=this,i=e.custom||{},a=r.getDataset(),s=r.chart.scale,l=r.chart.options.elements.point,u=s.getPointPositionForValue(t,a.data[t]);void 0!==a.radius&&void 0===a.pointRadius&&(a.pointRadius=a.radius),void 0!==a.hitRadius&&void 0===a.pointHitRadius&&(a.pointHitRadius=a.hitRadius),o.extend(e,{_datasetIndex:r.index,_index:t,_scale:s,_model:{x:n?s.xCenter:u.x,y:n?s.yCenter:u.y,tension:i.tension?i.tension:o.valueOrDefault(a.lineTension,r.chart.options.elements.line.tension),radius:i.radius?i.radius:o.valueAtIndexOrDefault(a.pointRadius,t,l.radius),backgroundColor:i.backgroundColor?i.backgroundColor:o.valueAtIndexOrDefault(a.pointBackgroundColor,t,l.backgroundColor),borderColor:i.borderColor?i.borderColor:o.valueAtIndexOrDefault(a.pointBorderColor,t,l.borderColor),borderWidth:i.borderWidth?i.borderWidth:o.valueAtIndexOrDefault(a.pointBorderWidth,t,l.borderWidth),pointStyle:i.pointStyle?i.pointStyle:o.valueAtIndexOrDefault(a.pointStyle,t,l.pointStyle),hitRadius:i.hitRadius?i.hitRadius:o.valueAtIndexOrDefault(a.pointHitRadius,t,l.hitRadius)}}),e._model.skip=i.skip?i.skip:isNaN(e._model.x)||isNaN(e._model.y)},updateBezierControlPoints:function(){var e=this.chart.chartArea,t=this.getMeta();o.each(t.data,function(n,r){var i=n._model,a=o.splineCurve(o.previousItem(t.data,r,!0)._model,i,o.nextItem(t.data,r,!0)._model,i.tension);i.controlPointPreviousX=Math.max(Math.min(a.previous.x,e.right),e.left),i.controlPointPreviousY=Math.max(Math.min(a.previous.y,e.bottom),e.top),i.controlPointNextX=Math.max(Math.min(a.next.x,e.right),e.left),i.controlPointNextY=Math.max(Math.min(a.next.y,e.bottom),e.top),n.pivot()})},setHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},r=e._index,i=e._model;i.radius=n.hoverRadius?n.hoverRadius:o.valueAtIndexOrDefault(t.pointHoverRadius,r,this.chart.options.elements.point.hoverRadius),i.backgroundColor=n.hoverBackgroundColor?n.hoverBackgroundColor:o.valueAtIndexOrDefault(t.pointHoverBackgroundColor,r,o.getHoverColor(i.backgroundColor)),i.borderColor=n.hoverBorderColor?n.hoverBorderColor:o.valueAtIndexOrDefault(t.pointHoverBorderColor,r,o.getHoverColor(i.borderColor)),i.borderWidth=n.hoverBorderWidth?n.hoverBorderWidth:o.valueAtIndexOrDefault(t.pointHoverBorderWidth,r,i.borderWidth)},removeHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},r=e._index,i=e._model,a=this.chart.options.elements.point;i.radius=n.radius?n.radius:o.valueAtIndexOrDefault(t.pointRadius,r,a.radius),i.backgroundColor=n.backgroundColor?n.backgroundColor:o.valueAtIndexOrDefault(t.pointBackgroundColor,r,a.backgroundColor),i.borderColor=n.borderColor?n.borderColor:o.valueAtIndexOrDefault(t.pointBorderColor,r,a.borderColor),i.borderWidth=n.borderWidth?n.borderWidth:o.valueAtIndexOrDefault(t.pointBorderWidth,r,a.borderWidth)}})}},function(e,t,n){\"use strict\";n(8)._set(\"scatter\",{hover:{mode:\"single\"},scales:{xAxes:[{id:\"x-axis-1\",type:\"linear\",position:\"bottom\"}],yAxes:[{id:\"y-axis-1\",type:\"linear\",position:\"left\"}]},showLines:!1,tooltips:{callbacks:{title:function(){return\"\"},label:function(e){return\"(\"+e.xLabel+\", \"+e.yLabel+\")\"}}}}),e.exports=function(e){e.controllers.scatter=e.controllers.line}},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6);r._set(\"global\",{animation:{duration:1e3,easing:\"easeOutQuart\",onProgress:o.noop,onComplete:o.noop}}),e.exports=function(e){e.Animation=i.extend({chart:null,currentStep:0,numSteps:60,easing:\"\",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(e,t,n,r){var i,o,a=this.animations;for(t.chart=e,r||(e.animating=!0),i=0,o=a.length;i1&&(n=Math.floor(e.dropFrames),e.dropFrames=e.dropFrames%1),e.advance(1+n);var r=Date.now();e.dropFrames+=(r-t)/e.frameDuration,e.animations.length>0&&e.requestAnimationFrame()},advance:function(e){for(var t,n,r=this.animations,i=0;i=t.numSteps?(o.callback(t.onAnimationComplete,[t],n),n.animating=!1,r.splice(i,1)):++i}},Object.defineProperty(e.Animation.prototype,\"animationObject\",{get:function(){return this}}),Object.defineProperty(e.Animation.prototype,\"chartInstance\",{get:function(){return this.chart},set:function(e){this.chart=e}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(6),o=n(110),a=n(111);e.exports=function(e){function t(e){e=e||{};var t=e.data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=i.configMerge(r.global,r[e.type],e.options||{}),e}function n(e){var t=e.options;t.scale?e.scale.options=t.scale:t.scales&&t.scales.xAxes.concat(t.scales.yAxes).forEach(function(t){e.scales[t.id].options=t}),e.tooltip._options=t.tooltips}function s(e){return\"top\"===e||\"bottom\"===e}var l=e.plugins;e.types={},e.instances={},e.controllers={},i.extend(e.prototype,{construct:function(n,r){var o=this;r=t(r);var s=a.acquireContext(n,r),l=s&&s.canvas,u=l&&l.height,c=l&&l.width;if(o.id=i.uid(),o.ctx=s,o.canvas=l,o.config=r,o.width=c,o.height=u,o.aspectRatio=u?c/u:null,o.options=r.options,o._bufferedRender=!1,o.chart=o,o.controller=o,e.instances[o.id]=o,Object.defineProperty(o,\"data\",{get:function(){return o.config.data},set:function(e){o.config.data=e}}),!s||!l)return void console.error(\"Failed to create chart: can't acquire context from the given item\");o.initialize(),o.update()},initialize:function(){var e=this;return l.notify(e,\"beforeInit\"),i.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.ensureScalesHaveIDs(),e.buildScales(),e.initToolTip(),l.notify(e,\"afterInit\"),e},clear:function(){return i.canvas.clear(this),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,r=t.canvas,o=n.maintainAspectRatio&&t.aspectRatio||null,a=Math.max(0,Math.floor(i.getMaximumWidth(r))),s=Math.max(0,Math.floor(o?a/o:i.getMaximumHeight(r)));if((t.width!==a||t.height!==s)&&(r.width=t.width=a,r.height=t.height=s,r.style.width=a+\"px\",r.style.height=s+\"px\",i.retinaScale(t,n.devicePixelRatio),!e)){var u={width:a,height:s};l.notify(t,\"resize\",[u]),t.options.onResize&&t.options.onResize(t,u),t.stop(),t.update(t.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;i.each(t.xAxes,function(e,t){e.id=e.id||\"x-axis-\"+t}),i.each(t.yAxes,function(e,t){e.id=e.id||\"y-axis-\"+t}),n&&(n.id=n.id||\"scale\")},buildScales:function(){var t=this,n=t.options,r=t.scales={},o=[];n.scales&&(o=o.concat((n.scales.xAxes||[]).map(function(e){return{options:e,dtype:\"category\",dposition:\"bottom\"}}),(n.scales.yAxes||[]).map(function(e){return{options:e,dtype:\"linear\",dposition:\"left\"}}))),n.scale&&o.push({options:n.scale,dtype:\"radialLinear\",isDefault:!0,dposition:\"chartArea\"}),i.each(o,function(n){var o=n.options,a=i.valueOrDefault(o.type,n.dtype),l=e.scaleService.getScaleConstructor(a);if(l){s(o.position)!==s(n.dposition)&&(o.position=n.dposition);var u=new l({id:o.id,options:o,ctx:t.ctx,chart:t});r[u.id]=u,u.mergeTicksOptions(),n.isDefault&&(t.scale=u)}}),e.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,n=[],r=[];return i.each(t.data.datasets,function(i,o){var a=t.getDatasetMeta(o),s=i.type||t.config.type;if(a.type&&a.type!==s&&(t.destroyDatasetMeta(o),a=t.getDatasetMeta(o)),a.type=s,n.push(a.type),a.controller)a.controller.updateIndex(o);else{var l=e.controllers[a.type];if(void 0===l)throw new Error('\"'+a.type+'\" is not a chart type.');a.controller=new l(t,o),r.push(a.controller)}},t),r},resetElements:function(){var e=this;i.each(e.data.datasets,function(t,n){e.getDatasetMeta(n).controller.reset()},e)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(e){var t=this;if(e&&\"object\"==typeof e||(e={duration:e,lazy:arguments[1]}),n(t),!1!==l.notify(t,\"beforeUpdate\")){t.tooltip._data=t.data;var r=t.buildOrUpdateControllers();i.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.buildOrUpdateElements()},t),t.updateLayout(),i.each(r,function(e){e.reset()}),t.updateDatasets(),t.tooltip.initialize(),t.lastActive=[],l.notify(t,\"afterUpdate\"),t._bufferedRender?t._bufferedRequest={duration:e.duration,easing:e.easing,lazy:e.lazy}:t.render(e)}},updateLayout:function(){var t=this;!1!==l.notify(t,\"beforeLayout\")&&(e.layoutService.update(this,this.width,this.height),l.notify(t,\"afterScaleUpdate\"),l.notify(t,\"afterLayout\"))},updateDatasets:function(){var e=this;if(!1!==l.notify(e,\"beforeDatasetsUpdate\")){for(var t=0,n=e.data.datasets.length;t=0;--n)t.isDatasetVisible(n)&&t.drawDataset(n,e);l.notify(t,\"afterDatasetsDraw\",[e])}},drawDataset:function(e,t){var n=this,r=n.getDatasetMeta(e),i={meta:r,index:e,easingValue:t};!1!==l.notify(n,\"beforeDatasetDraw\",[i])&&(r.controller.draw(t),l.notify(n,\"afterDatasetDraw\",[i]))},_drawTooltip:function(e){var t=this,n=t.tooltip,r={tooltip:n,easingValue:e};!1!==l.notify(t,\"beforeTooltipDraw\",[r])&&(n.draw(),l.notify(t,\"afterTooltipDraw\",[r]))},getElementAtEvent:function(e){return o.modes.single(this,e)},getElementsAtEvent:function(e){return o.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return o.modes[\"x-axis\"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var r=o.modes[t];return\"function\"==typeof r?r(this,e,n):[]},getDatasetAtEvent:function(e){return o.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,n=t.data.datasets[e];n._meta||(n._meta={});var r=n._meta[t.id];return r||(r=n._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),r},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t0||(i.forEach(function(t){delete e[t]}),delete e._chartjs)}}var i=[\"push\",\"pop\",\"shift\",\"splice\",\"unshift\"];e.DatasetController=function(e,t){this.initialize(e,t)},r.extend(e.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(e,t){var n=this;n.chart=e,n.index=t,n.linkScales(),n.addElements()},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.getDataset();null===t.xAxisID&&(t.xAxisID=n.xAxisID||e.chart.options.scales.xAxes[0].id),null===t.yAxisID&&(t.yAxisID=n.yAxisID||e.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},reset:function(){this.update(!0)},destroy:function(){this._data&&n(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,n=t.dataElementType;return n&&new n({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e,t,n=this,r=n.getMeta(),i=n.getDataset().data||[],o=r.data;for(e=0,t=i.length;er&&e.insertElements(r,i-r)},insertElements:function(e,t){for(var n=0;n=n[t].length&&n[t].push({}),!n[t][a].type||l.type&&l.type!==n[t][a].type?o.merge(n[t][a],[e.scaleService.getScaleDefaults(s),l]):o.merge(n[t][a],l)}else o._merger(t,n,r,i)}})},o.where=function(e,t){if(o.isArray(e)&&Array.prototype.filter)return e.filter(t);var n=[];return o.each(e,function(e){t(e)&&n.push(e)}),n},o.findIndex=Array.prototype.findIndex?function(e,t,n){return e.findIndex(t,n)}:function(e,t,n){n=void 0===n?e:n;for(var r=0,i=e.length;r=0;r--){var i=e[r];if(t(i))return i}},o.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},o.almostEquals=function(e,t,n){return Math.abs(e-t)e},o.max=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.max(e,t)},Number.NEGATIVE_INFINITY)},o.min=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.min(e,t)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return e=+e,0===e||isNaN(e)?e:e>0?1:-1},o.log10=Math.log10?function(e){return Math.log10(e)}:function(e){return Math.log(e)/Math.LN10},o.toRadians=function(e){return e*(Math.PI/180)},o.toDegrees=function(e){return e*(180/Math.PI)},o.getAngleFromPoint=function(e,t){var n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r),o=Math.atan2(r,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:i}},o.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},o.aliasPixel=function(e){return e%2==0?0:.5},o.splineCurve=function(e,t,n,r){var i=e.skip?t:e,o=t,a=n.skip?t:n,s=Math.sqrt(Math.pow(o.x-i.x,2)+Math.pow(o.y-i.y,2)),l=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2)),u=s/(s+l),c=l/(s+l);u=isNaN(u)?0:u,c=isNaN(c)?0:c;var d=r*u,f=r*c;return{previous:{x:o.x-d*(a.x-i.x),y:o.y-d*(a.y-i.y)},next:{x:o.x+f*(a.x-i.x),y:o.y+f*(a.y-i.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(e){var t,n,r,i,a=(e||[]).map(function(e){return{model:e._model,deltaK:0,mK:0}}),s=a.length;for(t=0;t0?a[t-1]:null,(i=t0?a[t-1]:null,i=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},o.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},o.niceNum=function(e,t){var n=Math.floor(o.log10(e)),r=e/Math.pow(10,n);return(t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10)*Math.pow(10,n)},o.requestAnimFrame=function(){return\"undefined\"==typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)}}(),o.getRelativePosition=function(e,t){var n,r,i=e.originalEvent||e,a=e.currentTarget||e.srcElement,s=a.getBoundingClientRect(),l=i.touches;l&&l.length>0?(n=l[0].clientX,r=l[0].clientY):(n=i.clientX,r=i.clientY);var u=parseFloat(o.getStyle(a,\"padding-left\")),c=parseFloat(o.getStyle(a,\"padding-top\")),d=parseFloat(o.getStyle(a,\"padding-right\")),f=parseFloat(o.getStyle(a,\"padding-bottom\")),h=s.right-s.left-u-d,p=s.bottom-s.top-c-f;return n=Math.round((n-s.left-u)/h*a.width/t.currentDevicePixelRatio),r=Math.round((r-s.top-c)/p*a.height/t.currentDevicePixelRatio),{x:n,y:r}},o.getConstraintWidth=function(e){return a(e,\"max-width\",\"clientWidth\")},o.getConstraintHeight=function(e){return a(e,\"max-height\",\"clientHeight\")},o.getMaximumWidth=function(e){var t=e.parentNode;if(!t)return e.clientWidth;var n=parseInt(o.getStyle(t,\"padding-left\"),10),r=parseInt(o.getStyle(t,\"padding-right\"),10),i=t.clientWidth-n-r,a=o.getConstraintWidth(e);return isNaN(a)?i:Math.min(i,a)},o.getMaximumHeight=function(e){var t=e.parentNode;if(!t)return e.clientHeight;var n=parseInt(o.getStyle(t,\"padding-top\"),10),r=parseInt(o.getStyle(t,\"padding-bottom\"),10),i=t.clientHeight-n-r,a=o.getConstraintHeight(e);return isNaN(a)?i:Math.min(i,a)},o.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},o.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||window.devicePixelRatio||1;if(1!==n){var r=e.canvas,i=e.height,o=e.width;r.height=i*n,r.width=o*n,e.ctx.scale(n,n),r.style.height=i+\"px\",r.style.width=o+\"px\"}},o.fontString=function(e,t,n){return t+\" \"+e+\"px \"+n},o.longestText=function(e,t,n,r){r=r||{};var i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.font=t;var s=0;o.each(n,function(t){void 0!==t&&null!==t&&!0!==o.isArray(t)?s=o.measureText(e,i,a,s,t):o.isArray(t)&&o.each(t,function(t){void 0===t||null===t||o.isArray(t)||(s=o.measureText(e,i,a,s,t))})});var l=a.length/2;if(l>n.length){for(var u=0;ur&&(r=o),r},o.numberOfLabelLines=function(e){var t=1;return o.each(e,function(e){o.isArray(e)&&e.length>t&&(t=e.length)}),t},o.color=r?function(e){return e instanceof CanvasGradient&&(e=i.global.defaultColor),r(e)}:function(e){return console.error(\"Color.js not found!\"),e},o.getHoverColor=function(e){return e instanceof CanvasPattern?e:o.color(e).saturate(.5).darken(.1).rgbString()}}},function(e,t,n){\"use strict\";n(8)._set(\"global\",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:[\"mousemove\",\"mouseout\",\"click\",\"touchstart\",\"touchmove\"],hover:{onHover:null,mode:\"nearest\",intersect:!0,animationDuration:400},onClick:null,defaultColor:\"rgba(0,0,0,0.1)\",defaultFontColor:\"#666\",defaultFontFamily:\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",defaultFontSize:12,defaultFontStyle:\"normal\",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var e=function(e,t){return this.construct(e,t),this};return e.Chart=e,e}},function(e,t,n){\"use strict\";var r=n(6);e.exports=function(e){function t(e,t){return r.where(e,function(e){return e.position===t})}function n(e,t){e.forEach(function(e,t){return e._tmpIndex_=t,e}),e.sort(function(e,n){var r=t?n:e,i=t?e:n;return r.weight===i.weight?r._tmpIndex_-i._tmpIndex_:r.weight-i.weight}),e.forEach(function(e){delete e._tmpIndex_})}e.layoutService={defaults:{},addBox:function(e,t){e.boxes||(e.boxes=[]),t.fullWidth=t.fullWidth||!1,t.position=t.position||\"top\",t.weight=t.weight||0,e.boxes.push(t)},removeBox:function(e,t){var n=e.boxes?e.boxes.indexOf(t):-1;-1!==n&&e.boxes.splice(n,1)},configure:function(e,t,n){for(var r,i=[\"fullWidth\",\"position\",\"weight\"],o=i.length,a=0;af&&le.maxHeight){l--;break}l++,d=u*c}e.labelRotation=l},afterCalculateTickRotation:function(){s.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){s.callback(this.options.beforeFit,[this])},fit:function(){var e=this,i=e.minSize={width:0,height:0},o=r(e._ticks),a=e.options,u=a.ticks,c=a.scaleLabel,d=a.gridLines,f=a.display,h=e.isHorizontal(),p=n(u),m=a.gridLines.tickMarkLength;if(i.width=h?e.isFullWidth()?e.maxWidth-e.margins.left-e.margins.right:e.maxWidth:f&&d.drawTicks?m:0,i.height=h?f&&d.drawTicks?m:0:e.maxHeight,c.display&&f){var g=l(c),v=s.options.toPadding(c.padding),y=g+v.height;h?i.height+=y:i.width+=y}if(u.display&&f){var b=s.longestText(e.ctx,p.font,o,e.longestTextCache),x=s.numberOfLabelLines(o),_=.5*p.size,w=e.options.ticks.padding;if(h){e.longestLabelWidth=b;var M=s.toRadians(e.labelRotation),S=Math.cos(M),E=Math.sin(M),T=E*b+p.size*x+_*(x-1)+_;i.height=Math.min(e.maxHeight,i.height+T+w),e.ctx.font=p.font;var k=t(e.ctx,o[0],p.font),O=t(e.ctx,o[o.length-1],p.font);0!==e.labelRotation?(e.paddingLeft=\"bottom\"===a.position?S*k+3:S*_+3,e.paddingRight=\"bottom\"===a.position?S*_+3:S*O+3):(e.paddingLeft=k/2+3,e.paddingRight=O/2+3)}else u.mirror?b=0:b+=w+_,i.width=Math.min(e.maxWidth,i.width+b),e.paddingTop=p.size/2,e.paddingBottom=p.size/2}e.handleMargins(),e.width=i.width,e.height=i.height},handleMargins:function(){var e=this;e.margins&&(e.paddingLeft=Math.max(e.paddingLeft-e.margins.left,0),e.paddingTop=Math.max(e.paddingTop-e.margins.top,0),e.paddingRight=Math.max(e.paddingRight-e.margins.right,0),e.paddingBottom=Math.max(e.paddingBottom-e.margins.bottom,0))},afterFit:function(){s.callback(this.options.afterFit,[this])},isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(s.isNullOrUndef(e))return NaN;if(\"number\"==typeof e&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},getLabelForIndex:s.noop,getPixelForValue:s.noop,getValueForPixel:s.noop,getPixelForTick:function(e){var t=this,n=t.options.offset;if(t.isHorizontal()){var r=t.width-(t.paddingLeft+t.paddingRight),i=r/Math.max(t._ticks.length-(n?0:1),1),o=i*e+t.paddingLeft;n&&(o+=i/2);var a=t.left+Math.round(o);return a+=t.isFullWidth()?t.margins.left:0}var s=t.height-(t.paddingTop+t.paddingBottom);return t.top+e*(s/(t._ticks.length-1))},getPixelForDecimal:function(e){var t=this;if(t.isHorizontal()){var n=t.width-(t.paddingLeft+t.paddingRight),r=n*e+t.paddingLeft,i=t.left+Math.round(r);return i+=t.isFullWidth()?t.margins.left:0}return t.top+e*t.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,n=e.max;return e.beginAtZero?0:t<0&&n<0?n:t>0&&n>0?t:0},_autoSkip:function(e){var t,n,r,i,o,a=this,l=a.isHorizontal(),u=a.options.ticks.minor,c=e.length,d=s.toRadians(a.labelRotation),f=Math.cos(d),h=a.longestLabelWidth*f,p=[];for(u.maxTicksLimit&&(o=u.maxTicksLimit),l&&(t=!1,(h+u.autoSkipPadding)*c>a.width-(a.paddingLeft+a.paddingRight)&&(t=1+Math.floor((h+u.autoSkipPadding)*c/(a.width-(a.paddingLeft+a.paddingRight)))),o&&c>o&&(t=Math.max(t,Math.floor(c/o)))),n=0;n1&&n%t>0||n%t==0&&n+t>=c,i&&n!==c-1&&delete r.label,p.push(r);return p},draw:function(e){var t=this,r=t.options;if(r.display){var a=t.ctx,u=o.global,c=r.ticks.minor,d=r.ticks.major||c,f=r.gridLines,h=r.scaleLabel,p=0!==t.labelRotation,m=t.isHorizontal(),g=c.autoSkip?t._autoSkip(t.getTicks()):t.getTicks(),v=s.valueOrDefault(c.fontColor,u.defaultFontColor),y=n(c),b=s.valueOrDefault(d.fontColor,u.defaultFontColor),x=n(d),_=f.drawTicks?f.tickMarkLength:0,w=s.valueOrDefault(h.fontColor,u.defaultFontColor),M=n(h),S=s.options.toPadding(h.padding),E=s.toRadians(t.labelRotation),T=[],k=\"right\"===r.position?t.left:t.right-_,O=\"right\"===r.position?t.left+_:t.right,P=\"bottom\"===r.position?t.top:t.bottom-_,C=\"bottom\"===r.position?t.top+_:t.bottom;if(s.each(g,function(n,o){if(!s.isNullOrUndef(n.label)){var a,l,d,h,v=n.label;o===t.zeroLineIndex&&r.offset===f.offsetGridLines?(a=f.zeroLineWidth,l=f.zeroLineColor,d=f.zeroLineBorderDash,h=f.zeroLineBorderDashOffset):(a=s.valueAtIndexOrDefault(f.lineWidth,o),l=s.valueAtIndexOrDefault(f.color,o),d=s.valueOrDefault(f.borderDash,u.borderDash),h=s.valueOrDefault(f.borderDashOffset,u.borderDashOffset));var y,b,x,w,M,S,A,R,L,I,D=\"middle\",N=\"middle\",z=c.padding;if(m){var B=_+z;\"bottom\"===r.position?(N=p?\"middle\":\"top\",D=p?\"right\":\"center\",I=t.top+B):(N=p?\"middle\":\"bottom\",D=p?\"left\":\"center\",I=t.bottom-B);var F=i(t,o,f.offsetGridLines&&g.length>1);F1);W0){var o=e[0];o.xLabel?n=o.xLabel:i>0&&o.indexr.height-t.height&&(a=\"bottom\");var s,l,u,c,d,f=(i.left+i.right)/2,h=(i.top+i.bottom)/2;\"center\"===a?(s=function(e){return e<=f},l=function(e){return e>f}):(s=function(e){return e<=t.width/2},l=function(e){return e>=r.width-t.width/2}),u=function(e){return e+t.width>r.width},c=function(e){return e-t.width<0},d=function(e){return e<=h?\"top\":\"bottom\"},s(n.x)?(o=\"left\",u(n.x)&&(o=\"center\",a=d(n.y))):l(n.x)&&(o=\"right\",c(n.x)&&(o=\"center\",a=d(n.y)));var p=e._options;return{xAlign:p.xAlign?p.xAlign:o,yAlign:p.yAlign?p.yAlign:a}}function c(e,t,n){var r=e.x,i=e.y,o=e.caretSize,a=e.caretPadding,s=e.cornerRadius,l=n.xAlign,u=n.yAlign,c=o+a,d=s+a;return\"right\"===l?r-=t.width:\"center\"===l&&(r-=t.width/2),\"top\"===u?i+=c:i-=\"bottom\"===u?t.height+c:t.height/2,\"center\"===u?\"left\"===l?r+=c:\"right\"===l&&(r-=c):\"left\"===l?r-=d:\"right\"===l&&(r+=d),{x:r,y:i}}e.Tooltip=i.extend({initialize:function(){this._model=s(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options,r=t.callbacks,i=r.beforeTitle.apply(e,arguments),o=r.title.apply(e,arguments),a=r.afterTitle.apply(e,arguments),s=[];return s=n(s,i),s=n(s,o),s=n(s,a)},getBeforeBody:function(){var e=this._options.callbacks.beforeBody.apply(this,arguments);return o.isArray(e)?e:void 0!==e?[e]:[]},getBody:function(e,t){var r=this,i=r._options.callbacks,a=[];return o.each(e,function(e){var o={before:[],lines:[],after:[]};n(o.before,i.beforeLabel.call(r,e,t)),n(o.lines,i.label.call(r,e,t)),n(o.after,i.afterLabel.call(r,e,t)),a.push(o)}),a},getAfterBody:function(){var e=this._options.callbacks.afterBody.apply(this,arguments);return o.isArray(e)?e:void 0!==e?[e]:[]},getFooter:function(){var e=this,t=e._options.callbacks,r=t.beforeFooter.apply(e,arguments),i=t.footer.apply(e,arguments),o=t.afterFooter.apply(e,arguments),a=[];return a=n(a,r),a=n(a,i),a=n(a,o)},update:function(t){var n,r,i=this,d=i._options,f=i._model,h=i._model=s(d),p=i._active,m=i._data,g={xAlign:f.xAlign,yAlign:f.yAlign},v={x:f.x,y:f.y},y={width:f.width,height:f.height},b={x:f.caretX,y:f.caretY};if(p.length){h.opacity=1;var x=[],_=[];b=e.Tooltip.positioners[d.position].call(i,p,i._eventPosition);var w=[];for(n=0,r=p.length;n0&&r.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},r={x:t.x,y:t.y},i=Math.abs(t.opacity<.001)?0:t.opacity,o=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&o&&(this.drawBackground(r,t,e,n,i),r.x+=t.xPadding,r.y+=t.yPadding,this.drawTitle(r,t,e,i),this.drawBody(r,t,e,i),this.drawFooter(r,t,e,i))}},handleEvent:function(e){var t=this,n=t._options,r=!1;if(t._lastActive=t._lastActive||[],\"mouseout\"===e.type?t._active=[]:t._active=t._chart.getElementsAtEventForMode(e,n.mode,n),!(r=!o.arrayEquals(t._active,t._lastActive)))return!1;if(t._lastActive=t._active,n.enabled||n.custom){t._eventPosition={x:e.x,y:e.y};var i=t._model;t.update(!0),t.pivot(),r|=i.x!==t._model.x||i.y!==t._model.y}return r}}),e.Tooltip.positioners={average:function(e){if(!e.length)return!1;var t,n,r=0,i=0,o=0;for(t=0,n=e.length;tl;)i-=2*Math.PI;for(;i=s&&i<=l,c=a>=n.innerRadius&&a<=n.outerRadius;return u&&c}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e=this._chart.ctx,t=this._view,n=t.startAngle,r=t.endAngle;e.beginPath(),e.arc(t.x,t.y,t.outerRadius,n,r),e.arc(t.x,t.y,t.innerRadius,r,n,!0),e.closePath(),e.strokeStyle=t.borderColor,e.lineWidth=t.borderWidth,e.fillStyle=t.backgroundColor,e.fill(),e.lineJoin=\"bevel\",t.borderWidth&&e.stroke()}})},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6),a=r.global;r._set(\"global\",{elements:{line:{tension:.4,backgroundColor:a.defaultColor,borderWidth:3,borderColor:a.defaultColor,borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",capBezierPoints:!0,fill:!0}}}),e.exports=i.extend({draw:function(){var e,t,n,r,i=this,s=i._view,l=i._chart.ctx,u=s.spanGaps,c=i._children.slice(),d=a.elements.line,f=-1;for(i._loop&&c.length&&c.push(c[0]),l.save(),l.lineCap=s.borderCapStyle||d.borderCapStyle,l.setLineDash&&l.setLineDash(s.borderDash||d.borderDash),l.lineDashOffset=s.borderDashOffset||d.borderDashOffset,l.lineJoin=s.borderJoinStyle||d.borderJoinStyle,l.lineWidth=s.borderWidth||d.borderWidth,l.strokeStyle=s.borderColor||a.defaultColor,l.beginPath(),f=-1,e=0;et?1:-1,a=1,s=u.borderSkipped||\"left\"):(t=u.x-u.width/2,n=u.x+u.width/2,r=u.y,i=u.base,o=1,a=i>r?1:-1,s=u.borderSkipped||\"bottom\"),c){var d=Math.min(Math.abs(t-n),Math.abs(r-i));c=c>d?d:c;var f=c/2,h=t+(\"left\"!==s?f*o:0),p=n+(\"right\"!==s?-f*o:0),m=r+(\"top\"!==s?f*a:0),g=i+(\"bottom\"!==s?-f*a:0);h!==p&&(r=m,i=g),m!==g&&(t=h,n=p)}l.beginPath(),l.fillStyle=u.backgroundColor,l.strokeStyle=u.borderColor,l.lineWidth=c;var v=[[t,i],[t,r],[n,r],[n,i]],y=[\"bottom\",\"left\",\"top\",\"right\"],b=y.indexOf(s,0);-1===b&&(b=0);var x=e(0);l.moveTo(x[0],x[1]);for(var _=1;_<4;_++)x=e(_),l.lineTo(x[0],x[1]);l.fill(),c&&l.stroke()},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){var n=!1;if(this._view){var r=i(this);n=e>=r.left&&e<=r.right&&t>=r.top&&t<=r.bottom}return n},inLabelRange:function(e,t){var n=this;if(!n._view)return!1;var o=i(n);return r(n)?e>=o.left&&e<=o.right:t>=o.top&&t<=o.bottom},inXRange:function(e){var t=i(this);return e>=t.left&&e<=t.right},inYRange:function(e){var t=i(this);return e>=t.top&&e<=t.bottom},getCenterPoint:function(){var e,t,n=this._view;return r(this)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return e.width*Math.abs(e.y-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}})},function(e,t,n){\"use strict\";var r=n(59),t=e.exports={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,r,i,o){if(o){var a=Math.min(o,r/2),s=Math.min(o,i/2);e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+s),e.lineTo(t+r,n+i-s),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-s),e.lineTo(t,n+s),e.quadraticCurveTo(t,n,t+a,n)}else e.rect(t,n,r,i)},drawPoint:function(e,t,n,r,i){var o,a,s,l,u,c;if(t&&\"object\"==typeof t&&(\"[object HTMLImageElement]\"===(o=t.toString())||\"[object HTMLCanvasElement]\"===o))return void e.drawImage(t,r-t.width/2,i-t.height/2,t.width,t.height);if(!(isNaN(n)||n<=0)){switch(t){default:e.beginPath(),e.arc(r,i,n,0,2*Math.PI),e.closePath(),e.fill();break;case\"triangle\":e.beginPath(),a=3*n/Math.sqrt(3),u=a*Math.sqrt(3)/2,e.moveTo(r-a/2,i+u/3),e.lineTo(r+a/2,i+u/3),e.lineTo(r,i-2*u/3),e.closePath(),e.fill();break;case\"rect\":c=1/Math.SQRT2*n,e.beginPath(),e.fillRect(r-c,i-c,2*c,2*c),e.strokeRect(r-c,i-c,2*c,2*c);break;case\"rectRounded\":var d=n/Math.SQRT2,f=r-d,h=i-d,p=Math.SQRT2*n;e.beginPath(),this.roundedRect(e,f,h,p,p,n/2),e.closePath(),e.fill();break;case\"rectRot\":c=1/Math.SQRT2*n,e.beginPath(),e.moveTo(r-c,i),e.lineTo(r,i+c),e.lineTo(r+c,i),e.lineTo(r,i-c),e.closePath(),e.fill();break;case\"cross\":e.beginPath(),e.moveTo(r,i+n),e.lineTo(r,i-n),e.moveTo(r-n,i),e.lineTo(r+n,i),e.closePath();break;case\"crossRot\":e.beginPath(),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,e.moveTo(r-s,i-l),e.lineTo(r+s,i+l),e.moveTo(r-s,i+l),e.lineTo(r+s,i-l),e.closePath();break;case\"star\":e.beginPath(),e.moveTo(r,i+n),e.lineTo(r,i-n),e.moveTo(r-n,i),e.lineTo(r+n,i),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,e.moveTo(r-s,i-l),e.lineTo(r+s,i+l),e.moveTo(r-s,i+l),e.lineTo(r+s,i-l),e.closePath();break;case\"line\":e.beginPath(),e.moveTo(r-n,i),e.lineTo(r+n,i),e.closePath();break;case\"dash\":e.beginPath(),e.moveTo(r,i),e.lineTo(r+n,i),e.closePath()}e.stroke()}},clipArea:function(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()},unclipArea:function(e){e.restore()},lineTo:function(e,t,n,r){return n.steppedLine?(\"after\"===n.steppedLine&&!r||\"after\"!==n.steppedLine&&r?e.lineTo(t.x,n.y):e.lineTo(n.x,t.y),void e.lineTo(n.x,n.y)):n.tension?void e.bezierCurveTo(r?t.controlPointPreviousX:t.controlPointNextX,r?t.controlPointPreviousY:t.controlPointNextY,r?n.controlPointNextX:n.controlPointPreviousX,r?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):void e.lineTo(n.x,n.y)}};r.clear=t.clear,r.drawRoundedRectangle=function(e){e.beginPath(),t.roundedRect.apply(t,arguments),e.closePath()}},function(e,t,n){\"use strict\";var r=n(59),i={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return-e*(e-2)},easeInOutQuad:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return(e-=1)*e*e+1},easeInOutCubic:function(e){return(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return-((e-=1)*e*e*e-1)},easeInOutQuart:function(e){return(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return(e-=1)*e*e*e*e+1},easeInOutQuint:function(e){return(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:(e/=.5)<1?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return e>=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:2==(e/=.5)?1:(n||(n=.45),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),e<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-i.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*i.easeInBounce(2*e):.5*i.easeOutBounce(2*e-1)+.5}};e.exports={effects:i},r.easingEffects=i},function(e,t,n){\"use strict\";var r=n(59);e.exports={toLineHeight:function(e,t){var n=(\"\"+e).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);if(!n||\"normal\"===n[1])return 1.2*t;switch(e=+n[2],n[3]){case\"px\":return e;case\"%\":e/=100}return t*e},toPadding:function(e){var t,n,i,o;return r.isObject(e)?(t=+e.top||0,n=+e.right||0,i=+e.bottom||0,o=+e.left||0):t=n=i=o=+e||0,{top:t,right:n,bottom:i,left:o,height:t+i,width:o+n}},resolve:function(e,t,n){var i,o,a;for(i=0,o=e.length;i
';var i=t.childNodes[0],a=t.childNodes[1];t._reset=function(){i.scrollLeft=1e6,i.scrollTop=1e6,a.scrollLeft=1e6,a.scrollTop=1e6};var s=function(){t._reset(),e()};return o(i,\"scroll\",s.bind(i,\"expand\")),o(a,\"scroll\",s.bind(a,\"shrink\")),t}function d(e,t){var n=e[v]||(e[v]={}),r=n.renderProxy=function(e){e.animationName===x&&t()};g.each(_,function(t){o(e,t,r)}),n.reflow=!!e.offsetParent,e.classList.add(b)}function f(e){var t=e[v]||{},n=t.renderProxy;n&&(g.each(_,function(t){a(e,t,n)}),delete t.renderProxy),e.classList.remove(b)}function h(e,t,n){var r=e[v]||(e[v]={}),i=r.resizer=c(u(function(){if(r.resizer)return t(s(\"resize\",n))}));d(e,function(){if(r.resizer){var t=e.parentNode;t&&t!==i.parentNode&&t.insertBefore(i,t.firstChild),i._reset()}})}function p(e){var t=e[v]||{},n=t.resizer;delete t.resizer,f(e),n&&n.parentNode&&n.parentNode.removeChild(n)}function m(e,t){var n=e._style||document.createElement(\"style\");e._style||(e._style=n,t=\"/* Chart.js */\\n\"+t,n.setAttribute(\"type\",\"text/css\"),document.getElementsByTagName(\"head\")[0].appendChild(n)),n.appendChild(document.createTextNode(t))}var g=n(6),v=\"$chartjs\",y=\"chartjs-\",b=y+\"render-monitor\",x=y+\"render-animation\",_=[\"animationstart\",\"webkitAnimationStart\"],w={touchstart:\"mousedown\",touchmove:\"mousemove\",touchend:\"mouseup\",pointerenter:\"mouseenter\",pointerdown:\"mousedown\",pointermove:\"mousemove\",pointerup:\"mouseup\",pointerleave:\"mouseout\",pointerout:\"mouseout\"},M=function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"e\",null,t)}catch(e){}return e}(),S=!!M&&{passive:!0};e.exports={_enabled:\"undefined\"!=typeof window&&\"undefined\"!=typeof document,initialize:function(){var e=\"from{opacity:0.99}to{opacity:1}\";m(this,\"@-webkit-keyframes \"+x+\"{\"+e+\"}@keyframes \"+x+\"{\"+e+\"}.\"+b+\"{-webkit-animation:\"+x+\" 0.001s;animation:\"+x+\" 0.001s;}\")},acquireContext:function(e,t){\"string\"==typeof e?e=document.getElementById(e):e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas);var n=e&&e.getContext&&e.getContext(\"2d\");return n&&n.canvas===e?(i(e,t),n):null},releaseContext:function(e){var t=e.canvas;if(t[v]){var n=t[v].initial;[\"height\",\"width\"].forEach(function(e){var r=n[e];g.isNullOrUndef(r)?t.removeAttribute(e):t.setAttribute(e,r)}),g.each(n.style||{},function(e,n){t.style[n]=e}),t.width=t.width,delete t[v]}},addEventListener:function(e,t,n){var r=e.canvas;if(\"resize\"===t)return void h(r,n,e);var i=n[v]||(n[v]={});o(r,t,(i.proxies||(i.proxies={}))[e.id+\"_\"+t]=function(t){n(l(t,e))})},removeEventListener:function(e,t,n){var r=e.canvas;if(\"resize\"===t)return void p(r);var i=n[v]||{},o=i.proxies||{},s=o[e.id+\"_\"+t];s&&a(r,t,s)}},g.addEvent=o,g.removeEvent=a},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"global\",{plugins:{filler:{propagate:!0}}}),e.exports=function(){function e(e,t,n){var r,i=e._model||{},o=i.fill;if(void 0===o&&(o=!!i.backgroundColor),!1===o||null===o)return!1;if(!0===o)return\"origin\";if(r=parseFloat(o,10),isFinite(r)&&Math.floor(r)===r)return\"-\"!==o[0]&&\"+\"!==o[0]||(r=t+r),!(r===t||r<0||r>=n)&&r;switch(o){case\"bottom\":return\"start\";case\"top\":return\"end\";case\"zero\":return\"origin\";case\"origin\":case\"start\":case\"end\":return o;default:return!1}}function t(e){var t,n=e.el._model||{},r=e.el._scale||{},i=e.fill,o=null;if(isFinite(i))return null;if(\"start\"===i?o=void 0===n.scaleBottom?r.bottom:n.scaleBottom:\"end\"===i?o=void 0===n.scaleTop?r.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:r.getBasePosition?o=r.getBasePosition():r.getBasePixel&&(o=r.getBasePixel()),void 0!==o&&null!==o){if(void 0!==o.x&&void 0!==o.y)return o;if(\"number\"==typeof o&&isFinite(o))return t=r.isHorizontal(),{x:t?o:null,y:t?null:o}}return null}function n(e,t,n){var r,i=e[t],o=i.fill,a=[t];if(!n)return o;for(;!1!==o&&-1===a.indexOf(o);){if(!isFinite(o))return o;if(!(r=e[o]))return!1;if(r.visible)return o;a.push(o),o=r.fill}return!1}function a(e){var t=e.fill,n=\"dataset\";return!1===t?null:(isFinite(t)||(n=\"boundary\"),c[n](e))}function s(e){return e&&!e.skip}function l(e,t,n,r,i){var a;if(r&&i){for(e.moveTo(t[0].x,t[0].y),a=1;a0;--a)o.canvas.lineTo(e,n[a],n[a-1],!0)}}function u(e,t,n,r,i,o){var a,u,c,d,f,h,p,m=t.length,g=r.spanGaps,v=[],y=[],b=0,x=0;for(e.beginPath(),a=0,u=m+!!o;a');for(var n=0;n'),e.data.datasets[n].label&&t.push(e.data.datasets[n].label),t.push(\"\");return t.push(\"\"),t.join(\"\")}}),e.exports=function(e){function t(e,t){return e.usePointStyle?t*Math.SQRT2:e.boxWidth}function n(t,n){var r=new e.Legend({ctx:t.ctx,options:n,chart:t});a.configure(t,r,n),a.addBox(t,r),t.legend=r}var a=e.layoutService,s=o.noop;return e.Legend=i.extend({initialize:function(e){o.extend(this,e),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:s,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:s,beforeSetDimensions:s,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:s,beforeBuildLabels:s,buildLabels:function(){var e=this,t=e.options.labels||{},n=o.callback(t.generateLabels,[e.chart],e)||[];t.filter&&(n=n.filter(function(n){return t.filter(n,e.chart.data)})),e.options.reverse&&n.reverse(),e.legendItems=n},afterBuildLabels:s,beforeFit:s,fit:function(){var e=this,n=e.options,i=n.labels,a=n.display,s=e.ctx,l=r.global,u=o.valueOrDefault,c=u(i.fontSize,l.defaultFontSize),d=u(i.fontStyle,l.defaultFontStyle),f=u(i.fontFamily,l.defaultFontFamily),h=o.fontString(c,d,f),p=e.legendHitBoxes=[],m=e.minSize,g=e.isHorizontal();if(g?(m.width=e.maxWidth,m.height=a?10:0):(m.width=a?10:0,m.height=e.maxHeight),a)if(s.font=h,g){var v=e.lineWidths=[0],y=e.legendItems.length?c+i.padding:0;s.textAlign=\"left\",s.textBaseline=\"top\",o.each(e.legendItems,function(n,r){var o=t(i,c),a=o+c/2+s.measureText(n.text).width;v[v.length-1]+a+i.padding>=e.width&&(y+=c+i.padding,v[v.length]=e.left),p[r]={left:0,top:0,width:a,height:c},v[v.length-1]+=a+i.padding}),m.height+=y}else{var b=i.padding,x=e.columnWidths=[],_=i.padding,w=0,M=0,S=c+b;o.each(e.legendItems,function(e,n){var r=t(i,c),o=r+c/2+s.measureText(e.text).width;M+S>m.height&&(_+=w+i.padding,x.push(w),w=0,M=0),w=Math.max(w,o),M+=S,p[n]={left:0,top:0,width:o,height:c}}),_+=w,x.push(w),m.width+=_}e.width=m.width,e.height=m.height},afterFit:s,isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},draw:function(){var e=this,n=e.options,i=n.labels,a=r.global,s=a.elements.line,l=e.width,u=e.lineWidths;if(n.display){var c,d=e.ctx,f=o.valueOrDefault,h=f(i.fontColor,a.defaultFontColor),p=f(i.fontSize,a.defaultFontSize),m=f(i.fontStyle,a.defaultFontStyle),g=f(i.fontFamily,a.defaultFontFamily),v=o.fontString(p,m,g);d.textAlign=\"left\",d.textBaseline=\"middle\",d.lineWidth=.5,d.strokeStyle=h,d.fillStyle=h,d.font=v;var y=t(i,p),b=e.legendHitBoxes,x=function(e,t,r){if(!(isNaN(y)||y<=0)){d.save(),d.fillStyle=f(r.fillStyle,a.defaultColor),d.lineCap=f(r.lineCap,s.borderCapStyle),d.lineDashOffset=f(r.lineDashOffset,s.borderDashOffset),d.lineJoin=f(r.lineJoin,s.borderJoinStyle),d.lineWidth=f(r.lineWidth,s.borderWidth),d.strokeStyle=f(r.strokeStyle,a.defaultColor);var i=0===f(r.lineWidth,s.borderWidth);if(d.setLineDash&&d.setLineDash(f(r.lineDash,s.borderDash)),n.labels&&n.labels.usePointStyle){var l=p*Math.SQRT2/2,u=l/Math.SQRT2,c=e+u,h=t+u;o.canvas.drawPoint(d,r.pointStyle,l,c,h)}else i||d.strokeRect(e,t,y,p),d.fillRect(e,t,y,p);d.restore()}},_=function(e,t,n,r){var i=p/2,o=y+i+e,a=t+i;d.fillText(n.text,o,a),n.hidden&&(d.beginPath(),d.lineWidth=2,d.moveTo(o,a),d.lineTo(o+r,a),d.stroke())},w=e.isHorizontal();c=w?{x:e.left+(l-u[0])/2,y:e.top+i.padding,line:0}:{x:e.left+i.padding,y:e.top+i.padding,line:0};var M=p+i.padding;o.each(e.legendItems,function(t,n){var r=d.measureText(t.text).width,o=y+p/2+r,a=c.x,s=c.y;w?a+o>=l&&(s=c.y+=M,c.line++,a=c.x=e.left+(l-u[c.line])/2):s+M>e.bottom&&(a=c.x=a+e.columnWidths[c.line]+i.padding,s=c.y=e.top+i.padding,c.line++),x(a,s,t),b[n].left=a,b[n].top=s,_(a,s,t,r),w?c.x+=o+i.padding:c.y+=M})}},handleEvent:function(e){var t=this,n=t.options,r=\"mouseup\"===e.type?\"click\":e.type,i=!1;if(\"mousemove\"===r){if(!n.onHover)return}else{if(\"click\"!==r)return;if(!n.onClick)return}var o=e.x,a=e.y;if(o>=t.left&&o<=t.right&&a>=t.top&&a<=t.bottom)for(var s=t.legendHitBoxes,l=0;l=u.left&&o<=u.left+u.width&&a>=u.top&&a<=u.top+u.height){if(\"click\"===r){n.onClick.call(t,e.native,t.legendItems[l]),i=!0;break}if(\"mousemove\"===r){n.onHover.call(t,e.native,t.legendItems[l]),i=!0;break}}}return i}}),{id:\"legend\",beforeInit:function(e){var t=e.options.legend;t&&n(e,t)},beforeUpdate:function(e){var t=e.options.legend,i=e.legend;t?(o.mergeIf(t,r.global.legend),i?(a.configure(e,i,t),i.options=t):n(e,t)):i&&(a.removeBox(e,i),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}}}},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6);r._set(\"global\",{title:{display:!1,fontStyle:\"bold\",fullWidth:!0,lineHeight:1.2,padding:10,position:\"top\",text:\"\",weight:2e3}}),e.exports=function(e){function t(t,r){var i=new e.Title({ctx:t.ctx,options:r,chart:t});n.configure(t,i,r),n.addBox(t,i),t.titleBlock=i}var n=e.layoutService,a=o.noop;return e.Title=i.extend({initialize:function(e){var t=this;o.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:a,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:a,beforeSetDimensions:a,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:a,beforeBuildLabels:a,buildLabels:a,afterBuildLabels:a,beforeFit:a,fit:function(){var e=this,t=o.valueOrDefault,n=e.options,i=n.display,a=t(n.fontSize,r.global.defaultFontSize),s=e.minSize,l=o.isArray(n.text)?n.text.length:1,u=o.options.toLineHeight(n.lineHeight,a),c=i?l*u+2*n.padding:0;e.isHorizontal()?(s.width=e.maxWidth,s.height=c):(s.width=c,s.height=e.maxHeight),e.width=s.width,e.height=s.height},afterFit:a,isHorizontal:function(){var e=this.options.position;return\"top\"===e||\"bottom\"===e},draw:function(){var e=this,t=e.ctx,n=o.valueOrDefault,i=e.options,a=r.global;if(i.display){var s,l,u,c=n(i.fontSize,a.defaultFontSize),d=n(i.fontStyle,a.defaultFontStyle),f=n(i.fontFamily,a.defaultFontFamily),h=o.fontString(c,d,f),p=o.options.toLineHeight(i.lineHeight,c),m=p/2+i.padding,g=0,v=e.top,y=e.left,b=e.bottom,x=e.right;t.fillStyle=n(i.fontColor,a.defaultFontColor),t.font=h,e.isHorizontal()?(l=y+(x-y)/2,u=v+m,s=x-y):(l=\"left\"===i.position?y+m:x-m,u=v+(b-v)/2,s=b-v,g=Math.PI*(\"left\"===i.position?-.5:.5)),t.save(),t.translate(l,u),t.rotate(g),t.textAlign=\"center\",t.textBaseline=\"middle\";var _=i.text;if(o.isArray(_))for(var w=0,M=0;M<_.length;++M)t.fillText(_[M],0,w,s),w+=p;else t.fillText(_,0,0,s);t.restore()}}}),{id:\"title\",beforeInit:function(e){var n=e.options.title;n&&t(e,n)},beforeUpdate:function(i){var a=i.options.title,s=i.titleBlock;a?(o.mergeIf(a,r.global.title),s?(n.configure(i,s,a),s.options=a):t(i,a)):s&&(e.layoutService.removeBox(i,s),delete i.titleBlock)}}}},function(e,t,n){\"use strict\";e.exports=function(e){var t={position:\"bottom\"},n=e.Scale.extend({getLabels:function(){var e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels},determineDataLimits:function(){var e=this,t=e.getLabels();e.minIndex=0,e.maxIndex=t.length-1;var n;void 0!==e.options.ticks.min&&(n=t.indexOf(e.options.ticks.min),e.minIndex=-1!==n?n:e.minIndex),void 0!==e.options.ticks.max&&(n=t.indexOf(e.options.ticks.max),e.maxIndex=-1!==n?n:e.maxIndex),e.min=t[e.minIndex],e.max=t[e.maxIndex]},buildTicks:function(){var e=this,t=e.getLabels();e.ticks=0===e.minIndex&&e.maxIndex===t.length-1?t:t.slice(e.minIndex,e.maxIndex+1)},getLabelForIndex:function(e,t){var n=this,r=n.chart.data,i=n.isHorizontal();return r.yLabels&&!i?n.getRightValue(r.datasets[t].data[e]):n.ticks[e-n.minIndex]},getPixelForValue:function(e,t){var n,r=this,i=r.options.offset,o=Math.max(r.maxIndex+1-r.minIndex-(i?0:1),1);if(void 0!==e&&null!==e&&(n=r.isHorizontal()?e.x:e.y),void 0!==n||void 0!==e&&isNaN(t)){var a=r.getLabels();e=n||e;var s=a.indexOf(e);t=-1!==s?s:t}if(r.isHorizontal()){var l=r.width/o,u=l*(t-r.minIndex);return i&&(u+=l/2),r.left+Math.round(u)}var c=r.height/o,d=c*(t-r.minIndex);return i&&(d+=c/2),r.top+Math.round(d)},getPixelForTick:function(e){return this.getPixelForValue(this.ticks[e],e+this.minIndex,null)},getValueForPixel:function(e){var t=this,n=t.options.offset,r=Math.max(t._ticks.length-(n?0:1),1),i=t.isHorizontal(),o=(i?t.width:t.height)/r;return e-=i?t.left:t.top,n&&(e-=o/2),(e<=0?0:Math.round(e/o))+t.minIndex},getBasePixel:function(){return this.bottom}});e.scaleService.registerScaleType(\"category\",n,t)}},function(e,t,n){\"use strict\";var r=n(8),i=n(6),o=n(45);e.exports=function(e){var t={position:\"left\",ticks:{callback:o.formatters.linear}},n=e.LinearScaleBase.extend({determineDataLimits:function(){function e(e){return s?e.xAxisID===t.id:e.yAxisID===t.id}var t=this,n=t.options,r=t.chart,o=r.data,a=o.datasets,s=t.isHorizontal();t.min=null,t.max=null;var l=n.stacked;if(void 0===l&&i.each(a,function(t,n){if(!l){var i=r.getDatasetMeta(n);r.isDatasetVisible(n)&&e(i)&&void 0!==i.stack&&(l=!0)}}),n.stacked||l){var u={};i.each(a,function(o,a){var s=r.getDatasetMeta(a),l=[s.type,void 0===n.stacked&&void 0===s.stack?a:\"\",s.stack].join(\".\");void 0===u[l]&&(u[l]={positiveValues:[],negativeValues:[]});var c=u[l].positiveValues,d=u[l].negativeValues;r.isDatasetVisible(a)&&e(s)&&i.each(o.data,function(e,r){var i=+t.getRightValue(e);isNaN(i)||s.data[r].hidden||(c[r]=c[r]||0,d[r]=d[r]||0,n.relativePoints?c[r]=100:i<0?d[r]+=i:c[r]+=i)})}),i.each(u,function(e){var n=e.positiveValues.concat(e.negativeValues),r=i.min(n),o=i.max(n);t.min=null===t.min?r:Math.min(t.min,r),t.max=null===t.max?o:Math.max(t.max,o)})}else i.each(a,function(n,o){var a=r.getDatasetMeta(o);r.isDatasetVisible(o)&&e(a)&&i.each(n.data,function(e,n){var r=+t.getRightValue(e);isNaN(r)||a.data[n].hidden||(null===t.min?t.min=r:rt.max&&(t.max=r))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var e,t=this,n=t.options.ticks;if(t.isHorizontal())e=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(t.width/50));else{var o=i.valueOrDefault(n.fontSize,r.global.defaultFontSize);e=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(t.height/(2*o)))}return e},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(e,t){return+this.getRightValue(this.chart.data.datasets[t].data[e])},getPixelForValue:function(e){var t,n=this,r=n.start,i=+n.getRightValue(e),o=n.end-r;return n.isHorizontal()?(t=n.left+n.width/o*(i-r),Math.round(t)):(t=n.bottom-n.height/o*(i-r),Math.round(t))},getValueForPixel:function(e){var t=this,n=t.isHorizontal(),r=n?t.width:t.height,i=(n?e-t.left:t.bottom-e)/r;return t.start+(t.end-t.start)*i},getPixelForTick:function(e){return this.getPixelForValue(this.ticksAsNumbers[e])}});e.scaleService.registerScaleType(\"linear\",n,t)}},function(e,t,n){\"use strict\";var r=n(6),i=n(45);e.exports=function(e){var t=r.noop;e.LinearScaleBase=e.Scale.extend({getRightValue:function(t){return\"string\"==typeof t?+t:e.Scale.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var e=this,t=e.options,n=t.ticks;if(n.beginAtZero){var i=r.sign(e.min),o=r.sign(e.max);i<0&&o<0?e.max=0:i>0&&o>0&&(e.min=0)}var a=void 0!==n.min||void 0!==n.suggestedMin,s=void 0!==n.max||void 0!==n.suggestedMax;void 0!==n.min?e.min=n.min:void 0!==n.suggestedMin&&(null===e.min?e.min=n.suggestedMin:e.min=Math.min(e.min,n.suggestedMin)),void 0!==n.max?e.max=n.max:void 0!==n.suggestedMax&&(null===e.max?e.max=n.suggestedMax:e.max=Math.max(e.max,n.suggestedMax)),a!==s&&e.min>=e.max&&(a?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,n.beginAtZero||e.min--)},getTickLimit:t,handleDirectionalChanges:t,buildTicks:function(){var e=this,t=e.options,n=t.ticks,o=e.getTickLimit();o=Math.max(2,o);var a={maxTicks:o,min:n.min,max:n.max,stepSize:r.valueOrDefault(n.fixedStepSize,n.stepSize)},s=e.ticks=i.generators.linear(a,e);e.handleDirectionalChanges(),e.max=r.max(s),e.min=r.min(s),n.reverse?(s.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),e.Scale.prototype.convertTicksToLabels.call(t)}})}},function(e,t,n){\"use strict\";var r=n(6),i=n(45);e.exports=function(e){var t={position:\"left\",ticks:{callback:i.formatters.logarithmic}},n=e.Scale.extend({determineDataLimits:function(){function e(e){return u?e.xAxisID===t.id:e.yAxisID===t.id}var t=this,n=t.options,i=n.ticks,o=t.chart,a=o.data,s=a.datasets,l=r.valueOrDefault,u=t.isHorizontal();t.min=null,t.max=null,t.minNotZero=null;var c=n.stacked;if(void 0===c&&r.each(s,function(t,n){if(!c){var r=o.getDatasetMeta(n);o.isDatasetVisible(n)&&e(r)&&void 0!==r.stack&&(c=!0)}}),n.stacked||c){var d={};r.each(s,function(i,a){var s=o.getDatasetMeta(a),l=[s.type,void 0===n.stacked&&void 0===s.stack?a:\"\",s.stack].join(\".\");o.isDatasetVisible(a)&&e(s)&&(void 0===d[l]&&(d[l]=[]),r.each(i.data,function(e,r){var i=d[l],o=+t.getRightValue(e);isNaN(o)||s.data[r].hidden||(i[r]=i[r]||0,n.relativePoints?i[r]=100:i[r]+=o)}))}),r.each(d,function(e){var n=r.min(e),i=r.max(e);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?i:Math.max(t.max,i)})}else r.each(s,function(n,i){var a=o.getDatasetMeta(i);o.isDatasetVisible(i)&&e(a)&&r.each(n.data,function(e,n){var r=+t.getRightValue(e);isNaN(r)||a.data[n].hidden||(null===t.min?t.min=r:rt.max&&(t.max=r),0!==r&&(null===t.minNotZero||ri?{start:t-n-5,end:t}:{start:t,end:t+n+5}}function l(e){var r,o,l,u=n(e),c=Math.min(e.height/2,e.width/2),d={r:e.width,l:0,t:e.height,b:0},f={};e.ctx.font=u.font,e._pointLabelSizes=[];var h=t(e);for(r=0;rd.r&&(d.r=g.end,f.r=p),v.startd.b&&(d.b=v.end,f.b=p)}e.setReductions(c,d,f)}function u(e){var t=Math.min(e.height/2,e.width/2);e.drawingArea=Math.round(t),e.setCenterPoint(0,0,0,0)}function c(e){return 0===e||180===e?\"center\":e<180?\"left\":\"right\"}function d(e,t,n,r){if(i.isArray(t))for(var o=n.y,a=1.5*r,s=0;s270||e<90)&&(n.y-=t.h)}function h(e){var r=e.ctx,o=i.valueOrDefault,a=e.options,s=a.angleLines,l=a.pointLabels;r.lineWidth=s.lineWidth,r.strokeStyle=s.color;var u=e.getDistanceFromCenterForValue(a.ticks.reverse?e.min:e.max),h=n(e);r.textBaseline=\"top\";for(var p=t(e)-1;p>=0;p--){if(s.display){var m=e.getPointPosition(p,u);r.beginPath(),r.moveTo(e.xCenter,e.yCenter),r.lineTo(m.x,m.y),r.stroke(),r.closePath()}if(l.display){var v=e.getPointPosition(p,u+5),y=o(l.fontColor,g.defaultFontColor);r.font=h.font,r.fillStyle=y;var b=e.getIndexAngle(p),x=i.toDegrees(b);r.textAlign=c(x),f(x,e._pointLabelSizes[p],v),d(r,e.pointLabels[p]||\"\",v,h.size)}}}function p(e,n,r,o){var a=e.ctx;if(a.strokeStyle=i.valueAtIndexOrDefault(n.color,o-1),a.lineWidth=i.valueAtIndexOrDefault(n.lineWidth,o-1),e.options.gridLines.circular)a.beginPath(),a.arc(e.xCenter,e.yCenter,r,0,2*Math.PI),a.closePath(),a.stroke();else{var s=t(e);if(0===s)return;a.beginPath();var l=e.getPointPosition(0,r);a.moveTo(l.x,l.y);for(var u=1;u0&&n>0?t:0)},draw:function(){var e=this,t=e.options,n=t.gridLines,r=t.ticks,o=i.valueOrDefault;if(t.display){var a=e.ctx,s=this.getIndexAngle(0),l=o(r.fontSize,g.defaultFontSize),u=o(r.fontStyle,g.defaultFontStyle),c=o(r.fontFamily,g.defaultFontFamily),d=i.fontString(l,u,c);i.each(e.ticks,function(t,i){if(i>0||r.reverse){var u=e.getDistanceFromCenterForValue(e.ticksAsNumbers[i]);if(n.display&&0!==i&&p(e,n,u,i),r.display){var c=o(r.fontColor,g.defaultFontColor);if(a.font=d,a.save(),a.translate(e.xCenter,e.yCenter),a.rotate(s),r.showLabelBackdrop){var f=a.measureText(t).width;a.fillStyle=r.backdropColor,a.fillRect(-f/2-r.backdropPaddingX,-u-l/2-r.backdropPaddingY,f+2*r.backdropPaddingX,l+2*r.backdropPaddingY)}a.textAlign=\"center\",a.textBaseline=\"middle\",a.fillStyle=c,a.fillText(t,0,-u),a.restore()}}}),(t.angleLines.display||t.pointLabels.display)&&h(e)}}});e.scaleService.registerScaleType(\"radialLinear\",y,v)}},function(e,t,n){\"use strict\";function r(e,t){return e-t}function i(e){var t,n,r,i={},o=[];for(t=0,n=e.length;tt&&s=0&&a<=s;){if(r=a+s>>1,i=e[r-1]||null,o=e[r],!i)return{lo:null,hi:o};if(o[t]n))return{lo:i,hi:o};s=r-1}}return{lo:o,hi:null}}function s(e,t,n,r){var i=a(e,t,n),o=i.lo?i.hi?i.lo:e[e.length-2]:e[0],s=i.lo?i.hi?i.hi:e[e.length-1]:e[1],l=s[t]-o[t],u=l?(n-o[t])/l:0,c=(s[r]-o[r])*u;return o[r]+c}function l(e,t){var n=t.parser,r=t.parser||t.format;return\"function\"==typeof n?n(e):\"string\"==typeof e&&\"string\"==typeof r?v(e,r):(e instanceof v||(e=v(e)),e.isValid()?e:\"function\"==typeof r?r(e):e)}function u(e,t){if(b.isNullOrUndef(e))return null;var n=t.options.time,r=l(t.getRightValue(e),n);return r.isValid()?(n.round&&r.startOf(n.round),r.valueOf()):null}function c(e,t,n,r){var i,o,a,s=t-e,l=w[n],u=l.size,c=l.steps;if(!c)return Math.ceil(s/((r||1)*u));for(i=0,o=c.length;i=M.indexOf(t);i--)if(o=M[i],w[o].common&&a.as(o)>=e.length)return o;return M[t?M.indexOf(t):0]}function h(e){for(var t=M.indexOf(e)+1,n=M.length;t1?t[1]:r,a=t[0],l=(s(e,\"time\",o,\"pos\")-s(e,\"time\",a,\"pos\"))/2),i.time.max||(o=t[t.length-1],a=t.length>1?t[t.length-2]:n,u=(s(e,\"time\",o,\"pos\")-s(e,\"time\",a,\"pos\"))/2)),{left:l,right:u}}function g(e,t){var n,r,i,o,a=[];for(n=0,r=e.length;n=i&&n<=a&&d.push(n);return r.min=i,r.max=a,r._unit=l.unit||f(d,l.minUnit,r.min,r.max),r._majorUnit=h(r._unit),r._table=o(r._timestamps.data,i,a,s.distribution),r._offsets=m(r._table,d,i,a,s),g(d,r._majorUnit)},getLabelForIndex:function(e,t){var n=this,r=n.chart.data,i=n.options.time,o=r.labels&&e=0&&e.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]}function u(e){var t,n,r,i=l(e),o=i[0],a=i[1],s=i[2];return o/=95.047,a/=100,s/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,t=116*a-16,n=500*(o-a),r=200*(a-s),[t,n,r]}function c(e){return z(u(e))}function d(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100;if(0==s)return o=255*l,[o,o,o];n=l<.5?l*(1+s):l+s-l*s,t=2*l-n,i=[0,0,0];for(var u=0;u<3;u++)r=a+1/3*-(u-1),r<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[u]=255*o;return i}function f(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100;return 0===o?[0,0,0]:(o*=2,i*=o<=1?o:2-o,n=(o+i)/2,t=2*i/(o+i),[r,100*t,100*n])}function h(e){return o(d(e))}function p(e){return a(d(e))}function m(e){return s(d(e))}function v(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),l=255*r*(1-n*(1-o)),r=255*r;switch(i){case 0:return[r,l,a];case 1:return[s,r,a];case 2:return[a,r,l];case 3:return[a,s,r];case 4:return[l,a,r];case 5:return[r,a,s]}}function y(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100;return n=(2-i)*o,t=i*o,t/=n<=1?n:2-n,t=t||0,n/=2,[r,100*t,100*n]}function x(e){return o(v(e))}function _(e){return a(v(e))}function w(e){return s(v(e))}function M(e){var t,n,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100,u=s+l;switch(u>1&&(s/=u,l/=u),t=Math.floor(6*a),n=1-l,i=6*a-t,0!=(1&t)&&(i=1-i),o=s+i*(n-s),t){default:case 6:case 0:r=n,g=o,b=s;break;case 1:r=o,g=n,b=s;break;case 2:r=s,g=n,b=o;break;case 3:r=s,g=o,b=n;break;case 4:r=o,g=s,b=n;break;case 5:r=n,g=s,b=o}return[255*r,255*g,255*b]}function S(e){return n(M(e))}function E(e){return i(M(e))}function T(e){return a(M(e))}function k(e){return s(M(e))}function O(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100,s=e[3]/100;return t=1-Math.min(1,i*(1-s)+s),n=1-Math.min(1,o*(1-s)+s),r=1-Math.min(1,a*(1-s)+s),[255*t,255*n,255*r]}function P(e){return n(O(e))}function C(e){return i(O(e))}function A(e){return o(O(e))}function R(e){return s(O(e))}function L(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return t=3.2406*i+-1.5372*o+-.4986*a,n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=t>.0031308?1.055*Math.pow(t,1/2.4)-.055:t*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*=12.92,t=Math.min(Math.max(0,t),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*t,255*n,255*r]}function I(e){var t,n,r,i=e[0],o=e[1],a=e[2];return i/=95.047,o/=100,a/=108.883,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,t=116*o-16,n=500*(i-o),r=200*(o-a),[t,n,r]}function D(e){return z(I(e))}function N(e){var t,n,r,i,o=e[0],a=e[1],s=e[2];return o<=8?(n=100*o/903.3,i=n/100*7.787+16/116):(n=100*Math.pow((o+16)/116,3),i=Math.pow(n/100,1/3)),t=t/95.047<=.008856?t=95.047*(a/500+i-16/116)/7.787:95.047*Math.pow(a/500+i,3),r=r/108.883<=.008859?r=108.883*(i-s/200-16/116)/7.787:108.883*Math.pow(i-s/200,3),[t,n,r]}function z(e){var t,n,r,i=e[0],o=e[1],a=e[2];return t=Math.atan2(a,o),n=360*t/2/Math.PI,n<0&&(n+=360),r=Math.sqrt(o*o+a*a),[i,r,n]}function B(e){return L(N(e))}function F(e){var t,n,r,i=e[0],o=e[1],a=e[2];return r=a/360*2*Math.PI,t=o*Math.cos(r),n=o*Math.sin(r),[i,t,n]}function j(e){return N(F(e))}function U(e){return B(F(e))}function W(e){return Z[e]}function G(e){return n(W(e))}function V(e){return i(W(e))}function H(e){return o(W(e))}function Y(e){return a(W(e))}function q(e){return u(W(e))}function X(e){return l(W(e))}e.exports={rgb2hsl:n,rgb2hsv:i,rgb2hwb:o,rgb2cmyk:a,rgb2keyword:s,rgb2xyz:l,rgb2lab:u,rgb2lch:c,hsl2rgb:d,hsl2hsv:f,hsl2hwb:h,hsl2cmyk:p,hsl2keyword:m,hsv2rgb:v,hsv2hsl:y,hsv2hwb:x,hsv2cmyk:_,hsv2keyword:w,hwb2rgb:M,hwb2hsl:S,hwb2hsv:E,hwb2cmyk:T,hwb2keyword:k,cmyk2rgb:O,cmyk2hsl:P,cmyk2hsv:C,cmyk2hwb:A,cmyk2keyword:R,keyword2rgb:W,keyword2hsl:G,keyword2hsv:V,keyword2hwb:H,keyword2cmyk:Y,keyword2lab:q,keyword2xyz:X,xyz2rgb:L,xyz2lab:I,xyz2lch:D,lab2xyz:N,lab2rgb:B,lab2lch:z,lch2lab:F,lch2xyz:j,lch2rgb:U};var Z={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]},K={};for(var J in Z)K[JSON.stringify(Z[J])]=J},function(e,t,n){var r=n(287),i=function(){return new u};for(var o in r){i[o+\"Raw\"]=function(e){return function(t){return\"number\"==typeof t&&(t=Array.prototype.slice.call(arguments)),r[e](t)}}(o);var a=/(\\w+)2(\\w+)/.exec(o),s=a[1],l=a[2];i[s]=i[s]||{},i[s][l]=i[o]=function(e){return function(t){\"number\"==typeof t&&(t=Array.prototype.slice.call(arguments));var n=r[e](t);if(\"string\"==typeof n||void 0===n)return n;for(var i=0;ic;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(28),i=n(76),o=n(41),a=n(63),s=n(310);e.exports=function(e,t){var n=1==e,l=2==e,u=3==e,c=4==e,d=6==e,f=5==e||d,h=t||s;return function(t,s,p){for(var m,g,v=o(t),y=i(v),b=r(s,p,3),x=a(y.length),_=0,w=n?h(t,x):l?h(t,0):void 0;x>_;_++)if((f||_ in y)&&(m=y[_],g=b(m,_,v),e))if(n)w[_]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(c)return!1;return d?-1:u||c?c:w}}},function(e,t,n){var r=n(20),i=n(116),o=n(15)(\"species\");e.exports=function(e){var t;return i(e)&&(t=e.constructor,\"function\"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(309);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){\"use strict\";var r=n(21).f,i=n(61),o=n(83),a=n(28),s=n(71),l=n(48),u=n(77),c=n(119),d=n(126),f=n(26),h=n(78).fastKey,p=n(129),m=f?\"_s\":\"size\",g=function(e,t){var n,r=h(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var c=e(function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&l(r,n,e[u],e)});return o(c.prototype,{clear:function(){for(var e=p(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=p(this,t),r=g(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){p(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(p(this,t),e)}}),f&&r(c.prototype,\"size\",{get:function(){return p(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=g(e,t);return o?o.v=n:(e._l=o={i:i=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,\"F\"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=p(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?\"keys\"==t?c(0,n.k):\"values\"==t?c(0,n.v):c(0,[n.k,n.v]):(e._t=void 0,c(1))},n?\"entries\":\"values\",!n,!0),d(t)}}},function(e,t,n){var r=n(72),i=n(306);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return i(this)}}},function(e,t,n){\"use strict\";var r=n(14),i=n(12),o=n(78),a=n(36),s=n(34),l=n(83),u=n(48),c=n(71),d=n(20),f=n(52),h=n(21).f,p=n(308)(0),m=n(26);e.exports=function(e,t,n,g,v,y){var b=r[e],x=b,_=v?\"set\":\"add\",w=x&&x.prototype,M={};return m&&\"function\"==typeof x&&(y||w.forEach&&!a(function(){(new x).entries().next()}))?(x=t(function(t,n){c(t,x,e,\"_c\"),t._c=new b,void 0!=n&&u(n,v,t[_],t)}),p(\"add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON\".split(\",\"),function(e){var t=\"add\"==e||\"set\"==e;e in w&&(!y||\"clear\"!=e)&&s(x.prototype,e,function(n,r){if(c(this,x,e),!t&&y&&!d(n))return\"get\"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(x.prototype,\"size\",{get:function(){return this._c.size}})):(x=g.getConstructor(t,e,v,_),l(x.prototype,n),o.NEED=!0),f(x,e),M[e]=x,i(i.G+i.W+i.F,M),y||g.setStrong(x,e,v),x}},function(e,t,n){\"use strict\";var r=n(21),i=n(51);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(50),i=n(81),o=n(62);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),l=o.f,u=0;s.length>u;)l.call(e,a=s[u++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){\"use strict\";var r=n(61),i=n(51),o=n(52),a={};n(34)(a,n(15)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(14),i=n(128).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,l=\"process\"==n(47)(a);e.exports=function(){var e,t,n,u=function(){var r,i;for(l&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){a.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve();n=function(){c.then(u)}}else n=function(){i.call(r,u)};else{var d=!0,f=document.createTextNode(\"\");new o(u).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){\"use strict\";var r=n(50),i=n(81),o=n(62),a=n(41),s=n(76),l=Object.assign;e.exports=!l||n(36)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join(\"\")!=r})?function(e,t){for(var n=a(e),l=arguments.length,u=1,c=i.f,d=o.f;l>u;)for(var f,h=s(arguments[u++]),p=c?r(h).concat(c(h)):r(h),m=p.length,g=0;m>g;)d.call(h,f=p[g++])&&(n[f]=h[f]);return n}:l},function(e,t,n){var r=n(21),i=n(25),o=n(50);e.exports=n(26)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,l=0;s>l;)r.f(e,n=a[l++],t[n]);return e}},function(e,t,n){var r=n(38),i=n(120).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?s(e):i(r(e))}},function(e,t,n){\"use strict\";var r=n(12),i=n(46),o=n(28),a=n(48);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,l=arguments[1];return i(this),t=void 0!==l,t&&i(l),void 0==e?new this:(n=[],t?(r=0,s=o(l,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(12);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){var r=n(20),i=n(25),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(28)(Function.call,n(80).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){var r=n(86),i=n(73);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),l=r(n),u=s.length;return l<0||l>=u?e?\"\":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?e?s.charAt(l):o:e?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(86),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(25),i=n(90);e.exports=n(9).getIterator=function(e){var t=i(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){\"use strict\";var r=n(28),i=n(12),o=n(41),a=n(117),s=n(115),l=n(63),u=n(314),c=n(90);i(i.S+i.F*!n(118)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,i,d,f=o(e),h=\"function\"==typeof this?this:Array,p=arguments.length,m=p>1?arguments[1]:void 0,g=void 0!==m,v=0,y=c(f);if(g&&(m=r(m,p>2?arguments[2]:void 0,2)),void 0==y||h==Array&&s(y))for(t=l(f.length),n=new h(t);t>v;v++)u(n,v,g?m(f[v],v):f[v]);else for(d=y.call(f),n=new h;!(i=d.next()).done;v++)u(n,v,g?a(d,m,[i.value,v],!0):i.value);return n.length=v,n}})},function(e,t,n){\"use strict\";var r=n(305),i=n(119),o=n(49),a=n(38);e.exports=n(77)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){var r=n(12);r(r.S,\"Math\",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(12);r(r.S+r.F,\"Object\",{assign:n(319)})},function(e,t,n){var r=n(12);r(r.S,\"Object\",{create:n(61)})},function(e,t,n){var r=n(12);r(r.S+r.F*!n(26),\"Object\",{defineProperty:n(21).f})},function(e,t,n){var r=n(38),i=n(80).f;n(82)(\"getOwnPropertyDescriptor\",function(){return function(e,t){return i(r(e),t)}})},function(e,t,n){var r=n(41),i=n(121);n(82)(\"getPrototypeOf\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(41),i=n(50);n(82)(\"keys\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(12);r(r.S,\"Object\",{setPrototypeOf:n(324).set})},function(e,t,n){\"use strict\";var r,i,o,a,s=n(60),l=n(14),u=n(28),c=n(72),d=n(12),f=n(20),h=n(46),p=n(71),m=n(48),g=n(127),v=n(128).set,y=n(318)(),b=n(79),x=n(123),_=n(124),w=l.TypeError,M=l.process,S=l.Promise,E=\"process\"==c(M),T=function(){},k=i=b.f,O=!!function(){try{var e=S.resolve(1),t=(e.constructor={})[n(15)(\"species\")]=function(e){e(T,T)};return(E||\"function\"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t}catch(e){}}(),P=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},C=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)!function(t){var n,o,a=i?t.ok:t.fail,s=t.resolve,l=t.reject,u=t.domain;try{a?(i||(2==e._h&&L(e),e._h=1),!0===a?n=r:(u&&u.enter(),n=a(r),u&&u.exit()),n===t.promise?l(w(\"Promise-chain cycle\")):(o=P(n))?o.call(n,s,l):s(n)):l(r)}catch(e){l(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&A(e)})}},A=function(e){v.call(l,function(){var t,n,r,i=e._v,o=R(e);if(o&&(t=x(function(){E?M.emit(\"unhandledRejection\",i,e):(n=l.onunhandledrejection)?n({promise:e,reason:i}):(r=l.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),e._h=E||R(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},R=function(e){return 1!==e._h&&0===(e._a||e._c).length},L=function(e){v.call(l,function(){var t;E?M.emit(\"rejectionHandled\",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},I=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),C(t,!0))},D=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw w(\"Promise can't be resolved itself\");(t=P(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,u(D,r,1),u(I,r,1))}catch(e){I.call(r,e)}}):(n._v=e,n._s=1,C(n,!1))}catch(e){I.call({_w:n,_d:!1},e)}}};O||(S=function(e){p(this,S,\"Promise\",\"_h\"),h(e),r.call(this);try{e(u(D,this,1),u(I,this,1))}catch(e){I.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(83)(S.prototype,{then:function(e,t){var n=k(g(this,S));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=E?M.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=u(D,e,1),this.reject=u(I,e,1)},b.f=k=function(e){return e===S||e===a?new o(e):i(e)}),d(d.G+d.W+d.F*!O,{Promise:S}),n(52)(S,\"Promise\"),n(126)(\"Promise\"),a=n(9).Promise,d(d.S+d.F*!O,\"Promise\",{reject:function(e){var t=k(this);return(0,t.reject)(e),t.promise}}),d(d.S+d.F*(s||!O),\"Promise\",{resolve:function(e){return _(s&&this===a?S:this,e)}}),d(d.S+d.F*!(O&&n(118)(function(e){S.all(e).catch(T)})),\"Promise\",{all:function(e){var t=this,n=k(t),r=n.resolve,i=n.reject,o=x(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,l=!1;n.push(void 0),a++,t.resolve(e).then(function(e){l||(l=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=k(t),r=n.reject,i=x(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t,n){\"use strict\";var r=n(311),i=n(129);e.exports=n(313)(\"Set\",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,\"Set\"),e=0===e?0:e,e)}},r)},function(e,t,n){\"use strict\";var r=n(14),i=n(37),o=n(26),a=n(12),s=n(125),l=n(78).KEY,u=n(36),c=n(85),d=n(52),f=n(64),h=n(15),p=n(89),m=n(88),g=n(315),v=n(116),y=n(25),b=n(20),x=n(38),_=n(87),w=n(51),M=n(61),S=n(321),E=n(80),T=n(21),k=n(50),O=E.f,P=T.f,C=S.f,A=r.Symbol,R=r.JSON,L=R&&R.stringify,I=h(\"_hidden\"),D=h(\"toPrimitive\"),N={}.propertyIsEnumerable,z=c(\"symbol-registry\"),B=c(\"symbols\"),F=c(\"op-symbols\"),j=Object.prototype,U=\"function\"==typeof A,W=r.QObject,G=!W||!W.prototype||!W.prototype.findChild,V=o&&u(function(){return 7!=M(P({},\"a\",{get:function(){return P(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=O(j,t);r&&delete j[t],P(e,t,n),r&&e!==j&&P(j,t,r)}:P,H=function(e){var t=B[e]=M(A.prototype);return t._k=e,t},Y=U&&\"symbol\"==typeof A.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof A},q=function(e,t,n){return e===j&&q(F,t,n),y(e),t=_(t,!0),y(n),i(B,t)?(n.enumerable?(i(e,I)&&e[I][t]&&(e[I][t]=!1),n=M(n,{enumerable:w(0,!1)})):(i(e,I)||P(e,I,w(1,{})),e[I][t]=!0),V(e,t,n)):P(e,t,n)},X=function(e,t){y(e);for(var n,r=g(t=x(t)),i=0,o=r.length;o>i;)q(e,n=r[i++],t[n]);return e},Z=function(e,t){return void 0===t?M(e):X(M(e),t)},K=function(e){var t=N.call(this,e=_(e,!0));return!(this===j&&i(B,e)&&!i(F,e))&&(!(t||!i(this,e)||!i(B,e)||i(this,I)&&this[I][e])||t)},J=function(e,t){if(e=x(e),t=_(t,!0),e!==j||!i(B,t)||i(F,t)){var n=O(e,t);return!n||!i(B,t)||i(e,I)&&e[I][t]||(n.enumerable=!0),n}},$=function(e){for(var t,n=C(x(e)),r=[],o=0;n.length>o;)i(B,t=n[o++])||t==I||t==l||r.push(t);return r},Q=function(e){for(var t,n=e===j,r=C(n?F:x(e)),o=[],a=0;r.length>a;)!i(B,t=r[a++])||n&&!i(j,t)||o.push(B[t]);return o};U||(A=function(){if(this instanceof A)throw TypeError(\"Symbol is not a constructor!\");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===j&&t.call(F,n),i(this,I)&&i(this[I],e)&&(this[I][e]=!1),V(this,e,w(1,n))};return o&&G&&V(j,e,{configurable:!0,set:t}),H(e)},s(A.prototype,\"toString\",function(){return this._k}),E.f=J,T.f=q,n(120).f=S.f=$,n(62).f=K,n(81).f=Q,o&&!n(60)&&s(j,\"propertyIsEnumerable\",K,!0),p.f=function(e){return H(h(e))}),a(a.G+a.W+a.F*!U,{Symbol:A});for(var ee=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),te=0;ee.length>te;)h(ee[te++]);for(var ne=k(h.store),re=0;ne.length>re;)m(ne[re++]);a(a.S+a.F*!U,\"Symbol\",{for:function(e){return i(z,e+=\"\")?z[e]:z[e]=A(e)},keyFor:function(e){if(!Y(e))throw TypeError(e+\" is not a symbol!\");for(var t in z)if(z[t]===e)return t},useSetter:function(){G=!0},useSimple:function(){G=!1}}),a(a.S+a.F*!U,\"Object\",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),R&&a(a.S+a.F*(!U||u(function(){var e=A();return\"[null]\"!=L([e])||\"{}\"!=L({a:e})||\"{}\"!=L(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(b(t)||void 0!==e)&&!Y(e))return v(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!Y(t))return t}),r[1]=t,L.apply(R,r)}}),A.prototype[D]||n(34)(A.prototype,D,A.prototype.valueOf),d(A,\"Symbol\"),d(Math,\"Math\",!0),d(r.JSON,\"JSON\",!0)},function(e,t,n){\"use strict\";var r=n(12),i=n(9),o=n(14),a=n(127),s=n(124);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,i.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(12),i=n(79),o=n(123);r(r.S,\"Promise\",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){n(322)(\"Set\")},function(e,t,n){n(323)(\"Set\")},function(e,t,n){var r=n(12);r(r.P+r.R,\"Set\",{toJSON:n(312)(\"Set\")})},function(e,t,n){n(88)(\"asyncIterator\")},function(e,t,n){n(88)(\"observable\")},function(e,t,n){\"use strict\";var r=n(66),i={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(\"on\"+t,n),{remove:function(){e.detachEvent(\"on\"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=i},function(e,t,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=i},function(e,t,n){\"use strict\";function r(e,t){return!(!e||!t)&&(e===t||!i(e)&&(i(t)?r(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var i=n(355);e.exports=r},function(e,t,n){\"use strict\";function r(e){try{e.focus()}catch(e){}}e.exports=r},function(e,t,n){\"use strict\";function r(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r,o,a,s,l){if(i(t),!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,o,a,s,l],d=0;u=new Error(t.replace(/%s/g,function(){return c[d++]})),u.name=\"Invariant Violation\"}throw u.framesToPop=1,u}}var i=function(e){};e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!(\"function\"==typeof n.Node?e instanceof n.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}e.exports=r},function(e,t,n){\"use strict\";function r(e){return i(e)&&3==e.nodeType}var i=n(354);e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function i(e,t){if(r(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e}e.exports=n},function(e,t){function n(e,t,n){return e[0]=t,e[1]=n,e}e.exports=n},function(e,t){function n(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e in a?a[e]:a[e]=e.replace(i,\"-$&\").toLowerCase().replace(o,\"-ms-\")}var i=/[A-Z]/g,o=/^ms-/,a={};e.exports=r},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){var t=e.prefixMap,n=e.plugins,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=\"undefined\"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=n.userAgent||r,this._keepUnprefixed=n.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,l.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,c.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var o=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(o){this._requiresPrefix={};for(var a in o)o[a]>=this._browserInfo.browserVersion&&(this._requiresPrefix[a]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return a(e,[{key:\"prefix\",value:function(e){return this._useFallback?r(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:\"_prefixStyle\",value:function(e){for(var t in e){var r=e[t];if((0,g.default)(r))e[t]=this.prefix(r);else if(Array.isArray(r)){for(var i=[],o=0,a=r.length;o0&&(e[t]=i)}else{var l=(0,y.default)(n,t,r,e,this._metaData);l&&(e[t]=l),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,f.default)(t)]=r,this._keepUnprefixed||delete e[t])}}return e}}],[{key:\"prefixAll\",value:function(e){return r(e)}}]),e}()}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||(\"ios_saf\"===i||\"safari\"===i)&&a<10))return(0,o.default)(t.replace(/cross-fade\\(/g,s+\"cross-fade(\"),t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,l=r.browserVersion,u=r.cssPrefix,c=r.keepUnprefixed;return\"cursor\"!==e||!a[t]||\"firefox\"!==i&&\"chrome\"!==i&&\"safari\"!==i&&\"opera\"!==i?\"cursor\"===e&&s[t]&&(\"firefox\"===i&&l<24||\"chrome\"===i&&l<37||\"safari\"===i&&l<9||\"opera\"===i&&l<24)?(0,o.default)(u+t,t,c):void 0:(0,o.default)(u+t,t,c)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={grab:!0,grabbing:!0},s={\"zoom-in\":!0,\"zoom-out\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.browserVersion,s=r.cssPrefix,l=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"filter(\")>-1&&(\"ios_saf\"===i||\"safari\"===i&&a<9.1))return(0,o.default)(t.replace(/filter\\(/g,s+\"filter(\"),t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,l=r.cssPrefix,u=r.keepUnprefixed;if(\"display\"===e&&a[t]&&(\"chrome\"===i&&s<29&&s>20||(\"safari\"===i||\"ios_saf\"===i)&&s<9&&s>6||\"opera\"===i&&(15===s||16===s)))return(0,o.default)(l+t,t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={flex:!0,\"inline-flex\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,l=r.browserVersion,c=r.cssPrefix,d=r.keepUnprefixed,f=r.requiresPrefix;if((u.indexOf(e)>-1||\"display\"===e&&\"string\"==typeof t&&t.indexOf(\"flex\")>-1)&&(\"firefox\"===i&&l<22||\"chrome\"===i&&l<21||(\"safari\"===i||\"ios_saf\"===i)&&l<=6.1||\"android\"===i&&l<4.4||\"and_uc\"===i)){if(delete f[e],d||Array.isArray(n[e])||delete n[e],\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),\"display\"===e&&a.hasOwnProperty(t))return(0,o.default)(c+a[t],t,d);s.hasOwnProperty(e)&&(n[s[e]]=a[t]||t)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\",flex:\"box\",\"inline-flex\":\"inline-box\"},s={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"},l=[\"alignContent\",\"alignSelf\",\"order\",\"flexGrow\",\"flexShrink\",\"flexBasis\",\"flexDirection\"],u=Object.keys(s).concat(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,l=r.cssPrefix,u=r.keepUnprefixed;if(\"string\"==typeof t&&a.test(t)&&(\"firefox\"===i&&s<16||\"chrome\"===i&&s<26||(\"safari\"===i||\"ios_saf\"===i)&&s<7||(\"opera\"===i||\"op_mini\"===i)&&s<12.1||\"android\"===i&&s<4.4||\"and_uc\"===i))return(0,o.default)(l+t,t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"image-set(\")>-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||\"and_uc\"===i||\"ios_saf\"===i||\"safari\"===i))return(0,o.default)(t.replace(/image-set\\(/g,a+\"image-set(\"),t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"position\"===e&&\"sticky\"===t&&(\"safari\"===i||\"ios_saf\"===i))return(0,o.default)(a+t,t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,l=r.keepUnprefixed;if(a.hasOwnProperty(e)&&s.hasOwnProperty(t))return(0,o.default)(i+t,t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},s={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,l=r.keepUnprefixed,u=r.requiresPrefix;if(\"string\"==typeof t&&a.hasOwnProperty(e)){s||(s=Object.keys(u).map(function(e){return(0,o.default)(e)}));var c=t.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);return s.forEach(function(e){c.forEach(function(t,n){t.indexOf(e)>-1&&\"order\"!==e&&(c[n]=t.replace(e,i+e)+(l?\",\"+t:\"\"))})}),c.join(\",\")}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(130),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s=void 0;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){function t(e){for(var i in e){var o=e[i];if((0,f.default)(o))e[i]=t(o);else if(Array.isArray(o)){for(var s=[],u=0,d=o.length;u0&&(e[i]=s)}else{var p=(0,l.default)(r,i,o,e,n);p&&(e[i]=p),(0,a.default)(n,i,e)}}return e}var n=e.prefixMap,r=e.plugins;return t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(391),a=r(o),s=n(135),l=r(s),u=n(133),c=r(u),d=n(134),f=r(d);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(376),o=r(i),a=n(388),s=r(a),l=n(379),u=r(l),c=n(378),d=r(c),f=n(380),h=r(f),p=n(381),m=r(p),g=n(382),v=r(g),y=n(383),b=r(y),x=n(384),_=r(x),w=n(385),M=r(w),S=n(386),E=r(S),T=n(387),k=r(T),O=[d.default,u.default,h.default,v.default,b.default,_.default,M.default,E.default,k.default,m.default];t.default=(0,o.default)({prefixMap:s.default.prefixMap,plugins:O}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"cross-fade(\")>-1)return a.map(function(e){return t.replace(/cross-fade\\(/g,e+\"cross-fade(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"cursor\"===e&&o.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={\"zoom-in\":!0,\"zoom-out\":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"filter(\")>-1)return a.map(function(e){return t.replace(/filter\\(/g,e+\"filter(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"display\"===e&&i.hasOwnProperty(t))return i[t]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={flex:[\"-webkit-box\",\"-moz-box\",\"-ms-flexbox\",\"-webkit-flex\",\"flex\"],\"inline-flex\":[\"-webkit-inline-box\",\"-moz-inline-box\",\"-ms-inline-flexbox\",\"-webkit-inline-flex\",\"inline-flex\"]};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),o.hasOwnProperty(e)&&(n[o[e]]=i[t]||t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\"},o={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&s.test(t))return a.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"-moz-\",\"\"],s=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"image-set(\")>-1)return a.map(function(e){return t.replace(/image-set\\(/g,e+\"image-set(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"position\"===e&&\"sticky\"===t)return[\"-webkit-sticky\",\"sticky\"]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(o.hasOwnProperty(e)&&a.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},a={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if((0,u.default)(e))return e;for(var n=e.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g),r=0,i=n.length;r-1&&\"order\"!==c)for(var d=t[l],f=0,p=d.length;f-1)return a;var s=o.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function(e){return!/-webkit-|-ms-/.test(e)}).join(\",\");return e.indexOf(\"Moz\")>-1?s:(n[\"Webkit\"+(0,d.default)(e)]=a,n[\"Moz\"+(0,d.default)(e)]=s,o)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(130),s=r(a),l=n(54),u=r(l),c=n(93),d=r(c),f={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},h={Webkit:\"-webkit-\",Moz:\"-moz-\",ms:\"-ms-\"};e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=[\"Webkit\"],i=[\"Moz\"],o=[\"ms\"],a=[\"Webkit\",\"Moz\"],s=[\"Webkit\",\"ms\"],l=[\"Webkit\",\"Moz\",\"ms\"];t.default={plugins:[],prefixMap:{appearance:a,userSelect:l,textEmphasisPosition:r,textEmphasis:r,textEmphasisStyle:r,textEmphasisColor:r,boxDecorationBreak:r,clipPath:r,maskImage:r,maskMode:r,maskRepeat:r,maskPosition:r,maskClip:r,maskOrigin:r,maskSize:r,maskComposite:r,mask:r,maskBorderSource:r,maskBorderMode:r,maskBorderSlice:r,maskBorderWidth:r,maskBorderOutset:r,maskBorderRepeat:r,maskBorder:r,maskType:r,textDecorationStyle:r,textDecorationSkip:r,textDecorationLine:r,textDecorationColor:r,filter:r,fontFeatureSettings:r,breakAfter:l,breakBefore:l,breakInside:l,columnCount:a,columnFill:a,columnGap:a,columnRule:a,columnRuleColor:a,columnRuleStyle:a,columnRuleWidth:a,columns:a,columnSpan:a,columnWidth:a,writingMode:s,flex:r,flexBasis:r,flexDirection:r,flexGrow:r,flexFlow:r,flexShrink:r,flexWrap:r,alignContent:r,alignItems:r,alignSelf:r,justifyContent:r,order:r,transform:r,transformOrigin:r,transformOriginX:r,transformOriginY:r,backfaceVisibility:r,perspective:r,perspectiveOrigin:r,transformStyle:r,transformOriginZ:r,animation:r,animationDelay:r,animationDirection:r,animationFillMode:r,animationDuration:r,animationIterationCount:r,animationName:r,animationPlayState:r,animationTimingFunction:r,backdropFilter:r,fontKerning:r,scrollSnapType:s,scrollSnapPointsX:s,scrollSnapPointsY:s,scrollSnapDestination:s,scrollSnapCoordinate:s,shapeImageThreshold:r,shapeImageMargin:r,shapeImageOutside:r,hyphens:l,flowInto:s,flowFrom:s,regionFragment:s,textAlignLast:i,tabSize:i,wrapFlow:o,wrapThrough:o,wrapMargin:o,gridTemplateColumns:o,gridTemplateRows:o,gridTemplateAreas:o,gridTemplate:o,gridAutoColumns:o,gridAutoRows:o,gridAutoFlow:o,grid:o,gridRowStart:o,gridColumnStart:o,gridRowEnd:o,gridRow:o,gridColumn:o,gridColumnEnd:o,gridColumnGap:o,gridRowGap:o,gridArea:o,gridGap:o,textSizeAdjust:s,borderImage:r,borderImageOutset:r,borderImageRepeat:r,borderImageSlice:r,borderImageSource:r,borderImageWidth:r,transitionDelay:r,transitionDuration:r,transitionProperty:r,transitionTimingFunction:r}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e.firefox)return\"firefox\";if(e.mobile||e.tablet){if(e.ios)return\"ios_saf\";if(e.android)return\"android\";if(e.opera)return\"op_mini\"}for(var t in l)if(e.hasOwnProperty(t))return l[t]}function i(e){var t=a.default._detect(e);t.yandexbrowser&&(t=a.default._detect(e.replace(/YaBrowser\\/[0-9.]*/,\"\")));for(var n in s)if(t.hasOwnProperty(n)){var i=s[n];t.jsPrefix=i,t.cssPrefix=\"-\"+i.toLowerCase()+\"-\";break}return t.browserName=r(t),t.version?t.browserVersion=parseFloat(t.version):t.browserVersion=parseInt(parseFloat(t.osversion),10),t.osVersion=parseFloat(t.osversion),\"ios_saf\"===t.browserName&&t.browserVersion>t.osVersion&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName=\"and_chr\"),\"android\"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.samsungBrowser&&(t.browserName=\"and_chr\",t.browserVersion=44),t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(242),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s={chrome:\"Webkit\",safari:\"Webkit\",ios:\"Webkit\",android:\"Webkit\",phantom:\"Webkit\",opera:\"Webkit\",webos:\"Webkit\",blackberry:\"Webkit\",bada:\"Webkit\",tizen:\"Webkit\",chromium:\"Webkit\",vivaldi:\"Webkit\",firefox:\"Moz\",seamoney:\"Moz\",sailfish:\"Moz\",msie:\"ms\",msedge:\"ms\"},l={chrome:\"chrome\",chromium:\"chrome\",safari:\"safari\",firfox:\"firefox\",msedge:\"edge\",opera:\"opera\",vivaldi:\"opera\",msie:\"ie\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){return\"chrome\"===e&&t<43||(\"safari\"===e||\"ios_saf\"===e)&&t<9||\"opera\"===e&&t<30||\"android\"===e&&t<=4.4||\"and_uc\"===e?n+\"keyframes\":\"keyframes\"}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){if(e.hasOwnProperty(t))for(var r=e[t],i=0,a=r.length;i0)for(n=0;n0?\"future\":\"past\"];return E(n)?n(t):n.replace(/%s/i,t)}function D(e,t){var n=e.toLowerCase();Rr[n]=Rr[n+\"s\"]=Rr[t]=e}function N(e){return\"string\"==typeof e?Rr[e]||Rr[e.toLowerCase()]:void 0}function z(e){var t,n,r={};for(n in e)u(e,n)&&(t=N(n))&&(r[t]=e[n]);return r}function B(e,t){Lr[e]=t}function F(e){var t=[];for(var n in e)t.push({unit:n,priority:Lr[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function j(e,n){return function(r){return null!=r?(W(this,e,r),t.updateOffset(this,n),this):U(this,e)}}function U(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function W(e,t,n){e.isValid()&&e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n)}function G(e){return e=N(e),E(this[e])?this[e]():this}function V(e,t){if(\"object\"==typeof e){e=z(e);for(var n=F(e),r=0;r=0?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function Y(e,t,n,r){var i=r;\"string\"==typeof r&&(i=function(){return this[r]()}),e&&(zr[e]=i),t&&(zr[t[0]]=function(){return H(i.apply(this,arguments),t[1],t[2])}),n&&(zr[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function q(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function X(e){var t,n,r=e.match(Ir);for(t=0,n=r.length;t=0&&Dr.test(e);)e=e.replace(Dr,n),Dr.lastIndex=0,r-=1;return e}function J(e,t,n){ti[e]=E(t)?t:function(e,r){return e&&n?n:t}}function $(e,t){return u(ti,e)?ti[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return ee(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,n,r,i){return t||n||r||i}))}function ee(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function te(e,t){var n,r=t;for(\"string\"==typeof e&&(e=[e]),a(t)&&(r=function(e,n){n[t]=x(e)}),n=0;n=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function be(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function xe(e,t,n){var r=7+t-n;return-(7+be(e,0,r).getUTCDay()-t)%7+r-1}function _e(e,t,n,r,i){var o,a,s=(7+n-r)%7,l=xe(e,r,i),u=1+7*(t-1)+s+l;return u<=0?(o=e-1,a=me(o)+u):u>me(e)?(o=e+1,a=u-me(e)):(o=e,a=u),{year:o,dayOfYear:a}}function we(e,t,n){var r,i,o=xe(e.year(),t,n),a=Math.floor((e.dayOfYear()-o-1)/7)+1;return a<1?(i=e.year()-1,r=a+Me(i,t,n)):a>Me(e.year(),t,n)?(r=a-Me(e.year(),t,n),i=e.year()+1):(i=e.year(),r=a),{week:r,year:i}}function Me(e,t,n){var r=xe(e,t,n),i=xe(e+1,t,n);return(me(e)-r+i)/7}function Se(e){return we(e,this._week.dow,this._week.doy).week}function Ee(){return this._week.dow}function Te(){return this._week.doy}function ke(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")}function Oe(e){var t=we(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")}function Pe(e,t){return\"string\"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10)}function Ce(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Ae(e,t){return e?n(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?\"format\":\"standalone\"][e.day()]:n(this._weekdays)?this._weekdays:this._weekdays.standalone}function Re(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Le(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ie(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=d([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,\"\").toLocaleLowerCase();return n?\"dddd\"===t?(i=fi.call(this._weekdaysParse,a),-1!==i?i:null):\"ddd\"===t?(i=fi.call(this._shortWeekdaysParse,a),-1!==i?i:null):(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):\"dddd\"===t?-1!==(i=fi.call(this._weekdaysParse,a))?i:-1!==(i=fi.call(this._shortWeekdaysParse,a))?i:(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):\"ddd\"===t?-1!==(i=fi.call(this._shortWeekdaysParse,a))?i:-1!==(i=fi.call(this._weekdaysParse,a))?i:(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):-1!==(i=fi.call(this._minWeekdaysParse,a))?i:-1!==(i=fi.call(this._weekdaysParse,a))?i:(i=fi.call(this._shortWeekdaysParse,a),-1!==i?i:null)}function De(e,t,n){var r,i,o;if(this._weekdaysParseExact)return Ie.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=d([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\".?\")+\"$\",\"i\")),this._weekdaysParse[r]||(o=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Ne(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Pe(e,this.localeData()),this.add(e-t,\"d\")):t}function ze(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")}function Be(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ce(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Fe(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Mi),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function je(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=Si),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Ei),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function We(){function e(e,t){return t.length-e.length}var t,n,r,i,o,a=[],s=[],l=[],u=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),r=this.weekdaysMin(n,\"\"),i=this.weekdaysShort(n,\"\"),o=this.weekdays(n,\"\"),a.push(r),s.push(i),l.push(o),u.push(r),u.push(i),u.push(o);for(a.sort(e),s.sort(e),l.sort(e),u.sort(e),t=0;t<7;t++)s[t]=ee(s[t]),l[t]=ee(l[t]),u[t]=ee(u[t]);this._weekdaysRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Ge(){return this.hours()%12||12}function Ve(){return this.hours()||24}function He(e,t){Y(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ye(e,t){return t._meridiemParse}function qe(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)}function Xe(e,t,n){return e>11?n?\"pm\":\"PM\":n?\"am\":\"AM\"}function Ze(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function Ke(e){for(var t,n,r,i,o=0;o0;){if(r=Je(i.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&_(i,n,!0)>=t-1)break;t--}o++}return null}function Je(t){var n=null;if(!Ci[t]&&void 0!==e&&e&&e.exports)try{n=Ti._abbr,function(){var e=new Error('Cannot find module \"./locale\"');throw e.code=\"MODULE_NOT_FOUND\",e}(),$e(n)}catch(e){}return Ci[t]}function $e(e,t){var n;return e&&(n=o(t)?tt(e):Qe(e,t))&&(Ti=n),Ti._abbr}function Qe(e,t){if(null!==t){var n=Pi;if(t.abbr=e,null!=Ci[e])S(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),n=Ci[e]._config;else if(null!=t.parentLocale){if(null==Ci[t.parentLocale])return Ai[t.parentLocale]||(Ai[t.parentLocale]=[]),Ai[t.parentLocale].push({name:e,config:t}),null;n=Ci[t.parentLocale]._config}return Ci[e]=new O(k(n,t)),Ai[e]&&Ai[e].forEach(function(e){Qe(e.name,e.config)}),$e(e),Ci[e]}return delete Ci[e],null}function et(e,t){if(null!=t){var n,r=Pi;null!=Ci[e]&&(r=Ci[e]._config),t=k(r,t),n=new O(t),n.parentLocale=Ci[e],Ci[e]=n,$e(e)}else null!=Ci[e]&&(null!=Ci[e].parentLocale?Ci[e]=Ci[e].parentLocale:null!=Ci[e]&&delete Ci[e]);return Ci[e]}function tt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ti;if(!n(e)){if(t=Je(e))return t;e=[e]}return Ke(e)}function nt(){return kr(Ci)}function rt(e){var t,n=e._a;return n&&-2===h(e).overflow&&(t=n[ii]<0||n[ii]>11?ii:n[oi]<1||n[oi]>ie(n[ri],n[ii])?oi:n[ai]<0||n[ai]>24||24===n[ai]&&(0!==n[si]||0!==n[li]||0!==n[ui])?ai:n[si]<0||n[si]>59?si:n[li]<0||n[li]>59?li:n[ui]<0||n[ui]>999?ui:-1,h(e)._overflowDayOfYear&&(toi)&&(t=oi),h(e)._overflowWeeks&&-1===t&&(t=ci),h(e)._overflowWeekday&&-1===t&&(t=di),h(e).overflow=t),e}function it(e){var t,n,r,i,o,a,s=e._i,l=Ri.exec(s)||Li.exec(s);if(l){for(h(e).iso=!0,t=0,n=Di.length;t10?\"YYYY \":\"YY \"),o=\"HH:mm\"+(n[4]?\":ss\":\"\"),n[1]){var d=new Date(n[2]),f=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"][d.getDay()];if(n[1].substr(0,3)!==f)return h(e).weekdayMismatch=!0,void(e._isValid=!1)}switch(n[5].length){case 2:0===l?s=\" +0000\":(l=c.indexOf(n[5][1].toUpperCase())-12,s=(l<0?\" -\":\" +\")+(\"\"+l).replace(/^-?/,\"0\").match(/..$/)[0]+\"00\");break;case 4:s=u[n[5]];break;default:s=u[\" GMT\"]}n[5]=s,e._i=n.splice(1).join(\"\"),a=\" ZZ\",e._f=r+i+o+a,dt(e),h(e).rfc2822=!0}else e._isValid=!1}function at(e){var n=zi.exec(e._i);if(null!==n)return void(e._d=new Date(+n[1]));it(e),!1===e._isValid&&(delete e._isValid,ot(e),!1===e._isValid&&(delete e._isValid,t.createFromInputFallback(e)))}function st(e,t,n){return null!=e?e:null!=t?t:n}function lt(e){var n=new Date(t.now());return e._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function ut(e){var t,n,r,i,o=[];if(!e._d){for(r=lt(e),e._w&&null==e._a[oi]&&null==e._a[ii]&&ct(e),null!=e._dayOfYear&&(i=st(e._a[ri],r[ri]),(e._dayOfYear>me(i)||0===e._dayOfYear)&&(h(e)._overflowDayOfYear=!0),n=be(i,0,e._dayOfYear),e._a[ii]=n.getUTCMonth(),e._a[oi]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ai]&&0===e._a[si]&&0===e._a[li]&&0===e._a[ui]&&(e._nextDay=!0,e._a[ai]=0),e._d=(e._useUTC?be:ye).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ai]=24)}}function ct(e){var t,n,r,i,o,a,s,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)o=1,a=4,n=st(t.GG,e._a[ri],we(bt(),1,4).year),r=st(t.W,1),((i=st(t.E,1))<1||i>7)&&(l=!0);else{o=e._locale._week.dow,a=e._locale._week.doy;var u=we(bt(),o,a);n=st(t.gg,e._a[ri],u.year),r=st(t.w,u.week),null!=t.d?((i=t.d)<0||i>6)&&(l=!0):null!=t.e?(i=t.e+o,(t.e<0||t.e>6)&&(l=!0)):i=o}r<1||r>Me(n,o,a)?h(e)._overflowWeeks=!0:null!=l?h(e)._overflowWeekday=!0:(s=_e(n,r,i,o,a),e._a[ri]=s.year,e._dayOfYear=s.dayOfYear)}function dt(e){if(e._f===t.ISO_8601)return void it(e);if(e._f===t.RFC_2822)return void ot(e);e._a=[],h(e).empty=!0;var n,r,i,o,a,s=\"\"+e._i,l=s.length,u=0;for(i=K(e._f,e._locale).match(Ir)||[],n=0;n0&&h(e).unusedInput.push(a),s=s.slice(s.indexOf(r)+r.length),u+=r.length),zr[o]?(r?h(e).empty=!1:h(e).unusedTokens.push(o),re(o,r,e)):e._strict&&!r&&h(e).unusedTokens.push(o);h(e).charsLeftOver=l-u,s.length>0&&h(e).unusedInput.push(s),e._a[ai]<=12&&!0===h(e).bigHour&&e._a[ai]>0&&(h(e).bigHour=void 0),h(e).parsedDateParts=e._a.slice(0),h(e).meridiem=e._meridiem,e._a[ai]=ft(e._locale,e._a[ai],e._meridiem),ut(e),rt(e)}function ft(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function ht(e){var t,n,r,i,o;if(0===e._f.length)return h(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function jt(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(g(e,this),e=gt(e),e._a){var t=e._isUTC?d(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&_(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ut(){return!!this.isValid()&&!this._isUTC}function Wt(){return!!this.isValid()&&this._isUTC}function Gt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Vt(e,t){var n,r,i,o=e,s=null;return kt(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:a(e)?(o={},t?o[t]=e:o.milliseconds=e):(s=Vi.exec(e))?(n=\"-\"===s[1]?-1:1,o={y:0,d:x(s[oi])*n,h:x(s[ai])*n,m:x(s[si])*n,s:x(s[li])*n,ms:x(Ot(1e3*s[ui]))*n}):(s=Hi.exec(e))?(n=\"-\"===s[1]?-1:1,o={y:Ht(s[2],n),M:Ht(s[3],n),w:Ht(s[4],n),d:Ht(s[5],n),h:Ht(s[6],n),m:Ht(s[7],n),s:Ht(s[8],n)}):null==o?o={}:\"object\"==typeof o&&(\"from\"in o||\"to\"in o)&&(i=qt(bt(o.from),bt(o.to)),o={},o.ms=i.milliseconds,o.M=i.months),r=new Tt(o),kt(e)&&u(e,\"_locale\")&&(r._locale=e._locale),r}function Ht(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function Yt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function qt(e,t){var n;return e.isValid()&&t.isValid()?(t=At(t,e),e.isBefore(t)?n=Yt(e,t):(n=Yt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Xt(e,t){return function(n,r){var i,o;return null===r||isNaN(+r)||(S(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),o=n,n=r,r=o),n=\"string\"==typeof n?+n:n,i=Vt(n,r),Zt(this,i,e),this}}function Zt(e,n,r,i){var o=n._milliseconds,a=Ot(n._days),s=Ot(n._months);e.isValid()&&(i=null==i||i,o&&e._d.setTime(e._d.valueOf()+o*r),a&&W(e,\"Date\",U(e,\"Date\")+a*r),s&&ue(e,U(e,\"Month\")+s*r),i&&t.updateOffset(e,a||s))}function Kt(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"}function Jt(e,n){var r=e||bt(),i=At(r,this).startOf(\"day\"),o=t.calendarFormat(this,i)||\"sameElse\",a=n&&(E(n[o])?n[o].call(this,r):n[o]);return this.format(a||this.localeData().calendar(o,this,bt(r)))}function $t(){return new v(this)}function Qt(e,t){var n=y(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&(t=N(o(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()>n.valueOf():n.valueOf()9999?Z(e,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):E(Date.prototype.toISOString)?this.toDate().toISOString():Z(e,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}function cn(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var n=\"[\"+e+'(\"]',r=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",i=t+'[\")]';return this.format(n+r+\"-MM-DD[T]HH:mm:ss.SSS\"+i)}function dn(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var n=Z(this,e);return this.localeData().postformat(n)}function fn(e,t){return this.isValid()&&(y(e)&&e.isValid()||bt(e).isValid())?Vt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function hn(e){return this.from(bt(),e)}function pn(e,t){return this.isValid()&&(y(e)&&e.isValid()||bt(e).isValid())?Vt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function mn(e){return this.to(bt(),e)}function gn(e){var t;return void 0===e?this._locale._abbr:(t=tt(e),null!=t&&(this._locale=t),this)}function vn(){return this._locale}function yn(e){switch(e=N(e)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":case\"date\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===e&&this.weekday(0),\"isoWeek\"===e&&this.isoWeekday(1),\"quarter\"===e&&this.month(3*Math.floor(this.month()/3)),this}function bn(e){return void 0===(e=N(e))||\"millisecond\"===e?this:(\"date\"===e&&(e=\"day\"),this.startOf(e).add(1,\"isoWeek\"===e?\"week\":e).subtract(1,\"ms\"))}function xn(){return this._d.valueOf()-6e4*(this._offset||0)}function _n(){return Math.floor(this.valueOf()/1e3)}function wn(){return new Date(this.valueOf())}function Mn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Sn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function En(){return this.isValid()?this.toISOString():null}function Tn(){return p(this)}function kn(){return c({},h(this))}function On(){return h(this).overflow}function Pn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Cn(e,t){Y(0,[e,e.length],0,t)}function An(e){return Dn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Rn(e){return Dn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Ln(){return Me(this.year(),1,4)}function In(){var e=this.localeData()._week;return Me(this.year(),e.dow,e.doy)}function Dn(e,t,n,r,i){var o;return null==e?we(this,r,i).year:(o=Me(e,r,i),t>o&&(t=o),Nn.call(this,e,t,n,r,i))}function Nn(e,t,n,r,i){var o=_e(e,t,n,r,i),a=be(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function zn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Bn(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")}function Fn(e,t){t[ui]=x(1e3*(\"0.\"+e))}function jn(){return this._isUTC?\"UTC\":\"\"}function Un(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Wn(e){return bt(1e3*e)}function Gn(){return bt.apply(null,arguments).parseZone()}function Vn(e){return e}function Hn(e,t,n,r){var i=tt(),o=d().set(r,t);return i[n](o,e)}function Yn(e,t,n){if(a(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return Hn(e,t,n,\"month\");var r,i=[];for(r=0;r<12;r++)i[r]=Hn(e,r,n,\"month\");return i}function qn(e,t,n,r){\"boolean\"==typeof e?(a(t)&&(n=t,t=void 0),t=t||\"\"):(t=e,n=t,e=!1,a(t)&&(n=t,t=void 0),t=t||\"\");var i=tt(),o=e?i._week.dow:0;if(null!=n)return Hn(t,(n+o)%7,r,\"day\");var s,l=[];for(s=0;s<7;s++)l[s]=Hn(t,(s+o)%7,r,\"day\");return l}function Xn(e,t){return Yn(e,t,\"months\")}function Zn(e,t){return Yn(e,t,\"monthsShort\")}function Kn(e,t,n){return qn(e,t,n,\"weekdays\")}function Jn(e,t,n){return qn(e,t,n,\"weekdaysShort\")}function $n(e,t,n){return qn(e,t,n,\"weekdaysMin\")}function Qn(){var e=this._data;return this._milliseconds=no(this._milliseconds),this._days=no(this._days),this._months=no(this._months),e.milliseconds=no(e.milliseconds),e.seconds=no(e.seconds),e.minutes=no(e.minutes),e.hours=no(e.hours),e.months=no(e.months),e.years=no(e.years),this}function er(e,t,n,r){var i=Vt(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function tr(e,t){return er(this,e,t,1)}function nr(e,t){return er(this,e,t,-1)}function rr(e){return e<0?Math.floor(e):Math.ceil(e)}function ir(){var e,t,n,r,i,o=this._milliseconds,a=this._days,s=this._months,l=this._data;return o>=0&&a>=0&&s>=0||o<=0&&a<=0&&s<=0||(o+=864e5*rr(ar(s)+a),a=0,s=0),l.milliseconds=o%1e3,e=b(o/1e3),l.seconds=e%60,t=b(e/60),l.minutes=t%60,n=b(t/60),l.hours=n%24,a+=b(n/24),i=b(or(a)),s+=i,a-=rr(ar(i)),r=b(s/12),s%=12,l.days=a,l.months=s,l.years=r,this}function or(e){return 4800*e/146097}function ar(e){return 146097*e/4800}function sr(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(\"month\"===(e=N(e))||\"year\"===e)return t=this._days+r/864e5,n=this._months+or(t),\"month\"===e?n:n/12;switch(t=this._days+Math.round(ar(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}}function lr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12):NaN}function ur(e){return function(){return this.as(e)}}function cr(e){return e=N(e),this.isValid()?this[e+\"s\"]():NaN}function dr(e){return function(){return this.isValid()?this._data[e]:NaN}}function fr(){return b(this.days()/7)}function hr(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function pr(e,t,n){var r=Vt(e).abs(),i=bo(r.as(\"s\")),o=bo(r.as(\"m\")),a=bo(r.as(\"h\")),s=bo(r.as(\"d\")),l=bo(r.as(\"M\")),u=bo(r.as(\"y\")),c=i<=xo.ss&&[\"s\",i]||i0,c[4]=n,hr.apply(null,c)}function mr(e){return void 0===e?bo:\"function\"==typeof e&&(bo=e,!0)}function gr(e,t){return void 0!==xo[e]&&(void 0===t?xo[e]:(xo[e]=t,\"s\"===e&&(xo.ss=t-1),!0))}function vr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=pr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function yr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=_o(this._milliseconds)/1e3,i=_o(this._days),o=_o(this._months);e=b(r/60),t=b(e/60),r%=60,e%=60,n=b(o/12),o%=12;var a=n,s=o,l=i,u=t,c=e,d=r,f=this.asSeconds();return f?(f<0?\"-\":\"\")+\"P\"+(a?a+\"Y\":\"\")+(s?s+\"M\":\"\")+(l?l+\"D\":\"\")+(u||c||d?\"T\":\"\")+(u?u+\"H\":\"\")+(c?c+\"M\":\"\")+(d?d+\"S\":\"\"):\"P0D\"}var br,xr;xr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r68?1900:2e3)};var yi=j(\"FullYear\",!0);Y(\"w\",[\"ww\",2],\"wo\",\"week\"),Y(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),D(\"week\",\"w\"),D(\"isoWeek\",\"W\"),B(\"week\",5),B(\"isoWeek\",5),J(\"w\",Gr),J(\"ww\",Gr,Fr),J(\"W\",Gr),J(\"WW\",Gr,Fr),ne([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,n,r){t[r.substr(0,1)]=x(e)});var bi={dow:0,doy:6};Y(\"d\",0,\"do\",\"day\"),Y(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),Y(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),Y(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),Y(\"e\",0,0,\"weekday\"),Y(\"E\",0,0,\"isoWeekday\"),D(\"day\",\"d\"),D(\"weekday\",\"e\"),D(\"isoWeekday\",\"E\"),B(\"day\",11),B(\"weekday\",11),B(\"isoWeekday\",11),J(\"d\",Gr),J(\"e\",Gr),J(\"E\",Gr),J(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),J(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),J(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),ne([\"dd\",\"ddd\",\"dddd\"],function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);null!=i?t.d=i:h(n).invalidWeekday=e}),ne([\"d\",\"e\",\"E\"],function(e,t,n,r){t[r]=x(e)});var xi=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),_i=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),wi=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Mi=ei,Si=ei,Ei=ei;Y(\"H\",[\"HH\",2],0,\"hour\"),Y(\"h\",[\"hh\",2],0,Ge),Y(\"k\",[\"kk\",2],0,Ve),Y(\"hmm\",0,0,function(){return\"\"+Ge.apply(this)+H(this.minutes(),2)}),Y(\"hmmss\",0,0,function(){return\"\"+Ge.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),Y(\"Hmm\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)}),Y(\"Hmmss\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),He(\"a\",!0),He(\"A\",!1),D(\"hour\",\"h\"),B(\"hour\",13),J(\"a\",Ye),J(\"A\",Ye),J(\"H\",Gr),J(\"h\",Gr),J(\"k\",Gr),J(\"HH\",Gr,Fr),J(\"hh\",Gr,Fr),J(\"kk\",Gr,Fr),J(\"hmm\",Vr),J(\"hmmss\",Hr),J(\"Hmm\",Vr),J(\"Hmmss\",Hr),te([\"H\",\"HH\"],ai),te([\"k\",\"kk\"],function(e,t,n){var r=x(e);t[ai]=24===r?0:r}),te([\"a\",\"A\"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),te([\"h\",\"hh\"],function(e,t,n){t[ai]=x(e),h(n).bigHour=!0}),te(\"hmm\",function(e,t,n){var r=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r)),h(n).bigHour=!0}),te(\"hmmss\",function(e,t,n){var r=e.length-4,i=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r,2)),t[li]=x(e.substr(i)),h(n).bigHour=!0}),te(\"Hmm\",function(e,t,n){var r=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r))}),te(\"Hmmss\",function(e,t,n){var r=e.length-4,i=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r,2)),t[li]=x(e.substr(i))});var Ti,ki=/[ap]\\.?m?\\.?/i,Oi=j(\"Hours\",!0),Pi={calendar:Or,longDateFormat:Pr,invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:Cr,relativeTime:Ar,months:pi,monthsShort:mi,week:bi,weekdays:xi,weekdaysMin:wi,weekdaysShort:_i,meridiemParse:ki},Ci={},Ai={},Ri=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Li=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Ii=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Di=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Ni=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],zi=/^\\/?Date\\((\\-?\\d+)/i,Bi=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d?\\d\\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(?:\\d\\d)?\\d\\d\\s)(\\d\\d:\\d\\d)(\\:\\d\\d)?(\\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\\d{4}))$/;t.createFromInputFallback=M(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var Fi=M(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:m()}),Ui=function(){return Date.now?Date.now():+new Date},Wi=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];Pt(\"Z\",\":\"),Pt(\"ZZ\",\"\"),J(\"Z\",$r),J(\"ZZ\",$r),te([\"Z\",\"ZZ\"],function(e,t,n){n._useUTC=!0,n._tzm=Ct($r,e)});var Gi=/([\\+\\-]|\\d\\d)/gi;t.updateOffset=function(){};var Vi=/^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,Hi=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Vt.fn=Tt.prototype,Vt.invalid=Et;var Yi=Xt(1,\"add\"),qi=Xt(-1,\"subtract\");t.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",t.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var Xi=M(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});Y(0,[\"gg\",2],0,function(){return this.weekYear()%100}),Y(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),Cn(\"gggg\",\"weekYear\"),Cn(\"ggggg\",\"weekYear\"),Cn(\"GGGG\",\"isoWeekYear\"),Cn(\"GGGGG\",\"isoWeekYear\"),D(\"weekYear\",\"gg\"),D(\"isoWeekYear\",\"GG\"),B(\"weekYear\",1),B(\"isoWeekYear\",1),J(\"G\",Kr),J(\"g\",Kr),J(\"GG\",Gr,Fr),J(\"gg\",Gr,Fr),J(\"GGGG\",qr,Ur),J(\"gggg\",qr,Ur),J(\"GGGGG\",Xr,Wr),J(\"ggggg\",Xr,Wr),ne([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,n,r){t[r.substr(0,2)]=x(e)}),ne([\"gg\",\"GG\"],function(e,n,r,i){n[i]=t.parseTwoDigitYear(e)}),Y(\"Q\",0,\"Qo\",\"quarter\"),D(\"quarter\",\"Q\"),B(\"quarter\",7),J(\"Q\",Br),te(\"Q\",function(e,t){t[ii]=3*(x(e)-1)}),Y(\"D\",[\"DD\",2],\"Do\",\"date\"),D(\"date\",\"D\"),B(\"date\",9),J(\"D\",Gr),J(\"DD\",Gr,Fr),J(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),te([\"D\",\"DD\"],oi),te(\"Do\",function(e,t){t[oi]=x(e.match(Gr)[0],10)});var Zi=j(\"Date\",!0);Y(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),D(\"dayOfYear\",\"DDD\"),B(\"dayOfYear\",4),J(\"DDD\",Yr),J(\"DDDD\",jr),te([\"DDD\",\"DDDD\"],function(e,t,n){n._dayOfYear=x(e)}),Y(\"m\",[\"mm\",2],0,\"minute\"),D(\"minute\",\"m\"),B(\"minute\",14),J(\"m\",Gr),J(\"mm\",Gr,Fr),te([\"m\",\"mm\"],si);var Ki=j(\"Minutes\",!1);Y(\"s\",[\"ss\",2],0,\"second\"),D(\"second\",\"s\"),B(\"second\",15),J(\"s\",Gr),J(\"ss\",Gr,Fr),te([\"s\",\"ss\"],li);var Ji=j(\"Seconds\",!1);Y(\"S\",0,0,function(){return~~(this.millisecond()/100)}),Y(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),Y(0,[\"SSS\",3],0,\"millisecond\"),Y(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),Y(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),Y(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),Y(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),Y(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),Y(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),D(\"millisecond\",\"ms\"),B(\"millisecond\",16),J(\"S\",Yr,Br),J(\"SS\",Yr,Fr),J(\"SSS\",Yr,jr);var $i;for($i=\"SSSS\";$i.length<=9;$i+=\"S\")J($i,Zr);for($i=\"S\";$i.length<=9;$i+=\"S\")te($i,Fn);var Qi=j(\"Milliseconds\",!1);Y(\"z\",0,0,\"zoneAbbr\"),Y(\"zz\",0,0,\"zoneName\");var eo=v.prototype;eo.add=Yi,eo.calendar=Jt,eo.clone=$t,eo.diff=an,eo.endOf=bn,eo.format=dn,eo.from=fn,eo.fromNow=hn,eo.to=pn,eo.toNow=mn,eo.get=G,eo.invalidAt=On,eo.isAfter=Qt,eo.isBefore=en,eo.isBetween=tn,eo.isSame=nn,eo.isSameOrAfter=rn,eo.isSameOrBefore=on,eo.isValid=Tn,eo.lang=Xi,eo.locale=gn,eo.localeData=vn,eo.max=ji,eo.min=Fi,eo.parsingFlags=kn,eo.set=V,eo.startOf=yn,eo.subtract=qi,eo.toArray=Mn,eo.toObject=Sn,eo.toDate=wn,eo.toISOString=un,eo.inspect=cn,eo.toJSON=En,eo.toString=ln,eo.unix=_n,eo.valueOf=xn,eo.creationData=Pn,eo.year=yi,eo.isLeapYear=ve,eo.weekYear=An,eo.isoWeekYear=Rn,eo.quarter=eo.quarters=zn,eo.month=ce,eo.daysInMonth=de,eo.week=eo.weeks=ke,eo.isoWeek=eo.isoWeeks=Oe,eo.weeksInYear=In,eo.isoWeeksInYear=Ln,eo.date=Zi,eo.day=eo.days=Ne,eo.weekday=ze,eo.isoWeekday=Be,eo.dayOfYear=Bn,eo.hour=eo.hours=Oi,eo.minute=eo.minutes=Ki,eo.second=eo.seconds=Ji,eo.millisecond=eo.milliseconds=Qi,eo.utcOffset=Lt,eo.utc=Dt,eo.local=Nt,eo.parseZone=zt,eo.hasAlignedHourOffset=Bt,eo.isDST=Ft,eo.isLocal=Ut,eo.isUtcOffset=Wt,eo.isUtc=Gt,eo.isUTC=Gt,eo.zoneAbbr=jn,eo.zoneName=Un,eo.dates=M(\"dates accessor is deprecated. Use date instead.\",Zi),eo.months=M(\"months accessor is deprecated. Use month instead\",ce),eo.years=M(\"years accessor is deprecated. Use year instead\",yi),eo.zone=M(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",It),eo.isDSTShifted=M(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",jt);var to=O.prototype;to.calendar=P,to.longDateFormat=C,to.invalidDate=A,to.ordinal=R,to.preparse=Vn,to.postformat=Vn,to.relativeTime=L,to.pastFuture=I,to.set=T,to.months=oe,to.monthsShort=ae,to.monthsParse=le,to.monthsRegex=he,to.monthsShortRegex=fe,to.week=Se,to.firstDayOfYear=Te,to.firstDayOfWeek=Ee,to.weekdays=Ae,to.weekdaysMin=Le,to.weekdaysShort=Re,to.weekdaysParse=De,to.weekdaysRegex=Fe,to.weekdaysShortRegex=je,to.weekdaysMinRegex=Ue,to.isPM=qe,to.meridiem=Xe,$e(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===x(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\")}}),t.lang=M(\"moment.lang is deprecated. Use moment.locale instead.\",$e),t.langData=M(\"moment.langData is deprecated. Use moment.localeData instead.\",tt);var no=Math.abs,ro=ur(\"ms\"),io=ur(\"s\"),oo=ur(\"m\"),ao=ur(\"h\"),so=ur(\"d\"),lo=ur(\"w\"),uo=ur(\"M\"),co=ur(\"y\"),fo=dr(\"milliseconds\"),ho=dr(\"seconds\"),po=dr(\"minutes\"),mo=dr(\"hours\"),go=dr(\"days\"),vo=dr(\"months\"),yo=dr(\"years\"),bo=Math.round,xo={ss:44,s:45,m:45,h:22,d:26,M:11},_o=Math.abs,wo=Tt.prototype;return wo.isValid=St,wo.abs=Qn,wo.add=tr,wo.subtract=nr,wo.as=sr,wo.asMilliseconds=ro,wo.asSeconds=io,wo.asMinutes=oo,wo.asHours=ao,wo.asDays=so,wo.asWeeks=lo,wo.asMonths=uo,wo.asYears=co,wo.valueOf=lr,wo._bubble=ir,wo.get=cr,wo.milliseconds=fo,wo.seconds=ho,wo.minutes=po,wo.hours=mo,wo.days=go,wo.weeks=fr,wo.months=vo,wo.years=yo,wo.humanize=vr,wo.toISOString=yr,wo.toString=yr,wo.toJSON=yr,wo.locale=gn,wo.localeData=vn,wo.toIsoString=M(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",yr),wo.lang=Xi,Y(\"X\",0,0,\"unix\"),Y(\"x\",0,0,\"valueOf\"),J(\"x\",Kr),J(\"X\",Qr),te(\"X\",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),te(\"x\",function(e,t,n){n._d=new Date(x(e))}),t.version=\"2.18.1\",function(e){br=e}(bt),t.fn=eo,t.min=_t,t.max=wt,t.now=Ui,t.utc=d,t.unix=Wn,t.months=Xn,t.isDate=s,t.locale=$e,t.invalid=m,t.duration=Vt,t.isMoment=y,t.weekdays=Kn,t.parseZone=Gn,t.localeData=tt,t.isDuration=kt,t.monthsShort=Zn,t.weekdaysMin=$n,t.defineLocale=Qe,t.updateLocale=et,t.locales=nt,t.weekdaysShort=Jn,t.normalizeUnits=N,t.relativeTimeRounding=mr,t.relativeTimeThreshold=gr,t.calendarFormat=Kt,t.prototype=eo,t})}).call(t,n(101)(e))},function(e,t,n){var r=n(357),i=n(360),o=n(359),a=n(361),s=n(358),l=[0,0];e.exports.computeMiter=function(e,t,n,a,u){return r(e,n,a),o(e,e),i(t,-e[1],e[0]),i(l,-n[1],n[0]),u/s(t,l)},e.exports.normal=function(e,t){return i(e,-t[1],t[0]),e},e.exports.direction=function(e,t,n){return a(e,t,n),o(e,e),e}},function(e,t,n){function r(e,t,n){e.push([[t[0],t[1]],n])}var i=n(393),o=[0,0],a=[0,0],s=[0,0],l=[0,0];e.exports=function(e,t){var n=null,u=[];t&&(e=e.slice(),e.push(e[0]));for(var c=e.length,d=1;d2&&t){var g=e[c-2],v=e[0],y=e[1];i.direction(o,v,g),i.direction(a,y,v),i.normal(n,o);var b=i.computeMiter(s,l,o,a,1);u[0][0]=l.slice(),u[c-1][0]=l.slice(),u[0][1]=b,u[c-1][1]=b,u.pop()}return u}},function(e,t,n){\"use strict\";var r=n(66),i=n(353),o=n(396);e.exports=function(){function e(e,t,n,r,a,s){s!==o&&i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";function r(e,t,n){return\"function\"==typeof t?(n=t,t=new o.Root):t||(t=new o.Root),t.load(e,n)}function i(e,t){return t||(t=new o.Root),t.loadSync(e)}var o=e.exports=n(398);o.build=\"light\",o.load=r,o.loadSync=i,o.encoder=n(139),o.decoder=n(138),o.verifier=n(147),o.converter=n(137),o.ReflectionObject=n(43),o.Namespace=n(55),o.Root=n(142),o.Enum=n(27),o.Type=n(146),o.Field=n(42),o.OneOf=n(96),o.MapField=n(140),o.Service=n(145),o.Method=n(141),o.Message=n(95),o.wrappers=n(148),o.types=n(56),o.util=n(13),o.ReflectionObject._configure(o.Root),o.Namespace._configure(o.Type,o.Service),o.Root._configure(o.Type),o.Field._configure(o.Type)},function(e,t,n){\"use strict\";function r(){i.Reader._configure(i.BufferReader),i.util._configure()}var i=t;i.build=\"minimal\",i.Writer=n(98),i.BufferWriter=n(402),i.Reader=n(97),i.BufferReader=n(399),i.util=n(30),i.rpc=n(144),i.roots=n(143),i.configure=r,i.Writer._configure(i.BufferWriter),r()},function(e,t,n){\"use strict\";function r(e){i.call(this,e)}e.exports=r;var i=n(97);(r.prototype=Object.create(i.prototype)).constructor=r;var o=n(30);o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice),r.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len))}},function(e,t,n){\"use strict\";function r(e,t,n){if(\"function\"!=typeof e)throw TypeError(\"rpcImpl must be a function\");i.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}e.exports=r;var i=n(30);(r.prototype=Object.create(i.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,n,r,o,a){if(!o)throw TypeError(\"request must be specified\");var s=this;if(!a)return i.asPromise(e,s,t,n,r,o);if(!s.rpcImpl)return void setTimeout(function(){a(Error(\"already ended\"))},0);try{return s.rpcImpl(t,n[s.requestDelimited?\"encodeDelimited\":\"encode\"](o).finish(),function(e,n){if(e)return s.emit(\"error\",e,t),a(e);if(null===n)return void s.end(!0);if(!(n instanceof r))try{n=r[s.responseDelimited?\"decodeDelimited\":\"decode\"](n)}catch(e){return s.emit(\"error\",e,t),a(e)}return s.emit(\"data\",n,t),a(null,n)})}catch(e){return s.emit(\"error\",e,t),void setTimeout(function(){a(e)},0)}},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit(\"end\").off()),this}},function(e,t,n){\"use strict\";function r(e,t){this.lo=e>>>0,this.hi=t>>>0}e.exports=r;var i=n(30),o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var a=r.zeroHash=\"\\0\\0\\0\\0\\0\\0\\0\\0\";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)},r.from=function(e){if(\"number\"==typeof e)return r.fromNumber(e);if(i.isString(e)){if(!i.Long)return r.fromNumber(parseInt(e,10));e=i.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var s=String.prototype.charCodeAt;r.fromHash=function(e){return e===a?o:new r((s.call(e,0)|s.call(e,1)<<8|s.call(e,2)<<16|s.call(e,3)<<24)>>>0,(s.call(e,4)|s.call(e,5)<<8|s.call(e,6)<<16|s.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},function(e,t,n){\"use strict\";function r(){o.call(this)}function i(e,t,n){e.length<40?a.utf8.write(e,t,n):t.utf8Write(e,n)}e.exports=r;var o=n(98);(r.prototype=Object.create(o.prototype)).constructor=r;var a=n(30),s=a.Buffer;r.alloc=function(e){return(r.alloc=a._Buffer_allocUnsafe)(e)};var l=s&&s.prototype instanceof Uint8Array&&\"set\"===s.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r>>0;return this.uint32(t),t&&this._push(l,t,e),this},r.prototype.string=function(e){var t=s.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this}},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;rthis.eventPool.length&&this.eventPool.push(e)}function W(e){e.eventPool=[],e.getPooled=j,e.release=U}function G(e,t,n,r){return F.call(this,e,t,n,r)}function V(e,t,n,r){return F.call(this,e,t,n,r)}function H(e,t){switch(e){case\"topKeyUp\":return-1!==hr.indexOf(t.keyCode);case\"topKeyDown\":return 229!==t.keyCode;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function Y(e){return e=e.detail,\"object\"==typeof e&&\"data\"in e?e.data:null}function q(e,t){switch(e){case\"topCompositionEnd\":return Y(t);case\"topKeyPress\":return 32!==t.which?null:(Mr=!0,_r);case\"topTextInput\":return e=t.data,e===_r&&Mr?null:e;default:return null}}function X(e,t){if(Sr)return\"topCompositionEnd\"===e||!pr&&H(e,t)?(e=z(),cr._root=null,cr._startText=null,cr._fallbackText=null,Sr=!1,e):null;switch(e){case\"topPaste\":return null;case\"topKeyPress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1Wr.length&&Wr.push(e)}}}function Le(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}function Ie(e){if(qr[e])return qr[e];if(!Yr[e])return e;var t,n=Yr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Xr)return qr[e]=n[t];return\"\"}function De(e){return Object.prototype.hasOwnProperty.call(e,$r)||(e[$r]=Jr++,Kr[e[$r]]={}),Kr[e[$r]]}function Ne(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ze(e,t){var n=Ne(e);e=0;for(var r;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ne(n)}}function Be(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&\"text\"===e.type||\"textarea\"===t||\"true\"===e.contentEditable)}function Fe(e,t){if(ii||null==ti||ti!==Sn())return null;var n=ti;return\"selectionStart\"in n&&Be(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?(n=window.getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}):n=void 0,ri&&En(ri,n)?null:(ri=n,e=F.getPooled(ei.select,ni,e,t),e.type=\"select\",e.target=ti,I(e),e)}function je(e,t,n,r){return F.call(this,e,t,n,r)}function Ue(e,t,n,r){return F.call(this,e,t,n,r)}function We(e,t,n,r){return F.call(this,e,t,n,r)}function Ge(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,32<=e||13===e?e:0}function Ve(e,t,n,r){return F.call(this,e,t,n,r)}function He(e,t,n,r){return F.call(this,e,t,n,r)}function Ye(e,t,n,r){return F.call(this,e,t,n,r)}function qe(e,t,n,r){return F.call(this,e,t,n,r)}function Xe(e,t,n,r){return F.call(this,e,t,n,r)}function Ze(e){0>fi||(e.current=di[fi],di[fi]=null,fi--)}function Ke(e,t){fi++,di[fi]=e.current,e.current=t}function Je(e){return Qe(e)?mi:hi.current}function $e(e,t){var n=e.type.contextTypes;if(!n)return On;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Qe(e){return 2===e.tag&&null!=e.type.childContextTypes}function et(e){Qe(e)&&(Ze(pi,e),Ze(hi,e))}function tt(e,t,n){null!=hi.cursor&&r(\"168\"),Ke(hi,t,e),Ke(pi,n,e)}function nt(e,t){var n=e.stateNode,i=e.type.childContextTypes;if(\"function\"!=typeof n.getChildContext)return t;n=n.getChildContext();for(var o in n)o in i||r(\"108\",_e(e)||\"Unknown\",o);return _n({},t,n)}function rt(e){if(!Qe(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||On,mi=hi.current,Ke(hi,t,e),Ke(pi,pi.current,e),!0}function it(e,t){var n=e.stateNode;if(n||r(\"169\"),t){var i=nt(e,mi);n.__reactInternalMemoizedMergedChildContext=i,Ze(pi,e),Ze(hi,e),Ke(hi,i,e)}else Ze(pi,e);Ke(pi,t,e)}function ot(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function at(e,t,n){var r=e.alternate;return null===r?(r=new ot(e.tag,e.key,e.internalContextTag),r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function st(e,t,n){var i=void 0,o=e.type,a=e.key;return\"function\"==typeof o?(i=o.prototype&&o.prototype.isReactComponent?new ot(2,a,t):new ot(0,a,t),i.type=o,i.pendingProps=e.props):\"string\"==typeof o?(i=new ot(5,a,t),i.type=o,i.pendingProps=e.props):\"object\"==typeof o&&null!==o&&\"number\"==typeof o.tag?(i=o,i.pendingProps=e.props):r(\"130\",null==o?o:typeof o,\"\"),i.expirationTime=n,i}function lt(e,t,n,r){return t=new ot(10,r,t),t.pendingProps=e,t.expirationTime=n,t}function ut(e,t,n){return t=new ot(6,null,t),t.pendingProps=e,t.expirationTime=n,t}function ct(e,t,n){return t=new ot(7,e.key,t),t.type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function dt(e,t,n){return e=new ot(9,null,t),e.expirationTime=n,e}function ft(e,t,n){return t=new ot(4,e.key,t),t.pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ht(e){return function(t){try{return e(t)}catch(e){}}}function pt(e){if(\"undefined\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);gi=ht(function(e){return t.onCommitFiberRoot(n,e)}),vi=ht(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}return!0}function mt(e){\"function\"==typeof gi&&gi(e)}function gt(e){\"function\"==typeof vi&&vi(e)}function vt(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function yt(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function bt(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=vt(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=vt(null)):e=null,e=e!==r?e:null,null===e?yt(r,t):null===r.last||null===e.last?(yt(r,t),yt(e,t)):(yt(r,t),e.last=t)}function xt(e,t,n,r){return e=e.partialState,\"function\"==typeof e?e.call(t,n,r):e}function _t(e,t,n,r,i,o){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var a=!0,s=n.first,l=!1;null!==s;){var u=s.expirationTime;if(u>o){var c=n.expirationTime;(0===c||c>u)&&(n.expirationTime=u),l||(l=!0,n.baseState=e)}else l||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=xt(s,r,e,i),a=!0):(u=xt(s,r,e,i))&&(e=a?_n({},e,u):_n(e,u),a=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(u=n.callbackList,null===u&&(u=n.callbackList=[]),u.push(s));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),l||(n.baseState=e),e}function wt(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(h=d,d=null):h=d.sibling;var v=m(r,d,s[f],l);if(null===v){null===d&&(d=h);break}e&&d&&null===v.alternate&&t(r,d),o=a(v,o,f),null===c?u=v:c.sibling=v,c=v,d=h}if(f===s.length)return n(r,d),u;if(null===d){for(;fh?(v=f,f=null):v=f.sibling;var b=m(o,f,y.value,u);if(null===b){f||(f=v);break}e&&f&&null===b.alternate&&t(o,f),s=a(b,s,h),null===d?c=b:d.sibling=b,d=b,f=v}if(y.done)return n(o,f),c;if(null===f){for(;!y.done;h++,y=l.next())null!==(y=p(o,y.value,u))&&(s=a(y,s,h),null===d?c=y:d.sibling=y,d=y);return c}for(f=i(o,f);!y.done;h++,y=l.next())null!==(y=g(f,o,h,y.value,u))&&(e&&null!==y.alternate&&f.delete(null===y.key?h:y.key),s=a(y,s,h),null===d?c=y:d.sibling=y,d=y);return e&&f.forEach(function(e){return t(o,e)}),c}return function(e,i,a,l){\"object\"==typeof a&&null!==a&&a.type===Mi&&null===a.key&&(a=a.props.children);var u=\"object\"==typeof a&&null!==a;if(u)switch(a.$$typeof){case bi:e:{var c=a.key;for(u=i;null!==u;){if(u.key===c){if(10===u.tag?a.type===Mi:u.type===a.type){n(e,u.sibling),i=o(u,a.type===Mi?a.props.children:a.props,l),i.ref=Et(u,a),i.return=e,e=i;break e}n(e,u);break}t(e,u),u=u.sibling}a.type===Mi?(i=lt(a.props.children,e.internalContextTag,l,a.key),i.return=e,e=i):(l=st(a,e.internalContextTag,l),l.ref=Et(i,a),l.return=e,e=l)}return s(e);case xi:e:{for(u=a.key;null!==i;){if(i.key===u){if(7===i.tag){n(e,i.sibling),i=o(i,a,l),i.return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}i=ct(a,e.internalContextTag,l),i.return=e,e=i}return s(e);case _i:e:{if(null!==i){if(9===i.tag){n(e,i.sibling),i=o(i,null,l),i.type=a.value,i.return=e,e=i;break e}n(e,i)}i=dt(a,e.internalContextTag,l),i.type=a.value,i.return=e,e=i}return s(e);case wi:e:{for(u=a.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),i=o(i,a.children||[],l),i.return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}i=ft(a,e.internalContextTag,l),i.return=e,e=i}return s(e)}if(\"string\"==typeof a||\"number\"==typeof a)return a=\"\"+a,null!==i&&6===i.tag?(n(e,i.sibling),i=o(i,a,l)):(n(e,i),i=ut(a,e.internalContextTag,l)),i.return=e,e=i,s(e);if(Ei(a))return v(e,i,a,l);if(St(a))return y(e,i,a,l);if(u&&Tt(e,a),void 0===a)switch(e.tag){case 2:case 1:l=e.type,r(\"152\",l.displayName||l.name||\"Component\")}return n(e,i)}}function Ot(e,t,n,i,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?ki(t,null,n,r):Ti(t,e.child,n,r)}function s(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function l(e,t,n,r){if(s(e,t),!n)return r&&it(t,!1),c(e,t);n=t.stateNode,Ur.current=t;var i=n.render();return t.effectTag|=1,a(e,t,i),t.memoizedState=n.state,t.memoizedProps=n.props,r&&it(t,!0),t.child}function u(e){var t=e.stateNode;t.pendingContext?tt(e,t.pendingContext,t.pendingContext!==t.context):t.context&&tt(e,t.context,!1),g(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&r(\"153\"),null!==t.child){e=t.child;var n=at(e,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,n=n.sibling=at(e,e.pendingProps,e.expirationTime),n.return=t;n.sibling=null}return t.child}function d(e,t){switch(t.tag){case 3:u(t);break;case 2:rt(t);break;case 4:g(t,t.stateNode.containerInfo)}return null}var f=e.shouldSetTextContent,h=e.useSyncScheduling,p=e.shouldDeprioritizeSubtree,m=t.pushHostContext,g=t.pushHostContainer,v=n.enterHydrationState,y=n.resetHydrationState,b=n.tryToClaimNextHydratableInstance;e=Mt(i,o,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t});var x=e.adoptClassInstance,_=e.constructClassInstance,w=e.mountClassInstance,M=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return d(e,t);switch(t.tag){case 0:null!==e&&r(\"155\");var i=t.type,o=t.pendingProps,S=Je(t);return S=$e(t,S),i=i(o,S),t.effectTag|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render?(t.tag=2,o=rt(t),x(t,i),w(t,n),t=l(e,t,!0,o)):(t.tag=1,a(e,t,i),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,i=t.memoizedProps,pi.current)null===n&&(n=i);else if(null===n||i===n){t=c(e,t);break e}i=Je(t),i=$e(t,i),o=o(n,i),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=rt(t),i=void 0,null===e?t.stateNode?r(\"153\"):(_(t,t.pendingProps),w(t,n),i=!0):i=M(e,t,n),l(e,t,i,o);case 3:return u(t),o=t.updateQueue,null!==o?(i=t.memoizedState,o=_t(e,t,o,null,null,n),i===o?(y(),t=c(e,t)):(i=o.element,S=t.stateNode,(null===e||null===e.child)&&S.hydrate&&v(t)?(t.effectTag|=2,t.child=ki(t,null,i,n)):(y(),a(e,t,i)),t.memoizedState=o,t=t.child)):(y(),t=c(e,t)),t;case 5:m(t),null===e&&b(t),o=t.type;var E=t.memoizedProps;return i=t.pendingProps,null===i&&null===(i=E)&&r(\"154\"),S=null!==e?e.memoizedProps:null,pi.current||null!==i&&E!==i?(E=i.children,f(o,i)?E=null:S&&f(o,S)&&(t.effectTag|=16),s(e,t),2147483647!==n&&!h&&p(o,i)?(t.expirationTime=2147483647,t=null):(a(e,t,E),t.memoizedProps=i,t=t.child)):t=c(e,t),t;case 6:return null===e&&b(t),e=t.pendingProps,null===e&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,pi.current?null===o&&null===(o=e&&e.memoizedProps)&&r(\"154\"):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),i=o.children,t.stateNode=null===e?ki(t,t.stateNode,i,n):Ti(t,t.stateNode,i,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(g(t,t.stateNode.containerInfo),o=t.pendingProps,pi.current)null===o&&null==(o=e&&e.memoizedProps)&&r(\"154\");else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Ti(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,pi.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:r(\"156\")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:rt(t);break;case 3:u(t);break;default:r(\"157\")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?d(e,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?ki(t,null,null,n):Ti(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}function Pt(e,t,n){function i(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,s=e.appendInitialChild,l=e.finalizeInitialChildren,u=e.prepareUpdate,c=e.persistence,d=t.getRootHostContainer,f=t.popHostContext,h=t.getHostContext,p=t.popHostContainer,m=n.prepareToHydrateHostInstance,g=n.prepareToHydrateHostTextInstance,v=n.popHydrationState,y=void 0,b=void 0,x=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&i(t)},x=function(e,t,n,r){n!==r&&i(t)}):r(c?\"235\":\"236\"),{completeWork:function(e,t,n){var c=t.pendingProps;switch(null===c?c=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return et(t),null;case 3:return p(t),Ze(pi,t),Ze(hi,t),c=t.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==e&&null!==e.child||(v(t),t.effectTag&=-3),y(t),null;case 5:f(t),n=d();var _=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,M=t.stateNode,S=h();M=u(M,_,w,c,n,S),b(e,t,M,_,w,c,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!c)return null===t.stateNode&&r(\"166\"),null;if(e=h(),v(t))m(t,n,e)&&i(t);else{e=o(_,c,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)s(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}l(e,_,c,n)&&i(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)x(e,t,e.memoizedProps,c);else{if(\"string\"!=typeof c)return null===t.stateNode&&r(\"166\"),null;e=d(),n=h(),v(t)?g(t)&&i(t):t.stateNode=a(c,e,n,t)}return null;case 7:(c=t.memoizedProps)||r(\"165\"),t.tag=8,_=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)r(\"247\");else if(9===w.tag)_.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return w=c.handler,c=w(c.props,_),t.child=Ti(t,null!==e?e.child:null,c,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return p(t),y(t),null;case 0:r(\"167\");default:r(\"156\")}}}}function Ct(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function i(e){switch(\"function\"==typeof gt&>(e),e.tag){case 2:n(e);var r=e.stateNode;if(\"function\"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:u&&s(e)}}function o(e){for(var t=e;;)if(i(t),null===t.child||u&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,a=void 0,s=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&r(\"160\"),n.tag){case 5:a=n.stateNode,s=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,s=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),s?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:i(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return,4===t.tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var l=e.getPublicInstance,u=e.mutation;e=e.persistence,u||r(e?\"235\":\"236\");var c=u.commitMount,d=u.commitUpdate,f=u.resetTextContent,h=u.commitTextUpdate,p=u.appendChild,m=u.appendChildToContainer,g=u.insertBefore,v=u.insertInContainerBefore,y=u.removeChild,b=u.removeChildFromContainer;return{commitResetTextContent:function(e){f(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}r(\"160\"),n=void 0}var i=t=void 0;switch(n.tag){case 5:t=n.stateNode,i=!1;break;case 3:case 4:t=n.stateNode.containerInfo,i=!0;break;default:r(\"161\")}16&n.effectTag&&(f(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?i?v(t,o.stateNode,n):g(t,o.stateNode,n):i?m(t,o.stateNode):p(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var i=t.memoizedProps;e=null!==e?e.memoizedProps:i;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&d(n,a,o,e,i,t)}break;case 6:null===t.stateNode&&r(\"162\"),n=t.memoizedProps,h(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:r(\"163\")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var i=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(i,e)}t=t.updateQueue,null!==t&&wt(t,n);break;case 3:n=t.updateQueue,null!==n&&wt(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&c(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:r(\"163\")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(l(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}function At(e){function t(e){return e===Oi&&r(\"174\"),e}var n=e.getChildHostContext,i=e.getRootHostContext,o={current:Oi},a={current:Oi},s={current:Oi};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(s.current)},popHostContainer:function(e){Ze(o,e),Ze(a,e),Ze(s,e)},popHostContext:function(e){a.current===e&&(Ze(o,e),Ze(a,e))},pushHostContainer:function(e,t){Ke(s,t,e),t=i(t),Ke(a,e,e),Ke(o,t,e)},pushHostContext:function(e){var r=t(s.current),i=t(o.current);r=n(i,e.type,r),i!==r&&(Ke(a,e,e),Ke(o,r,e))},resetHostContainer:function(){o.current=Oi,s.current=Oi}}}function Rt(e){function t(e,t){var n=new ot(5,null,0);n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=s(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function i(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;f=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){r(\"175\")},prepareToHydrateHostTextInstance:function(){r(\"176\")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,s=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,c=e.hydrateInstance,d=e.hydrateTextInstance,f=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),f=e,p=!0},resetHydrationState:function(){h=f=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(f=e);t(f,h)}f=e,h=u(r)}else e.effectTag|=2,p=!1,f=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return d(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==f)return!1;if(!p)return i(e),p=!0,!1;var n=e.type;if(5!==e.tag||\"head\"!==n&&\"body\"!==n&&!o(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return i(e),h=f?l(e.stateNode):null,!0}}}function Lt(e){function t(e){oe=Z=!0;var t=e.stateNode;if(t.current===e&&r(\"177\"),t.isReadyForCommit=!1,Ur.current=null,1a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if($<=q)for(;null!==K;)K=u(K)?o(K):i(K);else for(;null!==K&&!w();)K=u(K)?o(K):i(K)}else if(!(0===$||$>e))if($<=q)for(;null!==K;)K=i(K);else for(;null!==K&&!w();)K=i(K)}function s(e,t){if(Z&&r(\"243\"),Z=!0,e.isReadyForCommit=!1,e!==J||t!==$||null===K){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Z&&n===J&&t<$&&(K=J=null,$=0);var i=n,o=t;if(we>xe&&r(\"185\"),null===i.nextScheduledRoot)i.remainingExpirationTime=o,null===le?(se=le=i,i.nextScheduledRoot=i):(le=le.nextScheduledRoot=i,le.nextScheduledRoot=se);else{var a=i.remainingExpirationTime;(0===a||oue)return;W(ce)}var t=j()-Y;ue=e,ce=U(b,{timeout:10*(e-2)-t})}function y(){var e=0,t=null;if(null!==le)for(var n=le,i=se;null!==i;){var o=i.remainingExpirationTime;if(0===o){if((null===n||null===le)&&r(\"244\"),i===i.nextScheduledRoot){se=le=i.nextScheduledRoot=null;break}if(i===se)se=o=i.nextScheduledRoot,le.nextScheduledRoot=o,i.nextScheduledRoot=null;else{if(i===le){le=n,le.nextScheduledRoot=se,i.nextScheduledRoot=null;break}n.nextScheduledRoot=i.nextScheduledRoot,i.nextScheduledRoot=null}i=n.nextScheduledRoot}else{if((0===e||oMe)&&(pe=!0)}function M(e){null===fe&&r(\"246\"),fe.remainingExpirationTime=0,me||(me=!0,ge=e)}var S=At(e),E=Rt(e),T=S.popHostContainer,k=S.popHostContext,O=S.resetHostContainer,P=Ot(e,S,E,h,f),C=P.beginWork,A=P.beginFailedWork,R=Pt(e,S,E).completeWork;S=Ct(e,l);var L=S.commitResetTextContent,I=S.commitPlacement,D=S.commitDeletion,N=S.commitWork,z=S.commitLifeCycles,B=S.commitAttachRef,F=S.commitDetachRef,j=e.now,U=e.scheduleDeferredCallback,W=e.cancelDeferredCallback,G=e.useSyncScheduling,V=e.prepareForCommit,H=e.resetAfterCommit,Y=j(),q=2,X=0,Z=!1,K=null,J=null,$=0,Q=null,ee=null,te=null,ne=null,re=null,ie=!1,oe=!1,ae=!1,se=null,le=null,ue=0,ce=-1,de=!1,fe=null,he=0,pe=!1,me=!1,ge=null,ve=null,ye=!1,be=!1,xe=1e3,we=0,Me=1;return{computeAsyncExpiration:d,computeExpirationForFiber:f,scheduleWork:h,batchedUpdates:function(e,t){var n=ye;ye=!0;try{return e(t)}finally{(ye=n)||de||x(1,null)}},unbatchedUpdates:function(e){if(ye&&!be){be=!0;try{return e()}finally{be=!1}}return e()},flushSync:function(e){var t=ye;ye=!0;try{e:{var n=X;X=1;try{var i=e();break e}finally{X=n}i=void 0}return i}finally{ye=t,de&&r(\"187\"),x(1,null)}},deferredUpdates:function(e){var t=X;X=d();try{return e()}finally{X=t}}}}function It(e){function t(e){return e=Te(e),null===e?null:e.stateNode}var n=e.getPublicInstance;e=Lt(e);var i=e.computeAsyncExpiration,o=e.computeExpirationForFiber,a=e.scheduleWork;return{createContainer:function(e,t){var n=new ot(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,s){var l=t.current;if(n){n=n._reactInternalFiber;var u;e:{for(2===we(n)&&2===n.tag||r(\"170\"),u=n;3!==u.tag;){if(Qe(u)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}(u=u.return)||r(\"171\")}u=u.stateNode.context}n=Qe(n)?nt(n,u):u}else n=On;null===t.context?t.context=n:t.pendingContext=n,t=s,t=void 0===t?null:t,s=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?i():o(l),bt(l,{expirationTime:s,partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),a(l,s)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return e=ke(e),null===e?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return pt(_n({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}function Dt(e,t,n){var r=3n||r.hasOverloadedBooleanValue&&!1===n?Ft(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(i=r.attributeNamespace)?e.setAttributeNS(i,t,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,\"\"):e.setAttribute(t,\"\"+n))}else Bt(e,t,o(t,n)?n:null)}function Bt(e,t,n){Nt(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,\"\"+n))}function Ft(e,t){var n=a(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&\"\":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function jt(e,t){var n=t.value,r=t.checked;return _n({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function Ut(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function Wt(e,t){null!=(t=t.checked)&&zt(e,\"checked\",t)}function Gt(e,t){Wt(e,t);var n=t.value;null!=n?0===n&&\"\"===e.value?e.value=\"0\":\"number\"===t.type?(t=parseFloat(e.value)||0,(n!=t||n==t&&e.value!=n)&&(e.value=\"\"+n)):e.value!==\"\"+n&&(e.value=\"\"+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==\"\"+t.defaultValue&&(e.defaultValue=\"\"+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function Vt(e,t){switch(t.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":e.value=\"\",e.value=e.defaultValue;break;default:e.value=e.value}t=e.name,\"\"!==t&&(e.name=\"\"),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,\"\"!==t&&(e.name=t)}function Ht(e){var t=\"\";return bn.Children.forEach(e,function(e){null==e||\"string\"!=typeof e&&\"number\"!=typeof e||(t+=e)}),t}function Yt(e,t){return e=_n({children:void 0},t),(t=Ht(t.children))&&(e.children=t),e}function qt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i=t.length||r(\"93\"),t=t[0]),n=\"\"+t),null==n&&(n=\"\")),e._wrapperState={initialValue:\"\"+n}}function Jt(e,t){var n=t.value;null!=n&&(n=\"\"+n,n!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function $t(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}function Qt(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function en(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?Qt(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}function tn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function nn(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=n,o=t[n];i=null==o||\"boolean\"==typeof o||\"\"===o?\"\":r||\"number\"!=typeof o||0===o||$i.hasOwnProperty(i)&&$i[i]?(\"\"+o).trim():o+\"px\",\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}function rn(e,t,n){t&&(eo[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&r(\"137\",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&r(\"60\"),\"object\"==typeof t.dangerouslySetInnerHTML&&\"__html\"in t.dangerouslySetInnerHTML||r(\"61\")),null!=t.style&&\"object\"!=typeof t.style&&r(\"62\",n()))}function on(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}function an(e,t){e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument;var n=De(e);t=Kn[t];for(var r=0;r<\\/script>\",e=e.removeChild(e.firstChild)):e=\"string\"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function ln(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function un(e,t,n,r){var i=on(t,n);switch(t){case\"iframe\":case\"object\":Ce(\"topLoad\",\"load\",e);var o=n;break;case\"video\":case\"audio\":for(o in ro)ro.hasOwnProperty(o)&&Ce(o,ro[o],e);o=n;break;case\"source\":Ce(\"topError\",\"error\",e),o=n;break;case\"img\":case\"image\":Ce(\"topError\",\"error\",e),Ce(\"topLoad\",\"load\",e),o=n;break;case\"form\":Ce(\"topReset\",\"reset\",e),Ce(\"topSubmit\",\"submit\",e),o=n;break;case\"details\":Ce(\"topToggle\",\"toggle\",e),o=n;break;case\"input\":Ut(e,n),o=jt(e,n),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;case\"option\":o=Yt(e,n);break;case\"select\":Xt(e,n),o=_n({},n,{value:void 0}),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;case\"textarea\":Kt(e,n),o=Zt(e,n),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;default:o=n}rn(t,o,no);var a,s=o;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];\"style\"===a?nn(e,l,no):\"dangerouslySetInnerHTML\"===a?null!=(l=l?l.__html:void 0)&&Ji(e,l):\"children\"===a?\"string\"==typeof l?(\"textarea\"!==t||\"\"!==l)&&tn(e,l):\"number\"==typeof l&&tn(e,\"\"+l):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(Zn.hasOwnProperty(a)?null!=l&&an(r,a):i?Bt(e,a,l):null!=l&&zt(e,a,l))}switch(t){case\"input\":oe(e),Vt(e,n);break;case\"textarea\":oe(e),$t(e,n);break;case\"option\":null!=n.value&&e.setAttribute(\"value\",n.value);break;case\"select\":e.multiple=!!n.multiple,t=n.value,null!=t?qt(e,!!n.multiple,t,!1):null!=n.defaultValue&&qt(e,!!n.multiple,n.defaultValue,!0);break;default:\"function\"==typeof o.onClick&&(e.onclick=wn)}}function cn(e,t,n,r,i){var o=null;switch(t){case\"input\":n=jt(e,n),r=jt(e,r),o=[];break;case\"option\":n=Yt(e,n),r=Yt(e,r),o=[];break;case\"select\":n=_n({},n,{value:void 0}),r=_n({},r,{value:void 0}),o=[];break;case\"textarea\":n=Zt(e,n),r=Zt(e,r),o=[];break;default:\"function\"!=typeof n.onClick&&\"function\"==typeof r.onClick&&(e.onclick=wn)}rn(t,r,no);var a,s;e=null;for(a in n)if(!r.hasOwnProperty(a)&&n.hasOwnProperty(a)&&null!=n[a])if(\"style\"===a)for(s in t=n[a])t.hasOwnProperty(s)&&(e||(e={}),e[s]=\"\");else\"dangerouslySetInnerHTML\"!==a&&\"children\"!==a&&\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(Zn.hasOwnProperty(a)?o||(o=[]):(o=o||[]).push(a,null));for(a in r){var l=r[a];if(t=null!=n?n[a]:void 0,r.hasOwnProperty(a)&&l!==t&&(null!=l||null!=t))if(\"style\"===a)if(t){for(s in t)!t.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(e||(e={}),e[s]=\"\");for(s in l)l.hasOwnProperty(s)&&t[s]!==l[s]&&(e||(e={}),e[s]=l[s])}else e||(o||(o=[]),o.push(a,e)),e=l;else\"dangerouslySetInnerHTML\"===a?(l=l?l.__html:void 0,t=t?t.__html:void 0,null!=l&&t!==l&&(o=o||[]).push(a,\"\"+l)):\"children\"===a?t===l||\"string\"!=typeof l&&\"number\"!=typeof l||(o=o||[]).push(a,\"\"+l):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&(Zn.hasOwnProperty(a)?(null!=l&&an(i,a),o||t===l||(o=[])):(o=o||[]).push(a,l))}return e&&(o=o||[]).push(\"style\",e),o}function dn(e,t,n,r,i){\"input\"===n&&\"radio\"===i.type&&null!=i.name&&Wt(e,i),on(n,r),r=on(n,i);for(var o=0;o=l.hasBooleanValue+l.hasNumericValue+l.hasOverloadedBooleanValue||r(\"50\",s),a.hasOwnProperty(s)&&(l.attributeName=a[s]),o.hasOwnProperty(s)&&(l.attributeNamespace=o[s]),e.hasOwnProperty(s)&&(l.mutationMethod=e[s]),An[s]=l}}},An={},Rn=Cn,Ln=Rn.MUST_USE_PROPERTY,In=Rn.HAS_BOOLEAN_VALUE,Dn=Rn.HAS_NUMERIC_VALUE,Nn=Rn.HAS_POSITIVE_NUMERIC_VALUE,zn=Rn.HAS_OVERLOADED_BOOLEAN_VALUE,Bn=Rn.HAS_STRING_BOOLEAN_VALUE,Fn={Properties:{allowFullScreen:In,async:In,autoFocus:In,autoPlay:In,capture:zn,checked:Ln|In,cols:Nn,contentEditable:Bn,controls:In,default:In,defer:In,disabled:In,download:zn,draggable:Bn,formNoValidate:In,hidden:In,loop:In,multiple:Ln|In,muted:Ln|In,noValidate:In,open:In,playsInline:In,readOnly:In,required:In,reversed:In,rows:Nn,rowSpan:Dn,scoped:In,seamless:In,selected:Ln|In,size:Nn,start:Dn,span:Nn,spellCheck:Bn,style:0,tabIndex:0,itemScope:In,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:Bn},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute(\"value\");\"number\"!==e.type||!1===e.hasAttribute(\"value\")?e.setAttribute(\"value\",\"\"+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(\"value\",\"\"+t)}}},jn=Rn.HAS_STRING_BOOLEAN_VALUE,Un={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},Wn={Properties:{autoReverse:jn,externalResourcesRequired:jn,preserveAlpha:jn},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:Un.xlink,xlinkArcrole:Un.xlink,xlinkHref:Un.xlink,xlinkRole:Un.xlink,xlinkShow:Un.xlink,xlinkTitle:Un.xlink,xlinkType:Un.xlink,xmlBase:Un.xml,xmlLang:Un.xml,xmlSpace:Un.xml}},Gn=/[\\-\\:]([a-z])/g;\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(e){var t=e.replace(Gn,s);Wn.Properties[t]=0,Wn.DOMAttributeNames[t]=e}),Rn.injectDOMPropertyConfig(Fn),Rn.injectDOMPropertyConfig(Wn);var Vn={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(e){\"function\"!=typeof e.invokeGuardedCallback&&r(\"197\"),l=e.invokeGuardedCallback}},invokeGuardedCallback:function(e,t,n,r,i,o,a,s,u){l.apply(Vn,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,r,i,o,a,s,l){if(Vn.invokeGuardedCallback.apply(this,arguments),Vn.hasCaughtError()){var u=Vn.clearCaughtError();Vn._hasRethrowError||(Vn._hasRethrowError=!0,Vn._rethrowError=u)}},rethrowCaughtError:function(){return u.apply(Vn,arguments)},hasCaughtError:function(){return Vn._hasCaughtError},clearCaughtError:function(){if(Vn._hasCaughtError){var e=Vn._caughtError;return Vn._caughtError=null,Vn._hasCaughtError=!1,e}r(\"198\")}},Hn=null,Yn={},qn=[],Xn={},Zn={},Kn={},Jn=Object.freeze({plugins:qn,eventNameDispatchConfigs:Xn,registrationNameModules:Zn,registrationNameDependencies:Kn,possibleRegistrationNames:null,injectEventPluginOrder:f,injectEventPluginsByName:h}),$n=null,Qn=null,er=null,tr=null,nr={injectEventPluginOrder:f,injectEventPluginsByName:h},rr=Object.freeze({injection:nr,getListener:x,extractEvents:_,enqueueEvents:w,processEventQueue:M}),ir=Math.random().toString(36).slice(2),or=\"__reactInternalInstance$\"+ir,ar=\"__reactEventHandlers$\"+ir,sr=Object.freeze({precacheFiberNode:function(e,t){t[or]=e},getClosestInstanceFromNode:S,getInstanceFromNode:function(e){return e=e[or],!e||5!==e.tag&&6!==e.tag?null:e},getNodeFromInstance:E,getFiberCurrentPropsFromNode:T,updateFiberProps:function(e,t){e[ar]=t}}),lr=Object.freeze({accumulateTwoPhaseDispatches:I,accumulateTwoPhaseDispatchesSkipTarget:function(e){g(e,A)},accumulateEnterLeaveDispatches:D,accumulateDirectDispatches:function(e){g(e,L)}}),ur=null,cr={_root:null,_startText:null,_fallbackText:null},dr=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),fr={type:null,target:null,currentTarget:wn.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};_n(F.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=wn.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=wn.thatReturnsTrue)},persist:function(){this.isPersistent=wn.thatReturnsTrue},isPersistent:wn.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(vr.version(),10))}var yr,br=gr,xr=xn.canUseDOM&&(!pr||mr&&8=mr),_r=String.fromCharCode(32),wr={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},Mr=!1,Sr=!1,Er={eventTypes:wr,extractEvents:function(e,t,n,r){var i;if(pr)e:{switch(e){case\"topCompositionStart\":var o=wr.compositionStart;break e;case\"topCompositionEnd\":o=wr.compositionEnd;break e;case\"topCompositionUpdate\":o=wr.compositionUpdate;break e}o=void 0}else Sr?H(e,n)&&(o=wr.compositionEnd):\"topKeyDown\"===e&&229===n.keyCode&&(o=wr.compositionStart);return o?(xr&&(Sr||o!==wr.compositionStart?o===wr.compositionEnd&&Sr&&(i=z()):(cr._root=r,cr._startText=B(),Sr=!0)),o=G.getPooled(o,t,n,r),i?o.data=i:null!==(i=Y(n))&&(o.data=i),I(o),i=o):i=null,(e=br?q(e,n):X(e,n))?(t=V.getPooled(wr.beforeInput,t,n,r),t.data=e,I(t)):t=null,[i,t]}},Tr=null,kr=null,Or=null,Pr={injectFiberControlledHostComponent:function(e){Tr=e}},Cr=Object.freeze({injection:Pr,enqueueStateRestore:K,restoreStateIfNeeded:J}),Ar=!1,Rr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};xn.canUseDOM&&(yr=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\"));var Lr={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange\".split(\" \")}},Ir=null,Dr=null,Nr=!1;xn.canUseDOM&&(Nr=ne(\"input\")&&(!document.documentMode||9=document.documentMode,ei={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},ti=null,ni=null,ri=null,ii=!1,oi={eventTypes:ei,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=De(o),i=Kn.onSelect;for(var a=0;a=Ui-e){if(!(-1!==Fi&&Fi<=e))return void(ji||(ji=!0,requestAnimationFrame(Hi)));Ni.didTimeout=!0}else Ni.didTimeout=!1;Fi=-1,e=zi,zi=null,null!==e&&e(Ni)}},!1);var Hi=function(e){ji=!1;var t=e-Ui+Gi;tt&&(t=8),Gi=t\"+t+\"\",t=Ki.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}),$i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qi=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys($i).forEach(function(e){Qi.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$i[t]=$i[e]})});var eo=_n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),to=Zi.html,no=wn.thatReturns(\"\"),ro={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},io=Object.freeze({createElement:sn,createTextNode:ln,setInitialProperties:un,diffProperties:cn,updateProperties:dn,diffHydratedProperties:fn,diffHydratedText:hn,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(e,t,n){switch(t){case\"input\":if(Gt(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;tr&&(i=r,r=e,e=i),i=ze(n,e);var o=ze(n,r);if(i&&o&&(1!==t.rangeCount||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)){var a=document.createRange();a.setStart(i.node,i.offset),t.removeAllRanges(),e>r?(t.addRange(a),t.extend(o.node,o.offset)):(a.setEnd(o.node,o.offset),t.addRange(a))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(kn(n),n=0;na?a:i+s,l&&l(u,e);break;case 37:case 40:u=i-s0){S=S.sort(function(e,t){return s?e-t:t-e});var E=!0,T=!1,k=void 0;try{for(var O,P=S[Symbol.iterator]();!(E=(O=P.next()).done);E=!0){var C=O.value,A=this.getPositionFromValue(C),R=this.coordinates(A),L=i({},g,R.label+\"px\");M.push(f.default.createElement(\"li\",{key:C,className:(0,c.default)(\"rangeslider__label-item\"),\"data-value\":C,onMouseDown:this.handleDrag,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,style:L},this.props.labels[C]))}}catch(e){T=!0,k=e}finally{try{!E&&P.return&&P.return()}finally{if(T)throw k}}}return f.default.createElement(\"div\",{ref:function(t){e.slider=t},className:(0,c.default)(\"rangeslider\",\"rangeslider-\"+r,{\"rangeslider-reverse\":s},o),onMouseDown:this.handleDrag,onMouseUp:this.handleEnd,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,\"aria-valuemin\":u,\"aria-valuemax\":d,\"aria-valuenow\":n,\"aria-orientation\":r},f.default.createElement(\"div\",{className:\"rangeslider__fill\",style:x}),f.default.createElement(\"div\",{ref:function(t){e.handle=t},className:\"rangeslider__handle\",onMouseDown:this.handleStart,onTouchMove:this.handleDrag,onTouchEnd:this.handleEnd,onKeyDown:this.handleKeyDown,style:_,tabIndex:0},w?f.default.createElement(\"div\",{ref:function(t){e.tooltip=t},className:\"rangeslider__handle-tooltip\"},f.default.createElement(\"span\",null,this.handleFormat(n))):null,f.default.createElement(\"div\",{className:\"rangeslider__handle-label\"},h)),l?this.renderLabels(M):null)}}]),t}(d.Component);b.propTypes={min:p.default.number,max:p.default.number,step:p.default.number,value:p.default.number,orientation:p.default.string,tooltip:p.default.bool,reverse:p.default.bool,labels:p.default.object,handleLabel:p.default.string,format:p.default.func,onChangeStart:p.default.func,onChange:p.default.func,onChangeComplete:p.default.func},b.defaultProps={min:0,max:100,step:1,value:0,orientation:\"horizontal\",tooltip:!0,reverse:!1,labels:{},handleLabel:\"\"},t.default=b},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(404),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default},function(e,t,n){\"use strict\";function r(e){return e.charAt(0).toUpperCase()+e.substr(1)}function i(e,t,n){return Math.min(Math.max(e,t),n)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.capitalize=r,t.clamp=i},function(e,t,n){var r=n(410);e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;tparseInt(window.getComputedStyle(v).order)&&(M=-M);var S=r;if(void 0!==r&&r<=0){var E=this.splitPane;S=\"vertical\"===a?E.getBoundingClientRect().width+r:E.getBoundingClientRect().height+r}var T=_-M,k=d-w;TS?T=S:this.setState({position:k,resized:!0}),o&&o(T),this.setState({draggedSize:T}),h.setState({size:T})}}}}},{key:\"onMouseUp\",value:function(){var e=this.props,t=e.allowResize,n=e.onDragFinished,r=this.state,i=r.active,o=r.draggedSize;t&&i&&(\"function\"==typeof n&&n(o),this.setState({active:!1}))}},{key:\"setSize\",value:function(e,t){var n=this.props.primary,r=\"first\"===n?this.pane1:this.pane2,i=void 0;r&&(i=e.size||t&&t.draggedSize||e.defaultSize||e.minSize,r.setState({size:i}),e.size!==t.draggedSize&&this.setState({draggedSize:i}))}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.allowResize,r=t.children,i=t.className,o=t.defaultSize,a=t.minSize,s=t.onResizerClick,u=t.onResizerDoubleClick,c=t.paneClassName,f=t.pane1ClassName,h=t.pane2ClassName,p=t.paneStyle,m=t.pane1Style,g=t.pane2Style,v=t.primary,y=t.prefixer,b=t.resizerClassName,x=t.resizerStyle,S=t.size,E=t.split,T=t.style,k=n?\"\":\"disabled\",O=b?b+\" \"+w.RESIZER_DEFAULT_CLASSNAME:b,P=l({},{display:\"flex\",flex:1,height:\"100%\",position:\"absolute\",outline:\"none\",overflow:\"hidden\",MozUserSelect:\"text\",WebkitUserSelect:\"text\",msUserSelect:\"text\",userSelect:\"text\"},T||{});\"vertical\"===E?l(P,{flexDirection:\"row\",left:0,right:0}):l(P,{bottom:0,flexDirection:\"column\",minHeight:\"100%\",top:0,width:\"100%\"});var C=[\"SplitPane\",i,E,k],A=y.prefix(l({},p||{},m||{})),R=y.prefix(l({},p||{},g||{})),L=[\"Pane1\",c,f].join(\" \"),I=[\"Pane2\",c,h].join(\" \");return d.default.createElement(\"div\",{className:C.join(\" \"),ref:function(t){e.splitPane=t},style:y.prefix(P)},d.default.createElement(_.default,{className:L,key:\"pane1\",ref:function(t){e.pane1=t},size:\"first\"===v?S||o||a:void 0,split:E,style:A},r[0]),d.default.createElement(M.default,{className:k,onClick:s,onDoubleClick:u,onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onTouchEnd:this.onMouseUp,key:\"resizer\",ref:function(t){e.resizer=t},resizerClassName:O,split:E,style:x||{}}),d.default.createElement(_.default,{className:I,key:\"pane2\",ref:function(t){e.pane2=t},size:\"second\"===v?S||o||a:void 0,split:E,style:R},r[1]))}}]),t}(d.default.Component);E.propTypes={allowResize:h.default.bool,children:h.default.arrayOf(h.default.node).isRequired,className:h.default.string,primary:h.default.oneOf([\"first\",\"second\"]),minSize:h.default.oneOfType([h.default.string,h.default.number]),maxSize:h.default.oneOfType([h.default.string,h.default.number]),defaultSize:h.default.oneOfType([h.default.string,h.default.number]),size:h.default.oneOfType([h.default.string,h.default.number]),split:h.default.oneOf([\"vertical\",\"horizontal\"]),onDragStarted:h.default.func,onDragFinished:h.default.func,onChange:h.default.func,onResizerClick:h.default.func,onResizerDoubleClick:h.default.func,prefixer:h.default.instanceOf(v.default).isRequired,style:b.default,resizerStyle:b.default,paneClassName:h.default.string,pane1ClassName:h.default.string,pane2ClassName:h.default.string,paneStyle:b.default,pane1Style:b.default,pane2Style:b.default,resizerClassName:h.default.string,step:h.default.number},E.defaultProps={allowResize:!0,minSize:50,prefixer:new v.default({userAgent:S}),primary:\"first\",split:\"vertical\",paneClassName:\"\",pane1ClassName:\"\",pane2ClassName:\"\"},t.default=E,e.exports=t.default},function(e,t){e.exports=[\"alignContent\",\"MozAlignContent\",\"WebkitAlignContent\",\"MSAlignContent\",\"OAlignContent\",\"alignItems\",\"MozAlignItems\",\"WebkitAlignItems\",\"MSAlignItems\",\"OAlignItems\",\"alignSelf\",\"MozAlignSelf\",\"WebkitAlignSelf\",\"MSAlignSelf\",\"OAlignSelf\",\"all\",\"MozAll\",\"WebkitAll\",\"MSAll\",\"OAll\",\"animation\",\"MozAnimation\",\"WebkitAnimation\",\"MSAnimation\",\"OAnimation\",\"animationDelay\",\"MozAnimationDelay\",\"WebkitAnimationDelay\",\"MSAnimationDelay\",\"OAnimationDelay\",\"animationDirection\",\"MozAnimationDirection\",\"WebkitAnimationDirection\",\"MSAnimationDirection\",\"OAnimationDirection\",\"animationDuration\",\"MozAnimationDuration\",\"WebkitAnimationDuration\",\"MSAnimationDuration\",\"OAnimationDuration\",\"animationFillMode\",\"MozAnimationFillMode\",\"WebkitAnimationFillMode\",\"MSAnimationFillMode\",\"OAnimationFillMode\",\"animationIterationCount\",\"MozAnimationIterationCount\",\"WebkitAnimationIterationCount\",\"MSAnimationIterationCount\",\"OAnimationIterationCount\",\"animationName\",\"MozAnimationName\",\"WebkitAnimationName\",\"MSAnimationName\",\"OAnimationName\",\"animationPlayState\",\"MozAnimationPlayState\",\"WebkitAnimationPlayState\",\"MSAnimationPlayState\",\"OAnimationPlayState\",\"animationTimingFunction\",\"MozAnimationTimingFunction\",\"WebkitAnimationTimingFunction\",\"MSAnimationTimingFunction\",\"OAnimationTimingFunction\",\"backfaceVisibility\",\"MozBackfaceVisibility\",\"WebkitBackfaceVisibility\",\"MSBackfaceVisibility\",\"OBackfaceVisibility\",\"background\",\"MozBackground\",\"WebkitBackground\",\"MSBackground\",\"OBackground\",\"backgroundAttachment\",\"MozBackgroundAttachment\",\"WebkitBackgroundAttachment\",\"MSBackgroundAttachment\",\"OBackgroundAttachment\",\"backgroundBlendMode\",\"MozBackgroundBlendMode\",\"WebkitBackgroundBlendMode\",\"MSBackgroundBlendMode\",\"OBackgroundBlendMode\",\"backgroundClip\",\"MozBackgroundClip\",\"WebkitBackgroundClip\",\"MSBackgroundClip\",\"OBackgroundClip\",\"backgroundColor\",\"MozBackgroundColor\",\"WebkitBackgroundColor\",\"MSBackgroundColor\",\"OBackgroundColor\",\"backgroundImage\",\"MozBackgroundImage\",\"WebkitBackgroundImage\",\"MSBackgroundImage\",\"OBackgroundImage\",\"backgroundOrigin\",\"MozBackgroundOrigin\",\"WebkitBackgroundOrigin\",\"MSBackgroundOrigin\",\"OBackgroundOrigin\",\"backgroundPosition\",\"MozBackgroundPosition\",\"WebkitBackgroundPosition\",\"MSBackgroundPosition\",\"OBackgroundPosition\",\"backgroundRepeat\",\"MozBackgroundRepeat\",\"WebkitBackgroundRepeat\",\"MSBackgroundRepeat\",\"OBackgroundRepeat\",\"backgroundSize\",\"MozBackgroundSize\",\"WebkitBackgroundSize\",\"MSBackgroundSize\",\"OBackgroundSize\",\"blockSize\",\"MozBlockSize\",\"WebkitBlockSize\",\"MSBlockSize\",\"OBlockSize\",\"border\",\"MozBorder\",\"WebkitBorder\",\"MSBorder\",\"OBorder\",\"borderBlockEnd\",\"MozBorderBlockEnd\",\"WebkitBorderBlockEnd\",\"MSBorderBlockEnd\",\"OBorderBlockEnd\",\"borderBlockEndColor\",\"MozBorderBlockEndColor\",\"WebkitBorderBlockEndColor\",\"MSBorderBlockEndColor\",\"OBorderBlockEndColor\",\"borderBlockEndStyle\",\"MozBorderBlockEndStyle\",\"WebkitBorderBlockEndStyle\",\"MSBorderBlockEndStyle\",\"OBorderBlockEndStyle\",\"borderBlockEndWidth\",\"MozBorderBlockEndWidth\",\"WebkitBorderBlockEndWidth\",\"MSBorderBlockEndWidth\",\"OBorderBlockEndWidth\",\"borderBlockStart\",\"MozBorderBlockStart\",\"WebkitBorderBlockStart\",\"MSBorderBlockStart\",\"OBorderBlockStart\",\"borderBlockStartColor\",\"MozBorderBlockStartColor\",\"WebkitBorderBlockStartColor\",\"MSBorderBlockStartColor\",\"OBorderBlockStartColor\",\"borderBlockStartStyle\",\"MozBorderBlockStartStyle\",\"WebkitBorderBlockStartStyle\",\"MSBorderBlockStartStyle\",\"OBorderBlockStartStyle\",\"borderBlockStartWidth\",\"MozBorderBlockStartWidth\",\"WebkitBorderBlockStartWidth\",\"MSBorderBlockStartWidth\",\"OBorderBlockStartWidth\",\"borderBottom\",\"MozBorderBottom\",\"WebkitBorderBottom\",\"MSBorderBottom\",\"OBorderBottom\",\"borderBottomColor\",\"MozBorderBottomColor\",\"WebkitBorderBottomColor\",\"MSBorderBottomColor\",\"OBorderBottomColor\",\"borderBottomLeftRadius\",\"MozBorderBottomLeftRadius\",\"WebkitBorderBottomLeftRadius\",\"MSBorderBottomLeftRadius\",\"OBorderBottomLeftRadius\",\"borderBottomRightRadius\",\"MozBorderBottomRightRadius\",\"WebkitBorderBottomRightRadius\",\"MSBorderBottomRightRadius\",\"OBorderBottomRightRadius\",\"borderBottomStyle\",\"MozBorderBottomStyle\",\"WebkitBorderBottomStyle\",\"MSBorderBottomStyle\",\"OBorderBottomStyle\",\"borderBottomWidth\",\"MozBorderBottomWidth\",\"WebkitBorderBottomWidth\",\"MSBorderBottomWidth\",\"OBorderBottomWidth\",\"borderCollapse\",\"MozBorderCollapse\",\"WebkitBorderCollapse\",\"MSBorderCollapse\",\"OBorderCollapse\",\"borderColor\",\"MozBorderColor\",\"WebkitBorderColor\",\"MSBorderColor\",\"OBorderColor\",\"borderImage\",\"MozBorderImage\",\"WebkitBorderImage\",\"MSBorderImage\",\"OBorderImage\",\"borderImageOutset\",\"MozBorderImageOutset\",\"WebkitBorderImageOutset\",\"MSBorderImageOutset\",\"OBorderImageOutset\",\"borderImageRepeat\",\"MozBorderImageRepeat\",\"WebkitBorderImageRepeat\",\"MSBorderImageRepeat\",\"OBorderImageRepeat\",\"borderImageSlice\",\"MozBorderImageSlice\",\"WebkitBorderImageSlice\",\"MSBorderImageSlice\",\"OBorderImageSlice\",\"borderImageSource\",\"MozBorderImageSource\",\"WebkitBorderImageSource\",\"MSBorderImageSource\",\"OBorderImageSource\",\"borderImageWidth\",\"MozBorderImageWidth\",\"WebkitBorderImageWidth\",\"MSBorderImageWidth\",\"OBorderImageWidth\",\"borderInlineEnd\",\"MozBorderInlineEnd\",\"WebkitBorderInlineEnd\",\"MSBorderInlineEnd\",\"OBorderInlineEnd\",\"borderInlineEndColor\",\"MozBorderInlineEndColor\",\"WebkitBorderInlineEndColor\",\"MSBorderInlineEndColor\",\"OBorderInlineEndColor\",\"borderInlineEndStyle\",\"MozBorderInlineEndStyle\",\"WebkitBorderInlineEndStyle\",\"MSBorderInlineEndStyle\",\"OBorderInlineEndStyle\",\"borderInlineEndWidth\",\"MozBorderInlineEndWidth\",\"WebkitBorderInlineEndWidth\",\"MSBorderInlineEndWidth\",\"OBorderInlineEndWidth\",\"borderInlineStart\",\"MozBorderInlineStart\",\"WebkitBorderInlineStart\",\"MSBorderInlineStart\",\"OBorderInlineStart\",\"borderInlineStartColor\",\"MozBorderInlineStartColor\",\"WebkitBorderInlineStartColor\",\"MSBorderInlineStartColor\",\"OBorderInlineStartColor\",\"borderInlineStartStyle\",\"MozBorderInlineStartStyle\",\"WebkitBorderInlineStartStyle\",\"MSBorderInlineStartStyle\",\"OBorderInlineStartStyle\",\"borderInlineStartWidth\",\"MozBorderInlineStartWidth\",\"WebkitBorderInlineStartWidth\",\"MSBorderInlineStartWidth\",\"OBorderInlineStartWidth\",\"borderLeft\",\"MozBorderLeft\",\"WebkitBorderLeft\",\"MSBorderLeft\",\"OBorderLeft\",\"borderLeftColor\",\"MozBorderLeftColor\",\"WebkitBorderLeftColor\",\"MSBorderLeftColor\",\"OBorderLeftColor\",\"borderLeftStyle\",\"MozBorderLeftStyle\",\"WebkitBorderLeftStyle\",\"MSBorderLeftStyle\",\"OBorderLeftStyle\",\"borderLeftWidth\",\"MozBorderLeftWidth\",\"WebkitBorderLeftWidth\",\"MSBorderLeftWidth\",\"OBorderLeftWidth\",\"borderRadius\",\"MozBorderRadius\",\"WebkitBorderRadius\",\"MSBorderRadius\",\"OBorderRadius\",\"borderRight\",\"MozBorderRight\",\"WebkitBorderRight\",\"MSBorderRight\",\"OBorderRight\",\"borderRightColor\",\"MozBorderRightColor\",\"WebkitBorderRightColor\",\"MSBorderRightColor\",\"OBorderRightColor\",\"borderRightStyle\",\"MozBorderRightStyle\",\"WebkitBorderRightStyle\",\"MSBorderRightStyle\",\"OBorderRightStyle\",\"borderRightWidth\",\"MozBorderRightWidth\",\"WebkitBorderRightWidth\",\"MSBorderRightWidth\",\"OBorderRightWidth\",\"borderSpacing\",\"MozBorderSpacing\",\"WebkitBorderSpacing\",\"MSBorderSpacing\",\"OBorderSpacing\",\"borderStyle\",\"MozBorderStyle\",\"WebkitBorderStyle\",\"MSBorderStyle\",\"OBorderStyle\",\"borderTop\",\"MozBorderTop\",\"WebkitBorderTop\",\"MSBorderTop\",\"OBorderTop\",\"borderTopColor\",\"MozBorderTopColor\",\"WebkitBorderTopColor\",\"MSBorderTopColor\",\"OBorderTopColor\",\"borderTopLeftRadius\",\"MozBorderTopLeftRadius\",\"WebkitBorderTopLeftRadius\",\"MSBorderTopLeftRadius\",\"OBorderTopLeftRadius\",\"borderTopRightRadius\",\"MozBorderTopRightRadius\",\"WebkitBorderTopRightRadius\",\"MSBorderTopRightRadius\",\"OBorderTopRightRadius\",\"borderTopStyle\",\"MozBorderTopStyle\",\"WebkitBorderTopStyle\",\"MSBorderTopStyle\",\"OBorderTopStyle\",\"borderTopWidth\",\"MozBorderTopWidth\",\"WebkitBorderTopWidth\",\"MSBorderTopWidth\",\"OBorderTopWidth\",\"borderWidth\",\"MozBorderWidth\",\"WebkitBorderWidth\",\"MSBorderWidth\",\"OBorderWidth\",\"bottom\",\"MozBottom\",\"WebkitBottom\",\"MSBottom\",\"OBottom\",\"boxDecorationBreak\",\"MozBoxDecorationBreak\",\"WebkitBoxDecorationBreak\",\"MSBoxDecorationBreak\",\"OBoxDecorationBreak\",\"boxShadow\",\"MozBoxShadow\",\"WebkitBoxShadow\",\"MSBoxShadow\",\"OBoxShadow\",\"boxSizing\",\"MozBoxSizing\",\"WebkitBoxSizing\",\"MSBoxSizing\",\"OBoxSizing\",\"breakAfter\",\"MozBreakAfter\",\"WebkitBreakAfter\",\"MSBreakAfter\",\"OBreakAfter\",\"breakBefore\",\"MozBreakBefore\",\"WebkitBreakBefore\",\"MSBreakBefore\",\"OBreakBefore\",\"breakInside\",\"MozBreakInside\",\"WebkitBreakInside\",\"MSBreakInside\",\"OBreakInside\",\"captionSide\",\"MozCaptionSide\",\"WebkitCaptionSide\",\"MSCaptionSide\",\"OCaptionSide\",\"caretColor\",\"MozCaretColor\",\"WebkitCaretColor\",\"MSCaretColor\",\"OCaretColor\",\"ch\",\"MozCh\",\"WebkitCh\",\"MSCh\",\"OCh\",\"clear\",\"MozClear\",\"WebkitClear\",\"MSClear\",\"OClear\",\"clip\",\"MozClip\",\"WebkitClip\",\"MSClip\",\"OClip\",\"clipPath\",\"MozClipPath\",\"WebkitClipPath\",\"MSClipPath\",\"OClipPath\",\"cm\",\"MozCm\",\"WebkitCm\",\"MSCm\",\"OCm\",\"color\",\"MozColor\",\"WebkitColor\",\"MSColor\",\"OColor\",\"columnCount\",\"MozColumnCount\",\"WebkitColumnCount\",\"MSColumnCount\",\"OColumnCount\",\"columnFill\",\"MozColumnFill\",\"WebkitColumnFill\",\"MSColumnFill\",\"OColumnFill\",\"columnGap\",\"MozColumnGap\",\"WebkitColumnGap\",\"MSColumnGap\",\"OColumnGap\",\"columnRule\",\"MozColumnRule\",\"WebkitColumnRule\",\"MSColumnRule\",\"OColumnRule\",\"columnRuleColor\",\"MozColumnRuleColor\",\"WebkitColumnRuleColor\",\"MSColumnRuleColor\",\"OColumnRuleColor\",\"columnRuleStyle\",\"MozColumnRuleStyle\",\"WebkitColumnRuleStyle\",\"MSColumnRuleStyle\",\"OColumnRuleStyle\",\"columnRuleWidth\",\"MozColumnRuleWidth\",\"WebkitColumnRuleWidth\",\"MSColumnRuleWidth\",\"OColumnRuleWidth\",\"columnSpan\",\"MozColumnSpan\",\"WebkitColumnSpan\",\"MSColumnSpan\",\"OColumnSpan\",\"columnWidth\",\"MozColumnWidth\",\"WebkitColumnWidth\",\"MSColumnWidth\",\"OColumnWidth\",\"columns\",\"MozColumns\",\"WebkitColumns\",\"MSColumns\",\"OColumns\",\"content\",\"MozContent\",\"WebkitContent\",\"MSContent\",\"OContent\",\"counterIncrement\",\"MozCounterIncrement\",\"WebkitCounterIncrement\",\"MSCounterIncrement\",\"OCounterIncrement\",\"counterReset\",\"MozCounterReset\",\"WebkitCounterReset\",\"MSCounterReset\",\"OCounterReset\",\"cursor\",\"MozCursor\",\"WebkitCursor\",\"MSCursor\",\"OCursor\",\"deg\",\"MozDeg\",\"WebkitDeg\",\"MSDeg\",\"ODeg\",\"direction\",\"MozDirection\",\"WebkitDirection\",\"MSDirection\",\"ODirection\",\"display\",\"MozDisplay\",\"WebkitDisplay\",\"MSDisplay\",\"ODisplay\",\"dpcm\",\"MozDpcm\",\"WebkitDpcm\",\"MSDpcm\",\"ODpcm\",\"dpi\",\"MozDpi\",\"WebkitDpi\",\"MSDpi\",\"ODpi\",\"dppx\",\"MozDppx\",\"WebkitDppx\",\"MSDppx\",\"ODppx\",\"em\",\"MozEm\",\"WebkitEm\",\"MSEm\",\"OEm\",\"emptyCells\",\"MozEmptyCells\",\"WebkitEmptyCells\",\"MSEmptyCells\",\"OEmptyCells\",\"ex\",\"MozEx\",\"WebkitEx\",\"MSEx\",\"OEx\",\"filter\",\"MozFilter\",\"WebkitFilter\",\"MSFilter\",\"OFilter\",\"flexBasis\",\"MozFlexBasis\",\"WebkitFlexBasis\",\"MSFlexBasis\",\"OFlexBasis\",\"flexDirection\",\"MozFlexDirection\",\"WebkitFlexDirection\",\"MSFlexDirection\",\"OFlexDirection\",\"flexFlow\",\"MozFlexFlow\",\"WebkitFlexFlow\",\"MSFlexFlow\",\"OFlexFlow\",\"flexGrow\",\"MozFlexGrow\",\"WebkitFlexGrow\",\"MSFlexGrow\",\"OFlexGrow\",\"flexShrink\",\"MozFlexShrink\",\"WebkitFlexShrink\",\"MSFlexShrink\",\"OFlexShrink\",\"flexWrap\",\"MozFlexWrap\",\"WebkitFlexWrap\",\"MSFlexWrap\",\"OFlexWrap\",\"float\",\"MozFloat\",\"WebkitFloat\",\"MSFloat\",\"OFloat\",\"font\",\"MozFont\",\"WebkitFont\",\"MSFont\",\"OFont\",\"fontFamily\",\"MozFontFamily\",\"WebkitFontFamily\",\"MSFontFamily\",\"OFontFamily\",\"fontFeatureSettings\",\"MozFontFeatureSettings\",\"WebkitFontFeatureSettings\",\"MSFontFeatureSettings\",\"OFontFeatureSettings\",\"fontKerning\",\"MozFontKerning\",\"WebkitFontKerning\",\"MSFontKerning\",\"OFontKerning\",\"fontLanguageOverride\",\"MozFontLanguageOverride\",\"WebkitFontLanguageOverride\",\"MSFontLanguageOverride\",\"OFontLanguageOverride\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"fontSizeAdjust\",\"MozFontSizeAdjust\",\"WebkitFontSizeAdjust\",\"MSFontSizeAdjust\",\"OFontSizeAdjust\",\"fontStretch\",\"MozFontStretch\",\"WebkitFontStretch\",\"MSFontStretch\",\"OFontStretch\",\"fontStyle\",\"MozFontStyle\",\"WebkitFontStyle\",\"MSFontStyle\",\"OFontStyle\",\"fontSynthesis\",\"MozFontSynthesis\",\"WebkitFontSynthesis\",\"MSFontSynthesis\",\"OFontSynthesis\",\"fontVariant\",\"MozFontVariant\",\"WebkitFontVariant\",\"MSFontVariant\",\"OFontVariant\",\"fontVariantAlternates\",\"MozFontVariantAlternates\",\"WebkitFontVariantAlternates\",\"MSFontVariantAlternates\",\"OFontVariantAlternates\",\"fontVariantCaps\",\"MozFontVariantCaps\",\"WebkitFontVariantCaps\",\"MSFontVariantCaps\",\"OFontVariantCaps\",\"fontVariantEastAsian\",\"MozFontVariantEastAsian\",\"WebkitFontVariantEastAsian\",\"MSFontVariantEastAsian\",\"OFontVariantEastAsian\",\"fontVariantLigatures\",\"MozFontVariantLigatures\",\"WebkitFontVariantLigatures\",\"MSFontVariantLigatures\",\"OFontVariantLigatures\",\"fontVariantNumeric\",\"MozFontVariantNumeric\",\"WebkitFontVariantNumeric\",\"MSFontVariantNumeric\",\"OFontVariantNumeric\",\"fontVariantPosition\",\"MozFontVariantPosition\",\"WebkitFontVariantPosition\",\"MSFontVariantPosition\",\"OFontVariantPosition\",\"fontWeight\",\"MozFontWeight\",\"WebkitFontWeight\",\"MSFontWeight\",\"OFontWeight\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"grad\",\"MozGrad\",\"WebkitGrad\",\"MSGrad\",\"OGrad\",\"grid\",\"MozGrid\",\"WebkitGrid\",\"MSGrid\",\"OGrid\",\"gridArea\",\"MozGridArea\",\"WebkitGridArea\",\"MSGridArea\",\"OGridArea\",\"gridAutoColumns\",\"MozGridAutoColumns\",\"WebkitGridAutoColumns\",\"MSGridAutoColumns\",\"OGridAutoColumns\",\"gridAutoFlow\",\"MozGridAutoFlow\",\"WebkitGridAutoFlow\",\"MSGridAutoFlow\",\"OGridAutoFlow\",\"gridAutoRows\",\"MozGridAutoRows\",\"WebkitGridAutoRows\",\"MSGridAutoRows\",\"OGridAutoRows\",\"gridColumn\",\"MozGridColumn\",\"WebkitGridColumn\",\"MSGridColumn\",\"OGridColumn\",\"gridColumnEnd\",\"MozGridColumnEnd\",\"WebkitGridColumnEnd\",\"MSGridColumnEnd\",\"OGridColumnEnd\",\"gridColumnGap\",\"MozGridColumnGap\",\"WebkitGridColumnGap\",\"MSGridColumnGap\",\"OGridColumnGap\",\"gridColumnStart\",\"MozGridColumnStart\",\"WebkitGridColumnStart\",\"MSGridColumnStart\",\"OGridColumnStart\",\"gridGap\",\"MozGridGap\",\"WebkitGridGap\",\"MSGridGap\",\"OGridGap\",\"gridRow\",\"MozGridRow\",\"WebkitGridRow\",\"MSGridRow\",\"OGridRow\",\"gridRowEnd\",\"MozGridRowEnd\",\"WebkitGridRowEnd\",\"MSGridRowEnd\",\"OGridRowEnd\",\"gridRowGap\",\"MozGridRowGap\",\"WebkitGridRowGap\",\"MSGridRowGap\",\"OGridRowGap\",\"gridRowStart\",\"MozGridRowStart\",\"WebkitGridRowStart\",\"MSGridRowStart\",\"OGridRowStart\",\"gridTemplate\",\"MozGridTemplate\",\"WebkitGridTemplate\",\"MSGridTemplate\",\"OGridTemplate\",\"gridTemplateAreas\",\"MozGridTemplateAreas\",\"WebkitGridTemplateAreas\",\"MSGridTemplateAreas\",\"OGridTemplateAreas\",\"gridTemplateColumns\",\"MozGridTemplateColumns\",\"WebkitGridTemplateColumns\",\"MSGridTemplateColumns\",\"OGridTemplateColumns\",\"gridTemplateRows\",\"MozGridTemplateRows\",\"WebkitGridTemplateRows\",\"MSGridTemplateRows\",\"OGridTemplateRows\",\"height\",\"MozHeight\",\"WebkitHeight\",\"MSHeight\",\"OHeight\",\"hyphens\",\"MozHyphens\",\"WebkitHyphens\",\"MSHyphens\",\"OHyphens\",\"hz\",\"MozHz\",\"WebkitHz\",\"MSHz\",\"OHz\",\"imageOrientation\",\"MozImageOrientation\",\"WebkitImageOrientation\",\"MSImageOrientation\",\"OImageOrientation\",\"imageRendering\",\"MozImageRendering\",\"WebkitImageRendering\",\"MSImageRendering\",\"OImageRendering\",\"imageResolution\",\"MozImageResolution\",\"WebkitImageResolution\",\"MSImageResolution\",\"OImageResolution\",\"imeMode\",\"MozImeMode\",\"WebkitImeMode\",\"MSImeMode\",\"OImeMode\",\"in\",\"MozIn\",\"WebkitIn\",\"MSIn\",\"OIn\",\"inherit\",\"MozInherit\",\"WebkitInherit\",\"MSInherit\",\"OInherit\",\"initial\",\"MozInitial\",\"WebkitInitial\",\"MSInitial\",\"OInitial\",\"inlineSize\",\"MozInlineSize\",\"WebkitInlineSize\",\"MSInlineSize\",\"OInlineSize\",\"isolation\",\"MozIsolation\",\"WebkitIsolation\",\"MSIsolation\",\"OIsolation\",\"justifyContent\",\"MozJustifyContent\",\"WebkitJustifyContent\",\"MSJustifyContent\",\"OJustifyContent\",\"khz\",\"MozKhz\",\"WebkitKhz\",\"MSKhz\",\"OKhz\",\"left\",\"MozLeft\",\"WebkitLeft\",\"MSLeft\",\"OLeft\",\"letterSpacing\",\"MozLetterSpacing\",\"WebkitLetterSpacing\",\"MSLetterSpacing\",\"OLetterSpacing\",\"lineBreak\",\"MozLineBreak\",\"WebkitLineBreak\",\"MSLineBreak\",\"OLineBreak\",\"lineHeight\",\"MozLineHeight\",\"WebkitLineHeight\",\"MSLineHeight\",\"OLineHeight\",\"listStyle\",\"MozListStyle\",\"WebkitListStyle\",\"MSListStyle\",\"OListStyle\",\"listStyleImage\",\"MozListStyleImage\",\"WebkitListStyleImage\",\"MSListStyleImage\",\"OListStyleImage\",\"listStylePosition\",\"MozListStylePosition\",\"WebkitListStylePosition\",\"MSListStylePosition\",\"OListStylePosition\",\"listStyleType\",\"MozListStyleType\",\"WebkitListStyleType\",\"MSListStyleType\",\"OListStyleType\",\"margin\",\"MozMargin\",\"WebkitMargin\",\"MSMargin\",\"OMargin\",\"marginBlockEnd\",\"MozMarginBlockEnd\",\"WebkitMarginBlockEnd\",\"MSMarginBlockEnd\",\"OMarginBlockEnd\",\"marginBlockStart\",\"MozMarginBlockStart\",\"WebkitMarginBlockStart\",\"MSMarginBlockStart\",\"OMarginBlockStart\",\"marginBottom\",\"MozMarginBottom\",\"WebkitMarginBottom\",\"MSMarginBottom\",\"OMarginBottom\",\"marginInlineEnd\",\"MozMarginInlineEnd\",\"WebkitMarginInlineEnd\",\"MSMarginInlineEnd\",\"OMarginInlineEnd\",\"marginInlineStart\",\"MozMarginInlineStart\",\"WebkitMarginInlineStart\",\"MSMarginInlineStart\",\"OMarginInlineStart\",\"marginLeft\",\"MozMarginLeft\",\"WebkitMarginLeft\",\"MSMarginLeft\",\"OMarginLeft\",\"marginRight\",\"MozMarginRight\",\"WebkitMarginRight\",\"MSMarginRight\",\"OMarginRight\",\"marginTop\",\"MozMarginTop\",\"WebkitMarginTop\",\"MSMarginTop\",\"OMarginTop\",\"mask\",\"MozMask\",\"WebkitMask\",\"MSMask\",\"OMask\",\"maskClip\",\"MozMaskClip\",\"WebkitMaskClip\",\"MSMaskClip\",\"OMaskClip\",\"maskComposite\",\"MozMaskComposite\",\"WebkitMaskComposite\",\"MSMaskComposite\",\"OMaskComposite\",\"maskImage\",\"MozMaskImage\",\"WebkitMaskImage\",\"MSMaskImage\",\"OMaskImage\",\"maskMode\",\"MozMaskMode\",\"WebkitMaskMode\",\"MSMaskMode\",\"OMaskMode\",\"maskOrigin\",\"MozMaskOrigin\",\"WebkitMaskOrigin\",\"MSMaskOrigin\",\"OMaskOrigin\",\"maskPosition\",\"MozMaskPosition\",\"WebkitMaskPosition\",\"MSMaskPosition\",\"OMaskPosition\",\"maskRepeat\",\"MozMaskRepeat\",\"WebkitMaskRepeat\",\"MSMaskRepeat\",\"OMaskRepeat\",\"maskSize\",\"MozMaskSize\",\"WebkitMaskSize\",\"MSMaskSize\",\"OMaskSize\",\"maskType\",\"MozMaskType\",\"WebkitMaskType\",\"MSMaskType\",\"OMaskType\",\"maxHeight\",\"MozMaxHeight\",\"WebkitMaxHeight\",\"MSMaxHeight\",\"OMaxHeight\",\"maxWidth\",\"MozMaxWidth\",\"WebkitMaxWidth\",\"MSMaxWidth\",\"OMaxWidth\",\"minBlockSize\",\"MozMinBlockSize\",\"WebkitMinBlockSize\",\"MSMinBlockSize\",\"OMinBlockSize\",\"minHeight\",\"MozMinHeight\",\"WebkitMinHeight\",\"MSMinHeight\",\"OMinHeight\",\"minInlineSize\",\"MozMinInlineSize\",\"WebkitMinInlineSize\",\"MSMinInlineSize\",\"OMinInlineSize\",\"minWidth\",\"MozMinWidth\",\"WebkitMinWidth\",\"MSMinWidth\",\"OMinWidth\",\"mixBlendMode\",\"MozMixBlendMode\",\"WebkitMixBlendMode\",\"MSMixBlendMode\",\"OMixBlendMode\",\"mm\",\"MozMm\",\"WebkitMm\",\"MSMm\",\"OMm\",\"ms\",\"MozMs\",\"WebkitMs\",\"MSMs\",\"OMs\",\"objectFit\",\"MozObjectFit\",\"WebkitObjectFit\",\"MSObjectFit\",\"OObjectFit\",\"objectPosition\",\"MozObjectPosition\",\"WebkitObjectPosition\",\"MSObjectPosition\",\"OObjectPosition\",\"offsetBlockEnd\",\"MozOffsetBlockEnd\",\"WebkitOffsetBlockEnd\",\"MSOffsetBlockEnd\",\"OOffsetBlockEnd\",\"offsetBlockStart\",\"MozOffsetBlockStart\",\"WebkitOffsetBlockStart\",\"MSOffsetBlockStart\",\"OOffsetBlockStart\",\"offsetInlineEnd\",\"MozOffsetInlineEnd\",\"WebkitOffsetInlineEnd\",\"MSOffsetInlineEnd\",\"OOffsetInlineEnd\",\"offsetInlineStart\",\"MozOffsetInlineStart\",\"WebkitOffsetInlineStart\",\"MSOffsetInlineStart\",\"OOffsetInlineStart\",\"opacity\",\"MozOpacity\",\"WebkitOpacity\",\"MSOpacity\",\"OOpacity\",\"order\",\"MozOrder\",\"WebkitOrder\",\"MSOrder\",\"OOrder\",\"orphans\",\"MozOrphans\",\"WebkitOrphans\",\"MSOrphans\",\"OOrphans\",\"outline\",\"MozOutline\",\"WebkitOutline\",\"MSOutline\",\"OOutline\",\"outlineColor\",\"MozOutlineColor\",\"WebkitOutlineColor\",\"MSOutlineColor\",\"OOutlineColor\",\"outlineOffset\",\"MozOutlineOffset\",\"WebkitOutlineOffset\",\"MSOutlineOffset\",\"OOutlineOffset\",\"outlineStyle\",\"MozOutlineStyle\",\"WebkitOutlineStyle\",\"MSOutlineStyle\",\"OOutlineStyle\",\"outlineWidth\",\"MozOutlineWidth\",\"WebkitOutlineWidth\",\"MSOutlineWidth\",\"OOutlineWidth\",\"overflow\",\"MozOverflow\",\"WebkitOverflow\",\"MSOverflow\",\"OOverflow\",\"overflowWrap\",\"MozOverflowWrap\",\"WebkitOverflowWrap\",\"MSOverflowWrap\",\"OOverflowWrap\",\"overflowX\",\"MozOverflowX\",\"WebkitOverflowX\",\"MSOverflowX\",\"OOverflowX\",\"overflowY\",\"MozOverflowY\",\"WebkitOverflowY\",\"MSOverflowY\",\"OOverflowY\",\"padding\",\"MozPadding\",\"WebkitPadding\",\"MSPadding\",\"OPadding\",\"paddingBlockEnd\",\"MozPaddingBlockEnd\",\"WebkitPaddingBlockEnd\",\"MSPaddingBlockEnd\",\"OPaddingBlockEnd\",\"paddingBlockStart\",\"MozPaddingBlockStart\",\"WebkitPaddingBlockStart\",\"MSPaddingBlockStart\",\"OPaddingBlockStart\",\"paddingBottom\",\"MozPaddingBottom\",\"WebkitPaddingBottom\",\"MSPaddingBottom\",\"OPaddingBottom\",\"paddingInlineEnd\",\"MozPaddingInlineEnd\",\"WebkitPaddingInlineEnd\",\"MSPaddingInlineEnd\",\"OPaddingInlineEnd\",\"paddingInlineStart\",\"MozPaddingInlineStart\",\"WebkitPaddingInlineStart\",\"MSPaddingInlineStart\",\"OPaddingInlineStart\",\"paddingLeft\",\"MozPaddingLeft\",\"WebkitPaddingLeft\",\"MSPaddingLeft\",\"OPaddingLeft\",\"paddingRight\",\"MozPaddingRight\",\"WebkitPaddingRight\",\"MSPaddingRight\",\"OPaddingRight\",\"paddingTop\",\"MozPaddingTop\",\"WebkitPaddingTop\",\"MSPaddingTop\",\"OPaddingTop\",\"pageBreakAfter\",\"MozPageBreakAfter\",\"WebkitPageBreakAfter\",\"MSPageBreakAfter\",\"OPageBreakAfter\",\"pageBreakBefore\",\"MozPageBreakBefore\",\"WebkitPageBreakBefore\",\"MSPageBreakBefore\",\"OPageBreakBefore\",\"pageBreakInside\",\"MozPageBreakInside\",\"WebkitPageBreakInside\",\"MSPageBreakInside\",\"OPageBreakInside\",\"pc\",\"MozPc\",\"WebkitPc\",\"MSPc\",\"OPc\",\"perspective\",\"MozPerspective\",\"WebkitPerspective\",\"MSPerspective\",\"OPerspective\",\"perspectiveOrigin\",\"MozPerspectiveOrigin\",\"WebkitPerspectiveOrigin\",\"MSPerspectiveOrigin\",\"OPerspectiveOrigin\",\"pointerEvents\",\"MozPointerEvents\",\"WebkitPointerEvents\",\"MSPointerEvents\",\"OPointerEvents\",\"position\",\"MozPosition\",\"WebkitPosition\",\"MSPosition\",\"OPosition\",\"pt\",\"MozPt\",\"WebkitPt\",\"MSPt\",\"OPt\",\"px\",\"MozPx\",\"WebkitPx\",\"MSPx\",\"OPx\",\"q\",\"MozQ\",\"WebkitQ\",\"MSQ\",\"OQ\",\"quotes\",\"MozQuotes\",\"WebkitQuotes\",\"MSQuotes\",\"OQuotes\",\"rad\",\"MozRad\",\"WebkitRad\",\"MSRad\",\"ORad\",\"rem\",\"MozRem\",\"WebkitRem\",\"MSRem\",\"ORem\",\"resize\",\"MozResize\",\"WebkitResize\",\"MSResize\",\"OResize\",\"revert\",\"MozRevert\",\"WebkitRevert\",\"MSRevert\",\"ORevert\",\"right\",\"MozRight\",\"WebkitRight\",\"MSRight\",\"ORight\",\"rubyAlign\",\"MozRubyAlign\",\"WebkitRubyAlign\",\"MSRubyAlign\",\"ORubyAlign\",\"rubyMerge\",\"MozRubyMerge\",\"WebkitRubyMerge\",\"MSRubyMerge\",\"ORubyMerge\",\"rubyPosition\",\"MozRubyPosition\",\"WebkitRubyPosition\",\"MSRubyPosition\",\"ORubyPosition\",\"s\",\"MozS\",\"WebkitS\",\"MSS\",\"OS\",\"scrollBehavior\",\"MozScrollBehavior\",\"WebkitScrollBehavior\",\"MSScrollBehavior\",\"OScrollBehavior\",\"scrollSnapCoordinate\",\"MozScrollSnapCoordinate\",\"WebkitScrollSnapCoordinate\",\"MSScrollSnapCoordinate\",\"OScrollSnapCoordinate\",\"scrollSnapDestination\",\"MozScrollSnapDestination\",\"WebkitScrollSnapDestination\",\"MSScrollSnapDestination\",\"OScrollSnapDestination\",\"scrollSnapType\",\"MozScrollSnapType\",\"WebkitScrollSnapType\",\"MSScrollSnapType\",\"OScrollSnapType\",\"shapeImageThreshold\",\"MozShapeImageThreshold\",\"WebkitShapeImageThreshold\",\"MSShapeImageThreshold\",\"OShapeImageThreshold\",\"shapeMargin\",\"MozShapeMargin\",\"WebkitShapeMargin\",\"MSShapeMargin\",\"OShapeMargin\",\"shapeOutside\",\"MozShapeOutside\",\"WebkitShapeOutside\",\"MSShapeOutside\",\"OShapeOutside\",\"tabSize\",\"MozTabSize\",\"WebkitTabSize\",\"MSTabSize\",\"OTabSize\",\"tableLayout\",\"MozTableLayout\",\"WebkitTableLayout\",\"MSTableLayout\",\"OTableLayout\",\"textAlign\",\"MozTextAlign\",\"WebkitTextAlign\",\"MSTextAlign\",\"OTextAlign\",\"textAlignLast\",\"MozTextAlignLast\",\"WebkitTextAlignLast\",\"MSTextAlignLast\",\"OTextAlignLast\",\"textCombineUpright\",\"MozTextCombineUpright\",\"WebkitTextCombineUpright\",\"MSTextCombineUpright\",\"OTextCombineUpright\",\"textDecoration\",\"MozTextDecoration\",\"WebkitTextDecoration\",\"MSTextDecoration\",\"OTextDecoration\",\"textDecorationColor\",\"MozTextDecorationColor\",\"WebkitTextDecorationColor\",\"MSTextDecorationColor\",\"OTextDecorationColor\",\"textDecorationLine\",\"MozTextDecorationLine\",\"WebkitTextDecorationLine\",\"MSTextDecorationLine\",\"OTextDecorationLine\",\"textDecorationStyle\",\"MozTextDecorationStyle\",\"WebkitTextDecorationStyle\",\"MSTextDecorationStyle\",\"OTextDecorationStyle\",\"textEmphasis\",\"MozTextEmphasis\",\"WebkitTextEmphasis\",\"MSTextEmphasis\",\"OTextEmphasis\",\"textEmphasisColor\",\"MozTextEmphasisColor\",\"WebkitTextEmphasisColor\",\"MSTextEmphasisColor\",\"OTextEmphasisColor\",\"textEmphasisPosition\",\"MozTextEmphasisPosition\",\"WebkitTextEmphasisPosition\",\"MSTextEmphasisPosition\",\"OTextEmphasisPosition\",\"textEmphasisStyle\",\"MozTextEmphasisStyle\",\"WebkitTextEmphasisStyle\",\"MSTextEmphasisStyle\",\"OTextEmphasisStyle\",\"textIndent\",\"MozTextIndent\",\"WebkitTextIndent\",\"MSTextIndent\",\"OTextIndent\",\"textOrientation\",\"MozTextOrientation\",\"WebkitTextOrientation\",\"MSTextOrientation\",\"OTextOrientation\",\"textOverflow\",\"MozTextOverflow\",\"WebkitTextOverflow\",\"MSTextOverflow\",\"OTextOverflow\",\"textRendering\",\"MozTextRendering\",\"WebkitTextRendering\",\"MSTextRendering\",\"OTextRendering\",\"textShadow\",\"MozTextShadow\",\"WebkitTextShadow\",\"MSTextShadow\",\"OTextShadow\",\"textTransform\",\"MozTextTransform\",\"WebkitTextTransform\",\"MSTextTransform\",\"OTextTransform\",\"textUnderlinePosition\",\"MozTextUnderlinePosition\",\"WebkitTextUnderlinePosition\",\"MSTextUnderlinePosition\",\"OTextUnderlinePosition\",\"top\",\"MozTop\",\"WebkitTop\",\"MSTop\",\"OTop\",\"touchAction\",\"MozTouchAction\",\"WebkitTouchAction\",\"MSTouchAction\",\"OTouchAction\",\"transform\",\"MozTransform\",\"WebkitTransform\",\"msTransform\",\"OTransform\",\"transformBox\",\"MozTransformBox\",\"WebkitTransformBox\",\"MSTransformBox\",\"OTransformBox\",\"transformOrigin\",\"MozTransformOrigin\",\"WebkitTransformOrigin\",\"MSTransformOrigin\",\"OTransformOrigin\",\"transformStyle\",\"MozTransformStyle\",\"WebkitTransformStyle\",\"MSTransformStyle\",\"OTransformStyle\",\"transition\",\"MozTransition\",\"WebkitTransition\",\"MSTransition\",\"OTransition\",\"transitionDelay\",\"MozTransitionDelay\",\"WebkitTransitionDelay\",\"MSTransitionDelay\",\"OTransitionDelay\",\"transitionDuration\",\"MozTransitionDuration\",\"WebkitTransitionDuration\",\"MSTransitionDuration\",\"OTransitionDuration\",\"transitionProperty\",\"MozTransitionProperty\",\"WebkitTransitionProperty\",\"MSTransitionProperty\",\"OTransitionProperty\",\"transitionTimingFunction\",\"MozTransitionTimingFunction\",\"WebkitTransitionTimingFunction\",\"MSTransitionTimingFunction\",\"OTransitionTimingFunction\",\"turn\",\"MozTurn\",\"WebkitTurn\",\"MSTurn\",\"OTurn\",\"unicodeBidi\",\"MozUnicodeBidi\",\"WebkitUnicodeBidi\",\"MSUnicodeBidi\",\"OUnicodeBidi\",\"unset\",\"MozUnset\",\"WebkitUnset\",\"MSUnset\",\"OUnset\",\"verticalAlign\",\"MozVerticalAlign\",\"WebkitVerticalAlign\",\"MSVerticalAlign\",\"OVerticalAlign\",\"vh\",\"MozVh\",\"WebkitVh\",\"MSVh\",\"OVh\",\"visibility\",\"MozVisibility\",\"WebkitVisibility\",\"MSVisibility\",\"OVisibility\",\"vmax\",\"MozVmax\",\"WebkitVmax\",\"MSVmax\",\"OVmax\",\"vmin\",\"MozVmin\",\"WebkitVmin\",\"MSVmin\",\"OVmin\",\"vw\",\"MozVw\",\"WebkitVw\",\"MSVw\",\"OVw\",\"whiteSpace\",\"MozWhiteSpace\",\"WebkitWhiteSpace\",\"MSWhiteSpace\",\"OWhiteSpace\",\"widows\",\"MozWidows\",\"WebkitWidows\",\"MSWidows\",\"OWidows\",\"width\",\"MozWidth\",\"WebkitWidth\",\"MSWidth\",\"OWidth\",\"willChange\",\"MozWillChange\",\"WebkitWillChange\",\"MSWillChange\",\"OWillChange\",\"wordBreak\",\"MozWordBreak\",\"WebkitWordBreak\",\"MSWordBreak\",\"OWordBreak\",\"wordSpacing\",\"MozWordSpacing\",\"WebkitWordSpacing\",\"MSWordSpacing\",\"OWordSpacing\",\"wordWrap\",\"MozWordWrap\",\"WebkitWordWrap\",\"MSWordWrap\",\"OWordWrap\",\"writingMode\",\"MozWritingMode\",\"WebkitWritingMode\",\"MSWritingMode\",\"OWritingMode\",\"zIndex\",\"MozZIndex\",\"WebkitZIndex\",\"MSZIndex\",\"OZIndex\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"flex\",\"MozFlex\",\"WebkitFlex\",\"MSFlex\",\"OFlex\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"overflowScrolling\",\"MozOverflowScrolling\",\"WebkitOverflowScrolling\",\"MSOverflowScrolling\",\"OOverflowScrolling\"]},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var n=t.prototype;return n.componentDidMount=function(){this.checkFocus()},n.componentDidUpdate=function(){this.checkFocus()},n.checkFocus=function(){this.props.selected&&this.props.focus&&this.node.focus()},n.render=function(){var e,t=this,n=this.props,o=n.children,a=n.className,s=n.disabled,u=n.disabledClassName,d=(n.focus,n.id),f=n.panelId,h=n.selected,p=n.selectedClassName,m=n.tabIndex,g=n.tabRef,v=i(n,[\"children\",\"className\",\"disabled\",\"disabledClassName\",\"focus\",\"id\",\"panelId\",\"selected\",\"selectedClassName\",\"tabIndex\",\"tabRef\"]);return l.a.createElement(\"li\",r({},v,{className:c()(a,(e={},e[p]=h,e[u]=s,e)),ref:function(e){t.node=e,g&&g(e)},role:\"tab\",id:d,\"aria-selected\":h?\"true\":\"false\",\"aria-disabled\":s?\"true\":\"false\",\"aria-controls\":f,tabIndex:m||(h?\"0\":null)}),o)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab\",disabledClassName:\"react-tabs__tab--disabled\",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:\"react-tabs__tab--selected\"},d.propTypes={},d.tabsRole=\"Tab\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,o=i(e,[\"children\",\"className\"]);return l.a.createElement(\"ul\",r({},o,{className:c()(n),role:\"tablist\"}),t)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab-list\"},d.propTypes={},d.tabsRole=\"TabList\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){var e,t=this.props,n=t.children,o=t.className,a=t.forceRender,s=t.id,u=t.selected,d=t.selectedClassName,f=t.tabId,h=i(t,[\"children\",\"className\",\"forceRender\",\"id\",\"selected\",\"selectedClassName\",\"tabId\"]);return l.a.createElement(\"div\",r({},h,{className:c()(o,(e={},e[d]=u,e)),role:\"tabpanel\",id:s,\"aria-labelledby\":f}),a||u?n:null)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab-panel\",forceRender:!1,selectedClassName:\"react-tabs__tab-panel--selected\"},d.propTypes={},d.tabsRole=\"TabPanel\"},function(e,t,n){\"use strict\";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return c});var o=n(23),a=(n.n(o),n(2)),s=n.n(a),l=(n(150),n(416)),u=n(149),c=function(e){function t(n){var r;return r=e.call(this,n)||this,r.handleSelected=function(e,n,i){if(\"function\"!=typeof r.props.onSelect||!1!==r.props.onSelect(e,n,i)){var o={focus:\"keydown\"===i.type};t.inUncontrolledMode(r.props)&&(o.selectedIndex=e),r.setState(o)}},r.state=t.copyPropsToState(r.props,{},r.props.defaultFocus),r}i(t,e);var o=t.prototype;return o.componentWillReceiveProps=function(e){this.setState(function(n){return t.copyPropsToState(e,n)})},t.inUncontrolledMode=function(e){return null===e.selectedIndex},t.copyPropsToState=function(e,r,i){void 0===i&&(i=!1);var o={focus:i};if(t.inUncontrolledMode(e)){var a=n.i(u.a)(e.children)-1,s=null;s=null!=r.selectedIndex?Math.min(r.selectedIndex,a):e.defaultIndex||0,o.selectedIndex=s}return o},o.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,r(e,[\"children\",\"defaultIndex\",\"defaultFocus\"]));return n.focus=this.state.focus,n.onSelect=this.handleSelected,null!=this.state.selectedIndex&&(n.selectedIndex=this.state.selectedIndex),s.a.createElement(l.a,n,t)},t}(a.Component);c.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null},c.propTypes={},c.tabsRole=\"Tabs\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){return\"getAttribute\"in e&&\"tab\"===e.getAttribute(\"role\")}function s(e){return\"true\"===e.getAttribute(\"aria-disabled\")}n.d(t,\"a\",function(){return y});var l,u=n(23),c=(n.n(u),n(2)),d=n.n(c),f=n(11),h=n.n(f),p=n(151),m=(n(150),n(149)),g=n(100),v=n(67);try{l=!(\"undefined\"==typeof window||!window.document||!window.document.activeElement)}catch(e){l=!1}var y=function(e){function t(){for(var t,n,r=arguments.length,i=new Array(r),o=0;o=this.getTabsCount()||this.props.onSelect(e,this.props.selectedIndex,t)},u.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!s(this.getTab(t)))return t;return e},u.getTabsCount=function(){return n.i(m.a)(this.props.children)},u.getPanelsCount=function(){return n.i(m.b)(this.props.children)},u.getTab=function(e){return this.tabNodes[\"tabs-\"+e]},u.getChildren=function(){var e=this,t=0,r=this.props,i=r.children,o=r.disabledTabClassName,a=r.focus,s=r.forceRenderTabPanel,u=r.selectedIndex,f=r.selectedTabClassName,h=r.selectedTabPanelClassName;this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[];for(var m=this.tabIds.length-this.getTabsCount();m++<0;)this.tabIds.push(n.i(p.b)()),this.panelIds.push(n.i(p.b)());return n.i(g.a)(i,function(r){var i=r;if(n.i(v.a)(r)){var p=0,m=!1;l&&(m=d.a.Children.toArray(r.props.children).filter(v.b).some(function(t,n){return document.activeElement===e.getTab(n)})),i=n.i(c.cloneElement)(r,{children:n.i(g.a)(r.props.children,function(t){var r=\"tabs-\"+p,i=u===p,s={tabRef:function(t){e.tabNodes[r]=t},id:e.tabIds[p],panelId:e.panelIds[p],selected:i,focus:i&&(a||m)};return f&&(s.selectedClassName=f),o&&(s.disabledClassName=o),p++,n.i(c.cloneElement)(t,s)})})}else if(n.i(v.c)(r)){var y={id:e.panelIds[t],tabId:e.tabIds[t],selected:u===t};s&&(y.forceRender=s),h&&(y.selectedClassName=h),t++,i=n.i(c.cloneElement)(r,y)}return i})},u.isTabFromContainer=function(e){if(!a(e))return!1;var t=e.parentElement;do{if(t===this.node)return!0;if(t.getAttribute(\"data-tabs\"))break;t=t.parentElement}while(t);return!1},u.render=function(){var e=this,t=this.props,n=(t.children,t.className),o=(t.disabledTabClassName,t.domRef),a=(t.focus,t.forceRenderTabPanel,t.onSelect,t.selectedIndex,t.selectedTabClassName,t.selectedTabPanelClassName,i(t,[\"children\",\"className\",\"disabledTabClassName\",\"domRef\",\"focus\",\"forceRenderTabPanel\",\"onSelect\",\"selectedIndex\",\"selectedTabClassName\",\"selectedTabPanelClassName\"]));return d.a.createElement(\"div\",r({},a,{className:h()(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,o&&o(t)},\"data-tabs\":!0}),this.getChildren())},t}(c.Component);y.defaultProps={className:\"react-tabs\",focus:!1},y.propTypes={}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(415),i=n(413),o=n(412),a=n(414),s=n(151);n.d(t,\"Tab\",function(){return o.a}),n.d(t,\"TabList\",function(){return i.a}),n.d(t,\"TabPanel\",function(){return a.a}),n.d(t,\"Tabs\",function(){return r.a}),n.d(t,\"resetIdCounter\",function(){return s.a})},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;rD.length&&D.push(e)}function h(e,t,n,i){var o=typeof e;\"undefined\"!==o&&\"boolean\"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case\"string\":case\"number\":a=!0;break;case\"object\":switch(e.$$typeof){case w:case M:case S:case E:a=!0}}if(a)return n(i,e,\"\"===t?\".\"+p(e,0):t),1;if(a=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var s=0;s0;)t[r]=arguments[r+1];return t.reduce(function(t,r){return t+n(e[\"border-\"+r+\"-width\"])},0)}function i(e){for(var t=[\"top\",\"right\",\"bottom\",\"left\"],r={},i=0,o=t;i0},b.prototype.connect_=function(){f&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},b.prototype.disconnect_=function(){f&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},b.prototype.onTransitionEnd_=function(e){var t=e.propertyName;void 0===t&&(t=\"\"),v.some(function(e){return!!~t.indexOf(e)})&&this.refresh()},b.getInstance=function(){return this.instance_||(this.instance_=new b),this.instance_},b.instance_=null;var x=function(e,t){for(var n=0,r=Object.keys(t);n0};var k=\"undefined\"!=typeof WeakMap?new WeakMap:new d,O=function(e){if(!(this instanceof O))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var t=b.getInstance(),n=new T(e,t,this);k.set(this,n)};[\"observe\",\"unobserve\",\"disconnect\"].forEach(function(e){O.prototype[e]=function(){return(t=k.get(this))[e].apply(t,arguments);var t}});var P=function(){return void 0!==h.ResizeObserver?h.ResizeObserver:O}();t.default=P}.call(t,n(68))},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;ta+1e3&&(l.update(1e3*s/(e-a),100),a=e,s=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){o=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,l=48*a,u=3*a,c=2*a,d=3*a,f=15*a,h=74*a,p=30*a,m=document.createElement(\"canvas\");m.width=s,m.height=l,m.style.cssText=\"width:80px;height:48px\";var g=m.getContext(\"2d\");return g.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\",g.textBaseline=\"top\",g.fillStyle=n,g.fillRect(0,0,s,l),g.fillStyle=t,g.fillText(e,u,c),g.fillRect(d,f,h,p),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,h,p),{dom:m,update:function(l,v){r=Math.min(r,l),i=Math.max(i,l),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(o(l)+\" \"+e+\" (\"+o(r)+\"-\"+o(i)+\")\",u,c),g.drawImage(m,d+a,f,h-a,p,d,f,h-a,p),g.fillRect(d+h-a,f,a,p),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+h-a,f,a,o((1-l/v)*p))}}},e})},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,r=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(e,t){var i=t.trim().replace(/^\"(.*)\"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});if(/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(i))return e;var o;return o=0===i.indexOf(\"//\")?i:0===i.indexOf(\"/\")?n+i:r+i.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\"})}},function(e,t,n){var r=n(363),i=n(394);e.exports=function(e){function t(n,r){if(!(this instanceof t))return new t(n,r);e.BufferGeometry.call(this),Array.isArray(n)?r=r||{}:\"object\"==typeof n&&(r=n,n=[]),r=r||{},this.addAttribute(\"position\",new e.BufferAttribute(void 0,3)),this.addAttribute(\"lineNormal\",new e.BufferAttribute(void 0,2)),this.addAttribute(\"lineMiter\",new e.BufferAttribute(void 0,1)),r.distances&&this.addAttribute(\"lineDistance\",new e.BufferAttribute(void 0,1)),\"function\"==typeof this.setIndex?this.setIndex(new e.BufferAttribute(void 0,1)):this.addAttribute(\"index\",new e.BufferAttribute(void 0,1)),this.update(n,r.closed)}return r(t,e.BufferGeometry),t.prototype.update=function(e,t){e=e||[];var n=i(e,t);t&&(e=e.slice(),e.push(e[0]),n.push(n[0]));var r=this.getAttribute(\"position\"),o=this.getAttribute(\"lineNormal\"),a=this.getAttribute(\"lineMiter\"),s=this.getAttribute(\"lineDistance\"),l=\"function\"==typeof this.getIndex?this.getIndex():this.getAttribute(\"index\"),u=Math.max(0,6*(e.length-1));if(!r.array||e.length!==r.array.length/3/2){var c=2*e.length;r.array=new Float32Array(3*c),o.array=new Float32Array(2*c),a.array=new Float32Array(c),l.array=new Uint16Array(u),s&&(s.array=new Float32Array(c))}void 0!==r.count&&(r.count=c),r.needsUpdate=!0,void 0!==o.count&&(o.count=c),o.needsUpdate=!0,void 0!==a.count&&(a.count=c),a.needsUpdate=!0,void 0!==l.count&&(l.count=u),l.needsUpdate=!0,s&&(void 0!==s.count&&(s.count=c),s.needsUpdate=!0);var d=0,f=0,h=0,p=l.array;e.forEach(function(e,t,n){var i=d;if(p[f++]=i+0,p[f++]=i+1,p[f++]=i+2,p[f++]=i+2,p[f++]=i+1,p[f++]=i+3,r.setXYZ(d++,e[0],e[1],0),r.setXYZ(d++,e[0],e[1],0),s){var o=t/(n.length-1);s.setX(h++,o),s.setX(h++,o)}});var m=0,g=0;n.forEach(function(e){var t=e[0],n=e[1];o.setXY(m++,t[0],t[1]),o.setXY(m++,t[0],t[1]),a.setX(g++,-n),a.setX(g++,n)})},t}},function(e,t,n){var r=n(94);e.exports=function(e){return function(t){t=t||{};var n=\"number\"==typeof t.thickness?t.thickness:.1,i=\"number\"==typeof t.opacity?t.opacity:1,o=null!==t.diffuse?t.diffuse:16777215;delete t.thickness,delete t.opacity,delete t.diffuse,delete t.precision;var a=r({uniforms:{thickness:{type:\"f\",value:n},opacity:{type:\"f\",value:i},diffuse:{type:\"c\",value:new e.Color(o)}},vertexShader:[\"uniform float thickness;\",\"attribute float lineMiter;\",\"attribute vec2 lineNormal;\",\"void main() {\",\"vec3 pointPos = position.xyz + vec3(lineNormal * thickness / 2.0 * lineMiter, 0.0);\",\"gl_Position = projectionMatrix * modelViewMatrix * vec4(pointPos, 1.0);\",\"}\"].join(\"\\n\"),fragmentShader:[\"uniform vec3 diffuse;\",\"uniform float opacity;\",\"void main() {\",\"gl_FragColor = vec4(diffuse, opacity);\",\"}\"].join(\"\\n\")},t);return(0|(parseInt(e.REVISION,10)||0))<72&&(a.attributes={lineMiter:{type:\"f\",value:0},lineNormal:{type:\"v2\",value:new e.Vector2}}),a}}},function(e,t,n){e.exports=n.p+\"2cff479783c9bacb71df63a81871313d.mtl\"},function(e,t,n){e.exports=n.p+\"0ccca57f7e42eacf63e554cdd686cc6c.obj\"},function(e,t,n){e.exports=n.p+\"1e3652dce4bd6ce5389b0d1bd6ce743d.mtl\"},function(e,t,n){e.exports=n.p+\"6fc734a2eae468fff41d6f461beb3b78.obj\"},function(e,t,n){e.exports=n.p+\"c67591a7704dd9ff8b57ef65b6bd0521.mtl\"},function(e,t,n){e.exports=n.p+\"086924bdd797c6de1ae692b0c77b9d63.obj\"},function(e,t,n){e.exports=n.p+\"assets/2SWzLX-7QbdGBE7M5ZWlKW.png\"},function(e,t,n){e.exports=n.p+\"assets/2Hmre0wF05Klrs139-ZY0r.png\"},function(e,t,n){e.exports=n.p+\"assets/3b1qXlLNlh1JdOPDUdqa-8.png\"},function(e,t,n){e.exports=n.p+\"assets/1Ai9E9Bz8-jQ7YzBpygSGc.png\"},function(e,t,n){e.exports=n.p+\"assets/35Rggijw-nT-nmUQkInMB_.png\"},function(e,t,n){e.exports=n.p+\"assets/1BJCXvLGr1PIZXGGh9rwLV.png\"},function(e,t,n){e.exports=n.p+\"assets/2gVqm2AoTjShKSs5lxRr_R.png\"},function(e,t,n){e.exports=n.p+\"assets/3GAX8s14tQy5tq079SD8YY.png\"},function(e,t,n){e.exports=n.p+\"assets/wn_PQEy_vimsxhQ7EZ8LE.png\"},function(e,t,n){e.exports=n.p+\"assets/1-rBsTsimVPq9Qvwp-XfeR.png\"},function(e,t,n){e.exports=n.p+\"assets/1LaMLjWThewqKxuNxPdfHU.png\"},function(e,t,n){e.exports=n.p+\"assets/2DpH0wi9pGpKWdsutC0hNP.png\"},function(e,t,n){e.exports=n.p+\"assets/2jUpx4UViU4iVn5lbLXJ_3.png\"},function(e,t,n){e.exports=n.p+\"assets/1P8euPQGX-PAHqDcd59x8N.png\"},function(e,t,n){e.exports=n.p+\"assets/13rNxhl0PSnIky1olblewP.png\"},function(e,t,n){e.exports=n.p+\"assets/Fs7YNEnhTMdtlphXUJJqJ.png\"},function(e,t,n){e.exports=n.p+\"assets/23he2B-6MypxUuDoASUNFz.png\"},function(e,t,n){e.exports=n.p+\"assets/3pLzP9789nO8_FTpjRriZI.png\"},function(e,t,n){e.exports=n.p+\"assets/-o13Bp7j4SeUkzdJQ05wX.png\"},function(e,t,n){e.exports=n.p+\"assets/13rNxhl0PSnIky1olblewP.png\"},function(e,t,n){e.exports=n.p+\"assets/Fs7YNEnhTMdtlphXUJJqJ.png\"},function(e,t,n){e.exports=n.p+\"assets/2NEFng8KXMmYxDfgmv-0Av.png\"},function(e,t,n){e.exports=n.p+\"assets/1JucMLglOBf7xoRm1cTCGq.png\"},function(e,t,n){e.exports=n.p+\"assets/1jk30oZGm94PgH-uOgowzv.gif\"},function(e,t,n){e.exports=n.p+\"assets/2DooGxR9gIBrX3LWNKD5bn.png\"},function(e,t,n){e.exports=n.p+\"assets/SGGg2xQ5wu9S-5KOxbnuq.png\"},function(e,t,n){e.exports=n.p+\"assets/3hfo8_18OIfW41h-Fothw1.png\"},function(e,t,n){e.exports=n.p+\"assets/2CzZUJ_88PonapiEL9yqRB.png\"},function(e,t,n){e.exports=n.p+\"assets/33tjEWBXRQvWemQw5UhBo.png\"},function(e,t,n){e.exports=n.p+\"assets/24ObNVAeLQ1n3S5D9jb8Wo.png\"},function(e,t,n){e.exports=n.p+\"assets/11qdCmU_bShHdfoR2UoID-.png\"},function(e,t,n){e.exports=n.p+\"assets/37oPzcN6gut1z2DtBTPmDY.png\"},function(e,t,n){e.exports=n.p+\"assets/2W4lCe0R-pEExDemPLUHaB.png\"},function(e,t,n){e.exports=n.p+\"assets/1Ehw0kJYFNxyKlCXULSEb4.png\"},function(e,t,n){e.exports=n.p+\"assets/3RPlqowOa1kCVH4gxn5ZTP.png\"},function(e,t,n){e.exports=n.p+\"assets/1dleYOVZa-lZqDneaj7cSm.png\"},function(e,t,n){e.exports=n.p+\"assets/34mVgyjNEtBvo5AE0_5AmB.png\"},function(e,t,n){e.exports=n.p+\"assets/3_JuUQhtE815-mFYEQxLD7.png\"},function(e,t,n){e.exports=n.p+\"assets/t8N2JFIzU8cMJO1Lf8mYH.png\"},function(e,t,n){e.exports=n.p+\"assets/1dleYOVZa-lZqDneaj7cSm.png\"},function(e,t,n){var r=n(10);r.OrbitControls=function(e,t){function n(){return 2*Math.PI/60/60*I.autoRotateSpeed}function i(){return Math.pow(.95,I.zoomSpeed)}function o(e){W.theta-=e}function a(e){W.phi-=e}function s(e){I.object instanceof r.PerspectiveCamera?G/=e:I.object instanceof r.OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom*e)),I.object.updateProjectionMatrix(),H=!0):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.\"),I.enableZoom=!1)}function l(e){I.object instanceof r.PerspectiveCamera?G*=e:I.object instanceof r.OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom/e)),I.object.updateProjectionMatrix(),H=!0):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.\"),I.enableZoom=!1)}function u(e){Y.set(e.clientX,e.clientY)}function c(e){$.set(e.clientX,e.clientY)}function d(e){Z.set(e.clientX,e.clientY)}function f(e){q.set(e.clientX,e.clientY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function h(e){Q.set(e.clientX,e.clientY),ee.subVectors(Q,$),ee.y>0?s(i()):ee.y<0&&l(i()),$.copy(Q),I.update()}function p(e){K.set(e.clientX,e.clientY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function m(e){}function g(e){e.deltaY<0?l(i()):e.deltaY>0&&s(i()),I.update()}function v(e){switch(e.keyCode){case I.keys.UP:re(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:re(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:re(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:re(-I.keyPanSpeed,0),I.update()}}function y(e){Y.set(e.touches[0].pageX,e.touches[0].pageY)}function b(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);$.set(0,r)}function x(e){Z.set(e.touches[0].pageX,e.touches[0].pageY)}function _(e){q.set(e.touches[0].pageX,e.touches[0].pageY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function w(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);Q.set(0,r),ee.subVectors(Q,$),ee.y>0?l(i()):ee.y<0&&s(i()),$.copy(Q),I.update()}function M(e){K.set(e.touches[0].pageX,e.touches[0].pageY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function S(e){}function E(e){if(!1!==I.enabled){if(e.preventDefault(),e.button===I.mouseButtons.ORBIT){if(!1===I.enableRotate)return;u(e),F=B.ROTATE}else if(e.button===I.mouseButtons.ZOOM){if(!1===I.enableZoom)return;c(e),F=B.DOLLY}else if(e.button===I.mouseButtons.PAN){if(!1===I.enablePan)return;d(e),F=B.PAN}F!==B.NONE&&(document.addEventListener(\"mousemove\",T,!1),document.addEventListener(\"mouseup\",k,!1),I.dispatchEvent(N))}}function T(e){if(!1!==I.enabled)if(e.preventDefault(),F===B.ROTATE){if(!1===I.enableRotate)return;f(e)}else if(F===B.DOLLY){if(!1===I.enableZoom)return;h(e)}else if(F===B.PAN){if(!1===I.enablePan)return;p(e)}}function k(e){!1!==I.enabled&&(m(e),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),I.dispatchEvent(z),F=B.NONE)}function O(e){!1===I.enabled||!1===I.enableZoom||F!==B.NONE&&F!==B.ROTATE||(e.preventDefault(),e.stopPropagation(),g(e),I.dispatchEvent(N),I.dispatchEvent(z))}function P(e){!1!==I.enabled&&!1!==I.enableKeys&&!1!==I.enablePan&&v(e)}function C(e){if(!1!==I.enabled){switch(e.touches.length){case 1:if(!1===I.enableRotate)return;y(e),F=B.TOUCH_ROTATE;break;case 2:if(!1===I.enableZoom)return;b(e),F=B.TOUCH_DOLLY;break;case 3:if(!1===I.enablePan)return;x(e),F=B.TOUCH_PAN;break;default:F=B.NONE}F!==B.NONE&&I.dispatchEvent(N)}}function A(e){if(!1!==I.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===I.enableRotate)return;if(F!==B.TOUCH_ROTATE)return;_(e);break;case 2:if(!1===I.enableZoom)return;if(F!==B.TOUCH_DOLLY)return;w(e);break;case 3:if(!1===I.enablePan)return;if(F!==B.TOUCH_PAN)return;M(e);break;default:F=B.NONE}}function R(e){!1!==I.enabled&&(S(e),I.dispatchEvent(z),F=B.NONE)}function L(e){e.preventDefault()}this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.target=new r.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:r.MOUSE.LEFT,ZOOM:r.MOUSE.MIDDLE,PAN:r.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return U.phi},this.getAzimuthalAngle=function(){return U.theta},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(D),I.update(),F=B.NONE},this.update=function(){var t=new r.Vector3,i=(new r.Quaternion).setFromUnitVectors(e.up,new r.Vector3(0,1,0)),a=i.clone().inverse(),s=new r.Vector3,l=new r.Quaternion;return function(){var e=I.object.position;return t.copy(e).sub(I.target),t.applyQuaternion(i),U.setFromVector3(t),I.autoRotate&&F===B.NONE&&o(n()),U.theta+=W.theta,U.phi+=W.phi,U.theta=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,U.theta)),U.phi=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,U.phi)),U.makeSafe(),U.radius*=G,U.radius=Math.max(I.minDistance,Math.min(I.maxDistance,U.radius)),I.target.add(V),t.setFromSpherical(U),t.applyQuaternion(a),e.copy(I.target).add(t),I.object.lookAt(I.target),!0===I.enableDamping?(W.theta*=1-I.dampingFactor,W.phi*=1-I.dampingFactor):W.set(0,0,0),G=1,V.set(0,0,0),!!(H||s.distanceToSquared(I.object.position)>j||8*(1-l.dot(I.object.quaternion))>j)&&(I.dispatchEvent(D),s.copy(I.object.position),l.copy(I.object.quaternion),H=!1,!0)}}(),this.dispose=function(){I.domElement.removeEventListener(\"contextmenu\",L,!1),I.domElement.removeEventListener(\"mousedown\",E,!1),I.domElement.removeEventListener(\"wheel\",O,!1),I.domElement.removeEventListener(\"touchstart\",C,!1),I.domElement.removeEventListener(\"touchend\",R,!1),I.domElement.removeEventListener(\"touchmove\",A,!1),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),window.removeEventListener(\"keydown\",P,!1)};var I=this,D={type:\"change\"},N={type:\"start\"},z={type:\"end\"},B={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},F=B.NONE,j=1e-6,U=new r.Spherical,W=new r.Spherical,G=1,V=new r.Vector3,H=!1,Y=new r.Vector2,q=new r.Vector2,X=new r.Vector2,Z=new r.Vector2,K=new r.Vector2,J=new r.Vector2,$=new r.Vector2,Q=new r.Vector2,ee=new r.Vector2,te=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),V.add(e)}}(),ne=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,1),e.multiplyScalar(t),V.add(e)}}(),re=function(){var e=new r.Vector3;return function(t,n){var i=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof r.PerspectiveCamera){var o=I.object.position;e.copy(o).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),te(2*t*a/i.clientHeight,I.object.matrix),ne(2*n*a/i.clientHeight,I.object.matrix)}else I.object instanceof r.OrthographicCamera?(te(t*(I.object.right-I.object.left)/I.object.zoom/i.clientWidth,I.object.matrix),ne(n*(I.object.top-I.object.bottom)/I.object.zoom/i.clientHeight,I.object.matrix)):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.\"),I.enablePan=!1)}}();I.domElement.addEventListener(\"contextmenu\",L,!1),I.domElement.addEventListener(\"mousedown\",E,!1),I.domElement.addEventListener(\"wheel\",O,!1),I.domElement.addEventListener(\"touchstart\",C,!1),I.domElement.addEventListener(\"touchend\",R,!1),I.domElement.addEventListener(\"touchmove\",A,!1),window.addEventListener(\"keydown\",P,!1),this.update()},r.OrbitControls.prototype=Object.create(r.EventDispatcher.prototype),r.OrbitControls.prototype.constructor=r.OrbitControls,Object.defineProperties(r.OrbitControls.prototype,{center:{get:function(){return console.warn(\"THREE.OrbitControls: .center has been renamed to .target\"),this.target}},noZoom:{get:function(){return console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),!this.enableZoom},set:function(e){console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),this.enableZoom=!e}},noRotate:{get:function(){return console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),!this.enableRotate},set:function(e){console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),this.enableRotate=!e}},noPan:{get:function(){return console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),!this.enablePan},set:function(e){console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),this.enablePan=!e}},noKeys:{get:function(){return console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),!this.enableKeys},set:function(e){console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),!this.enableDamping},set:function(e){console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor},set:function(e){console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor=e}}})},function(e,t,n){var r=n(10);r.MTLLoader=function(e){this.manager=void 0!==e?e:r.DefaultLoadingManager},r.MTLLoader.prototype={constructor:r.MTLLoader,load:function(e,t,n,i){var o=this,a=new r.FileLoader(this.manager);a.setPath(this.path),a.load(e,function(e){t(o.parse(e))},n,i)},setPath:function(e){this.path=e},setTexturePath:function(e){this.texturePath=e},setBaseUrl:function(e){console.warn(\"THREE.MTLLoader: .setBaseUrl() is deprecated. Use .setTexturePath( path ) for texture path or .setPath( path ) for general base path instead.\"),this.setTexturePath(e)},setCrossOrigin:function(e){this.crossOrigin=e},setMaterialOptions:function(e){this.materialOptions=e},parse:function(e){for(var t=e.split(\"\\n\"),n={},i=/\\s+/,o={},a=0;a=0?s.substring(0,l):s;u=u.toLowerCase();var c=l>=0?s.substring(l+1):\"\";if(c=c.trim(),\"newmtl\"===u)n={name:c},o[c]=n;else if(n)if(\"ka\"===u||\"kd\"===u||\"ks\"===u){var d=c.split(i,3);n[u]=[parseFloat(d[0]),parseFloat(d[1]),parseFloat(d[2])]}else n[u]=c}}var f=new r.MTLLoader.MaterialCreator(this.texturePath||this.path,this.materialOptions);return f.setCrossOrigin(this.crossOrigin),f.setManager(this.manager),f.setMaterials(o),f}},r.MTLLoader.MaterialCreator=function(e,t){this.baseUrl=e||\"\",this.options=t,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.side=this.options&&this.options.side?this.options.side:r.FrontSide,this.wrap=this.options&&this.options.wrap?this.options.wrap:r.RepeatWrapping},r.MTLLoader.MaterialCreator.prototype={constructor:r.MTLLoader.MaterialCreator,setCrossOrigin:function(e){this.crossOrigin=e},setManager:function(e){this.manager=e},setMaterials:function(e){this.materialsInfo=this.convert(e),this.materials={},this.materialsArray=[],this.nameLookup={}},convert:function(e){if(!this.options)return e;var t={};for(var n in e){var r=e[n],i={};t[n]=i;for(var o in r){var a=!0,s=r[o],l=o.toLowerCase();switch(l){case\"kd\":case\"ka\":case\"ks\":this.options&&this.options.normalizeRGB&&(s=[s[0]/255,s[1]/255,s[2]/255]),this.options&&this.options.ignoreZeroRGBs&&0===s[0]&&0===s[1]&&0===s[2]&&(a=!1)}a&&(i[l]=s)}}return t},preload:function(){for(var e in this.materialsInfo)this.create(e)},getIndex:function(e){return this.nameLookup[e]},getAsArray:function(){var e=0;for(var t in this.materialsInfo)this.materialsArray[e]=this.create(t),this.nameLookup[t]=e,e++;return this.materialsArray},create:function(e){return void 0===this.materials[e]&&this.createMaterial_(e),this.materials[e]},createMaterial_:function(e){function t(e,t){return\"string\"!=typeof t||\"\"===t?\"\":/^https?:\\/\\//i.test(t)?t:e+t}function n(e,n){if(!a[e]){var r=i.getTextureParams(n,a),o=i.loadTexture(t(i.baseUrl,r.url));o.repeat.copy(r.scale),o.offset.copy(r.offset),o.wrapS=i.wrap,o.wrapT=i.wrap,a[e]=o}}var i=this,o=this.materialsInfo[e],a={name:e,side:this.side};for(var s in o){var l=o[s];if(\"\"!==l)switch(s.toLowerCase()){case\"kd\":a.color=(new r.Color).fromArray(l);break;case\"ks\":a.specular=(new r.Color).fromArray(l);break;case\"map_kd\":n(\"map\",l);break;case\"map_ks\":n(\"specularMap\",l);break;case\"map_bump\":case\"bump\":n(\"bumpMap\",l);break;case\"ns\":a.shininess=parseFloat(l);break;case\"d\":l<1&&(a.opacity=l,a.transparent=!0);break;case\"Tr\":l>0&&(a.opacity=1-l,a.transparent=!0)}}return this.materials[e]=new r.MeshPhongMaterial(a),this.materials[e]},getTextureParams:function(e,t){var n,i={scale:new r.Vector2(1,1),offset:new r.Vector2(0,0)},o=e.split(/\\s+/);return n=o.indexOf(\"-bm\"),n>=0&&(t.bumpScale=parseFloat(o[n+1]),o.splice(n,2)),n=o.indexOf(\"-s\"),n>=0&&(i.scale.set(parseFloat(o[n+1]),parseFloat(o[n+2])),o.splice(n,4)),n=o.indexOf(\"-o\"),n>=0&&(i.offset.set(parseFloat(o[n+1]),parseFloat(o[n+2])),o.splice(n,4)),i.url=o.join(\" \").trim(),i},loadTexture:function(e,t,n,i,o){var a,s=r.Loader.Handlers.get(e),l=void 0!==this.manager?this.manager:r.DefaultLoadingManager;return null===s&&(s=new r.TextureLoader(l)),s.setCrossOrigin&&s.setCrossOrigin(this.crossOrigin),a=s.load(e,n,i,o),void 0!==t&&(a.mapping=t),a}}},function(e,t,n){var r=n(10);r.OBJLoader=function(e){this.manager=void 0!==e?e:r.DefaultLoadingManager,this.materials=null,this.regexp={vertex_pattern:/^v\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,normal_pattern:/^vn\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,uv_pattern:/^vt\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,face_vertex:/^f\\s+(-?\\d+)\\s+(-?\\d+)\\s+(-?\\d+)(?:\\s+(-?\\d+))?/,face_vertex_uv:/^f\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+))?/,face_vertex_uv_normal:/^f\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))?/,face_vertex_normal:/^f\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)(?:\\s+(-?\\d+)\\/\\/(-?\\d+))?/,object_pattern:/^[og]\\s*(.+)?/,smoothing_pattern:/^s\\s+(\\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /}},r.OBJLoader.prototype={constructor:r.OBJLoader,load:function(e,t,n,i){var o=this,a=new r.FileLoader(o.manager);a.setPath(this.path),a.load(e,function(e){t(o.parse(e))},n,i)},setPath:function(e){this.path=e},setMaterials:function(e){this.materials=e},_createParserState:function(){var e={objects:[],object:{},vertices:[],normals:[],uvs:[],materialLibraries:[],startObject:function(e,t){if(this.object&&!1===this.object.fromDeclaration)return this.object.name=e,void(this.object.fromDeclaration=!1!==t);var n=this.object&&\"function\"==typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&\"function\"==typeof this.object._finalize&&this.object._finalize(!0),this.object={name:e||\"\",fromDeclaration:!1!==t,geometry:{vertices:[],normals:[],uvs:[]},materials:[],smooth:!0,startMaterial:function(e,t){var n=this._finalize(!1);n&&(n.inherited||n.groupCount<=0)&&this.materials.splice(n.index,1);var r={index:this.materials.length,name:e||\"\",mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:\"\",smooth:void 0!==n?n.smooth:this.smooth,groupStart:void 0!==n?n.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(e){var t={index:\"number\"==typeof e?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return t.clone=this.clone.bind(t),t}};return this.materials.push(r),r},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(e){var t=this.currentMaterial();if(t&&-1===t.groupEnd&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(var n=this.materials.length-1;n>=0;n--)this.materials[n].groupCount<=0&&this.materials.splice(n,1);return e&&0===this.materials.length&&this.materials.push({name:\"\",smooth:this.smooth}),t}},n&&n.name&&\"function\"==typeof n.clone){var r=n.clone(0);r.inherited=!0,this.object.materials.push(r)}this.objects.push(this.object)},finalize:function(){this.object&&\"function\"==typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseNormalIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseUVIndex:function(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)},addVertex:function(e,t,n){var r=this.vertices,i=this.object.geometry.vertices;i.push(r[e+0]),i.push(r[e+1]),i.push(r[e+2]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[t+2]),i.push(r[n+0]),i.push(r[n+1]),i.push(r[n+2])},addVertexLine:function(e){var t=this.vertices,n=this.object.geometry.vertices;n.push(t[e+0]),n.push(t[e+1]),n.push(t[e+2])},addNormal:function(e,t,n){var r=this.normals,i=this.object.geometry.normals;i.push(r[e+0]),i.push(r[e+1]),i.push(r[e+2]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[t+2]),i.push(r[n+0]),i.push(r[n+1]),i.push(r[n+2])},addUV:function(e,t,n){var r=this.uvs,i=this.object.geometry.uvs;i.push(r[e+0]),i.push(r[e+1]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[n+0]),i.push(r[n+1])},addUVLine:function(e){var t=this.uvs,n=this.object.geometry.uvs;n.push(t[e+0]),n.push(t[e+1])},addFace:function(e,t,n,r,i,o,a,s,l,u,c,d){var f,h=this.vertices.length,p=this.parseVertexIndex(e,h),m=this.parseVertexIndex(t,h),g=this.parseVertexIndex(n,h);if(void 0===r?this.addVertex(p,m,g):(f=this.parseVertexIndex(r,h),this.addVertex(p,m,f),this.addVertex(m,g,f)),void 0!==i){var v=this.uvs.length;p=this.parseUVIndex(i,v),m=this.parseUVIndex(o,v),g=this.parseUVIndex(a,v),void 0===r?this.addUV(p,m,g):(f=this.parseUVIndex(s,v),this.addUV(p,m,f),this.addUV(m,g,f))}if(void 0!==l){var y=this.normals.length;p=this.parseNormalIndex(l,y),m=l===u?p:this.parseNormalIndex(u,y),g=l===c?p:this.parseNormalIndex(c,y),void 0===r?this.addNormal(p,m,g):(f=this.parseNormalIndex(d,y),this.addNormal(p,m,f),this.addNormal(m,g,f))}},addLineGeometry:function(e,t){this.object.geometry.type=\"Line\";for(var n=this.vertices.length,r=this.uvs.length,i=0,o=e.length;i0?E.addAttribute(\"normal\",new r.BufferAttribute(new Float32Array(w.normals),3)):E.computeVertexNormals(),w.uvs.length>0&&E.addAttribute(\"uv\",new r.BufferAttribute(new Float32Array(w.uvs),2));for(var T=[],k=0,O=M.length;k1){for(var k=0,O=M.length;k0?s(i()):ee.y<0&&l(i()),$.copy(Q),I.update()}function p(e){K.set(e.clientX,e.clientY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function m(e){}function g(e){e.deltaY<0?l(i()):e.deltaY>0&&s(i()),I.update()}function v(e){switch(e.keyCode){case I.keys.UP:re(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:re(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:re(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:re(-I.keyPanSpeed,0),I.update()}}function y(e){Y.set(e.touches[0].pageX,e.touches[0].pageY)}function b(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);$.set(0,r)}function x(e){Z.set(e.touches[0].pageX,e.touches[0].pageY)}function _(e){q.set(e.touches[0].pageX,e.touches[0].pageY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function w(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);Q.set(0,r),ee.subVectors(Q,$),ee.y>0?l(i()):ee.y<0&&s(i()),$.copy(Q),I.update()}function M(e){K.set(e.touches[0].pageX,e.touches[0].pageY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function S(e){}function E(e){if(!1!==I.enabled){if(e.preventDefault(),e.button===I.mouseButtons.ORBIT){if(!1===I.enableRotate)return;u(e),F=B.ROTATE}else if(e.button===I.mouseButtons.ZOOM){if(!1===I.enableZoom)return;c(e),F=B.DOLLY}else if(e.button===I.mouseButtons.PAN){if(!1===I.enablePan)return;d(e),F=B.PAN}F!==B.NONE&&(document.addEventListener(\"mousemove\",T,!1),document.addEventListener(\"mouseup\",k,!1),I.dispatchEvent(N))}}function T(e){if(!1!==I.enabled)if(e.preventDefault(),F===B.ROTATE){if(!1===I.enableRotate)return;f(e)}else if(F===B.DOLLY){if(!1===I.enableZoom)return;h(e)}else if(F===B.PAN){if(!1===I.enablePan)return;p(e)}}function k(e){!1!==I.enabled&&(m(e),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),I.dispatchEvent(z),F=B.NONE)}function O(e){!1===I.enabled||!1===I.enableZoom||F!==B.NONE&&F!==B.ROTATE||(e.preventDefault(),e.stopPropagation(),g(e),I.dispatchEvent(N),I.dispatchEvent(z))}function P(e){!1!==I.enabled&&!1!==I.enableKeys&&!1!==I.enablePan&&v(e)}function C(e){if(!1!==I.enabled){switch(e.touches.length){case 1:if(!1===I.enableRotate)return;y(e),F=B.TOUCH_ROTATE;break;case 2:if(!1===I.enableZoom)return;b(e),F=B.TOUCH_DOLLY;break;case 3:if(!1===I.enablePan)return;x(e),F=B.TOUCH_PAN;break;default:F=B.NONE}F!==B.NONE&&I.dispatchEvent(N)}}function A(e){if(!1!==I.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===I.enableRotate)return;if(F!==B.TOUCH_ROTATE)return;_(e);break;case 2:if(!1===I.enableZoom)return;if(F!==B.TOUCH_DOLLY)return;w(e);break;case 3:if(!1===I.enablePan)return;if(F!==B.TOUCH_PAN)return;M(e);break;default:F=B.NONE}}function R(e){!1!==I.enabled&&(S(e),I.dispatchEvent(z),F=B.NONE)}function L(e){e.preventDefault()}this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.target=new r.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:r.MOUSE.LEFT,ZOOM:r.MOUSE.MIDDLE,PAN:r.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return U.phi},this.getAzimuthalAngle=function(){return U.theta},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(D),I.update(),F=B.NONE},this.update=function(){var t=new r.Vector3,i=(new r.Quaternion).setFromUnitVectors(e.up,new r.Vector3(0,1,0)),a=i.clone().inverse(),s=new r.Vector3,l=new r.Quaternion;return function(){var e=I.object.position;return t.copy(e).sub(I.target),t.applyQuaternion(i),U.setFromVector3(t),I.autoRotate&&F===B.NONE&&o(n()),U.theta+=W.theta,U.phi+=W.phi,U.theta=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,U.theta)),U.phi=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,U.phi)),U.makeSafe(),U.radius*=G,U.radius=Math.max(I.minDistance,Math.min(I.maxDistance,U.radius)),I.target.add(V),t.setFromSpherical(U),t.applyQuaternion(a),e.copy(I.target).add(t),I.object.lookAt(I.target),!0===I.enableDamping?(W.theta*=1-I.dampingFactor,W.phi*=1-I.dampingFactor):W.set(0,0,0),G=1,V.set(0,0,0),!!(H||s.distanceToSquared(I.object.position)>j||8*(1-l.dot(I.object.quaternion))>j)&&(I.dispatchEvent(D),s.copy(I.object.position),l.copy(I.object.quaternion),H=!1,!0)}}(),this.dispose=function(){I.domElement.removeEventListener(\"contextmenu\",L,!1),I.domElement.removeEventListener(\"mousedown\",E,!1),I.domElement.removeEventListener(\"wheel\",O,!1),I.domElement.removeEventListener(\"touchstart\",C,!1),I.domElement.removeEventListener(\"touchend\",R,!1),I.domElement.removeEventListener(\"touchmove\",A,!1),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),window.removeEventListener(\"keydown\",P,!1)};var I=this,D={type:\"change\"},N={type:\"start\"},z={type:\"end\"},B={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},F=B.NONE,j=1e-6,U=new r.Spherical,W=new r.Spherical,G=1,V=new r.Vector3,H=!1,Y=new r.Vector2,q=new r.Vector2,X=new r.Vector2,Z=new r.Vector2,K=new r.Vector2,J=new r.Vector2,$=new r.Vector2,Q=new r.Vector2,ee=new r.Vector2,te=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),V.add(e)}}(),ne=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,1),e.multiplyScalar(t),V.add(e)}}(),re=function(){var e=new r.Vector3;return function(t,n){var i=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof r.PerspectiveCamera){var o=I.object.position;e.copy(o).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),te(2*t*a/i.clientHeight,I.object.matrix),ne(2*n*a/i.clientHeight,I.object.matrix)}else I.object instanceof r.OrthographicCamera?(te(t*(I.object.right-I.object.left)/I.object.zoom/i.clientWidth,I.object.matrix),ne(n*(I.object.top-I.object.bottom)/I.object.zoom/i.clientHeight,I.object.matrix)):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.\"),I.enablePan=!1)}}();I.domElement.addEventListener(\"contextmenu\",L,!1),I.domElement.addEventListener(\"mousedown\",E,!1),I.domElement.addEventListener(\"wheel\",O,!1),I.domElement.addEventListener(\"touchstart\",C,!1),I.domElement.addEventListener(\"touchend\",R,!1),I.domElement.addEventListener(\"touchmove\",A,!1),window.addEventListener(\"keydown\",P,!1),this.update()},r.OrbitControls.prototype=Object.create(r.EventDispatcher.prototype),r.OrbitControls.prototype.constructor=r.OrbitControls,Object.defineProperties(r.OrbitControls.prototype,{center:{get:function(){return console.warn(\"THREE.OrbitControls: .center has been renamed to .target\"),this.target}},noZoom:{get:function(){return console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),!this.enableZoom},set:function(e){console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),this.enableZoom=!e}},noRotate:{get:function(){return console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),!this.enableRotate},set:function(e){console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),this.enableRotate=!e}},noPan:{get:function(){return console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),!this.enablePan},set:function(e){console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),this.enablePan=!e}},noKeys:{get:function(){return console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),!this.enableKeys},set:function(e){console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),!this.enableDamping},set:function(e){console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor},set:function(e){console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor=e}}})},function(e,t){e.exports={trajectoryGraph:{title:\"Trajectory\",options:{legend:{display:!0},axes:{x:{labelString:\"x (m)\"},y:{labelString:\"y (m)\"}}},properties:{lines:{pose:{color:\"rgba(0, 255, 0, 1)\",borderWidth:0,pointRadius:0,specialMarker:\"car\"},real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},steerCurve:{color:\"rgba(255, 206, 86, 1)\",borderWidth:1,pointRadius:0,fill:!1,showLine:!0},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},speedGraph:{title:\"Speed\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"speed (m/s)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},curvatureGraph:{title:\"Curvature\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"Curvature (m-1)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},accelerationGraph:{title:\"Acceleration\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"acceleration (m/s^2)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}}}},function(e,t){e.exports={slGraph:{title:\"QP Path - sl graph\",options:{legend:{display:!1},axes:{x:{min:0,max:200,labelString:\"s - ref_line (m)\"},y:{min:-5,max:5,labelString:\"l (m)\"}}},properties:{lines:{aggregatedBoundaryLow:{color:\"rgba(48, 165, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},aggregatedBoundaryHigh:{color:\"rgba(48, 165, 255, 1)\",borderWidth:2,pointRadius:0,lineTension:0,fill:!1,showLine:!0},pathLine:{color:\"rgba(225, 225, 225, 0.7)\",borderWidth:2,pointRadius:.5,fill:!1,showLine:!1},mapLowerBound:{color:\"rgba(54, 162, 235, 0.4)\",borderWidth:2,pointRadius:0,fill:\"start\",showLine:!0},mapUpperBound:{color:\"rgba(54, 162, 235, 0.4)\",borderWidth:2,pointRadius:0,fill:\"end\",showLine:!0},staticObstacleLowerBound:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:\"start\",showLine:!0},staticObstacleUpperBound:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:\"end\",showLine:!0},dynamicObstacleLowerBound:{color:\"rgba(255, 206, 86, 0.2)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},dynamicObstacleUpperBound:{color:\"rgba(255, 206, 86, 0.2)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0}}}},stGraph:{options:{legend:{display:!1},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-10,max:220,labelString:\"s (m)\"}}},properties:{box:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0,showText:!0,cubicInterpolationMode:\"monotone\",lineTension:0},lines:{curveLine:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1},kernelCruise:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1},kernelFollow:{color:\"rgba(255, 206, 86, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1}}}},stSpeedGraph:{title:\"QP Speed - sv graph\",options:{legend:{display:!0},axes:{x:{min:-10,max:220,labelString:\"s - qp_path(m)\"},y:{min:-1,max:40,labelString:\"v (m/s)\"}}},properties:{lines:{upperConstraint:{color:\"rgba(54, 162, 235, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},lowerConstraint:{color:\"rgba(54, 162, 235, 1)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0},planned:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0},limit:{color:\"rgba(255, 0, 0, 0.5)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0}}}},speedGraph:{title:\"Planning Speed\",options:{legend:{display:!0},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-1,max:40,labelString:\"speed (m/s)\"}}},properties:{lines:{finalSpeed:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:1,pointRadius:1,fill:!1,showLine:!1},DpStSpeedOptimizer:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplineStSpeedOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"}}}},accelerationGraph:{title:\"Planning Acceleration\",options:{legend:{display:!1},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-4,max:3.5,labelString:\"acceleration (m/s^2)\"}}},properties:{lines:{acceleration:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"}}}},kappaGraph:{title:\"Planning Kappa\",options:{legend:{display:!0},axes:{x:{labelString:\"s (m)\"},y:{min:-.2,max:.2,labelString:\"kappa\"}}},properties:{lines:{DpPolyPathOptimizer:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplinePathOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:5,pointRadius:0,fill:!1,showLine:!0}}}},dkappaGraph:{title:\"Planning Dkappa\",options:{legend:{display:!0},axes:{x:{labelString:\"s (m)\"},y:{min:-.02,max:.02,labelString:\"dkappa\"}}},properties:{lines:{ReferenceLine:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplinePathOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:5,pointRadius:0,fill:!1,showLine:!0}}}},dpPolyGraph:{title:\"DP Path\",options:{legend:{display:!1},axes:{x:{labelString:\"s (m)\"},y:{labelString:\"l (m)\"}}},properties:{lines:{minCostPoint:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:2,fill:!1,showLine:!0},sampleLayer:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!1}}}},latencyGraph:{title:\"Latency\",options:{legend:{display:!1},axes:{x:{labelString:\"timestampe (sec)\"},y:{labelString:\"latency (ms)\"}}},properties:{lines:{planning:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0}}}}}},function(e,t,n){var r=n(224);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={};i.transform=void 0;n(152)(r,i);r.locals&&(e.exports=r.locals)},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t){e.exports={nested:{apollo:{nested:{hdmap:{nested:{Projection:{fields:{proj:{type:\"string\",id:1}}},Header:{fields:{version:{type:\"bytes\",id:1},date:{type:\"bytes\",id:2},projection:{type:\"Projection\",id:3},district:{type:\"bytes\",id:4},generation:{type:\"bytes\",id:5},revMajor:{type:\"bytes\",id:6},revMinor:{type:\"bytes\",id:7},left:{type:\"double\",id:8},top:{type:\"double\",id:9},right:{type:\"double\",id:10},bottom:{type:\"double\",id:11},vendor:{type:\"bytes\",id:12}}},Map:{fields:{header:{type:\"Header\",id:1},crosswalk:{rule:\"repeated\",type:\"Crosswalk\",id:2},junction:{rule:\"repeated\",type:\"Junction\",id:3},lane:{rule:\"repeated\",type:\"Lane\",id:4},stopSign:{rule:\"repeated\",type:\"StopSign\",id:5},signal:{rule:\"repeated\",type:\"Signal\",id:6},yield:{rule:\"repeated\",type:\"YieldSign\",id:7},overlap:{rule:\"repeated\",type:\"Overlap\",id:8},clearArea:{rule:\"repeated\",type:\"ClearArea\",id:9},speedBump:{rule:\"repeated\",type:\"SpeedBump\",id:10},road:{rule:\"repeated\",type:\"Road\",id:11}}},ClearArea:{fields:{id:{type:\"Id\",id:1},overlapId:{rule:\"repeated\",type:\"Id\",id:2},polygon:{type:\"Polygon\",id:3}}},Crosswalk:{fields:{id:{type:\"Id\",id:1},polygon:{type:\"Polygon\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}},Polygon:{fields:{point:{rule:\"repeated\",type:\"apollo.common.PointENU\",id:1}}},LineSegment:{fields:{point:{rule:\"repeated\",type:\"apollo.common.PointENU\",id:1}}},CurveSegment:{oneofs:{curveType:{oneof:[\"lineSegment\"]}},fields:{lineSegment:{type:\"LineSegment\",id:1},s:{type:\"double\",id:6},startPosition:{type:\"apollo.common.PointENU\",id:7},heading:{type:\"double\",id:8},length:{type:\"double\",id:9}}},Curve:{fields:{segment:{rule:\"repeated\",type:\"CurveSegment\",id:1}}},Id:{fields:{id:{type:\"string\",id:1}}},Junction:{fields:{id:{type:\"Id\",id:1},polygon:{type:\"Polygon\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}},LaneBoundaryType:{fields:{s:{type:\"double\",id:1},types:{rule:\"repeated\",type:\"Type\",id:2,options:{packed:!1}}},nested:{Type:{values:{UNKNOWN:0,DOTTED_YELLOW:1,DOTTED_WHITE:2,SOLID_YELLOW:3,SOLID_WHITE:4,DOUBLE_YELLOW:5,CURB:6}}}},LaneBoundary:{fields:{curve:{type:\"Curve\",id:1},length:{type:\"double\",id:2},virtual:{type:\"bool\",id:3},boundaryType:{rule:\"repeated\",type:\"LaneBoundaryType\",id:4}}},LaneSampleAssociation:{fields:{s:{type:\"double\",id:1},width:{type:\"double\",id:2}}},Lane:{fields:{id:{type:\"Id\",id:1},centralCurve:{type:\"Curve\",id:2},leftBoundary:{type:\"LaneBoundary\",id:3},rightBoundary:{type:\"LaneBoundary\",id:4},length:{type:\"double\",id:5},speedLimit:{type:\"double\",id:6},overlapId:{rule:\"repeated\",type:\"Id\",id:7},predecessorId:{rule:\"repeated\",type:\"Id\",id:8},successorId:{rule:\"repeated\",type:\"Id\",id:9},leftNeighborForwardLaneId:{rule:\"repeated\",type:\"Id\",id:10},rightNeighborForwardLaneId:{rule:\"repeated\",type:\"Id\",id:11},type:{type:\"LaneType\",id:12},turn:{type:\"LaneTurn\",id:13},leftNeighborReverseLaneId:{rule:\"repeated\",type:\"Id\",id:14},rightNeighborReverseLaneId:{rule:\"repeated\",type:\"Id\",id:15},junctionId:{type:\"Id\",id:16},leftSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:17},rightSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:18},direction:{type:\"LaneDirection\",id:19},leftRoadSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:20},rightRoadSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:21}},nested:{LaneType:{values:{NONE:1,CITY_DRIVING:2,BIKING:3,SIDEWALK:4,PARKING:5}},LaneTurn:{values:{NO_TURN:1,LEFT_TURN:2,RIGHT_TURN:3,U_TURN:4}},LaneDirection:{values:{FORWARD:1,BACKWARD:2,BIDIRECTION:3}}}},LaneOverlapInfo:{fields:{startS:{type:\"double\",id:1},endS:{type:\"double\",id:2},isMerge:{type:\"bool\",id:3}}},SignalOverlapInfo:{fields:{}},StopSignOverlapInfo:{fields:{}},CrosswalkOverlapInfo:{fields:{}},JunctionOverlapInfo:{fields:{}},YieldOverlapInfo:{fields:{}},ClearAreaOverlapInfo:{fields:{}},SpeedBumpOverlapInfo:{fields:{}},ParkingSpaceOverlapInfo:{fields:{}},ObjectOverlapInfo:{oneofs:{overlapInfo:{oneof:[\"laneOverlapInfo\",\"signalOverlapInfo\",\"stopSignOverlapInfo\",\"crosswalkOverlapInfo\",\"junctionOverlapInfo\",\"yieldSignOverlapInfo\",\"clearAreaOverlapInfo\",\"speedBumpOverlapInfo\",\"parkingSpaceOverlapInfo\"]}},fields:{id:{type:\"Id\",id:1},laneOverlapInfo:{type:\"LaneOverlapInfo\",id:3},signalOverlapInfo:{type:\"SignalOverlapInfo\",id:4},stopSignOverlapInfo:{type:\"StopSignOverlapInfo\",id:5},crosswalkOverlapInfo:{type:\"CrosswalkOverlapInfo\",id:6},junctionOverlapInfo:{type:\"JunctionOverlapInfo\",id:7},yieldSignOverlapInfo:{type:\"YieldOverlapInfo\",id:8},clearAreaOverlapInfo:{type:\"ClearAreaOverlapInfo\",id:9},speedBumpOverlapInfo:{type:\"SpeedBumpOverlapInfo\",id:10},parkingSpaceOverlapInfo:{type:\"ParkingSpaceOverlapInfo\",id:11}}},Overlap:{fields:{id:{type:\"Id\",id:1},object:{rule:\"repeated\",type:\"ObjectOverlapInfo\",id:2}}},BoundaryEdge:{fields:{curve:{type:\"Curve\",id:1},type:{type:\"Type\",id:2}},nested:{Type:{values:{UNKNOWN:0,NORMAL:1,LEFT_BOUNDARY:2,RIGHT_BOUNDARY:3}}}},BoundaryPolygon:{fields:{edge:{rule:\"repeated\",type:\"BoundaryEdge\",id:1}}},RoadBoundary:{fields:{outerPolygon:{type:\"BoundaryPolygon\",id:1},hole:{rule:\"repeated\",type:\"BoundaryPolygon\",id:2}}},RoadROIBoundary:{fields:{id:{type:\"Id\",id:1},roadBoundaries:{rule:\"repeated\",type:\"RoadBoundary\",id:2}}},RoadSection:{fields:{id:{type:\"Id\",id:1},laneId:{rule:\"repeated\",type:\"Id\",id:2},boundary:{type:\"RoadBoundary\",id:3}}},Road:{fields:{id:{type:\"Id\",id:1},section:{rule:\"repeated\",type:\"RoadSection\",id:2},junctionId:{type:\"Id\",id:3}}},Subsignal:{fields:{id:{type:\"Id\",id:1},type:{type:\"Type\",id:2},location:{type:\"apollo.common.PointENU\",id:3}},nested:{Type:{values:{UNKNOWN:1,CIRCLE:2,ARROW_LEFT:3,ARROW_FORWARD:4,ARROW_RIGHT:5,ARROW_LEFT_AND_FORWARD:6,ARROW_RIGHT_AND_FORWARD:7,ARROW_U_TURN:8}}}},Signal:{fields:{id:{type:\"Id\",id:1},boundary:{type:\"Polygon\",id:2},subsignal:{rule:\"repeated\",type:\"Subsignal\",id:3},overlapId:{rule:\"repeated\",type:\"Id\",id:4},type:{type:\"Type\",id:5},stopLine:{rule:\"repeated\",type:\"Curve\",id:6}},nested:{Type:{values:{UNKNOWN:1,MIX_2_HORIZONTAL:2,MIX_2_VERTICAL:3,MIX_3_HORIZONTAL:4,MIX_3_VERTICAL:5,SINGLE:6}}}},SpeedBump:{fields:{id:{type:\"Id\",id:1},overlapId:{rule:\"repeated\",type:\"Id\",id:2},position:{rule:\"repeated\",type:\"Curve\",id:3}}},StopSign:{fields:{id:{type:\"Id\",id:1},stopLine:{rule:\"repeated\",type:\"Curve\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3},type:{type:\"StopType\",id:4}},nested:{StopType:{values:{UNKNOWN:0,ONE_WAY:1,TWO_WAY:2,THREE_WAY:3,FOUR_WAY:4,ALL_WAY:5}}}},YieldSign:{fields:{id:{type:\"Id\",id:1},stopLine:{rule:\"repeated\",type:\"Curve\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}}}},common:{nested:{PointENU:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:0}}}},PointLLH:{fields:{lon:{type:\"double\",id:1,options:{default:null}},lat:{type:\"double\",id:2,options:{default:null}},height:{type:\"double\",id:3,options:{default:0}}}},Point2D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}}}},Point3D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:null}}}},Quaternion:{fields:{qx:{type:\"double\",id:1,options:{default:null}},qy:{type:\"double\",id:2,options:{default:null}},qz:{type:\"double\",id:3,options:{default:null}},qw:{type:\"double\",id:4,options:{default:null}}}}}}}}}}},function(e,t){e.exports={nested:{apollo:{nested:{dreamview:{nested:{PolygonPoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3,options:{default:0}}}},Prediction:{fields:{probability:{type:\"double\",id:1},predictedTrajectory:{rule:\"repeated\",type:\"PolygonPoint\",id:2}}},Decision:{fields:{type:{type:\"Type\",id:1,options:{default:\"IGNORE\"}},polygonPoint:{rule:\"repeated\",type:\"PolygonPoint\",id:2},heading:{type:\"double\",id:3},latitude:{type:\"double\",id:4},longitude:{type:\"double\",id:5},positionX:{type:\"double\",id:6},positionY:{type:\"double\",id:7},length:{type:\"double\",id:8,options:{default:2.8}},width:{type:\"double\",id:9,options:{default:1.4}},height:{type:\"double\",id:10,options:{default:1.8}},stopReason:{type:\"StopReasonCode\",id:11}},nested:{Type:{values:{IGNORE:0,STOP:1,NUDGE:2,YIELD:3,OVERTAKE:4,FOLLOW:5,SIDEPASS:6}},StopReasonCode:{values:{STOP_REASON_HEAD_VEHICLE:1,STOP_REASON_DESTINATION:2,STOP_REASON_PEDESTRIAN:3,STOP_REASON_OBSTACLE:4,STOP_REASON_SIGNAL:100,STOP_REASON_STOP_SIGN:101,STOP_REASON_YIELD_SIGN:102,STOP_REASON_CLEAR_ZONE:103,STOP_REASON_CROSSWALK:104,STOP_REASON_EMERGENCY:105,STOP_REASON_NOT_READY:106}}}},Object:{fields:{id:{type:\"string\",id:1},polygonPoint:{rule:\"repeated\",type:\"PolygonPoint\",id:2},heading:{type:\"double\",id:3},latitude:{type:\"double\",id:4},longitude:{type:\"double\",id:5},positionX:{type:\"double\",id:6},positionY:{type:\"double\",id:7},length:{type:\"double\",id:8,options:{default:2.8}},width:{type:\"double\",id:9,options:{default:1.4}},height:{type:\"double\",id:10,options:{default:1.8}},speed:{type:\"double\",id:11},speedAcceleration:{type:\"double\",id:12},speedJerk:{type:\"double\",id:13},spin:{type:\"double\",id:14},spinAcceleration:{type:\"double\",id:15},spinJerk:{type:\"double\",id:16},speedHeading:{type:\"double\",id:17},kappa:{type:\"double\",id:18},signalSet:{rule:\"repeated\",type:\"string\",id:19},currentSignal:{type:\"string\",id:20},timestampSec:{type:\"double\",id:21},decision:{rule:\"repeated\",type:\"Decision\",id:22},throttlePercentage:{type:\"double\",id:23},brakePercentage:{type:\"double\",id:24},steeringPercentage:{type:\"double\",id:25},steeringAngle:{type:\"double\",id:26},steeringRatio:{type:\"double\",id:27},disengageType:{type:\"DisengageType\",id:28},type:{type:\"Type\",id:29},prediction:{rule:\"repeated\",type:\"Prediction\",id:30},confidence:{type:\"double\",id:31,options:{default:1}}},nested:{DisengageType:{values:{DISENGAGE_NONE:0,DISENGAGE_UNKNOWN:1,DISENGAGE_MANUAL:2,DISENGAGE_EMERGENCY:3,DISENGAGE_AUTO_STEER_ONLY:4,DISENGAGE_AUTO_SPEED_ONLY:5,DISENGAGE_CHASSIS_ERROR:6}},Type:{values:{UNKNOWN:0,UNKNOWN_MOVABLE:1,UNKNOWN_UNMOVABLE:2,PEDESTRIAN:3,BICYCLE:4,VEHICLE:5,VIRTUAL:6}}}},DelaysInMs:{fields:{chassis:{type:\"double\",id:1},localization:{type:\"double\",id:3},perceptionObstacle:{type:\"double\",id:4},planning:{type:\"double\",id:5},prediction:{type:\"double\",id:7},trafficLight:{type:\"double\",id:8}}},RoutePath:{fields:{point:{rule:\"repeated\",type:\"PolygonPoint\",id:1}}},Latency:{fields:{planning:{type:\"double\",id:1}}},MapElementIds:{fields:{lane:{rule:\"repeated\",type:\"string\",id:1},crosswalk:{rule:\"repeated\",type:\"string\",id:2},junction:{rule:\"repeated\",type:\"string\",id:3},signal:{rule:\"repeated\",type:\"string\",id:4},stopSign:{rule:\"repeated\",type:\"string\",id:5},yield:{rule:\"repeated\",type:\"string\",id:6},overlap:{rule:\"repeated\",type:\"string\",id:7},road:{rule:\"repeated\",type:\"string\",id:8},clearArea:{rule:\"repeated\",type:\"string\",id:9}}},SimulationWorld:{fields:{timestamp:{type:\"double\",id:1},sequenceNum:{type:\"uint32\",id:2},object:{rule:\"repeated\",type:\"Object\",id:3},autoDrivingCar:{type:\"Object\",id:4},trafficSignal:{type:\"Object\",id:5},routePath:{rule:\"repeated\",type:\"RoutePath\",id:6},routingTime:{type:\"double\",id:7},planningTrajectory:{rule:\"repeated\",type:\"Object\",id:8},mainStop:{type:\"Object\",id:9},speedLimit:{type:\"double\",id:10},delay:{type:\"DelaysInMs\",id:11},monitor:{type:\"apollo.common.monitor.MonitorMessage\",id:12},engageAdvice:{type:\"string\",id:13},latency:{type:\"Latency\",id:14},mapElementIds:{type:\"MapElementIds\",id:15},mapHash:{type:\"uint64\",id:16},mapRadius:{type:\"double\",id:17},planningTime:{type:\"double\",id:18},planningData:{type:\"apollo.planning_internal.PlanningData\",id:19},gps:{type:\"Object\",id:20}}}}},common:{nested:{sound:{nested:{SoundRequest:{fields:{header:{type:\"apollo.common.Header\",id:1},priority:{type:\"PriorityLevel\",id:2},mode:{type:\"Mode\",id:3},words:{type:\"string\",id:4}},nested:{PriorityLevel:{values:{LOW:0,MEDIUM:1,HIGH:2}},Mode:{values:{SAY:0,BEEP:1}}}}}},DriveEvent:{fields:{header:{type:\"apollo.common.Header\",id:1},event:{type:\"string\",id:2},location:{type:\"apollo.localization.Pose\",id:3}}},EngageAdvice:{fields:{advice:{type:\"Advice\",id:1,options:{default:\"DISALLOW_ENGAGE\"}},reason:{type:\"string\",id:2}},nested:{Advice:{values:{UNKNOWN:0,DISALLOW_ENGAGE:1,READY_TO_ENGAGE:2,KEEP_ENGAGED:3,PREPARE_DISENGAGE:4}}}},ErrorCode:{values:{OK:0,CONTROL_ERROR:1e3,CONTROL_INIT_ERROR:1001,CONTROL_COMPUTE_ERROR:1002,CANBUS_ERROR:2e3,CAN_CLIENT_ERROR_BASE:2100,CAN_CLIENT_ERROR_OPEN_DEVICE_FAILED:2101,CAN_CLIENT_ERROR_FRAME_NUM:2102,CAN_CLIENT_ERROR_SEND_FAILED:2103,CAN_CLIENT_ERROR_RECV_FAILED:2104,LOCALIZATION_ERROR:3e3,LOCALIZATION_ERROR_MSG:3100,LOCALIZATION_ERROR_LIDAR:3200,LOCALIZATION_ERROR_INTEG:3300,LOCALIZATION_ERROR_GNSS:3400,PERCEPTION_ERROR:4e3,PERCEPTION_ERROR_TF:4001,PERCEPTION_ERROR_PROCESS:4002,PERCEPTION_FATAL:4003,PREDICTION_ERROR:5e3,PLANNING_ERROR:6e3,HDMAP_DATA_ERROR:7e3,ROUTING_ERROR:8e3,ROUTING_ERROR_REQUEST:8001,ROUTING_ERROR_RESPONSE:8002,ROUTING_ERROR_NOT_READY:8003,END_OF_INPUT:9e3,HTTP_LOGIC_ERROR:1e4,HTTP_RUNTIME_ERROR:10001}},StatusPb:{fields:{errorCode:{type:\"ErrorCode\",id:1,options:{default:\"OK\"}},msg:{type:\"string\",id:2}}},PointENU:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:0}}}},PointLLH:{fields:{lon:{type:\"double\",id:1,options:{default:null}},lat:{type:\"double\",id:2,options:{default:null}},height:{type:\"double\",id:3,options:{default:0}}}},Point2D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}}}},Point3D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:null}}}},Quaternion:{fields:{qx:{type:\"double\",id:1,options:{default:null}},qy:{type:\"double\",id:2,options:{default:null}},qz:{type:\"double\",id:3,options:{default:null}},qw:{type:\"double\",id:4,options:{default:null}}}},Header:{fields:{timestampSec:{type:\"double\",id:1},moduleName:{type:\"string\",id:2},sequenceNum:{type:\"uint32\",id:3},lidarTimestamp:{type:\"uint64\",id:4},cameraTimestamp:{type:\"uint64\",id:5},radarTimestamp:{type:\"uint64\",id:6},version:{type:\"uint32\",id:7,options:{default:1}},status:{type:\"StatusPb\",id:8}}},SLPoint:{fields:{s:{type:\"double\",id:1},l:{type:\"double\",id:2}}},FrenetFramePoint:{fields:{s:{type:\"double\",id:1},l:{type:\"double\",id:2},dl:{type:\"double\",id:3},ddl:{type:\"double\",id:4}}},SpeedPoint:{fields:{s:{type:\"double\",id:1},t:{type:\"double\",id:2},v:{type:\"double\",id:3},a:{type:\"double\",id:4},da:{type:\"double\",id:5}}},PathPoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3},theta:{type:\"double\",id:4},kappa:{type:\"double\",id:5},s:{type:\"double\",id:6},dkappa:{type:\"double\",id:7},ddkappa:{type:\"double\",id:8},laneId:{type:\"string\",id:9}}},Path:{fields:{name:{type:\"string\",id:1},pathPoint:{rule:\"repeated\",type:\"PathPoint\",id:2}}},TrajectoryPoint:{fields:{pathPoint:{type:\"PathPoint\",id:1},v:{type:\"double\",id:2},a:{type:\"double\",id:3},relativeTime:{type:\"double\",id:4}}},VehicleSignal:{fields:{turnSignal:{type:\"TurnSignal\",id:1},highBeam:{type:\"bool\",id:2},lowBeam:{type:\"bool\",id:3},horn:{type:\"bool\",id:4},emergencyLight:{type:\"bool\",id:5}},nested:{TurnSignal:{values:{TURN_NONE:0,TURN_LEFT:1,TURN_RIGHT:2}}}},VehicleState:{fields:{x:{type:\"double\",id:1,options:{default:0}},y:{type:\"double\",id:2,options:{default:0}},z:{type:\"double\",id:3,options:{default:0}},timestamp:{type:\"double\",id:4,options:{default:0}},roll:{type:\"double\",id:5,options:{default:0}},pitch:{type:\"double\",id:6,options:{default:0}},yaw:{type:\"double\",id:7,options:{default:0}},heading:{type:\"double\",id:8,options:{default:0}},kappa:{type:\"double\",id:9,options:{default:0}},linearVelocity:{type:\"double\",id:10,options:{default:0}},angularVelocity:{type:\"double\",id:11,options:{default:0}},linearAcceleration:{type:\"double\",id:12,options:{default:0}},gear:{type:\"apollo.canbus.Chassis.GearPosition\",id:13},drivingMode:{type:\"apollo.canbus.Chassis.DrivingMode\",id:14},pose:{type:\"apollo.localization.Pose\",id:15}}},monitor:{nested:{MonitorMessageItem:{fields:{source:{type:\"MessageSource\",id:1,options:{default:\"UNKNOWN\"}},msg:{type:\"string\",id:2},logLevel:{type:\"LogLevel\",id:3,options:{default:\"INFO\"}}},nested:{MessageSource:{values:{UNKNOWN:1,CANBUS:2,CONTROL:3,DECISION:4,LOCALIZATION:5,PLANNING:6,PREDICTION:7,SIMULATOR:8,HWSYS:9,ROUTING:10,MONITOR:11,HMI:12}},LogLevel:{values:{INFO:0,WARN:1,ERROR:2,FATAL:3}}}},MonitorMessage:{fields:{header:{type:\"apollo.common.Header\",id:1},item:{rule:\"repeated\",type:\"MonitorMessageItem\",id:2}}}}}}},localization:{nested:{Uncertainty:{fields:{positionStdDev:{type:\"apollo.common.Point3D\",id:1},orientationStdDev:{type:\"apollo.common.Point3D\",id:2},linearVelocityStdDev:{type:\"apollo.common.Point3D\",id:3},linearAccelerationStdDev:{type:\"apollo.common.Point3D\",id:4},angularVelocityStdDev:{type:\"apollo.common.Point3D\",id:5}}},LocalizationEstimate:{fields:{header:{type:\"apollo.common.Header\",id:1},pose:{type:\"apollo.localization.Pose\",id:2},uncertainty:{type:\"Uncertainty\",id:3},measurementTime:{type:\"double\",id:4},trajectoryPoint:{rule:\"repeated\",type:\"apollo.common.TrajectoryPoint\",id:5}}},MeasureState:{values:{NOT_VALID:0,NOT_STABLE:1,OK:2,VALID:3}},LocalizationStatus:{fields:{header:{type:\"apollo.common.Header\",id:1},fusionStatus:{type:\"MeasureState\",id:2},gnssStatus:{type:\"MeasureState\",id:3},lidarStatus:{type:\"MeasureState\",id:4},measurementTime:{type:\"double\",id:5}}},Pose:{fields:{position:{type:\"apollo.common.PointENU\",id:1},orientation:{type:\"apollo.common.Quaternion\",id:2},linearVelocity:{type:\"apollo.common.Point3D\",id:3},linearAcceleration:{type:\"apollo.common.Point3D\",id:4},angularVelocity:{type:\"apollo.common.Point3D\",id:5},heading:{type:\"double\",id:6},linearAccelerationVrf:{type:\"apollo.common.Point3D\",id:7},angularVelocityVrf:{type:\"apollo.common.Point3D\",id:8},eulerAngles:{type:\"apollo.common.Point3D\",id:9}}}}},canbus:{nested:{Chassis:{fields:{engineStarted:{type:\"bool\",id:3},engineRpm:{type:\"float\",id:4,options:{default:null}},speedMps:{type:\"float\",id:5,options:{default:null}},odometerM:{type:\"float\",id:6,options:{default:null}},fuelRangeM:{type:\"int32\",id:7},throttlePercentage:{type:\"float\",id:8,options:{default:null}},brakePercentage:{type:\"float\",id:9,options:{default:null}},steeringPercentage:{type:\"float\",id:11,options:{default:null}},steeringTorqueNm:{type:\"float\",id:12,options:{default:null}},parkingBrake:{type:\"bool\",id:13},highBeamSignal:{type:\"bool\",id:14,options:{deprecated:!0}},lowBeamSignal:{type:\"bool\",id:15,options:{deprecated:!0}},leftTurnSignal:{type:\"bool\",id:16,options:{deprecated:!0}},rightTurnSignal:{type:\"bool\",id:17,options:{deprecated:!0}},horn:{type:\"bool\",id:18,options:{deprecated:!0}},wiper:{type:\"bool\",id:19},disengageStatus:{type:\"bool\",id:20,options:{deprecated:!0}},drivingMode:{type:\"DrivingMode\",id:21,options:{default:\"COMPLETE_MANUAL\"}},errorCode:{type:\"ErrorCode\",id:22,options:{default:\"NO_ERROR\"}},gearLocation:{type:\"GearPosition\",id:23},steeringTimestamp:{type:\"double\",id:24},header:{type:\"apollo.common.Header\",id:25},chassisErrorMask:{type:\"int32\",id:26,options:{default:0}},signal:{type:\"apollo.common.VehicleSignal\",id:27},chassisGps:{type:\"ChassisGPS\",id:28},engageAdvice:{type:\"apollo.common.EngageAdvice\",id:29}},nested:{DrivingMode:{values:{COMPLETE_MANUAL:0,COMPLETE_AUTO_DRIVE:1,AUTO_STEER_ONLY:2,AUTO_SPEED_ONLY:3,EMERGENCY_MODE:4}},ErrorCode:{values:{NO_ERROR:0,CMD_NOT_IN_PERIOD:1,CHASSIS_ERROR:2,MANUAL_INTERVENTION:3,CHASSIS_CAN_NOT_IN_PERIOD:4,UNKNOWN_ERROR:5}},GearPosition:{values:{GEAR_NEUTRAL:0,GEAR_DRIVE:1,GEAR_REVERSE:2,GEAR_PARKING:3,GEAR_LOW:4,GEAR_INVALID:5,GEAR_NONE:6}}}},ChassisGPS:{fields:{latitude:{type:\"double\",id:1},longitude:{type:\"double\",id:2},gpsValid:{type:\"bool\",id:3},year:{type:\"int32\",id:4},month:{type:\"int32\",id:5},day:{type:\"int32\",id:6},hours:{type:\"int32\",id:7},minutes:{type:\"int32\",id:8},seconds:{type:\"int32\",id:9},compassDirection:{type:\"double\",id:10},pdop:{type:\"double\",id:11},isGpsFault:{type:\"bool\",id:12},isInferred:{type:\"bool\",id:13},altitude:{type:\"double\",id:14},heading:{type:\"double\",id:15},hdop:{type:\"double\",id:16},vdop:{type:\"double\",id:17},quality:{type:\"GpsQuality\",id:18},numSatellites:{type:\"int32\",id:19},gpsSpeed:{type:\"double\",id:20}}},GpsQuality:{values:{FIX_NO:0,FIX_2D:1,FIX_3D:2,FIX_INVALID:3}}}},planning:{nested:{SLBoundary:{fields:{startS:{type:\"double\",id:1},endS:{type:\"double\",id:2},startL:{type:\"double\",id:3},endL:{type:\"double\",id:4}}},TargetLane:{fields:{id:{type:\"string\",id:1},startS:{type:\"double\",id:2},endS:{type:\"double\",id:3},speedLimit:{type:\"double\",id:4}}},ObjectIgnore:{fields:{}},StopReasonCode:{values:{STOP_REASON_HEAD_VEHICLE:1,STOP_REASON_DESTINATION:2,STOP_REASON_PEDESTRIAN:3,STOP_REASON_OBSTACLE:4,STOP_REASON_PREPARKING:5,STOP_REASON_SIGNAL:100,STOP_REASON_STOP_SIGN:101,STOP_REASON_YIELD_SIGN:102,STOP_REASON_CLEAR_ZONE:103,STOP_REASON_CROSSWALK:104}},ObjectStop:{fields:{reasonCode:{type:\"StopReasonCode\",id:1},distanceS:{type:\"double\",id:2},stopPoint:{type:\"apollo.common.PointENU\",id:3},stopHeading:{type:\"double\",id:4}}},ObjectNudge:{fields:{type:{type:\"Type\",id:1},distanceL:{type:\"double\",id:2}},nested:{Type:{values:{LEFT_NUDGE:1,RIGHT_NUDGE:2,NO_NUDGE:3}}}},ObjectYield:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3},timeBuffer:{type:\"double\",id:4}}},ObjectFollow:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3}}},ObjectOvertake:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3},timeBuffer:{type:\"double\",id:4}}},ObjectSidePass:{fields:{type:{type:\"Type\",id:1}},nested:{Type:{values:{LEFT:1,RIGHT:2}}}},ObjectAvoid:{fields:{}},ObjectDecisionType:{oneofs:{objectTag:{oneof:[\"ignore\",\"stop\",\"follow\",\"yield\",\"overtake\",\"nudge\",\"sidepass\",\"avoid\"]}},fields:{ignore:{type:\"ObjectIgnore\",id:1},stop:{type:\"ObjectStop\",id:2},follow:{type:\"ObjectFollow\",id:3},yield:{type:\"ObjectYield\",id:4},overtake:{type:\"ObjectOvertake\",id:5},nudge:{type:\"ObjectNudge\",id:6},sidepass:{type:\"ObjectSidePass\",id:7},avoid:{type:\"ObjectAvoid\",id:8}}},ObjectDecision:{fields:{id:{type:\"string\",id:1},perceptionId:{type:\"int32\",id:2},objectDecision:{rule:\"repeated\",type:\"ObjectDecisionType\",id:3}}},ObjectDecisions:{fields:{decision:{rule:\"repeated\",type:\"ObjectDecision\",id:1}}},MainStop:{fields:{reasonCode:{type:\"StopReasonCode\",id:1},reason:{type:\"string\",id:2},stopPoint:{type:\"apollo.common.PointENU\",id:3},stopHeading:{type:\"double\",id:4},changeLaneType:{type:\"apollo.routing.ChangeLaneType\",id:5}}},EmergencyStopHardBrake:{fields:{}},EmergencyStopCruiseToStop:{fields:{}},MainEmergencyStop:{oneofs:{task:{oneof:[\"hardBrake\",\"cruiseToStop\"]}},fields:{reasonCode:{type:\"ReasonCode\",id:1},reason:{type:\"string\",id:2},hardBrake:{type:\"EmergencyStopHardBrake\",id:3},cruiseToStop:{type:\"EmergencyStopCruiseToStop\",id:4}},nested:{ReasonCode:{values:{ESTOP_REASON_INTERNAL_ERR:1,ESTOP_REASON_COLLISION:2,ESTOP_REASON_ST_FIND_PATH:3,ESTOP_REASON_ST_MAKE_DECISION:4,ESTOP_REASON_SENSOR_ERROR:5}}}},MainCruise:{fields:{changeLaneType:{type:\"apollo.routing.ChangeLaneType\",id:1}}},MainChangeLane:{fields:{type:{type:\"Type\",id:1},defaultLane:{rule:\"repeated\",type:\"TargetLane\",id:2},defaultLaneStop:{type:\"MainStop\",id:3},targetLaneStop:{type:\"MainStop\",id:4}},nested:{Type:{values:{LEFT:1,RIGHT:2}}}},MainMissionComplete:{fields:{stopPoint:{type:\"apollo.common.PointENU\",id:1},stopHeading:{type:\"double\",id:2}}},MainNotReady:{fields:{reason:{type:\"string\",id:1}}},MainParking:{fields:{}},MainDecision:{oneofs:{task:{oneof:[\"cruise\",\"stop\",\"estop\",\"changeLane\",\"missionComplete\",\"notReady\",\"parking\"]}},fields:{cruise:{type:\"MainCruise\",id:1},stop:{type:\"MainStop\",id:2},estop:{type:\"MainEmergencyStop\",id:3},changeLane:{type:\"MainChangeLane\",id:4,options:{deprecated:!0}},missionComplete:{type:\"MainMissionComplete\",id:6},notReady:{type:\"MainNotReady\",id:7},parking:{type:\"MainParking\",id:8},targetLane:{rule:\"repeated\",type:\"TargetLane\",id:5,options:{deprecated:!0}}}},DecisionResult:{fields:{mainDecision:{type:\"MainDecision\",id:1},objectDecision:{type:\"ObjectDecisions\",id:2},vehicleSignal:{type:\"apollo.common.VehicleSignal\",id:3}}}}},planning_internal:{nested:{Debug:{fields:{planningData:{type:\"PlanningData\",id:2}}},SpeedPlan:{fields:{name:{type:\"string\",id:1},speedPoint:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:2}}},StGraphBoundaryDebug:{fields:{name:{type:\"string\",id:1},point:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:2},type:{type:\"StBoundaryType\",id:3}},nested:{StBoundaryType:{values:{ST_BOUNDARY_TYPE_UNKNOWN:1,ST_BOUNDARY_TYPE_STOP:2,ST_BOUNDARY_TYPE_FOLLOW:3,ST_BOUNDARY_TYPE_YIELD:4,ST_BOUNDARY_TYPE_OVERTAKE:5,ST_BOUNDARY_TYPE_KEEP_CLEAR:6}}}},SLFrameDebug:{fields:{name:{type:\"string\",id:1},sampledS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}},staticObstacleLowerBound:{rule:\"repeated\",type:\"double\",id:3,options:{packed:!1}},dynamicObstacleLowerBound:{rule:\"repeated\",type:\"double\",id:4,options:{packed:!1}},staticObstacleUpperBound:{rule:\"repeated\",type:\"double\",id:5,options:{packed:!1}},dynamicObstacleUpperBound:{rule:\"repeated\",type:\"double\",id:6,options:{packed:!1}},mapLowerBound:{rule:\"repeated\",type:\"double\",id:7,options:{packed:!1}},mapUpperBound:{rule:\"repeated\",type:\"double\",id:8,options:{packed:!1}},slPath:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:9},aggregatedBoundaryS:{rule:\"repeated\",type:\"double\",id:10,options:{packed:!1}},aggregatedBoundaryLow:{rule:\"repeated\",type:\"double\",id:11,options:{packed:!1}},aggregatedBoundaryHigh:{rule:\"repeated\",type:\"double\",id:12,options:{packed:!1}}}},STGraphDebug:{fields:{name:{type:\"string\",id:1},boundary:{rule:\"repeated\",type:\"StGraphBoundaryDebug\",id:2},speedLimit:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:3},speedProfile:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:4},speedConstraint:{type:\"STGraphSpeedConstraint\",id:5},kernelCruiseRef:{type:\"STGraphKernelCuiseRef\",id:6},kernelFollowRef:{type:\"STGraphKernelFollowRef\",id:7}},nested:{STGraphSpeedConstraint:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},lowerBound:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}},upperBound:{rule:\"repeated\",type:\"double\",id:3,options:{packed:!1}}}},STGraphKernelCuiseRef:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},cruiseLineS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}}}},STGraphKernelFollowRef:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},followLineS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}}}}}},SignalLightDebug:{fields:{adcSpeed:{type:\"double\",id:1},adcFrontS:{type:\"double\",id:2},signal:{rule:\"repeated\",type:\"SignalDebug\",id:3}},nested:{SignalDebug:{fields:{lightId:{type:\"string\",id:1},color:{type:\"apollo.perception.TrafficLight.Color\",id:2},lightStopS:{type:\"double\",id:3},adcStopDeacceleration:{type:\"double\",id:4},isStopWallCreated:{type:\"bool\",id:5}}}}},DecisionTag:{fields:{deciderTag:{type:\"string\",id:1},decision:{type:\"apollo.planning.ObjectDecisionType\",id:2}}},ObstacleDebug:{fields:{id:{type:\"string\",id:1},slBoundary:{type:\"apollo.planning.SLBoundary\",id:2},decisionTag:{rule:\"repeated\",type:\"DecisionTag\",id:3}}},ReferenceLineDebug:{fields:{id:{type:\"string\",id:1},length:{type:\"double\",id:2},cost:{type:\"double\",id:3},isChangeLanePath:{type:\"bool\",id:4},isDrivable:{type:\"bool\",id:5},isProtected:{type:\"bool\",id:6}}},ChangeLaneState:{fields:{state:{type:\"State\",id:1},pathId:{type:\"string\",id:2},timestamp:{type:\"double\",id:3}},nested:{State:{values:{IN_CHANGE_LANE:1,CHANGE_LANE_FAILED:2,CHANGE_LANE_SUCCESS:3}}}},SampleLayerDebug:{fields:{slPoint:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:1}}},DpPolyGraphDebug:{fields:{sampleLayer:{rule:\"repeated\",type:\"SampleLayerDebug\",id:1},minCostPoint:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:2}}},PlanningData:{fields:{adcPosition:{type:\"apollo.localization.LocalizationEstimate\",id:7},chassis:{type:\"apollo.canbus.Chassis\",id:8},routing:{type:\"apollo.routing.RoutingResponse\",id:9},initPoint:{type:\"apollo.common.TrajectoryPoint\",id:10},path:{rule:\"repeated\",type:\"apollo.common.Path\",id:6},speedPlan:{rule:\"repeated\",type:\"SpeedPlan\",id:13},stGraph:{rule:\"repeated\",type:\"STGraphDebug\",id:14},slFrame:{rule:\"repeated\",type:\"SLFrameDebug\",id:15},predictionHeader:{type:\"apollo.common.Header\",id:16},signalLight:{type:\"SignalLightDebug\",id:17},obstacle:{rule:\"repeated\",type:\"ObstacleDebug\",id:18},referenceLine:{rule:\"repeated\",type:\"ReferenceLineDebug\",id:19},dpPolyGraph:{type:\"DpPolyGraphDebug\",id:20},latticeStImage:{type:\"LatticeStTraining\",id:21}}},LatticeStPixel:{fields:{s:{type:\"int32\",id:1},t:{type:\"int32\",id:2},r:{type:\"uint32\",id:3},g:{type:\"uint32\",id:4},b:{type:\"uint32\",id:5}}},LatticeStTraining:{fields:{pixel:{rule:\"repeated\",type:\"LatticeStPixel\",id:1},timestamp:{type:\"double\",id:2},annotation:{type:\"string\",id:3},numSGrids:{type:\"uint32\",id:4},numTGrids:{type:\"uint32\",id:5},sResolution:{type:\"double\",id:6},tResolution:{type:\"double\",id:7}}},CloudReferenceLineRequest:{fields:{laneSegment:{rule:\"repeated\",type:\"apollo.routing.LaneSegment\",id:1}}},CloudReferenceLineRoutingRequest:{fields:{routing:{type:\"apollo.routing.RoutingResponse\",id:1}}},CloudReferenceLinePoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3},theta:{type:\"double\",id:4},kappa:{type:\"double\",id:5},laneS:{type:\"double\",id:6},dkappa:{type:\"double\",id:7}}},CloudReferenceLineSegment:{fields:{laneId:{type:\"string\",id:1},point:{rule:\"repeated\",type:\"CloudReferenceLinePoint\",id:2}}},CloudReferenceLineResponse:{fields:{segment:{rule:\"repeated\",type:\"CloudReferenceLineSegment\",id:1}}},NavigationPath:{fields:{pathPoint:{rule:\"repeated\",type:\"apollo.common.PathPoint\",id:1},pathPriority:{type:\"uint32\",id:2}}},NavigationInfo:{fields:{header:{type:\"apollo.common.Header\",id:1},navigationPath:{rule:\"repeated\",type:\"NavigationPath\",id:2}}}}},perception:{nested:{TrafficLightBox:{fields:{x:{type:\"int32\",id:1},y:{type:\"int32\",id:2},width:{type:\"int32\",id:3},height:{type:\"int32\",id:4},color:{type:\"TrafficLight.Color\",id:5},selected:{type:\"bool\",id:6}}},TrafficLightDebug:{fields:{cropbox:{type:\"TrafficLightBox\",id:1},box:{rule:\"repeated\",type:\"TrafficLightBox\",id:2},signalNum:{type:\"int32\",id:3},validPos:{type:\"int32\",id:4},tsDiffPos:{type:\"double\",id:5},tsDiffSys:{type:\"double\",id:6},projectError:{type:\"int32\",id:7},distanceToStopLine:{type:\"double\",id:8},cameraId:{type:\"int32\",id:9}}},TrafficLight:{fields:{color:{type:\"Color\",id:1},id:{type:\"string\",id:2},confidence:{type:\"double\",id:3,options:{default:1}},trackingTime:{type:\"double\",id:4}},nested:{Color:{values:{UNKNOWN:0,RED:1,YELLOW:2,GREEN:3,BLACK:4}}}},TrafficLightDetection:{fields:{header:{type:\"apollo.common.Header\",id:2},trafficLight:{rule:\"repeated\",type:\"TrafficLight\",id:1},trafficLightDebug:{type:\"TrafficLightDebug\",id:3},containLights:{type:\"bool\",id:4}}}}},routing:{nested:{LaneWaypoint:{fields:{id:{type:\"string\",id:1},s:{type:\"double\",id:2},pose:{type:\"apollo.common.PointENU\",id:3}}},LaneSegment:{fields:{id:{type:\"string\",id:1},startS:{type:\"double\",id:2},endS:{type:\"double\",id:3}}},RoutingRequest:{fields:{header:{type:\"apollo.common.Header\",id:1},waypoint:{rule:\"repeated\",type:\"LaneWaypoint\",id:2},blacklistedLane:{rule:\"repeated\",type:\"LaneSegment\",id:3},blacklistedRoad:{rule:\"repeated\",type:\"string\",id:4},broadcast:{type:\"bool\",id:5,options:{default:!0}}}},Measurement:{fields:{distance:{type:\"double\",id:1}}},ChangeLaneType:{values:{FORWARD:0,LEFT:1,RIGHT:2}},Passage:{fields:{segment:{rule:\"repeated\",type:\"LaneSegment\",id:1},canExit:{type:\"bool\",id:2},changeLaneType:{type:\"ChangeLaneType\",id:3,options:{default:\"FORWARD\"}}}},RoadSegment:{fields:{id:{type:\"string\",id:1},passage:{rule:\"repeated\",type:\"Passage\",id:2}}},RoutingResponse:{fields:{header:{type:\"apollo.common.Header\",id:1},road:{rule:\"repeated\",type:\"RoadSegment\",id:2},measurement:{type:\"Measurement\",id:3},routingRequest:{type:\"RoutingRequest\",id:4},mapVersion:{type:\"bytes\",id:5},status:{type:\"apollo.common.StatusPb\",id:6}}}}}}}}}}]);\n\n\n// WEBPACK FOOTER //\n// app.bundle.js"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourceRoot":""} \ No newline at end of file +{"version":3,"file":"app.bundle.js","sources":["webpack:///app.bundle.js"],"sourcesContent":["!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"/\",t(t.s=159)}([function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(18),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n6?l-6:0),c=6;c>\",s=s||i,null==r[i]){if(t){var n=null===r[i]?\"null\":\"undefined\";return new Error(\"The \"+a+\" `\"+s+\"` is marked as required in `\"+o+\"`, but its value is `\"+n+\"`.\")}return null}return e.apply(void 0,[r,i,o,a,s].concat(u))})}var r=t.bind(null,!1);return r.isRequired=t.bind(null,!0),r}function i(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function o(e){var t=void 0===e?\"undefined\":S(e);return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":i(t,e)?\"symbol\":t}function a(e){var t=o(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function s(e,t){return r(function(r,i,s,l,u){return n.i(_.untracked)(function(){if(e&&o(r[i])===t.toLowerCase())return null;var n=void 0;switch(t){case\"Array\":n=_.isObservableArray;break;case\"Object\":n=_.isObservableObject;break;case\"Map\":n=_.isObservableMap;break;default:throw new Error(\"Unexpected mobxType: \"+t)}var l=r[i];if(!n(l)){var c=a(l),d=e?\" or javascript `\"+t.toLowerCase()+\"`\":\"\";return new Error(\"Invalid prop `\"+u+\"` of type `\"+c+\"` supplied to `\"+s+\"`, expected `mobx.Observable\"+t+\"`\"+d+\".\")}return null})})}function l(e,t){return r(function(r,i,o,a,l){for(var u=arguments.length,c=Array(u>5?u-5:0),d=5;d2&&void 0!==arguments[2]&&arguments[2],r=e[t],i=te[t],o=r?!0===n?function(){i.apply(this,arguments),r.apply(this,arguments)}:function(){r.apply(this,arguments),i.apply(this,arguments)}:i;e[t]=o}function y(e,t){if(null==e||null==t||\"object\"!==(void 0===e?\"undefined\":S(e))||\"object\"!==(void 0===t?\"undefined\":S(t)))return e!==t;var n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(var r=void 0,i=n.length-1;r=n[i];i--)if(t[r]!==e[r])return!0;return!1}function b(e,t){if(\"string\"==typeof e)throw new Error(\"Store names should be provided as array\");if(Array.isArray(e))return J||(J=!0,console.warn('Mobx observer: Using observer to inject stores is deprecated since 4.0. Use `@inject(\"store1\", \"store2\") @observer ComponentClass` or `inject(\"store1\", \"store2\")(observer(componentClass))` instead of `@observer([\"store1\", \"store2\"]) ComponentClass`')),t?f.apply(null,e)(b(t)):function(t){return b(e,t)};var n=e;if(!0===n.isMobxInjector&&console.warn(\"Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'\"),!(\"function\"!=typeof n||n.prototype&&n.prototype.render||n.isReactClass||w.Component.isPrototypeOf(n))){var r,i;return b((i=r=function(e){function t(){return E(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return k(t,e),T(t,[{key:\"render\",value:function(){return n.call(this,this.props,this.context)}}]),t}(w.Component),r.displayName=n.displayName||n.name,r.contextTypes=n.contextTypes,r.propTypes=n.propTypes,r.defaultProps=n.defaultProps,i))}if(!n)throw new Error(\"Please pass a valid component to 'observer'\");return x(n.prototype||n),n.isMobXReactObserver=!0,n}function x(e){v(e,\"componentWillMount\",!0),[\"componentDidMount\",\"componentWillUnmount\",\"componentDidUpdate\"].forEach(function(t){v(e,t)}),e.shouldComponentUpdate||(e.shouldComponentUpdate=te.shouldComponentUpdate)}Object.defineProperty(t,\"__esModule\",{value:!0}),n.d(t,\"propTypes\",function(){return Y}),n.d(t,\"PropTypes\",function(){return Y}),n.d(t,\"onError\",function(){return se}),n.d(t,\"observer\",function(){return b}),n.d(t,\"Observer\",function(){return ne}),n.d(t,\"renderReporter\",function(){return Q}),n.d(t,\"componentByNodeRegistery\",function(){return $}),n.d(t,\"trackComponents\",function(){return m}),n.d(t,\"useStaticRendering\",function(){return g}),n.d(t,\"Provider\",function(){return ae}),n.d(t,\"inject\",function(){return f});var _=n(22),w=n(2),M=(n.n(w),n(44)),S=(n.n(M),\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e}),E=(function(){function e(e){this.value=e}function t(t){function n(e,t){return new Promise(function(n,i){var s={key:e,arg:t,resolve:n,reject:i,next:null};a?a=a.next=s:(o=a=s,r(e,t))})}function r(n,o){try{var a=t[n](o),s=a.value;s instanceof e?Promise.resolve(s.value).then(function(e){r(\"next\",e)},function(e){r(\"throw\",e)}):i(a.done?\"return\":\"normal\",a.value)}catch(e){i(\"throw\",e)}}function i(e,t){switch(e){case\"return\":o.resolve({value:t,done:!0});break;case\"throw\":o.reject(t);break;default:o.resolve({value:t,done:!1})}o=o.next,o?r(o.key,o.arg):a=null}var o,a;this._invoke=n,\"function\"!=typeof t.return&&(this.return=void 0)}\"function\"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke(\"next\",e)},t.prototype.throw=function(e){return this._invoke(\"throw\",e)},t.prototype.return=function(e){return this._invoke(\"return\",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}),T=function(){function e(e,t){for(var n=0;n\",r=this._reactInternalInstance&&this._reactInternalInstance._rootNodeID,i=!1,o=!1;e.call(this,\"props\"),e.call(this,\"state\");var a=this.render.bind(this),s=null,l=!1,u=function(){return s=new _.Reaction(n+\"#\"+r+\".render()\",function(){if(!l&&(l=!0,\"function\"==typeof t.componentWillReact&&t.componentWillReact(),!0!==t.__$mobxIsUnmounted)){var e=!0;try{o=!0,i||w.Component.prototype.forceUpdate.call(t),e=!1}finally{o=!1,e&&s.dispose()}}}),s.reactComponent=t,c.$mobx=s,t.render=c,c()},c=function(){l=!1;var e=void 0,n=void 0;if(s.track(function(){Z&&(t.__$mobRenderStart=Date.now());try{n=_.extras.allowStateChanges(!1,a)}catch(t){e=t}Z&&(t.__$mobRenderEnd=Date.now())}),e)throw ee.emit(e),e;return n};this.render=u}},componentWillUnmount:function(){if(!0!==K&&(this.render.$mobx&&this.render.$mobx.dispose(),this.__$mobxIsUnmounted=!0,Z)){var e=h(this);e&&$&&$.delete(e),Q.emit({event:\"destroy\",component:this,node:e})}},componentDidMount:function(){Z&&p(this)},componentDidUpdate:function(){Z&&p(this)},shouldComponentUpdate:function(e,t){return K&&console.warn(\"[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side.\"),this.state!==t||y(this.props,e)}},ne=b(function(e){return(0,e.children)()});ne.displayName=\"Observer\",ne.propTypes={children:function(e,t,n,r,i){if(\"function\"!=typeof e[t])return new Error(\"Invalid prop `\"+i+\"` of type `\"+S(e[t])+\"` supplied to `\"+n+\"`, expected `function`.\")}};var re,ie,oe={children:!0,key:!0,ref:!0},ae=(ie=re=function(e){function t(){return E(this,t),O(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return k(t,e),T(t,[{key:\"render\",value:function(){return w.Children.only(this.props.children)}},{key:\"getChildContext\",value:function(){var e={},t=this.context.mobxStores;if(t)for(var n in t)e[n]=t[n];for(var r in this.props)oe[r]||\"suppressChangedStoreWarning\"===r||(e[r]=this.props[r]);return{mobxStores:e}}},{key:\"componentWillReceiveProps\",value:function(e){if(Object.keys(e).length!==Object.keys(this.props).length&&console.warn(\"MobX Provider: The set of provided stores has changed. Please avoid changing stores as the change might not propagate to all children\"),!e.suppressChangedStoreWarning)for(var t in e)oe[t]||this.props[t]===e[t]||console.warn(\"MobX Provider: Provided store '\"+t+\"' has changed. Please avoid replacing stores as the change might not propagate to all children\")}}]),t}(w.Component),re.contextTypes={mobxStores:H},re.childContextTypes={mobxStores:H.isRequired},ie);if(!w.Component)throw new Error(\"mobx-react requires React to be available\");if(!_.extras)throw new Error(\"mobx-react requires mobx to be available\");\"function\"==typeof M.unstable_batchedUpdates&&_.extras.setReactionScheduler(M.unstable_batchedUpdates);var se=function(e){return ee.on(e)};if(\"object\"===(\"undefined\"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__?\"undefined\":S(__MOBX_DEVTOOLS_GLOBAL_HOOK__))){var le={spy:_.spy,extras:_.extras},ue={renderReporter:Q,componentByNodeRegistery:$,trackComponents:m};__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobxReact(ue,le)}},function(e,t,n){\"use strict\";var r=n(6);e.exports={_set:function(e,t){return r.merge(this[e]||(this[e]={}),t)}}},function(e,t){var n=e.exports={version:\"2.5.3\"};\"number\"==typeof __e&&(__e=n)},function(e,t,n){\"use strict\";function r(){}function i(e,t){this.x=e||0,this.y=t||0}function o(e,t,n,r,a,s,l,u,c,d){Object.defineProperty(this,\"id\",{value:ps++}),this.uuid=hs.generateUUID(),this.name=\"\",this.image=void 0!==e?e:o.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==t?t:o.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:la,this.wrapT=void 0!==r?r:la,this.magFilter=void 0!==a?a:ha,this.minFilter=void 0!==s?s:ma,this.anisotropy=void 0!==c?c:1,this.format=void 0!==l?l:Ca,this.type=void 0!==u?u:ga,this.offset=new i(0,0),this.repeat=new i(1,1),this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==d?d:rs,this.version=0,this.onUpdate=null}function a(e,t,n,r){this.x=e||0,this.y=t||0,this.z=n||0,this.w=void 0!==r?r:1}function s(e,t,n){this.uuid=hs.generateUUID(),this.width=e,this.height=t,this.scissor=new a(0,0,e,t),this.scissorTest=!1,this.viewport=new a(0,0,e,t),n=n||{},void 0===n.minFilter&&(n.minFilter=ha),this.texture=new o(void 0,void 0,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0===n.stencilBuffer||n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}function l(e,t,n){s.call(this,e,t,n),this.activeCubeFace=0,this.activeMipMapLevel=0}function u(e,t,n,r){this._x=e||0,this._y=t||0,this._z=n||0,this._w=void 0!==r?r:1}function c(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0}function d(){this.elements=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}function f(e,t,n,r,i,a,s,l,u,c){e=void 0!==e?e:[],t=void 0!==t?t:ea,o.call(this,e,t,n,r,i,a,s,l,u,c),this.flipY=!1}function h(){this.seq=[],this.map={}}function p(e,t,n){var r=e[0];if(r<=0||r>0)return e;var i=t*n,o=vs[i];if(void 0===o&&(o=new Float32Array(i),vs[i]=o),0!==t){r.toArray(o,0);for(var a=1,s=0;a!==t;++a)s+=n,e[a].toArray(o,s)}return o}function m(e,t){var n=ys[t];void 0===n&&(n=new Int32Array(t),ys[t]=n);for(var r=0;r!==t;++r)n[r]=e.allocTextureUnit();return n}function g(e,t){e.uniform1f(this.addr,t)}function v(e,t){e.uniform1i(this.addr,t)}function y(e,t){void 0===t.x?e.uniform2fv(this.addr,t):e.uniform2f(this.addr,t.x,t.y)}function b(e,t){void 0!==t.x?e.uniform3f(this.addr,t.x,t.y,t.z):void 0!==t.r?e.uniform3f(this.addr,t.r,t.g,t.b):e.uniform3fv(this.addr,t)}function x(e,t){void 0===t.x?e.uniform4fv(this.addr,t):e.uniform4f(this.addr,t.x,t.y,t.z,t.w)}function _(e,t){e.uniformMatrix2fv(this.addr,!1,t.elements||t)}function w(e,t){e.uniformMatrix3fv(this.addr,!1,t.elements||t)}function M(e,t){e.uniformMatrix4fv(this.addr,!1,t.elements||t)}function S(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTexture2D(t||ms,r)}function E(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTextureCube(t||gs,r)}function T(e,t){e.uniform2iv(this.addr,t)}function k(e,t){e.uniform3iv(this.addr,t)}function O(e,t){e.uniform4iv(this.addr,t)}function P(e){switch(e){case 5126:return g;case 35664:return y;case 35665:return b;case 35666:return x;case 35674:return _;case 35675:return w;case 35676:return M;case 35678:return S;case 35680:return E;case 5124:case 35670:return v;case 35667:case 35671:return T;case 35668:case 35672:return k;case 35669:case 35673:return O}}function C(e,t){e.uniform1fv(this.addr,t)}function A(e,t){e.uniform1iv(this.addr,t)}function R(e,t){e.uniform2fv(this.addr,p(t,this.size,2))}function L(e,t){e.uniform3fv(this.addr,p(t,this.size,3))}function I(e,t){e.uniform4fv(this.addr,p(t,this.size,4))}function D(e,t){e.uniformMatrix2fv(this.addr,!1,p(t,this.size,4))}function N(e,t){e.uniformMatrix3fv(this.addr,!1,p(t,this.size,9))}function z(e,t){e.uniformMatrix4fv(this.addr,!1,p(t,this.size,16))}function B(e,t,n){var r=t.length,i=m(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTexture2D(t[o]||ms,i[o])}function F(e,t,n){var r=t.length,i=m(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTextureCube(t[o]||gs,i[o])}function j(e){switch(e){case 5126:return C;case 35664:return R;case 35665:return L;case 35666:return I;case 35674:return D;case 35675:return N;case 35676:return z;case 35678:return B;case 35680:return F;case 5124:case 35670:return A;case 35667:case 35671:return T;case 35668:case 35672:return k;case 35669:case 35673:return O}}function U(e,t,n){this.id=e,this.addr=n,this.setValue=P(t.type)}function W(e,t,n){this.id=e,this.addr=n,this.size=t.size,this.setValue=j(t.type)}function G(e){this.id=e,h.call(this)}function V(e,t){e.seq.push(t),e.map[t.id]=t}function H(e,t,n){var r=e.name,i=r.length;for(bs.lastIndex=0;;){var o=bs.exec(r),a=bs.lastIndex,s=o[1],l=\"]\"===o[2],u=o[3];if(l&&(s|=0),void 0===u||\"[\"===u&&a+2===i){V(n,void 0===u?new U(s,e,t):new W(s,e,t));break}var c=n.map,d=c[s];void 0===d&&(d=new G(s),V(n,d)),n=d}}function Y(e,t,n){h.call(this),this.renderer=n;for(var r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),i=0;i.001&&A.scale>.001&&(M.x=A.x,M.y=A.y,M.z=A.z,_=A.size*A.scale/g.w,w.x=_*y,w.y=_,p.uniform3f(d.screenPosition,M.x,M.y,M.z),p.uniform2f(d.scale,w.x,w.y),p.uniform1f(d.rotation,A.rotation),p.uniform1f(d.opacity,A.opacity),p.uniform3f(d.color,A.color.r,A.color.g,A.color.b),m.setBlending(A.blending,A.blendEquation,A.blendSrc,A.blendDst),e.setTexture2D(A.texture,1),p.drawElements(p.TRIANGLES,6,p.UNSIGNED_SHORT,0))}}}m.enable(p.CULL_FACE),m.enable(p.DEPTH_TEST),m.setDepthWrite(!0),e.resetGLState()}}}function J(e,t){function n(){var e=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),t=new Uint16Array([0,1,2,0,2,3]);a=p.createBuffer(),s=p.createBuffer(),p.bindBuffer(p.ARRAY_BUFFER,a),p.bufferData(p.ARRAY_BUFFER,e,p.STATIC_DRAW),p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,s),p.bufferData(p.ELEMENT_ARRAY_BUFFER,t,p.STATIC_DRAW),l=r(),d={position:p.getAttribLocation(l,\"position\"),uv:p.getAttribLocation(l,\"uv\")},f={uvOffset:p.getUniformLocation(l,\"uvOffset\"),uvScale:p.getUniformLocation(l,\"uvScale\"),rotation:p.getUniformLocation(l,\"rotation\"),scale:p.getUniformLocation(l,\"scale\"),color:p.getUniformLocation(l,\"color\"),map:p.getUniformLocation(l,\"map\"),opacity:p.getUniformLocation(l,\"opacity\"),modelViewMatrix:p.getUniformLocation(l,\"modelViewMatrix\"),projectionMatrix:p.getUniformLocation(l,\"projectionMatrix\"),fogType:p.getUniformLocation(l,\"fogType\"),fogDensity:p.getUniformLocation(l,\"fogDensity\"),fogNear:p.getUniformLocation(l,\"fogNear\"),fogFar:p.getUniformLocation(l,\"fogFar\"),fogColor:p.getUniformLocation(l,\"fogColor\"),alphaTest:p.getUniformLocation(l,\"alphaTest\")};var n=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");n.width=8,n.height=8;var i=n.getContext(\"2d\");i.fillStyle=\"white\",i.fillRect(0,0,8,8),h=new o(n),h.needsUpdate=!0}function r(){var t=p.createProgram(),n=p.createShader(p.VERTEX_SHADER),r=p.createShader(p.FRAGMENT_SHADER);return p.shaderSource(n,[\"precision \"+e.getPrecision()+\" float;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform float rotation;\",\"uniform vec2 scale;\",\"uniform vec2 uvOffset;\",\"uniform vec2 uvScale;\",\"attribute vec2 position;\",\"attribute vec2 uv;\",\"varying vec2 vUV;\",\"void main() {\",\"vUV = uvOffset + uv * uvScale;\",\"vec2 alignedPosition = position * scale;\",\"vec2 rotatedPosition;\",\"rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\",\"rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\",\"vec4 finalPosition;\",\"finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\",\"finalPosition.xy += rotatedPosition;\",\"finalPosition = projectionMatrix * finalPosition;\",\"gl_Position = finalPosition;\",\"}\"].join(\"\\n\")),p.shaderSource(r,[\"precision \"+e.getPrecision()+\" float;\",\"uniform vec3 color;\",\"uniform sampler2D map;\",\"uniform float opacity;\",\"uniform int fogType;\",\"uniform vec3 fogColor;\",\"uniform float fogDensity;\",\"uniform float fogNear;\",\"uniform float fogFar;\",\"uniform float alphaTest;\",\"varying vec2 vUV;\",\"void main() {\",\"vec4 texture = texture2D( map, vUV );\",\"if ( texture.a < alphaTest ) discard;\",\"gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\",\"if ( fogType > 0 ) {\",\"float depth = gl_FragCoord.z / gl_FragCoord.w;\",\"float fogFactor = 0.0;\",\"if ( fogType == 1 ) {\",\"fogFactor = smoothstep( fogNear, fogFar, depth );\",\"} else {\",\"const float LOG2 = 1.442695;\",\"fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\",\"fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\",\"}\",\"gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\",\"}\",\"}\"].join(\"\\n\")),p.compileShader(n),p.compileShader(r),p.attachShader(t,n),p.attachShader(t,r),p.linkProgram(t),t}function i(e,t){return e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:t.id-e.id}var a,s,l,d,f,h,p=e.context,m=e.state,g=new c,v=new u,y=new c;this.render=function(r,o){if(0!==t.length){void 0===l&&n(),p.useProgram(l),m.initAttributes(),m.enableAttribute(d.position),m.enableAttribute(d.uv),m.disableUnusedAttributes(),m.disable(p.CULL_FACE),m.enable(p.BLEND),p.bindBuffer(p.ARRAY_BUFFER,a),p.vertexAttribPointer(d.position,2,p.FLOAT,!1,16,0),p.vertexAttribPointer(d.uv,2,p.FLOAT,!1,16,8),p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,s),p.uniformMatrix4fv(f.projectionMatrix,!1,o.projectionMatrix.elements),m.activeTexture(p.TEXTURE0),p.uniform1i(f.map,0);var u=0,c=0,b=r.fog;b?(p.uniform3f(f.fogColor,b.color.r,b.color.g,b.color.b),b.isFog?(p.uniform1f(f.fogNear,b.near),p.uniform1f(f.fogFar,b.far),p.uniform1i(f.fogType,1),u=1,c=1):b.isFogExp2&&(p.uniform1f(f.fogDensity,b.density),p.uniform1i(f.fogType,2),u=2,c=2)):(p.uniform1i(f.fogType,0),u=0,c=0);for(var x=0,_=t.length;x<_;x++){var w=t[x];w.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,w.matrixWorld),w.z=-w.modelViewMatrix.elements[14]}t.sort(i);for(var M=[],x=0,_=t.length;x<_;x++){var w=t[x],S=w.material;if(!1!==S.visible){p.uniform1f(f.alphaTest,S.alphaTest),p.uniformMatrix4fv(f.modelViewMatrix,!1,w.modelViewMatrix.elements),w.matrixWorld.decompose(g,v,y),M[0]=y.x,M[1]=y.y;var E=0;r.fog&&S.fog&&(E=c),u!==E&&(p.uniform1i(f.fogType,E),u=E),null!==S.map?(p.uniform2f(f.uvOffset,S.map.offset.x,S.map.offset.y),p.uniform2f(f.uvScale,S.map.repeat.x,S.map.repeat.y)):(p.uniform2f(f.uvOffset,0,0),p.uniform2f(f.uvScale,1,1)),p.uniform1f(f.opacity,S.opacity),p.uniform3f(f.color,S.color.r,S.color.g,S.color.b),p.uniform1f(f.rotation,S.rotation),p.uniform2fv(f.scale,M),m.setBlending(S.blending,S.blendEquation,S.blendSrc,S.blendDst),m.setDepthTest(S.depthTest),m.setDepthWrite(S.depthWrite),S.map?e.setTexture2D(S.map,0):e.setTexture2D(h,0),p.drawElements(p.TRIANGLES,6,p.UNSIGNED_SHORT,0)}}m.enable(p.CULL_FACE),e.resetGLState()}}}function $(){Object.defineProperty(this,\"id\",{value:Es++}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"Material\",this.fog=!0,this.lights=!0,this.blending=go,this.side=ao,this.shading=co,this.vertexColors=fo,this.opacity=1,this.transparent=!1,this.blendSrc=Co,this.blendDst=Ao,this.blendEquation=_o,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=jo,this.depthTest=!0,this.depthWrite=!0,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.alphaTest=0,this.premultipliedAlpha=!1,this.overdraw=0,this.visible=!0,this._needsUpdate=!0}function Q(e){$.call(this),this.type=\"ShaderMaterial\",this.defines={},this.uniforms={},this.vertexShader=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",this.fragmentShader=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,void 0!==e&&(void 0!==e.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\"),this.setValues(e))}function ee(e){$.call(this),this.type=\"MeshDepthMaterial\",this.depthPacking=ds,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(e)}function te(e,t){this.min=void 0!==e?e:new c(1/0,1/0,1/0),this.max=void 0!==t?t:new c(-1/0,-1/0,-1/0)}function ne(e,t){this.center=void 0!==e?e:new c,this.radius=void 0!==t?t:0}function re(){this.elements=new Float32Array([1,0,0,0,1,0,0,0,1]),arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}function ie(e,t){this.normal=void 0!==e?e:new c(1,0,0),this.constant=void 0!==t?t:0}function oe(e,t,n,r,i,o){this.planes=[void 0!==e?e:new ie,void 0!==t?t:new ie,void 0!==n?n:new ie,void 0!==r?r:new ie,void 0!==i?i:new ie,void 0!==o?o:new ie]}function ae(e,t,n,r){function o(t,n,r,i){var o=t.geometry,a=null,s=S,l=t.customDepthMaterial;if(r&&(s=E,l=t.customDistanceMaterial),l)a=l;else{var u=!1;n.morphTargets&&(o&&o.isBufferGeometry?u=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(u=o.morphTargets&&o.morphTargets.length>0));var c=t.isSkinnedMesh&&n.skinning,d=0;u&&(d|=_),c&&(d|=w),a=s[d]}if(e.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){var f=a.uuid,h=n.uuid,p=T[f];void 0===p&&(p={},T[f]=p);var m=p[h];void 0===m&&(m=a.clone(),p[h]=m),a=m}a.visible=n.visible,a.wireframe=n.wireframe;var g=n.side;return B.renderSingleSided&&g==lo&&(g=ao),B.renderReverseSided&&(g===ao?g=so:g===so&&(g=ao)),a.side=g,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,r&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(i),a}function l(e,t,n){if(!1!==e.visible){if(0!=(e.layers.mask&t.layers.mask)&&(e.isMesh||e.isLine||e.isPoints)&&e.castShadow&&(!1===e.frustumCulled||!0===h.intersectsObject(e))){!0===e.material.visible&&(e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),x.push(e))}for(var r=e.children,i=0,o=r.length;in&&(n=e[t]);return n}function ke(){return ks++}function Oe(){Object.defineProperty(this,\"id\",{value:ke()}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"Geometry\",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function Pe(){Object.defineProperty(this,\"id\",{value:ke()}),this.uuid=hs.generateUUID(),this.name=\"\",this.type=\"BufferGeometry\",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0}}function Ce(e,t){ce.call(this),this.type=\"Mesh\",this.geometry=void 0!==e?e:new Pe,this.material=void 0!==t?t:new pe({color:16777215*Math.random()}),this.drawMode=es,this.updateMorphTargets()}function Ae(e,t,n,r,i,o){Oe.call(this),this.type=\"BoxGeometry\",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:o},this.fromBufferGeometry(new Re(e,t,n,r,i,o)),this.mergeVertices()}function Re(e,t,n,r,i,o){function a(e,t,n,r,i,o,a,m,g,v,y){var b,x,_=o/g,w=a/v,M=o/2,S=a/2,E=m/2,T=g+1,k=v+1,O=0,P=0,C=new c;for(x=0;x0?1:-1,d.push(C.x,C.y,C.z),f.push(b/g),f.push(1-x/v),O+=1}}for(x=0;x\");return $e(n)}var n=/#include +<([\\w\\d.]+)>/g;return e.replace(n,t)}function Qe(e){function t(e,t,n,r){for(var i=\"\",o=parseInt(t);o0?e.gammaFactor:1,g=qe(o,r,e.extensions),v=Xe(a),y=i.createProgram();n.isRawShaderMaterial?(h=[v,\"\\n\"].filter(Ke).join(\"\\n\"),p=[g,v,\"\\n\"].filter(Ke).join(\"\\n\")):(h=[\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+n.__webglShader.name,v,r.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define GAMMA_FACTOR \"+m,\"#define MAX_BONES \"+r.maxBones,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+d:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.displacementMap&&r.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.skinning?\"#define USE_SKINNING\":\"\",r.useVertexTexture?\"#define BONE_TEXTURE\":\"\",r.morphTargets?\"#define USE_MORPHTARGETS\":\"\",r.morphNormals&&!1===r.flatShading?\"#define USE_MORPHNORMALS\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&e.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_COLOR\",\"\\tattribute vec3 color;\",\"#endif\",\"#ifdef USE_MORPHTARGETS\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(Ke).join(\"\\n\"),p=[g,\"precision \"+r.precision+\" float;\",\"precision \"+r.precision+\" int;\",\"#define SHADER_NAME \"+n.__webglShader.name,v,r.alphaTest?\"#define ALPHATEST \"+r.alphaTest:\"\",\"#define GAMMA_FACTOR \"+m,r.useFog&&r.fog?\"#define USE_FOG\":\"\",r.useFog&&r.fogExp?\"#define FOG_EXP2\":\"\",r.map?\"#define USE_MAP\":\"\",r.envMap?\"#define USE_ENVMAP\":\"\",r.envMap?\"#define \"+c:\"\",r.envMap?\"#define \"+d:\"\",r.envMap?\"#define \"+f:\"\",r.lightMap?\"#define USE_LIGHTMAP\":\"\",r.aoMap?\"#define USE_AOMAP\":\"\",r.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",r.bumpMap?\"#define USE_BUMPMAP\":\"\",r.normalMap?\"#define USE_NORMALMAP\":\"\",r.specularMap?\"#define USE_SPECULARMAP\":\"\",r.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",r.metalnessMap?\"#define USE_METALNESSMAP\":\"\",r.alphaMap?\"#define USE_ALPHAMAP\":\"\",r.vertexColors?\"#define USE_COLOR\":\"\",r.gradientMap?\"#define USE_GRADIENTMAP\":\"\",r.flatShading?\"#define FLAT_SHADED\":\"\",r.doubleSided?\"#define DOUBLE_SIDED\":\"\",r.flipSided?\"#define FLIP_SIDED\":\"\",\"#define NUM_CLIPPING_PLANES \"+r.numClippingPlanes,\"#define UNION_CLIPPING_PLANES \"+(r.numClippingPlanes-r.numClipIntersection),r.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",r.shadowMapEnabled?\"#define \"+u:\"\",r.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",r.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",r.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",r.logarithmicDepthBuffer&&e.extensions.get(\"EXT_frag_depth\")?\"#define USE_LOGDEPTHBUF_EXT\":\"\",r.envMap&&e.extensions.get(\"EXT_shader_texture_lod\")?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",r.toneMapping!==Xo?\"#define TONE_MAPPING\":\"\",r.toneMapping!==Xo?_s.tonemapping_pars_fragment:\"\",r.toneMapping!==Xo?Ye(\"toneMapping\",r.toneMapping):\"\",r.outputEncoding||r.mapEncoding||r.envMapEncoding||r.emissiveMapEncoding?_s.encodings_pars_fragment:\"\",r.mapEncoding?Ve(\"mapTexelToLinear\",r.mapEncoding):\"\",r.envMapEncoding?Ve(\"envMapTexelToLinear\",r.envMapEncoding):\"\",r.emissiveMapEncoding?Ve(\"emissiveMapTexelToLinear\",r.emissiveMapEncoding):\"\",r.outputEncoding?He(\"linearToOutputTexel\",r.outputEncoding):\"\",r.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(Ke).join(\"\\n\")),s=$e(s,r),s=Je(s,r),l=$e(l,r),l=Je(l,r),n.isShaderMaterial||(s=Qe(s),l=Qe(l));var b=h+s,x=p+l,_=We(i,i.VERTEX_SHADER,b),w=We(i,i.FRAGMENT_SHADER,x);i.attachShader(y,_),i.attachShader(y,w),void 0!==n.index0AttributeName?i.bindAttribLocation(y,0,n.index0AttributeName):!0===r.morphTargets&&i.bindAttribLocation(y,0,\"position\"),i.linkProgram(y);var M=i.getProgramInfoLog(y),S=i.getShaderInfoLog(_),E=i.getShaderInfoLog(w),T=!0,k=!0;!1===i.getProgramParameter(y,i.LINK_STATUS)?(T=!1,console.error(\"THREE.WebGLProgram: shader error: \",i.getError(),\"gl.VALIDATE_STATUS\",i.getProgramParameter(y,i.VALIDATE_STATUS),\"gl.getProgramInfoLog\",M,S,E)):\"\"!==M?console.warn(\"THREE.WebGLProgram: gl.getProgramInfoLog()\",M):\"\"!==S&&\"\"!==E||(k=!1),k&&(this.diagnostics={runnable:T,material:n,programLog:M,vertexShader:{log:S,prefix:h},fragmentShader:{log:E,prefix:p}}),i.deleteShader(_),i.deleteShader(w);var O;this.getUniforms=function(){return void 0===O&&(O=new Y(i,y,e)),O};var P;return this.getAttributes=function(){return void 0===P&&(P=Ze(i,y)),P},this.destroy=function(){i.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn(\"THREE.WebGLProgram: .uniforms is now .getUniforms().\"),this.getUniforms()}},attributes:{get:function(){return console.warn(\"THREE.WebGLProgram: .attributes is now .getAttributes().\"),this.getAttributes()}}}),this.id=Os++,this.code=t,this.usedTimes=1,this.program=y,this.vertexShader=_,this.fragmentShader=w,this}function tt(e,t){function n(e){if(t.floatVertexTextures&&e&&e.skeleton&&e.skeleton.useVertexTexture)return 1024;var n=t.maxVertexUniforms,r=Math.floor((n-20)/4),i=r;return void 0!==e&&e&&e.isSkinnedMesh&&(i=Math.min(e.skeleton.bones.length,i))0,shadowMapType:e.shadowMap.type,toneMapping:e.toneMapping,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,alphaTest:i.alphaTest,doubleSided:i.side===lo,flipSided:i.side===so,depthPacking:void 0!==i.depthPacking&&i.depthPacking}},this.getProgramCode=function(e,t){var n=[];if(t.shaderID?n.push(t.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(var r in e.defines)n.push(r),n.push(e.defines[r]);for(var i=0;i65535?we:xe)(o,1);return i(p,e.ELEMENT_ARRAY_BUFFER),r.wireframe=p,p}var c=new nt(e,t,n);return{getAttributeBuffer:s,getAttributeProperties:l,getWireframeAttribute:u,update:r}}function it(e,t,n,r,i,o,a){function s(e,t){if(e.width>t||e.height>t){var n=t/Math.max(e.width,e.height),r=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");r.width=Math.floor(e.width*n),r.height=Math.floor(e.height*n);return r.getContext(\"2d\").drawImage(e,0,0,e.width,e.height,0,0,r.width,r.height),console.warn(\"THREE.WebGLRenderer: image is too big (\"+e.width+\"x\"+e.height+\"). Resized to \"+r.width+\"x\"+r.height,e),r}return e}function l(e){return hs.isPowerOfTwo(e.width)&&hs.isPowerOfTwo(e.height)}function u(e){if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement){var t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");t.width=hs.nearestPowerOfTwo(e.width),t.height=hs.nearestPowerOfTwo(e.height);return t.getContext(\"2d\").drawImage(e,0,0,t.width,t.height),console.warn(\"THREE.WebGLRenderer: image is not power of two (\"+e.width+\"x\"+e.height+\"). Resized to \"+t.width+\"x\"+t.height,e),t}return e}function c(e){return e.wrapS!==la||e.wrapT!==la||e.minFilter!==ca&&e.minFilter!==ha}function d(t){return t===ca||t===da||t===fa?e.NEAREST:e.LINEAR}function f(e){var t=e.target;t.removeEventListener(\"dispose\",f),p(t),k.textures--}function h(e){var t=e.target;t.removeEventListener(\"dispose\",h),m(t),k.textures--}function p(t){var n=r.get(t);if(t.image&&n.__image__webglTextureCube)e.deleteTexture(n.__image__webglTextureCube);else{if(void 0===n.__webglInit)return;e.deleteTexture(n.__webglTexture)}r.delete(t)}function m(t){var n=r.get(t),i=r.get(t.texture);if(t){if(void 0!==i.__webglTexture&&e.deleteTexture(i.__webglTexture),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLRenderTargetCube)for(var o=0;o<6;o++)e.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer[o]);else e.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer);r.delete(t.texture),r.delete(t)}}function g(t,i){var o=r.get(t);if(t.version>0&&o.__version!==t.version){var a=t.image;if(void 0===a)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\",t);else{if(!1!==a.complete)return void x(o,t,i);console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\",t)}}n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_2D,o.__webglTexture)}function v(t,a){var u=r.get(t);if(6===t.image.length)if(t.version>0&&u.__version!==t.version){u.__image__webglTextureCube||(t.addEventListener(\"dispose\",f),u.__image__webglTextureCube=e.createTexture(),k.textures++),n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_CUBE_MAP,u.__image__webglTextureCube),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY);for(var c=t&&t.isCompressedTexture,d=t.image[0]&&t.image[0].isDataTexture,h=[],p=0;p<6;p++)h[p]=c||d?d?t.image[p].image:t.image[p]:s(t.image[p],i.maxCubemapSize);var m=h[0],g=l(m),v=o(t.format),y=o(t.type);b(e.TEXTURE_CUBE_MAP,t,g);for(var p=0;p<6;p++)if(c)for(var x,_=h[p].mipmaps,w=0,M=_.length;w-1?n.compressedTexImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,w,v,x.width,x.height,0,x.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,w,v,x.width,x.height,0,v,y,x.data);else d?n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,h[p].width,h[p].height,0,v,y,h[p].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,0,v,v,y,h[p]);t.generateMipmaps&&g&&e.generateMipmap(e.TEXTURE_CUBE_MAP),u.__version=t.version,t.onUpdate&&t.onUpdate(t)}else n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_CUBE_MAP,u.__image__webglTextureCube)}function y(t,i){n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_CUBE_MAP,r.get(t).__webglTexture)}function b(n,a,s){var l;if(s?(e.texParameteri(n,e.TEXTURE_WRAP_S,o(a.wrapS)),e.texParameteri(n,e.TEXTURE_WRAP_T,o(a.wrapT)),e.texParameteri(n,e.TEXTURE_MAG_FILTER,o(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,o(a.minFilter))):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),a.wrapS===la&&a.wrapT===la||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\",a),e.texParameteri(n,e.TEXTURE_MAG_FILTER,d(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,d(a.minFilter)),a.minFilter!==ca&&a.minFilter!==ha&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\",a)),l=t.get(\"EXT_texture_filter_anisotropic\")){if(a.type===wa&&null===t.get(\"OES_texture_float_linear\"))return;if(a.type===Ma&&null===t.get(\"OES_texture_half_float_linear\"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(e.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function x(t,r,a){void 0===t.__webglInit&&(t.__webglInit=!0,r.addEventListener(\"dispose\",f),t.__webglTexture=e.createTexture(),k.textures++),n.activeTexture(e.TEXTURE0+a),n.bindTexture(e.TEXTURE_2D,t.__webglTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment);var d=s(r.image,i.maxTextureSize);c(r)&&!1===l(d)&&(d=u(d));var h=l(d),p=o(r.format),m=o(r.type);b(e.TEXTURE_2D,r,h);var g,v=r.mipmaps;if(r.isDepthTexture){var y=e.DEPTH_COMPONENT;if(r.type===wa){if(!O)throw new Error(\"Float Depth Texture only supported in WebGL2.0\");y=e.DEPTH_COMPONENT32F}else O&&(y=e.DEPTH_COMPONENT16);r.format===Ia&&y===e.DEPTH_COMPONENT&&r.type!==ba&&r.type!==_a&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\"),r.type=ba,m=o(r.type)),r.format===Da&&(y=e.DEPTH_STENCIL,r.type!==ka&&(console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\"),r.type=ka,m=o(r.type))),n.texImage2D(e.TEXTURE_2D,0,y,d.width,d.height,0,p,m,null)}else if(r.isDataTexture)if(v.length>0&&h){for(var x=0,_=v.length;x<_;x++)g=v[x],n.texImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,p,d.width,d.height,0,p,m,d.data);else if(r.isCompressedTexture)for(var x=0,_=v.length;x<_;x++)g=v[x],r.format!==Ca&&r.format!==Pa?n.getCompressedTextureFormats().indexOf(p)>-1?n.compressedTexImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,g.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):n.texImage2D(e.TEXTURE_2D,x,p,g.width,g.height,0,p,m,g.data);else if(v.length>0&&h){for(var x=0,_=v.length;x<_;x++)g=v[x],n.texImage2D(e.TEXTURE_2D,x,p,p,m,g);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,p,p,m,d);r.generateMipmaps&&h&&e.generateMipmap(e.TEXTURE_2D),t.__version=r.version,r.onUpdate&&r.onUpdate(r)}function _(t,i,a,s){var l=o(i.texture.format),u=o(i.texture.type);n.texImage2D(s,0,l,i.width,i.height,0,l,u,null),e.bindFramebuffer(e.FRAMEBUFFER,t),e.framebufferTexture2D(e.FRAMEBUFFER,a,s,r.get(i.texture).__webglTexture,0),e.bindFramebuffer(e.FRAMEBUFFER,null)}function w(t,n){e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)):n.depthBuffer&&n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)):e.renderbufferStorage(e.RENDERBUFFER,e.RGBA4,n.width,n.height),e.bindRenderbuffer(e.RENDERBUFFER,null)}function M(t,n){if(n&&n.isWebGLRenderTargetCube)throw new Error(\"Depth Texture with cube render targets is not supported!\");if(e.bindFramebuffer(e.FRAMEBUFFER,t),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");r.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),g(n.depthTexture,0);var i=r.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===Ia)e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,i,0);else{if(n.depthTexture.format!==Da)throw new Error(\"Unknown depthTexture format\");e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,i,0)}}function S(t){var n=r.get(t),i=!0===t.isWebGLRenderTargetCube;if(t.depthTexture){if(i)throw new Error(\"target.depthTexture not supported in Cube render targets\");M(n.__webglFramebuffer,t)}else if(i){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=e.createRenderbuffer(),w(n.__webglDepthbuffer[o],t)}else e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer),n.__webglDepthbuffer=e.createRenderbuffer(),w(n.__webglDepthbuffer,t);e.bindFramebuffer(e.FRAMEBUFFER,null)}function E(t){var i=r.get(t),o=r.get(t.texture);t.addEventListener(\"dispose\",h),o.__webglTexture=e.createTexture(),k.textures++;var a=!0===t.isWebGLRenderTargetCube,s=l(t);if(a){i.__webglFramebuffer=[];for(var u=0;u<6;u++)i.__webglFramebuffer[u]=e.createFramebuffer()}else i.__webglFramebuffer=e.createFramebuffer();if(a){n.bindTexture(e.TEXTURE_CUBE_MAP,o.__webglTexture),b(e.TEXTURE_CUBE_MAP,t.texture,s);for(var u=0;u<6;u++)_(i.__webglFramebuffer[u],t,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+u);t.texture.generateMipmaps&&s&&e.generateMipmap(e.TEXTURE_CUBE_MAP),n.bindTexture(e.TEXTURE_CUBE_MAP,null)}else n.bindTexture(e.TEXTURE_2D,o.__webglTexture),b(e.TEXTURE_2D,t.texture,s),_(i.__webglFramebuffer,t,e.COLOR_ATTACHMENT0,e.TEXTURE_2D),t.texture.generateMipmaps&&s&&e.generateMipmap(e.TEXTURE_2D),n.bindTexture(e.TEXTURE_2D,null);t.depthBuffer&&S(t)}function T(t){var i=t.texture;if(i.generateMipmaps&&l(t)&&i.minFilter!==ca&&i.minFilter!==ha){var o=t&&t.isWebGLRenderTargetCube?e.TEXTURE_CUBE_MAP:e.TEXTURE_2D,a=r.get(i).__webglTexture;n.bindTexture(o,a),e.generateMipmap(o),n.bindTexture(o,null)}}var k=a.memory,O=\"undefined\"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext;this.setTexture2D=g,this.setTextureCube=v,this.setTextureCubeDynamic=y,this.setupRenderTarget=E,this.updateRenderTargetMipmap=T}function ot(){var e={};return{get:function(t){var n=t.uuid,r=e[n];return void 0===r&&(r={},e[n]=r),r},delete:function(t){delete e[t.uuid]},clear:function(){e={}}}}function at(e,t,n){function r(){var t=!1,n=new a,r=null,i=new a;return{setMask:function(n){r===n||t||(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,o,a,s){!0===s&&(t*=a,r*=a,o*=a),n.set(t,r,o,a),!1===i.equals(n)&&(e.clearColor(t,r,o,a),i.copy(n))},reset:function(){t=!1,r=null,i.set(0,0,0,1)}}}function i(){var t=!1,n=null,r=null,i=null;return{setTest:function(t){t?h(e.DEPTH_TEST):p(e.DEPTH_TEST)},setMask:function(r){n===r||t||(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){if(t)switch(t){case zo:e.depthFunc(e.NEVER);break;case Bo:e.depthFunc(e.ALWAYS);break;case Fo:e.depthFunc(e.LESS);break;case jo:e.depthFunc(e.LEQUAL);break;case Uo:e.depthFunc(e.EQUAL);break;case Wo:e.depthFunc(e.GEQUAL);break;case Go:e.depthFunc(e.GREATER);break;case Vo:e.depthFunc(e.NOTEQUAL);break;default:e.depthFunc(e.LEQUAL)}else e.depthFunc(e.LEQUAL);r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}}function o(){var t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,u=null;return{setTest:function(t){t?h(e.STENCIL_TEST):p(e.STENCIL_TEST)},setMask:function(r){n===r||t||(e.stencilMask(r),n=r)},setFunc:function(t,n,a){r===t&&i===n&&o===a||(e.stencilFunc(t,n,a),r=t,i=n,o=a)},setOp:function(t,n,r){a===t&&s===n&&l===r||(e.stencilOp(t,n,r),a=t,s=n,l=r)},setLocked:function(e){t=e},setClear:function(t){u!==t&&(e.clearStencil(t),u=t)},reset:function(){t=!1,n=null,r=null,i=null,o=null,a=null,s=null,l=null,u=null}}}function s(t,n,r){var i=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(var a=0;a=1,ce=null,de={},fe=new a,he=new a,pe={};return pe[e.TEXTURE_2D]=s(e.TEXTURE_2D,e.TEXTURE_2D,1),pe[e.TEXTURE_CUBE_MAP]=s(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),{buffers:{color:B,depth:F,stencil:j},init:l,initAttributes:u,enableAttribute:c,enableAttributeAndDivisor:d,disableUnusedAttributes:f,enable:h,disable:p,getCompressedTextureFormats:m,setBlending:g,setColorWrite:v,setDepthTest:y,setDepthWrite:b,setDepthFunc:x,setStencilTest:_,setStencilWrite:w,setStencilFunc:M,setStencilOp:S,setFlipSided:E,setCullFace:T,setLineWidth:k,setPolygonOffset:O,getScissorTest:P,setScissorTest:C,activeTexture:A,bindTexture:R,compressedTexImage2D:L,texImage2D:I,scissor:D,viewport:N,reset:z}}function st(e,t,n){function r(){if(void 0!==o)return o;var n=t.get(\"EXT_texture_filter_anisotropic\");return o=null!==n?e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function i(t){if(\"highp\"===t){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?\"mediump\":\"lowp\"}var o,a=void 0!==n.precision?n.precision:\"highp\",s=i(a);s!==a&&(console.warn(\"THREE.WebGLRenderer:\",a,\"not supported, using\",s,\"instead.\"),a=s);var l=!0===n.logarithmicDepthBuffer&&!!t.get(\"EXT_frag_depth\"),u=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),c=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),d=e.getParameter(e.MAX_TEXTURE_SIZE),f=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),h=e.getParameter(e.MAX_VERTEX_ATTRIBS),p=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),g=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),v=c>0,y=!!t.get(\"OES_texture_float\");return{getMaxAnisotropy:r,getMaxPrecision:i,precision:a,logarithmicDepthBuffer:l,maxTextures:u,maxVertexTextures:c,maxTextureSize:d,maxCubemapSize:f,maxAttributes:h,maxVertexUniforms:p,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:v&&y}}function lt(e){var t={};return{get:function(n){if(void 0!==t[n])return t[n];var r;switch(n){case\"WEBGL_depth_texture\":r=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;case\"WEBGL_compressed_texture_etc1\":r=e.getExtension(\"WEBGL_compressed_texture_etc1\");break;default:r=e.getExtension(n)}return null===r&&console.warn(\"THREE.WebGLRenderer: \"+n+\" extension not supported.\"),t[n]=r,r}}}function ut(){function e(){u.value!==r&&(u.value=r,u.needsUpdate=i>0),n.numPlanes=i,n.numIntersection=0}function t(e,t,r,i){var o=null!==e?e.length:0,a=null;if(0!==o){if(a=u.value,!0!==i||null===a){var c=r+4*o,d=t.matrixWorldInverse;l.getNormalMatrix(d),(null===a||a.length=0){var c=o[l];if(void 0!==c){var d=c.normalized,f=c.itemSize,h=dt.getAttributeProperties(c),p=h.__webglBuffer,m=h.type,g=h.bytesPerElement;if(c.isInterleavedBufferAttribute){var v=c.data,y=v.stride,b=c.offset;v&&v.isInstancedInterleavedBuffer?(et.enableAttributeAndDivisor(u,v.meshPerAttribute,i),void 0===n.maxInstancedCount&&(n.maxInstancedCount=v.meshPerAttribute*v.count)):et.enableAttribute(u),Ke.bindBuffer(Ke.ARRAY_BUFFER,p),Ke.vertexAttribPointer(u,f,m,d,y*g,(r*y+b)*g)}else c.isInstancedBufferAttribute?(et.enableAttributeAndDivisor(u,c.meshPerAttribute,i),void 0===n.maxInstancedCount&&(n.maxInstancedCount=c.meshPerAttribute*c.count)):et.enableAttribute(u),Ke.bindBuffer(Ke.ARRAY_BUFFER,p),Ke.vertexAttribPointer(u,f,m,d,0,r*f*g)}else if(void 0!==s){var x=s[l];if(void 0!==x)switch(x.length){case 2:Ke.vertexAttrib2fv(u,x);break;case 3:Ke.vertexAttrib3fv(u,x);break;case 4:Ke.vertexAttrib4fv(u,x);break;default:Ke.vertexAttrib1fv(u,x)}}}}et.disableUnusedAttributes()}function f(e,t){return Math.abs(t[0])-Math.abs(e[0])}function h(e,t){return e.object.renderOrder!==t.object.renderOrder?e.object.renderOrder-t.object.renderOrder:e.material.program&&t.material.program&&e.material.program!==t.material.program?e.material.program.id-t.material.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function p(e,t){return e.object.renderOrder!==t.object.renderOrder?e.object.renderOrder-t.object.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function m(e,t,n,r,i){var o,a;n.transparent?(o=re,a=++ie):(o=ee,a=++te);var s=o[a];void 0!==s?(s.id=e.id,s.object=e,s.geometry=t,s.material=n,s.z=He.z,s.group=i):(s={id:e.id,object:e,geometry:t,material:n,z:He.z,group:i},o.push(s))}function g(e){var t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),Ge.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),y(Ge)}function v(e){return Ge.center.set(0,0,0),Ge.radius=.7071067811865476,Ge.applyMatrix4(e.matrixWorld),y(Ge)}function y(e){if(!Le.intersectsSphere(e))return!1;var t=De.numPlanes;if(0===t)return!0;var n=ce.clippingPlanes,r=e.center,i=-e.radius,o=0;do{if(n[o].distanceToPoint(r)=0&&e.numSupportedMorphTargets++}if(e.morphNormals){e.numSupportedMorphNormals=0;for(var f=0;f=0&&e.numSupportedMorphNormals++}var h=r.__webglShader.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(r.numClippingPlanes=De.numPlanes,r.numIntersection=De.numIntersection,h.clippingPlanes=De.uniform),r.fog=t,r.lightsHash=Xe.hash,e.lights&&(h.ambientLightColor.value=Xe.ambient,h.directionalLights.value=Xe.directional,h.spotLights.value=Xe.spot,h.rectAreaLights.value=Xe.rectArea,h.pointLights.value=Xe.point,h.hemisphereLights.value=Xe.hemi,h.directionalShadowMap.value=Xe.directionalShadowMap,h.directionalShadowMatrix.value=Xe.directionalShadowMatrix,h.spotShadowMap.value=Xe.spotShadowMap,h.spotShadowMatrix.value=Xe.spotShadowMatrix,h.pointShadowMap.value=Xe.pointShadowMap,h.pointShadowMatrix.value=Xe.pointShadowMatrix);var p=r.program.getUniforms(),m=Y.seqWithValue(p.seq,h);r.uniformsList=m}function w(e){e.side===lo?et.disable(Ke.CULL_FACE):et.enable(Ke.CULL_FACE),et.setFlipSided(e.side===so),!0===e.transparent?et.setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha):et.setBlending(mo),et.setDepthFunc(e.depthFunc),et.setDepthTest(e.depthTest),et.setDepthWrite(e.depthWrite),et.setColorWrite(e.colorWrite),et.setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits)}function M(e,t,n,r){_e=0;var i=nt.get(n);if(Ue&&(We||e!==ve)){var o=e===ve&&n.id===me;De.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,e,i,o)}!1===n.needsUpdate&&(void 0===i.program?n.needsUpdate=!0:n.fog&&i.fog!==t?n.needsUpdate=!0:n.lights&&i.lightsHash!==Xe.hash?n.needsUpdate=!0:void 0===i.numClippingPlanes||i.numClippingPlanes===De.numPlanes&&i.numIntersection===De.numIntersection||(n.needsUpdate=!0)),n.needsUpdate&&(_(n,t,r),n.needsUpdate=!1);var a=!1,s=!1,l=!1,u=i.program,c=u.getUniforms(),d=i.__webglShader.uniforms;if(u.id!==de&&(Ke.useProgram(u.program),de=u.id,a=!0,s=!0,l=!0),n.id!==me&&(me=n.id,s=!0),a||e!==ve){if(c.set(Ke,e,\"projectionMatrix\"),Qe.logarithmicDepthBuffer&&c.setValue(Ke,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2)),e!==ve&&(ve=e,s=!0,l=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var f=c.map.cameraPosition;void 0!==f&&f.setValue(Ke,He.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&c.setValue(Ke,\"viewMatrix\",e.matrixWorldInverse),c.set(Ke,ce,\"toneMappingExposure\"),c.set(Ke,ce,\"toneMappingWhitePoint\")}if(n.skinning){c.setOptional(Ke,r,\"bindMatrix\"),c.setOptional(Ke,r,\"bindMatrixInverse\");var h=r.skeleton;h&&(Qe.floatVertexTextures&&h.useVertexTexture?(c.set(Ke,h,\"boneTexture\"),c.set(Ke,h,\"boneTextureWidth\"),c.set(Ke,h,\"boneTextureHeight\")):c.setOptional(Ke,h,\"boneMatrices\"))}return s&&(n.lights&&D(d,l),t&&n.fog&&O(d,t),(n.isMeshBasicMaterial||n.isMeshLambertMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.isMeshNormalMaterial||n.isMeshDepthMaterial)&&S(d,n),n.isLineBasicMaterial?E(d,n):n.isLineDashedMaterial?(E(d,n),T(d,n)):n.isPointsMaterial?k(d,n):n.isMeshLambertMaterial?P(d,n):n.isMeshToonMaterial?A(d,n):n.isMeshPhongMaterial?C(d,n):n.isMeshPhysicalMaterial?L(d,n):n.isMeshStandardMaterial?R(d,n):n.isMeshDepthMaterial?n.displacementMap&&(d.displacementMap.value=n.displacementMap,d.displacementScale.value=n.displacementScale,d.displacementBias.value=n.displacementBias):n.isMeshNormalMaterial&&I(d,n),void 0!==d.ltcMat&&(d.ltcMat.value=THREE.UniformsLib.LTC_MAT_TEXTURE),void 0!==d.ltcMag&&(d.ltcMag.value=THREE.UniformsLib.LTC_MAG_TEXTURE),Y.upload(Ke,i.uniformsList,d,ce)),c.set(Ke,r,\"modelViewMatrix\"),c.set(Ke,r,\"normalMatrix\"),c.setValue(Ke,\"modelMatrix\",r.matrixWorld),u}function S(e,t){e.opacity.value=t.opacity,e.diffuse.value=t.color,t.emissive&&e.emissive.value.copy(t.emissive).multiplyScalar(t.emissiveIntensity),e.map.value=t.map,e.specularMap.value=t.specularMap,e.alphaMap.value=t.alphaMap,t.lightMap&&(e.lightMap.value=t.lightMap,e.lightMapIntensity.value=t.lightMapIntensity),t.aoMap&&(e.aoMap.value=t.aoMap,e.aoMapIntensity.value=t.aoMapIntensity);var n;if(t.map?n=t.map:t.specularMap?n=t.specularMap:t.displacementMap?n=t.displacementMap:t.normalMap?n=t.normalMap:t.bumpMap?n=t.bumpMap:t.roughnessMap?n=t.roughnessMap:t.metalnessMap?n=t.metalnessMap:t.alphaMap?n=t.alphaMap:t.emissiveMap&&(n=t.emissiveMap),void 0!==n){n.isWebGLRenderTarget&&(n=n.texture);var r=n.offset,i=n.repeat;e.offsetRepeat.value.set(r.x,r.y,i.x,i.y)}e.envMap.value=t.envMap,e.flipEnvMap.value=t.envMap&&t.envMap.isCubeTexture?-1:1,e.reflectivity.value=t.reflectivity,e.refractionRatio.value=t.refractionRatio}function E(e,t){e.diffuse.value=t.color,e.opacity.value=t.opacity}function T(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function k(e,t){if(e.diffuse.value=t.color,e.opacity.value=t.opacity,e.size.value=t.size*Te,e.scale.value=.5*Ee,e.map.value=t.map,null!==t.map){var n=t.map.offset,r=t.map.repeat;e.offsetRepeat.value.set(n.x,n.y,r.x,r.y)}}function O(e,t){e.fogColor.value=t.color,t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)}function P(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function C(e,t){e.specular.value=t.specular,e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function A(e,t){C(e,t),t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function R(e,t){e.roughness.value=t.roughness,e.metalness.value=t.metalness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap),t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function L(e,t){e.clearCoat.value=t.clearCoat,e.clearCoatRoughness.value=t.clearCoatRoughness,R(e,t)}function I(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function D(e,t){e.ambientLightColor.needsUpdate=t,e.directionalLights.needsUpdate=t,e.pointLights.needsUpdate=t,e.spotLights.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function N(e){for(var t=0,n=0,r=e.length;n=Qe.maxTextures&&console.warn(\"WebGLRenderer: trying to use \"+e+\" texture units while this GPU supports only \"+Qe.maxTextures),_e+=1,e}function F(e){var t;if(e===sa)return Ke.REPEAT;if(e===la)return Ke.CLAMP_TO_EDGE;if(e===ua)return Ke.MIRRORED_REPEAT;if(e===ca)return Ke.NEAREST;if(e===da)return Ke.NEAREST_MIPMAP_NEAREST;if(e===fa)return Ke.NEAREST_MIPMAP_LINEAR;if(e===ha)return Ke.LINEAR;if(e===pa)return Ke.LINEAR_MIPMAP_NEAREST;if(e===ma)return Ke.LINEAR_MIPMAP_LINEAR;if(e===ga)return Ke.UNSIGNED_BYTE;if(e===Sa)return Ke.UNSIGNED_SHORT_4_4_4_4;if(e===Ea)return Ke.UNSIGNED_SHORT_5_5_5_1;if(e===Ta)return Ke.UNSIGNED_SHORT_5_6_5;if(e===va)return Ke.BYTE;if(e===ya)return Ke.SHORT;if(e===ba)return Ke.UNSIGNED_SHORT;if(e===xa)return Ke.INT;if(e===_a)return Ke.UNSIGNED_INT;if(e===wa)return Ke.FLOAT;if(e===Ma&&null!==(t=$e.get(\"OES_texture_half_float\")))return t.HALF_FLOAT_OES;if(e===Oa)return Ke.ALPHA;if(e===Pa)return Ke.RGB;if(e===Ca)return Ke.RGBA;if(e===Aa)return Ke.LUMINANCE;if(e===Ra)return Ke.LUMINANCE_ALPHA;if(e===Ia)return Ke.DEPTH_COMPONENT;if(e===Da)return Ke.DEPTH_STENCIL;if(e===_o)return Ke.FUNC_ADD;if(e===wo)return Ke.FUNC_SUBTRACT;if(e===Mo)return Ke.FUNC_REVERSE_SUBTRACT;if(e===To)return Ke.ZERO;if(e===ko)return Ke.ONE;if(e===Oo)return Ke.SRC_COLOR;if(e===Po)return Ke.ONE_MINUS_SRC_COLOR;if(e===Co)return Ke.SRC_ALPHA;if(e===Ao)return Ke.ONE_MINUS_SRC_ALPHA;if(e===Ro)return Ke.DST_ALPHA;if(e===Lo)return Ke.ONE_MINUS_DST_ALPHA;if(e===Io)return Ke.DST_COLOR;if(e===Do)return Ke.ONE_MINUS_DST_COLOR;if(e===No)return Ke.SRC_ALPHA_SATURATE;if((e===Na||e===za||e===Ba||e===Fa)&&null!==(t=$e.get(\"WEBGL_compressed_texture_s3tc\"))){if(e===Na)return t.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===za)return t.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Ba)return t.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===Fa)return t.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((e===ja||e===Ua||e===Wa||e===Ga)&&null!==(t=$e.get(\"WEBGL_compressed_texture_pvrtc\"))){if(e===ja)return t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===Ua)return t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===Wa)return t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===Ga)return t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===Va&&null!==(t=$e.get(\"WEBGL_compressed_texture_etc1\")))return t.COMPRESSED_RGB_ETC1_WEBGL;if((e===So||e===Eo)&&null!==(t=$e.get(\"EXT_blend_minmax\"))){if(e===So)return t.MIN_EXT;if(e===Eo)return t.MAX_EXT}return e===ka&&null!==(t=$e.get(\"WEBGL_depth_texture\"))?t.UNSIGNED_INT_24_8_WEBGL:0}console.log(\"THREE.WebGLRenderer\",Zi),e=e||{};var j=void 0!==e.canvas?e.canvas:document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),U=void 0!==e.context?e.context:null,W=void 0!==e.alpha&&e.alpha,G=void 0===e.depth||e.depth,V=void 0===e.stencil||e.stencil,H=void 0!==e.antialias&&e.antialias,X=void 0===e.premultipliedAlpha||e.premultipliedAlpha,Z=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,$=[],ee=[],te=-1,re=[],ie=-1,se=new Float32Array(8),le=[],ue=[];this.domElement=j,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=Zo,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var ce=this,de=null,fe=null,he=null,me=-1,ge=\"\",ve=null,ye=new a,be=null,xe=new a,_e=0,we=new q(0),Me=0,Se=j.width,Ee=j.height,Te=1,ke=new a(0,0,Se,Ee),Oe=!1,Ae=new a(0,0,Se,Ee),Le=new oe,De=new ut,Ue=!1,We=!1,Ge=new ne,Ve=new d,He=new c,Ye=new d,qe=new d,Xe={hash:\"\",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Ze={calls:0,vertices:0,faces:0,points:0};this.info={render:Ze,memory:{geometries:0,textures:0},programs:null};var Ke;try{var Je={alpha:W,depth:G,stencil:V,antialias:H,premultipliedAlpha:X,preserveDrawingBuffer:Z};if(null===(Ke=U||j.getContext(\"webgl\",Je)||j.getContext(\"experimental-webgl\",Je)))throw null!==j.getContext(\"webgl\")?\"Error creating WebGL context with your selected attributes.\":\"Error creating WebGL context.\";void 0===Ke.getShaderPrecisionFormat&&(Ke.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),j.addEventListener(\"webglcontextlost\",i,!1)}catch(e){console.error(\"THREE.WebGLRenderer: \"+e)}var $e=new lt(Ke);$e.get(\"WEBGL_depth_texture\"),$e.get(\"OES_texture_float\"),$e.get(\"OES_texture_float_linear\"),$e.get(\"OES_texture_half_float\"),$e.get(\"OES_texture_half_float_linear\"),$e.get(\"OES_standard_derivatives\"),$e.get(\"ANGLE_instanced_arrays\"),$e.get(\"OES_element_index_uint\")&&(Pe.MaxIndex=4294967296);var Qe=new st(Ke,$e,e),et=new at(Ke,$e,F),nt=new ot,ct=new it(Ke,$e,et,nt,Qe,F,this.info),dt=new rt(Ke,nt,this.info),ft=new tt(this,Qe),ht=new je;this.info.programs=ft.programs;var pt,mt,gt,vt,yt=new Fe(Ke,$e,Ze),bt=new Be(Ke,$e,Ze);n(),this.context=Ke,this.capabilities=Qe,this.extensions=$e,this.properties=nt,this.state=et;var xt=new ae(this,Xe,dt,Qe);this.shadowMap=xt;var _t=new J(this,le),wt=new K(this,ue);this.getContext=function(){return Ke},this.getContextAttributes=function(){return Ke.getContextAttributes()},this.forceContextLoss=function(){$e.get(\"WEBGL_lose_context\").loseContext()},this.getMaxAnisotropy=function(){return Qe.getMaxAnisotropy()},this.getPrecision=function(){return Qe.precision},this.getPixelRatio=function(){return Te},this.setPixelRatio=function(e){void 0!==e&&(Te=e,this.setSize(Ae.z,Ae.w,!1))},this.getSize=function(){return{width:Se,height:Ee}},this.setSize=function(e,t,n){Se=e,Ee=t,j.width=e*Te,j.height=t*Te,!1!==n&&(j.style.width=e+\"px\",j.style.height=t+\"px\"),this.setViewport(0,0,e,t)},this.setViewport=function(e,t,n,r){et.viewport(Ae.set(e,t,n,r))},this.setScissor=function(e,t,n,r){et.scissor(ke.set(e,t,n,r))},this.setScissorTest=function(e){et.setScissorTest(Oe=e)},this.getClearColor=function(){return we},this.setClearColor=function(e,t){we.set(e),Me=void 0!==t?t:1,et.buffers.color.setClear(we.r,we.g,we.b,Me,X)},this.getClearAlpha=function(){return Me},this.setClearAlpha=function(e){Me=e,et.buffers.color.setClear(we.r,we.g,we.b,Me,X)},this.clear=function(e,t,n){var r=0;(void 0===e||e)&&(r|=Ke.COLOR_BUFFER_BIT),(void 0===t||t)&&(r|=Ke.DEPTH_BUFFER_BIT),(void 0===n||n)&&(r|=Ke.STENCIL_BUFFER_BIT),Ke.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(e,t,n,r){this.setRenderTarget(e),this.clear(t,n,r)},this.resetGLState=r,this.dispose=function(){re=[],ie=-1,ee=[],te=-1,j.removeEventListener(\"webglcontextlost\",i,!1)},this.renderBufferImmediate=function(e,t,n){et.initAttributes();var r=nt.get(e);e.hasPositions&&!r.position&&(r.position=Ke.createBuffer()),e.hasNormals&&!r.normal&&(r.normal=Ke.createBuffer()),e.hasUvs&&!r.uv&&(r.uv=Ke.createBuffer()),e.hasColors&&!r.color&&(r.color=Ke.createBuffer());var i=t.getAttributes();if(e.hasPositions&&(Ke.bindBuffer(Ke.ARRAY_BUFFER,r.position),Ke.bufferData(Ke.ARRAY_BUFFER,e.positionArray,Ke.DYNAMIC_DRAW),et.enableAttribute(i.position),Ke.vertexAttribPointer(i.position,3,Ke.FLOAT,!1,0,0)),e.hasNormals){if(Ke.bindBuffer(Ke.ARRAY_BUFFER,r.normal),!n.isMeshPhongMaterial&&!n.isMeshStandardMaterial&&!n.isMeshNormalMaterial&&n.shading===uo)for(var o=0,a=3*e.count;o8&&(h.length=8);for(var v=r.morphAttributes,p=0,m=h.length;p0&&S.renderInstances(r,C,R):S.render(C,R)}},this.render=function(e,t,n,r){if(void 0!==t&&!0!==t.isCamera)return void console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");ge=\"\",me=-1,ve=null,!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),t.matrixWorldInverse.getInverse(t.matrixWorld),Ve.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),Le.setFromMatrix(Ve),$.length=0,te=-1,ie=-1,le.length=0,ue.length=0,We=this.localClippingEnabled,Ue=De.init(this.clippingPlanes,We,t),b(e,t),ee.length=te+1,re.length=ie+1,!0===ce.sortObjects&&(ee.sort(h),re.sort(p)),Ue&&De.beginShadows(),N($),xt.render(e,t),z($,t),Ue&&De.endShadows(),Ze.calls=0,Ze.vertices=0,Ze.faces=0,Ze.points=0,void 0===n&&(n=null),this.setRenderTarget(n);var i=e.background;if(null===i?et.buffers.color.setClear(we.r,we.g,we.b,Me,X):i&&i.isColor&&(et.buffers.color.setClear(i.r,i.g,i.b,1,X),r=!0),(this.autoClear||r)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil),i&&i.isCubeTexture?(void 0===gt&&(gt=new Ne,vt=new Ce(new Re(5,5,5),new Q({uniforms:Ss.cube.uniforms,vertexShader:Ss.cube.vertexShader,fragmentShader:Ss.cube.fragmentShader,side:so,depthTest:!1,depthWrite:!1,fog:!1}))),gt.projectionMatrix.copy(t.projectionMatrix),gt.matrixWorld.extractRotation(t.matrixWorld),gt.matrixWorldInverse.getInverse(gt.matrixWorld),vt.material.uniforms.tCube.value=i,vt.modelViewMatrix.multiplyMatrices(gt.matrixWorldInverse,vt.matrixWorld),dt.update(vt),ce.renderBufferDirect(gt,null,vt.geometry,vt.material,vt,null)):i&&i.isTexture&&(void 0===pt&&(pt=new ze(-1,1,1,-1,0,1),mt=new Ce(new Ie(2,2),new pe({depthTest:!1,depthWrite:!1,fog:!1}))),mt.material.map=i,dt.update(mt),ce.renderBufferDirect(pt,null,mt.geometry,mt.material,mt,null)),e.overrideMaterial){var o=e.overrideMaterial;x(ee,e,t,o),x(re,e,t,o)}else et.setBlending(mo),x(ee,e,t),x(re,e,t);_t.render(e,t),wt.render(e,t,xe),n&&ct.updateRenderTargetMipmap(n),et.setDepthTest(!0),et.setDepthWrite(!0),et.setColorWrite(!0)},this.setFaceCulling=function(e,t){et.setCullFace(e),et.setFlipSided(t===to)},this.allocTextureUnit=B,this.setTexture2D=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTarget&&(e||(console.warn(\"THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead.\"),e=!0),t=t.texture),ct.setTexture2D(t,n)}}(),this.setTexture=function(){var e=!1;return function(t,n){e||(console.warn(\"THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead.\"),e=!0),ct.setTexture2D(t,n)}}(),this.setTextureCube=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTargetCube&&(e||(console.warn(\"THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead.\"),e=!0),t=t.texture),t&&t.isCubeTexture||Array.isArray(t.image)&&6===t.image.length?ct.setTextureCube(t,n):ct.setTextureCubeDynamic(t,n)}}(),this.getCurrentRenderTarget=function(){return fe},this.setRenderTarget=function(e){fe=e,e&&void 0===nt.get(e).__webglFramebuffer&&ct.setupRenderTarget(e);var t,n=e&&e.isWebGLRenderTargetCube;if(e){var r=nt.get(e);t=n?r.__webglFramebuffer[e.activeCubeFace]:r.__webglFramebuffer,ye.copy(e.scissor),be=e.scissorTest,xe.copy(e.viewport)}else t=null,ye.copy(ke).multiplyScalar(Te),be=Oe,xe.copy(Ae).multiplyScalar(Te);if(he!==t&&(Ke.bindFramebuffer(Ke.FRAMEBUFFER,t),he=t),et.scissor(ye),et.setScissorTest(be),et.viewport(xe),n){var i=nt.get(e.texture);Ke.framebufferTexture2D(Ke.FRAMEBUFFER,Ke.COLOR_ATTACHMENT0,Ke.TEXTURE_CUBE_MAP_POSITIVE_X+e.activeCubeFace,i.__webglTexture,e.activeMipMapLevel)}},this.readRenderTargetPixels=function(e,t,n,r,i,o){if(!1===(e&&e.isWebGLRenderTarget))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");var a=nt.get(e).__webglFramebuffer;if(a){var s=!1;a!==he&&(Ke.bindFramebuffer(Ke.FRAMEBUFFER,a),s=!0);try{var l=e.texture,u=l.format,c=l.type;if(u!==Ca&&F(u)!==Ke.getParameter(Ke.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");if(!(c===ga||F(c)===Ke.getParameter(Ke.IMPLEMENTATION_COLOR_READ_TYPE)||c===wa&&($e.get(\"OES_texture_float\")||$e.get(\"WEBGL_color_buffer_float\"))||c===Ma&&$e.get(\"EXT_color_buffer_half_float\")))return void console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");Ke.checkFramebufferStatus(Ke.FRAMEBUFFER)===Ke.FRAMEBUFFER_COMPLETE?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&Ke.readPixels(t,n,r,i,F(u),F(c),o):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{s&&Ke.bindFramebuffer(Ke.FRAMEBUFFER,he)}}}}function dt(e,t){this.name=\"\",this.color=new q(e),this.density=void 0!==t?t:25e-5}function ft(e,t,n){this.name=\"\",this.color=new q(e),this.near=void 0!==t?t:1,this.far=void 0!==n?n:1e3}function ht(){ce.call(this),this.type=\"Scene\",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function pt(e,t,n,r,i){ce.call(this),this.lensFlares=[],this.positionScreen=new c,this.customUpdateCallback=void 0,void 0!==e&&this.add(e,t,n,r,i)}function mt(e){$.call(this),this.type=\"SpriteMaterial\",this.color=new q(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(e)}function gt(e){ce.call(this),this.type=\"Sprite\",this.material=void 0!==e?e:new mt}function vt(){ce.call(this),this.type=\"LOD\",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function yt(e,t,n){if(this.useVertexTexture=void 0===n||n,this.identityMatrix=new d,e=e||[],this.bones=e.slice(0),this.useVertexTexture){var r=Math.sqrt(4*this.bones.length);r=hs.nextPowerOfTwo(Math.ceil(r)),r=Math.max(r,4),this.boneTextureWidth=r,this.boneTextureHeight=r,this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new X(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,Ca,wa)}else this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===t)this.calculateInverses();else if(this.bones.length===t.length)this.boneInverses=t.slice(0);else{console.warn(\"THREE.Skeleton bonInverses is the wrong length.\"),this.boneInverses=[];for(var i=0,o=this.bones.length;i=e.HAVE_CURRENT_DATA&&(d.needsUpdate=!0)}o.call(this,e,t,n,r,i,a,s,l,u),this.generateMipmaps=!1;var d=this;c()}function Ot(e,t,n,r,i,a,s,l,u,c,d,f){o.call(this,null,a,s,l,u,c,r,i,d,f),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}function Pt(e,t,n,r,i,a,s,l,u){o.call(this,e,t,n,r,i,a,s,l,u),this.needsUpdate=!0}function Ct(e,t,n,r,i,a,s,l,u,c){if((c=void 0!==c?c:Ia)!==Ia&&c!==Da)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===Ia&&(n=ba),void 0===n&&c===Da&&(n=ka),o.call(this,null,r,i,a,s,l,c,n,u),this.image={width:e,height:t},this.magFilter=void 0!==s?s:ca,this.minFilter=void 0!==l?l:ca,this.flipY=!1,this.generateMipmaps=!1}function At(e){function t(e,t){return e-t}Pe.call(this),this.type=\"WireframeGeometry\";var n,r,i,o,a,s,l,u,d=[],f=[0,0],h={},p=[\"a\",\"b\",\"c\"];if(e&&e.isGeometry){var m=e.faces;for(n=0,i=m.length;n.9&&o<.1&&(t<.2&&(m[e+0]+=1),n<.2&&(m[e+2]+=1),r<.2&&(m[e+4]+=1))}}function s(e){p.push(e.x,e.y,e.z)}function l(t,n){var r=3*t;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function u(){for(var e=new c,t=new c,n=new c,r=new c,o=new i,a=new i,s=new i,l=0,u=0;l0)&&m.push(w,M,E),(l!==n-1||u0&&u(!0),t>0&&u(!1)),this.setIndex(f),this.addAttribute(\"position\",new Me(h,3)),this.addAttribute(\"normal\",new Me(p,3)),this.addAttribute(\"uv\",new Me(m,2))}function cn(e,t,n,r,i,o,a){ln.call(this,0,e,t,n,r,i,o,a),this.type=\"ConeGeometry\",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function dn(e,t,n,r,i,o,a){un.call(this,0,e,t,n,r,i,o,a),this.type=\"ConeBufferGeometry\",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function fn(e,t,n,r){Oe.call(this),this.type=\"CircleGeometry\",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},this.fromBufferGeometry(new hn(e,t,n,r))}function hn(e,t,n,r){Pe.call(this),this.type=\"CircleBufferGeometry\",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},e=e||50,t=void 0!==t?Math.max(3,t):8,n=void 0!==n?n:0,r=void 0!==r?r:2*Math.PI;var o,a,s=[],l=[],u=[],d=[],f=new c,h=new i;for(l.push(0,0,0),u.push(0,0,1),d.push(.5,.5),a=0,o=3;a<=t;a++,o+=3){var p=n+a/t*r;f.x=e*Math.cos(p),f.y=e*Math.sin(p),l.push(f.x,f.y,f.z),u.push(0,0,1),h.x=(l[o]/e+1)/2,h.y=(l[o+1]/e+1)/2,d.push(h.x,h.y)}for(o=1;o<=t;o++)s.push(o,o+1,0);this.setIndex(s),this.addAttribute(\"position\",new Me(l,3)),this.addAttribute(\"normal\",new Me(u,3)),this.addAttribute(\"uv\",new Me(d,2))}function pn(){Q.call(this,{uniforms:xs.merge([Ms.lights,{opacity:{value:1}}]),vertexShader:_s.shadow_vert,fragmentShader:_s.shadow_frag}),this.lights=!0,this.transparent=!0,Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}}})}function mn(e){Q.call(this,e),this.type=\"RawShaderMaterial\"}function gn(e){this.uuid=hs.generateUUID(),this.type=\"MultiMaterial\",this.materials=Array.isArray(e)?e:[],this.visible=!0}function vn(e){$.call(this),this.defines={STANDARD:\"\"},this.type=\"MeshStandardMaterial\",this.color=new q(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function yn(e){vn.call(this),this.defines={PHYSICAL:\"\"},this.type=\"MeshPhysicalMaterial\",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(e)}function bn(e){$.call(this),this.type=\"MeshPhongMaterial\",this.color=new q(16777215),this.specular=new q(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ho,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function xn(e){bn.call(this),this.defines={TOON:\"\"},this.type=\"MeshToonMaterial\",this.gradientMap=null,this.setValues(e)}function _n(e){$.call(this,e),this.type=\"MeshNormalMaterial\",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function wn(e){$.call(this),this.type=\"MeshLambertMaterial\",this.color=new q(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new q(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Ho,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap=\"round\",this.wireframeLinejoin=\"round\",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Mn(e){$.call(this),this.type=\"LineDashedMaterial\",this.color=new q(16777215),this.linewidth=1,this.scale=1,this.dashSize=3,this.gapSize=1,this.lights=!1,this.setValues(e)}function Sn(e,t,n){var r=this,i=!1,o=0,a=0;this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){a++,!1===i&&void 0!==r.onStart&&r.onStart(e,o,a),i=!0},this.itemEnd=function(e){o++,void 0!==r.onProgress&&r.onProgress(e,o,a),o===a&&(i=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)}}function En(e){this.manager=void 0!==e?e:Ls}function Tn(e){this.manager=void 0!==e?e:Ls,this._parser=null}function kn(e){this.manager=void 0!==e?e:Ls,this._parser=null}function On(e){this.manager=void 0!==e?e:Ls}function Pn(e){this.manager=void 0!==e?e:Ls}function Cn(e){this.manager=void 0!==e?e:Ls}function An(e,t){ce.call(this),this.type=\"Light\",this.color=new q(e),this.intensity=void 0!==t?t:1,this.receiveShadow=void 0}function Rn(e,t,n){An.call(this,e,n),this.type=\"HemisphereLight\",this.castShadow=void 0,this.position.copy(ce.DefaultUp),this.updateMatrix(),this.groundColor=new q(t)}function Ln(e){this.camera=e,this.bias=0,this.radius=1,this.mapSize=new i(512,512),this.map=null,this.matrix=new d}function In(){Ln.call(this,new Ne(50,1,.5,500))}function Dn(e,t,n,r,i,o){An.call(this,e,t),this.type=\"SpotLight\",this.position.copy(ce.DefaultUp),this.updateMatrix(),this.target=new ce,Object.defineProperty(this,\"power\",{get:function(){return this.intensity*Math.PI},set:function(e){this.intensity=e/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==r?r:Math.PI/3,this.penumbra=void 0!==i?i:0,this.decay=void 0!==o?o:1,this.shadow=new In}function Nn(e,t,n,r){An.call(this,e,t),this.type=\"PointLight\",Object.defineProperty(this,\"power\",{get:function(){return 4*this.intensity*Math.PI},set:function(e){this.intensity=e/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==r?r:1,this.shadow=new Ln(new Ne(90,1,.5,500))}function zn(){Ln.call(this,new ze(-5,5,5,-5,.5,500))}function Bn(e,t){An.call(this,e,t),this.type=\"DirectionalLight\",this.position.copy(ce.DefaultUp),this.updateMatrix(),this.target=new ce,this.shadow=new zn}function Fn(e,t){An.call(this,e,t),this.type=\"AmbientLight\",this.castShadow=void 0}function jn(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n}function Un(e,t,n,r){jn.call(this,e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Wn(e,t,n,r){jn.call(this,e,t,n,r)}function Gn(e,t,n,r){jn.call(this,e,t,n,r)}function Vn(e,t,n,r){if(void 0===e)throw new Error(\"track name is undefined\");if(void 0===t||0===t.length)throw new Error(\"no keyframes in track named \"+e);this.name=e,this.times=Is.convertArray(t,this.TimeBufferType),this.values=Is.convertArray(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation),this.validate(),this.optimize()}function Hn(e,t,n,r){Vn.call(this,e,t,n,r)}function Yn(e,t,n,r){jn.call(this,e,t,n,r)}function qn(e,t,n,r){Vn.call(this,e,t,n,r)}function Xn(e,t,n,r){Vn.call(this,e,t,n,r)}function Zn(e,t,n,r){Vn.call(this,e,t,n,r)}function Kn(e,t,n){Vn.call(this,e,t,n)}function Jn(e,t,n,r){Vn.call(this,e,t,n,r)}function $n(e,t,n,r){Vn.apply(this,arguments)}function Qn(e,t,n){this.name=e,this.tracks=n,this.duration=void 0!==t?t:-1,this.uuid=hs.generateUUID(),this.duration<0&&this.resetDuration(),this.optimize()}function er(e){this.manager=void 0!==e?e:Ls,this.textures={}}function tr(e){this.manager=void 0!==e?e:Ls}function nr(){this.onLoadStart=function(){},this.onLoadProgress=function(){},this.onLoadComplete=function(){}}function rr(e){\"boolean\"==typeof e&&(console.warn(\"THREE.JSONLoader: showStatus parameter has been removed from constructor.\"),e=void 0),this.manager=void 0!==e?e:Ls,this.withCredentials=!1}function ir(e){this.manager=void 0!==e?e:Ls,this.texturePath=\"\"}function or(e,t,n,r,i){var o=.5*(r-t),a=.5*(i-n),s=e*e;return(2*n-2*r+o+a)*(e*s)+(-3*n+3*r-2*o-a)*s+o*e+n}function ar(e,t){var n=1-e;return n*n*t}function sr(e,t){return 2*(1-e)*e*t}function lr(e,t){return e*e*t}function ur(e,t,n,r){return ar(e,t)+sr(e,n)+lr(e,r)}function cr(e,t){var n=1-e;return n*n*n*t}function dr(e,t){var n=1-e;return 3*n*n*e*t}function fr(e,t){return 3*(1-e)*e*e*t}function hr(e,t){return e*e*e*t}function pr(e,t,n,r,i){return cr(e,t)+dr(e,n)+fr(e,r)+hr(e,i)}function mr(){}function gr(e,t){this.v1=e,this.v2=t}function vr(){this.curves=[],this.autoClose=!1}function yr(e,t,n,r,i,o,a,s){this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s||0}function br(e){this.points=void 0===e?[]:e}function xr(e,t,n,r){this.v0=e,this.v1=t,this.v2=n,this.v3=r}function _r(e,t,n){this.v0=e,this.v1=t,this.v2=n}function wr(e){vr.call(this),this.currentPoint=new i,e&&this.fromPoints(e)}function Mr(){wr.apply(this,arguments),this.holes=[]}function Sr(){this.subPaths=[],this.currentPath=null}function Er(e){this.data=e}function Tr(e){this.manager=void 0!==e?e:Ls}function kr(e){this.manager=void 0!==e?e:Ls}function Or(e,t,n,r){An.call(this,e,t),this.type=\"RectAreaLight\",this.position.set(0,1,0),this.updateMatrix(),this.width=void 0!==n?n:10,this.height=void 0!==r?r:10}function Pr(){this.type=\"StereoCamera\",this.aspect=1,this.eyeSep=.064,this.cameraL=new Ne,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Ne,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Cr(e,t,n){ce.call(this),this.type=\"CubeCamera\";var r=new Ne(90,1,e,t);r.up.set(0,-1,0),r.lookAt(new c(1,0,0)),this.add(r);var i=new Ne(90,1,e,t);i.up.set(0,-1,0),i.lookAt(new c(-1,0,0)),this.add(i);var o=new Ne(90,1,e,t);o.up.set(0,0,1),o.lookAt(new c(0,1,0)),this.add(o);var a=new Ne(90,1,e,t);a.up.set(0,0,-1),a.lookAt(new c(0,-1,0)),this.add(a);var s=new Ne(90,1,e,t);s.up.set(0,-1,0),s.lookAt(new c(0,0,1)),this.add(s);var u=new Ne(90,1,e,t);u.up.set(0,-1,0),u.lookAt(new c(0,0,-1)),this.add(u);var d={format:Pa,magFilter:ha,minFilter:ha};this.renderTarget=new l(n,n,d),this.updateCubeMap=function(e,t){null===this.parent&&this.updateMatrixWorld();var n=this.renderTarget,l=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,n.activeCubeFace=0,e.render(t,r,n),n.activeCubeFace=1,e.render(t,i,n),n.activeCubeFace=2,e.render(t,o,n),n.activeCubeFace=3,e.render(t,a,n),n.activeCubeFace=4,e.render(t,s,n),n.texture.generateMipmaps=l,n.activeCubeFace=5,e.render(t,u,n),e.setRenderTarget(null)}}function Ar(){ce.call(this),this.type=\"AudioListener\",this.context=Bs.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null}function Rr(e){ce.call(this),this.type=\"Audio\",this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType=\"empty\",this.filters=[]}function Lr(e){Rr.call(this,e),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function Ir(e,t){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=void 0!==t?t:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}function Dr(e,t,n){this.binding=e,this.valueSize=n;var r,i=Float64Array;switch(t){case\"quaternion\":r=this._slerp;break;case\"string\":case\"bool\":i=Array,r=this._select;break;default:r=this._lerp}this.buffer=new i(4*n),this._mixBufferRegion=r,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}function Nr(e,t,n){this.path=t,this.parsedPath=n||Nr.parseTrackName(t),this.node=Nr.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e}function zr(e){this.uuid=hs.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var t={};this._indicesByUUID=t;for(var n=0,r=arguments.length;n!==r;++n)t[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var i=this;this.stats={objects:{get total(){return i._objects.length},get inUse(){return this.total-i.nCachedObjects_}},get bindingsPerObject(){return i._bindings.length}}}function Br(e,t,n){this._mixer=e,this._clip=t,this._localRoot=n||null;for(var r=t.tracks,i=r.length,o=new Array(i),a={endingStart:Ja,endingEnd:Ja},s=0;s!==i;++s){var l=r[s].createInterpolant(null);o[s]=l,l.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ya,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}function Fr(e){this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function jr(e){\"string\"==typeof e&&(console.warn(\"THREE.Uniform: Type parameter is no longer needed.\"),e=arguments[1]),this.value=e}function Ur(){Pe.call(this),this.type=\"InstancedBufferGeometry\",this.maxInstancedCount=void 0}function Wr(e,t,n,r){this.uuid=hs.generateUUID(),this.data=e,this.itemSize=t,this.offset=n,this.normalized=!0===r}function Gr(e,t){this.uuid=hs.generateUUID(),this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function Vr(e,t,n){Gr.call(this,e,t),this.meshPerAttribute=n||1}function Hr(e,t,n){me.call(this,e,t),this.meshPerAttribute=n||1}function Yr(e,t,n,r){this.ray=new se(e,t),this.near=n||0,this.far=r||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn(\"THREE.Raycaster: params.PointCloud has been renamed to params.Points.\"),this.Points}}})}function qr(e,t){return e.distance-t.distance}function Xr(e,t,n,r){if(!1!==e.visible&&(e.raycast(t,n),!0===r))for(var i=e.children,o=0,a=i.length;o0?1:+e}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,\"name\",{get:function(){return this.toString().match(/^\\s*function\\s*([^\\(\\s]*)/)[1]}}),void 0===Object.assign&&function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var t=Object(e),n=1;n>=4,n[i]=t[19===i?3&e|8:e]);return n.join(\"\")}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},lerp:function(e,t,n){return(1-n)*e+n*t},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},degToRad:function(e){return e*hs.DEG2RAD},radToDeg:function(e){return e*hs.RAD2DEG},isPowerOfTwo:function(e){return 0==(e&e-1)&&0!==e},nearestPowerOfTwo:function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},nextPowerOfTwo:function(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}};i.prototype={constructor:i,isVector2:!0,get width(){return this.x},set width(e){this.x=e},get height(){return this.y},set height(e){this.y=e},set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e):(this.x=0,this.y=0),this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new i,t=new i),e.set(n,n),t.set(r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.multiplyScalar(Math.max(e,Math.min(t,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(e){return this.x*e.x+this.y*e.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var e=Math.atan2(this.y,this.x);return e<0&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this},rotateAround:function(e,t){var n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,o=this.y-e.y;return this.x=i*n-o*r+e.x,this.y=i*r+o*n+e.y,this}};var ps=0;o.DEFAULT_IMAGE=void 0,o.DEFAULT_MAPPING=Qo,o.prototype={constructor:o,isTexture:!0,set needsUpdate(e){!0===e&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){if(void 0!==e.textures[this.uuid])return e.textures[this.uuid];var t={metadata:{version:4.4,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;void 0===n.uuid&&(n.uuid=hs.generateUUID()),void 0===e.images[n.uuid]&&(e.images[n.uuid]={uuid:n.uuid,url:function(e){var t;return void 0!==e.toDataURL?t=e:(t=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\"),t.width=e.width,t.height=e.height,t.getContext(\"2d\").drawImage(e,0,0,e.width,e.height)),t.width>2048||t.height>2048?t.toDataURL(\"image/jpeg\",.6):t.toDataURL(\"image/png\")}(n)}),t.image=n.uuid}return e.textures[this.uuid]=t,t},dispose:function(){this.dispatchEvent({type:\"dispose\"})},transformUv:function(e){if(this.mapping===Qo){if(e.multiply(this.repeat),e.add(this.offset),e.x<0||e.x>1)switch(this.wrapS){case sa:e.x=e.x-Math.floor(e.x);break;case la:e.x=e.x<0?0:1;break;case ua:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case sa:e.y=e.y-Math.floor(e.y);break;case la:e.y=e.y<0?0:1;break;case ua:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}this.flipY&&(e.y=1-e.y)}}},Object.assign(o.prototype,r.prototype),a.prototype={constructor:a,isVector4:!0,set:function(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setW:function(e){return this.w=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e,this.z*=e,this.w*=e):(this.x=0,this.y=0,this.z=0,this.w=0),this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r+o[12]*i,this.y=o[1]*t+o[5]*n+o[9]*r+o[13]*i,this.z=o[2]*t+o[6]*n+o[10]*r+o[14]*i,this.w=o[3]*t+o[7]*n+o[11]*r+o[15]*i,this},divideScalar:function(e){return this.multiplyScalar(1/e)},setAxisAngleFromQuaternion:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},setAxisAngleFromRotationMatrix:function(e){var t,n,r,i,o=e.elements,a=o[0],s=o[4],l=o[8],u=o[1],c=o[5],d=o[9],f=o[2],h=o[6],p=o[10];if(Math.abs(s-u)<.01&&Math.abs(l-f)<.01&&Math.abs(d-h)<.01){if(Math.abs(s+u)<.1&&Math.abs(l+f)<.1&&Math.abs(d+h)<.1&&Math.abs(a+c+p-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;var m=(a+1)/2,g=(c+1)/2,v=(p+1)/2,y=(s+u)/4,b=(l+f)/4,x=(d+h)/4;return m>g&&m>v?m<.01?(n=0,r=.707106781,i=.707106781):(n=Math.sqrt(m),r=y/n,i=b/n):g>v?g<.01?(n=.707106781,r=0,i=.707106781):(r=Math.sqrt(g),n=y/r,i=x/r):v<.01?(n=.707106781,r=.707106781,i=0):(i=Math.sqrt(v),n=b/i,r=x/i),this.set(n,r,i,t),this}var _=Math.sqrt((h-d)*(h-d)+(l-f)*(l-f)+(u-s)*(u-s));return Math.abs(_)<.001&&(_=1),this.x=(h-d)/_,this.y=(l-f)/_,this.z=(u-s)/_,this.w=Math.acos((a+c+p-1)/2),this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new a,t=new a),e.set(n,n,n,n),t.set(r,r,r,r),this.clamp(e,t)}}(),floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}},s.prototype={constructor:s,isWebGLRenderTarget:!0,setSize:function(e,t){this.width===e&&this.height===t||(this.width=e,this.height=t,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.width=e.width,this.height=e.height,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign(s.prototype,r.prototype),l.prototype=Object.create(s.prototype),l.prototype.constructor=l,l.prototype.isWebGLRenderTargetCube=!0,u.prototype={constructor:u,get x(){return this._x},set x(e){this._x=e,this.onChangeCallback()},get y(){return this._y},set y(e){this._y=e,this.onChangeCallback()},get z(){return this._z},set z(e){this._z=e,this.onChangeCallback()},get w(){return this._w},set w(e){this._w=e,this.onChangeCallback()},set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this.onChangeCallback(),this},setFromEuler:function(e,t){if(!1===(e&&e.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");var n=Math.cos(e._x/2),r=Math.cos(e._y/2),i=Math.cos(e._z/2),o=Math.sin(e._x/2),a=Math.sin(e._y/2),s=Math.sin(e._z/2),l=e.order;return\"XYZ\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i-o*a*s):\"YXZ\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i+o*a*s):\"ZXY\"===l?(this._x=o*r*i-n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i-o*a*s):\"ZYX\"===l?(this._x=o*r*i-n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i+o*a*s):\"YZX\"===l?(this._x=o*r*i+n*a*s,this._y=n*a*i+o*r*s,this._z=n*r*s-o*a*i,this._w=n*r*i-o*a*s):\"XZY\"===l&&(this._x=o*r*i-n*a*s,this._y=n*a*i-o*r*s,this._z=n*r*s+o*a*i,this._w=n*r*i+o*a*s),!1!==t&&this.onChangeCallback(),this},setFromAxisAngle:function(e,t){var n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(e){var t,n=e.elements,r=n[0],i=n[4],o=n[8],a=n[1],s=n[5],l=n[9],u=n[2],c=n[6],d=n[10],f=r+s+d;return f>0?(t=.5/Math.sqrt(f+1),this._w=.25/t,this._x=(c-l)*t,this._y=(o-u)*t,this._z=(a-i)*t):r>s&&r>d?(t=2*Math.sqrt(1+r-s-d),this._w=(c-l)/t,this._x=.25*t,this._y=(i+a)/t,this._z=(o+u)/t):s>d?(t=2*Math.sqrt(1+s-r-d),this._w=(o-u)/t,this._x=(i+a)/t,this._y=.25*t,this._z=(l+c)/t):(t=2*Math.sqrt(1+d-r-s),this._w=(a-i)/t,this._x=(o+u)/t,this._y=(l+c)/t,this._z=.25*t),this.onChangeCallback(),this},setFromUnitVectors:function(){var e,t;return function(n,r){return void 0===e&&(e=new c),t=n.dot(r)+1,t<1e-6?(t=0,Math.abs(n.x)>Math.abs(n.z)?e.set(-n.y,n.x,0):e.set(0,-n.z,n.y)):e.crossVectors(n,r),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this.onChangeCallback(),this},multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},premultiply:function(e){return this.multiplyQuaternions(e,this)},multiplyQuaternions:function(e,t){var n=e._x,r=e._y,i=e._z,o=e._w,a=t._x,s=t._y,l=t._z,u=t._w;return this._x=n*u+o*a+r*l-i*s,this._y=r*u+o*s+i*a-n*l,this._z=i*u+o*l+n*s-r*a,this._w=o*u-n*a-r*s-i*l,this.onChangeCallback(),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this._x,r=this._y,i=this._z,o=this._w,a=o*e._w+n*e._x+r*e._y+i*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=r,this._z=i,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(n+this._x),this._y=.5*(r+this._y),this._z=.5*(i+this._z),this;var l=Math.atan2(s,a),u=Math.sin((1-t)*l)/s,c=Math.sin(t*l)/s;return this._w=o*u+this._w*c,this._x=n*u+this._x*c,this._y=r*u+this._y*c,this._z=i*u+this._z*c,this.onChangeCallback(),this},equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},fromArray:function(e,t){return void 0===t&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}},Object.assign(u,{slerp:function(e,t,n,r){return n.copy(e).slerp(t,r)},slerpFlat:function(e,t,n,r,i,o,a){var s=n[r+0],l=n[r+1],u=n[r+2],c=n[r+3],d=i[o+0],f=i[o+1],h=i[o+2],p=i[o+3];if(c!==p||s!==d||l!==f||u!==h){var m=1-a,g=s*d+l*f+u*h+c*p,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var b=Math.sqrt(y),x=Math.atan2(b,g*v);m=Math.sin(m*x)/b,a=Math.sin(a*x)/b}var _=a*v;if(s=s*m+d*_,l=l*m+f*_,u=u*m+h*_,c=c*m+p*_,m===1-a){var w=1/Math.sqrt(s*s+l*l+u*u+c*c);s*=w,l*=w,u*=w,c*=w}}e[t]=s,e[t+1]=l,e[t+2]=u,e[t+3]=c}}),c.prototype={constructor:c,isVector3:!0,set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error(\"index is out of range: \"+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},add:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},sub:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},multiplyScalar:function(e){return isFinite(e)?(this.x*=e,this.y*=e,this.z*=e):(this.x=0,this.y=0,this.z=0),this},multiplyVectors:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},applyEuler:function(){var e;return function(t){return!1===(t&&t.isEuler)&&console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\"),void 0===e&&(e=new u),this.applyQuaternion(e.setFromEuler(t))}}(),applyAxisAngle:function(){var e;return function(t,n){return void 0===e&&(e=new u),this.applyQuaternion(e.setFromAxisAngle(t,n))}}(),applyMatrix3:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;this.x=i[0]*t+i[4]*n+i[8]*r+i[12],this.y=i[1]*t+i[5]*n+i[9]*r+i[13],this.z=i[2]*t+i[6]*n+i[10]*r+i[14];var o=i[3]*t+i[7]*n+i[11]*r+i[15];return this.divideScalar(o)},applyQuaternion:function(e){var t=this.x,n=this.y,r=this.z,i=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*r-a*n,u=s*n+a*t-i*r,c=s*r+i*n-o*t,d=-i*t-o*n-a*r;return this.x=l*s+d*-i+u*-a-c*-o,this.y=u*s+d*-o+c*-i-l*-a,this.z=c*s+d*-a+l*-o-u*-i,this},project:function(){var e;return function(t){return void 0===e&&(e=new d),e.multiplyMatrices(t.projectionMatrix,e.getInverse(t.matrixWorld)),this.applyMatrix4(e)}}(),unproject:function(){var e;return function(t){return void 0===e&&(e=new d),e.multiplyMatrices(t.matrixWorld,e.getInverse(t.projectionMatrix)),this.applyMatrix4(e)}}(),transformDirection:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()},divide:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new c,t=new c),e.set(n,n,n),t.set(r,r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.multiplyScalar(Math.max(e,Math.min(t,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(e){return this.multiplyScalar(e/this.length())},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},cross:function(e,t){if(void 0!==t)return console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"),this.crossVectors(e,t);var n=this.x,r=this.y,i=this.z;return this.x=r*e.z-i*e.y,this.y=i*e.x-n*e.z,this.z=n*e.y-r*e.x,this},crossVectors:function(e,t){var n=e.x,r=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=r*s-i*a,this.y=i*o-n*s,this.z=n*a-r*o,this},projectOnVector:function(e){var t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)},projectOnPlane:function(){var e;return function(t){return void 0===e&&(e=new c),e.copy(this).projectOnVector(t),this.sub(e)}}(),reflect:function(){var e;return function(t){return void 0===e&&(e=new c),this.sub(e.copy(t).multiplyScalar(2*this.dot(t)))}}(),angleTo:function(e){var t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return Math.acos(hs.clamp(t,-1,1))},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},setFromSpherical:function(e){var t=Math.sin(e.phi)*e.radius;return this.x=t*Math.sin(e.theta),this.y=Math.cos(e.phi)*e.radius,this.z=t*Math.cos(e.theta),this},setFromCylindrical:function(e){return this.x=e.radius*Math.sin(e.theta),this.y=e.y,this.z=e.radius*Math.cos(e.theta),this},setFromMatrixPosition:function(e){return this.setFromMatrixColumn(e,3)},setFromMatrixScale:function(e){var t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this},setFromMatrixColumn:function(e,t){if(\"number\"==typeof e){console.warn(\"THREE.Vector3: setFromMatrixColumn now expects ( matrix, index ).\");var n=e;e=t,t=n}return this.fromArray(e.elements,4*t)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\"),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}},d.prototype={constructor:d,isMatrix4:!0,set:function(e,t,n,r,i,o,a,s,l,u,c,d,f,h,p,m){var g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=o,g[9]=a,g[13]=s,g[2]=l,g[6]=u,g[10]=c,g[14]=d,g[3]=f,g[7]=h,g[11]=p,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new d).fromArray(this.elements)},copy:function(e){return this.elements.set(e.elements),this},copyPosition:function(e){var t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this},extractBasis:function(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this},extractRotation:function(){var e;return function(t){void 0===e&&(e=new c);var n=this.elements,r=t.elements,i=1/e.setFromMatrixColumn(t,0).length(),o=1/e.setFromMatrixColumn(t,1).length(),a=1/e.setFromMatrixColumn(t,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[4]=r[4]*o,n[5]=r[5]*o,n[6]=r[6]*o,n[8]=r[8]*a,n[9]=r[9]*a,n[10]=r[10]*a,this}}(),makeRotationFromEuler:function(e){!1===(e&&e.isEuler)&&console.error(\"THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");var t=this.elements,n=e.x,r=e.y,i=e.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(r),l=Math.sin(r),u=Math.cos(i),c=Math.sin(i);if(\"XYZ\"===e.order){var d=o*u,f=o*c,h=a*u,p=a*c;t[0]=s*u,t[4]=-s*c,t[8]=l,t[1]=f+h*l,t[5]=d-p*l,t[9]=-a*s,t[2]=p-d*l,t[6]=h+f*l,t[10]=o*s}else if(\"YXZ\"===e.order){var m=s*u,g=s*c,v=l*u,y=l*c;t[0]=m+y*a,t[4]=v*a-g,t[8]=o*l,t[1]=o*c,t[5]=o*u,t[9]=-a,t[2]=g*a-v,t[6]=y+m*a,t[10]=o*s}else if(\"ZXY\"===e.order){var m=s*u,g=s*c,v=l*u,y=l*c;t[0]=m-y*a,t[4]=-o*c,t[8]=v+g*a,t[1]=g+v*a,t[5]=o*u,t[9]=y-m*a,t[2]=-o*l,t[6]=a,t[10]=o*s}else if(\"ZYX\"===e.order){var d=o*u,f=o*c,h=a*u,p=a*c;t[0]=s*u,t[4]=h*l-f,t[8]=d*l+p,t[1]=s*c,t[5]=p*l+d,t[9]=f*l-h,t[2]=-l,t[6]=a*s,t[10]=o*s}else if(\"YZX\"===e.order){var b=o*s,x=o*l,_=a*s,w=a*l;t[0]=s*u,t[4]=w-b*c,t[8]=_*c+x,t[1]=c,t[5]=o*u,t[9]=-a*u,t[2]=-l*u,t[6]=x*c+_,t[10]=b-w*c}else if(\"XZY\"===e.order){var b=o*s,x=o*l,_=a*s,w=a*l;t[0]=s*u,t[4]=-c,t[8]=l*u,t[1]=b*c+w,t[5]=o*u,t[9]=x*c-_,t[2]=_*c-x,t[6]=a*u,t[10]=w*c+b}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},makeRotationFromQuaternion:function(e){var t=this.elements,n=e.x,r=e.y,i=e.z,o=e.w,a=n+n,s=r+r,l=i+i,u=n*a,c=n*s,d=n*l,f=r*s,h=r*l,p=i*l,m=o*a,g=o*s,v=o*l;return t[0]=1-(f+p),t[4]=c-v,t[8]=d+g,t[1]=c+v,t[5]=1-(u+p),t[9]=h-m,t[2]=d-g,t[6]=h+m,t[10]=1-(u+f),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},lookAt:function(){var e,t,n;return function(r,i,o){void 0===e&&(e=new c,t=new c,n=new c);var a=this.elements;return n.subVectors(r,i).normalize(),0===n.lengthSq()&&(n.z=1),e.crossVectors(o,n).normalize(),0===e.lengthSq()&&(n.z+=1e-4,e.crossVectors(o,n).normalize()),t.crossVectors(n,e),a[0]=e.x,a[4]=t.x,a[8]=n.x,a[1]=e.y,a[5]=t.y,a[9]=n.y,a[2]=e.z,a[6]=t.z,a[10]=n.z,this}}(),multiply:function(e,t){return void 0!==t?(console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[4],s=n[8],l=n[12],u=n[1],c=n[5],d=n[9],f=n[13],h=n[2],p=n[6],m=n[10],g=n[14],v=n[3],y=n[7],b=n[11],x=n[15],_=r[0],w=r[4],M=r[8],S=r[12],E=r[1],T=r[5],k=r[9],O=r[13],P=r[2],C=r[6],A=r[10],R=r[14],L=r[3],I=r[7],D=r[11],N=r[15];return i[0]=o*_+a*E+s*P+l*L,i[4]=o*w+a*T+s*C+l*I,i[8]=o*M+a*k+s*A+l*D,i[12]=o*S+a*O+s*R+l*N,i[1]=u*_+c*E+d*P+f*L,i[5]=u*w+c*T+d*C+f*I,i[9]=u*M+c*k+d*A+f*D,i[13]=u*S+c*O+d*R+f*N,i[2]=h*_+p*E+m*P+g*L,i[6]=h*w+p*T+m*C+g*I,i[10]=h*M+p*k+m*A+g*D,i[14]=h*S+p*O+m*R+g*N,i[3]=v*_+y*E+b*P+x*L,i[7]=v*w+y*T+b*C+x*I,i[11]=v*M+y*k+b*A+x*D,i[15]=v*S+y*O+b*R+x*N,this},multiplyToArray:function(e,t,n){var r=this.elements;return this.multiplyMatrices(e,t),n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},applyToBufferAttribute:function(){var e;return function(t){void 0===e&&(e=new c);for(var n=0,r=t.count;n 0.0 ) {\\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\t\\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t\\treturn distanceFalloff * maxDistanceCutoffFactor;\\n#else\\n\\t\\t\\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n}\\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\\n\\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\\n\\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\\n}\\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\treturn 1.0 / ( gl * gv );\\n}\\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( G * D );\\n}\\nvec2 ltcTextureCoords( const in GeometricContext geometry, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = (LUT_SIZE - 1.0)/LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5/LUT_SIZE;\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tfloat theta = acos( dot( N, V ) );\\n\\tvec2 uv = vec2(\\n\\t\\tsqrt( saturate( roughness ) ),\\n\\t\\tsaturate( theta / ( 0.5 * PI ) ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nvoid clipQuadToHorizon( inout vec3 L[5], out int n ) {\\n\\tint config = 0;\\n\\tif ( L[0].z > 0.0 ) config += 1;\\n\\tif ( L[1].z > 0.0 ) config += 2;\\n\\tif ( L[2].z > 0.0 ) config += 4;\\n\\tif ( L[3].z > 0.0 ) config += 8;\\n\\tn = 0;\\n\\tif ( config == 0 ) {\\n\\t} else if ( config == 1 ) {\\n\\t\\tn = 3;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 2 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 3 ) {\\n\\t\\tn = 4;\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t\\tL[3] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t} else if ( config == 4 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t} else if ( config == 5 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 6 ) {\\n\\t\\tn = 4;\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 7 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[3].z * L[0] + L[0].z * L[3];\\n\\t\\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\\n\\t} else if ( config == 8 ) {\\n\\t\\tn = 3;\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[1] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = L[3];\\n\\t} else if ( config == 9 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t\\tL[2] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t} else if ( config == 10 ) {\\n\\t\\tn = 0;\\n\\t} else if ( config == 11 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = -L[2].z * L[3] + L[3].z * L[2];\\n\\t\\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\\n\\t} else if ( config == 12 ) {\\n\\t\\tn = 4;\\n\\t\\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t} else if ( config == 13 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = L[3];\\n\\t\\tL[3] = L[2];\\n\\t\\tL[2] = -L[1].z * L[2] + L[2].z * L[1];\\n\\t\\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\\n\\t} else if ( config == 14 ) {\\n\\t\\tn = 5;\\n\\t\\tL[4] = -L[0].z * L[3] + L[3].z * L[0];\\n\\t\\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\\n\\t} else if ( config == 15 ) {\\n\\t\\tn = 4;\\n\\t}\\n\\tif ( n == 3 )\\n\\t\\tL[3] = L[0];\\n\\tif ( n == 4 )\\n\\t\\tL[4] = L[0];\\n}\\nfloat integrateLtcBrdfOverRectEdge( vec3 v1, vec3 v2 ) {\\n\\tfloat cosTheta = dot( v1, v2 );\\n\\tfloat theta = acos( cosTheta );\\n\\tfloat res = cross( v1, v2 ).z * ( ( theta > 0.001 ) ? theta / sin( theta ) : 1.0 );\\n\\treturn res;\\n}\\nvoid initRectPoints( const in vec3 pos, const in vec3 halfWidth, const in vec3 halfHeight, out vec3 rectPoints[4] ) {\\n\\trectPoints[0] = pos - halfWidth - halfHeight;\\n\\trectPoints[1] = pos + halfWidth - halfHeight;\\n\\trectPoints[2] = pos + halfWidth + halfHeight;\\n\\trectPoints[3] = pos - halfWidth + halfHeight;\\n}\\nvec3 integrateLtcBrdfOverRect( const in GeometricContext geometry, const in mat3 brdfMat, const in vec3 rectPoints[4] ) {\\n\\tvec3 N = geometry.normal;\\n\\tvec3 V = geometry.viewDir;\\n\\tvec3 P = geometry.position;\\n\\tvec3 T1, T2;\\n\\tT1 = normalize(V - N * dot( V, N ));\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 brdfWrtSurface = brdfMat * transpose( mat3( T1, T2, N ) );\\n\\tvec3 clippedRect[5];\\n\\tclippedRect[0] = brdfWrtSurface * ( rectPoints[0] - P );\\n\\tclippedRect[1] = brdfWrtSurface * ( rectPoints[1] - P );\\n\\tclippedRect[2] = brdfWrtSurface * ( rectPoints[2] - P );\\n\\tclippedRect[3] = brdfWrtSurface * ( rectPoints[3] - P );\\n\\tint n;\\n\\tclipQuadToHorizon(clippedRect, n);\\n\\tif ( n == 0 )\\n\\t\\treturn vec3( 0, 0, 0 );\\n\\tclippedRect[0] = normalize( clippedRect[0] );\\n\\tclippedRect[1] = normalize( clippedRect[1] );\\n\\tclippedRect[2] = normalize( clippedRect[2] );\\n\\tclippedRect[3] = normalize( clippedRect[3] );\\n\\tclippedRect[4] = normalize( clippedRect[4] );\\n\\tfloat sum = 0.0;\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[0], clippedRect[1] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[1], clippedRect[2] );\\n\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[2], clippedRect[3] );\\n\\tif (n >= 4)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[3], clippedRect[4] );\\n\\tif (n == 5)\\n\\t\\tsum += integrateLtcBrdfOverRectEdge( clippedRect[4], clippedRect[0] );\\n\\tsum = max( 0.0, sum );\\n\\tvec3 Lo_i = vec3( sum, sum, sum );\\n\\treturn Lo_i;\\n}\\nvec3 Rect_Area_Light_Specular_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight,\\n\\t\\tconst in float roughness,\\n\\t\\tconst in sampler2D ltcMat, const in sampler2D ltcMag ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tvec2 uv = ltcTextureCoords( geometry, roughness );\\n\\tvec4 brdfLtcApproxParams, t;\\n\\tbrdfLtcApproxParams = texture2D( ltcMat, uv );\\n\\tt = texture2D( ltcMat, uv );\\n\\tfloat brdfLtcScalar = texture2D( ltcMag, uv ).a;\\n\\tmat3 brdfLtcApproxMat = mat3(\\n\\t\\tvec3( 1, 0, t.y ),\\n\\t\\tvec3( 0, t.z, 0 ),\\n\\t\\tvec3( t.w, 0, t.x )\\n\\t);\\n\\tvec3 specularReflectance = integrateLtcBrdfOverRect( geometry, brdfLtcApproxMat, rectPoints );\\n\\tspecularReflectance *= brdfLtcScalar;\\n\\treturn specularReflectance;\\n}\\nvec3 Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\tconst in GeometricContext geometry,\\n\\t\\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight ) {\\n\\tvec3 rectPoints[4];\\n\\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\\n\\tmat3 diffuseBrdfMat = mat3(1);\\n\\tvec3 diffuseReflectance = integrateLtcBrdfOverRect( geometry, diffuseBrdfMat, rectPoints );\\n\\treturn diffuseReflectance;\\n}\\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\\n\\treturn specularColor * AB.x + AB.y;\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\\n\\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\\n\\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, dotLH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\\n\\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\\n}\\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\\n\\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\\n}\\n\",bumpmap_pars_fragment:\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\n\\t\\tvec3 vSigmaX = dFdx( surf_pos );\\n\\t\\tvec3 vSigmaY = dFdy( surf_pos );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 );\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\\n\",clipping_planes_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\\n\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t\\t\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\\n\\t\\t\\tvec4 plane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\tif ( clipped ) discard;\\n\\t\\n\\t#endif\\n#endif\\n\",clipping_planes_pars_fragment:\"#if NUM_CLIPPING_PLANES > 0\\n\\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\t\\tvarying vec3 vViewPosition;\\n\\t#endif\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\\n\",clipping_planes_pars_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n\",clipping_planes_vertex:\"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n\",color_fragment:\"#ifdef USE_COLOR\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\",color_pars_fragment:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\\n\",color_pars_vertex:\"#ifdef USE_COLOR\\n\\tvarying vec3 vColor;\\n#endif\",color_vertex:\"#ifdef USE_COLOR\\n\\tvColor.xyz = color.xyz;\\n#endif\",common:\"#define PI 3.14159265359\\n#define PI2 6.28318530718\\n#define PI_HALF 1.5707963267949\\n#define RECIPROCAL_PI 0.31830988618\\n#define RECIPROCAL_PI2 0.15915494\\n#define LOG2 1.442695\\n#define EPSILON 1e-6\\n#define saturate(a) clamp( a, 0.0, 1.0 )\\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract(sin(sn) * c);\\n}\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\tfloat distance = dot( planeNormal, point - pointOnPlane );\\n\\treturn - distance * planeNormal + point;\\n}\\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn sign( dot( point - pointOnPlane, planeNormal ) );\\n}\\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\\n\\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\\n}\\nmat3 transpose( const in mat3 v ) {\\n\\tmat3 tmp;\\n\\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\\n\\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\\n\\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\\n\\treturn tmp;\\n}\\n\",cube_uv_reflection_fragment:\"#ifdef ENVMAP_TYPE_CUBE_UV\\n#define cubeUV_textureSize (1024.0)\\nint getFaceFromDirection(vec3 direction) {\\n\\tvec3 absDirection = abs(direction);\\n\\tint face = -1;\\n\\tif( absDirection.x > absDirection.z ) {\\n\\t\\tif(absDirection.x > absDirection.y )\\n\\t\\t\\tface = direction.x > 0.0 ? 0 : 3;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\telse {\\n\\t\\tif(absDirection.z > absDirection.y )\\n\\t\\t\\tface = direction.z > 0.0 ? 2 : 5;\\n\\t\\telse\\n\\t\\t\\tface = direction.y > 0.0 ? 1 : 4;\\n\\t}\\n\\treturn face;\\n}\\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\\n\\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\\n\\tfloat dxRoughness = dFdx(roughness);\\n\\tfloat dyRoughness = dFdy(roughness);\\n\\tvec3 dx = dFdx( vec * scale * dxRoughness );\\n\\tvec3 dy = dFdy( vec * scale * dyRoughness );\\n\\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\\n\\td = clamp(d, 1.0, cubeUV_rangeClamp);\\n\\tfloat mipLevel = 0.5 * log2(d);\\n\\treturn vec2(floor(mipLevel), fract(mipLevel));\\n}\\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\\n\\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\\n\\tfloat a = 16.0 * cubeUV_rcpTextureSize;\\n\\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\\n\\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\\n\\tfloat powScale = exp2_packed.x * exp2_packed.y;\\n\\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\\n\\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\\n\\tbool bRes = mipLevel == 0.0;\\n\\tscale = bRes && (scale < a) ? a : scale;\\n\\tvec3 r;\\n\\tvec2 offset;\\n\\tint face = getFaceFromDirection(direction);\\n\\tfloat rcpPowScale = 1.0 / powScale;\\n\\tif( face == 0) {\\n\\t\\tr = vec3(direction.x, -direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 1) {\\n\\t\\tr = vec3(direction.y, direction.x, direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 2) {\\n\\t\\tr = vec3(direction.z, direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\\n\\t}\\n\\telse if( face == 3) {\\n\\t\\tr = vec3(direction.x, direction.z, direction.y);\\n\\t\\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse if( face == 4) {\\n\\t\\tr = vec3(direction.y, direction.x, -direction.z);\\n\\t\\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\telse {\\n\\t\\tr = vec3(direction.z, -direction.x, direction.y);\\n\\t\\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\\n\\t\\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\\n\\t}\\n\\tr = normalize(r);\\n\\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\\n\\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\\n\\tvec2 base = offset + vec2( texelOffset );\\n\\treturn base + s * ( scale - 2.0 * texelOffset );\\n}\\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\\n\\tfloat roughnessVal = roughness* cubeUV_maxLods3;\\n\\tfloat r1 = floor(roughnessVal);\\n\\tfloat r2 = r1 + 1.0;\\n\\tfloat t = fract(roughnessVal);\\n\\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\\n\\tfloat s = mipInfo.y;\\n\\tfloat level0 = mipInfo.x;\\n\\tfloat level1 = level0 + 1.0;\\n\\tlevel1 = level1 > 5.0 ? 5.0 : level1;\\n\\tlevel0 += min( floor( s + 0.5 ), 5.0 );\\n\\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\\n\\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\\n\\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\\n\\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\\n\\tvec4 result = mix(color10, color20, t);\\n\\treturn vec4(result.rgb, 1.0);\\n}\\n#endif\\n\",defaultnormal_vertex:\"#ifdef FLIP_SIDED\\n\\tobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\\n\",displacementmap_pars_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\\n\",displacementmap_vertex:\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\\n#endif\\n\",emissivemap_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\\n\",emissivemap_pars_fragment:\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\\n\",encodings_fragment:\" gl_FragColor = linearToOutputTexel( gl_FragColor );\\n\",encodings_pars_fragment:\"\\nvec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\\n}\\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\\n\\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\\n}\\nvec4 RGBEToLinear( in vec4 value ) {\\n\\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\\n}\\nvec4 LinearToRGBE( in vec4 value ) {\\n\\tfloat maxComponent = max( max( value.r, value.g ), value.b );\\n\\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\\n\\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\\n}\\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\\n}\\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\\n\\tM = ceil( M * 255.0 ) / 255.0;\\n\\treturn vec4( value.rgb / ( M * maxRange ), M );\\n}\\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\\n\\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\\n}\\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\\n\\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\\n\\tfloat D = max( maxRange / maxRGB, 1.0 );\\n\\tD = min( floor( D ) / 255.0, 1.0 );\\n\\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\\n}\\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\\nvec4 LinearToLogLuv( in vec4 value ) {\\n\\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\\n\\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\\n\\tvec4 vResult;\\n\\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\\n\\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\\n\\tvResult.w = fract(Le);\\n\\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\\n\\treturn vResult;\\n}\\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\\nvec4 LogLuvToLinear( in vec4 value ) {\\n\\tfloat Le = value.z * 255.0 + value.w;\\n\\tvec3 Xp_Y_XYZp;\\n\\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\\n\\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\\n\\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\\n\\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\\n\\treturn vec4( max(vRGB, 0.0), 1.0 );\\n}\\n\",envmap_fragment:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\tvec2 sampleUV;\\n\\t\\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\\n\\t\\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\tvec4 envColor = texture2D( envMap, sampleUV );\\n\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\\n\\t\\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\\n\",envmap_pars_fragment:\"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\\n\\tuniform float reflectivity;\\n\\tuniform float envMapIntensity;\\n#endif\\n#ifdef USE_ENVMAP\\n\\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\tuniform float flipEnvMap;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\\n\",envmap_pars_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\\n\",envmap_vertex:\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\n\",fog_vertex:\"\\n#ifdef USE_FOG\\nfogDepth = -mvPosition.z;\\n#endif\",fog_pars_vertex:\"#ifdef USE_FOG\\n varying float fogDepth;\\n#endif\\n\",fog_fragment:\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\\n\",fog_pars_fragment:\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float fogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\\n\",gradientmap_pars_fragment:\"#ifdef TOON\\n\\tuniform sampler2D gradientMap;\\n\\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\t\\tfloat dotNL = dot( normal, lightDirection );\\n\\t\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t\\t#ifdef USE_GRADIENTMAP\\n\\t\\t\\treturn texture2D( gradientMap, coord ).rgb;\\n\\t\\t#else\\n\\t\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lightmap_fragment:\"#ifdef USE_LIGHTMAP\\n\\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n#endif\\n\",lightmap_pars_fragment:\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\",lights_lambert_vertex:\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\n#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = PI * directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",lights_pars:\"uniform vec3 ambientLightColor;\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treturn irradiance;\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tdirectLight.color = directionalLight.color;\\n\\t\\tdirectLight.direction = directionalLight.direction;\\n\\t\\tdirectLight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tdirectLight.color = pointLight.color;\\n\\t\\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t\\tint shadow;\\n\\t\\tfloat shadowBias;\\n\\t\\tfloat shadowRadius;\\n\\t\\tvec2 shadowMapSize;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tdirectLight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tfloat angleCos = dot( directLight.direction, spotLight.direction );\\n\\t\\tif ( angleCos > spotLight.coneCos ) {\\n\\t\\t\\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\t\\tdirectLight.color = spotLight.color;\\n\\t\\t\\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tdirectLight.visible = true;\\n\\t\\t} else {\\n\\t\\t\\tdirectLight.color = vec3( 0.0 );\\n\\t\\t\\tdirectLight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltcMat;\\tuniform sampler2D ltcMag;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\\n\\t\\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tirradiance *= PI;\\n\\t\\t#endif\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\\n\\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\\n\\t\\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\\n\\t\\t#else\\n\\t\\t\\tvec4 envMapColor = vec4( 0.0 );\\n\\t\\t#endif\\n\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t}\\n\\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\tfloat maxMIPLevelScalar = float( maxMIPLevel );\\n\\t\\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\\n\\t\\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\\n\\t}\\n\\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\\n\\t\\t#endif\\n\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\\n\\t\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\\n\\t\\t#elif defined( ENVMAP_TYPE_EQUIREC )\\n\\t\\t\\tvec2 sampleUV;\\n\\t\\t\\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\\n\\t\\t\\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#elif defined( ENVMAP_TYPE_SPHERE )\\n\\t\\t\\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\\n\\t\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\t\\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#else\\n\\t\\t\\t\\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\\n\\t\\t\\t#endif\\n\\t\\t\\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\\n\\t\\t#endif\\n\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t}\\n#endif\\n\",lights_phong_fragment:\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\\n\",lights_phong_pars_fragment:\"varying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\nstruct BlinnPhongMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tvec3\\tspecularColor;\\n\\tfloat\\tspecularShininess;\\n\\tfloat\\tspecularStrength;\\n};\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = BlinnExponentToGGXRoughness( material.specularShininess );\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec / PI2;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff / PI2;\\n\\t}\\n#endif\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifdef TOON\\n\\t\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\t#else\\n\\t\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\t\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#endif\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\\n\",lights_physical_fragment:\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\\n#ifdef STANDARD\\n\\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.clearCoat = saturate( clearCoat );\\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\\n#endif\\n\",lights_physical_pars_fragment:\"struct PhysicalMaterial {\\n\\tvec3\\tdiffuseColor;\\n\\tfloat\\tspecularRoughness;\\n\\tvec3\\tspecularColor;\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoat;\\n\\t\\tfloat clearCoatRoughness;\\n\\t#endif\\n};\\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\\n\\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 matDiffColor = material.diffuseColor;\\n\\t\\tvec3 matSpecColor = material.specularColor;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.specularRoughness;\\n\\t\\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\\n\\t\\t\\t\\troughness,\\n\\t\\t\\t\\tltcMat, ltcMag );\\n\\t\\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\\n\\t\\t\\t\\tgeometry,\\n\\t\\t\\t\\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\\n\\t\\treflectedLight.directSpecular += lightColor * matSpecColor * spec;\\n\\t\\treflectedLight.directDiffuse += lightColor * matDiffColor * diff;\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tirradiance *= PI;\\n\\t#endif\\n\\t#ifndef STANDARD\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\\n\\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t#ifndef STANDARD\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\tfloat dotNL = dotNV;\\n\\t\\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\\n\\t#else\\n\\t\\tfloat clearCoatDHR = 0.0;\\n\\t#endif\\n\\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\\n\\t#ifndef STANDARD\\n\\t\\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\\n\\t#endif\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\\n\",lights_template:\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = normalize( vViewPosition );\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\\n\\t\\t#ifdef USE_SHADOWMAP\\n\\t\\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\\n\\t\\t}\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\\n\\t#endif\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\\n\\t#ifndef STANDARD\\n\\t\\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\\n\\t#else\\n\\t\\tvec3 clearCoatRadiance = vec3( 0.0 );\\n\\t#endif\\n\\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\\n#endif\\n\",logdepthbuf_fragment:\"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\\n\\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\\n#endif\",logdepthbuf_pars_fragment:\"#ifdef USE_LOGDEPTHBUF\\n\\tuniform float logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n#endif\\n\",logdepthbuf_pars_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t#endif\\n\\tuniform float logDepthBufFC;\\n#endif\",logdepthbuf_vertex:\"#ifdef USE_LOGDEPTHBUF\\n\\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t#else\\n\\t\\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\\n\\t#endif\\n#endif\\n\",map_fragment:\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\\n\",map_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n\",map_particle_fragment:\"#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n\",map_particle_pars_fragment:\"#ifdef USE_MAP\\n\\tuniform vec4 offsetRepeat;\\n\\tuniform sampler2D map;\\n#endif\\n\",metalnessmap_fragment:\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.r;\\n#endif\\n\",metalnessmap_pars_fragment:\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\",morphnormal_vertex:\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\n\\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\n\\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\n\\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\n#endif\\n\",morphtarget_pars_vertex:\"#ifdef USE_MORPHTARGETS\\n\\t#ifndef USE_MORPHNORMALS\\n\\tuniform float morphTargetInfluences[ 8 ];\\n\\t#else\\n\\tuniform float morphTargetInfluences[ 4 ];\\n\\t#endif\\n#endif\",morphtarget_vertex:\"#ifdef USE_MORPHTARGETS\\n\\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\n\\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\n\\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\n\\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n\\t#ifndef USE_MORPHNORMALS\\n\\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\n\\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\n\\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\n\\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n\\t#endif\\n#endif\\n\",normal_flip:\"#ifdef DOUBLE_SIDED\\n\\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\\n#else\\n\\tfloat flipNormal = 1.0;\\n#endif\\n\",normal_fragment:\"#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal ) * flipNormal;\\n#endif\\n#ifdef USE_NORMALMAP\\n\\tnormal = perturbNormal2Arb( -vViewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n\",normalmap_pars_fragment:\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\n\\t\\tvec3 q0 = dFdx( eye_pos.xyz );\\n\\t\\tvec3 q1 = dFdy( eye_pos.xyz );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\n\\t\\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\n\\t\\tvec3 N = normalize( surf_norm );\\n\\t\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t\\tmapN.xy = normalScale * mapN.xy;\\n\\t\\tmat3 tsn = mat3( S, T, N );\\n\\t\\treturn normalize( tsn * mapN );\\n\\t}\\n#endif\\n\",packing:\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 1.0 - 2.0 * rgb.xyz;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\\n\",premultiplied_alpha_fragment:\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\\n\",project_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 mvPosition = modelViewMatrix * skinned;\\n#else\\n\\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\\n\",roughnessmap_fragment:\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.r;\\n#endif\\n\",roughnessmap_pars_fragment:\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\",shadowmap_pars_fragment:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\\n\\t\\tconst vec2 offset = vec2( 0.0, 1.0 );\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / size;\\n\\t\\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\\n\\t\\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\\n\\t\\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\\n\\t\\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\\n\\t\\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\\n\\t\\tvec2 f = fract( uv * size + 0.5 );\\n\\t\\tfloat a = mix( lb, lt, f.y );\\n\\t\\tfloat b = mix( rb, rt, f.y );\\n\\t\\tfloat c = mix( a, b, f.x );\\n\\t\\treturn c;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\\n\",shadowmap_pars_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\\n\\t#endif\\n#endif\\n\",shadowmap_vertex:\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\\n\\t}\\n\\t#endif\\n#endif\\n\",shadowmask_pars_fragment:\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHTS > 0\\n\\tDirectionalLight directionalLight;\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHTS > 0\\n\\tSpotLight spotLight;\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#if NUM_POINT_LIGHTS > 0\\n\\tPointLight pointLight;\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\\n\",skinbase_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\",skinning_pars_vertex:\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform sampler2D boneTexture;\\n\\t\\tuniform int boneTextureWidth;\\n\\t\\tuniform int boneTextureHeight;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureWidth ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureWidth ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureWidth );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureHeight );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\\n\",skinning_vertex:\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\tskinned = bindMatrixInverse * skinned;\\n#endif\\n\",skinnormal_vertex:\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n#endif\\n\",specularmap_fragment:\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\",specularmap_pars_fragment:\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\",tonemapping_fragment:\"#if defined( TONE_MAPPING )\\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\\n\",tonemapping_pars_fragment:\"#define saturate(a) clamp( a, 0.0, 1.0 )\\nuniform float toneMappingExposure;\\nuniform float toneMappingWhitePoint;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\\nvec3 Uncharted2ToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\n\",uv_pars_fragment:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n#endif\",uv_pars_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvarying vec2 vUv;\\n\\tuniform vec4 offsetRepeat;\\n#endif\\n\",uv_vertex:\"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\\n\\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",uv2_pars_fragment:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_pars_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n#endif\",uv2_vertex:\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = uv2;\\n#endif\",worldpos_vertex:\"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n\\t#ifdef USE_SKINNING\\n\\t\\tvec4 worldPosition = modelMatrix * skinned;\\n\\t#else\\n\\t\\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\\n\\t#endif\\n#endif\\n\",cube_frag:\"uniform samplerCube tCube;\\nuniform float tFlip;\\nuniform float opacity;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n\\tgl_FragColor.a *= opacity;\\n}\\n\",cube_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",depth_frag:\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\\n\\t#endif\\n}\\n\",depth_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",distanceRGBA_frag:\"uniform vec3 lightPos;\\nvarying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\nvoid main () {\\n\\t#include \\n\\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\\n}\\n\",distanceRGBA_vert:\"varying vec4 vWorldPosition;\\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvWorldPosition = worldPosition;\\n}\\n\",equirect_frag:\"uniform sampler2D tEquirect;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvec3 direction = normalize( vWorldPosition );\\n\\tvec2 sampleUV;\\n\\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\\n\\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n}\\n\",equirect_vert:\"varying vec3 vWorldPosition;\\n#include \\nvoid main() {\\n\\tvWorldPosition = transformDirection( position, modelMatrix );\\n\\t#include \\n\\t#include \\n}\\n\",linedashed_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",linedashed_vert:\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvLineDistance = scale * lineDistance;\\n\\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshbasic_vert:\"#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_ENVMAP\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_frag:\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\\n\\t#include \\n\\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshlambert_vert:\"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_frag:\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include \\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphong_vert:\"#define PHONG\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_frag:\"#define PHYSICAL\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifndef STANDARD\\n\\tuniform float clearCoat;\\n\\tuniform float clearCoatRoughness;\\n#endif\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",meshphysical_vert:\"#define PHYSICAL\\nvarying vec3 vViewPosition;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",normal_frag:\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\\n\",normal_vert:\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\\n\",points_frag:\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\toutgoingLight = diffuseColor.rgb;\\n\\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",points_vert:\"uniform float size;\\nuniform float scale;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tgl_PointSize = size * ( scale / - mvPosition.z );\\n\\t#else\\n\\t\\tgl_PointSize = size;\\n\\t#endif\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\",shadow_frag:\"uniform float opacity;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nvoid main() {\\n\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\\n}\\n\",shadow_vert:\"#include \\nvoid main() {\\n\\t#include \\n\\t#include \\n\\t#include \\n\\t#include \\n}\\n\"};q.prototype={constructor:q,isColor:!0,r:1,g:1,b:1,set:function(e){return e&&e.isColor?this.copy(e):\"number\"==typeof e?this.setHex(e):\"string\"==typeof e&&this.setStyle(e),this},setScalar:function(e){return this.r=e,this.g=e,this.b=e,this},setHex:function(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this},setRGB:function(e,t,n){return this.r=e,this.g=t,this.b=n,this},setHSL:function(){function e(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}return function(t,n,r){if(t=hs.euclideanModulo(t,1),n=hs.clamp(n,0,1),r=hs.clamp(r,0,1),0===n)this.r=this.g=this.b=r;else{var i=r<=.5?r*(1+n):r+n-r*n,o=2*r-i;this.r=e(o,i,t+1/3),this.g=e(o,i,t),this.b=e(o,i,t-1/3)}return this}}(),setStyle:function(e){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}var n;if(n=/^((?:rgb|hsl)a?)\\(\\s*([^\\)]*)\\)/.exec(e)){var r,i=n[1],o=n[2];switch(i){case\"rgb\":case\"rgba\":if(r=/^(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,t(r[5]),this;if(r=/^(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,t(r[5]),this;break;case\"hsl\":case\"hsla\":if(r=/^([0-9]*\\.?[0-9]+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(,\\s*([0-9]*\\.?[0-9]+)\\s*)?$/.exec(o)){var a=parseFloat(r[1])/360,s=parseInt(r[2],10)/100,l=parseInt(r[3],10)/100;return t(r[5]),this.setHSL(a,s,l)}}}else if(n=/^\\#([A-Fa-f0-9]+)$/.exec(e)){var u=n[1],c=u.length;if(3===c)return this.r=parseInt(u.charAt(0)+u.charAt(0),16)/255,this.g=parseInt(u.charAt(1)+u.charAt(1),16)/255,this.b=parseInt(u.charAt(2)+u.charAt(2),16)/255,this;if(6===c)return this.r=parseInt(u.charAt(0)+u.charAt(1),16)/255,this.g=parseInt(u.charAt(2)+u.charAt(3),16)/255,this.b=parseInt(u.charAt(4)+u.charAt(5),16)/255,this}if(e&&e.length>0){var u=ws[e];void 0!==u?this.setHex(u):console.warn(\"THREE.Color: Unknown color \"+e)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},copyGammaToLinear:function(e,t){return void 0===t&&(t=2),this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this},copyLinearToGamma:function(e,t){void 0===t&&(t=2);var n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this},convertGammaToLinear:function(){var e=this.r,t=this.g,n=this.b;return this.r=e*e,this.g=t*t,this.b=n*n,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return(\"000000\"+this.getHex().toString(16)).slice(-6)},getHSL:function(e){var t,n,r=e||{h:0,s:0,l:0},i=this.r,o=this.g,a=this.b,s=Math.max(i,o,a),l=Math.min(i,o,a),u=(l+s)/2;if(l===s)t=0,n=0;else{var c=s-l;switch(n=u<=.5?c/(s+l):c/(2-s-l),s){case i:t=(o-a)/c+(othis.max.x||e.ythis.max.y)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y},getParameter:function(e,t){return(t||new i).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)},clampPoint:function(e,t){return(t||new i).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new i;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}};var Es=0;$.prototype={constructor:$,isMaterial:!0,get needsUpdate(){return this._needsUpdate},set needsUpdate(e){!0===e&&this.update(),this._needsUpdate=e},setValues:function(e){if(void 0!==e)for(var t in e){var n=e[t];if(void 0!==n){var r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=\"overdraw\"===t?Number(n):n:console.warn(\"THREE.\"+this.type+\": '\"+t+\"' is not a property of this material.\")}else console.warn(\"THREE.Material: '\"+t+\"' parameter is undefined.\")}},toJSON:function(e){function t(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}var n=void 0===e;n&&(e={textures:{},images:{}});var r={metadata:{version:4.4,type:\"Material\",generator:\"Material.toJSON\"}};if(r.uuid=this.uuid,r.type=this.type,\"\"!==this.name&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),void 0!==this.roughness&&(r.roughness=this.roughness),void 0!==this.metalness&&(r.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),void 0!==this.shininess&&(r.shininess=this.shininess),void 0!==this.clearCoat&&(r.clearCoat=this.clearCoat),void 0!==this.clearCoatRoughness&&(r.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,r.reflectivity=this.reflectivity),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.size&&(r.size=this.size),void 0!==this.sizeAttenuation&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==go&&(r.blending=this.blending),this.shading!==co&&(r.shading=this.shading),this.side!==ao&&(r.side=this.side),this.vertexColors!==fo&&(r.vertexColors=this.vertexColors),this.opacity<1&&(r.opacity=this.opacity),!0===this.transparent&&(r.transparent=this.transparent),r.depthFunc=this.depthFunc,r.depthTest=this.depthTest,r.depthWrite=this.depthWrite,this.alphaTest>0&&(r.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(r.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(r.wireframe=this.wireframe),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),\"round\"!==this.wireframeLinecap&&(r.wireframeLinecap=this.wireframeLinecap),\"round\"!==this.wireframeLinejoin&&(r.wireframeLinejoin=this.wireframeLinejoin),r.skinning=this.skinning,r.morphTargets=this.morphTargets,n){var i=t(e.textures),o=t(e.images);i.length>0&&(r.textures=i),o.length>0&&(r.images=o)}return r},clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.name=e.name,this.fog=e.fog,this.lights=e.lights,this.blending=e.blending,this.side=e.side,this.shading=e.shading,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.alphaTest=e.alphaTest,this.premultipliedAlpha=e.premultipliedAlpha,this.overdraw=e.overdraw,this.visible=e.visible,this.clipShadows=e.clipShadows,this.clipIntersection=e.clipIntersection;var t=e.clippingPlanes,n=null;if(null!==t){var r=t.length;n=new Array(r);for(var i=0;i!==r;++i)n[i]=t[i].clone()}return this.clippingPlanes=n,this},update:function(){this.dispatchEvent({type:\"update\"})},dispose:function(){this.dispatchEvent({type:\"dispose\"})}},Object.assign($.prototype,r.prototype),Q.prototype=Object.create($.prototype),Q.prototype.constructor=Q,Q.prototype.isShaderMaterial=!0,Q.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=xs.clone(e.uniforms),this.defines=e.defines,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=e.extensions,this},Q.prototype.toJSON=function(e){var t=$.prototype.toJSON.call(this,e);return t.uniforms=this.uniforms,t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t},ee.prototype=Object.create($.prototype),ee.prototype.constructor=ee,ee.prototype.isMeshDepthMaterial=!0,ee.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.depthPacking=e.depthPacking,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this},te.prototype={constructor:te,isBox3:!0,set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromArray:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.length;si&&(i=u),c>o&&(o=c),d>a&&(a=d)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromBufferAttribute:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,l=e.count;si&&(i=u),c>o&&(o=c),d>a&&(a=d)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},getParameter:function(e,t){return(t||new c).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)},intersectsSphere:function(){var e;return function(t){return void 0===e&&(e=new c),this.clampPoint(t.center,e),e.distanceToSquared(t.center)<=t.radius*t.radius}}(),intersectsPlane:function(e){var t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=e.constant&&n>=e.constant},clampPoint:function(e,t){return(t||new c).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new c;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),getBoundingSphere:function(){var e=new c;return function(t){var n=t||new ne;return this.getCenter(n.center),n.radius=.5*this.getSize(e).length(),n}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},applyMatrix4:function(){var e=[new c,new c,new c,new c,new c,new c,new c,new c];return function(t){return this.isEmpty()?this:(e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(e),this)}}(),translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}},ne.prototype={constructor:ne,set:function(e,t){return this.center.copy(e),this.radius=t,this},setFromPoints:function(){var e;return function(t,n){void 0===e&&(e=new te);var r=this.center;void 0!==n?r.copy(n):e.setFromPoints(t).getCenter(r);for(var i=0,o=0,a=t.length;othis.radius*this.radius&&(r.sub(this.center).normalize(),r.multiplyScalar(this.radius).add(this.center)),r},getBoundingBox:function(e){var t=e||new te;return t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},translate:function(e){return this.center.add(e),this},equals:function(e){return e.center.equals(this.center)&&e.radius===this.radius}},re.prototype={constructor:re,isMatrix3:!0,set:function(e,t,n,r,i,o,a,s,l){var u=this.elements;return u[0]=e,u[1]=r,u[2]=a,u[3]=t,u[4]=i,u[5]=s,u[6]=n,u[7]=o,u[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(e){var t=e.elements;return this.set(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8]),this},setFromMatrix4:function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},applyToBufferAttribute:function(){var e;return function(t){void 0===e&&(e=new c);for(var n=0,r=t.count;n1))return r.copy(i).multiplyScalar(a).add(t.start)}else if(0===this.distanceToPoint(t.start))return r.copy(t.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return(e||new c).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new c,t=new re;return function(n,r){var i=this.coplanarPoint(e).applyMatrix4(n),o=r||t.getNormalMatrix(n),a=this.normal.applyMatrix3(o).normalize();return this.constant=-i.dot(a),this}}(),translate:function(e){return this.constant=this.constant-e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}},oe.prototype={constructor:oe,set:function(e,t,n,r,i,o){var a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(i),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){for(var t=this.planes,n=0;n<6;n++)t[n].copy(e.planes[n]);return this},setFromMatrix:function(e){var t=this.planes,n=e.elements,r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],l=n[5],u=n[6],c=n[7],d=n[8],f=n[9],h=n[10],p=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return t[0].setComponents(a-r,c-s,p-d,y-m).normalize(),t[1].setComponents(a+r,c+s,p+d,y+m).normalize(),t[2].setComponents(a+i,c+l,p+f,y+g).normalize(),t[3].setComponents(a-i,c-l,p-f,y-g).normalize(),t[4].setComponents(a-o,c-u,p-h,y-v).normalize(),t[5].setComponents(a+o,c+u,p+h,y+v).normalize(),this},intersectsObject:function(){var e=new ne;return function(t){var n=t.geometry;return null===n.boundingSphere&&n.computeBoundingSphere(),e.copy(n.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSprite:function(){var e=new ne;return function(t){return e.center.set(0,0,0),e.radius=.7071067811865476,e.applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSphere:function(e){for(var t=this.planes,n=e.center,r=-e.radius,i=0;i<6;i++){if(t[i].distanceToPoint(n)0?n.min.x:n.max.x,t.x=o.normal.x>0?n.max.x:n.min.x,e.y=o.normal.y>0?n.min.y:n.max.y,t.y=o.normal.y>0?n.max.y:n.min.y,e.z=o.normal.z>0?n.min.z:n.max.z,t.z=o.normal.z>0?n.max.z:n.min.z;var a=o.distanceToPoint(e),s=o.distanceToPoint(t);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(e){for(var t=this.planes,n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}},se.prototype={constructor:se,set:function(e,t){return this.origin.copy(e),this.direction.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this},at:function(e,t){return(t||new c).copy(this.direction).multiplyScalar(e).add(this.origin)},lookAt:function(e){return this.direction.copy(e).sub(this.origin).normalize(),this},recast:function(){var e=new c;return function(t){return this.origin.copy(this.at(t,e)),this}}(),closestPointToPoint:function(e,t){var n=t||new c;n.subVectors(e,this.origin);var r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.direction).multiplyScalar(r).add(this.origin)},distanceToPoint:function(e){return Math.sqrt(this.distanceSqToPoint(e))},distanceSqToPoint:function(){var e=new c;return function(t){var n=e.subVectors(t,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(t):(e.copy(this.direction).multiplyScalar(n).add(this.origin),e.distanceToSquared(t))}}(),distanceSqToSegment:function(){var e=new c,t=new c,n=new c;return function(r,i,o,a){e.copy(r).add(i).multiplyScalar(.5),t.copy(i).sub(r).normalize(),n.copy(this.origin).sub(e);var s,l,u,c,d=.5*r.distanceTo(i),f=-this.direction.dot(t),h=n.dot(this.direction),p=-n.dot(t),m=n.lengthSq(),g=Math.abs(1-f*f);if(g>0)if(s=f*p-h,l=f*h-p,c=d*g,s>=0)if(l>=-c)if(l<=c){var v=1/g;s*=v,l*=v,u=s*(s+f*l+2*h)+l*(f*s+l+2*p)+m}else l=d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;else l=-d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;else l<=-c?(s=Math.max(0,-(-f*d+h)),l=s>0?-d:Math.min(Math.max(-d,-p),d),u=-s*s+l*(l+2*p)+m):l<=c?(s=0,l=Math.min(Math.max(-d,-p),d),u=l*(l+2*p)+m):(s=Math.max(0,-(f*d+h)),l=s>0?d:Math.min(Math.max(-d,-p),d),u=-s*s+l*(l+2*p)+m);else l=f>0?-d:d,s=Math.max(0,-(f*l+h)),u=-s*s+l*(l+2*p)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(t).multiplyScalar(l).add(e),u}}(),intersectSphere:function(){var e=new c;return function(t,n){e.subVectors(t.center,this.origin);var r=e.dot(this.direction),i=e.dot(e)-r*r,o=t.radius*t.radius;if(i>o)return null;var a=Math.sqrt(o-i),s=r-a,l=r+a;return s<0&&l<0?null:s<0?this.at(l,n):this.at(s,n)}}(),intersectsSphere:function(e){return this.distanceToPoint(e.center)<=e.radius},distanceToPlane:function(e){var t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null},intersectPlane:function(e,t){var n=this.distanceToPlane(e);return null===n?null:this.at(n,t)},intersectsPlane:function(e){var t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0},intersectBox:function(e,t){var n,r,i,o,a,s,l=1/this.direction.x,u=1/this.direction.y,c=1/this.direction.z,d=this.origin;return l>=0?(n=(e.min.x-d.x)*l,r=(e.max.x-d.x)*l):(n=(e.max.x-d.x)*l,r=(e.min.x-d.x)*l),u>=0?(i=(e.min.y-d.y)*u,o=(e.max.y-d.y)*u):(i=(e.max.y-d.y)*u,o=(e.min.y-d.y)*u),n>o||i>r?null:((i>n||n!==n)&&(n=i),(o=0?(a=(e.min.z-d.z)*c,s=(e.max.z-d.z)*c):(a=(e.max.z-d.z)*c,s=(e.min.z-d.z)*c),n>s||a>r?null:((a>n||n!==n)&&(n=a),(s=0?n:r,t)))},intersectsBox:function(){var e=new c;return function(t){return null!==this.intersectBox(t,e)}}(),intersectTriangle:function(){var e=new c,t=new c,n=new c,r=new c;return function(i,o,a,s,l){t.subVectors(o,i),n.subVectors(a,i),r.crossVectors(t,n);var u,c=this.direction.dot(r);if(c>0){if(s)return null;u=1}else{if(!(c<0))return null;u=-1,c=-c}e.subVectors(this.origin,i);var d=u*this.direction.dot(n.crossVectors(e,n));if(d<0)return null;var f=u*this.direction.dot(t.cross(e));if(f<0)return null;if(d+f>c)return null;var h=-u*e.dot(r);return h<0?null:this.at(h/c,l)}}(),applyMatrix4:function(e){return this.direction.add(this.origin).applyMatrix4(e),this.origin.applyMatrix4(e),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}},le.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"],le.DefaultOrder=\"XYZ\",le.prototype={constructor:le,isEuler:!0,get x(){return this._x},set x(e){this._x=e,this.onChangeCallback()},get y(){return this._y},set y(e){this._y=e,this.onChangeCallback()},get z(){return this._z},set z(e){this._z=e,this.onChangeCallback()},get order(){return this._order},set order(e){this._order=e,this.onChangeCallback()},set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._order=r||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this.onChangeCallback(),this},setFromRotationMatrix:function(e,t,n){var r=hs.clamp,i=e.elements,o=i[0],a=i[4],s=i[8],l=i[1],u=i[5],c=i[9],d=i[2],f=i[6],h=i[10];return t=t||this._order,\"XYZ\"===t?(this._y=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(f,u),this._z=0)):\"YXZ\"===t?(this._x=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(this._y=Math.atan2(s,h),this._z=Math.atan2(l,u)):(this._y=Math.atan2(-d,o),this._z=0)):\"ZXY\"===t?(this._x=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(this._y=Math.atan2(-d,h),this._z=Math.atan2(-a,u)):(this._y=0,this._z=Math.atan2(l,o))):\"ZYX\"===t?(this._y=Math.asin(-r(d,-1,1)),Math.abs(d)<.99999?(this._x=Math.atan2(f,h),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-a,u))):\"YZX\"===t?(this._z=Math.asin(r(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-c,u),this._y=Math.atan2(-d,o)):(this._x=0,this._y=Math.atan2(s,h))):\"XZY\"===t?(this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(f,u),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-c,h),this._y=0)):console.warn(\"THREE.Euler: .setFromRotationMatrix() given unsupported order: \"+t),this._order=t,!1!==n&&this.onChangeCallback(),this},setFromQuaternion:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeRotationFromQuaternion(t),this.setFromRotationMatrix(e,n,r)}}(),setFromVector3:function(e,t){return this.set(e.x,e.y,e.z,t||this._order)},reorder:function(){var e=new u;return function(t){return e.setFromEuler(this),this.setFromQuaternion(e,t)}}(),equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order},fromArray:function(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e},toVector3:function(e){return e?e.set(this._x,this._y,this._z):new c(this._x,this._y,this._z)},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}},ue.prototype={constructor:ue,set:function(e){this.mask=1<1){for(var t=0;t1)for(var t=0;t0){i.children=[];for(var o=0;o0&&(r.geometries=a),s.length>0&&(r.materials=s),l.length>0&&(r.textures=l),u.length>0&&(r.images=u)}return r.object=i,r},clone:function(e){return(new this.constructor).copy(this,e)},copy:function(e,t){if(void 0===t&&(t=!0),this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(var n=0;n0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),fe.barycoordFromPoint=function(){var e=new c,t=new c,n=new c;return function(r,i,o,a,s){e.subVectors(a,i),t.subVectors(o,i),n.subVectors(r,i);var l=e.dot(e),u=e.dot(t),d=e.dot(n),f=t.dot(t),h=t.dot(n),p=l*f-u*u,m=s||new c;if(0===p)return m.set(-2,-1,-1);var g=1/p,v=(f*d-u*h)*g,y=(l*h-u*d)*g;return m.set(1-v-y,y,v)}}(),fe.containsPoint=function(){var e=new c;return function(t,n,r,i){var o=fe.barycoordFromPoint(t,n,r,i,e);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}(),fe.prototype={constructor:fe,set:function(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this},setFromPointsAndIndices:function(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this},area:function(){var e=new c,t=new c;return function(){return e.subVectors(this.c,this.b),t.subVectors(this.a,this.b),.5*e.cross(t).length()}}(),midpoint:function(e){return(e||new c).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(e){return fe.normal(this.a,this.b,this.c,e)},plane:function(e){return(e||new ie).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(e,t){return fe.barycoordFromPoint(e,this.a,this.b,this.c,t)},containsPoint:function(e){return fe.containsPoint(e,this.a,this.b,this.c)},closestPointToPoint:function(){var e,t,n,r;return function(i,o){void 0===e&&(e=new ie,t=[new de,new de,new de],n=new c,r=new c);var a=o||new c,s=1/0;if(e.setFromCoplanarPoints(this.a,this.b,this.c),e.projectPoint(i,n),!0===this.containsPoint(n))a.copy(n);else{t[0].set(this.a,this.b),t[1].set(this.b,this.c),t[2].set(this.c,this.a);for(var l=0;l0,s=o[1]&&o[1].length>0,l=e.morphTargets,u=l.length;if(u>0){t=[];for(var c=0;c0){d=[];for(var c=0;c0)for(var m=0;m0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var e,t,n;for(this.computeFaceNormals(),e=0,t=this.faces.length;e0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var e,t,n,r,i;for(n=0,r=this.faces.length;n0&&(e+=t[n].distanceTo(t[n-1])),this.lineDistances[n]=e},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new te),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ne),this.boundingSphere.setFromPoints(this.vertices)},merge:function(e,t,n){if(!1===(e&&e.isGeometry))return void console.error(\"THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.\",e);var r,i=this.vertices.length,o=this.vertices,a=e.vertices,s=this.faces,l=e.faces,u=this.faceVertexUvs[0],c=e.faceVertexUvs[0],d=this.colors,f=e.colors;void 0===n&&(n=0),void 0!==t&&(r=(new re).getNormalMatrix(t));for(var h=0,p=a.length;h=0;n--){var p=f[n];for(this.faces.splice(p,1),a=0,s=this.faceVertexUvs.length;a0,x=v.vertexNormals.length>0,_=1!==v.color.r||1!==v.color.g||1!==v.color.b,w=v.vertexColors.length>0,M=0;if(M=e(M,0,0),M=e(M,1,!0),M=e(M,2,!1),M=e(M,3,y),M=e(M,4,b),M=e(M,5,x),M=e(M,6,_),M=e(M,7,w),c.push(M),c.push(v.a,v.b,v.c),c.push(v.materialIndex),y){var S=this.faceVertexUvs[0][l];c.push(r(S[0]),r(S[1]),r(S[2]))}if(b&&c.push(t(v.normal)),x){var E=v.vertexNormals;c.push(t(E[0]),t(E[1]),t(E[2]))}if(_&&c.push(n(v.color)),w){var T=v.vertexColors;c.push(n(T[0]),n(T[1]),n(T[2]))}}return i.data={},i.data.vertices=s,i.data.normals=d,h.length>0&&(i.data.colors=h),m.length>0&&(i.data.uvs=[m]),i.data.faces=c,i},clone:function(){return(new Oe).copy(this)},copy:function(e){var t,n,r,i,o,a;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var s=e.vertices;for(t=0,n=s.length;t65535?we:xe)(e,1):this.index=e},addAttribute:function(e,t){return!1===(t&&t.isBufferAttribute)&&!1===(t&&t.isInterleavedBufferAttribute)?(console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\"),void this.addAttribute(e,new me(arguments[1],arguments[2]))):\"index\"===e?(console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\"),void this.setIndex(t)):(this.attributes[e]=t,this)},getAttribute:function(e){return this.attributes[e]},removeAttribute:function(e){return delete this.attributes[e],this},addGroup:function(e,t,n){this.groups.push({start:e,count:t,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(e,t){this.drawRange.start=e,this.drawRange.count=t},applyMatrix:function(e){var t=this.attributes.position;void 0!==t&&(e.applyToBufferAttribute(t),t.needsUpdate=!0);var n=this.attributes.normal;if(void 0!==n){(new re).getNormalMatrix(e).applyToBufferAttribute(n),n.needsUpdate=!0}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e;return function(t){return void 0===e&&(e=new d),e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeTranslation(t,n,r),this.applyMatrix(e),this}}(),scale:function(){var e;return function(t,n,r){return void 0===e&&(e=new d),e.makeScale(t,n,r),this.applyMatrix(e),this}}(),lookAt:function(){var e;return function(t){void 0===e&&(e=new ce),e.lookAt(t),e.updateMatrix(),this.applyMatrix(e.matrix)}}(),center:function(){this.computeBoundingBox();var e=this.boundingBox.getCenter().negate();return this.translate(e.x,e.y,e.z),e},setFromObject:function(e){var t=e.geometry;if(e.isPoints||e.isLine){var n=new Me(3*t.vertices.length,3),r=new Me(3*t.colors.length,3);if(this.addAttribute(\"position\",n.copyVector3sArray(t.vertices)),this.addAttribute(\"color\",r.copyColorsArray(t.colors)),t.lineDistances&&t.lineDistances.length===t.vertices.length){var i=new Me(t.lineDistances.length,1);this.addAttribute(\"lineDistance\",i.copyArray(t.lineDistances))}null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone())}else e.isMesh&&t&&t.isGeometry&&this.fromGeometry(t);return this},updateFromObject:function(e){var t=e.geometry;if(e.isMesh){var n=t.__directGeometry;if(!0===t.elementsNeedUpdate&&(n=void 0,t.elementsNeedUpdate=!1),void 0===n)return this.fromGeometry(t);n.verticesNeedUpdate=t.verticesNeedUpdate,n.normalsNeedUpdate=t.normalsNeedUpdate,n.colorsNeedUpdate=t.colorsNeedUpdate,n.uvsNeedUpdate=t.uvsNeedUpdate,n.groupsNeedUpdate=t.groupsNeedUpdate,t.verticesNeedUpdate=!1,t.normalsNeedUpdate=!1,t.colorsNeedUpdate=!1,t.uvsNeedUpdate=!1,t.groupsNeedUpdate=!1,t=n}var r;return!0===t.verticesNeedUpdate&&(r=this.attributes.position,void 0!==r&&(r.copyVector3sArray(t.vertices),r.needsUpdate=!0),t.verticesNeedUpdate=!1),!0===t.normalsNeedUpdate&&(r=this.attributes.normal,void 0!==r&&(r.copyVector3sArray(t.normals),r.needsUpdate=!0),t.normalsNeedUpdate=!1),!0===t.colorsNeedUpdate&&(r=this.attributes.color,void 0!==r&&(r.copyColorsArray(t.colors),r.needsUpdate=!0),t.colorsNeedUpdate=!1),t.uvsNeedUpdate&&(r=this.attributes.uv,void 0!==r&&(r.copyVector2sArray(t.uvs),r.needsUpdate=!0),t.uvsNeedUpdate=!1),t.lineDistancesNeedUpdate&&(r=this.attributes.lineDistance,void 0!==r&&(r.copyArray(t.lineDistances),r.needsUpdate=!0),t.lineDistancesNeedUpdate=!1),t.groupsNeedUpdate&&(t.computeGroups(e.geometry),this.groups=t.groups,t.groupsNeedUpdate=!1),this},fromGeometry:function(e){return e.__directGeometry=(new Ee).fromGeometry(e),this.fromDirectGeometry(e.__directGeometry)},fromDirectGeometry:function(e){var t=new Float32Array(3*e.vertices.length);if(this.addAttribute(\"position\",new me(t,3).copyVector3sArray(e.vertices)),e.normals.length>0){var n=new Float32Array(3*e.normals.length);this.addAttribute(\"normal\",new me(n,3).copyVector3sArray(e.normals))}if(e.colors.length>0){var r=new Float32Array(3*e.colors.length);this.addAttribute(\"color\",new me(r,3).copyColorsArray(e.colors))}if(e.uvs.length>0){var i=new Float32Array(2*e.uvs.length);this.addAttribute(\"uv\",new me(i,2).copyVector2sArray(e.uvs))}if(e.uvs2.length>0){var o=new Float32Array(2*e.uvs2.length);this.addAttribute(\"uv2\",new me(o,2).copyVector2sArray(e.uvs2))}if(e.indices.length>0){var a=Te(e.indices)>65535?Uint32Array:Uint16Array,s=new a(3*e.indices.length);this.setIndex(new me(s,1).copyIndicesArray(e.indices))}this.groups=e.groups;for(var l in e.morphTargets){for(var u=[],c=e.morphTargets[l],d=0,f=c.length;d0){var m=new Me(4*e.skinIndices.length,4);this.addAttribute(\"skinIndex\",m.copyVector4sArray(e.skinIndices))}if(e.skinWeights.length>0){var g=new Me(4*e.skinWeights.length,4);this.addAttribute(\"skinWeight\",g.copyVector4sArray(e.skinWeights))}return null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new te);var e=this.attributes.position;void 0!==e?this.boundingBox.setFromBufferAttribute(e):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var e=new te,t=new c;return function(){null===this.boundingSphere&&(this.boundingSphere=new ne);var n=this.attributes.position;if(n){var r=this.boundingSphere.center;e.setFromBufferAttribute(n),e.getCenter(r);for(var i=0,o=0,a=n.count;o0&&(e.data.groups=JSON.parse(JSON.stringify(s)));var l=this.boundingSphere;return null!==l&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),e},clone:function(){return(new Pe).copy(this)},copy:function(e){var t,n,r;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var i=e.index;null!==i&&this.setIndex(i.clone());var o=e.attributes;for(t in o){var a=o[t];this.addAttribute(t,a.clone())}var s=e.morphAttributes;for(t in s){var l=[],u=s[t];for(n=0,r=u.length;n0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var t=0,n=e.length;tt.far?null:{distance:l,point:x.clone(),object:e}}function n(n,r,i,o,a,c,d,f){s.fromBufferAttribute(o,c),l.fromBufferAttribute(o,d),u.fromBufferAttribute(o,f);var h=t(n,r,i,s,l,u,b);return h&&(a&&(m.fromBufferAttribute(a,c),g.fromBufferAttribute(a,d),v.fromBufferAttribute(a,f),h.uv=e(b,s,l,u,m,g,v)),h.face=new he(c,d,f,fe.normal(s,l,u)),h.faceIndex=c),h}var r=new d,o=new se,a=new ne,s=new c,l=new c,u=new c,f=new c,h=new c,p=new c,m=new i,g=new i,v=new i,y=new c,b=new c,x=new c;return function(i,c){var d=this.geometry,y=this.material,x=this.matrixWorld;if(void 0!==y&&(null===d.boundingSphere&&d.computeBoundingSphere(),a.copy(d.boundingSphere),a.applyMatrix4(x),!1!==i.ray.intersectsSphere(a)&&(r.getInverse(x),o.copy(i.ray).applyMatrix4(r),null===d.boundingBox||!1!==o.intersectsBox(d.boundingBox)))){var _;if(d.isBufferGeometry){var w,M,S,E,T,k=d.index,O=d.attributes.position,P=d.attributes.uv;if(null!==k)for(E=0,T=k.count;E0&&(L=B);for(var F=0,j=z.length;Fthis.scale.x*this.scale.y/4||n.push({distance:Math.sqrt(r),point:this.position,face:null,object:this})}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),vt.prototype=Object.assign(Object.create(ce.prototype),{constructor:vt,copy:function(e){ce.prototype.copy.call(this,e,!1);for(var t=e.levels,n=0,r=t.length;n1){e.setFromMatrixPosition(n.matrixWorld),t.setFromMatrixPosition(this.matrixWorld);var i=e.distanceTo(t);r[0].object.visible=!0;for(var o=1,a=r.length;o=r[o].distance;o++)r[o-1].object.visible=!1,r[o].object.visible=!0;for(;oa)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}else for(var b=0,x=v.length/3-1;ba)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}else if(s.isGeometry)for(var E=s.vertices,T=E.length,b=0;ba)){h.applyMatrix4(this.matrixWorld);var S=r.ray.origin.distanceTo(h);Sr.far||i.push({distance:S,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Mt.prototype=Object.assign(Object.create(wt.prototype),{constructor:Mt,isLineSegments:!0}),St.prototype=Object.create($.prototype),St.prototype.constructor=St,St.prototype.isPointsMaterial=!0,St.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this},Et.prototype=Object.assign(Object.create(ce.prototype),{constructor:Et,isPoints:!0,raycast:function(){var e=new d,t=new se,n=new ne;return function(r,i){function o(e,n){var o=t.distanceSqToPoint(e);if(or.far)return;i.push({distance:u,distanceToRay:Math.sqrt(o),point:s.clone(),index:n,face:null,object:a})}}var a=this,s=this.geometry,l=this.matrixWorld,u=r.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(l),!1!==r.ray.intersectsSphere(n)){e.getInverse(l),t.copy(r.ray).applyMatrix4(e);var d=u/((this.scale.x+this.scale.y+this.scale.z)/3),f=d*d,h=new c;if(s.isBufferGeometry){var p=s.index,m=s.attributes,g=m.position.array;if(null!==p)for(var v=p.array,y=0,b=v.length;y=-Number.EPSILON&&O>=-Number.EPSILON&&k>=-Number.EPSILON))return!1;return!0}return function(t,n){var r=t.length;if(r<3)return null;var i,o,a,s=[],l=[],u=[];if(Ps.area(t)>0)for(o=0;o2;){if(d--<=0)return console.warn(\"THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()\"),n?u:s;if(i=o,c<=i&&(i=0),o=i+1,c<=o&&(o=0),a=o+1,c<=a&&(a=0),e(t,i,o,a,c,l)){var f,h,p,m,g;for(f=l[i],h=l[o],p=l[a],s.push([t[f],t[h],t[p]]),u.push([l[i],l[o],l[a]]),m=o,g=o+1;g2&&e[t-1].equals(e[0])&&e.pop()}function r(e,t,n){return e.x!==t.x?e.xNumber.EPSILON){var p;if(f>0){if(h<0||h>f)return[];if((p=u*c-l*d)<0||p>f)return[]}else{if(h>0||h0||pE?[]:x===E?o?[]:[y]:_<=E?[y,b]:[y,M]}function o(e,t,n,r){var i=t.x-e.x,o=t.y-e.y,a=n.x-e.x,s=n.y-e.y,l=r.x-e.x,u=r.y-e.y,c=i*s-o*a,d=i*u-o*l;if(Math.abs(c)>Number.EPSILON){var f=l*s-u*a;return c>0?d>=0&&f>=0:d>=0||f>=0}return d>0}n(e),t.forEach(n);for(var a,s,l,u,c,d,f={},h=e.concat(),p=0,m=t.length;p0;){if(--_<0){console.log(\"Infinite Loop! Holes left:\"+g.length+\", Probably Hole outside Shape!\");break}for(a=x;ar&&(a=0);var s=o(m[e],m[i],m[a],n[t]);if(!s)return!1;var l=n.length-1,u=t-1;u<0&&(u=l);var c=t+1;return c>l&&(c=0),!!(s=o(n[t],n[u],n[c],m[e]))}(a,w)&&!function(e,t){var n,r,o;for(n=0;n0)return!0;return!1}(s,l)&&!function(e,n){var r,o,a,s,l;for(r=0;r0)return!0;return!1}(s,l)){r=w,g.splice(y,1),d=m.slice(0,a+1),f=m.slice(a),h=n.slice(r),p=n.slice(0,r+1),m=d.concat(h).concat(p).concat(f),x=a;break}if(r>=0)break;v[c]=!0}if(r>=0)break}}return m}(e,t),v=Ps.triangulate(g,!1);for(a=0,s=v.length;aNumber.EPSILON){var h=Math.sqrt(d),p=Math.sqrt(u*u+c*c),m=t.x-l/h,g=t.y+s/h,v=n.x-c/p,y=n.y+u/p,b=((v-m)*c-(y-g)*u)/(s*c-l*u);r=m+s*b-e.x,o=g+l*b-e.y;var x=r*r+o*o;if(x<=2)return new i(r,o);a=Math.sqrt(x/2)}else{var _=!1;s>Number.EPSILON?u>Number.EPSILON&&(_=!0):s<-Number.EPSILON?u<-Number.EPSILON&&(_=!0):Math.sign(l)===Math.sign(c)&&(_=!0),_?(r=-l,o=s,a=Math.sqrt(d)):(r=s,o=l,a=Math.sqrt(d/2))}return new i(r/a,o/a)}function o(e,t){var n,r;for(H=e.length;--H>=0;){n=H,r=H-1,r<0&&(r=e.length-1);var i=0,o=_+2*y;for(i=0;i=0;N--){for(B=N/y,F=g*Math.cos(B*Math.PI/2),z=v*Math.sin(B*Math.PI/2),H=0,Y=D.length;H0||0===e.search(/^data\\:image\\/jpeg/);i.format=r?Pa:Ca,i.image=n,i.needsUpdate=!0,void 0!==t&&t(i)},n,r),i},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),An.prototype=Object.assign(Object.create(ce.prototype),{constructor:An,isLight:!0,copy:function(e){return ce.prototype.copy.call(this,e),this.color.copy(e.color),this.intensity=e.intensity,this},toJSON:function(e){var t=ce.prototype.toJSON.call(this,e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}),Rn.prototype=Object.assign(Object.create(An.prototype),{constructor:Rn,isHemisphereLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}),Object.assign(Ln.prototype,{copy:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}),In.prototype=Object.assign(Object.create(Ln.prototype),{constructor:In,isSpotLightShadow:!0,update:function(e){var t=2*hs.RAD2DEG*e.angle,n=this.mapSize.width/this.mapSize.height,r=e.distance||500,i=this.camera;t===i.fov&&n===i.aspect&&r===i.far||(i.fov=t,i.aspect=n,i.far=r,i.updateProjectionMatrix())}}),Dn.prototype=Object.assign(Object.create(An.prototype),{constructor:Dn,isSpotLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Nn.prototype=Object.assign(Object.create(An.prototype),{constructor:Nn,isPointLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}),zn.prototype=Object.assign(Object.create(Ln.prototype),{constructor:zn}),Bn.prototype=Object.assign(Object.create(An.prototype),{constructor:Bn,isDirectionalLight:!0,copy:function(e){return An.prototype.copy.call(this,e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Fn.prototype=Object.assign(Object.create(An.prototype),{constructor:Fn,isAmbientLight:!0});var Is={arraySlice:function(e,t,n){return Is.isTypedArray(e)?new e.constructor(e.subarray(t,n)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:\"number\"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function t(t,n){return e[t]-e[n]}for(var n=e.length,r=new Array(n),i=0;i!==n;++i)r[i]=i;return r.sort(t),r},sortedArray:function(e,t,n){for(var r=e.length,i=new e.constructor(r),o=0,a=0;a!==r;++o)for(var s=n[o]*t,l=0;l!==t;++l)i[a++]=e[s+l];return i},flattenJSON:function(e,t,n,r){for(var i=1,o=e[0];void 0!==o&&void 0===o[r];)o=e[i++];if(void 0!==o){var a=o[r];if(void 0!==a)if(Array.isArray(a))do{a=o[r],void 0!==a&&(t.push(o.time),n.push.apply(n,a)),o=e[i++]}while(void 0!==o);else if(void 0!==a.toArray)do{a=o[r],void 0!==a&&(t.push(o.time),a.toArray(n,n.length)),o=e[i++]}while(void 0!==o);else do{a=o[r],void 0!==a&&(t.push(o.time),n.push(a)),o=e[i++]}while(void 0!==o)}}};jn.prototype={constructor:jn,evaluate:function(e){var t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{var o;n:{r:if(!(e=i)break e;var s=t[1];e=i)break t}o=n,n=0}}for(;n>>1;et;)--o;if(++o,0!==i||o!==r){i>=o&&(o=Math.max(o,1),i=o-1);var a=this.getValueSize();this.times=Is.arraySlice(n,i,o),this.values=Is.arraySlice(this.values,i*a,o*a)}return this},validate:function(){var e=!0,t=this.getValueSize();t-Math.floor(t)!=0&&(console.error(\"invalid value size in track\",this),e=!1);var n=this.times,r=this.values,i=n.length;0===i&&(console.error(\"track is empty\",this),e=!1);for(var o=null,a=0;a!==i;a++){var s=n[a];if(\"number\"==typeof s&&isNaN(s)){console.error(\"time is not a valid number\",this,a,s),e=!1;break}if(null!==o&&o>s){console.error(\"out of order keys\",this,a,s,o),e=!1;break}o=s}if(void 0!==r&&Is.isTypedArray(r))for(var a=0,l=r.length;a!==l;++a){var u=r[a];if(isNaN(u)){console.error(\"value is not a valid number\",this,a,u),e=!1;break}}return e},optimize:function(){for(var e=this.times,t=this.values,n=this.getValueSize(),r=this.getInterpolation()===Ka,i=1,o=e.length-1,a=1;a0){e[i]=e[o];for(var p=o*n,m=i*n,f=0;f!==n;++f)t[m+f]=t[p+f];++i}return i!==e.length&&(this.times=Is.arraySlice(e,0,i),this.values=Is.arraySlice(t,0,i*n)),this}},Hn.prototype=Object.assign(Object.create(Ds),{constructor:Hn,ValueTypeName:\"vector\"}),Yn.prototype=Object.assign(Object.create(jn.prototype),{constructor:Yn,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=(n-t)/(r-t),c=s+a;s!==c;s+=4)u.slerpFlat(i,0,o,s-a,o,s,l);return i}}),qn.prototype=Object.assign(Object.create(Ds),{constructor:qn,ValueTypeName:\"quaternion\",DefaultInterpolation:Za,InterpolantFactoryMethodLinear:function(e){return new Yn(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:void 0}),Xn.prototype=Object.assign(Object.create(Ds),{constructor:Xn,ValueTypeName:\"number\"}),Zn.prototype=Object.assign(Object.create(Ds),{constructor:Zn,ValueTypeName:\"string\",ValueBufferType:Array,DefaultInterpolation:Xa,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Kn.prototype=Object.assign(Object.create(Ds),{constructor:Kn,ValueTypeName:\"bool\",ValueBufferType:Array,DefaultInterpolation:Xa,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Jn.prototype=Object.assign(Object.create(Ds),{constructor:Jn,ValueTypeName:\"color\"}),$n.prototype=Ds,Ds.constructor=$n,Object.assign($n,{parse:function(e){if(void 0===e.type)throw new Error(\"track type undefined, can not parse\");var t=$n._getTrackTypeForValueTypeName(e.type);if(void 0===e.times){var n=[],r=[];Is.flattenJSON(e.keys,n,r,\"value\"),e.times=n,e.values=r}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)},toJSON:function(e){var t,n=e.constructor;if(void 0!==n.toJSON)t=n.toJSON(e);else{t={name:e.name,times:Is.convertArray(e.times,Array),values:Is.convertArray(e.values,Array)};var r=e.getInterpolation();r!==e.DefaultInterpolation&&(t.interpolation=r)}return t.type=e.ValueTypeName,t},_getTrackTypeForValueTypeName:function(e){switch(e.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return Xn;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return Hn;case\"color\":return Jn;case\"quaternion\":return qn;case\"bool\":case\"boolean\":return Kn;case\"string\":return Zn}throw new Error(\"Unsupported typeName: \"+e)}}),Qn.prototype={constructor:Qn,resetDuration:function(){for(var e=this.tracks,t=0,n=0,r=e.length;n!==r;++n){var i=this.tracks[n];t=Math.max(t,i.times[i.times.length-1])}this.duration=t},trim:function(){for(var e=0;e1){var u=l[1],c=r[u];c||(r[u]=c=[]),c.push(s)}}var d=[];for(var u in r)d.push(Qn.CreateFromMorphTargetSequence(u,r[u],t,n));return d},parseAnimation:function(e,t){if(!e)return console.error(\" no animation in JSONLoader data\"),null;for(var n=function(e,t,n,r,i){if(0!==n.length){var o=[],a=[];Is.flattenJSON(n,o,a,r),0!==o.length&&i.push(new e(t,o,a))}},r=[],i=e.name||\"default\",o=e.length||-1,a=e.fps||30,s=e.hierarchy||[],l=0;l1?e.skinWeights[r+1]:0,l=t>2?e.skinWeights[r+2]:0,u=t>3?e.skinWeights[r+3]:0;n.skinWeights.push(new a(o,s,l,u))}if(e.skinIndices)for(var r=0,i=e.skinIndices.length;r1?e.skinIndices[r+1]:0,f=t>2?e.skinIndices[r+2]:0,h=t>3?e.skinIndices[r+3]:0;n.skinIndices.push(new a(c,d,f,h))}n.bones=e.bones,n.bones&&n.bones.length>0&&(n.skinWeights.length!==n.skinIndices.length||n.skinIndices.length!==n.vertices.length)&&console.warn(\"When skinning, number of vertices (\"+n.vertices.length+\"), skinIndices (\"+n.skinIndices.length+\"), and skinWeights (\"+n.skinWeights.length+\") should match.\")}(),function(t){if(void 0!==e.morphTargets)for(var r=0,i=e.morphTargets.length;r0){console.warn('THREE.JSONLoader: \"morphColors\" no longer supported. Using them as face colors.');for(var d=n.faces,f=e.morphColors[0].colors,r=0,i=d.length;r0&&(n.animations=t)}(),n.computeFaceNormals(),n.computeBoundingSphere(),void 0===e.materials||0===e.materials.length)return{geometry:n};var o=nr.prototype.initMaterials(e.materials,t,this.crossOrigin);return{geometry:n,materials:o}}}),Object.assign(ir.prototype,{load:function(e,t,n,r){\"\"===this.texturePath&&(this.texturePath=e.substring(0,e.lastIndexOf(\"/\")+1));var i=this;new En(i.manager).load(e,function(n){var o=null;try{o=JSON.parse(n)}catch(t){return void 0!==r&&r(t),void console.error(\"THREE:ObjectLoader: Can't parse \"+e+\".\",t.message)}var a=o.metadata;if(void 0===a||void 0===a.type||\"geometry\"===a.type.toLowerCase())return void console.error(\"THREE.ObjectLoader: Can't load \"+e+\". Use THREE.JSONLoader instead.\");i.parse(o,t)},n,r)},setTexturePath:function(e){this.texturePath=e},setCrossOrigin:function(e){this.crossOrigin=e},parse:function(e,t){var n=this.parseGeometries(e.geometries),r=this.parseImages(e.images,function(){void 0!==t&&t(a)}),i=this.parseTextures(e.textures,r),o=this.parseMaterials(e.materials,i),a=this.parseObject(e.object,n,o);return e.animations&&(a.animations=this.parseAnimations(e.animations)),void 0!==e.images&&0!==e.images.length||void 0!==t&&t(a),a},parseGeometries:function(e){var t={};if(void 0!==e)for(var n=new rr,r=new tr,i=0,o=e.length;i0){var i=new Sn(t),o=new On(i);o.setCrossOrigin(this.crossOrigin);for(var a=0,s=e.length;a0?new xt(s,l):new Ce(s,l);break;case\"LOD\":a=new vt;break;case\"Line\":a=new wt(i(t.geometry),o(t.material),t.mode);break;case\"LineSegments\":a=new Mt(i(t.geometry),o(t.material));break;case\"PointCloud\":case\"Points\":a=new Et(i(t.geometry),o(t.material));break;case\"Sprite\":a=new gt(o(t.material));break;case\"Group\":a=new Tt;break;case\"SkinnedMesh\":console.warn(\"THREE.ObjectLoader.parseObject() does not support SkinnedMesh type. Instantiates Object3D instead.\");default:a=new ce}if(a.uuid=t.uuid,void 0!==t.name&&(a.name=t.name),void 0!==t.matrix?(e.fromArray(t.matrix),e.decompose(a.position,a.quaternion,a.scale)):(void 0!==t.position&&a.position.fromArray(t.position),void 0!==t.rotation&&a.rotation.fromArray(t.rotation),void 0!==t.quaternion&&a.quaternion.fromArray(t.quaternion),void 0!==t.scale&&a.scale.fromArray(t.scale)),void 0!==t.castShadow&&(a.castShadow=t.castShadow),void 0!==t.receiveShadow&&(a.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(a.shadow.bias=t.shadow.bias),void 0!==t.shadow.radius&&(a.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&a.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(a.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(a.visible=t.visible),void 0!==t.userData&&(a.userData=t.userData),void 0!==t.children)for(var u in t.children)a.add(this.parseObject(t.children[u],n,r));if(\"LOD\"===t.type)for(var c=t.levels,d=0;d0)){l=i;break}l=i-1}if(i=l,r[i]===n){var u=i/(o-1);return u}var c=r[i],d=r[i+1],f=d-c,h=(n-c)/f,u=(i+h)/(o-1);return u},getTangent:function(e){var t=e-1e-4,n=e+1e-4;t<0&&(t=0),n>1&&(n=1);var r=this.getPoint(t);return this.getPoint(n).clone().sub(r).normalize()},getTangentAt:function(e){var t=this.getUtoTmapping(e);return this.getTangent(t)},computeFrenetFrames:function(e,t){var n,r,i,o=new c,a=[],s=[],l=[],u=new c,f=new d;for(n=0;n<=e;n++)r=n/e,a[n]=this.getTangentAt(r),a[n].normalize();s[0]=new c,l[0]=new c;var h=Number.MAX_VALUE,p=Math.abs(a[0].x),m=Math.abs(a[0].y),g=Math.abs(a[0].z);for(p<=h&&(h=p,o.set(1,0,0)),m<=h&&(h=m,o.set(0,1,0)),g<=h&&o.set(0,0,1),u.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],u),l[0].crossVectors(a[0],s[0]),n=1;n<=e;n++)s[n]=s[n-1].clone(),l[n]=l[n-1].clone(),u.crossVectors(a[n-1],a[n]),u.length()>Number.EPSILON&&(u.normalize(),i=Math.acos(hs.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(f.makeRotationAxis(u,i))),l[n].crossVectors(a[n],s[n]);if(!0===t)for(i=Math.acos(hs.clamp(s[0].dot(s[e]),-1,1)),i/=e,a[0].dot(u.crossVectors(s[0],s[e]))>0&&(i=-i),n=1;n<=e;n++)s[n].applyMatrix4(f.makeRotationAxis(a[n],i*n)),l[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:l}}},gr.prototype=Object.create(mr.prototype),gr.prototype.constructor=gr,gr.prototype.isLineCurve=!0,gr.prototype.getPoint=function(e){if(1===e)return this.v2.clone();var t=this.v2.clone().sub(this.v1);return t.multiplyScalar(e).add(this.v1),t},gr.prototype.getPointAt=function(e){return this.getPoint(e)},gr.prototype.getTangent=function(e){return this.v2.clone().sub(this.v1).normalize()},vr.prototype=Object.assign(Object.create(mr.prototype),{constructor:vr,add:function(e){this.curves.push(e)},closePath:function(){var e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new gr(t,e))},getPoint:function(e){for(var t=e*this.getLength(),n=this.getCurveLengths(),r=0;r=t){var i=n[r]-t,o=this.curves[r],a=o.getLength(),s=0===a?0:1-i/a;return o.getPointAt(s)}r++}return null},getLength:function(){var e=this.getCurveLengths();return e[e.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],t=0,n=0,r=this.curves.length;n1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},createPointsGeometry:function(e){var t=this.getPoints(e);return this.createGeometry(t)},createSpacedPointsGeometry:function(e){var t=this.getSpacedPoints(e);return this.createGeometry(t)},createGeometry:function(e){for(var t=new Oe,n=0,r=e.length;nt;)n-=t;nt.length-2?t.length-1:r+1],u=t[r>t.length-3?t.length-1:r+2];return new i(or(o,a.x,s.x,l.x,u.x),or(o,a.y,s.y,l.y,u.y))},xr.prototype=Object.create(mr.prototype),xr.prototype.constructor=xr,xr.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2,o=this.v3;return new i(pr(e,t.x,n.x,r.x,o.x),pr(e,t.y,n.y,r.y,o.y))},_r.prototype=Object.create(mr.prototype),_r.prototype.constructor=_r,_r.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2;return new i(ur(e,t.x,n.x,r.x),ur(e,t.y,n.y,r.y))};var Ns=Object.assign(Object.create(vr.prototype),{fromPoints:function(e){this.moveTo(e[0].x,e[0].y);for(var t=1,n=e.length;t0){var u=l.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(l);var c=l.getPoint(1);this.currentPoint.copy(c)}});wr.prototype=Ns,Ns.constructor=wr,Mr.prototype=Object.assign(Object.create(Ns),{constructor:Mr,getPointsHoles:function(e){for(var t=[],n=0,r=this.holes.length;n1){for(var v=!1,y=[],b=0,x=f.length;bNumber.EPSILON){if(u<0&&(a=t[o],l=-l,s=t[i],u=-u),e.ys.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var c=u*(e.x-a.x)-l*(e.y-a.y);if(0===c)return!0;if(c<0)continue;r=!r}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return r})(M.p,f[E].p)&&(b!==E&&y.push({froms:b,tos:E,hole:w}),S?(S=!1,d[E].push(M)):v=!0);S&&d[b].push(M)}y.length>0&&(v||(h=d))}for(var T,m=0,k=f.length;m0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;e=.5)for(var o=0;o!==i;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,r,i){u.slerpFlat(e,t,e,t,e,n,r)},_lerp:function(e,t,n,r,i){for(var o=1-r,a=0;a!==i;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*r}}},Nr.prototype={constructor:Nr,getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,r=t.propertyName,i=t.propertyIndex;if(e||(e=Nr.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error(\" trying to update node for track: \"+this.path+\" but it wasn't found.\");if(n){var o=t.objectIndex;switch(n){case\"materials\":if(!e.material)return void console.error(\" can not bind to material as node does not have a material\",this);if(!e.material.materials)return void console.error(\" can not bind to material.materials as node.material does not have a materials array\",this);e=e.material.materials;break;case\"bones\":if(!e.skeleton)return void console.error(\" can not bind to bones as node does not have a skeleton\",this);e=e.skeleton.bones;for(var a=0;a=n){var d=n++,f=t[d];r[f.uuid]=c,t[c]=f,r[u]=d,t[d]=l;for(var h=0,p=o;h!==p;++h){var m=i[h],g=m[d],v=m[c];m[c]=g,m[d]=v}}}this.nCachedObjects_=n},uncache:function(e){for(var t=this._objects,n=t.length,r=this.nCachedObjects_,i=this._indicesByUUID,o=this._bindings,a=o.length,s=0,l=arguments.length;s!==l;++s){var u=arguments[s],c=u.uuid,d=i[c];if(void 0!==d)if(delete i[c],d0)for(var l=this._interpolants,u=this._propertyBindings,c=0,d=l.length;c!==d;++c)l[c].evaluate(a),u[c].accumulate(r,s)},_updateWeight:function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t},_updateTimeScale:function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n){t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t},_updateTime:function(e){var t=this.time+e;if(0===e)return t;var n=this._clip.duration,r=this.loop,i=this._loopCount;if(r===Ha){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(t>=n)t=n;else{if(!(t<0))break e;t=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e<0?-1:1})}}else{var o=r===qa;if(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),t>=n||t<0){var a=Math.floor(t/n);t-=n*a,i+=Math.abs(a);var s=this.repetitions-i;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,t=e>0?n:0,this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e>0?1:-1});else{if(0===s){var l=e<0;this._setEndings(l,!l,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:a})}}if(o&&1==(1&i))return this.time=t,n-t}return this.time=t,t},_setEndings:function(e,t,n){var r=this._interpolantSettings;n?(r.endingStart=$a,r.endingEnd=$a):(r.endingStart=e?this.zeroSlopeAtStart?$a:Ja:Qa,r.endingEnd=t?this.zeroSlopeAtEnd?$a:Ja:Qa)},_scheduleFading:function(e,t,n){var r=this._mixer,i=r.time,o=this._weightInterpolant;null===o&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=i,s[0]=t,a[1]=i+e,s[1]=n,this}},Fr.prototype={constructor:Fr,clipAction:function(e,t){var n=t||this._root,r=n.uuid,i=\"string\"==typeof e?Qn.findByName(n,e):e,o=null!==i?i.uuid:e,a=this._actionsByClip[o],s=null;if(void 0!==a){var l=a.actionByRoot[r];if(void 0!==l)return l;s=a.knownActions[0],null===i&&(i=s._clip)}if(null===i)return null;var u=new Br(this,i,t);return this._bindAction(u,s),this._addInactiveAction(u,o,r),u},existingAction:function(e,t){var n=t||this._root,r=n.uuid,i=\"string\"==typeof e?Qn.findByName(n,e):e,o=i?i.uuid:e,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[r]||null:null},stopAllAction:function(){var e=this._actions,t=this._nActiveActions,n=this._bindings,r=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var i=0;i!==t;++i)e[i].reset();for(var i=0;i!==r;++i)n[i].useCount=0;return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a){var s=t[a];s.enabled&&s._update(r,e,i,o)}for(var l=this._bindings,u=this._nActiveBindings,a=0;a!==u;++a)l[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){for(var o=i.knownActions,a=0,s=o.length;a!==s;++a){var l=o[a];this._deactivateAction(l);var u=l._cacheIndex,c=t[t.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,c._cacheIndex=u,t[u]=c,t.pop(),this._removeInactiveBindingsForAction(l)}delete r[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var r in n){var i=n[r].actionByRoot,o=i[t];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[t];if(void 0!==s)for(var l in s){var u=s[l];u.restoreOriginalState(),this._removeInactiveBinding(u)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}},Object.assign(Fr.prototype,{_bindAction:function(e,t){var n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,l=this._bindingsByRootAndName,u=l[s];void 0===u&&(u={},l[s]=u);for(var c=0;c!==i;++c){var d=r[c],f=d.name,h=u[f];if(void 0!==h)o[c]=h;else{if(void 0!==(h=o[c])){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,s,f));continue}var p=t&&t._propertyBindings[c].binding.parsedPath;h=new Dr(Nr.create(n,f,p),d.ValueTypeName,d.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,s,f),o[c]=h}a[c].resultBuffer=h.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}for(var i=e._propertyBindings,o=0,a=i.length;o!==a;++o){var s=i[o];0==s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0==--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&t1){var u=l[1];r[u]||(r[u]={start:1/0,end:-1/0});var c=r[u];oc.end&&(c.end=o),t||(t=u)}}for(var u in r){var c=r[u];this.createAnimation(u,c.start,c.end,e)}this.firstAnimation=t},$r.prototype.setAnimationDirectionForward=function(e){var t=this.animationsMap[e];t&&(t.direction=1,t.directionBackwards=!1)},$r.prototype.setAnimationDirectionBackward=function(e){var t=this.animationsMap[e];t&&(t.direction=-1,t.directionBackwards=!0)},$r.prototype.setAnimationFPS=function(e,t){var n=this.animationsMap[e];n&&(n.fps=t,n.duration=(n.end-n.start)/n.fps)},$r.prototype.setAnimationDuration=function(e,t){var n=this.animationsMap[e];n&&(n.duration=t,n.fps=(n.end-n.start)/n.duration)},$r.prototype.setAnimationWeight=function(e,t){var n=this.animationsMap[e];n&&(n.weight=t)},$r.prototype.setAnimationTime=function(e,t){var n=this.animationsMap[e];n&&(n.time=t)},$r.prototype.getAnimationTime=function(e){var t=0,n=this.animationsMap[e];return n&&(t=n.time),t},$r.prototype.getAnimationDuration=function(e){var t=-1,n=this.animationsMap[e];return n&&(t=n.duration),t},$r.prototype.playAnimation=function(e){var t=this.animationsMap[e];t?(t.time=0,t.active=!0):console.warn(\"THREE.MorphBlendMesh: animation[\"+e+\"] undefined in .playAnimation()\")},$r.prototype.stopAnimation=function(e){var t=this.animationsMap[e];t&&(t.active=!1)},$r.prototype.update=function(e){for(var t=0,n=this.animationsList.length;tr.duration||r.time<0)&&(r.direction*=-1,r.time>r.duration&&(r.time=r.duration,r.directionBackwards=!0),r.time<0&&(r.time=0,r.directionBackwards=!1)):(r.time=r.time%r.duration,r.time<0&&(r.time+=r.duration));var o=r.start+hs.clamp(Math.floor(r.time/i),0,r.length-1),a=r.weight;o!==r.currentFrame&&(this.morphTargetInfluences[r.lastFrame]=0,this.morphTargetInfluences[r.currentFrame]=1*a,this.morphTargetInfluences[o]=0,r.lastFrame=r.currentFrame,r.currentFrame=o);var s=r.time%i/i;r.directionBackwards&&(s=1-s),r.currentFrame!==r.lastFrame?(this.morphTargetInfluences[r.currentFrame]=s*a,this.morphTargetInfluences[r.lastFrame]=(1-s)*a):this.morphTargetInfluences[r.currentFrame]=a}}},Qr.prototype=Object.create(ce.prototype),Qr.prototype.constructor=Qr,Qr.prototype.isImmediateRenderObject=!0,ei.prototype=Object.create(Mt.prototype),ei.prototype.constructor=ei,ei.prototype.update=function(){var e=new c,t=new c,n=new re;return function(){var r=[\"a\",\"b\",\"c\"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var i=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,l=a.faces,u=0,c=0,d=l.length;c.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(t.set(n.z,0,-n.x).normalize(),e=Math.acos(n.y),this.quaternion.setFromAxisAngle(t,e))}}(),fi.prototype.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(0,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},fi.prototype.setColor=function(e){this.line.material.color.copy(e),this.cone.material.color.copy(e)},hi.prototype=Object.create(Mt.prototype),hi.prototype.constructor=hi;var Us=new c,Ws=new pi,Gs=new pi,Vs=new pi;mi.prototype=Object.create(mr.prototype),mi.prototype.constructor=mi,mi.prototype.getPoint=function(e){var t=this.points,n=t.length;n<2&&console.log(\"duh, you need at least 2 points\");var r=(n-(this.closed?0:1))*e,i=Math.floor(r),o=r-i;this.closed?i+=i>0?0:(Math.floor(Math.abs(i)/t.length)+1)*t.length:0===o&&i===n-1&&(i=n-2,o=1);var a,s,l,u;if(this.closed||i>0?a=t[(i-1)%n]:(Us.subVectors(t[0],t[1]).add(t[0]),a=Us),s=t[i%n],l=t[(i+1)%n],this.closed||i+20}function o(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),Se(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function a(e,t){var n=pt();try{var r=e.interceptors;if(r)for(var i=0,o=r.length;i0}function l(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),Se(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function u(e,t){var n=pt(),r=e.changeListeners;if(r){r=r.slice();for(var i=0,o=r.length;i=this.length,value:t0,\"actions should have valid names, got: '\"+e+\"'\");var n=function(){return S(e,t,this,arguments)};return n.originalFn=t,n.isMobxAction=!0,n}function S(e,t,n,r){var i=E(e,t,n,r);try{return t.apply(n,r)}finally{T(i)}}function E(e,t,n,r){var i=c()&&!!e,o=0;if(i){o=Date.now();var a=r&&r.length||0,s=new Array(a);if(a>0)for(var l=0;l\",i=\"function\"==typeof e?e:t,o=\"function\"==typeof e?t:n;return we(\"function\"==typeof i,w(\"m002\")),we(0===i.length,w(\"m003\")),we(\"string\"==typeof r&&r.length>0,\"actions should have valid names, got: '\"+r+\"'\"),S(r,i,o,void 0)}function B(e){return\"function\"==typeof e&&!0===e.isMobxAction}function F(e,t,n){var r=function(){return S(t,n,e,arguments)};r.isMobxAction=!0,Ae(e,t,r)}function j(e,t){return e===t}function U(e,t){return Ne(e,t)}function W(e,t){return Be(e,t)||j(e,t)}function G(e,t,n){function r(){o(s)}var i,o,a;\"string\"==typeof e?(i=e,o=t,a=n):(i=e.name||\"Autorun@\"+xe(),o=e,a=t),we(\"function\"==typeof o,w(\"m004\")),we(!1===B(o),w(\"m005\")),a&&(o=o.bind(a));var s=new Hn(i,function(){this.track(r)});return s.schedule(),s.getDisposer()}function V(e,t,n,r){var i,o,a,s;return\"string\"==typeof e?(i=e,o=t,a=n,s=r):(i=\"When@\"+xe(),o=e,a=t,s=n),G(i,function(e){if(o.call(s)){e.dispose();var t=pt();a.call(s),mt(t)}})}function H(e,t,n,r){function i(){a(c)}var o,a,s,l;\"string\"==typeof e?(o=e,a=t,s=n,l=r):(o=e.name||\"AutorunAsync@\"+xe(),a=e,s=t,l=n),we(!1===B(a),w(\"m006\")),void 0===s&&(s=1),l&&(a=a.bind(l));var u=!1,c=new Hn(o,function(){u||(u=!0,setTimeout(function(){u=!1,c.isDisposed||c.track(i)},s))});return c.schedule(),c.getDisposer()}function Y(e,t,n){function r(){if(!u.isDisposed){var n=!1;u.track(function(){var t=e(u);n=a||!l(o,t),o=t}),a&&i.fireImmediately&&t(o,u),a||!0!==n||t(o,u),a&&(a=!1)}}arguments.length>3&&_e(w(\"m007\")),ce(e)&&_e(w(\"m008\"));var i;i=\"object\"==typeof n?n:{},i.name=i.name||e.name||t.name||\"Reaction@\"+xe(),i.fireImmediately=!0===n||!0===i.fireImmediately,i.delay=i.delay||0,i.compareStructural=i.compareStructural||i.struct||!1,t=pn(i.name,i.context?t.bind(i.context):t),i.context&&(e=e.bind(i.context));var o,a=!0,s=!1,l=i.equals?i.equals:i.compareStructural||i.struct?mn.structural:mn.default,u=new Hn(i.name,function(){a||i.delay<1?r():s||(s=!0,setTimeout(function(){s=!1,r()},i.delay))});return u.schedule(),u.getDisposer()}function q(e,t){if(ne(e)&&e.hasOwnProperty(\"$mobx\"))return e.$mobx;we(Object.isExtensible(e),w(\"m035\")),Oe(e)||(t=(e.constructor.name||\"ObservableObject\")+\"@\"+xe()),t||(t=\"ObservableObject@\"+xe());var n=new yn(e,t);return Re(e,\"$mobx\",n),n}function X(e,t,n,r){if(e.values[t]&&!vn(e.values[t]))return we(\"value\"in n,\"The property \"+t+\" in \"+e.name+\" is already observable, cannot redefine it as computed property\"),void(e.target[t]=n.value);if(\"value\"in n)if(ce(n.value)){var i=n.value;Z(e,t,i.initialValue,i.enhancer)}else B(n.value)&&!0===n.value.autoBind?F(e.target,t,n.value.originalFn):vn(n.value)?J(e,t,n.value):Z(e,t,n.value,r);else K(e,t,n.get,n.set,mn.default,!0)}function Z(e,t,n,r){if(Ie(e.target,t),i(e)){var o=a(e,{object:e.target,name:t,type:\"add\",newValue:n});if(!o)return;n=o.newValue}n=(e.values[t]=new un(n,r,e.name+\".\"+t,!1)).value,Object.defineProperty(e.target,t,$(t)),te(e,e.target,t,n)}function K(e,t,n,r,i,o){o&&Ie(e.target,t),e.values[t]=new gn(n,e.target,i,e.name+\".\"+t,r),o&&Object.defineProperty(e.target,t,Q(t))}function J(e,t,n){var r=e.name+\".\"+t;n.name=r,n.scope||(n.scope=e.target),e.values[t]=n,Object.defineProperty(e.target,t,Q(t))}function $(e){return bn[e]||(bn[e]={configurable:!0,enumerable:!0,get:function(){return this.$mobx.values[e].get()},set:function(t){ee(this,e,t)}})}function Q(e){return xn[e]||(xn[e]={configurable:!0,enumerable:!1,get:function(){return this.$mobx.values[e].get()},set:function(t){return this.$mobx.values[e].set(t)}})}function ee(e,t,n){var r=e.$mobx,o=r.values[t];if(i(r)){var l=a(r,{type:\"update\",object:e,name:t,newValue:n});if(!l)return;n=l.newValue}if((n=o.prepareNewValue(n))!==ln){var d=s(r),p=c(),l=d||p?{type:\"update\",object:e,oldValue:o.value,name:t,newValue:n}:null;p&&f(l),o.setNewValue(n),d&&u(r,l),p&&h()}}function te(e,t,n,r){var i=s(e),o=c(),a=i||o?{type:\"add\",object:t,name:n,newValue:r}:null;o&&f(a),i&&u(e,a),o&&h()}function ne(e){return!!ke(e)&&(I(e),_n(e.$mobx))}function re(e,t){if(null===e||void 0===e)return!1;if(void 0!==t){if(_(e)||An(e))throw new Error(w(\"m019\"));if(ne(e)){var n=e.$mobx;return n.values&&!!n.values[t]}return!1}return ne(e)||!!e.$mobx||Jt(e)||Xn(e)||vn(e)}function ie(e){return we(!!e,\":(\"),R(function(t,n,r,i,o){Ie(t,n),we(!o||!o.get,w(\"m022\")),Z(q(t,void 0),n,r,e)},function(e){var t=this.$mobx.values[e];if(void 0!==t)return t.get()},function(e,t){ee(this,e,t)},!0,!1)}function oe(e){for(var t=[],n=1;n=2,w(\"m014\")),we(\"object\"==typeof e,w(\"m015\")),we(!An(e),w(\"m016\")),n.forEach(function(e){we(\"object\"==typeof e,w(\"m017\")),we(!re(e),w(\"m018\"))});for(var r=q(e),i={},o=n.length-1;o>=0;o--){var a=n[o];for(var s in a)if(!0!==i[s]&&Ce(a,s)){if(i[s]=!0,e===a&&!Le(e,s))continue;var l=Object.getOwnPropertyDescriptor(a,s);X(r,s,l,t)}}return e}function le(e){if(void 0===e&&(e=void 0),\"string\"==typeof arguments[1])return wn.apply(null,arguments);if(we(arguments.length<=1,w(\"m021\")),we(!ce(e),w(\"m020\")),re(e))return e;var t=fe(e,void 0,void 0);return t!==e?t:On.box(e)}function ue(e){_e(\"Expected one or two arguments to observable.\"+e+\". Did you accidentally try to use observable.\"+e+\" as decorator?\")}function ce(e){return\"object\"==typeof e&&null!==e&&!0===e.isMobxModifierDescriptor}function de(e,t){return we(!ce(t),\"Modifiers cannot be nested\"),{isMobxModifierDescriptor:!0,initialValue:t,enhancer:e}}function fe(e,t,n){return ce(e)&&_e(\"You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it\"),re(e)?e:Array.isArray(e)?On.array(e,n):Oe(e)?On.object(e,n):Ue(e)?On.map(e,n):e}function he(e,t,n){return ce(e)&&_e(\"You tried to assign a modifier wrapped value to a collection, please define modifiers when creating the collection, not when modifying it\"),void 0===e||null===e?e:ne(e)||_(e)||An(e)?e:Array.isArray(e)?On.shallowArray(e,n):Oe(e)?On.shallowObject(e,n):Ue(e)?On.shallowMap(e,n):_e(\"The shallow modifier / decorator can only used in combination with arrays, objects and maps\")}function pe(e){return e}function me(e,t,n){if(Ne(e,t))return t;if(re(e))return e;if(Array.isArray(e))return new on(e,me,n);if(Ue(e))return new Cn(e,me,n);if(Oe(e)){var r={};return q(r,n),se(r,me,[e]),r}return e}function ge(e,t,n){return Ne(e,t)?t:e}function ve(e,t){void 0===t&&(t=void 0),et();try{return e.apply(t)}finally{tt()}}function ye(e){return Me(\"`mobx.map` is deprecated, use `new ObservableMap` or `mobx.observable.map` instead\"),On.map(e)}function be(){return\"undefined\"!=typeof window?window:e}function xe(){return++Bn.mobxGuid}function _e(e,t){throw we(!1,e,t),\"X\"}function we(e,t,n){if(!e)throw new Error(\"[mobx] Invariant failed: \"+t+(n?\" in '\"+n+\"'\":\"\"))}function Me(e){return-1===Ln.indexOf(e)&&(Ln.push(e),console.error(\"[mobx] Deprecated: \"+e),!0)}function Se(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function Ee(e){var t=[];return e.forEach(function(e){-1===t.indexOf(e)&&t.push(e)}),t}function Te(e,t,n){return void 0===t&&(t=100),void 0===n&&(n=\" - \"),e?e.slice(0,t).join(n)+(e.length>t?\" (... and \"+(e.length-t)+\"more)\":\"\"):\"\"}function ke(e){return null!==e&&\"object\"==typeof e}function Oe(e){if(null===e||\"object\"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function Pe(){for(var e=arguments[0],t=1,n=arguments.length;t=0;i--)if(!Ne(e[i],t[i]))return!1;return!0}if(r){if(e.size!==t.size)return!1;var o=!0;return e.forEach(function(e,n){o=o&&Ne(t.get(n),e)}),o}if(\"object\"==typeof e&&\"object\"==typeof t){if(null===e||null===t)return!1;if(je(e)&&je(t))return e.size===t.size&&Ne(On.shallowMap(e).entries(),On.shallowMap(t).entries());if(De(e).length!==De(t).length)return!1;for(var a in e){if(!(a in t))return!1;if(!Ne(e[a],t[a]))return!1}return!0}return!1}function ze(e,t){var n=\"isMobX\"+e;return t.prototype[n]=!0,function(e){return ke(e)&&!0===e[n]}}function Be(e,t){return\"number\"==typeof e&&\"number\"==typeof t&&isNaN(e)&&isNaN(t)}function Fe(e){return Array.isArray(e)||_(e)}function je(e){return Ue(e)||An(e)}function Ue(e){return void 0!==be().Map&&e instanceof be().Map}function We(e){var t;return Oe(e)?t=Object.keys(e):Array.isArray(e)?t=e.map(function(e){return e[0]}):je(e)?t=Array.from(e.keys()):_e(\"Cannot get keys from \"+e),t}function Ge(){return\"function\"==typeof Symbol&&Symbol.toPrimitive||\"@@toPrimitive\"}function Ve(e){return null===e?null:\"object\"==typeof e?\"\"+e:e}function He(){jn=!0,be().__mobxInstanceCount--}function Ye(){Me(\"Using `shareGlobalState` is not recommended, use peer dependencies instead. See https://github.com/mobxjs/mobx/issues/1082 for details.\"),Fn=!0;var e=be(),t=Bn;if(e.__mobservableTrackingStack||e.__mobservableViewStack)throw new Error(\"[mobx] An incompatible version of mobservable is already loaded.\");if(e.__mobxGlobal&&e.__mobxGlobal.version!==t.version)throw new Error(\"[mobx] An incompatible version of mobx is already loaded.\");e.__mobxGlobal?Bn=e.__mobxGlobal:e.__mobxGlobal=t}function qe(){return Bn}function Xe(){Bn.resetId++;var e=new zn;for(var t in e)-1===Nn.indexOf(t)&&(Bn[t]=e[t]);Bn.allowStateChanges=!Bn.strictMode}function Ze(e){return e.observers&&e.observers.length>0}function Ke(e){return e.observers}function Je(e,t){var n=e.observers.length;n&&(e.observersIndexes[t.__mapid]=n),e.observers[n]=t,e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function $e(e,t){if(1===e.observers.length)e.observers.length=0,Qe(e);else{var n=e.observers,r=e.observersIndexes,i=n.pop();if(i!==t){var o=r[t.__mapid]||0;o?r[i.__mapid]=o:delete r[i.__mapid],n[o]=i}delete r[t.__mapid]}}function Qe(e){e.isPendingUnobservation||(e.isPendingUnobservation=!0,Bn.pendingUnobservations.push(e))}function et(){Bn.inBatch++}function tt(){if(0==--Bn.inBatch){bt();for(var e=Bn.pendingUnobservations,t=0;t0;Bn.computationDepth>0&&t&&_e(w(\"m031\")+e.name),!Bn.allowStateChanges&&t&&_e(w(Bn.strictMode?\"m030a\":\"m030b\")+e.name)}function ct(e,t,n){gt(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++Bn.runId;var r=Bn.trackingDerivation;Bn.trackingDerivation=e;var i;try{i=t.call(n)}catch(e){i=new Vn(e)}return Bn.trackingDerivation=r,dt(e),i}function dt(e){for(var t=e.observing,n=e.observing=e.newObserving,r=Gn.UP_TO_DATE,i=0,o=e.unboundDepsCount,a=0;ar&&(r=s.dependenciesState)}for(n.length=i,e.newObserving=null,o=t.length;o--;){var s=t[o];0===s.diffValue&&$e(s,e),s.diffValue=0}for(;i--;){var s=n[i];1===s.diffValue&&(s.diffValue=0,Je(s,e))}r!==Gn.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}function ft(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)$e(t[n],e);e.dependenciesState=Gn.NOT_TRACKING}function ht(e){var t=pt(),n=e();return mt(t),n}function pt(){var e=Bn.trackingDerivation;return Bn.trackingDerivation=null,e}function mt(e){Bn.trackingDerivation=e}function gt(e){if(e.dependenciesState!==Gn.UP_TO_DATE){e.dependenciesState=Gn.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=Gn.UP_TO_DATE}}function vt(e){we(this&&this.$mobx&&Xn(this.$mobx),\"Invalid `this`\"),we(!this.$mobx.errorHandler,\"Only one onErrorHandler can be registered\"),this.$mobx.errorHandler=e}function yt(e){return Bn.globalReactionErrorHandlers.push(e),function(){var t=Bn.globalReactionErrorHandlers.indexOf(e);t>=0&&Bn.globalReactionErrorHandlers.splice(t,1)}}function bt(){Bn.inBatch>0||Bn.isRunningReactions||qn(xt)}function xt(){Bn.isRunningReactions=!0;for(var e=Bn.pendingReactions,t=0;e.length>0;){++t===Yn&&(console.error(\"Reaction doesn't converge to a stable state after \"+Yn+\" iterations. Probably there is a cycle in the reactive function: \"+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r0&&(t.dependencies=Ee(e.observing).map(Vt)),t}function Ht(e,t){return Yt(kt(e,t))}function Yt(e){var t={name:e.name};return Ze(e)&&(t.observers=Ke(e).map(Yt)),t}function qt(e,t,n){var r;if(An(e)||_(e)||cn(e))r=Ot(e);else{if(!ne(e))return _e(\"Expected observable map, object or array as first array\");if(\"string\"!=typeof t)return _e(\"InterceptReads can only be used with a specific property, not with an object in general\");r=Ot(e,t)}return void 0!==r.dehancer?_e(\"An intercept reader was already established\"):(r.dehancer=\"function\"==typeof t?t:n,function(){r.dehancer=void 0})}n.d(t,\"extras\",function(){return $n}),n.d(t,\"Reaction\",function(){return Hn}),n.d(t,\"untracked\",function(){return ht}),n.d(t,\"IDerivationState\",function(){return Gn}),n.d(t,\"Atom\",function(){return Kt}),n.d(t,\"BaseAtom\",function(){return Zt}),n.d(t,\"useStrict\",function(){return k}),n.d(t,\"isStrictModeEnabled\",function(){return O}),n.d(t,\"spy\",function(){return p}),n.d(t,\"comparer\",function(){return mn}),n.d(t,\"asReference\",function(){return wt}),n.d(t,\"asFlat\",function(){return St}),n.d(t,\"asStructure\",function(){return Mt}),n.d(t,\"asMap\",function(){return Et}),n.d(t,\"isModifierDescriptor\",function(){return ce}),n.d(t,\"isObservableObject\",function(){return ne}),n.d(t,\"isBoxedObservable\",function(){return cn}),n.d(t,\"isObservableArray\",function(){return _}),n.d(t,\"ObservableMap\",function(){return Cn}),n.d(t,\"isObservableMap\",function(){return An}),n.d(t,\"map\",function(){return ye}),n.d(t,\"transaction\",function(){return ve}),n.d(t,\"observable\",function(){return On}),n.d(t,\"computed\",function(){return Jn}),n.d(t,\"isObservable\",function(){return re}),n.d(t,\"isComputed\",function(){return Ct}),n.d(t,\"extendObservable\",function(){return oe}),n.d(t,\"extendShallowObservable\",function(){return ae}),n.d(t,\"observe\",function(){return At}),n.d(t,\"intercept\",function(){return It}),n.d(t,\"autorun\",function(){return G}),n.d(t,\"autorunAsync\",function(){return H}),n.d(t,\"when\",function(){return V}),n.d(t,\"reaction\",function(){return Y}),n.d(t,\"action\",function(){return pn}),n.d(t,\"isAction\",function(){return B}),n.d(t,\"runInAction\",function(){return z}),n.d(t,\"expr\",function(){return zt}),n.d(t,\"toJS\",function(){return Bt}),n.d(t,\"createTransformer\",function(){return Ft}),n.d(t,\"whyRun\",function(){return Wt}),n.d(t,\"isArrayLike\",function(){return Fe});/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Xt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},Zt=function(){function e(e){void 0===e&&(e=\"Atom@\"+xe()),this.name=e,this.isPendingUnobservation=!0,this.observers=[],this.observersIndexes={},this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.NOT_TRACKING}return e.prototype.onBecomeUnobserved=function(){},e.prototype.reportObserved=function(){nt(this)},e.prototype.reportChanged=function(){et(),rt(this),tt()},e.prototype.toString=function(){return this.name},e}(),Kt=function(e){function t(t,n,r){void 0===t&&(t=\"Atom@\"+xe()),void 0===n&&(n=In),void 0===r&&(r=In);var i=e.call(this,t)||this;return i.name=t,i.onBecomeObservedHandler=n,i.onBecomeUnobservedHandler=r,i.isPendingUnobservation=!1,i.isBeingTracked=!1,i}return r(t,e),t.prototype.reportObserved=function(){return et(),e.prototype.reportObserved.call(this),this.isBeingTracked||(this.isBeingTracked=!0,this.onBecomeObservedHandler()),tt(),!!Bn.trackingDerivation},t.prototype.onBecomeUnobserved=function(){this.isBeingTracked=!1,this.onBecomeUnobservedHandler()},t}(Zt),Jt=ze(\"Atom\",Zt),$t={spyReportEnd:!0},Qt=\"__$$iterating\",en=function(){var e=!1,t={};return Object.defineProperty(t,\"0\",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),tn=0,nn=function(){function e(){}return e}();!function(e,t){void 0!==Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):void 0!==e.prototype.__proto__?e.prototype.__proto__=t:e.prototype=t}(nn,Array.prototype),Object.isFrozen(Array)&&[\"constructor\",\"push\",\"shift\",\"concat\",\"pop\",\"unshift\",\"replace\",\"find\",\"findIndex\",\"splice\",\"reverse\",\"sort\"].forEach(function(e){Object.defineProperty(nn.prototype,e,{configurable:!0,writable:!0,value:Array.prototype[e]})});var rn=function(){function e(e,t,n,r){this.array=n,this.owned=r,this.values=[],this.lastKnownLength=0,this.interceptors=null,this.changeListeners=null,this.atom=new Zt(e||\"ObservableArray@\"+xe()),this.enhancer=function(n,r){return t(n,r,e+\"[..]\")}}return e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.dehanceValues=function(e){return void 0!==this.dehancer?e.map(this.dehancer):e},e.prototype.intercept=function(e){return o(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.array,type:\"splice\",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),l(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if(\"number\"!=typeof e||e<0)throw new Error(\"[mobx.array] Out of range: \"+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;r0&&e+t+1>tn&&x(e+t+1)},e.prototype.spliceWithArray=function(e,t,n){var r=this;ut(this.atom);var o=this.values.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:void 0===t||null===t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=[]),i(this)){var s=a(this,{object:this.array,type:\"splice\",index:e,removedCount:t,added:n});if(!s)return Rn;t=s.removedCount,n=s.added}n=n.map(function(e){return r.enhancer(e,void 0)});var l=n.length-t;this.updateArrayLength(o,l);var u=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,u),this.dehanceValues(u)},e.prototype.spliceItemsIntoValues=function(e,t,n){if(n.length<1e4)return(i=this.values).splice.apply(i,[e,t].concat(n));var r=this.values.slice(e,e+t);return this.values=this.values.slice(0,e).concat(n,this.values.slice(e+t)),r;var i},e.prototype.notifyArrayChildUpdate=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:\"update\",index:e,newValue:t,oldValue:n}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e.prototype.notifyArraySplice=function(e,t,n){var r=!this.owned&&c(),i=s(this),o=i||r?{object:this.array,type:\"splice\",index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&f(o),this.atom.reportChanged(),i&&u(this,o),r&&h()},e}(),on=function(e){function t(t,n,r,i){void 0===r&&(r=\"ObservableArray@\"+xe()),void 0===i&&(i=!1);var o=e.call(this)||this,a=new rn(r,n,o,i);return Re(o,\"$mobx\",a),t&&t.length&&o.spliceWithArray(0,0,t),en&&Object.defineProperty(a.array,\"0\",an),o}return r(t,e),t.prototype.intercept=function(e){return this.$mobx.intercept(e)},t.prototype.observe=function(e,t){return void 0===t&&(t=!1),this.$mobx.observe(e,t)},t.prototype.clear=function(){return this.splice(0)},t.prototype.concat=function(){for(var e=[],t=0;t-1&&(this.splice(t,1),!0)},t.prototype.move=function(e,t){function n(e){if(e<0)throw new Error(\"[mobx.array] Index out of bounds: \"+e+\" is negative\");var t=this.$mobx.values.length;if(e>=t)throw new Error(\"[mobx.array] Index out of bounds: \"+e+\" is not smaller than \"+t)}if(n.call(this,e),n.call(this,t),e!==t){var r,i=this.$mobx.values;r=e\";Ae(e,t,pn(o,n))},function(e){return this[e]},function(){we(!1,w(\"m001\"))},!1,!0),hn=R(function(e,t,n){F(e,t,n)},function(e){return this[e]},function(){we(!1,w(\"m001\"))},!1,!1),pn=function(e,t,n,r){return 1===arguments.length&&\"function\"==typeof e?M(e.name||\"\",e):2===arguments.length&&\"function\"==typeof t?M(e,t):1===arguments.length&&\"string\"==typeof e?N(e):N(t).apply(null,arguments)};pn.bound=function(e,t,n){if(\"function\"==typeof e){var r=M(\"\",e);return r.autoBind=!0,r}return hn.apply(null,arguments)};var mn={identity:j,structural:U,default:W},gn=function(){function e(e,t,n,r,i){this.derivation=e,this.scope=t,this.equals=n,this.dependenciesState=Gn.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isPendingUnobservation=!1,this.observers=[],this.observersIndexes={},this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=Gn.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid=\"#\"+xe(),this.value=new Vn(null),this.isComputing=!1,this.isRunningSetter=!1,this.name=r||\"ComputedValue@\"+xe(),i&&(this.setter=M(r+\"-setter\",i))}return e.prototype.onBecomeStale=function(){ot(this)},e.prototype.onBecomeUnobserved=function(){ft(this),this.value=void 0},e.prototype.get=function(){we(!this.isComputing,\"Cycle detected in computation \"+this.name,this.derivation),0===Bn.inBatch?(et(),st(this)&&(this.value=this.computeValue(!1)),tt()):(nt(this),st(this)&&this.trackAndCompute()&&it(this));var e=this.value;if(at(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(at(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){we(!this.isRunningSetter,\"The setter of computed value '\"+this.name+\"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?\"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else we(!1,\"[ComputedValue '\"+this.name+\"'] It is not possible to assign a new value to a computed value.\")},e.prototype.trackAndCompute=function(){c()&&d({object:this.scope,type:\"compute\",fn:this.derivation});var e=this.value,t=this.dependenciesState===Gn.NOT_TRACKING,n=this.value=this.computeValue(!0);return t||at(e)||at(n)||!this.equals(e,n)},e.prototype.computeValue=function(e){this.isComputing=!0,Bn.computationDepth++;var t;if(e)t=ct(this,this.derivation,this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new Vn(e)}return Bn.computationDepth--,this.isComputing=!1,t},e.prototype.observe=function(e,t){var n=this,r=!0,i=void 0;return G(function(){var o=n.get();if(!r||t){var a=pt();e({type:\"update\",object:n,newValue:o,oldValue:i}),mt(a)}r=!1,i=o})},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+\"[\"+this.derivation.toString()+\"]\"},e.prototype.valueOf=function(){return Ve(this.get())},e.prototype.whyRun=function(){var e=Boolean(Bn.trackingDerivation),t=Ee(this.isComputing?this.newObserving:this.observing).map(function(e){return e.name}),n=Ee(Ke(this).map(function(e){return e.name}));return\"\\nWhyRun? computation '\"+this.name+\"':\\n * Running because: \"+(e?\"[active] the value of this computation is needed by a reaction\":this.isComputing?\"[get] The value of this computed was requested outside a reaction\":\"[idle] not running at the moment\")+\"\\n\"+(this.dependenciesState===Gn.NOT_TRACKING?w(\"m032\"):\" * This computation will re-run if any of the following observables changes:\\n \"+Te(t)+\"\\n \"+(this.isComputing&&e?\" (... or any observable accessed during the remainder of the current run)\":\"\")+\"\\n \"+w(\"m038\")+\"\\n\\n * If the outcome of this computation changes, the following observers will be re-run:\\n \"+Te(n)+\"\\n\")},e}();gn.prototype[Ge()]=gn.prototype.valueOf;var vn=ze(\"ComputedValue\",gn),yn=function(){function e(e,t){this.target=e,this.name=t,this.values={},this.changeListeners=null,this.interceptors=null}return e.prototype.observe=function(e,t){return we(!0!==t,\"`observe` doesn't support the fire immediately property for observable objects.\"),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}(),bn={},xn={},_n=ze(\"ObservableObjectAdministration\",yn),wn=ie(fe),Mn=ie(he),Sn=ie(pe),En=ie(me),Tn=ie(ge),kn={box:function(e,t){return arguments.length>2&&ue(\"box\"),new un(e,fe,t)},shallowBox:function(e,t){return arguments.length>2&&ue(\"shallowBox\"),new un(e,pe,t)},array:function(e,t){return arguments.length>2&&ue(\"array\"),new on(e,fe,t)},shallowArray:function(e,t){return arguments.length>2&&ue(\"shallowArray\"),new on(e,pe,t)},map:function(e,t){return arguments.length>2&&ue(\"map\"),new Cn(e,fe,t)},shallowMap:function(e,t){return arguments.length>2&&ue(\"shallowMap\"),new Cn(e,pe,t)},object:function(e,t){arguments.length>2&&ue(\"object\");var n={};return q(n,t),oe(n,e),n},shallowObject:function(e,t){arguments.length>2&&ue(\"shallowObject\");var n={};return q(n,t),ae(n,e),n},ref:function(){return arguments.length<2?de(pe,arguments[0]):Sn.apply(null,arguments)},shallow:function(){return arguments.length<2?de(he,arguments[0]):Mn.apply(null,arguments)},deep:function(){return arguments.length<2?de(fe,arguments[0]):wn.apply(null,arguments)},struct:function(){return arguments.length<2?de(me,arguments[0]):En.apply(null,arguments)}},On=le;Object.keys(kn).forEach(function(e){return On[e]=kn[e]}),On.deep.struct=On.struct,On.ref.struct=function(){return arguments.length<2?de(ge,arguments[0]):Tn.apply(null,arguments)};var Pn={},Cn=function(){function e(e,t,n){void 0===t&&(t=fe),void 0===n&&(n=\"ObservableMap@\"+xe()),this.enhancer=t,this.name=n,this.$mobx=Pn,this._data=Object.create(null),this._hasMap=Object.create(null),this._keys=new on(void 0,pe,this.name+\".keys()\",!0),this.interceptors=null,this.changeListeners=null,this.dehancer=void 0,this.merge(e)}return e.prototype._has=function(e){return void 0!==this._data[e]},e.prototype.has=function(e){return!!this.isValidKey(e)&&(e=\"\"+e,this._hasMap[e]?this._hasMap[e].get():this._updateHasMapEntry(e,!1).get())},e.prototype.set=function(e,t){this.assertValidKey(e),e=\"\"+e;var n=this._has(e);if(i(this)){var r=a(this,{type:n?\"update\":\"add\",object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this._updateValue(e,t):this._addValue(e,t),this},e.prototype.delete=function(e){var t=this;if(this.assertValidKey(e),e=\"\"+e,i(this)){var n=a(this,{type:\"delete\",object:this,name:e});if(!n)return!1}if(this._has(e)){var r=c(),o=s(this),n=o||r?{type:\"delete\",object:this,oldValue:this._data[e].value,name:e}:null;return r&&f(n),ve(function(){t._keys.remove(e),t._updateHasMapEntry(e,!1),t._data[e].setNewValue(void 0),t._data[e]=void 0}),o&&u(this,n),r&&h(),!0}return!1},e.prototype._updateHasMapEntry=function(e,t){var n=this._hasMap[e];return n?n.setNewValue(t):n=this._hasMap[e]=new un(t,pe,this.name+\".\"+e+\"?\",!1),n},e.prototype._updateValue=function(e,t){var n=this._data[e];if((t=n.prepareNewValue(t))!==ln){var r=c(),i=s(this),o=i||r?{type:\"update\",object:this,oldValue:n.value,name:e,newValue:t}:null;r&&f(o),n.setNewValue(t),i&&u(this,o),r&&h()}},e.prototype._addValue=function(e,t){var n=this;ve(function(){var r=n._data[e]=new un(t,n.enhancer,n.name+\".\"+e,!1);t=r.value,n._updateHasMapEntry(e,!0),n._keys.push(e)});var r=c(),i=s(this),o=i||r?{type:\"add\",object:this,name:e,newValue:t}:null;r&&f(o),i&&u(this,o),r&&h()},e.prototype.get=function(e){return e=\"\"+e,this.has(e)?this.dehanceValue(this._data[e].get()):this.dehanceValue(void 0)},e.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},e.prototype.keys=function(){return g(this._keys.slice())},e.prototype.values=function(){return g(this._keys.map(this.get,this))},e.prototype.entries=function(){var e=this;return g(this._keys.map(function(t){return[t,e.get(t)]}))},e.prototype.forEach=function(e,t){var n=this;this.keys().forEach(function(r){return e.call(t,n.get(r),r,n)})},e.prototype.merge=function(e){var t=this;return An(e)&&(e=e.toJS()),ve(function(){Oe(e)?Object.keys(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):Ue(e)?e.forEach(function(e,n){return t.set(n,e)}):null!==e&&void 0!==e&&_e(\"Cannot initialize map from \"+e)}),this},e.prototype.clear=function(){var e=this;ve(function(){ht(function(){e.keys().forEach(e.delete,e)})})},e.prototype.replace=function(e){var t=this;return ve(function(){var n=We(e);t.keys().filter(function(e){return-1===n.indexOf(e)}).forEach(function(e){return t.delete(e)}),t.merge(e)}),this},Object.defineProperty(e.prototype,\"size\",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.toJS=function(){var e=this,t={};return this.keys().forEach(function(n){return t[n]=e.get(n)}),t},e.prototype.toJSON=function(){return this.toJS()},e.prototype.isValidKey=function(e){return null!==e&&void 0!==e&&(\"string\"==typeof e||\"number\"==typeof e||\"boolean\"==typeof e)},e.prototype.assertValidKey=function(e){if(!this.isValidKey(e))throw new Error(\"[mobx.map] Invalid key: '\"+e+\"', only strings, numbers and booleans are accepted as key in observable maps.\")},e.prototype.toString=function(){var e=this;return this.name+\"[{ \"+this.keys().map(function(t){return t+\": \"+e.get(t)}).join(\", \")+\" }]\"},e.prototype.observe=function(e,t){return we(!0!==t,w(\"m033\")),l(this,e)},e.prototype.intercept=function(e){return o(this,e)},e}();v(Cn.prototype,function(){return this.entries()});var An=ze(\"ObservableMap\",Cn),Rn=[];Object.freeze(Rn);var Ln=[],In=function(){},Dn=Object.prototype.hasOwnProperty,Nn=[\"mobxGuid\",\"resetId\",\"spyListeners\",\"strictMode\",\"runId\"],zn=function(){function e(){this.version=5,this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.strictMode=!1,this.resetId=0,this.spyListeners=[],this.globalReactionErrorHandlers=[]}return e}(),Bn=new zn,Fn=!1,jn=!1,Un=!1,Wn=be();Wn.__mobxInstanceCount?(Wn.__mobxInstanceCount++,setTimeout(function(){Fn||jn||Un||(Un=!0,console.warn(\"[mobx] Warning: there are multiple mobx instances active. This might lead to unexpected results. See https://github.com/mobxjs/mobx/issues/1082 for details.\"))})):Wn.__mobxInstanceCount=1;var Gn;!function(e){e[e.NOT_TRACKING=-1]=\"NOT_TRACKING\",e[e.UP_TO_DATE=0]=\"UP_TO_DATE\",e[e.POSSIBLY_STALE=1]=\"POSSIBLY_STALE\",e[e.STALE=2]=\"STALE\"}(Gn||(Gn={}));var Vn=function(){function e(e){this.cause=e}return e}(),Hn=function(){function e(e,t){void 0===e&&(e=\"Reaction@\"+xe()),this.name=e,this.onInvalidate=t,this.observing=[],this.newObserving=[],this.dependenciesState=Gn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid=\"#\"+xe(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Bn.pendingReactions.push(this),bt())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){this.isDisposed||(et(),this._isScheduled=!1,st(this)&&(this._isTrackPending=!0,this.onInvalidate(),this._isTrackPending&&c()&&d({object:this,type:\"scheduled-reaction\"})),tt())},e.prototype.track=function(e){et();var t,n=c();n&&(t=Date.now(),f({object:this,type:\"reaction\",fn:e})),this._isRunning=!0;var r=ct(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ft(this),at(r)&&this.reportExceptionInDerivation(r.cause),n&&h({time:Date.now()-t}),tt()},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)return void this.errorHandler(e,this);var n=\"[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '\"+this,r=w(\"m037\");console.error(n||r,e),c()&&d({type:\"error\",message:n,error:e,object:this}),Bn.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(et(),ft(this),tt()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e.$mobx=this,e.onError=vt,e},e.prototype.toString=function(){return\"Reaction[\"+this.name+\"]\"},e.prototype.whyRun=function(){var e=Ee(this._isRunning?this.newObserving:this.observing).map(function(e){return e.name});return\"\\nWhyRun? reaction '\"+this.name+\"':\\n * Status: [\"+(this.isDisposed?\"stopped\":this._isRunning?\"running\":this.isScheduled()?\"scheduled\":\"idle\")+\"]\\n * This reaction will re-run if any of the following observables changes:\\n \"+Te(e)+\"\\n \"+(this._isRunning?\" (... or any observable accessed during the remainder of the current run)\":\"\")+\"\\n\\t\"+w(\"m038\")+\"\\n\"},e}(),Yn=100,qn=function(e){return e()},Xn=ze(\"Reaction\",Hn),Zn=Tt(mn.default),Kn=Tt(mn.structural),Jn=function(e,t,n){if(\"string\"==typeof t)return Zn.apply(null,arguments);we(\"function\"==typeof e,w(\"m011\")),we(arguments.length<3,w(\"m012\"));var r=\"object\"==typeof t?t:{};r.setter=\"function\"==typeof t?t:r.setter;var i=r.equals?r.equals:r.compareStructural||r.struct?mn.structural:mn.default;return new gn(e,r.context,i,r.name||e.name||\"\",r.setter)};Jn.struct=Kn,Jn.equals=Tt;var $n={allowStateChanges:P,deepEqual:Ne,getAtom:kt,getDebugName:Pt,getDependencyTree:Gt,getAdministration:Ot,getGlobalState:qe,getObserverTree:Ht,interceptReads:qt,isComputingDerivation:lt,isSpyEnabled:c,onReactionError:yt,reserveArrayBuffer:x,resetGlobalState:Xe,isolateGlobalState:He,shareGlobalState:Ye,spyReport:d,spyReportEnd:h,spyReportStart:f,setReactionScheduler:_t},Qn={Reaction:Hn,untracked:ht,Atom:Kt,BaseAtom:Zt,useStrict:k,isStrictModeEnabled:O,spy:p,comparer:mn,asReference:wt,asFlat:St,asStructure:Mt,asMap:Et,isModifierDescriptor:ce,isObservableObject:ne,isBoxedObservable:cn,isObservableArray:_,ObservableMap:Cn,isObservableMap:An,map:ye,transaction:ve,observable:On,computed:Jn,isObservable:re,isComputed:Ct,extendObservable:oe,extendShallowObservable:ae,observe:At,intercept:It,autorun:G,autorunAsync:H,when:V,reaction:Y,action:pn,isAction:B,runInAction:z,expr:zt,toJS:Bt,createTransformer:Ft,whyRun:Wt,isArrayLike:Fe,extras:$n},er=!1;for(var tr in Qn)!function(e){var t=Qn[e];Object.defineProperty(Qn,e,{get:function(){return er||(er=!0,console.warn(\"Using default export (`import mobx from 'mobx'`) is deprecated and won’t work in mobx@4.0.0\\nUse `import * as mobx from 'mobx'` instead\")),t}})}(tr);\"object\"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:p,extras:$n}),t.default=Qn}.call(t,n(68))},function(e,t,n){e.exports=n(395)()},function(e,t,n){e.exports={default:n(297),__esModule:!0}},function(e,t,n){var r=n(20);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n){e.exports=!n(36)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){\"use strict\";function r(e,t,n){if(i.call(this,e,n),t&&\"object\"!=typeof t)throw TypeError(\"values must be an object\");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comments={},this.reserved=void 0,t)for(var r=Object.keys(t),o=0;o0)},o.Buffer=function(){try{var e=o.inquire(\"buffer\").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),o._Buffer_from=null,o._Buffer_allocUnsafe=null,o.newBuffer=function(e){return\"number\"==typeof e?o.Buffer?o._Buffer_allocUnsafe(e):new o.Array(e):o.Buffer?o._Buffer_from(e):\"undefined\"==typeof Uint8Array?e:new Uint8Array(e)},o.Array=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o.Long=e.dcodeIO&&e.dcodeIO.Long||o.inquire(\"long\"),o.key2Re=/^true|false|0|1$/,o.key32Re=/^-?(?:0|[1-9][0-9]*)$/,o.key64Re=/^(?:[\\\\x00-\\\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,o.longToHash=function(e){return e?o.LongBits.from(e).toHash():o.LongBits.zeroHash},o.longFromHash=function(e,t){var n=o.LongBits.fromHash(e);return o.Long?o.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},o.merge=r,o.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},o.newError=i,o.ProtocolError=i(\"ProtocolError\"),o.oneOfGetter=function(e){for(var t={},n=0;n-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},o.oneOfSetter=function(e){return function(t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,a=new g.MeshBasicMaterial({map:E.load(e),transparent:!0,depthWrite:!1}),s=new g.Mesh(new g.PlaneGeometry(t,n),a);return s.material.side=g.DoubleSide,s.position.set(r,i,o),s.overdraw=!0,s}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],l=new g.Path,u=l.createGeometry(e);u.computeLineDistances();var c=new g.LineDashedMaterial({color:t,dashSize:r,linewidth:n,gapSize:o}),d=new g.Line(u,c);return i(d,a),d.matrixAutoUpdate=s,s||d.updateMatrix(),d}function s(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=new g.CircleGeometry(e,n);return new g.Mesh(r,t)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16777215,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=M(e.map(function(e){return[e.x,e.y]})),s=new g.ShaderMaterial(S({side:g.DoubleSide,diffuse:n,thickness:t,opacity:r,transparent:!0})),l=new g.Mesh(a,s);return i(l,o),l}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16711680,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,l=new g.Path,u=l.createGeometry(e),c=new g.LineBasicMaterial({color:t,linewidth:n,transparent:a,opacity:s}),d=new g.Line(u,c);return i(d,r),d.matrixAutoUpdate=o,!1===o&&d.updateMatrix(),d}function c(e,t,n){var r=new g.CubeGeometry(e.x,e.y,e.z),i=new g.MeshBasicMaterial({color:t}),o=new g.Mesh(r,i),a=new g.BoxHelper(o);return a.material.linewidth=n,a}function d(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.01,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.02,o=new g.CubeGeometry(e.x,e.y,e.z);o=new g.EdgesGeometry(o),o=(new g.Geometry).fromBufferGeometry(o),o.computeLineDistances();var a=new g.LineDashedMaterial({color:t,linewidth:n,dashSize:r,gapSize:i});return new g.LineSegments(o,a)}function f(e,t,n,r,i){var o=new g.Vector3(0,e,0);return u([new g.Vector3(0,0,0),o,new g.Vector3(r/2,e-n,0),o,new g.Vector3(-r/2,e-n,0)],i,t,1)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=new g.Shape;if(t){n.moveTo(e[0].x,e[0].y);for(var r=1;r1&&void 0!==arguments[1]?arguments[1]:new g.MeshBasicMaterial({color:16711680}),n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=h(e,n),s=new g.Mesh(a,t);return i(s,r),s.matrixAutoUpdate=o,!1===o&&s.updateMatrix(),s}Object.defineProperty(t,\"__esModule\",{value:!0}),t.addOffsetZ=i,t.drawImage=o,t.drawDashedLineFromPoints=a,t.drawCircle=s,t.drawThickBandFromPoints=l,t.drawSegmentsFromPoints=u,t.drawBox=c,t.drawDashedBox=d,t.drawArrow=f,t.getShapeGeometryFromPoints=h,t.drawShapeFromPoints=p;var m=n(10),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(m),v=n(422),y=r(v),b=n(423),x=r(b),_=n(39),w=.04,M=(0,y.default)(g),S=(0,x.default)(g),E=new g.TextureLoader},function(e,t,n){\"use strict\";e.exports={},e.exports.Arc=n(268),e.exports.Line=n(269),e.exports.Point=n(270),e.exports.Rectangle=n(271)},function(e,t,n){var r=n(21),i=n(51);e.exports=n(26)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){e.exports={default:n(299),__esModule:!0}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(76),i=n(73);e.exports=function(e){return r(i(e))}},function(e,t,n){(function(e,r){var i;(function(){function o(e,t){return e.set(t[0],t[1]),e}function a(e,t){return e.add(t),e}function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function l(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i-1}function p(e,t,n){for(var r=-1,i=null==e?0:e.length;++r-1;);return n}function F(e,t){for(var n=e.length;n--&&S(t,e[n],0)>-1;);return n}function j(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function U(e){return\"\\\\\"+On[e]}function W(e,t){return null==e?ie:e[t]}function G(e){return bn.test(e)}function V(e){return xn.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function Y(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function q(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,i=0,o=[];++n>>1,Fe=[[\"ary\",Me],[\"bind\",ge],[\"bindKey\",ve],[\"curry\",be],[\"curryRight\",xe],[\"flip\",Ee],[\"partial\",_e],[\"partialRight\",we],[\"rearg\",Se]],je=\"[object Arguments]\",Ue=\"[object Array]\",We=\"[object AsyncFunction]\",Ge=\"[object Boolean]\",Ve=\"[object Date]\",He=\"[object DOMException]\",Ye=\"[object Error]\",qe=\"[object Function]\",Xe=\"[object GeneratorFunction]\",Ze=\"[object Map]\",Ke=\"[object Number]\",Je=\"[object Null]\",$e=\"[object Object]\",Qe=\"[object Proxy]\",et=\"[object RegExp]\",tt=\"[object Set]\",nt=\"[object String]\",rt=\"[object Symbol]\",it=\"[object Undefined]\",ot=\"[object WeakMap]\",at=\"[object WeakSet]\",st=\"[object ArrayBuffer]\",lt=\"[object DataView]\",ut=\"[object Float32Array]\",ct=\"[object Float64Array]\",dt=\"[object Int8Array]\",ft=\"[object Int16Array]\",ht=\"[object Int32Array]\",pt=\"[object Uint8Array]\",mt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",vt=\"[object Uint32Array]\",yt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,xt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>\"']/g,Mt=RegExp(_t.source),St=RegExp(wt.source),Et=/<%-([\\s\\S]+?)%>/g,Tt=/<%([\\s\\S]+?)%>/g,kt=/<%=([\\s\\S]+?)%>/g,Ot=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Pt=/^\\w*$/,Ct=/^\\./,At=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Rt=/[\\\\^$.*+?()[\\]{}|]/g,Lt=RegExp(Rt.source),It=/^\\s+|\\s+$/g,Dt=/^\\s+/,Nt=/\\s+$/,zt=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Ft=/,? & /,jt=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Ut=/\\\\(\\\\)?/g,Wt=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Gt=/\\w*$/,Vt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,Yt=/^\\[object .+?Constructor\\]$/,qt=/^0o[0-7]+$/i,Xt=/^(?:0|[1-9]\\d*)$/,Zt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Kt=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,$t=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",Qt=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",en=\"[\"+Qt+\"]\",tn=\"[\"+$t+\"]\",nn=\"[a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff]\",rn=\"[^\\\\ud800-\\\\udfff\"+Qt+\"\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",on=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",an=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",sn=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",ln=\"[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]\",un=\"(?:\"+nn+\"|\"+rn+\")\",cn=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",dn=\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",an,sn].join(\"|\")+\")[\\\\ufe0e\\\\ufe0f]?\"+cn+\")*\",fn=\"[\\\\ufe0e\\\\ufe0f]?\"+cn+dn,hn=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",an,sn].join(\"|\")+\")\"+fn,pn=\"(?:\"+[\"[^\\\\ud800-\\\\udfff]\"+tn+\"?\",tn,an,sn,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",mn=RegExp(\"['’]\",\"g\"),gn=RegExp(tn,\"g\"),vn=RegExp(on+\"(?=\"+on+\")|\"+pn+fn,\"g\"),yn=RegExp([ln+\"?\"+nn+\"+(?:['’](?:d|ll|m|re|s|t|ve))?(?=\"+[en,ln,\"$\"].join(\"|\")+\")\",\"(?:[A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde]|[^\\\\ud800-\\\\udfff\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\\\\d+\\\\u2700-\\\\u27bfa-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xffA-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=\"+[en,ln+un,\"$\"].join(\"|\")+\")\",ln+\"?\"+un+\"+(?:['’](?:d|ll|m|re|s|t|ve))?\",ln+\"+(?:['’](?:D|LL|M|RE|S|T|VE))?\",\"\\\\d*(?:(?:1ST|2ND|3RD|(?![123])\\\\dTH)\\\\b)\",\"\\\\d*(?:(?:1st|2nd|3rd|(?![123])\\\\dth)\\\\b)\",\"\\\\d+\",hn].join(\"|\"),\"g\"),bn=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+$t+\"\\\\ufe0e\\\\ufe0f]\"),xn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,_n=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],wn=-1,Mn={};Mn[ut]=Mn[ct]=Mn[dt]=Mn[ft]=Mn[ht]=Mn[pt]=Mn[mt]=Mn[gt]=Mn[vt]=!0,Mn[je]=Mn[Ue]=Mn[st]=Mn[Ge]=Mn[lt]=Mn[Ve]=Mn[Ye]=Mn[qe]=Mn[Ze]=Mn[Ke]=Mn[$e]=Mn[et]=Mn[tt]=Mn[nt]=Mn[ot]=!1;var Sn={};Sn[je]=Sn[Ue]=Sn[st]=Sn[lt]=Sn[Ge]=Sn[Ve]=Sn[ut]=Sn[ct]=Sn[dt]=Sn[ft]=Sn[ht]=Sn[Ze]=Sn[Ke]=Sn[$e]=Sn[et]=Sn[tt]=Sn[nt]=Sn[rt]=Sn[pt]=Sn[mt]=Sn[gt]=Sn[vt]=!0,Sn[Ye]=Sn[qe]=Sn[ot]=!1;var En={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"IJ\":\"IJ\",\"ij\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ʼn\":\"'n\",\"ſ\":\"s\"},Tn={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},kn={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},On={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Pn=parseFloat,Cn=parseInt,An=\"object\"==typeof e&&e&&e.Object===Object&&e,Rn=\"object\"==typeof self&&self&&self.Object===Object&&self,Ln=An||Rn||Function(\"return this\")(),In=\"object\"==typeof t&&t&&!t.nodeType&&t,Dn=In&&\"object\"==typeof r&&r&&!r.nodeType&&r,Nn=Dn&&Dn.exports===In,zn=Nn&&An.process,Bn=function(){try{return zn&&zn.binding&&zn.binding(\"util\")}catch(e){}}(),Fn=Bn&&Bn.isArrayBuffer,jn=Bn&&Bn.isDate,Un=Bn&&Bn.isMap,Wn=Bn&&Bn.isRegExp,Gn=Bn&&Bn.isSet,Vn=Bn&&Bn.isTypedArray,Hn=O(\"length\"),Yn=P(En),qn=P(Tn),Xn=P(kn),Zn=function e(t){function n(e){if(ol(e)&&!vf(e)&&!(e instanceof x)){if(e instanceof i)return e;if(gc.call(e,\"__wrapped__\"))return na(e)}return new i(e)}function r(){}function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ie}function x(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Ne,this.__views__=[]}function P(){var e=new x(this.__wrapped__);return e.__actions__=zi(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=zi(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=zi(this.__views__),e}function J(){if(this.__filtered__){var e=new x(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function te(){var e=this.__wrapped__.value(),t=this.__dir__,n=vf(e),r=t<0,i=n?e.length:0,o=ko(0,i,this.__views__),a=o.start,s=o.end,l=s-a,u=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,h=Yc(l,this.__takeCount__);if(!n||!r&&i==l&&h==l)return yi(e,this.__actions__);var p=[];e:for(;l--&&f-1}function ln(e,t){var n=this.__data__,r=Kn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function un(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function rr(e,t,n,r,i,o){var a,s=t&de,l=t&fe,c=t&he;if(n&&(a=i?n(e,r,i,o):n(e)),a!==ie)return a;if(!il(e))return e;var d=vf(e);if(d){if(a=Co(e),!s)return zi(e,a)}else{var f=Td(e),h=f==qe||f==Xe;if(bf(e))return Ei(e,s);if(f==$e||f==je||h&&!i){if(a=l||h?{}:Ao(e),!s)return l?ji(e,Qn(a,e)):Fi(e,$n(a,e))}else{if(!Sn[f])return i?e:{};a=Ro(e,f,rr,s)}}o||(o=new xn);var p=o.get(e);if(p)return p;o.set(e,a);var m=c?l?bo:yo:l?Ul:jl,g=d?ie:m(e);return u(g||e,function(r,i){g&&(i=r,r=e[i]),Hn(a,i,rr(r,t,n,i,e,o))}),a}function ir(e){var t=jl(e);return function(n){return or(n,e,t)}}function or(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var i=n[r],o=t[i],a=e[i];if(a===ie&&!(i in e)||!o(a))return!1}return!0}function ar(e,t,n){if(\"function\"!=typeof e)throw new cc(se);return Pd(function(){e.apply(ie,n)},t)}function sr(e,t,n,r){var i=-1,o=h,a=!0,s=e.length,l=[],u=t.length;if(!s)return l;n&&(t=m(t,D(n))),r?(o=p,a=!1):t.length>=oe&&(o=z,a=!1,t=new vn(t));e:for(;++ii?0:i+n),r=r===ie||r>i?i:wl(r),r<0&&(r+=i),r=n>r?0:Ml(r);n0&&n(s)?t>1?fr(s,t-1,n,r,i):g(i,s):r||(i[i.length]=s)}return i}function hr(e,t){return e&&gd(e,t,jl)}function pr(e,t){return e&&vd(e,t,jl)}function mr(e,t){return f(t,function(t){return tl(e[t])})}function gr(e,t){t=Mi(t,e);for(var n=0,r=t.length;null!=e&&nt}function xr(e,t){return null!=e&&gc.call(e,t)}function _r(e,t){return null!=e&&t in sc(e)}function wr(e,t,n){return e>=Yc(t,n)&&e=120&&c.length>=120)?new vn(a&&c):ie}c=e[0];var d=-1,f=s[0];e:for(;++d-1;)s!==e&&Cc.call(s,l,1),Cc.call(e,l,1);return e}function $r(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;Do(i)?Cc.call(e,i,1):mi(e,i)}}return e}function Qr(e,t){return e+Fc(Zc()*(t-e+1))}function ei(e,t,n,r){for(var i=-1,o=Hc(Bc((t-e)/(n||1)),0),a=nc(o);o--;)a[r?o:++i]=e,e+=n;return a}function ti(e,t){var n=\"\";if(!e||t<1||t>Le)return n;do{t%2&&(n+=e),(t=Fc(t/2))&&(e+=e)}while(t);return n}function ni(e,t){return Cd(qo(e,t,Cu),e+\"\")}function ri(e){return In(Ql(e))}function ii(e,t){var n=Ql(e);return $o(n,nr(t,0,n.length))}function oi(e,t,n,r){if(!il(e))return e;t=Mi(t,e);for(var i=-1,o=t.length,a=o-1,s=e;null!=s&&++ii?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=nc(i);++r>>1,a=e[o];null!==a&&!gl(a)&&(n?a<=t:a=oe){var u=t?null:wd(e);if(u)return Z(u);a=!1,i=z,l=new vn}else l=t?[]:s;e:for(;++r=r?e:si(e,t,n)}function Ei(e,t){if(t)return e.slice();var n=e.length,r=Tc?Tc(n):new e.constructor(n);return e.copy(r),r}function Ti(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function ki(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function Oi(e,t,n){return v(t?n(Y(e),de):Y(e),o,new e.constructor)}function Pi(e){var t=new e.constructor(e.source,Gt.exec(e));return t.lastIndex=e.lastIndex,t}function Ci(e,t,n){return v(t?n(Z(e),de):Z(e),a,new e.constructor)}function Ai(e){return dd?sc(dd.call(e)):{}}function Ri(e,t){var n=t?Ti(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Li(e,t){if(e!==t){var n=e!==ie,r=null===e,i=e===e,o=gl(e),a=t!==ie,s=null===t,l=t===t,u=gl(t);if(!s&&!u&&!o&&e>t||o&&a&&l&&!s&&!u||r&&a&&l||!n&&l||!i)return 1;if(!r&&!o&&!u&&e=s)return l;return l*(\"desc\"==n[r]?-1:1)}}return e.index-t.index}function Di(e,t,n,r){for(var i=-1,o=e.length,a=n.length,s=-1,l=t.length,u=Hc(o-a,0),c=nc(l+u),d=!r;++s1?n[i-1]:ie,a=i>2?n[2]:ie;for(o=e.length>3&&\"function\"==typeof o?(i--,o):ie,a&&No(n[0],n[1],a)&&(o=i<3?ie:o,i=1),t=sc(t);++r-1?i[o?t[a]:a]:ie}}function Ji(e){return vo(function(t){var n=t.length,r=n,o=i.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new cc(se);if(o&&!s&&\"wrapper\"==xo(a))var s=new i([],!0)}for(r=s?r:n;++r1&&y.reverse(),d&&ls))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var c=-1,d=!0,f=n&me?new vn:ie;for(o.set(e,t),o.set(t,e);++c1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(zt,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Io(e){return vf(e)||gf(e)||!!(Ac&&e&&e[Ac])}function Do(e,t){return!!(t=null==t?Le:t)&&(\"number\"==typeof e||Xt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Oe)return arguments[0]}else t=0;return e.apply(ie,arguments)}}function $o(e,t){var n=-1,r=e.length,i=r-1;for(t=t===ie?r:t;++n=this.__values__.length;return{done:e,value:e?ie:this.__values__[this.__index__++]}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var i=na(n);i.__index__=0,i.__values__=ie,t?o.__wrapped__=i:t=i;var o=i;n=n.__wrapped__}return o.__wrapped__=e,t}function is(){var e=this.__wrapped__;if(e instanceof x){var t=e;return this.__actions__.length&&(t=new x(this)),t=t.reverse(),t.__actions__.push({func:$a,args:[Oa],thisArg:ie}),new i(t,this.__chain__)}return this.thru(Oa)}function os(){return yi(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=vf(e)?d:lr;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function ss(e,t){return(vf(e)?f:dr)(e,wo(t,3))}function ls(e,t){return fr(ps(e,t),1)}function us(e,t){return fr(ps(e,t),Re)}function cs(e,t,n){return n=n===ie?1:wl(n),fr(ps(e,t),n)}function ds(e,t){return(vf(e)?u:pd)(e,wo(t,3))}function fs(e,t){return(vf(e)?c:md)(e,wo(t,3))}function hs(e,t,n,r){e=Ys(e)?e:Ql(e),n=n&&!r?wl(n):0;var i=e.length;return n<0&&(n=Hc(i+n,0)),ml(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&S(e,t,n)>-1}function ps(e,t){return(vf(e)?m:Ur)(e,wo(t,3))}function ms(e,t,n,r){return null==e?[]:(vf(t)||(t=null==t?[]:[t]),n=r?ie:n,vf(n)||(n=null==n?[]:[n]),qr(e,t,n))}function gs(e,t,n){var r=vf(e)?v:C,i=arguments.length<3;return r(e,wo(t,4),n,i,pd)}function vs(e,t,n){var r=vf(e)?y:C,i=arguments.length<3;return r(e,wo(t,4),n,i,md)}function ys(e,t){return(vf(e)?f:dr)(e,Rs(wo(t,3)))}function bs(e){return(vf(e)?In:ri)(e)}function xs(e,t,n){return t=(n?No(e,t,n):t===ie)?1:wl(t),(vf(e)?Dn:ii)(e,t)}function _s(e){return(vf(e)?zn:ai)(e)}function ws(e){if(null==e)return 0;if(Ys(e))return ml(e)?Q(e):e.length;var t=Td(e);return t==Ze||t==tt?e.size:Br(e).length}function Ms(e,t,n){var r=vf(e)?b:li;return n&&No(e,t,n)&&(t=ie),r(e,wo(t,3))}function Ss(e,t){if(\"function\"!=typeof t)throw new cc(se);return e=wl(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ie:t,t=e&&null==t?e.length:t,uo(e,Me,ie,ie,ie,ie,t)}function Ts(e,t){var n;if(\"function\"!=typeof t)throw new cc(se);return e=wl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ie),n}}function ks(e,t,n){t=n?ie:t;var r=uo(e,be,ie,ie,ie,ie,ie,t);return r.placeholder=ks.placeholder,r}function Os(e,t,n){t=n?ie:t;var r=uo(e,xe,ie,ie,ie,ie,ie,t);return r.placeholder=Os.placeholder,r}function Ps(e,t,n){function r(t){var n=f,r=h;return f=h=ie,y=t,m=e.apply(r,n)}function i(e){return y=e,g=Pd(s,t),b?r(e):m}function o(e){var n=e-v,r=e-y,i=t-n;return x?Yc(i,p-r):i}function a(e){var n=e-v,r=e-y;return v===ie||n>=t||n<0||x&&r>=p}function s(){var e=of();if(a(e))return l(e);g=Pd(s,o(e))}function l(e){return g=ie,_&&f?r(e):(f=h=ie,m)}function u(){g!==ie&&_d(g),y=0,f=v=h=g=ie}function c(){return g===ie?m:l(of())}function d(){var e=of(),n=a(e);if(f=arguments,h=this,v=e,n){if(g===ie)return i(v);if(x)return g=Pd(s,t),r(v)}return g===ie&&(g=Pd(s,t)),m}var f,h,p,m,g,v,y=0,b=!1,x=!1,_=!0;if(\"function\"!=typeof e)throw new cc(se);return t=Sl(t)||0,il(n)&&(b=!!n.leading,x=\"maxWait\"in n,p=x?Hc(Sl(n.maxWait)||0,t):p,_=\"trailing\"in n?!!n.trailing:_),d.cancel=u,d.flush=c,d}function Cs(e){return uo(e,Ee)}function As(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new cc(se);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(As.Cache||un),n}function Rs(e){if(\"function\"!=typeof e)throw new cc(se);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function Ls(e){return Ts(2,e)}function Is(e,t){if(\"function\"!=typeof e)throw new cc(se);return t=t===ie?t:wl(t),ni(e,t)}function Ds(e,t){if(\"function\"!=typeof e)throw new cc(se);return t=null==t?0:Hc(wl(t),0),ni(function(n){var r=n[t],i=Si(n,0,t);return r&&g(i,r),s(e,this,i)})}function Ns(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new cc(se);return il(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),Ps(e,t,{leading:r,maxWait:t,trailing:i})}function zs(e){return Es(e,1)}function Bs(e,t){return df(wi(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return vf(e)?e:[e]}function js(e){return rr(e,he)}function Us(e,t){return t=\"function\"==typeof t?t:ie,rr(e,he,t)}function Ws(e){return rr(e,de|he)}function Gs(e,t){return t=\"function\"==typeof t?t:ie,rr(e,de|he,t)}function Vs(e,t){return null==t||or(e,t,jl(t))}function Hs(e,t){return e===t||e!==e&&t!==t}function Ys(e){return null!=e&&rl(e.length)&&!tl(e)}function qs(e){return ol(e)&&Ys(e)}function Xs(e){return!0===e||!1===e||ol(e)&&yr(e)==Ge}function Zs(e){return ol(e)&&1===e.nodeType&&!hl(e)}function Ks(e){if(null==e)return!0;if(Ys(e)&&(vf(e)||\"string\"==typeof e||\"function\"==typeof e.splice||bf(e)||Sf(e)||gf(e)))return!e.length;var t=Td(e);if(t==Ze||t==tt)return!e.size;if(Uo(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Js(e,t){return Pr(e,t)}function $s(e,t,n){n=\"function\"==typeof n?n:ie;var r=n?n(e,t):ie;return r===ie?Pr(e,t,ie,n):!!r}function Qs(e){if(!ol(e))return!1;var t=yr(e);return t==Ye||t==He||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!hl(e)}function el(e){return\"number\"==typeof e&&Wc(e)}function tl(e){if(!il(e))return!1;var t=yr(e);return t==qe||t==Xe||t==We||t==Qe}function nl(e){return\"number\"==typeof e&&e==wl(e)}function rl(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=Le}function il(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function ol(e){return null!=e&&\"object\"==typeof e}function al(e,t){return e===t||Rr(e,t,So(t))}function sl(e,t,n){return n=\"function\"==typeof n?n:ie,Rr(e,t,So(t),n)}function ll(e){return fl(e)&&e!=+e}function ul(e){if(kd(e))throw new ic(ae);return Lr(e)}function cl(e){return null===e}function dl(e){return null==e}function fl(e){return\"number\"==typeof e||ol(e)&&yr(e)==Ke}function hl(e){if(!ol(e)||yr(e)!=$e)return!1;var t=kc(e);if(null===t)return!0;var n=gc.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&mc.call(n)==xc}function pl(e){return nl(e)&&e>=-Le&&e<=Le}function ml(e){return\"string\"==typeof e||!vf(e)&&ol(e)&&yr(e)==nt}function gl(e){return\"symbol\"==typeof e||ol(e)&&yr(e)==rt}function vl(e){return e===ie}function yl(e){return ol(e)&&Td(e)==ot}function bl(e){return ol(e)&&yr(e)==at}function xl(e){if(!e)return[];if(Ys(e))return ml(e)?ee(e):zi(e);if(Rc&&e[Rc])return H(e[Rc]());var t=Td(e);return(t==Ze?Y:t==tt?Z:Ql)(e)}function _l(e){if(!e)return 0===e?e:0;if((e=Sl(e))===Re||e===-Re){return(e<0?-1:1)*Ie}return e===e?e:0}function wl(e){var t=_l(e),n=t%1;return t===t?n?t-n:t:0}function Ml(e){return e?nr(wl(e),0,Ne):0}function Sl(e){if(\"number\"==typeof e)return e;if(gl(e))return De;if(il(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=il(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(It,\"\");var n=Ht.test(e);return n||qt.test(e)?Cn(e.slice(2),n?2:8):Vt.test(e)?De:+e}function El(e){return Bi(e,Ul(e))}function Tl(e){return e?nr(wl(e),-Le,Le):0===e?e:0}function kl(e){return null==e?\"\":hi(e)}function Ol(e,t){var n=hd(e);return null==t?n:$n(n,t)}function Pl(e,t){return w(e,wo(t,3),hr)}function Cl(e,t){return w(e,wo(t,3),pr)}function Al(e,t){return null==e?e:gd(e,wo(t,3),Ul)}function Rl(e,t){return null==e?e:vd(e,wo(t,3),Ul)}function Ll(e,t){return e&&hr(e,wo(t,3))}function Il(e,t){return e&&pr(e,wo(t,3))}function Dl(e){return null==e?[]:mr(e,jl(e))}function Nl(e){return null==e?[]:mr(e,Ul(e))}function zl(e,t,n){var r=null==e?ie:gr(e,t);return r===ie?n:r}function Bl(e,t){return null!=e&&Po(e,t,xr)}function Fl(e,t){return null!=e&&Po(e,t,_r)}function jl(e){return Ys(e)?Rn(e):Br(e)}function Ul(e){return Ys(e)?Rn(e,!0):Fr(e)}function Wl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,t(e,r,i),e)}),n}function Gl(e,t){var n={};return t=wo(t,3),hr(e,function(e,r,i){er(n,r,t(e,r,i))}),n}function Vl(e,t){return Hl(e,Rs(wo(t)))}function Hl(e,t){if(null==e)return{};var n=m(bo(e),function(e){return[e]});return t=wo(t),Zr(e,n,function(e,n){return t(e,n[0])})}function Yl(e,t,n){t=Mi(t,e);var r=-1,i=t.length;for(i||(i=1,e=ie);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Zc();return Yc(e+i*(t-e+Pn(\"1e-\"+((i+\"\").length-1))),t)}return Qr(e,t)}function iu(e){return Kf(kl(e).toLowerCase())}function ou(e){return(e=kl(e))&&e.replace(Zt,Yn).replace(gn,\"\")}function au(e,t,n){e=kl(e),t=hi(t);var r=e.length;n=n===ie?r:nr(wl(n),0,r);var i=n;return(n-=t.length)>=0&&e.slice(n,i)==t}function su(e){return e=kl(e),e&&St.test(e)?e.replace(wt,qn):e}function lu(e){return e=kl(e),e&&Lt.test(e)?e.replace(Rt,\"\\\\$&\"):e}function uu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return no(Fc(i),n)+e+no(Bc(i),n)}function cu(e,t,n){e=kl(e),t=wl(t);var r=t?Q(e):0;return t&&r>>0)?(e=kl(e),e&&(\"string\"==typeof t||null!=t&&!wf(t))&&!(t=hi(t))&&G(e)?Si(ee(e),0,n):e.split(t,n)):[]}function gu(e,t,n){return e=kl(e),n=null==n?0:nr(wl(n),0,e.length),t=hi(t),e.slice(n,n+t.length)==t}function vu(e,t,r){var i=n.templateSettings;r&&No(e,t,r)&&(t=ie),e=kl(e),t=Pf({},t,i,co);var o,a,s=Pf({},t.imports,i.imports,co),l=jl(s),u=N(s,l),c=0,d=t.interpolate||Kt,f=\"__p += '\",h=lc((t.escape||Kt).source+\"|\"+d.source+\"|\"+(d===kt?Wt:Kt).source+\"|\"+(t.evaluate||Kt).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(\"sourceURL\"in t?t.sourceURL:\"lodash.templateSources[\"+ ++wn+\"]\")+\"\\n\";e.replace(h,function(t,n,r,i,s,l){return r||(r=i),f+=e.slice(c,l).replace(Jt,U),n&&(o=!0,f+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(a=!0,f+=\"';\\n\"+s+\";\\n__p += '\"),r&&(f+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=l+t.length,t}),f+=\"';\\n\";var m=t.variable;m||(f=\"with (obj) {\\n\"+f+\"\\n}\\n\"),f=(a?f.replace(yt,\"\"):f).replace(bt,\"$1\").replace(xt,\"$1;\"),f=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(o?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var g=Jf(function(){return oc(l,p+\"return \"+f).apply(ie,u)});if(g.source=f,Qs(g))throw g;return g}function yu(e){return kl(e).toLowerCase()}function bu(e){return kl(e).toUpperCase()}function xu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(It,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e),i=ee(t);return Si(r,B(r,i),F(r,i)+1).join(\"\")}function _u(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Nt,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,0,F(r,ee(t))+1).join(\"\")}function wu(e,t,n){if((e=kl(e))&&(n||t===ie))return e.replace(Dt,\"\");if(!e||!(t=hi(t)))return e;var r=ee(e);return Si(r,B(r,ee(t))).join(\"\")}function Mu(e,t){var n=Te,r=ke;if(il(t)){var i=\"separator\"in t?t.separator:i;n=\"length\"in t?wl(t.length):n,r=\"omission\"in t?hi(t.omission):r}e=kl(e);var o=e.length;if(G(e)){var a=ee(e);o=a.length}if(n>=o)return e;var s=n-Q(r);if(s<1)return r;var l=a?Si(a,0,s).join(\"\"):e.slice(0,s);if(i===ie)return l+r;if(a&&(s+=l.length-s),wf(i)){if(e.slice(s).search(i)){var u,c=l;for(i.global||(i=lc(i.source,kl(Gt.exec(i))+\"g\")),i.lastIndex=0;u=i.exec(c);)var d=u.index;l=l.slice(0,d===ie?s:d)}}else if(e.indexOf(hi(i),s)!=s){var f=l.lastIndexOf(i);f>-1&&(l=l.slice(0,f))}return l+r}function Su(e){return e=kl(e),e&&Mt.test(e)?e.replace(_t,Xn):e}function Eu(e,t,n){return e=kl(e),t=n?ie:t,t===ie?V(e)?re(e):_(e):e.match(t)||[]}function Tu(e){var t=null==e?0:e.length,n=wo();return e=t?m(e,function(e){if(\"function\"!=typeof e[1])throw new cc(se);return[n(e[0]),e[1]]}):[],ni(function(n){for(var r=-1;++rLe)return[];var n=Ne,r=Yc(e,Ne);t=wo(t),e-=Ne;for(var i=L(r,t);++n1?e[t-1]:ie;return n=\"function\"==typeof n?(e.pop(),n):ie,qa(e,n)}),Zd=vo(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return tr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof x&&Do(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:$a,args:[o],thisArg:ie}),new i(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ie),e})):this.thru(o)}),Kd=Ui(function(e,t,n){gc.call(e,n)?++e[n]:er(e,n,1)}),Jd=Ki(da),$d=Ki(fa),Qd=Ui(function(e,t,n){gc.call(e,n)?e[n].push(t):er(e,n,[t])}),ef=ni(function(e,t,n){var r=-1,i=\"function\"==typeof t,o=Ys(e)?nc(e.length):[];return pd(e,function(e){o[++r]=i?s(t,e,n):Er(e,t,n)}),o}),tf=Ui(function(e,t,n){er(e,n,t)}),nf=Ui(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=ni(function(e,t){if(null==e)return[];var n=t.length;return n>1&&No(e,t[0],t[1])?t=[]:n>2&&No(t[0],t[1],t[2])&&(t=[t[0]]),qr(e,fr(t,1),[])}),of=Nc||function(){return Ln.Date.now()},af=ni(function(e,t,n){var r=ge;if(n.length){var i=X(n,_o(af));r|=_e}return uo(e,r,t,n,i)}),sf=ni(function(e,t,n){var r=ge|ve;if(n.length){var i=X(n,_o(sf));r|=_e}return uo(t,r,e,n,i)}),lf=ni(function(e,t){return ar(e,1,t)}),uf=ni(function(e,t,n){return ar(e,Sl(t)||0,n)});As.Cache=un;var cf=xd(function(e,t){t=1==t.length&&vf(t[0])?m(t[0],D(wo())):m(fr(t,1),D(wo()));var n=t.length;return ni(function(r){for(var i=-1,o=Yc(r.length,n);++i=t}),gf=Tr(function(){return arguments}())?Tr:function(e){return ol(e)&&gc.call(e,\"callee\")&&!Pc.call(e,\"callee\")},vf=nc.isArray,yf=Fn?D(Fn):kr,bf=Uc||Uu,xf=jn?D(jn):Or,_f=Un?D(Un):Ar,wf=Wn?D(Wn):Ir,Mf=Gn?D(Gn):Dr,Sf=Vn?D(Vn):Nr,Ef=oo(jr),Tf=oo(function(e,t){return e<=t}),kf=Wi(function(e,t){if(Uo(t)||Ys(t))return void Bi(t,jl(t),e);for(var n in t)gc.call(t,n)&&Hn(e,n,t[n])}),Of=Wi(function(e,t){Bi(t,Ul(t),e)}),Pf=Wi(function(e,t,n,r){Bi(t,Ul(t),e,r)}),Cf=Wi(function(e,t,n,r){Bi(t,jl(t),e,r)}),Af=vo(tr),Rf=ni(function(e){return e.push(ie,co),s(Pf,ie,e)}),Lf=ni(function(e){return e.push(ie,fo),s(Bf,ie,e)}),If=Qi(function(e,t,n){e[t]=n},Ou(Cu)),Df=Qi(function(e,t,n){gc.call(e,t)?e[t].push(n):e[t]=[n]},wo),Nf=ni(Er),zf=Wi(function(e,t,n){Vr(e,t,n)}),Bf=Wi(function(e,t,n,r){Vr(e,t,n,r)}),Ff=vo(function(e,t){var n={};if(null==e)return n;var r=!1;t=m(t,function(t){return t=Mi(t,e),r||(r=t.length>1),t}),Bi(e,bo(e),n),r&&(n=rr(n,de|fe|he,ho));for(var i=t.length;i--;)mi(n,t[i]);return n}),jf=vo(function(e,t){return null==e?{}:Xr(e,t)}),Uf=lo(jl),Wf=lo(Ul),Gf=qi(function(e,t,n){return t=t.toLowerCase(),e+(n?iu(t):t)}),Vf=qi(function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}),Hf=qi(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()}),Yf=Yi(\"toLowerCase\"),qf=qi(function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}),Xf=qi(function(e,t,n){return e+(n?\" \":\"\")+Kf(t)}),Zf=qi(function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()}),Kf=Yi(\"toUpperCase\"),Jf=ni(function(e,t){try{return s(e,ie,t)}catch(e){return Qs(e)?e:new ic(e)}}),$f=vo(function(e,t){return u(t,function(t){t=Qo(t),er(e,t,af(e[t],e))}),e}),Qf=Ji(),eh=Ji(!0),th=ni(function(e,t){return function(n){return Er(n,e,t)}}),nh=ni(function(e,t){return function(n){return Er(e,n,t)}}),rh=to(m),ih=to(d),oh=to(b),ah=io(),sh=io(!0),lh=eo(function(e,t){return e+t},0),uh=so(\"ceil\"),ch=eo(function(e,t){return e/t},1),dh=so(\"floor\"),fh=eo(function(e,t){return e*t},1),hh=so(\"round\"),ph=eo(function(e,t){return e-t},0);return n.after=Ss,n.ary=Es,n.assign=kf,n.assignIn=Of,n.assignInWith=Pf,n.assignWith=Cf,n.at=Af,n.before=Ts,n.bind=af,n.bindAll=$f,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=ia,n.concat=oa,n.cond=Tu,n.conforms=ku,n.constant=Ou,n.countBy=Kd,n.create=Ol,n.curry=ks,n.curryRight=Os,n.debounce=Ps,n.defaults=Rf,n.defaultsDeep=Lf,n.defer=lf,n.delay=uf,n.difference=Rd,n.differenceBy=Ld,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=la,n.dropWhile=ua,n.fill=ca,n.filter=ss,n.flatMap=ls,n.flatMapDeep=us,n.flatMapDepth=cs,n.flatten=ha,n.flattenDeep=pa,n.flattenDepth=ma,n.flip=Cs,n.flow=Qf,n.flowRight=eh,n.fromPairs=ga,n.functions=Dl,n.functionsIn=Nl,n.groupBy=Qd,n.initial=ba,n.intersection=Dd,n.intersectionBy=Nd,n.intersectionWith=zd,n.invert=If,n.invertBy=Df,n.invokeMap=ef,n.iteratee=Au,n.keyBy=tf,n.keys=jl,n.keysIn=Ul,n.map=ps,n.mapKeys=Wl,n.mapValues=Gl,n.matches=Ru,n.matchesProperty=Lu,n.memoize=As,n.merge=zf,n.mergeWith=Bf,n.method=th,n.methodOf=nh,n.mixin=Iu,n.negate=Rs,n.nthArg=zu,n.omit=Ff,n.omitBy=Vl,n.once=Ls,n.orderBy=ms,n.over=rh,n.overArgs=cf,n.overEvery=ih,n.overSome=oh,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=jf,n.pickBy=Hl,n.property=Bu,n.propertyOf=Fu,n.pull=Bd,n.pullAll=Sa,n.pullAllBy=Ea,n.pullAllWith=Ta,n.pullAt=Fd,n.range=ah,n.rangeRight=sh,n.rearg=hf,n.reject=ys,n.remove=ka,n.rest=Is,n.reverse=Oa,n.sampleSize=xs,n.set=ql,n.setWith=Xl,n.shuffle=_s,n.slice=Pa,n.sortBy=rf,n.sortedUniq=Na,n.sortedUniqBy=za,n.split=mu,n.spread=Ds,n.tail=Ba,n.take=Fa,n.takeRight=ja,n.takeRightWhile=Ua,n.takeWhile=Wa,n.tap=Ja,n.throttle=Ns,n.thru=$a,n.toArray=xl,n.toPairs=Uf,n.toPairsIn=Wf,n.toPath=Yu,n.toPlainObject=El,n.transform=Zl,n.unary=zs,n.union=jd,n.unionBy=Ud,n.unionWith=Wd,n.uniq=Ga,n.uniqBy=Va,n.uniqWith=Ha,n.unset=Kl,n.unzip=Ya,n.unzipWith=qa,n.update=Jl,n.updateWith=$l,n.values=Ql,n.valuesIn=eu,n.without=Gd,n.words=Eu,n.wrap=Bs,n.xor=Vd,n.xorBy=Hd,n.xorWith=Yd,n.zip=qd,n.zipObject=Xa,n.zipObjectDeep=Za,n.zipWith=Xd,n.entries=Uf,n.entriesIn=Wf,n.extend=Of,n.extendWith=Pf,Iu(n,n),n.add=lh,n.attempt=Jf,n.camelCase=Gf,n.capitalize=iu,n.ceil=uh,n.clamp=tu,n.clone=js,n.cloneDeep=Ws,n.cloneDeepWith=Gs,n.cloneWith=Us,n.conformsTo=Vs,n.deburr=ou,n.defaultTo=Pu,n.divide=ch,n.endsWith=au,n.eq=Hs,n.escape=su,n.escapeRegExp=lu,n.every=as,n.find=Jd,n.findIndex=da,n.findKey=Pl,n.findLast=$d,n.findLastIndex=fa,n.findLastKey=Cl,n.floor=dh,n.forEach=ds,n.forEachRight=fs,n.forIn=Al,n.forInRight=Rl,n.forOwn=Ll,n.forOwnRight=Il,n.get=zl,n.gt=pf,n.gte=mf,n.has=Bl,n.hasIn=Fl,n.head=va,n.identity=Cu,n.includes=hs,n.indexOf=ya,n.inRange=nu,n.invoke=Nf,n.isArguments=gf,n.isArray=vf,n.isArrayBuffer=yf,n.isArrayLike=Ys,n.isArrayLikeObject=qs,n.isBoolean=Xs,n.isBuffer=bf,n.isDate=xf,n.isElement=Zs,n.isEmpty=Ks,n.isEqual=Js,n.isEqualWith=$s,n.isError=Qs,n.isFinite=el,n.isFunction=tl,n.isInteger=nl,n.isLength=rl,n.isMap=_f,n.isMatch=al,n.isMatchWith=sl,n.isNaN=ll,n.isNative=ul,n.isNil=dl,n.isNull=cl,n.isNumber=fl,n.isObject=il,n.isObjectLike=ol,n.isPlainObject=hl,n.isRegExp=wf,n.isSafeInteger=pl,n.isSet=Mf,n.isString=ml,n.isSymbol=gl,n.isTypedArray=Sf,n.isUndefined=vl,n.isWeakMap=yl,n.isWeakSet=bl,n.join=xa,n.kebabCase=Vf,n.last=_a,n.lastIndexOf=wa,n.lowerCase=Hf,n.lowerFirst=Yf,n.lt=Ef,n.lte=Tf,n.max=Xu,n.maxBy=Zu,n.mean=Ku,n.meanBy=Ju,n.min=$u,n.minBy=Qu,n.stubArray=ju,n.stubFalse=Uu,n.stubObject=Wu,n.stubString=Gu,n.stubTrue=Vu,n.multiply=fh,n.nth=Ma,n.noConflict=Du,n.noop=Nu,n.now=of,n.pad=uu,n.padEnd=cu,n.padStart=du,n.parseInt=fu,n.random=ru,n.reduce=gs,n.reduceRight=vs,n.repeat=hu,n.replace=pu,n.result=Yl,n.round=hh,n.runInContext=e,n.sample=bs,n.size=ws,n.snakeCase=qf,n.some=Ms,n.sortedIndex=Ca,n.sortedIndexBy=Aa,n.sortedIndexOf=Ra,n.sortedLastIndex=La,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=Da,n.startCase=Xf,n.startsWith=gu,n.subtract=ph,n.sum=ec,n.sumBy=tc,n.template=vu,n.times=Hu,n.toFinite=_l,n.toInteger=wl,n.toLength=Ml,n.toLower=yu,n.toNumber=Sl,n.toSafeInteger=Tl,n.toString=kl,n.toUpper=bu,n.trim=xu,n.trimEnd=_u,n.trimStart=wu,n.truncate=Mu,n.unescape=Su,n.uniqueId=qu,n.upperCase=Zf,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=va,Iu(n,function(){var e={};return hr(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION=\"4.17.4\",u([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){n[e].placeholder=n}),u([\"drop\",\"take\"],function(e,t){x.prototype[e]=function(n){n=n===ie?1:Hc(wl(n),0);var r=this.__filtered__&&!t?new x(this):this.clone();return r.__filtered__?r.__takeCount__=Yc(n,r.__takeCount__):r.__views__.push({size:Yc(n,Ne),type:e+(r.__dir__<0?\"Right\":\"\")}),r},x.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),u([\"filter\",\"map\",\"takeWhile\"],function(e,t){var n=t+1,r=n==Ce||3==n;x.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:wo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),u([\"head\",\"last\"],function(e,t){var n=\"take\"+(t?\"Right\":\"\");x.prototype[e]=function(){return this[n](1).value()[0]}}),u([\"initial\",\"tail\"],function(e,t){var n=\"drop\"+(t?\"\":\"Right\");x.prototype[e]=function(){return this.__filtered__?new x(this):this[n](1)}}),x.prototype.compact=function(){return this.filter(Cu)},x.prototype.find=function(e){return this.filter(e).head()},x.prototype.findLast=function(e){return this.reverse().find(e)},x.prototype.invokeMap=ni(function(e,t){return\"function\"==typeof e?new x(this):this.map(function(n){return Er(n,e,t)})}),x.prototype.reject=function(e){return this.filter(Rs(wo(e)))},x.prototype.slice=function(e,t){e=wl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new x(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ie&&(t=wl(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},x.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},x.prototype.toArray=function(){return this.take(Ne)},hr(x.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),a=n[o?\"take\"+(\"last\"==t?\"Right\":\"\"):t],s=o||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,l=o?[1]:arguments,u=t instanceof x,c=l[0],d=u||vf(t),f=function(e){var t=a.apply(n,g([e],l));return o&&h?t[0]:t};d&&r&&\"function\"==typeof c&&1!=c.length&&(u=d=!1);var h=this.__chain__,p=!!this.__actions__.length,m=s&&!h,v=u&&!p;if(!s&&d){t=v?t:new x(this);var y=e.apply(t,l);return y.__actions__.push({func:$a,args:[f],thisArg:ie}),new i(y,h)}return m&&v?e.apply(this,l):(y=this.thru(f),m?o?y.value()[0]:y.value():y)})}),u([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",i=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var n=this.value();return t.apply(vf(n)?n:[],e)}return this[r](function(n){return t.apply(vf(n)?n:[],e)})}}),hr(x.prototype,function(e,t){var r=n[t];if(r){var i=r.name+\"\";(id[i]||(id[i]=[])).push({name:t,func:r})}}),id[$i(ie,ve).name]=[{name:\"wrapper\",func:ie}],x.prototype.clone=P,x.prototype.reverse=J,x.prototype.value=te,n.prototype.at=Zd,n.prototype.chain=Qa,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=is,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=os,n.prototype.first=n.prototype.head,Rc&&(n.prototype[Rc]=ns),n}();Ln._=Zn,(i=function(){return Zn}.call(t,n,t,r))!==ie&&(r.exports=i)}).call(this)}).call(t,n(68),n(101)(e))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(470),d=(r(c),n(420)),f=r(d),h=n(31),p=r(h),m=n(199),g=r(m),v=n(198),y=r(v),b=n(202),x=r(b),_=n(208),w=r(_),M=n(203),S=r(M),E=n(209),T=r(E),k=n(105),O=r(k),P=n(200),C=r(P),A=n(204),R=r(A),L=n(205),I=r(L),D=n(206),N=r(D),z=n(201),B=r(z),F=(n(39),function(){function e(){(0,o.default)(this,e);var t=!this.isMobileDevice();this.coordinates=new g.default,this.renderer=new u.WebGLRenderer({antialias:t}),this.scene=new u.Scene,this.scene.background=new u.Color(3095),this.dimension={width:0,height:0},this.ground=\"tile\"===p.default.ground.type?new w.default:new x.default,this.map=new S.default,this.adc=new y.default(\"adc\",this.scene),this.planningAdc=new y.default(\"plannigAdc\",this.scene),this.planningTrajectory=new T.default,this.perceptionObstacles=new O.default,this.decision=new C.default,this.prediction=new R.default,this.routing=new I.default,this.routingEditor=new N.default,this.gnss=new B.default,this.stats=null,p.default.debug.performanceMonitor&&(this.stats=new f.default,this.stats.showPanel(1),this.stats.domElement.style.position=\"absolute\",this.stats.domElement.style.top=null,this.stats.domElement.style.bottom=\"0px\",document.body.appendChild(this.stats.domElement)),this.geolocation={x:0,y:0}}return(0,s.default)(e,[{key:\"initialize\",value:function(e,t,n,r){this.options=r,this.canvasId=e,this.viewAngle=p.default.camera.viewAngle,this.viewDistance=p.default.camera.laneWidth*p.default.camera.laneWidthToViewDistanceRatio,this.camera=new u.PerspectiveCamera(p.default.camera[this.options.cameraAngle].fov,window.innerWidth/window.innerHeight,p.default.camera[this.options.cameraAngle].near,p.default.camera[this.options.cameraAngle].far),this.camera.name=\"camera\",this.scene.add(this.camera),this.updateDimension(t,n),this.renderer.setPixelRatio(window.devicePixelRatio),document.getElementById(e).appendChild(this.renderer.domElement);var i=new u.AmbientLight(4473924),o=new u.DirectionalLight(16772829);o.position.set(0,0,1).normalize(),this.controls=new u.OrbitControls(this.camera,this.renderer.domElement),this.controls.enable=!1,this.onMouseDownHandler=this.editRoute.bind(this),this.scene.add(i),this.scene.add(o),this.animate()}},{key:\"maybeInitializeOffest\",value:function(e,t){this.coordinates.isInitialized()||this.coordinates.initialize(e,t)}},{key:\"updateDimension\",value:function(e,t){this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t),this.dimension.width=e,this.dimension.height=t}},{key:\"enableOrbitControls\",value:function(){var e=this.adc.mesh.position;this.controls.enabled=!0,this.controls.enableRotate=!1,this.controls.reset(),this.controls.minDistance=20,this.controls.maxDistance=1e3,this.controls.target.set(e.x,e.y,0),this.camera.position.set(e.x,e.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.x,e.y,0)}},{key:\"adjustCamera\",value:function(e,t){if(!this.routingEditor.isInEditingMode()){switch(this.camera.fov=p.default.camera[t].fov,this.camera.near=p.default.camera[t].near,this.camera.far=p.default.camera[t].far,t){case\"Default\":var n=this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=this.viewDistance*Math.sin(this.viewAngle);this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case\"Near\":n=.5*this.viewDistance*Math.cos(e.rotation.y)*Math.cos(this.viewAngle),r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=.5*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x-n,this.camera.position.y=e.position.y-r,this.camera.position.z=e.position.z+i,this.camera.up.set(0,0,1),this.camera.lookAt({x:e.position.x+2*n,y:e.position.y+2*r,z:0}),this.controls.enabled=!1;break;case\"Overhead\":r=.5*this.viewDistance*Math.sin(e.rotation.y)*Math.cos(this.viewAngle),i=2*this.viewDistance*Math.sin(this.viewAngle),this.camera.position.x=e.position.x,this.camera.position.y=e.position.y+r,this.camera.position.z=2*(e.position.z+i),this.camera.up.set(0,1,0),this.camera.lookAt({x:e.position.x,y:e.position.y+r,z:0}),this.controls.enabled=!1;break;case\"Monitor\":this.camera.position.set(e.position.x,e.position.y,50),this.camera.up.set(0,1,0),this.camera.lookAt(e.position.x,e.position.y,0),this.controls.enabled=!1;break;case\"Map\":this.controls.enabled||this.enableOrbitControls()}this.camera.updateProjectionMatrix()}}},{key:\"enableRouteEditing\",value:function(){this.enableOrbitControls(),this.routingEditor.enableEditingMode(this.camera,this.adc),document.getElementById(this.canvasId).addEventListener(\"mousedown\",this.onMouseDownHandler,!1)}},{key:\"disableRouteEditing\",value:function(){this.routingEditor.disableEditingMode(this.scene),document.getElementById(this.canvasId).removeEventListener(\"mousedown\",this.onMouseDownHandler,!1)}},{key:\"addDefaultEndPoint\",value:function(e){for(var t=0;t0)n=e.stepSize;else{var o=r.niceNum(t.max-t.min,!1);n=r.niceNum(o/(e.maxTicks-1),!0)}var a=Math.floor(t.min/n)*n,s=Math.ceil(t.max/n)*n;e.min&&e.max&&e.stepSize&&r.almostWhole((e.max-e.min)/e.stepSize,n/1e3)&&(a=e.min,s=e.max);var l=(s-a)/n;l=r.almostEquals(l,Math.round(l),n/1e3)?Math.round(l):Math.ceil(l),i.push(void 0!==e.min?e.min:a);for(var u=1;u3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&e!==Math.floor(e)&&(i=e-Math.floor(e));var o=r.log10(Math.abs(i)),a=\"\";if(0!==e){var s=-1*Math.floor(o);s=Math.max(Math.min(s,20),0),a=e.toFixed(s)}else a=\"0\";return a},logarithmic:function(e,t,n){var i=e/Math.pow(10,Math.floor(r.log10(e)));return 0===e?\"0\":1===i||2===i||5===i||0===t||t===n.length-1?e.toExponential():\"\"}}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(28),i=n(117),o=n(115),a=n(25),s=n(63),l=n(90),u={},c={},t=e.exports=function(e,t,n,d,f){var h,p,m,g,v=f?function(){return e}:l(e),y=r(n,d,t?2:1),b=0;if(\"function\"!=typeof v)throw TypeError(e+\" is not iterable!\");if(o(v)){for(h=s(e.length);h>b;b++)if((g=t?y(a(p=e[b])[0],p[1]):y(e[b]))===u||g===c)return g}else for(m=v.call(e);!(p=m.next()).done;)if((g=i(m,y,p.value,t))===u||g===c)return g};t.BREAK=u,t.RETURN=c},function(e,t){e.exports={}},function(e,t,n){var r=n(122),i=n(75);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(21).f,i=n(37),o=n(15)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){\"use strict\";var r=n(325)(!0);n(77)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){\"use strict\";function r(e){return\"string\"==typeof e&&i.test(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e&&e.length){for(var t={},n=0;n=t)return!0;return!1},i.isReservedName=function(e,t){if(e)for(var n=0;n0;){var r=e.shift();if(n.nested&&n.nested[r]){if(!((n=n.nested[r])instanceof i))throw Error(\"path conflicts with non-namespace objects\")}else n.add(n=new i(r))}return t&&n.addJSON(t),n},i.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t-1)return r}else if(r instanceof i&&(r=r.lookup(e.slice(1),t,!0)))return r}else for(var o=0;o=0;o--)t.call(n,e[o],o);else for(o=0;odocument.F=Object<\\/script>\"),e.close(),l=e.F;r--;)delete l.prototype[o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(86),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){n(329);for(var r=n(14),i=n(34),o=n(49),a=n(15)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),l=0;l1&&void 0!==arguments[1]?arguments[1]:0;if(e.constructor===Array&&e.length>0)for(;t0?r:n)(e)}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){var r=n(14),i=n(9),o=n(60),a=n(89),s=n(21).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){t.f=n(15)},function(e,t,n){var r=n(72),i=n(15)(\"iterator\"),o=n(49);e.exports=n(9).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t){},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(364),o=r(i),a=n(367),s=r(a),l=n(366),u=r(l),c=n(368),d=r(c),f=n(369),h=r(f),p=n(370),m=r(p),g=n(371),v=r(g),y=n(372),b=r(y),x=n(373),_=r(x),w=n(374),M=r(w),S=n(375),E=r(S),T=n(377),k=r(T),O=n(365),P=r(O),C=[u.default,s.default,d.default,m.default,v.default,b.default,_.default,M.default,E.default,h.default],A=(0,o.default)({prefixMap:P.default.prefixMap,plugins:C},k.default);t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\nvar i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){r[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=r(e),u=1;u-1&&this.oneof.splice(t,1),e.partOf=null,this},r.prototype.onAdd=function(e){o.prototype.onAdd.call(this,e);for(var t=this,n=0;n \"+e.len)}function i(e){this.buf=e,this.pos=0,this.len=e.length}function o(){var e=new c(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw r(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw r(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error(\"invalid varint encoding\")}function a(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function s(){if(this.pos+8>this.len)throw r(this,8);return new c(a(this.buf,this.pos+=4),a(this.buf,this.pos+=4))}e.exports=i;var l,u=n(30),c=u.LongBits,d=u.utf8,f=\"undefined\"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new i(e);throw Error(\"illegal buffer\")}:function(e){if(Array.isArray(e))return new i(e);throw Error(\"illegal buffer\")};i.create=u.Buffer?function(e){return(i.create=function(e){return u.Buffer.isBuffer(e)?new l(e):f(e)})(e)}:f,i.prototype._slice=u.Array.prototype.subarray||u.Array.prototype.slice,i.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,r(this,10);return e}}(),i.prototype.int32=function(){return 0|this.uint32()},i.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},i.prototype.bool=function(){return 0!==this.uint32()},i.prototype.fixed32=function(){if(this.pos+4>this.len)throw r(this,4);return a(this.buf,this.pos+=4)},i.prototype.sfixed32=function(){if(this.pos+4>this.len)throw r(this,4);return 0|a(this.buf,this.pos+=4)},i.prototype.float=function(){if(this.pos+4>this.len)throw r(this,4);var e=u.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},i.prototype.double=function(){if(this.pos+8>this.len)throw r(this,4);var e=u.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},i.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw r(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,n):t===n?new this.buf.constructor(0):this._slice.call(this.buf,t,n)},i.prototype.string=function(){var e=this.bytes();return d.read(e,0,e.length)},i.prototype.skip=function(e){if(\"number\"==typeof e){if(this.pos+e>this.len)throw r(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw r(this)}while(128&this.buf[this.pos++]);return this},i.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;;){if(4==(e=7&this.uint32()))break;this.skipType(e)}break;case 5:this.skip(4);break;default:throw Error(\"invalid wire type \"+e+\" at offset \"+this.pos)}return this},i._configure=function(e){l=e;var t=u.Long?\"toLong\":\"toNumber\";u.merge(i.prototype,{int64:function(){return o.call(this)[t](!1)},uint64:function(){return o.call(this)[t](!0)},sint64:function(){return o.call(this).zzDecode()[t](!1)},fixed64:function(){return s.call(this)[t](!0)},sfixed64:function(){return s.call(this)[t](!1)}})}},function(e,t,n){\"use strict\";function r(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function i(){}function o(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function a(){this.len=0,this.head=new r(i,0,0),this.tail=this.head,this.states=null}function s(e,t,n){t[n]=255&e}function l(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e}function u(e,t){this.len=e,this.next=void 0,this.val=t}function c(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function d(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}e.exports=a;var f,h=n(30),p=h.LongBits,m=h.base64,g=h.utf8;a.create=h.Buffer?function(){return(a.create=function(){return new f})()}:function(){return new a},a.alloc=function(e){return new h.Array(e)},h.Array!==Array&&(a.alloc=h.pool(a.alloc,h.Array.prototype.subarray)),a.prototype._push=function(e,t,n){return this.tail=this.tail.next=new r(e,t,n),this.len+=t,this},u.prototype=Object.create(r.prototype),u.prototype.fn=l,a.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new u((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},a.prototype.int32=function(e){return e<0?this._push(c,10,p.fromNumber(e)):this.uint32(e)},a.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},a.prototype.uint64=function(e){var t=p.from(e);return this._push(c,t.length(),t)},a.prototype.int64=a.prototype.uint64,a.prototype.sint64=function(e){var t=p.from(e).zzEncode();return this._push(c,t.length(),t)},a.prototype.bool=function(e){return this._push(s,1,e?1:0)},a.prototype.fixed32=function(e){return this._push(d,4,e>>>0)},a.prototype.sfixed32=a.prototype.fixed32,a.prototype.fixed64=function(e){var t=p.from(e);return this._push(d,4,t.lo)._push(d,4,t.hi)},a.prototype.sfixed64=a.prototype.fixed64,a.prototype.float=function(e){return this._push(h.float.writeFloatLE,4,e)},a.prototype.double=function(e){return this._push(h.float.writeDoubleLE,8,e)};var v=h.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r>>0;if(!t)return this._push(s,1,0);if(h.isString(e)){var n=a.alloc(t=m.length(e));m.decode(e,n,0),e=n}return this.uint32(t)._push(v,t,e)},a.prototype.string=function(e){var t=g.length(e);return t?this.uint32(t)._push(g.write,t,e):this._push(s,1,0)},a.prototype.fork=function(){return this.states=new o(this),this.head=this.tail=new r(i,0,0),this.len=0,this},a.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new r(i,0,0),this.len=0),this},a.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},a.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},a._configure=function(e){f=e}},function(e,t,n){var r=n(411),i=n(23);e.exports=function(e,t,n){var i=e[t];if(i){var o=[];if(Object.keys(i).forEach(function(e){-1===r.indexOf(e)&&o.push(e)}),o.length)throw new Error(\"Prop \"+t+\" passed to \"+n+\". Has invalid keys \"+o.join(\", \"))}},e.exports.isRequired=function(t,n,r){if(!t[n])throw new Error(\"Prop \"+n+\" passed to \"+r+\" is required\");return e.exports(t,n,r)},e.exports.supportingArrays=i.oneOfType([i.arrayOf(e.exports),e.exports])},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t0?1:-1,f=Math.tan(s)*d,h=d*c.x,p=f*c.y,m=Math.atan2(p,h),g=a.data[0],v=g.tooltipPosition();e.ctx.font=x.default.helpers.fontString(20,\"normal\",\"Helvetica Neue\"),e.ctx.translate(v.x,v.y),e.ctx.rotate(-m),e.ctx.fillText(\"►\",0,0),e.ctx.restore()}})}}),x.default.defaults.global.defaultFontColor=\"#FFFFFF\";var _=function(e){function t(){return(0,u.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,m.default)(t,e),(0,d.default)(t,[{key:\"initializeCanvas\",value:function(e,t){this.name2idx={};var n={title:{display:e&&e.length>0,text:e},legend:{display:t.legend.display},tooltips:{enable:!0,mode:\"nearest\",intersect:!1}};if(t.axes){n.scales||(n.scales={});for(var r in t.axes){var i=r+\"Axes\",o=t.axes[r],a={id:r+\"-axis-0\",scaleLabel:{display:!0,labelString:o.labelString},ticks:{min:o.min,max:o.max},gridLines:{color:\"rgba(153, 153, 153, 0.5)\",zeroLineColor:\"rgba(153, 153, 153, 0.7)\"}};n.scales[i]||(n.scales[i]=[]),n.scales[i].push(a)}}var s=this.canvasElement.getContext(\"2d\");this.chart=new x.default(s,{type:\"scatter\",options:n})}},{key:\"updateData\",value:function(e,t,n,r){var i=t.substring(0,5);if(void 0===this.chart.data.datasets[e]){var o={label:i,showText:n.showLabel,text:t,backgroundColor:n.color,borderColor:n.color,data:r};for(var a in n)o[a]=n[a];this.chart.data.datasets.push(o)}else this.chart.data.datasets[e].text=t,this.chart.data.datasets[e].data=r}},{key:\"updateChart\",value:function(e){for(var t in e.properties.lines){void 0===this.name2idx[t]&&(this.name2idx[t]=this.chart.data.datasets.length);var n=this.name2idx[t],r=e.properties.lines[t],i=e.data?e.data[t]:[];this.updateData(n,t,r,i)}var a=(0,o.default)(this.name2idx).length;if(e.boxes)for(var s in e.boxes){var l=e.boxes[s];this.updateData(a,s,e.properties.box,l),a++}this.chart.data.datasets.splice(a,this.chart.data.datasets.length-a),this.chart.update(0)}},{key:\"componentDidMount\",value:function(){var e=this.props,t=e.title,n=e.options;this.initializeCanvas(t,n),this.updateChart(this.props)}},{key:\"componentWillUnmount\",value:function(){this.chart.destroy()}},{key:\"componentWillReceiveProps\",value:function(e){this.updateChart(e)}},{key:\"render\",value:function(){var e=this,t=this.props;t.data,t.properties,t.options,t.boxes;return v.default.createElement(\"div\",{className:\"scatter-graph\"},v.default.createElement(\"canvas\",{ref:function(t){e.canvasElement=t}}))}}]),t}(v.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=n(11),v=r(g),y=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.title,r=e.isChecked,i=e.onClick,o=e.disabled,a=e.extraClasses;return m.default.createElement(\"ul\",{className:(0,v.default)({disabled:o},a)},m.default.createElement(\"li\",{id:t,onClick:function(){o||i()}},m.default.createElement(\"div\",{className:\"switch\"},m.default.createElement(\"input\",{type:\"checkbox\",className:\"toggle-switch\",name:t,checked:r,disabled:o,readOnly:!0}),m.default.createElement(\"label\",{className:\"toggle-switch-label\",htmlFor:t})),m.default.createElement(\"span\",null,n)))}}]),t}(m.default.Component);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(3),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(5),d=r(c),f=n(4),h=r(f),p=n(2),m=r(p),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,o.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,u.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.id,n=e.title,r=(e.options,e.onClick),i=e.checked,o=e.extraClasses;return m.default.createElement(\"ul\",{className:o},m.default.createElement(\"li\",{onClick:r},m.default.createElement(\"input\",{type:\"radio\",name:t,checked:i,readOnly:!0}),m.default.createElement(\"label\",{className:\"radio-selector-label\",htmlFor:n}),m.default.createElement(\"span\",null,n)))}}]),t}(m.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.ObstacleColorMapping=t.DEFAULT_COLOR=void 0;var i=n(234),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(16),h=r(f),p=n(207),m=r(p),g=n(69),v=n(32),y=n(39),b=t.DEFAULT_COLOR=16711932,x=t.ObstacleColorMapping={PEDESTRIAN:16771584,BICYCLE:56555,VEHICLE:65340,VIRTUAL:8388608},_=function(){function e(){(0,s.default)(this,e),this.textRender=new m.default,this.arrows=[],this.ids=[],this.solidCubes=[],this.dashedCubes=[],this.extrusionSolidFaces=[],this.extrusionDashedFaces=[]}return(0,u.default)(e,[{key:\"update\",value:function(e,t,n){y.isEmpty(this.ids)||(this.ids.forEach(function(e){e.children.forEach(function(e){return e.visible=!1}),n.remove(e)}),this.ids=[]),this.textRender.reset();var r=e.object;if(y.isEmpty(r))return(0,g.hideArrayObjects)(this.arrows),(0,g.hideArrayObjects)(this.solidCubes),(0,g.hideArrayObjects)(this.dashedCubes),(0,g.hideArrayObjects)(this.extrusionSolidFaces),void(0,g.hideArrayObjects)(this.extrusionDashedFaces);for(var i=t.applyOffset({x:e.autoDrivingCar.positionX,y:e.autoDrivingCar.positionY}),a=0,s=0,l=0,u=0;u.5){var m=this.updateArrow(f,c.speedHeading,p,a++,n),v=1+(0,o.default)(c.speed);m.scale.set(v,v,v),m.visible=!0}if(h.default.options.showObstaclesHeading){var _=this.updateArrow(f,c.heading,16777215,a++,n);_.scale.set(1,1,1),_.visible=!0}h.default.options.showObstaclesId&&this.updateIdAndDistance(c.id,new d.Vector3(f.x,f.y,c.height),i.distanceTo(f).toFixed(1),n);var w=c.confidence;w=Math.max(0,w),w=Math.min(1,w);var M=c.polygonPoint;void 0!==M&&M.length>0?(this.updatePolygon(M,c.height,p,t,w,l,n),l+=M.length):c.length&&c.width&&c.height&&this.updateCube(c.length,c.width,c.height,f,c.heading,p,w,s++,n)}}(0,g.hideArrayObjects)(this.arrows,a),(0,g.hideArrayObjects)(this.solidCubes,s),(0,g.hideArrayObjects)(this.dashedCubes,s),(0,g.hideArrayObjects)(this.extrusionSolidFaces,l),(0,g.hideArrayObjects)(this.extrusionDashedFaces,l)}},{key:\"updateArrow\",value:function(e,t,n,r,i){var o=this.getArrow(r,i);return(0,g.copyProperty)(o.position,e),o.material.color.setHex(n),o.rotation.set(0,0,-(Math.PI/2-t)),o}},{key:\"updateIdAndDistance\",value:function(e,t,n,r){var i=this.textRender.composeText(e+\" D:\"+n);if(null!==i){i.position.set(t.x,t.y+.5,t.z||3);var o=r.getObjectByName(\"camera\");void 0!==o&&i.quaternion.copy(o.quaternion),i.children.forEach(function(e){return e.visible=!0}),i.visible=!0,i.name=\"id_\"+e,this.ids.push(i),r.add(i)}}},{key:\"updatePolygon\",value:function(e,t,n,r,i,o,a){for(var s=0;s0){var u=this.getCube(s,l,!0);u.position.set(r.x,r.y,r.z+n*(a-1)/2),u.scale.set(e,t,n*a),u.material.color.setHex(o),u.rotation.set(0,0,i),u.visible=!0}if(a<1){var c=this.getCube(s,l,!1);c.position.set(r.x,r.y,r.z+n*a/2),c.scale.set(e,t,n*(1-a)),c.material.color.setHex(o),c.rotation.set(0,0,i),c.visible=!0}}},{key:\"getArrow\",value:function(e,t){if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.extrusionSolidFaces:this.extrusionDashedFaces;if(e2&&void 0!==arguments[2])||arguments[2],r=n?this.solidCubes:this.dashedCubes;if(e0&&(u=e.getDatasetMeta(u[0]._datasetIndex).data),u},\"x-axis\":function(e,t){return l(e,t,{intersect:!1})},point:function(e,t){return o(e,r(t,e))},nearest:function(e,t,n){var i=r(t,e);n.axis=n.axis||\"xy\";var o=s(n.axis),l=a(e,i,n.intersect,o);return l.length>1&&l.sort(function(e,t){var n=e.getArea(),r=t.getArea(),i=n-r;return 0===i&&(i=e._datasetIndex-t._datasetIndex),i}),l.slice(0,1)},x:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inXRange(o.x)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a},y:function(e,t,n){var o=r(t,e),a=[],s=!1;return i(e,function(e){e.inYRange(o.y)&&a.push(e),e.inRange(o.x,o.y)&&(s=!0)}),n.intersect&&!s&&(a=[]),a}}}},function(e,t,n){\"use strict\";var r=n(6),i=n(275),o=n(276),a=o._enabled?o:i;e.exports=r.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},a)},function(e,t,n){var r=n(288),i=n(286),o=function(e){if(e instanceof o)return e;if(!(this instanceof o))return new o(e);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var t;\"string\"==typeof e?(t=i.getRgba(e),t?this.setValues(\"rgb\",t):(t=i.getHsla(e))?this.setValues(\"hsl\",t):(t=i.getHwb(e))&&this.setValues(\"hwb\",t)):\"object\"==typeof e&&(t=e,void 0!==t.r||void 0!==t.red?this.setValues(\"rgb\",t):void 0!==t.l||void 0!==t.lightness?this.setValues(\"hsl\",t):void 0!==t.v||void 0!==t.value?this.setValues(\"hsv\",t):void 0!==t.w||void 0!==t.whiteness?this.setValues(\"hwb\",t):void 0===t.c&&void 0===t.cyan||this.setValues(\"cmyk\",t))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace(\"rgb\",arguments)},hsl:function(){return this.setSpace(\"hsl\",arguments)},hsv:function(){return this.setSpace(\"hsv\",arguments)},hwb:function(){return this.setSpace(\"hwb\",arguments)},cmyk:function(){return this.setSpace(\"cmyk\",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var e=this.values;return 1!==e.alpha?e.hwb.concat([e.alpha]):e.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var e=this.values;return e.rgb.concat([e.alpha])},hslaArray:function(){var e=this.values;return e.hsl.concat([e.alpha])},alpha:function(e){return void 0===e?this.values.alpha:(this.setValues(\"alpha\",e),this)},red:function(e){return this.setChannel(\"rgb\",0,e)},green:function(e){return this.setChannel(\"rgb\",1,e)},blue:function(e){return this.setChannel(\"rgb\",2,e)},hue:function(e){return e&&(e%=360,e=e<0?360+e:e),this.setChannel(\"hsl\",0,e)},saturation:function(e){return this.setChannel(\"hsl\",1,e)},lightness:function(e){return this.setChannel(\"hsl\",2,e)},saturationv:function(e){return this.setChannel(\"hsv\",1,e)},whiteness:function(e){return this.setChannel(\"hwb\",1,e)},blackness:function(e){return this.setChannel(\"hwb\",2,e)},value:function(e){return this.setChannel(\"hsv\",2,e)},cyan:function(e){return this.setChannel(\"cmyk\",0,e)},magenta:function(e){return this.setChannel(\"cmyk\",1,e)},yellow:function(e){return this.setChannel(\"cmyk\",2,e)},black:function(e){return this.setChannel(\"cmyk\",3,e)},hexString:function(){return i.hexString(this.values.rgb)},rgbString:function(){return i.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return i.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return i.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return i.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return i.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return i.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return i.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var e=this.values.rgb;return e[0]<<16|e[1]<<8|e[2]},luminosity:function(){for(var e=this.values.rgb,t=[],n=0;nn?(t+.05)/(n+.05):(n+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?\"AAA\":t>=4.5?\"AA\":\"\"},dark:function(){var e=this.values.rgb;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var e=[],t=0;t<3;t++)e[t]=255-this.values.rgb[t];return this.setValues(\"rgb\",e),this},lighten:function(e){var t=this.values.hsl;return t[2]+=t[2]*e,this.setValues(\"hsl\",t),this},darken:function(e){var t=this.values.hsl;return t[2]-=t[2]*e,this.setValues(\"hsl\",t),this},saturate:function(e){var t=this.values.hsl;return t[1]+=t[1]*e,this.setValues(\"hsl\",t),this},desaturate:function(e){var t=this.values.hsl;return t[1]-=t[1]*e,this.setValues(\"hsl\",t),this},whiten:function(e){var t=this.values.hwb;return t[1]+=t[1]*e,this.setValues(\"hwb\",t),this},blacken:function(e){var t=this.values.hwb;return t[2]+=t[2]*e,this.setValues(\"hwb\",t),this},greyscale:function(){var e=this.values.rgb,t=.3*e[0]+.59*e[1]+.11*e[2];return this.setValues(\"rgb\",[t,t,t]),this},clearer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t-t*e),this},opaquer:function(e){var t=this.values.alpha;return this.setValues(\"alpha\",t+t*e),this},rotate:function(e){var t=this.values.hsl,n=(t[0]+e)%360;return t[0]=n<0?360+n:n,this.setValues(\"hsl\",t),this},mix:function(e,t){var n=this,r=e,i=void 0===t?.5:t,o=2*i-1,a=n.alpha()-r.alpha(),s=((o*a==-1?o:(o+a)/(1+o*a))+1)/2,l=1-s;return this.rgb(s*n.red()+l*r.red(),s*n.green()+l*r.green(),s*n.blue()+l*r.blue()).alpha(n.alpha()*i+r.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var e,t,n=new o,r=this.values,i=n.values;for(var a in r)r.hasOwnProperty(a)&&(e=r[a],t={}.toString.call(e),\"[object Array]\"===t?i[a]=e.slice(0):\"[object Number]\"===t?i[a]=e:console.error(\"unexpected color value:\",e));return n}},o.prototype.spaces={rgb:[\"red\",\"green\",\"blue\"],hsl:[\"hue\",\"saturation\",\"lightness\"],hsv:[\"hue\",\"saturation\",\"value\"],hwb:[\"hue\",\"whiteness\",\"blackness\"],cmyk:[\"cyan\",\"magenta\",\"yellow\",\"black\"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(e){for(var t=this.values,n={},r=0;rl;)r(s,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(25),i=n(20),o=n(79);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){e.exports=n(34)},function(e,t,n){\"use strict\";var r=n(14),i=n(9),o=n(21),a=n(26),s=n(15)(\"species\");e.exports=function(e){var t=\"function\"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(25),i=n(46),o=n(15)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[o])?t:i(n)}},function(e,t,n){var r,i,o,a=n(28),s=n(316),l=n(113),u=n(74),c=n(14),d=c.process,f=c.setImmediate,h=c.clearImmediate,p=c.MessageChannel,m=c.Dispatch,g=0,v={},y=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){y.call(e.data)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++g]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(g),g},h=function(e){delete v[e]},\"process\"==n(47)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:p?(i=new p,o=i.port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in u(\"script\")?function(e){l.appendChild(u(\"script\")).onreadystatechange=function(){l.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:h}},function(e,t,n){var r=n(20);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t,n){\"use strict\";function r(e){return(0,o.default)(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(362),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t){function n(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;i>>0\",r,r);break;case\"int32\":case\"sint32\":case\"sfixed32\":e(\"m%s=d%s|0\",r,r);break;case\"uint64\":l=!0;case\"int64\":case\"sint64\":case\"fixed64\":case\"sfixed64\":e(\"if(util.Long)\")(\"(m%s=util.Long.fromValue(d%s)).unsigned=%j\",r,r,l)('else if(typeof d%s===\"string\")',r)(\"m%s=parseInt(d%s,10)\",r,r)('else if(typeof d%s===\"number\")',r)(\"m%s=d%s\",r,r)('else if(typeof d%s===\"object\")',r)(\"m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)\",r,r,r,l?\"true\":\"\");break;case\"bytes\":e('if(typeof d%s===\"string\")',r)(\"util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)\",r,r,r)(\"else if(d%s.length)\",r)(\"m%s=d%s\",r,r);break;case\"string\":e(\"m%s=String(d%s)\",r,r);break;case\"bool\":e(\"m%s=Boolean(d%s)\",r,r)}}return e}function i(e,t,n,r){if(t.resolvedType)t.resolvedType instanceof a?e(\"d%s=o.enums===String?types[%i].values[m%s]:m%s\",r,n,r,r):e(\"d%s=types[%i].toObject(m%s,o)\",r,n,r);else{var i=!1;switch(t.type){case\"double\":case\"float\":e(\"d%s=o.json&&!isFinite(m%s)?String(m%s):m%s\",r,r,r,r);break;case\"uint64\":i=!0;case\"int64\":case\"sint64\":case\"fixed64\":case\"sfixed64\":e('if(typeof m%s===\"number\")',r)(\"d%s=o.longs===String?String(m%s):m%s\",r,r,r)(\"else\")(\"d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s\",r,r,r,r,i?\"true\":\"\",r);break;case\"bytes\":e(\"d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s\",r,r,r,r,r);break;default:e(\"d%s=m%s\",r,r)}}return e}var o=t,a=n(27),s=n(13);o.fromObject=function(e){var t=e.fieldsArray,n=s.codegen([\"d\"],e.name+\"$fromObject\")(\"if(d instanceof this.ctor)\")(\"return d\");if(!t.length)return n(\"return new this.ctor\");n(\"var m=new this.ctor\");for(var i=0;i>>3){\");for(var n=0;n>>0,(t.id<<3|4)>>>0):e(\"types[%i].encode(%s,w.uint32(%i).fork()).ldelim()\",n,r,(t.id<<3|2)>>>0)}function i(e){for(var t,n,i=s.codegen([\"m\",\"w\"],e.name+\"$encode\")(\"if(!w)\")(\"w=Writer.create()\"),l=e.fieldsArray.slice().sort(s.compareFieldsById),t=0;t>>0,8|a.mapKey[u.keyType],u.keyType),void 0===f?i(\"types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()\",c,n):i(\".uint32(%i).%s(%s[ks[i]]).ldelim()\",16|f,d,n),i(\"}\")(\"}\")):u.repeated?(i(\"if(%s!=null&&%s.length){\",n,n),u.packed&&void 0!==a.packed[d]?i(\"w.uint32(%i).fork()\",(u.id<<3|2)>>>0)(\"for(var i=0;i<%s.length;++i)\",n)(\"w.%s(%s[i])\",d,n)(\"w.ldelim()\"):(i(\"for(var i=0;i<%s.length;++i)\",n),void 0===f?r(i,u,c,n+\"[i]\"):i(\"w.uint32(%i).%s(%s[i])\",(u.id<<3|f)>>>0,d,n)),i(\"}\")):(u.optional&&i(\"if(%s!=null&&m.hasOwnProperty(%j))\",n,u.name),void 0===f?r(i,u,c,n):i(\"w.uint32(%i).%s(%s)\",(u.id<<3|f)>>>0,d,n))}return i(\"return w\")}e.exports=i;var o=n(27),a=n(56),s=n(13)},function(e,t,n){\"use strict\";function r(e,t,n,r,o){if(i.call(this,e,t,r,o),!a.isString(n))throw TypeError(\"keyType must be a string\");this.keyType=n,this.resolvedKeyType=null,this.map=!0}e.exports=r;var i=n(42);((r.prototype=Object.create(i.prototype)).constructor=r).className=\"MapField\";var o=n(56),a=n(13);r.fromJSON=function(e,t){return new r(e,t.id,t.keyType,t.type,t.options)},r.prototype.toJSON=function(){return a.toObject([\"keyType\",this.keyType,\"type\",this.type,\"id\",this.id,\"extend\",this.extend,\"options\",this.options])},r.prototype.resolve=function(){if(this.resolved)return this;if(void 0===o.mapKey[this.keyType])throw Error(\"invalid key type: \"+this.keyType);return i.prototype.resolve.call(this)},r.d=function(e,t,n){return\"function\"==typeof n?n=a.decorateType(n).name:n&&\"object\"==typeof n&&(n=a.decorateEnum(n).name),function(i,o){a.decorateType(i.constructor).add(new r(o,e,t,n))}}},function(e,t,n){\"use strict\";function r(e,t,n,r,a,s,l){if(o.isObject(a)?(l=a,a=s=void 0):o.isObject(s)&&(l=s,s=void 0),void 0!==t&&!o.isString(t))throw TypeError(\"type must be a string\");if(!o.isString(n))throw TypeError(\"requestType must be a string\");if(!o.isString(r))throw TypeError(\"responseType must be a string\");i.call(this,e,l),this.type=t||\"rpc\",this.requestType=n,this.requestStream=!!a||void 0,this.responseType=r,this.responseStream=!!s||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null}e.exports=r;var i=n(43);((r.prototype=Object.create(i.prototype)).constructor=r).className=\"Method\";var o=n(13);r.fromJSON=function(e,t){return new r(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options)},r.prototype.toJSON=function(){return o.toObject([\"type\",\"rpc\"!==this.type&&this.type||void 0,\"requestType\",this.requestType,\"requestStream\",this.requestStream,\"responseType\",this.responseType,\"responseStream\",this.responseStream,\"options\",this.options])},r.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},function(e,t,n){\"use strict\";function r(e){a.call(this,\"\",e),this.deferred=[],this.files=[]}function i(){}function o(e,t){var n=t.parent.lookup(t.extend);if(n){var r=new c(t.fullName,t.id,t.type,t.rule,void 0,t.options);return r.declaringField=t,t.extensionField=r,n.add(r),!0}return!1}e.exports=r;var a=n(55);((r.prototype=Object.create(a.prototype)).constructor=r).className=\"Root\";var s,l,u,c=n(42),d=n(27),f=n(96),h=n(13);r.fromJSON=function(e,t){return t||(t=new r),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},r.prototype.resolvePath=h.path.resolve,r.prototype.load=function e(t,n,r){function o(e,t){if(r){var n=r;if(r=null,d)throw e;n(e,t)}}function a(e,t){try{if(h.isString(t)&&\"{\"===t.charAt(0)&&(t=JSON.parse(t)),h.isString(t)){l.filename=e;var r,i=l(t,c,n),a=0;if(i.imports)for(;a-1){var i=e.substring(n);i in u&&(e=i)}if(!(c.files.indexOf(e)>-1)){if(c.files.push(e),e in u)return void(d?a(e,u[e]):(++f,setTimeout(function(){--f,a(e,u[e])})));if(d){var s;try{s=h.fs.readFileSync(e).toString(\"utf8\")}catch(e){return void(t||o(e))}a(e,s)}else++f,h.fetch(e,function(n,i){if(--f,r)return n?void(t?f||o(null,c):o(n)):void a(e,i)})}}\"function\"==typeof n&&(r=n,n=void 0);var c=this;if(!r)return h.asPromise(e,c,t,n);var d=r===i,f=0;h.isString(t)&&(t=[t]);for(var p,m=0;m-1&&this.deferred.splice(t,1)}}else if(e instanceof d)p.test(e.name)&&delete e.parent[e.name];else if(e instanceof a){for(var n=0;n=0&&b.splice(t,1)}function s(e){var t=document.createElement(\"style\");return e.attrs.type=\"text/css\",u(t,e.attrs),o(e,t),t}function l(e){var t=document.createElement(\"link\");return e.attrs.type=\"text/css\",e.attrs.rel=\"stylesheet\",u(t,e.attrs),o(e,t),t}function u(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function c(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o=t.transform(e.css)))return function(){};e.css=o}if(t.singleton){var u=y++;n=v||(v=s(t)),r=d.bind(null,n,u,!1),i=d.bind(null,n,u,!0)}else e.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=l(t),r=h.bind(null,n,t),i=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(t),r=f.bind(null,n),i=function(){a(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}function d(e,t,n,r){var i=n?\"\":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function f(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute(\"media\",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}function h(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=x(r)),i&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\");var a=new Blob([r],{type:\"text/css\"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var p={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),g=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e.call(this,n)),t[n]}}(function(e){return document.querySelector(e)}),v=null,y=0,b=[],x=n(421);e.exports=function(e,t){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");t=t||{},t.attrs=\"object\"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto=\"head\"),t.insertAt||(t.insertAt=\"bottom\");var n=i(e,t);return r(n,t),function(e){for(var o=[],a=0;a1&&void 0!==arguments[1]&&arguments[1];return null===this.offset?(console.error(\"Offset is not set.\"),null):isNaN(this.offset.x)||isNaN(this.offset.y)?(console.error(\"Offset contains NaN!\"),null):isNaN(e.x)||isNaN(e.y)?(console.warn(\"Point contains NaN!\"),null):isNaN(e.z)?new u.Vector2(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y):new u.Vector3(t?e.x+this.offset.x:e.x-this.offset.x,t?e.y+this.offset.y:e.y-this.offset.y,e.z)}},{key:\"applyOffsetToArray\",value:function(e){var t=this;return e.map(function(e){return t.applyOffset(e)})}}]),e}();t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(440),h=r(f),p=n(444),m=r(p),g=n(442),v=r(g),y=n(445),b=r(y),x=n(443),_=r(x),w=n(434),M=r(w),S=n(437),E=r(S),T=n(435),k=r(T),O=n(438),P=r(O),C=n(436),A=r(C),R=n(439),L=r(R),I=n(432),D=r(I),N=n(447),z=r(N),B=n(446),F=r(B),j=n(448),U=r(j),W=n(449),G=r(W),V=n(450),H=r(V),Y=n(430),q=r(Y),X=n(431),Z=r(X),K=n(433),J=r(K),$=n(441),Q=r($),ee=n(69),te=n(32),ne=n(39),re={STOP:16724016,FOLLOW:1757281,YIELD:16724215,OVERTAKE:3188223},ie={STOP_REASON_HEAD_VEHICLE:L.default,STOP_REASON_DESTINATION:D.default,STOP_REASON_PEDESTRIAN:z.default,STOP_REASON_OBSTACLE:F.default,STOP_REASON_SIGNAL:U.default,STOP_REASON_STOP_SIGN:G.default,STOP_REASON_YIELD_SIGN:H.default,STOP_REASON_CLEAR_ZONE:q.default,STOP_REASON_CROSSWALK:Z.default,STOP_REASON_EMERGENCY:J.default,STOP_REASON_NOT_READY:Q.default},oe=function(){function e(){(0,o.default)(this,e),this.markers={STOP:[],FOLLOW:[],YIELD:[],OVERTAKE:[]},this.nudges=[],this.mainDecision=this.getMainDecision(),this.mainDecisionAddedToScene=!1}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n){var r=this;this.nudges.forEach(function(e){n.remove(e),e.geometry.dispose(),e.material.dispose()}),this.nudges=[];var i=e.mainStop;if(!d.default.options.showDecisionMain||ne.isEmpty(i))this.mainDecision.visible=!1;else{this.mainDecision.visible=!0,this.mainDecisionAddedToScene||(n.add(this.mainDecision),this.mainDecisionAddedToScene=!0),(0,ee.copyProperty)(this.mainDecision.position,t.applyOffset(new u.Vector3(i.positionX,i.positionY,.2))),this.mainDecision.rotation.set(Math.PI/2,i.heading-Math.PI/2,0);var o=ne.attempt(function(){return i.decision[0].stopReason});if(!ne.isError(o)&&o){var a=null;for(a in ie)this.mainDecision[a].visible=!1;this.mainDecision[o].visible=!0}}var s=e.object;if(d.default.options.showDecisionObstacle&&!ne.isEmpty(s)){for(var l={STOP:0,FOLLOW:0,YIELD:0,OVERTAKE:0},c=0;c=r.markers[o].length?(a=r.getObstacleDecision(o),r.markers[o].push(a),n.add(a)):a=r.markers[o][l[o]];var d=t.applyOffset(new u.Vector3(i.positionX,i.positionY,0));if(null===d)return\"continue\";if(a.position.set(d.x,d.y,.2),a.rotation.set(Math.PI/2,i.heading-Math.PI/2,0),a.visible=!0,l[o]++,\"YIELD\"===o||\"OVERTAKE\"===o){var h=a.connect;h.geometry.vertices[0].set(s[c].positionX-i.positionX,s[c].positionY-i.positionY,0),h.geometry.verticesNeedUpdate=!0,h.geometry.computeLineDistances(),h.geometry.lineDistancesNeedUpdate=!0,h.rotation.set(Math.PI/-2,0,Math.PI/2-i.heading)}}else if(\"NUDGE\"===o){var p=(0,te.drawShapeFromPoints)(t.applyOffsetToArray(i.polygonPoint),new u.MeshBasicMaterial({color:16744192}),!1,2);r.nudges.push(p),n.add(p)}})(h)}}var p=null;for(p in re)(0,ee.hideArrayObjects)(this.markers[p],l[p])}else{var m=null;for(m in re)(0,ee.hideArrayObjects)(this.markers[m])}}},{key:\"getMainDecision\",value:function(){var e=this.getFence(\"MAIN_STOP\"),t=null;for(t in ie){var n=(0,te.drawImage)(ie[t],1,1,4.1,3.5,0);e.add(n),e[t]=n}return e.visible=!1,e}},{key:\"getObstacleDecision\",value:function(e){var t=this.getFence(e);if(\"YIELD\"===e||\"OVERTAKE\"===e){var n=re[e],r=(0,te.drawDashedLineFromPoints)([new u.Vector3(1,1,0),new u.Vector3(0,0,0)],n,2,2,1,30);t.add(r),t.connect=r}return t.visible=!1,t}},{key:\"getFence\",value:function(e){var t=new u.Object3D;switch(e){case\"STOP\":var n=(0,te.drawImage)(E.default,11.625,3,0,1.5,0);t.add(n);var r=(0,te.drawImage)(m.default,1,1,3,3.6,0);t.add(r);break;case\"FOLLOW\":n=(0,te.drawImage)(k.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(v.default,1,1,3,3.6,0),t.add(r);break;case\"YIELD\":n=(0,te.drawImage)(P.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(b.default,1,1,3,3.6,0),t.add(r);break;case\"OVERTAKE\":n=(0,te.drawImage)(A.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(_.default,1,1,3,3.6,0),t.add(r);break;case\"MAIN_STOP\":n=(0,te.drawImage)(M.default,11.625,3,0,1.5,0),t.add(n),r=(0,te.drawImage)(h.default,1,1,3,3.6,0),t.add(r)}return t}}]),e}();t.default=oe},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(16),d=r(c),f=n(32),h=function(){function e(){(0,o.default)(this,e),this.circle=null,this.base=null}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n){if(e.gps&&e.autoDrivingCar){if(!this.circle){var r=new u.MeshBasicMaterial({color:27391,transparent:!1,opacity:.5});this.circle=(0,f.drawCircle)(.2,r),n.add(this.circle)}this.base||(this.base=(0,f.drawSegmentsFromPoints)([new u.Vector3(3.89,-1.05,0),new u.Vector3(3.89,1.06,0),new u.Vector3(-1.04,1.06,0),new u.Vector3(-1.04,-1.05,0),new u.Vector3(3.89,-1.05,0)],27391,2,5),n.add(this.base));var i=d.default.options.showPositionGps,o=t.applyOffset({x:e.gps.positionX,y:e.gps.positionY,z:0});this.circle.position.set(o.x,o.y,o.z),this.circle.visible=i,this.base.position.set(o.x,o.y,o.z),this.base.rotation.set(0,0,e.gps.heading),this.base.visible=i}}}]),e}();t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(57),d=n(451),f=r(d),h=n(31),p=r(h),m=function(){function e(){var t=this;(0,o.default)(this,e),this.type=\"default\",this.loadedMap=null,this.updateMap=null,this.mesh=null,this.geometry=null,this.initialized=!1,(0,c.loadTexture)(f.default,function(e){t.geometry=new u.PlaneGeometry(1,1),t.mesh=new u.Mesh(t.geometry,new u.MeshBasicMaterial({map:e}))})}return(0,s.default)(e,[{key:\"initialize\",value:function(e){return!!this.mesh&&(!(this.loadedMap===this.updateMap&&!this.render(e))&&(this.initialized=!0,!0))}},{key:\"update\",value:function(e,t,n){var r=this;if(!0===this.initialized&&this.loadedMap!==this.updateMap){var i=this.titleCaseToSnakeCase(this.updateMap),o=\"http://\"+window.location.hostname+\":8888\",a=o+\"/assets/map_data/\"+i+\"/background.jpg\";(0,c.loadTexture)(a,function(e){console.log(\"updating ground image with \"+i),r.mesh.material.map=e,r.render(t,i)},function(e){console.log(\"using grid as ground image...\"),(0,c.loadTexture)(f.default,function(e){r.mesh.material.map=e,r.render(t)})}),this.loadedMap=this.updateMap}}},{key:\"updateImage\",value:function(e){this.updateMap=e}},{key:\"render\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"defaults\";console.log(\"rendering ground image...\");var n=p.default.ground[t],r=n.xres,i=n.yres,o=n.mpp,a=n.xorigin,s=n.yorigin,l=e.applyOffset({x:a,y:s});return null===l?(console.warn(\"Cannot find position for ground mesh!\"),!1):(\"defaults\"===t&&(l={x:0,y:0}),this.mesh.position.set(l.x,l.y,0),this.mesh.scale.set(r*o,i*o,1),this.mesh.material.needsUpdate=!0,this.mesh.overdraw=!1,!0)}},{key:\"titleCaseToSnakeCase\",value:function(e){return e.replace(/\\s/g,\"_\").toLowerCase()}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(108),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(10),d=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),f=n(17),h=n(32),p=n(426),m=r(p),g=n(427),v=r(g),y=n(428),b=r(y),x=n(429),w=r(x),M=n(57),S={YELLOW:14329120,WHITE:13421772,CORAL:16744272,RED:16737894,GREEN:25600,BLUE:3188223,PURE_WHITE:16777215,DEFAULT:12632256},E={x:.006,y:.006,z:.006},T={x:2,y:2,z:2},k=function(){function e(){(0,s.default)(this,e),(0,M.loadObject)(b.default,w.default,E),(0,M.loadObject)(m.default,v.default,T),this.hash=-1,this.data={},this.laneHeading={},this.overlapMap={},this.initialized=!1}return(0,u.default)(e,[{key:\"diffMapElements\",value:function(e,t){var n={},r=!0;for(var i in e)!function(i){n[i]=[];for(var o=e[i],a=t[i],s=0;s=2){var r=Math.atan2(t[n-1].y-t[0].y,t[n-1].x-t[0].x);return 1.5*Math.PI+r}return NaN}},{key:\"getSignalPositionAndHeading\",value:function(e,t){var n=[];if(e.subsignal.forEach(function(e){e.location&&n.push(e.location)}),0===n.length&&(console.warn(\"Subsignal locations not found, use signal boundary instead.\"),n.push(e.boundary.point)),0===n.length)return console.warn(\"Unable to determine signal location, skip.\"),null;var r=void 0,i=e.overlapId.length;if(i>0){var o=e.overlapId[i-1].id;r=this.laneHeading[this.overlapMap[o]]}if(r||(console.warn(\"Unable to get traffic light heading, use orthogonal direction of StopLine.\"),r=this.getHeadingFromStopLine(e)),isNaN(r))return console.error(\"Error loading traffic light. Unable to determine heading.\"),null;var a=new d.Vector3(0,0,0);return a.x=_.meanBy(_.values(n),function(e){return e.x}),a.y=_.meanBy(_.values(n),function(e){return e.y}),a=t.applyOffset(a),{pos:a,heading:r}}},{key:\"drawStopLine\",value:function(e,t,n,r){e.forEach(function(e){e.segment.forEach(function(e){var i=n.applyOffsetToArray(e.lineSegment.point),o=(0,h.drawSegmentsFromPoints)(i,S.PURE_WHITE,5,3,!1);r.add(o),t.push(o)})})}},{key:\"addTrafficLight\",value:function(e,t,n){var r=[],i=this.getSignalPositionAndHeading(e,t);return i&&(0,M.loadObject)(b.default,w.default,E,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:\"getStopSignPositionAndHeading\",value:function(e,t){var n=void 0;if(e.overlapId.length>0){var r=e.overlapId[0].id;n=this.laneHeading[this.overlapMap[r]]}if(n||(console.warn(\"Unable to get stop sign heading, use orthogonal direction of StopLine.\"),n=this.getHeadingFromStopLine(e)),isNaN(n))return console.error(\"Error loading stop sign. Unable to determine heading.\"),null;var i=e.stopLine[0].segment[0].lineSegment.point[0],o=new d.Vector3(i.x,i.y,0);return o=t.applyOffset(o),{pos:o,heading:n}}},{key:\"addStopSign\",value:function(e,t,n){var r=[],i=this.getStopSignPositionAndHeading(e,t);return i&&(0,M.loadObject)(m.default,v.default,T,function(e){e.rotation.x=Math.PI/2,e.rotation.y=i.heading+Math.PI/2,e.position.set(i.pos.x,i.pos.y,0),e.matrixAutoUpdate=!1,e.updateMatrix(),n.add(e),r.push(e)}),this.drawStopLine(e.stopLine,r,t,n),r}},{key:\"removeDrewObjects\",value:function(e,t){e&&e.forEach(function(e){t.remove(e),e.geometry&&e.geometry.dispose(),e.material&&e.material.dispose()})}},{key:\"removeExpiredElements\",value:function(e,t){var n=this,r={};for(var i in this.data)!function(i){r[i]=[];var o=n.data[i],a=e[i];o.forEach(function(e){a&&a.includes(e.id.id)?r[i].push(e):(n.removeDrewObjects(e.drewObjects,t),\"lane\"===i&&delete n.laneHeading[e.id.id])})}(i);this.data=r}},{key:\"appendMapData\",value:function(e,t,n){for(var r in e){this.data[r]||(this.data[r]=[]);for(var i=0;i.2&&(g-=.7)})}}))}},{key:\"getPredCircle\",value:function(){var e=new u.MeshBasicMaterial({color:16777215,transparent:!1,opacity:.5}),t=(0,h.drawCircle)(.2,e);return this.predCircles.push(t),t}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l),n(16)),c=r(u),d=n(32),f=(n(39),function(){function e(){(0,o.default)(this,e),this.routePaths=[],this.lastRoutingTime=-1}return(0,s.default)(e,[{key:\"update\",value:function(e,t,n,r){var i=this;this.routePaths.forEach(function(e){e.visible=c.default.options.showRouting}),this.lastRoutingTime!==e&&void 0!==t&&(this.lastRoutingTime=e,this.routePaths.forEach(function(e){r.remove(e),e.material.dispose(),e.geometry.dispose()}),t.forEach(function(e){var t=n.applyOffsetToArray(e.point),o=(0,d.drawThickBandFromPoints)(t,.3,16711680,.6,5);o.visible=c.default.options.showRouting,r.add(o),i.routePaths.push(o)}))}}]),e}());t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(l);n(473);var u=n(461),c=r(u),d=n(31),f=r(d),h=n(16),p=(r(h),n(17)),m=r(p),g=n(32),v=function(){function e(){(0,o.default)(this,e),this.routePoints=[],this.inEditingMode=!1}return(0,s.default)(e,[{key:\"isInEditingMode\",value:function(){return this.inEditingMode}},{key:\"enableEditingMode\",value:function(e,t){this.inEditingMode=!0;e.fov=f.default.camera.Map.fov,e.near=f.default.camera.Map.near,e.far=f.default.camera.Map.far,e.updateProjectionMatrix(),m.default.requestMapElementIdsByRadius(this.EDITING_MAP_RADIUS)}},{key:\"disableEditingMode\",value:function(e){this.inEditingMode=!1,this.removeAllRoutePoints(e)}},{key:\"addRoutingPoint\",value:function(e,t,n){var r=t.applyOffset({x:e.x,y:e.y}),i=(0,g.drawImage)(c.default,3.5,3.5,r.x,r.y,.3);this.routePoints.push(i),n.add(i)}},{key:\"removeLastRoutingPoint\",value:function(e){var t=this.routePoints.pop();t&&(e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose())}},{key:\"removeAllRoutePoints\",value:function(e){this.routePoints.forEach(function(t){e.remove(t),t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose()}),this.routePoints=[]}},{key:\"sendRoutingRequest\",value:function(e,t){if(0===this.routePoints.length)return alert(\"Please provide at least an end point.\"),!1;var n=this.routePoints.map(function(e){return e.position.z=0,t.applyOffset(e.position,!0)}),r=n.length>1?n[0]:t.applyOffset(e,!0),i=n[n.length-1],o=n.length>1?n.slice(1,-1):[];return m.default.requestRoute(r,o,i),!0}}]),e}();t.default=v,v.prototype.EDITING_MAP_RADIUS=1500},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(0),o=r(i),a=n(1),s=r(a),l=n(10),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),c=n(39),d={},f=!1,h=new u.FontLoader,p=\"fonts/gentilis_bold.typeface.json\";h.load(p,function(e){d.gentilis_bold=e,f=!0},function(e){console.log(p+e.loaded/e.total*100+\"% loaded\")},function(e){console.log(\"An error happened when loading \"+p)});var m=function(){function e(){(0,o.default)(this,e),this.charMeshes={},this.charPointers={}}return(0,s.default)(e,[{key:\"reset\",value:function(){this.charPointers={}}},{key:\"composeText\",value:function(e){if(!f)return null;for(var t=c.map(e,function(e){return e.charCodeAt(0)-32}),n=new u.Object3D,r=0;r0?this.charMeshes[i][0].clone():this.drawChar3D(e[r]),this.charMeshes[i].push(a)),a.position.set(.4*(r-t.length/2),0,0),this.charPointers[i]++,n.add(a)}return n}},{key:\"drawChar3D\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d.gentilis_bold,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.6,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16771584,o=new u.TextGeometry(e,{font:t,size:n,height:r}),a=new u.MeshBasicMaterial({color:i});return new u.Mesh(o,a)}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n=new f.default(e);for(var r in t)n.delete(r);return n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var o=n(58),a=r(o),s=n(0),l=r(s),u=n(1),c=r(u),d=n(238),f=r(d),h=n(10),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(h),m=n(31),g=r(m),v=n(17),y=(r(v),n(57)),b=function(){function e(){(0,l.default)(this,e),this.mesh=!0,this.type=\"tile\",this.hash=-1,this.currentTiles={},this.initialized=!1,this.range=g.default.ground.tileRange,this.metadata=null,this.mapId=null,this.mapUrlPrefix=null}return(0,c.default)(e,[{key:\"initialize\",value:function(e,t){this.metadata={tileLength:t.tile*t.mpp,left:t.left,top:t.top,numCols:t.wnum,numRows:t.hnum,mpp:t.mpp,tile:t.tile,imageUrl:t.image_url},this.mapId=t.mapid,this.mapUrlPrefix=this.metadata.imageUrl?this.metadata.imageUrl+\"/\"+this.mapId:e+\"/map/getMapPic\",this.initialized=!0}},{key:\"removeDrewObject\",value:function(e,t){var n=this.currentTiles[e];n&&(t.remove(n),n.geometry&&n.geometry.dispose(),n.material&&n.material.dispose()),delete this.currentTiles[e]}},{key:\"appendTiles\",value:function(e,t,n,r,i){var o=this;if(!(t<0||t>this.metadata.numCols||e<0||e>this.metadata.numRows)){var a=this.metadata.imageUrl?this.mapUrlPrefix+\"/\"+this.metadata.mpp+\"_\"+e+\"_\"+t+\"_\"+this.metadata.tile+\".png\":this.mapUrlPrefix+\"?mapId=\"+this.mapId+\"&i=\"+e+\"&j=\"+t,s=r.applyOffset({x:this.metadata.left+(e+.5)*this.metadata.tileLength,y:this.metadata.top-(t+.5)*this.metadata.tileLength,z:0});(0,y.loadTexture)(a,function(e){var t=new p.Mesh(new p.PlaneGeometry(1,1),new p.MeshBasicMaterial({map:e}));t.position.set(s.x,s.y,s.z),t.scale.set(o.metadata.tileLength,o.metadata.tileLength,1),t.overdraw=!1,o.currentTiles[n]=t,i.add(t)})}}},{key:\"removeExpiredTiles\",value:function(e,t){for(var n in this.currentTiles)e.has(n)||this.removeDrewObject(n,t)}},{key:\"updateIndex\",value:function(e,t,n,r){if(e!==this.hash){this.hash=e,this.removeExpiredTiles(t,r);var o=i(t,this.currentTiles);if(!_.isEmpty(o)||!this.initialized){var s=!0,l=!1,u=void 0;try{for(var c,d=(0,a.default)(o);!(s=(c=d.next()).done);s=!0){var f=c.value;this.currentTiles[f]=null;var h=f.split(\",\"),p=parseInt(h[0]),m=parseInt(h[1]);this.appendTiles(p,m,f,n,r)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}}}},{key:\"update\",value:function(e,t,n){if(t.isInitialized()&&this.initialized){for(var r=e.autoDrivingCar.positionX,i=e.autoDrivingCar.positionY,o=Math.floor((r-this.metadata.left)/this.metadata.tileLength),a=Math.floor((this.metadata.top-i)/this.metadata.tileLength),s=new f.default,l=\"\",u=o-this.range;u<=o+this.range;u++)for(var c=a-this.range;c<=a+this.range;c++){var d=u+\",\"+c;s.add(d),l+=d}this.updateIndex(l,s,t,n)}}}]),e}();t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)return[];for(var n=[],r=0;r0){if(Math.abs(n[n.length-1].x-o.x)+Math.abs(n[n.length-1].y-o.y)1e-4?t.length/Math.tan(n):1e5;var i=t.heading,o=Math.abs(r),a=7200/(2*Math.PI*o)*Math.PI/180,s=null,l=null,u=null,c=null;r>=0?(u=Math.PI/2+i,c=i-Math.PI/2,s=0,l=a):(u=i-Math.PI/2,c=Math.PI/2+i,s=-a,l=0);var d=t.positionX+Math.cos(u)*o,f=t.positionY+Math.sin(u)*o,h=new v.EllipseCurve(d,f,o,o,s,l,!1,c);e.steerCurve=h.getPoints(25)}},{key:\"interpolateValueByCurrentTime\",value:function(e,t,n){if(\"timestampSec\"===n)return t;var r=e.map(function(e){return e.timestampSec}),i=e.map(function(e){return e[n]});return new v.LinearInterpolant(r,i,1,[]).evaluate(t)[0]}},{key:\"updateGraph\",value:function(e,t,n,r,i){var o=n.timestampSec,a=e.target.length>0&&o=80;if(a?(e.target=[],e.real=[],e.autoModeZone=[]):s&&(e.target.shift(),e.real.shift(),e.autoModeZone.shift()),0===e.target.length||o!==e.target[e.target.length-1].t){e.plan=t.map(function(e){return{x:e[r],y:e[i]}}),e.target.push({x:this.interpolateValueByCurrentTime(t,o,r),y:this.interpolateValueByCurrentTime(t,o,i),t:o}),e.real.push({x:n[r],y:n[i]});var l=\"DISENGAGE_NONE\"===n.disengageType;e.autoModeZone.push({x:n[r],y:l?n[i]:void 0})}}},{key:\"update\",value:function(e){var t=e.planningTrajectory,n=e.autoDrivingCar;t&&n&&(this.updateGraph(this.data.speedGraph,t,n,\"timestampSec\",\"speed\"),this.updateGraph(this.data.accelerationGraph,t,n,\"timestampSec\",\"speedAcceleration\"),this.updateGraph(this.data.curvatureGraph,t,n,\"timestampSec\",\"kappa\"),this.updateGraph(this.data.trajectoryGraph,t,n,\"positionX\",\"positionY\"),this.updateSteerCurve(this.data.trajectoryGraph,n),this.data.trajectoryGraph.pose[0].x=n.positionX,this.data.trajectoryGraph.pose[0].y=n.positionY,this.data.trajectoryGraph.pose[0].rotation=n.heading,this.updateTime(e.planningTime))}}]),e}(),s=o(a.prototype,\"lastUpdatedTime\",[g.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,\"updateTime\",[g.action],(0,d.default)(a.prototype,\"updateTime\"),a.prototype),a);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,m.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h,p=n(18),m=r(p),g=n(24),v=r(g),y=n(35),b=r(y),x=n(0),_=r(x),w=n(1),M=r(w),S=n(22),E=n(17),T=r(E),k=(a=function(){function e(){(0,_.default)(this,e),this.modes={},i(this,\"currentMode\",s,this),this.vehicles=[],i(this,\"currentVehicle\",l,this),this.maps=[],i(this,\"currentMap\",u,this),i(this,\"moduleStatus\",c,this),i(this,\"hardwareStatus\",d,this),i(this,\"enableStartAuto\",f,this),this.displayName={},i(this,\"dockerImage\",h,this)}return(0,M.default)(e,[{key:\"initialize\",value:function(e){var t=this;e.dockerImage&&(this.dockerImage=e.dockerImage),e.modes&&(this.modes=e.modes),this.vehicles=(0,b.default)(e.availableVehicles).sort().map(function(e){return e}),this.maps=(0,b.default)(e.availableMaps).sort().map(function(e){return e}),(0,b.default)(e.modules).forEach(function(n){t.moduleStatus.set(n,!1),t.displayName[n]=e.modules[n].displayName}),(0,b.default)(e.hardware).forEach(function(n){t.hardwareStatus.set(n,\"NOT_READY\"),t.displayName[n]=e.hardware[n].displayName})}},{key:\"updateStatus\",value:function(e){if(e.currentMode&&(this.currentMode=e.currentMode),e.currentMap&&(this.currentMap=e.currentMap),e.currentVehicle&&(this.currentVehicle=e.currentVehicle),e.systemStatus){if(e.systemStatus.modules)for(var t in e.systemStatus.modules)this.moduleStatus.set(t,e.systemStatus.modules[t].processStatus.running);if(e.systemStatus.hardware)for(var n in e.systemStatus.hardware)this.hardwareStatus.set(n,e.systemStatus.hardware[n].summary)}}},{key:\"update\",value:function(e){this.enableStartAuto=\"READY_TO_ENGAGE\"===e.engageAdvice}},{key:\"toggleModule\",value:function(e){this.moduleStatus.set(e,!this.moduleStatus.get(e));var t=this.moduleStatus.get(e)?\"start\":\"stop\";T.default.executeModuleCommand(e,t)}},{key:\"showRTKCommands\",get:function(){return\"RTK Record / Replay\"===this.currentMode}},{key:\"showNavigationMap\",get:function(){return\"Navigation\"===this.currentMode}}]),e}(),s=o(a.prototype,\"currentMode\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),l=o(a.prototype,\"currentVehicle\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),u=o(a.prototype,\"currentMap\",[S.observable],{enumerable:!0,initializer:function(){return\"none\"}}),c=o(a.prototype,\"moduleStatus\",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),d=o(a.prototype,\"hardwareStatus\",[S.observable],{enumerable:!0,initializer:function(){return S.observable.map()}}),f=o(a.prototype,\"enableStartAuto\",[S.observable],{enumerable:!0,initializer:function(){return!1}}),h=o(a.prototype,\"dockerImage\",[S.observable],{enumerable:!0,initializer:function(){return\"\"}}),o(a.prototype,\"initialize\",[S.action],(0,v.default)(a.prototype,\"initialize\"),a.prototype),o(a.prototype,\"updateStatus\",[S.action],(0,v.default)(a.prototype,\"updateStatus\"),a.prototype),o(a.prototype,\"update\",[S.action],(0,v.default)(a.prototype,\"update\"),a.prototype),o(a.prototype,\"toggleModule\",[S.action],(0,v.default)(a.prototype,\"toggleModule\"),a.prototype),o(a.prototype,\"showRTKCommands\",[S.computed],(0,v.default)(a.prototype,\"showRTKCommands\"),a.prototype),o(a.prototype,\"showNavigationMap\",[S.computed],(0,v.default)(a.prototype,\"showNavigationMap\"),a.prototype),a);t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,b.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}function a(e){return 10*Math.round(e/10)}function s(e){switch(e){case\"DISENGAGE_MANUAL\":return\"MANUAL\";case\"DISENGAGE_NONE\":return\"AUTO\";case\"DISENGAGE_EMERGENCY\":return\"DISENGAGED\";case\"DISENGAGE_AUTO_STEER_ONLY\":return\"AUTO STEER\";case\"DISENGAGE_AUTO_SPEED_ONLY\":return\"AUTO SPEED\";case\"DISENGAGE_CHASSIS_ERROR\":return\"CHASSIS ERROR\";default:return\"?\"}}function l(e){return\"DISENGAGE_NONE\"===e||\"DISENGAGE_AUTO_STEER_ONLY\"===e||\"DISENGAGE_AUTO_SPEED_ONLY\"===e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var u,c,d,f,h,p,m,g,v,y=n(18),b=r(y),x=n(24),_=r(x),w=n(0),M=r(w),S=n(1),E=r(S),T=n(22),k=(u=function(){function e(){(0,M.default)(this,e),i(this,\"throttlePercent\",c,this),i(this,\"brakePercent\",d,this),i(this,\"speed\",f,this),i(this,\"steeringAngle\",h,this),i(this,\"steeringPercentage\",p,this),i(this,\"drivingMode\",m,this),i(this,\"isAutoMode\",g,this),i(this,\"turnSignal\",v,this)}return(0,E.default)(e,[{key:\"update\",value:function(e){e.autoDrivingCar&&(void 0!==e.autoDrivingCar.throttlePercentage&&(this.throttlePercent=a(e.autoDrivingCar.throttlePercentage)),void 0!==e.autoDrivingCar.brakePercentage&&(this.brakePercent=a(e.autoDrivingCar.brakePercentage)),void 0!==e.autoDrivingCar.speed&&(this.speed=e.autoDrivingCar.speed),void 0===e.autoDrivingCar.steeringPercentage||isNaN(e.autoDrivingCar.steeringPercentage)||(this.steeringPercentage=Math.round(e.autoDrivingCar.steeringPercentage)),void 0===e.autoDrivingCar.steeringAngle||isNaN(e.autoDrivingCar.steeringAngle)||(this.steeringAngle=-Math.round(180*e.autoDrivingCar.steeringAngle/Math.PI)),void 0!==e.autoDrivingCar.disengageType&&(this.drivingMode=s(e.autoDrivingCar.disengageType),this.isAutoMode=l(e.autoDrivingCar.disengageType)),void 0!==e.autoDrivingCar.currentSignal&&(this.turnSignal=e.autoDrivingCar.currentSignal))}}]),e}(),c=o(u.prototype,\"throttlePercent\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),d=o(u.prototype,\"brakePercent\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),f=o(u.prototype,\"speed\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),h=o(u.prototype,\"steeringAngle\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),p=o(u.prototype,\"steeringPercentage\",[T.observable],{enumerable:!0,initializer:function(){return 0}}),m=o(u.prototype,\"drivingMode\",[T.observable],{enumerable:!0,initializer:function(){return\"?\"}}),g=o(u.prototype,\"isAutoMode\",[T.observable],{enumerable:!0,initializer:function(){return!1}}),v=o(u.prototype,\"turnSignal\",[T.observable],{enumerable:!0,initializer:function(){return\"\"}}),o(u.prototype,\"update\",[T.action],(0,_.default)(u.prototype,\"update\"),u.prototype),u);t.default=k},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,d.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c=n(18),d=r(c),f=n(24),h=r(f),p=n(0),m=r(p),g=n(1),v=r(g),y=n(22),b=(a=function(){function e(){(0,m.default)(this,e),i(this,\"lastUpdateTimestamp\",s,this),i(this,\"hasActiveNotification\",l,this),i(this,\"items\",u,this),this.refreshTimer=null}return(0,v.default)(e,[{key:\"startRefresh\",value:function(){var e=this;this.clearRefreshTimer(),this.refreshTimer=setInterval(function(){Date.now()-e.lastUpdateTimestamp>6e3&&(e.setHasActiveNotification(!1),e.clearRefreshTimer())},500)}},{key:\"clearRefreshTimer\",value:function(){null!==this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}},{key:\"setHasActiveNotification\",value:function(e){this.hasActiveNotification=e}},{key:\"update\",value:function(e){if(e.monitor){var t=e.monitor,n=t.item,r=t.header,i=Math.floor(1e3*r.timestampSec);i>this.lastUpdateTimestamp&&(this.hasActiveNotification=!0,this.lastUpdateTimestamp=i,this.items.replace(n),this.startRefresh())}}},{key:\"insert\",value:function(e,t,n){var r=[];r.push({msg:t,logLevel:e});for(var i=0;i10||e<-10?100*e/Math.abs(e):e}},{key:\"extractDataPoints\",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!e)return[];var o=e.map(function(e){return{x:e[t]+i,y:e[n]}});return r&&e.length&&o.push({x:e[0][t],y:e[0][n]}),o}},{key:\"updateSLFrame\",value:function(e){var t=this.data.slGraph,n=e[0].sampledS;t.mapLowerBound=this.generateDataPoints(n,e[0].mapLowerBound,this.transformMapBound),t.mapUpperBound=this.generateDataPoints(n,e[0].mapUpperBound,this.transformMapBound),t.staticObstacleLowerBound=this.generateDataPoints(n,e[0].staticObstacleLowerBound),t.staticObstacleUpperBound=this.generateDataPoints(n,e[0].staticObstacleUpperBound),t.dynamicObstacleLowerBound=this.generateDataPoints(n,e[0].dynamicObstacleLowerBound),t.dynamicObstacleUpperBound=this.generateDataPoints(n,e[0].dynamicObstacleUpperBound),t.pathLine=this.extractDataPoints(e[0].slPath,\"s\",\"l\");var r=e[1].aggregatedBoundaryS;t.aggregatedBoundaryLow=this.generateDataPoints(r,e[1].aggregatedBoundaryLow),t.aggregatedBoundaryHigh=this.generateDataPoints(r,e[1].aggregatedBoundaryHigh)}},{key:\"updateSTGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.stGraph[a.name]={obstaclesBoundary:{}};var s=this.data.stGraph[a.name];if(a.boundary){var l=!0,u=!1,c=void 0;try{for(var d,f=(0,h.default)(a.boundary);!(l=(d=f.next()).done);l=!0){var p=d.value,m=p.type.substring(\"ST_BOUNDARY_TYPE_\".length),g=p.name+\"_\"+m;s.obstaclesBoundary[g]=this.extractDataPoints(p.point,\"t\",\"s\",!0)}}catch(e){u=!0,c=e}finally{try{!l&&f.return&&f.return()}finally{if(u)throw c}}}s.curveLine=this.extractDataPoints(a.speedProfile,\"t\",\"s\"),a.kernelCruiseRef&&(s.kernelCruise=this.generateDataPoints(a.kernelCruiseRef.t,a.kernelCruiseRef.cruiseLineS)),a.kernelFollowRef&&(s.kernelFollow=this.generateDataPoints(a.kernelFollowRef.t,a.kernelFollowRef.followLineS))}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updateSTSpeedGraph\",value:function(e){var t=this,n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e);!(n=(o=a.next()).done);n=!0){var s=o.value;this.data.stSpeedGraph[s.name]={};var l=this.data.stSpeedGraph[s.name];l.limit=this.extractDataPoints(s.speedLimit,\"s\",\"v\"),l.planned=this.extractDataPoints(s.speedProfile,\"s\",\"v\"),s.speedConstraint&&function(){var e=s.speedProfile.map(function(e){return e.t}),n=s.speedProfile.map(function(e){return e.s}),r=new b.LinearInterpolant(e,n,1,[]),i=s.speedConstraint.t.map(function(e){return r.evaluate(e)[0]});l.lowerConstraint=t.generateDataPoints(i,s.speedConstraint.lowerBound),l.upperConstraint=t.generateDataPoints(i,s.speedConstraint.upperBound)}()}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}},{key:\"updateSpeed\",value:function(e,t){var n=this.data.speedGraph;if(e){var r=!0,i=!1,o=void 0;try{for(var a,s=(0,h.default)(e);!(r=(a=s.next()).done);r=!0){var l=a.value;n[l.name]=this.extractDataPoints(l.speedPoint,\"t\",\"v\")}}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}}t&&(n.finalSpeed=this.extractDataPoints(t,\"timestampSec\",\"speed\",!1,-this.planningTime))}},{key:\"updateAccelerationGraph\",value:function(e){var t=this.data.accelerationGraph;e&&(t.acceleration=this.extractDataPoints(e,\"timestampSec\",\"speedAcceleration\",!1,-this.planningTime))}},{key:\"updateKappaGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.kappaGraph[a.name]=this.extractDataPoints(a.pathPoint,\"s\",\"kappa\")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updateDkappaGraph\",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,o=(0,h.default)(e);!(t=(i=o.next()).done);t=!0){var a=i.value;this.data.dkappaGraph[a.name]=this.extractDataPoints(a.pathPoint,\"s\",\"dkappa\")}}catch(e){n=!0,r=e}finally{try{!t&&o.return&&o.return()}finally{if(n)throw r}}}},{key:\"updadteLatencyGraph\",value:function(e,t){for(var n in this.latencyGraph){var r=this.latencyGraph[n];if(r.length>0){var i=r[0].x,o=r[r.length-1].x,a=e-i;e3e5&&r.shift()}0!==r.length&&r[r.length-1].x===e||r.push({x:e,y:t.planning})}}},{key:\"updateDpPolyGraph\",value:function(e){var t=this.data.dpPolyGraph;if(e.sampleLayer){t.sampleLayer=[];var n=!0,r=!1,i=void 0;try{for(var o,a=(0,h.default)(e.sampleLayer);!(n=(o=a.next()).done);n=!0){o.value.slPoint.map(function(e){var n=e.s,r=e.l;t.sampleLayer.push({x:n,y:r})})}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}}e.minCostPoint&&(t.minCostPoint=this.extractDataPoints(e.minCostPoint,\"s\",\"l\"))}},{key:\"update\",value:function(e){var t=e.planningData;if(t){if(this.planningTime===e.planningTime)return;this.data=this.initData(),t.slFrame&&t.slFrame.length>=2&&this.updateSLFrame(t.slFrame),t.stGraph&&(this.updateSTGraph(t.stGraph),this.updateSTSpeedGraph(t.stGraph)),t.speedPlan&&e.planningTrajectory&&this.updateSpeed(t.speedPlan,e.planningTrajectory),e.planningTrajectory&&this.updateAccelerationGraph(e.planningTrajectory),t.path&&(this.updateKappaGraph(t.path),this.updateDkappaGraph(t.path)),t.dpPolyGraph&&this.updateDpPolyGraph(t.dpPolyGraph),e.latency&&this.updadteLatencyGraph(e.planningTime,e.latency),this.updatePlanningTime(e.planningTime)}}}]),e}(),s=o(a.prototype,\"planningTime\",[y.observable],{enumerable:!0,initializer:function(){return null}}),o(a.prototype,\"updatePlanningTime\",[y.action],(0,d.default)(a.prototype,\"updatePlanningTime\"),a.prototype),a);t.default=x},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,p.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u,c,d,f,h=n(18),p=r(h),m=n(24),g=r(m),v=n(0),y=r(v),b=n(1),x=r(b),_=n(22);n(476);var w=(a=function(){function e(){(0,y.default)(this,e),this.FPS=10,this.msPerFrame=100,this.jobId=null,this.mapId=null,i(this,\"numFrames\",s,this),i(this,\"requestedFrame\",l,this),i(this,\"retrievedFrame\",u,this),i(this,\"isPlaying\",c,this),i(this,\"isSeeking\",d,this),i(this,\"seekingFrame\",f,this)}return(0,x.default)(e,[{key:\"setMapId\",value:function(e){this.mapId=e}},{key:\"setJobId\",value:function(e){this.jobId=e}},{key:\"setNumFrames\",value:function(e){this.numFrames=parseInt(e)}},{key:\"setPlayRate\",value:function(e){if(\"number\"==typeof e&&e>0){var t=1/this.FPS*1e3;this.msPerFrame=t/e}}},{key:\"initialized\",value:function(){return this.numFrames&&null!==this.jobId&&null!==this.mapId}},{key:\"hasNext\",value:function(){return this.initialized()&&this.requestedFrame0&&e<=this.numFrames&&(this.seekingFrame=e,this.requestedFrame=e-1,this.isSeeking=!0)}},{key:\"resetFrame\",value:function(){this.requestedFrame=0,this.retrievedFrame=0,this.seekingFrame=1}},{key:\"shouldProcessFrame\",value:function(e){return!(!e||!e.sequenceNum||this.seekingFrame!==e.sequenceNum||!this.isPlaying&&!this.isSeeking)&&(this.retrievedFrame=e.sequenceNum,this.isSeeking=!1,this.seekingFrame++,!0)}},{key:\"currentFrame\",get:function(){return this.retrievedFrame}},{key:\"replayComplete\",get:function(){return this.seekingFrame>this.numFrames}}]),e}(),s=o(a.prototype,\"numFrames\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),l=o(a.prototype,\"requestedFrame\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),u=o(a.prototype,\"retrievedFrame\",[_.observable],{enumerable:!0,initializer:function(){return 0}}),c=o(a.prototype,\"isPlaying\",[_.observable],{enumerable:!0,initializer:function(){return!1}}),d=o(a.prototype,\"isSeeking\",[_.observable],{enumerable:!0,initializer:function(){return!0}}),f=o(a.prototype,\"seekingFrame\",[_.observable],{enumerable:!0,initializer:function(){return 1}}),o(a.prototype,\"next\",[_.action],(0,g.default)(a.prototype,\"next\"),a.prototype),o(a.prototype,\"currentFrame\",[_.computed],(0,g.default)(a.prototype,\"currentFrame\"),a.prototype),o(a.prototype,\"replayComplete\",[_.computed],(0,g.default)(a.prototype,\"replayComplete\"),a.prototype),o(a.prototype,\"setPlayAction\",[_.action],(0,g.default)(a.prototype,\"setPlayAction\"),a.prototype),o(a.prototype,\"seekFrame\",[_.action],(0,g.default)(a.prototype,\"seekFrame\"),a.prototype),o(a.prototype,\"resetFrame\",[_.action],(0,g.default)(a.prototype,\"resetFrame\"),a.prototype),o(a.prototype,\"shouldProcessFrame\",[_.action],(0,g.default)(a.prototype,\"shouldProcessFrame\"),a.prototype),a);t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n,r){n&&(0,c.default)(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function o(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(e){o[e]=r[e]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,(\"value\"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(n,r){return r(e,t,n)||n},o),i&&void 0!==o.initializer&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),void 0===o.initializer&&(Object.defineProperty(e,t,o),o=null),o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var a,s,l,u=n(18),c=r(u),d=n(24),f=r(d),h=n(0),p=r(h),m=n(1),g=r(m),v=n(22),y=n(40),b=r(y),x=(a=function(){function e(){(0,p.default)(this,e),i(this,\"defaultRoutingEndPoint\",s,this),i(this,\"currentPOI\",l,this)}return(0,g.default)(e,[{key:\"updateDefaultRoutingEndPoint\",value:function(e){if(void 0!==e.poi){this.defaultRoutingEndPoint={};for(var t=0;t150&&console.log(\"Last sim_world_update took \"+(e.timestamp-this.lastUpdateTimestamp)+\"ms\"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.world.sequenceNum>this.lastSeqNum+1&&console.debug(\"Last seq: \"+this.lastSeqNum+\". New seq: \"+e.world.sequenceNum+\".\"),this.lastSeqNum=e.world.sequenceNum}},{key:\"startPlayback\",value:function(e){var t=this;clearInterval(this.requestTimer),this.requestTimer=setInterval(function(){t.websocket.readyState===t.websocket.OPEN&&f.default.playback.initialized()&&(t.requestSimulationWorld(f.default.playback.jobId,f.default.playback.next()),f.default.playback.hasNext()||(clearInterval(t.requestTimer),t.requestTimer=null))},e/2),clearInterval(this.processTimer),this.processTimer=setInterval(function(){if(f.default.playback.initialized()){var e=100*f.default.playback.seekingFrame;e in t.frameData&&t.processSimWorld(t.frameData[e]),f.default.playback.replayComplete&&(clearInterval(t.processTimer),t.processTimer=null)}},e)}},{key:\"pausePlayback\",value:function(){clearInterval(this.requestTimer),clearInterval(this.processTimer),this.requestTimer=null,this.processTimer=null}},{key:\"requestGroundMeta\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveGroundMeta\",mapId:e}))}},{key:\"processSimWorld\",value:function(e){var t=\"string\"==typeof e.world?JSON.parse(e.world):e.world;f.default.playback.shouldProcessFrame(t)&&(f.default.updateTimestamp(e.timestamp),p.default.maybeInitializeOffest(t.autoDrivingCar.positionX,t.autoDrivingCar.positionY),p.default.updateWorld(t,e.planningData),f.default.meters.update(t),f.default.monitor.update(t),f.default.trafficSignal.update(t))}},{key:\"requstFrameCount\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveFrameCount\",jobId:e}))}},{key:\"requestSimulationWorld\",value:function(e,t){var n=100*t;n in this.frameData?f.default.playback.isSeeking&&this.processSimWorld(this.frameData[n]):this.websocket.send((0,o.default)({type:\"RequestSimulationWorld\",jobId:e,frameId:t}))}}]),e}();t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var i=n(70),o=r(i),a=n(0),s=r(a),l=n(1),u=r(l),c=n(16),d=r(c),f=n(40),h=r(f),p=n(136),m=p.Root.fromJSON(n(479)),g=m.lookupType(\"apollo.dreamview.SimulationWorld\"),v=function(){function e(t){(0,s.default)(this,e),this.serverAddr=t,this.websocket=null,this.counter=0,this.lastUpdateTimestamp=0,this.lastSeqNum=-1,this.currMapRadius=null,this.updatePOI=!0,this.routingTime=-1}return(0,u.default)(e,[{key:\"initialize\",value:function(){var e=this;this.counter=0;try{this.websocket=new WebSocket(this.serverAddr),this.websocket.binaryType=\"arraybuffer\"}catch(t){return console.error(\"Failed to establish a connection: \"+t),void setTimeout(function(){e.initialize()},1e3)}this.websocket.onmessage=function(t){var n=null;switch(\"string\"==typeof t.data?n=JSON.parse(t.data):(n=g.toObject(g.decode(new Uint8Array(t.data)),{enums:String}),n.type=\"SimWorldUpdate\"),n.type){case\"HMIConfig\":d.default.hmi.initialize(n.data);break;case\"HMIStatus\":d.default.hmi.updateStatus(n.data),h.default.updateGroundImage(d.default.hmi.currentMap);break;case\"SimWorldUpdate\":e.checkMessage(n),d.default.updateTimestamp(n.timestamp),d.default.updateModuleDelay(n),h.default.maybeInitializeOffest(n.autoDrivingCar.positionX,n.autoDrivingCar.positionY),d.default.meters.update(n),d.default.monitor.update(n),d.default.trafficSignal.update(n),d.default.hmi.update(n),h.default.updateWorld(n),d.default.options.showPNCMonitor&&(d.default.planningData.update(n),d.default.controlData.update(n)),n.mapHash&&e.counter%10==0&&(e.counter=0,e.currMapRadius=n.mapRadius,h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius)),e.routingTime!==n.routingTime&&(e.requestRoutePath(),e.routingTime=n.routingTime),e.counter+=1;break;case\"MapElementIds\":h.default.updateMapIndex(n.mapHash,n.mapElementIds,n.mapRadius);break;case\"DefaultEndPoint\":d.default.routeEditingManager.updateDefaultRoutingEndPoint(n);break;case\"RoutePath\":h.default.updateRouting(n.routingTime,n.routePath)}},this.websocket.onclose=function(t){console.log(\"WebSocket connection closed, close_code: \"+t.code),e.initialize()},clearInterval(this.timer),this.timer=setInterval(function(){if(e.websocket.readyState===e.websocket.OPEN){e.updatePOI&&(e.requestDefaultRoutingEndPoint(),e.updatePOI=!1);var t=d.default.options.showPNCMonitor;e.websocket.send((0,o.default)({type:\"RequestSimulationWorld\",planning:t}))}},100)}},{key:\"checkMessage\",value:function(e){0!==this.lastUpdateTimestamp&&e.timestamp-this.lastUpdateTimestamp>150&&console.log(\"Last sim_world_update took \"+(e.timestamp-this.lastUpdateTimestamp)+\"ms\"),this.lastUpdateTimestamp=e.timestamp,-1!==this.lastSeqNum&&e.sequenceNum>this.lastSeqNum+1&&console.debug(\"Last seq: \"+this.lastSeqNum+\". New seq: \"+e.sequenceNum+\".\"),this.lastSeqNum=e.sequenceNum}},{key:\"requestMapElementIdsByRadius\",value:function(e){this.websocket.send((0,o.default)({type:\"RetrieveMapElementIdsByRadius\",radius:e}))}},{key:\"requestRoute\",value:function(e,t,n){this.websocket.send((0,o.default)({type:\"SendRoutingRequest\",start:e,end:n,waypoint:t}))}},{key:\"requestDefaultRoutingEndPoint\",value:function(){this.websocket.send((0,o.default)({type:\"GetDefaultEndPoint\"}))}},{key:\"resetBackend\",value:function(){this.websocket.send((0,o.default)({type:\"Reset\"}))}},{key:\"dumpMessages\",value:function(){this.websocket.send((0,o.default)({type:\"Dump\"}))}},{key:\"changeSetupMode\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeMode\",new_mode:e}))}},{key:\"changeMap\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeMap\",new_map:e})),this.updatePOI=!0}},{key:\"changeVehicle\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeVehicle\",new_vehicle:e}))}},{key:\"executeModeCommand\",value:function(e){this.websocket.send((0,o.default)({type:\"ExecuteModeCommand\",command:e}))}},{key:\"executeModuleCommand\",value:function(e,t){this.websocket.send((0,o.default)({type:\"ExecuteModuleCommand\",module:e,command:t}))}},{key:\"executeToolCommand\",value:function(e,t){this.websocket.send((0,o.default)({type:\"ExecuteToolCommand\",tool:e,command:t}))}},{key:\"changeDrivingMode\",value:function(e){this.websocket.send((0,o.default)({type:\"ChangeDrivingMode\",new_mode:e}))}},{key:\"submitDriveEvent\",value:function(e,t){this.websocket.send((0,o.default)({type:\"SubmitDriveEvent\",event_time_ms:e,event_msg:t}))}},{key:\"toggleSimControl\",value:function(e){this.websocket.send((0,o.default)({type:\"ToggleSimControl\",enable:e}))}},{key:\"requestRoutePath\",value:function(){this.websocket.send((0,o.default)({type:\"RequestRoutePath\"}))}}]),e}();t.default=v},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'body{margin:0;overflow:hidden;background-color:#14171a!important;font:14px Lucida Grande,Helvetica,Arial,sans-serif;color:#fff}::-webkit-scrollbar{width:4px;height:8px;opacity:.3;background-color:#fff}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}::-webkit-scrollbar-thumb{opacity:.8;background-color:#30a5ff}::-webkit-scrollbar-thumb:active{background-color:#30a5ff}.header{display:flex;align-items:center;z-index:100;position:relative;top:0;left:0;height:60px;background:#000;color:#fff;font-size:16px;text-align:left}@media (max-height:800px){.header{height:55px;font-size:14px}}.header .apollo-logo{flex:0 0 auto;top:40px;left:40px;height:40px;width:121px;margin:10px auto 5px 18px}@media (max-height:800px){.header .apollo-logo{top:15px;left:25px;height:25px;width:80px;margin-top:5px}}.header .selector{flex:0 0 auto;position:relative;margin:5px;border:1px solid #383838}.header .selector select{display:block;border:none;padding:.5em 3em .5em .5em;background:#000;color:#fff;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.header .selector .arrow{position:absolute;top:0;right:0;width:30px;height:100%;border-left:1px solid #383838;background:#181818;pointer-events:none}.header .selector .arrow:before{position:absolute;top:55%;right:7px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:\"\";pointer-events:none}.pane-container{position:absolute;width:100%;height:calc(100% - 60px)}@media (max-height:800px){.pane-container{height:calc(100% - 55px)}}.pane-container .left-pane{display:flex;flex-flow:row nowrap;align-items:stretch;position:absolute;bottom:0;top:0;width:100%}.pane-container .left-pane .dreamview-body{display:flex;flex-flow:column nowrap;flex:1 1 auto;overflow:hidden}.pane-container .left-pane .dreamview-body .main-view{flex:0 0 auto;position:relative}.pane-container .right-pane{position:absolute;right:0;width:100%;height:100%;overflow:hidden}.pane-container .right-pane ::-webkit-scrollbar{width:6px}.pane-container .SplitPane .Resizer{background:#000;opacity:.2;z-index:1;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-background-clip:padding;-webkit-background-clip:padding;background-clip:padding-box}.pane-container .SplitPane .Resizer:hover{-webkit-transition:all 2s ease;transition:all 2s ease}.pane-container .SplitPane .Resizer.vertical{width:11px;margin:0 -5px;border-left:5px solid hsla(0,0%,100%,0);border-right:5px solid hsla(0,0%,100%,0);cursor:col-resize}.pane-container .SplitPane .Resizer.vertical:hover{border-left:5px solid rgba(0,0,0,.5);border-right:5px solid rgba(0,0,0,.5)}.pane-container .SplitPane .Resizer.disabled{cursor:auto}.pane-container .SplitPane .Resizer.disabled:hover{border-color:transparent}.offlineview{display:flex;flex-flow:column nowrap;position:absolute;width:100%;height:100%}.offlineview .main-view{flex:0 0 auto;position:relative}.dreamview-canvas{z-index:1;position:absolute}.dreamview-canvas .geolocation{z-index:10;position:absolute;bottom:10px;right:10px;color:#fff}.hidden{display:none}.tools{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;margin-top:3px;overflow:hidden}.tools .card{flex:1 1 auto;border-right:3px solid #000;padding:25px 10px 25px 20px;background:#1d2226}@media (max-height:800px){.tools .card{padding:15px 5px 15px 15px}}.tools .card .card-header{width:100%;padding-bottom:15px;font-size:18px}.tools .card .card-header span{width:200px;border-bottom:1px solid #999;padding:10px 10px 10px 0}@media (max-height:800px){.tools .card .card-header{font-size:16px}}.tools .card .card-content-row{display:flex;flex-flow:row wrap;align-content:flex-start;overflow-x:hidden;overflow-y:auto;height:85%}.tools .card .card-content-column{display:flex;flex-flow:column nowrap;overflow-x:hidden;overflow-y:auto;height:85%}.tools ul{flex:0 0 auto;margin:0 2px 0 0;padding-left:0;padding-right:5px;background-color:#1d2226;color:#999;list-style:none;cursor:pointer;font-size:12px}.tools ul li{line-height:40px}.tools ul li span{padding-left:20px}.tools ul li:hover{color:#fff;background-color:#2a3238}.tools .switch{display:inline-block;position:relative;width:40px;transform:translate(35%,25%)}.tools .switch .toggle-switch{display:none}.tools .switch .toggle-switch-label{display:block;overflow:hidden;cursor:pointer;height:20px;padding:0;line-height:20px;border:0;background-color:#3f4548;transition:background-color .2s ease-in}.tools .switch .toggle-switch-label:before{content:\"\";display:block;width:16px;margin:2px;background:#a0a0a0;position:absolute;top:0;bottom:0;right:20px;transition:all .2s ease-in}.tools .switch .toggle-switch:checked+.toggle-switch-label{background-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label,.tools .switch .toggle-switch:checked+.toggle-switch-label:before{border-color:#0e3d62}.tools .switch .toggle-switch:checked+.toggle-switch-label:before{right:0;background-color:#30a5ff}.tools .switch .toggle-switch:disabled+.toggle-switch-label,.tools .switch .toggle-switch:disabled+.toggle-switch-label:before{cursor:not-allowed}.tools .nav-side-menu{display:flex;flex-flow:row nowrap;align-items:stretch;flex:2 1 auto;z-index:10!important;margin-right:3px;overflow-y:hidden;overflow-x:auto;background:#1d2226;font-size:14px;color:#fff;text-align:left;white-space:nowrap}.tools .nav-side-menu .summary{line-height:50px}@media (max-height:800px){.tools .nav-side-menu .summary{line-height:25px}}.tools .nav-side-menu .summary img{position:relative;width:30px;height:30px;transform:translate(-30%,25%)}@media (max-height:800px){.tools .nav-side-menu .summary img{width:15px;height:15px;transform:translate(-50%,10%)}}.tools .nav-side-menu .summary span{padding-left:10px}.tools .nav-side-menu input[type=radio]{display:none}.tools .nav-side-menu .radio-selector-label{display:inline-block;position:relative;transform:translate(65%,30%);box-sizing:border-box;-webkit-box-sizing:border-box;width:25px;height:25px;margin-right:6px;border-radius:50%;-webkit-border-radius:50%;background-color:#a0a0a0;box-shadow:inset 1px 0 #a0a0a0;border:7px solid #3f4548}.tools .nav-side-menu input[type=radio]:checked+.radio-selector-label{border:7px solid #0e3d62;background-color:#30a5ff}.tools .console{z-index:10;position:relative;min-width:230px;margin:0;border:none;padding:0;overflow-y:auto;overflow-x:hidden}.tools .console .monitor-item{display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default}.tools .console .monitor-item .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.tools .console .monitor-item .icon{height:15px;width:15px}}.tools .console .monitor-item .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.tools .console .monitor-item .alert{color:#d7466f}.tools .console .monitor-item .warn{color:#a3842d}.tools .poi-button{min-width:250px}.side-bar{display:flex;flex-direction:column;flex:0 0 auto;z-index:100;background:#1d2226;border-right:3px solid #000;overflow-y:auto;overflow-x:hidden}.side-bar .main-panel{margin-bottom:auto}.side-bar button:focus{outline:0}.side-bar .button{display:block;width:90px;border:none;padding:20px 10px;font-size:14px;text-align:center;background:#1d2226;color:#fff;opacity:.6;cursor:pointer}@media (max-height:800px){.side-bar .button{font-size:12px;width:80px;padding-top:10px}}.side-bar .button .icon{width:30px;height:30px;margin:auto}.side-bar .button .label{padding-top:10px}@media (max-height:800px){.side-bar .button .label{padding-top:4px}}.side-bar .button:first-child{padding-top:25px}@media (max-height:800px){.side-bar .button:first-child{padding-top:10px}}.side-bar .button:disabled{color:#414141;cursor:not-allowed}.side-bar .button:disabled .icon{opacity:.2}.side-bar .button-active{background:#2a3238;opacity:1;color:#fff}.side-bar .sub-button{display:block;width:90px;height:80px;border:none;padding:20px;font-size:14px;text-align:center;background:#3e4041;color:#999;cursor:pointer}@media (max-height:800px){.side-bar .sub-button{font-size:12px;width:80px;height:60px}}.side-bar .sub-button:disabled{cursor:not-allowed;opacity:.3}.side-bar .sub-button-active{background:#30a5ff;color:#fff}.status-bar{z-index:10;position:absolute;top:0;left:0;width:100%}.status-bar .auto-meter{position:absolute;width:224px;height:112px;top:10px;right:20px;background:rgba(0,0,0,.8)}.status-bar .auto-meter .speed-read{position:absolute;top:27px;left:15px;font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .auto-meter .speed-unit{position:absolute;top:66px;left:17px;color:#fff;font-size:15px}.status-bar .auto-meter .brake-panel{position:absolute;top:21px;right:2px}.status-bar .auto-meter .throttle-panel{position:absolute;top:61px;right:2px}.status-bar .auto-meter .meter-container .meter-label{font-size:13px;color:#fff}.status-bar .auto-meter .meter-container .meter-head{display:inline-block;position:absolute;margin:5px 0 0;border-width:4px;border-style:solid}.status-bar .auto-meter .meter-container .meter-background{position:relative;display:block;height:2px;width:120px;margin:8px}.status-bar .auto-meter .meter-container .meter-background span{position:relative;overflow:hidden;display:block;height:100%}.status-bar .wheel-panel{display:flex;flex-direction:row;justify-content:left;align-items:center;position:absolute;top:128px;right:20px;width:187px;height:92px;padding:10px 22px 10px 15px;background:rgba(0,0,0,.8)}.status-bar .wheel-panel .steerangle-read{font-family:Arial;font-weight:lighter;font-size:35px;color:#fff}.status-bar .wheel-panel .steerangle-unit{padding:20px 10px 0 3px;color:#fff;font-size:13px}.status-bar .wheel-panel .left-arrow{position:absolute;top:45px;right:115px;width:0;height:0;border-style:solid;border-width:12px 15px 12px 0;border-color:transparent}.status-bar .wheel-panel .right-arrow{position:absolute;top:45px;right:15px;width:0;height:0;border-style:solid;border-width:12px 0 12px 15px;border-color:transparent transparent transparent #30435e}.status-bar .wheel-panel .wheel{position:absolute;top:15px;right:33px}.status-bar .wheel-panel .wheel-background{stroke-width:3px;stroke:#006aff}.status-bar .wheel-panel .wheel-arm{stroke-width:3px;stroke:#006aff;fill:#006aff}.status-bar .traffic-light-and-driving-mode{position:absolute;top:246px;right:20px;width:224px;height:35px;font-size:14px}.status-bar .traffic-light-and-driving-mode .traffic-light{position:absolute;width:116px;height:35px;background:rgba(0,0,0,.8)}.status-bar .traffic-light-and-driving-mode .traffic-light .symbol{position:relative;top:4px;left:4px;width:28px;height:28px}.status-bar .traffic-light-and-driving-mode .traffic-light .text{position:absolute;top:10px;right:8px;color:#fff}.status-bar .traffic-light-and-driving-mode .driving-mode{position:absolute;top:0;right:0;width:105px;height:35px}.status-bar .traffic-light-and-driving-mode .driving-mode .text{position:absolute;top:50%;left:50%;float:right;transform:translate(-50%,-50%);text-align:center}.status-bar .traffic-light-and-driving-mode .auto-mode{background:linear-gradient(90deg,rgba(17,30,48,.8),rgba(7,42,94,.8));border-right:1px solid #006aff;color:#006aff}.status-bar .traffic-light-and-driving-mode .manual-mode{background:linear-gradient(90deg,rgba(30,17,17,.8),rgba(71,36,36,.8));color:#b43131;border-right:1px solid #b43131}.status-bar .notification-warn{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #a3842d;background-color:rgba(52,39,5,.3)}.status-bar .notification-warn .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-warn .icon{height:15px;width:15px}}.status-bar .notification-warn .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-warn .alert{color:#d7466f}.status-bar .notification-warn .warn{color:#a3842d}.status-bar .notification-alert{position:absolute;top:10px;right:260px;width:260px;display:flex;list-style-type:none;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:center;border-top:1px solid #333;padding:10px;cursor:default;border:1px solid #d7466f;background-color:rgba(74,5,24,.3)}.status-bar .notification-alert .icon{position:relative;height:20px;width:20px;padding-right:5px}@media (max-height:800px){.status-bar .notification-alert .icon{height:15px;width:15px}}.status-bar .notification-alert .text{position:relative;width:100%;line-height:150%;font-size:12px;character:0;line:20px}.status-bar .notification-alert .alert{color:#d7466f}.status-bar .notification-alert .warn{color:#a3842d}.tasks{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.tasks .command-group{display:flex;flex-flow:row nowrap;justify-content:flex-start;flex:1 1 0;min-height:45px;min-width:130px}.tasks .command-group .name{width:40px;padding:15px}.tasks .start-auto-command{flex:2 2 0}.tasks .start-auto-command .start-auto-button{max-height:unset}.tasks .others{min-width:165px;max-width:260px}.tasks .delay{min-width:265px;line-height:26px}.tasks .delay .delay-item{position:relative;margin:0 10px;font-size:16px}.tasks .delay .delay-item .name{display:inline-block;min-width:140px;color:#1c9063}.tasks .delay .delay-item .value{display:inline-block;position:absolute;right:0;min-width:70px;text-align:right}.tasks button{flex:1 1 0;margin:5px;border:0;min-width:75px;min-height:40px;max-height:60px;color:#999;border-bottom:2px solid #1c9063;background:linear-gradient(#000,#111f1d);outline:none;cursor:pointer}.tasks button:hover{color:#fff;background:#151e1b}.tasks button:active{background:rgba(35,51,45,.6)}.tasks button:disabled{color:#999;border-color:#555;background:linear-gradient(rgba(0,0,0,.8),rgba(9,17,16,.8));cursor:not-allowed}.tasks .disabled{cursor:not-allowed}.module-controller{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 1 auto;z-index:10;margin-right:3px;overflow:hidden}.module-controller .controller{min-width:180px}.module-controller .modules-container{flex-flow:column wrap}.module-controller .status-display{min-width:250px;padding:5px 20px 5px 5px}.module-controller .status-display .name{display:inline-block;padding:10px;min-width:80px}.module-controller .status-display .status{display:inline-block;position:relative;width:130px;padding:10px;background:#000;white-space:nowrap}.module-controller .status-display .status .status-icon{position:absolute;right:10px;width:15px;height:15px;background-color:#b43131}.route-editing-bar{z-index:10;position:absolute;top:0;left:0;right:0;min-height:90px;border-bottom:3px solid #000;padding-left:10px;background:#1d2226}@media (max-height:800px){.route-editing-bar{min-height:60px}}.route-editing-bar .editing-panel{display:flex;justify-content:center;align-items:center;overflow:hidden;white-space:nowrap}.route-editing-bar .editing-panel .button{height:90px;border:none;padding:10px 15px;background:#1d2226;outline:none;color:#999}@media (max-height:800px){.route-editing-bar .editing-panel .button{height:60px;padding:5px 10px}}.route-editing-bar .editing-panel .button img{display:block;top:23px;margin:15px auto}@media (max-height:800px){.route-editing-bar .editing-panel .button img{top:13px;margin:7px auto}}.route-editing-bar .editing-panel .button span{font-family:PingFangSC-Light;font-size:14px;color:#d8d8d8;text-align:center}@media (max-height:800px){.route-editing-bar .editing-panel .button span{font-size:12px}}.route-editing-bar .editing-panel .button:hover{background:#2a3238}.route-editing-bar .editing-panel .active{color:#fff;background:#2a3238}.route-editing-bar .editing-panel .editing-tip{height:90px;width:90px;margin-left:auto;border:none;color:#d8d8d8;font-size:35px}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip{height:60px;width:60px;font-size:20px}}.route-editing-bar .editing-panel .editing-tip p{position:absolute;top:120%;right:15px;width:400px;border-radius:3px;padding:20px;background-color:#fff;color:#999;font-size:14px;text-align:left;white-space:pre-wrap}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p{right:5px}}.route-editing-bar .editing-panel .editing-tip p:before{position:absolute;top:-20px;right:13px;content:\"\";border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #fff}@-moz-document url-prefix(){.route-editing-bar .editing-panel .editing-tip p:before{top:-38px}}@media (max-height:800px){.route-editing-bar .editing-panel .editing-tip p:before{right:8px}}.data-recorder{display:flex;flex-flow:row nowrap;align-items:stretch;flex:1 auto;z-index:10;margin-right:3px;overflow-x:auto;overflow-y:hidden}.data-recorder .drive-event-card table{width:100%;text-align:center}.data-recorder .drive-event-card .drive-event-msg{width:100%}.data-recorder .drive-event-card .toolbar button{width:200px}.loader{flex:0 0 auto;position:relative;width:100%;height:100%;background-color:#000c17}.loader .img-container{position:relative;top:50%;left:50%;width:40%;transform:translate(-50%,-50%)}.loader .img-container img{width:100%;height:auto}.loader .img-container .status-message{margin-top:10px;font-size:18px;font-size:1.7vw;color:#fff;text-align:center;animation-name:flash;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:running}@keyframes flash{0%{color:#fff}to{color:#000c17}}.loader .offline-loader{width:60%;max-width:650px}.loader .offline-loader .status-message{position:relative;top:-70px;top:-4.5vw;font-size:3vw}.video{z-index:1;position:absolute;top:0;left:0}.video img{position:relative;min-width:100px;min-height:20px;max-width:380px;max-height:300px;padding:1px;border:1px solid #383838}@media (max-height:800px){.video img{max-width:300px;max-height:200px}}.dashcam-player{z-index:1;position:absolute;top:0;left:0;color:#fff}.dashcam-player video{max-width:380px;max-height:300px}@media (max-height:800px){.dashcam-player video{max-width:300px;max-height:200px}}.dashcam-player .controls{display:flex;justify-content:flex-end;z-index:10;position:absolute;right:0}.dashcam-player .controls button{width:27px;height:27px;border:none;background-color:#000;opacity:.6;color:#fff}.dashcam-player .controls button img{width:15px}.dashcam-player .controls button:hover{opacity:.9}.dashcam-player .controls .close{font-size:20px}.dashcam-player .controls .syncup{padding-top:.5em}.pnc-monitor{height:100%;border:1px solid #000;box-sizing:border-box;background-color:#1d2226;overflow:auto}.pnc-monitor .scatter-graph{margin:0;border:1px #000;border-style:solid none}.pnc-monitor .react-tabs__tab-list{display:table;width:100%;margin:0;border-bottom:1px solid #000;padding:0}.pnc-monitor .react-tabs__tab{display:table-cell;position:relative;border:1px solid transparent;border-bottom:none;padding:6px 12px;background:#1d2226;color:#999;list-style:none;cursor:pointer}.pnc-monitor .react-tabs__tab--selected{background:#2a3238;color:#fff}.pnc-monitor .react-tabs__tab-panel{display:none}.pnc-monitor .react-tabs__tab-panel--selected{display:block}',\"\"])},function(e,t,n){t=e.exports=n(131)(!1),t.push([e.i,'.playback-controls{z-index:100;position:absolute;width:100%;height:40px;bottom:0;background:#1d2226;font-size:16px;min-width:550px}@media (max-height:800px){.playback-controls{font-size:14px}}.playback-controls .icon{display:inline-block;width:20px;height:20px;padding:10px;cursor:pointer}.playback-controls .icon .play{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#1d2226}.playback-controls .icon .pause,.playback-controls .icon .replay{stroke-linejoin:round;stroke-width:1.5px;stroke:#006aff;fill:#006aff}.playback-controls .icon .replay{top:2px}.playback-controls .icon .exit-fullscreen,.playback-controls .icon .fullscreen{stroke-linejoin:round;stroke-width:10px;stroke:#006aff;fill:#1d2226}.playback-controls .left-controls{display:inline-block;float:left}.playback-controls .right-controls{display:inline-block;float:right}.playback-controls .rate-selector{position:absolute;left:40px}.playback-controls .rate-selector select{display:block;border:none;padding:11px 23px 0 5px;color:#fff;background:#1d2226;outline:none;cursor:pointer;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.playback-controls .rate-selector .arrow{position:absolute;top:5px;right:0;width:10px;height:100%;pointer-events:none}.playback-controls .rate-selector .arrow:before{position:absolute;top:16px;right:1px;margin-top:-5px;border-top:8px solid #666;border-left:8px solid transparent;border-right:8px solid transparent;content:\"\";pointer-events:none}.playback-controls .time-controls{position:absolute;min-width:300px;height:100%;left:125px;right:50px}.playback-controls .time-controls .rangeslider{position:absolute;top:7px;left:10px;right:115px;margin:10px 0;height:7px;border-radius:10px;background:#2d3b50;-ms-touch-action:none;touch-action:none}.playback-controls .time-controls .rangeslider .rangeslider__fill{display:block;height:100%;border-radius:10px;background-color:#006aff;background:#006aff}.playback-controls .time-controls .rangeslider .rangeslider__handle{display:inline-block;position:absolute;height:16px;width:16px;top:50%;transform:translate3d(-50%,-50%,0);border:1px solid #006aff;border-radius:100%;background:#006aff;cursor:pointer;box-shadow:none}.playback-controls .time-controls .time-display{position:absolute;top:12px;right:0;color:#fff}',\"\"])},function(e,t,n){\"use strict\";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&\"=\"===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var i=new Array(64),o=new Array(123),a=0;a<64;)o[i[a]=a<26?a+65:a<52?a+71:a<62?a-4:a-59|43]=a++;r.encode=function(e,t,n){for(var r,o=null,a=[],s=0,l=0;t>2],r=(3&u)<<4,l=1;break;case 1:a[s++]=i[r|u>>4],r=(15&u)<<2,l=2;break;case 2:a[s++]=i[r|u>>6],a[s++]=i[63&u],l=0}s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,a)),s=0)}return l&&(a[s++]=i[r],a[s++]=61,1===l&&(a[s++]=61)),o?(s&&o.push(String.fromCharCode.apply(String,a.slice(0,s))),o.join(\"\")):String.fromCharCode.apply(String,a.slice(0,s))};r.decode=function(e,t,n){for(var r,i=n,a=0,s=0;s1)break;if(void 0===(l=o[l]))throw Error(\"invalid encoding\");switch(a){case 0:r=l,a=1;break;case 1:t[n++]=r<<2|(48&l)>>4,r=l,a=2;break;case 2:t[n++]=(15&r)<<4|(60&l)>>2,r=l,a=3;break;case 3:t[n++]=(3&r)<<6|l,a=0}}if(1===a)throw Error(\"invalid encoding\");return n-i},r.test=function(e){return/^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(e)}},function(e,t,n){\"use strict\";function r(e,t){function n(e){if(\"string\"!=typeof e){var t=i();if(r.verbose&&console.log(\"codegen: \"+t),t=\"return \"+t,e){for(var a=Object.keys(e),s=new Array(a.length+1),l=new Array(a.length),u=0;u0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>3.4028234663852886e38)e((i<<31|2139095040)>>>0,n,r);else if(t<1.1754943508222875e-38)e((i<<31|Math.round(t/1.401298464324817e-45))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2),a=8388607&Math.round(t*Math.pow(2,-o)*8388608);e((i<<31|o+127<<23|a)>>>0,n,r)}}function n(e,t,n){var r=e(t,n),i=2*(r>>31)+1,o=r>>>23&255,a=8388607&r;return 255===o?a?NaN:i*(1/0):0===o?1.401298464324817e-45*i*a:i*Math.pow(2,o-150)*(a+8388608)}e.writeFloatLE=t.bind(null,i),e.writeFloatBE=t.bind(null,o),e.readFloatLE=n.bind(null,a),e.readFloatBE=n.bind(null,s)}(),\"undefined\"!=typeof Float64Array?function(){function t(e,t,n){o[0]=e,t[n]=a[0],t[n+1]=a[1],t[n+2]=a[2],t[n+3]=a[3],t[n+4]=a[4],t[n+5]=a[5],t[n+6]=a[6],t[n+7]=a[7]}function n(e,t,n){o[0]=e,t[n]=a[7],t[n+1]=a[6],t[n+2]=a[5],t[n+3]=a[4],t[n+4]=a[3],t[n+5]=a[2],t[n+6]=a[1],t[n+7]=a[0]}function r(e,t){return a[0]=e[t],a[1]=e[t+1],a[2]=e[t+2],a[3]=e[t+3],a[4]=e[t+4],a[5]=e[t+5],a[6]=e[t+6],a[7]=e[t+7],o[0]}function i(e,t){return a[7]=e[t],a[6]=e[t+1],a[5]=e[t+2],a[4]=e[t+3],a[3]=e[t+4],a[2]=e[t+5],a[1]=e[t+6],a[0]=e[t+7],o[0]}var o=new Float64Array([-0]),a=new Uint8Array(o.buffer),s=128===a[7];e.writeDoubleLE=s?t:n,e.writeDoubleBE=s?n:t,e.readDoubleLE=s?r:i,e.readDoubleBE=s?i:r}():function(){function t(e,t,n,r,i,o){var a=r<0?1:0;if(a&&(r=-r),0===r)e(0,i,o+t),e(1/r>0?0:2147483648,i,o+n);else if(isNaN(r))e(0,i,o+t),e(2146959360,i,o+n);else if(r>1.7976931348623157e308)e(0,i,o+t),e((a<<31|2146435072)>>>0,i,o+n);else{var s;if(r<2.2250738585072014e-308)s=r/5e-324,e(s>>>0,i,o+t),e((a<<31|s/4294967296)>>>0,i,o+n);else{var l=Math.floor(Math.log(r)/Math.LN2);1024===l&&(l=1023),s=r*Math.pow(2,-l),e(4503599627370496*s>>>0,i,o+t),e((a<<31|l+1023<<20|1048576*s&1048575)>>>0,i,o+n)}}}function n(e,t,n,r,i){var o=e(r,i+t),a=e(r,i+n),s=2*(a>>31)+1,l=a>>>20&2047,u=4294967296*(1048575&a)+o;return 2047===l?u?NaN:s*(1/0):0===l?5e-324*s*u:s*Math.pow(2,l-1075)*(u+4503599627370496)}e.writeDoubleLE=t.bind(null,i,0,4),e.writeDoubleBE=t.bind(null,o,4,0),e.readDoubleLE=n.bind(null,a,0,4),e.readDoubleBE=n.bind(null,s,4,0)}(),e}function i(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function o(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function a(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function s(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=r(r)},function(e,t,n){\"use strict\";var r=t,i=r.isAbsolute=function(e){return/^(?:\\/|\\w+:)/.test(e)},o=r.normalize=function(e){e=e.replace(/\\\\/g,\"/\").replace(/\\/{2,}/g,\"/\");var t=e.split(\"/\"),n=i(e),r=\"\";n&&(r=t.shift()+\"/\");for(var o=0;o0&&\"..\"!==t[o-1]?t.splice(--o,2):n?t.splice(o,1):++o:\".\"===t[o]?t.splice(o,1):++o;return r+t.join(\"/\")};r.resolve=function(e,t,n){return n||(t=o(t)),i(t)?t:(n||(e=o(e)),(e=e.replace(/(?:\\/|^)[^\\/]+$/,\"\")).length?o(e+\"/\"+t):t)}},function(e,t,n){\"use strict\";function r(e,t,n){var r=n||8192,i=r>>>1,o=null,a=r;return function(n){if(n<1||n>i)return e(n);a+n>r&&(o=e(r),a=0);var s=t.call(o,a,a+=n);return 7&a&&(a=1+(7|a)),s}}e.exports=r},function(e,t,n){\"use strict\";var r=t;r.length=function(e){for(var t=0,n=0,r=0;r191&&r<224?o[a++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[a++]=55296+(r>>10),o[a++]=56320+(1023&r)):o[a++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),a=0);return i?(a&&i.push(String.fromCharCode.apply(String,o.slice(0,a))),i.join(\"\")):String.fromCharCode.apply(String,o.slice(0,a))},r.write=function(e,t,n){for(var r,i,o=n,a=0;a>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(i=e.charCodeAt(a+1)))?(r=65536+((1023&r)<<10)+(1023&i),++a,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},function(e,t,n){e.exports={default:n(290),__esModule:!0}},function(e,t,n){e.exports={default:n(293),__esModule:!0}},function(e,t,n){e.exports={default:n(295),__esModule:!0}},function(e,t,n){e.exports={default:n(300),__esModule:!0}},function(e,t,n){e.exports={default:n(301),__esModule:!0}},function(e,t,n){e.exports={default:n(302),__esModule:!0}},function(e,t,n){e.exports={default:n(303),__esModule:!0}},function(e,t,n){e.exports={default:n(304),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(477)(\"bowser\",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||\"\"}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||\"\"}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),l=/nexus\\s*[0-6]\\s*/i.test(e),u=!l&&/nexus\\s*[0-9]+/i.test(e),c=/CrOS/.test(e),d=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),p=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),g=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),v=!i&&!d&&/macintosh/i.test(e),y=!s&&!f&&!h&&!p&&/linux/i.test(e),b=n(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i),x=t(/version\\/(\\d+(\\.\\d+)?)/i),_=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!_&&/[^-]mobi/i.test(e),M=/xbox/i.test(e);/opera/i.test(e)?r={name:\"Opera\",opera:a,version:x||t(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/opr\\/|opios/i.test(e)?r={name:\"Opera\",opera:a,version:t(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)||x}:/SamsungBrowser/i.test(e)?r={name:\"Samsung Internet for Android\",samsungBrowser:a,version:x||t(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/coast/i.test(e)?r={name:\"Opera Coast\",coast:a,version:x||t(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/yabrowser/i.test(e)?r={name:\"Yandex Browser\",yandexbrowser:a,version:x||t(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:\"UC Browser\",ucbrowser:a,version:t(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/mxios/i.test(e)?r={name:\"Maxthon\",maxthon:a,version:t(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/epiphany/i.test(e)?r={name:\"Epiphany\",epiphany:a,version:t(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/puffin/i.test(e)?r={name:\"Puffin\",puffin:a,version:t(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)}:/sleipnir/i.test(e)?r={name:\"Sleipnir\",sleipnir:a,version:t(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:/k-meleon/i.test(e)?r={name:\"K-Meleon\",kMeleon:a,version:t(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)}:m?(r={name:\"Windows Phone\",osname:\"Windows Phone\",windowsphone:a},b?(r.msedge=a,r.version=b):(r.msie=a,r.version=t(/iemobile\\/(\\d+(\\.\\d+)?)/i))):/msie|trident/i.test(e)?r={name:\"Internet Explorer\",msie:a,version:t(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)}:c?r={name:\"Chrome\",osname:\"Chrome OS\",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:\"Microsoft Edge\",msedge:a,version:b}:/vivaldi/i.test(e)?r={name:\"Vivaldi\",vivaldi:a,version:t(/vivaldi\\/(\\d+(\\.\\d+)?)/i)||x}:f?r={name:\"Sailfish\",osname:\"Sailfish OS\",sailfish:a,version:t(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)}:/seamonkey\\//i.test(e)?r={name:\"SeaMonkey\",seamonkey:a,version:t(/seamonkey\\/(\\d+(\\.\\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:\"Firefox\",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)},/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(e)&&(r.firefoxos=a,r.osname=\"Firefox OS\")):d?r={name:\"Amazon Silk\",silk:a,version:t(/silk\\/(\\d+(\\.\\d+)?)/i)}:/phantom/i.test(e)?r={name:\"PhantomJS\",phantom:a,version:t(/phantomjs\\/(\\d+(\\.\\d+)?)/i)}:/slimerjs/i.test(e)?r={name:\"SlimerJS\",slimer:a,version:t(/slimerjs\\/(\\d+(\\.\\d+)?)/i)}:/blackberry|\\bbb\\d+/i.test(e)||/rim\\stablet/i.test(e)?r={name:\"BlackBerry\",osname:\"BlackBerry OS\",blackberry:a,version:x||t(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)}:p?(r={name:\"WebOS\",osname:\"WebOS\",webos:a,version:x||t(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)},/touchpad\\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:\"Bada\",osname:\"Bada\",bada:a,version:t(/dolfin\\/(\\d+(\\.\\d+)?)/i)}:h?r={name:\"Tizen\",osname:\"Tizen\",tizen:a,version:t(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i)||x}:/qupzilla/i.test(e)?r={name:\"QupZilla\",qupzilla:a,version:t(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i)||x}:/chromium/i.test(e)?r={name:\"Chromium\",chromium:a,version:t(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i)||x}:/chrome|crios|crmo/i.test(e)?r={name:\"Chrome\",chrome:a,version:t(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)}:s?r={name:\"Android\",version:x}:/safari|applewebkit/i.test(e)?(r={name:\"Safari\",safari:a},x&&(r.version=x)):i?(r={name:\"iphone\"==i?\"iPhone\":\"ipad\"==i?\"iPad\":\"iPod\"},x&&(r.version=x)):r=/googlebot/i.test(e)?{name:\"Googlebot\",googlebot:a,version:t(/googlebot\\/(\\d+(\\.\\d+))/i)||x}:{name:t(/^(.*)\\/(.*) /),version:n(/^(.*)\\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\\/537\\.36/i.test(e)?(r.name=r.name||\"Blink\",r.blink=a):(r.name=r.name||\"Webkit\",r.webkit=a),!r.version&&x&&(r.version=x)):!r.opera&&/gecko\\//i.test(e)&&(r.name=r.name||\"Gecko\",r.gecko=a,r.version=r.version||t(/gecko\\/(\\d+(\\.\\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname=\"iOS\"):v?(r.mac=a,r.osname=\"macOS\"):M?(r.xbox=a,r.osname=\"Xbox\"):g?(r.windows=a,r.osname=\"Windows\"):y&&(r.linux=a,r.osname=\"Linux\"):(r.android=a,r.osname=\"Android\");var S=\"\";r.windows?S=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}}(t(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i)):r.windowsphone?S=t(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i):r.mac?(S=t(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i),S=S.replace(/[_\\s]/g,\".\")):i?(S=t(/os (\\d+([_\\s]\\d+)*) like mac os x/i),S=S.replace(/[_\\s]/g,\".\")):s?S=t(/android[ \\/-](\\d+(\\.\\d+)*)/i):r.webos?S=t(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i):r.blackberry?S=t(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i):r.bada?S=t(/bada\\/(\\d+(\\.\\d+)*)/i):r.tizen&&(S=t(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i)),S&&(r.osversion=S);var E=!r.windows&&S.split(\".\")[0];return _||u||\"ipad\"==i||s&&(3==E||E>=4&&!w)||r.silk?r.tablet=a:(w||\"iphone\"==i||\"ipod\"==i||s||l||r.blackberry||r.webos||r.bada)&&(r.mobile=a),r.msedge||r.msie&&r.version>=10||r.yandexbrowser&&r.version>=15||r.vivaldi&&r.version>=1||r.chrome&&r.version>=20||r.samsungBrowser&&r.version>=4||r.firefox&&r.version>=20||r.safari&&r.version>=6||r.opera&&r.version>=10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]>=6||r.blackberry&&r.version>=10.1||r.chromium&&r.version>=20?r.a=a:r.msie&&r.version<10||r.chrome&&r.version<20||r.firefox&&r.version<20||r.safari&&r.version<6||r.opera&&r.version<10||r.ios&&r.osversion&&r.osversion.split(\".\")[0]<6||r.chromium&&r.version<20?r.c=a:r.x=a,r}function t(e){return e.split(\".\").length}function n(e,t){var n,r=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n=0;){if(i[0][r]>i[1][r])return 1;if(i[0][r]!==i[1][r])return-1;if(0===r)return 0}}function i(t,n,i){var o=s;\"string\"==typeof n&&(i=n,n=void 0),void 0===n&&(n=!1),i&&(o=e(i));var a=\"\"+o.version;for(var l in t)if(t.hasOwnProperty(l)&&o[l]){if(\"string\"!=typeof t[l])throw new Error(\"Browser version in the minVersion map should be a string: \"+l+\": \"+String(t));return r([a,t[l]])<0}return n}function o(e,t,n){return!i(e,t,n)}var a=!0,s=e(\"undefined\"!=typeof navigator?navigator.userAgent||\"\":\"\");return s.test=function(e){for(var t=0;t0&&(e[0].yLabel?n=e[0].yLabel:t.labels.length>0&&e[0].index=0&&i>0)&&(g+=i));return o=d.getPixelForValue(g),a=d.getPixelForValue(g+h),s=(a-o)/2,{size:s,base:o,head:a,center:a+s/2}},calculateBarIndexPixels:function(e,t,n){var r,i,a,s,l,u,c=this,d=n.scale.options,f=c.getStackIndex(e),h=n.pixels,p=h[t],m=h.length,g=n.start,v=n.end;return 1===m?(r=p>g?p-g:v-p,i=p0&&(r=(p-h[t-1])/2,t===m-1&&(i=r)),t');var n=e.data,r=n.datasets,i=n.labels;if(r.length)for(var o=0;o'),i[o]&&t.push(i[o]),t.push(\"\");return t.push(\"\"),t.join(\"\")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,r){var i=e.getDatasetMeta(0),a=t.datasets[0],s=i.data[r],l=s&&s.custom||{},u=o.valueAtIndexOrDefault,c=e.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:u(a.backgroundColor,r,c.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(a.borderColor,r,c.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(a.borderWidth,r,c.borderWidth),hidden:isNaN(a.data[r])||i.data[r].hidden,index:r}}):[]}},onClick:function(e,t){var n,r,i,o=t.index,a=this.chart;for(n=0,r=(a.data.datasets||[]).length;n=Math.PI?-1:p<-Math.PI?1:0);var m=p+h,g={x:Math.cos(p),y:Math.sin(p)},v={x:Math.cos(m),y:Math.sin(m)},y=p<=0&&m>=0||p<=2*Math.PI&&2*Math.PI<=m,b=p<=.5*Math.PI&&.5*Math.PI<=m||p<=2.5*Math.PI&&2.5*Math.PI<=m,x=p<=-Math.PI&&-Math.PI<=m||p<=Math.PI&&Math.PI<=m,_=p<=.5*-Math.PI&&.5*-Math.PI<=m||p<=1.5*Math.PI&&1.5*Math.PI<=m,w=f/100,M={x:x?-1:Math.min(g.x*(g.x<0?1:w),v.x*(v.x<0?1:w)),y:_?-1:Math.min(g.y*(g.y<0?1:w),v.y*(v.y<0?1:w))},S={x:y?1:Math.max(g.x*(g.x>0?1:w),v.x*(v.x>0?1:w)),y:b?1:Math.max(g.y*(g.y>0?1:w),v.y*(v.y>0?1:w))},E={width:.5*(S.x-M.x),height:.5*(S.y-M.y)};u=Math.min(s/E.width,l/E.height),c={x:-.5*(S.x+M.x),y:-.5*(S.y+M.y)}}n.borderWidth=t.getMaxBorderWidth(d.data),n.outerRadius=Math.max((u-n.borderWidth)/2,0),n.innerRadius=Math.max(f?n.outerRadius/100*f:0,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),n.offsetX=c.x*n.outerRadius,n.offsetY=c.y*n.outerRadius,d.total=t.calculateTotal(),t.outerRadius=n.outerRadius-n.radiusLength*t.getRingIndex(t.index),t.innerRadius=Math.max(t.outerRadius-n.radiusLength,0),o.each(d.data,function(n,r){t.updateElement(n,r,e)})},updateElement:function(e,t,n){var r=this,i=r.chart,a=i.chartArea,s=i.options,l=s.animation,u=(a.left+a.right)/2,c=(a.top+a.bottom)/2,d=s.rotation,f=s.rotation,h=r.getDataset(),p=n&&l.animateRotate?0:e.hidden?0:r.calculateCircumference(h.data[t])*(s.circumference/(2*Math.PI)),m=n&&l.animateScale?0:r.innerRadius,g=n&&l.animateScale?0:r.outerRadius,v=o.valueAtIndexOrDefault;o.extend(e,{_datasetIndex:r.index,_index:t,_model:{x:u+i.offsetX,y:c+i.offsetY,startAngle:d,endAngle:f,circumference:p,outerRadius:g,innerRadius:m,label:v(h.label,t,i.data.labels[t])}});var y=e._model;this.removeHoverStyle(e),n&&l.animateRotate||(y.startAngle=0===t?s.rotation:r.getMeta().data[t-1]._model.endAngle,y.endAngle=y.startAngle+y.circumference),e.pivot()},removeHoverStyle:function(t){e.DatasetController.prototype.removeHoverStyle.call(this,t,this.chart.options.elements.arc)},calculateTotal:function(){var e,t=this.getDataset(),n=this.getMeta(),r=0;return o.each(n.data,function(n,i){e=t.data[i],isNaN(e)||n.hidden||(r+=Math.abs(e))}),r},calculateCircumference:function(e){var t=this.getMeta().total;return t>0&&!isNaN(e)?2*Math.PI*(e/t):0},getMaxBorderWidth:function(e){for(var t,n,r=0,i=this.index,o=e.length,a=0;ar?t:r,r=n>r?n:r;return r}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"line\",{showLines:!0,spanGaps:!1,hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",id:\"y-axis-0\"}]}}),e.exports=function(e){function t(e,t){return o.valueOrDefault(e.showLine,t.showLines)}e.controllers.line=e.DatasetController.extend({datasetElementType:i.Line,dataElementType:i.Point,update:function(e){var n,r,i,a=this,s=a.getMeta(),l=s.dataset,u=s.data||[],c=a.chart.options,d=c.elements.line,f=a.getScaleForId(s.yAxisID),h=a.getDataset(),p=t(h,c);for(p&&(i=l.custom||{},void 0!==h.tension&&void 0===h.lineTension&&(h.lineTension=h.tension),l._scale=f,l._datasetIndex=a.index,l._children=u,l._model={spanGaps:h.spanGaps?h.spanGaps:c.spanGaps,tension:i.tension?i.tension:o.valueOrDefault(h.lineTension,d.tension),backgroundColor:i.backgroundColor?i.backgroundColor:h.backgroundColor||d.backgroundColor,borderWidth:i.borderWidth?i.borderWidth:h.borderWidth||d.borderWidth,borderColor:i.borderColor?i.borderColor:h.borderColor||d.borderColor,borderCapStyle:i.borderCapStyle?i.borderCapStyle:h.borderCapStyle||d.borderCapStyle,borderDash:i.borderDash?i.borderDash:h.borderDash||d.borderDash,borderDashOffset:i.borderDashOffset?i.borderDashOffset:h.borderDashOffset||d.borderDashOffset,borderJoinStyle:i.borderJoinStyle?i.borderJoinStyle:h.borderJoinStyle||d.borderJoinStyle,fill:i.fill?i.fill:void 0!==h.fill?h.fill:d.fill,steppedLine:i.steppedLine?i.steppedLine:o.valueOrDefault(h.steppedLine,d.stepped),cubicInterpolationMode:i.cubicInterpolationMode?i.cubicInterpolationMode:o.valueOrDefault(h.cubicInterpolationMode,d.cubicInterpolationMode)},l.pivot()),n=0,r=u.length;n');var n=e.data,r=n.datasets,i=n.labels;if(r.length)for(var o=0;o'),i[o]&&t.push(i[o]),t.push(\"\");return t.push(\"\"),t.join(\"\")},legend:{labels:{generateLabels:function(e){var t=e.data;return t.labels.length&&t.datasets.length?t.labels.map(function(n,r){var i=e.getDatasetMeta(0),a=t.datasets[0],s=i.data[r],l=s.custom||{},u=o.valueAtIndexOrDefault,c=e.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:u(a.backgroundColor,r,c.backgroundColor),strokeStyle:l.borderColor?l.borderColor:u(a.borderColor,r,c.borderColor),lineWidth:l.borderWidth?l.borderWidth:u(a.borderWidth,r,c.borderWidth),hidden:isNaN(a.data[r])||i.data[r].hidden,index:r}}):[]}},onClick:function(e,t){var n,r,i,o=t.index,a=this.chart;for(n=0,r=(a.data.datasets||[]).length;n0&&!isNaN(e)?2*Math.PI/t:0}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"radar\",{scale:{type:\"radialLinear\"},elements:{line:{tension:0}}}),e.exports=function(e){e.controllers.radar=e.DatasetController.extend({datasetElementType:i.Line,dataElementType:i.Point,linkScales:o.noop,update:function(e){var t=this,n=t.getMeta(),r=n.dataset,i=n.data,a=r.custom||{},s=t.getDataset(),l=t.chart.options.elements.line,u=t.chart.scale;void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),o.extend(n.dataset,{_datasetIndex:t.index,_scale:u,_children:i,_loop:!0,_model:{tension:a.tension?a.tension:o.valueOrDefault(s.lineTension,l.tension),backgroundColor:a.backgroundColor?a.backgroundColor:s.backgroundColor||l.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:s.borderWidth||l.borderWidth,borderColor:a.borderColor?a.borderColor:s.borderColor||l.borderColor,fill:a.fill?a.fill:void 0!==s.fill?s.fill:l.fill,borderCapStyle:a.borderCapStyle?a.borderCapStyle:s.borderCapStyle||l.borderCapStyle,borderDash:a.borderDash?a.borderDash:s.borderDash||l.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:s.borderDashOffset||l.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:s.borderJoinStyle||l.borderJoinStyle}}),n.dataset.pivot(),o.each(i,function(n,r){t.updateElement(n,r,e)},t),t.updateBezierControlPoints()},updateElement:function(e,t,n){var r=this,i=e.custom||{},a=r.getDataset(),s=r.chart.scale,l=r.chart.options.elements.point,u=s.getPointPositionForValue(t,a.data[t]);void 0!==a.radius&&void 0===a.pointRadius&&(a.pointRadius=a.radius),void 0!==a.hitRadius&&void 0===a.pointHitRadius&&(a.pointHitRadius=a.hitRadius),o.extend(e,{_datasetIndex:r.index,_index:t,_scale:s,_model:{x:n?s.xCenter:u.x,y:n?s.yCenter:u.y,tension:i.tension?i.tension:o.valueOrDefault(a.lineTension,r.chart.options.elements.line.tension),radius:i.radius?i.radius:o.valueAtIndexOrDefault(a.pointRadius,t,l.radius),backgroundColor:i.backgroundColor?i.backgroundColor:o.valueAtIndexOrDefault(a.pointBackgroundColor,t,l.backgroundColor),borderColor:i.borderColor?i.borderColor:o.valueAtIndexOrDefault(a.pointBorderColor,t,l.borderColor),borderWidth:i.borderWidth?i.borderWidth:o.valueAtIndexOrDefault(a.pointBorderWidth,t,l.borderWidth),pointStyle:i.pointStyle?i.pointStyle:o.valueAtIndexOrDefault(a.pointStyle,t,l.pointStyle),hitRadius:i.hitRadius?i.hitRadius:o.valueAtIndexOrDefault(a.pointHitRadius,t,l.hitRadius)}}),e._model.skip=i.skip?i.skip:isNaN(e._model.x)||isNaN(e._model.y)},updateBezierControlPoints:function(){var e=this.chart.chartArea,t=this.getMeta();o.each(t.data,function(n,r){var i=n._model,a=o.splineCurve(o.previousItem(t.data,r,!0)._model,i,o.nextItem(t.data,r,!0)._model,i.tension);i.controlPointPreviousX=Math.max(Math.min(a.previous.x,e.right),e.left),i.controlPointPreviousY=Math.max(Math.min(a.previous.y,e.bottom),e.top),i.controlPointNextX=Math.max(Math.min(a.next.x,e.right),e.left),i.controlPointNextY=Math.max(Math.min(a.next.y,e.bottom),e.top),n.pivot()})},setHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},r=e._index,i=e._model;i.radius=n.hoverRadius?n.hoverRadius:o.valueAtIndexOrDefault(t.pointHoverRadius,r,this.chart.options.elements.point.hoverRadius),i.backgroundColor=n.hoverBackgroundColor?n.hoverBackgroundColor:o.valueAtIndexOrDefault(t.pointHoverBackgroundColor,r,o.getHoverColor(i.backgroundColor)),i.borderColor=n.hoverBorderColor?n.hoverBorderColor:o.valueAtIndexOrDefault(t.pointHoverBorderColor,r,o.getHoverColor(i.borderColor)),i.borderWidth=n.hoverBorderWidth?n.hoverBorderWidth:o.valueAtIndexOrDefault(t.pointHoverBorderWidth,r,i.borderWidth)},removeHoverStyle:function(e){var t=this.chart.data.datasets[e._datasetIndex],n=e.custom||{},r=e._index,i=e._model,a=this.chart.options.elements.point;i.radius=n.radius?n.radius:o.valueAtIndexOrDefault(t.pointRadius,r,a.radius),i.backgroundColor=n.backgroundColor?n.backgroundColor:o.valueAtIndexOrDefault(t.pointBackgroundColor,r,a.backgroundColor),i.borderColor=n.borderColor?n.borderColor:o.valueAtIndexOrDefault(t.pointBorderColor,r,a.borderColor),i.borderWidth=n.borderWidth?n.borderWidth:o.valueAtIndexOrDefault(t.pointBorderWidth,r,a.borderWidth)}})}},function(e,t,n){\"use strict\";n(8)._set(\"scatter\",{hover:{mode:\"single\"},scales:{xAxes:[{id:\"x-axis-1\",type:\"linear\",position:\"bottom\"}],yAxes:[{id:\"y-axis-1\",type:\"linear\",position:\"left\"}]},showLines:!1,tooltips:{callbacks:{title:function(){return\"\"},label:function(e){return\"(\"+e.xLabel+\", \"+e.yLabel+\")\"}}}}),e.exports=function(e){e.controllers.scatter=e.controllers.line}},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6);r._set(\"global\",{animation:{duration:1e3,easing:\"easeOutQuart\",onProgress:o.noop,onComplete:o.noop}}),e.exports=function(e){e.Animation=i.extend({chart:null,currentStep:0,numSteps:60,easing:\"\",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(e,t,n,r){var i,o,a=this.animations;for(t.chart=e,r||(e.animating=!0),i=0,o=a.length;i1&&(n=Math.floor(e.dropFrames),e.dropFrames=e.dropFrames%1),e.advance(1+n);var r=Date.now();e.dropFrames+=(r-t)/e.frameDuration,e.animations.length>0&&e.requestAnimationFrame()},advance:function(e){for(var t,n,r=this.animations,i=0;i=t.numSteps?(o.callback(t.onAnimationComplete,[t],n),n.animating=!1,r.splice(i,1)):++i}},Object.defineProperty(e.Animation.prototype,\"animationObject\",{get:function(){return this}}),Object.defineProperty(e.Animation.prototype,\"chartInstance\",{get:function(){return this.chart},set:function(e){this.chart=e}})}},function(e,t,n){\"use strict\";var r=n(8),i=n(6),o=n(110),a=n(111);e.exports=function(e){function t(e){e=e||{};var t=e.data=e.data||{};return t.datasets=t.datasets||[],t.labels=t.labels||[],e.options=i.configMerge(r.global,r[e.type],e.options||{}),e}function n(e){var t=e.options;t.scale?e.scale.options=t.scale:t.scales&&t.scales.xAxes.concat(t.scales.yAxes).forEach(function(t){e.scales[t.id].options=t}),e.tooltip._options=t.tooltips}function s(e){return\"top\"===e||\"bottom\"===e}var l=e.plugins;e.types={},e.instances={},e.controllers={},i.extend(e.prototype,{construct:function(n,r){var o=this;r=t(r);var s=a.acquireContext(n,r),l=s&&s.canvas,u=l&&l.height,c=l&&l.width;if(o.id=i.uid(),o.ctx=s,o.canvas=l,o.config=r,o.width=c,o.height=u,o.aspectRatio=u?c/u:null,o.options=r.options,o._bufferedRender=!1,o.chart=o,o.controller=o,e.instances[o.id]=o,Object.defineProperty(o,\"data\",{get:function(){return o.config.data},set:function(e){o.config.data=e}}),!s||!l)return void console.error(\"Failed to create chart: can't acquire context from the given item\");o.initialize(),o.update()},initialize:function(){var e=this;return l.notify(e,\"beforeInit\"),i.retinaScale(e,e.options.devicePixelRatio),e.bindEvents(),e.options.responsive&&e.resize(!0),e.ensureScalesHaveIDs(),e.buildScales(),e.initToolTip(),l.notify(e,\"afterInit\"),e},clear:function(){return i.canvas.clear(this),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(e){var t=this,n=t.options,r=t.canvas,o=n.maintainAspectRatio&&t.aspectRatio||null,a=Math.max(0,Math.floor(i.getMaximumWidth(r))),s=Math.max(0,Math.floor(o?a/o:i.getMaximumHeight(r)));if((t.width!==a||t.height!==s)&&(r.width=t.width=a,r.height=t.height=s,r.style.width=a+\"px\",r.style.height=s+\"px\",i.retinaScale(t,n.devicePixelRatio),!e)){var u={width:a,height:s};l.notify(t,\"resize\",[u]),t.options.onResize&&t.options.onResize(t,u),t.stop(),t.update(t.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var e=this.options,t=e.scales||{},n=e.scale;i.each(t.xAxes,function(e,t){e.id=e.id||\"x-axis-\"+t}),i.each(t.yAxes,function(e,t){e.id=e.id||\"y-axis-\"+t}),n&&(n.id=n.id||\"scale\")},buildScales:function(){var t=this,n=t.options,r=t.scales={},o=[];n.scales&&(o=o.concat((n.scales.xAxes||[]).map(function(e){return{options:e,dtype:\"category\",dposition:\"bottom\"}}),(n.scales.yAxes||[]).map(function(e){return{options:e,dtype:\"linear\",dposition:\"left\"}}))),n.scale&&o.push({options:n.scale,dtype:\"radialLinear\",isDefault:!0,dposition:\"chartArea\"}),i.each(o,function(n){var o=n.options,a=i.valueOrDefault(o.type,n.dtype),l=e.scaleService.getScaleConstructor(a);if(l){s(o.position)!==s(n.dposition)&&(o.position=n.dposition);var u=new l({id:o.id,options:o,ctx:t.ctx,chart:t});r[u.id]=u,u.mergeTicksOptions(),n.isDefault&&(t.scale=u)}}),e.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,n=[],r=[];return i.each(t.data.datasets,function(i,o){var a=t.getDatasetMeta(o),s=i.type||t.config.type;if(a.type&&a.type!==s&&(t.destroyDatasetMeta(o),a=t.getDatasetMeta(o)),a.type=s,n.push(a.type),a.controller)a.controller.updateIndex(o);else{var l=e.controllers[a.type];if(void 0===l)throw new Error('\"'+a.type+'\" is not a chart type.');a.controller=new l(t,o),r.push(a.controller)}},t),r},resetElements:function(){var e=this;i.each(e.data.datasets,function(t,n){e.getDatasetMeta(n).controller.reset()},e)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(e){var t=this;if(e&&\"object\"==typeof e||(e={duration:e,lazy:arguments[1]}),n(t),!1!==l.notify(t,\"beforeUpdate\")){t.tooltip._data=t.data;var r=t.buildOrUpdateControllers();i.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.buildOrUpdateElements()},t),t.updateLayout(),i.each(r,function(e){e.reset()}),t.updateDatasets(),t.tooltip.initialize(),t.lastActive=[],l.notify(t,\"afterUpdate\"),t._bufferedRender?t._bufferedRequest={duration:e.duration,easing:e.easing,lazy:e.lazy}:t.render(e)}},updateLayout:function(){var t=this;!1!==l.notify(t,\"beforeLayout\")&&(e.layoutService.update(this,this.width,this.height),l.notify(t,\"afterScaleUpdate\"),l.notify(t,\"afterLayout\"))},updateDatasets:function(){var e=this;if(!1!==l.notify(e,\"beforeDatasetsUpdate\")){for(var t=0,n=e.data.datasets.length;t=0;--n)t.isDatasetVisible(n)&&t.drawDataset(n,e);l.notify(t,\"afterDatasetsDraw\",[e])}},drawDataset:function(e,t){var n=this,r=n.getDatasetMeta(e),i={meta:r,index:e,easingValue:t};!1!==l.notify(n,\"beforeDatasetDraw\",[i])&&(r.controller.draw(t),l.notify(n,\"afterDatasetDraw\",[i]))},_drawTooltip:function(e){var t=this,n=t.tooltip,r={tooltip:n,easingValue:e};!1!==l.notify(t,\"beforeTooltipDraw\",[r])&&(n.draw(),l.notify(t,\"afterTooltipDraw\",[r]))},getElementAtEvent:function(e){return o.modes.single(this,e)},getElementsAtEvent:function(e){return o.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return o.modes[\"x-axis\"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,t,n){var r=o.modes[t];return\"function\"==typeof r?r(this,e,n):[]},getDatasetAtEvent:function(e){return o.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(e){var t=this,n=t.data.datasets[e];n._meta||(n._meta={});var r=n._meta[t.id];return r||(r=n._meta[t.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),r},getVisibleDatasetCount:function(){for(var e=0,t=0,n=this.data.datasets.length;t0||(i.forEach(function(t){delete e[t]}),delete e._chartjs)}}var i=[\"push\",\"pop\",\"shift\",\"splice\",\"unshift\"];e.DatasetController=function(e,t){this.initialize(e,t)},r.extend(e.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(e,t){var n=this;n.chart=e,n.index=t,n.linkScales(),n.addElements()},updateIndex:function(e){this.index=e},linkScales:function(){var e=this,t=e.getMeta(),n=e.getDataset();null===t.xAxisID&&(t.xAxisID=n.xAxisID||e.chart.options.scales.xAxes[0].id),null===t.yAxisID&&(t.yAxisID=n.yAxisID||e.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(e){return this.chart.scales[e]},reset:function(){this.update(!0)},destroy:function(){this._data&&n(this._data,this)},createMetaDataset:function(){var e=this,t=e.datasetElementType;return t&&new t({_chart:e.chart,_datasetIndex:e.index})},createMetaData:function(e){var t=this,n=t.dataElementType;return n&&new n({_chart:t.chart,_datasetIndex:t.index,_index:e})},addElements:function(){var e,t,n=this,r=n.getMeta(),i=n.getDataset().data||[],o=r.data;for(e=0,t=i.length;er&&e.insertElements(r,i-r)},insertElements:function(e,t){for(var n=0;n=n[t].length&&n[t].push({}),!n[t][a].type||l.type&&l.type!==n[t][a].type?o.merge(n[t][a],[e.scaleService.getScaleDefaults(s),l]):o.merge(n[t][a],l)}else o._merger(t,n,r,i)}})},o.where=function(e,t){if(o.isArray(e)&&Array.prototype.filter)return e.filter(t);var n=[];return o.each(e,function(e){t(e)&&n.push(e)}),n},o.findIndex=Array.prototype.findIndex?function(e,t,n){return e.findIndex(t,n)}:function(e,t,n){n=void 0===n?e:n;for(var r=0,i=e.length;r=0;r--){var i=e[r];if(t(i))return i}},o.isNumber=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},o.almostEquals=function(e,t,n){return Math.abs(e-t)e},o.max=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.max(e,t)},Number.NEGATIVE_INFINITY)},o.min=function(e){return e.reduce(function(e,t){return isNaN(t)?e:Math.min(e,t)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(e){return Math.sign(e)}:function(e){return e=+e,0===e||isNaN(e)?e:e>0?1:-1},o.log10=Math.log10?function(e){return Math.log10(e)}:function(e){return Math.log(e)/Math.LN10},o.toRadians=function(e){return e*(Math.PI/180)},o.toDegrees=function(e){return e*(180/Math.PI)},o.getAngleFromPoint=function(e,t){var n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r),o=Math.atan2(r,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:i}},o.distanceBetweenPoints=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},o.aliasPixel=function(e){return e%2==0?0:.5},o.splineCurve=function(e,t,n,r){var i=e.skip?t:e,o=t,a=n.skip?t:n,s=Math.sqrt(Math.pow(o.x-i.x,2)+Math.pow(o.y-i.y,2)),l=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2)),u=s/(s+l),c=l/(s+l);u=isNaN(u)?0:u,c=isNaN(c)?0:c;var d=r*u,f=r*c;return{previous:{x:o.x-d*(a.x-i.x),y:o.y-d*(a.y-i.y)},next:{x:o.x+f*(a.x-i.x),y:o.y+f*(a.y-i.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(e){var t,n,r,i,a=(e||[]).map(function(e){return{model:e._model,deltaK:0,mK:0}}),s=a.length;for(t=0;t0?a[t-1]:null,(i=t0?a[t-1]:null,i=t=e.length-1?e[0]:e[t+1]:t>=e.length-1?e[e.length-1]:e[t+1]},o.previousItem=function(e,t,n){return n?t<=0?e[e.length-1]:e[t-1]:t<=0?e[0]:e[t-1]},o.niceNum=function(e,t){var n=Math.floor(o.log10(e)),r=e/Math.pow(10,n);return(t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10)*Math.pow(10,n)},o.requestAnimFrame=function(){return\"undefined\"==typeof window?function(e){e()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)}}(),o.getRelativePosition=function(e,t){var n,r,i=e.originalEvent||e,a=e.currentTarget||e.srcElement,s=a.getBoundingClientRect(),l=i.touches;l&&l.length>0?(n=l[0].clientX,r=l[0].clientY):(n=i.clientX,r=i.clientY);var u=parseFloat(o.getStyle(a,\"padding-left\")),c=parseFloat(o.getStyle(a,\"padding-top\")),d=parseFloat(o.getStyle(a,\"padding-right\")),f=parseFloat(o.getStyle(a,\"padding-bottom\")),h=s.right-s.left-u-d,p=s.bottom-s.top-c-f;return n=Math.round((n-s.left-u)/h*a.width/t.currentDevicePixelRatio),r=Math.round((r-s.top-c)/p*a.height/t.currentDevicePixelRatio),{x:n,y:r}},o.getConstraintWidth=function(e){return a(e,\"max-width\",\"clientWidth\")},o.getConstraintHeight=function(e){return a(e,\"max-height\",\"clientHeight\")},o.getMaximumWidth=function(e){var t=e.parentNode;if(!t)return e.clientWidth;var n=parseInt(o.getStyle(t,\"padding-left\"),10),r=parseInt(o.getStyle(t,\"padding-right\"),10),i=t.clientWidth-n-r,a=o.getConstraintWidth(e);return isNaN(a)?i:Math.min(i,a)},o.getMaximumHeight=function(e){var t=e.parentNode;if(!t)return e.clientHeight;var n=parseInt(o.getStyle(t,\"padding-top\"),10),r=parseInt(o.getStyle(t,\"padding-bottom\"),10),i=t.clientHeight-n-r,a=o.getConstraintHeight(e);return isNaN(a)?i:Math.min(i,a)},o.getStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,null).getPropertyValue(t)},o.retinaScale=function(e,t){var n=e.currentDevicePixelRatio=t||window.devicePixelRatio||1;if(1!==n){var r=e.canvas,i=e.height,o=e.width;r.height=i*n,r.width=o*n,e.ctx.scale(n,n),r.style.height=i+\"px\",r.style.width=o+\"px\"}},o.fontString=function(e,t,n){return t+\" \"+e+\"px \"+n},o.longestText=function(e,t,n,r){r=r||{};var i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.font=t;var s=0;o.each(n,function(t){void 0!==t&&null!==t&&!0!==o.isArray(t)?s=o.measureText(e,i,a,s,t):o.isArray(t)&&o.each(t,function(t){void 0===t||null===t||o.isArray(t)||(s=o.measureText(e,i,a,s,t))})});var l=a.length/2;if(l>n.length){for(var u=0;ur&&(r=o),r},o.numberOfLabelLines=function(e){var t=1;return o.each(e,function(e){o.isArray(e)&&e.length>t&&(t=e.length)}),t},o.color=r?function(e){return e instanceof CanvasGradient&&(e=i.global.defaultColor),r(e)}:function(e){return console.error(\"Color.js not found!\"),e},o.getHoverColor=function(e){return e instanceof CanvasPattern?e:o.color(e).saturate(.5).darken(.1).rgbString()}}},function(e,t,n){\"use strict\";n(8)._set(\"global\",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:[\"mousemove\",\"mouseout\",\"click\",\"touchstart\",\"touchmove\"],hover:{onHover:null,mode:\"nearest\",intersect:!0,animationDuration:400},onClick:null,defaultColor:\"rgba(0,0,0,0.1)\",defaultFontColor:\"#666\",defaultFontFamily:\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",defaultFontSize:12,defaultFontStyle:\"normal\",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var e=function(e,t){return this.construct(e,t),this};return e.Chart=e,e}},function(e,t,n){\"use strict\";var r=n(6);e.exports=function(e){function t(e,t){return r.where(e,function(e){return e.position===t})}function n(e,t){e.forEach(function(e,t){return e._tmpIndex_=t,e}),e.sort(function(e,n){var r=t?n:e,i=t?e:n;return r.weight===i.weight?r._tmpIndex_-i._tmpIndex_:r.weight-i.weight}),e.forEach(function(e){delete e._tmpIndex_})}e.layoutService={defaults:{},addBox:function(e,t){e.boxes||(e.boxes=[]),t.fullWidth=t.fullWidth||!1,t.position=t.position||\"top\",t.weight=t.weight||0,e.boxes.push(t)},removeBox:function(e,t){var n=e.boxes?e.boxes.indexOf(t):-1;-1!==n&&e.boxes.splice(n,1)},configure:function(e,t,n){for(var r,i=[\"fullWidth\",\"position\",\"weight\"],o=i.length,a=0;af&&le.maxHeight){l--;break}l++,d=u*c}e.labelRotation=l},afterCalculateTickRotation:function(){s.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){s.callback(this.options.beforeFit,[this])},fit:function(){var e=this,i=e.minSize={width:0,height:0},o=r(e._ticks),a=e.options,u=a.ticks,c=a.scaleLabel,d=a.gridLines,f=a.display,h=e.isHorizontal(),p=n(u),m=a.gridLines.tickMarkLength;if(i.width=h?e.isFullWidth()?e.maxWidth-e.margins.left-e.margins.right:e.maxWidth:f&&d.drawTicks?m:0,i.height=h?f&&d.drawTicks?m:0:e.maxHeight,c.display&&f){var g=l(c),v=s.options.toPadding(c.padding),y=g+v.height;h?i.height+=y:i.width+=y}if(u.display&&f){var b=s.longestText(e.ctx,p.font,o,e.longestTextCache),x=s.numberOfLabelLines(o),_=.5*p.size,w=e.options.ticks.padding;if(h){e.longestLabelWidth=b;var M=s.toRadians(e.labelRotation),S=Math.cos(M),E=Math.sin(M),T=E*b+p.size*x+_*(x-1)+_;i.height=Math.min(e.maxHeight,i.height+T+w),e.ctx.font=p.font;var k=t(e.ctx,o[0],p.font),O=t(e.ctx,o[o.length-1],p.font);0!==e.labelRotation?(e.paddingLeft=\"bottom\"===a.position?S*k+3:S*_+3,e.paddingRight=\"bottom\"===a.position?S*_+3:S*O+3):(e.paddingLeft=k/2+3,e.paddingRight=O/2+3)}else u.mirror?b=0:b+=w+_,i.width=Math.min(e.maxWidth,i.width+b),e.paddingTop=p.size/2,e.paddingBottom=p.size/2}e.handleMargins(),e.width=i.width,e.height=i.height},handleMargins:function(){var e=this;e.margins&&(e.paddingLeft=Math.max(e.paddingLeft-e.margins.left,0),e.paddingTop=Math.max(e.paddingTop-e.margins.top,0),e.paddingRight=Math.max(e.paddingRight-e.margins.right,0),e.paddingBottom=Math.max(e.paddingBottom-e.margins.bottom,0))},afterFit:function(){s.callback(this.options.afterFit,[this])},isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(e){if(s.isNullOrUndef(e))return NaN;if(\"number\"==typeof e&&!isFinite(e))return NaN;if(e)if(this.isHorizontal()){if(void 0!==e.x)return this.getRightValue(e.x)}else if(void 0!==e.y)return this.getRightValue(e.y);return e},getLabelForIndex:s.noop,getPixelForValue:s.noop,getValueForPixel:s.noop,getPixelForTick:function(e){var t=this,n=t.options.offset;if(t.isHorizontal()){var r=t.width-(t.paddingLeft+t.paddingRight),i=r/Math.max(t._ticks.length-(n?0:1),1),o=i*e+t.paddingLeft;n&&(o+=i/2);var a=t.left+Math.round(o);return a+=t.isFullWidth()?t.margins.left:0}var s=t.height-(t.paddingTop+t.paddingBottom);return t.top+e*(s/(t._ticks.length-1))},getPixelForDecimal:function(e){var t=this;if(t.isHorizontal()){var n=t.width-(t.paddingLeft+t.paddingRight),r=n*e+t.paddingLeft,i=t.left+Math.round(r);return i+=t.isFullWidth()?t.margins.left:0}return t.top+e*t.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var e=this,t=e.min,n=e.max;return e.beginAtZero?0:t<0&&n<0?n:t>0&&n>0?t:0},_autoSkip:function(e){var t,n,r,i,o,a=this,l=a.isHorizontal(),u=a.options.ticks.minor,c=e.length,d=s.toRadians(a.labelRotation),f=Math.cos(d),h=a.longestLabelWidth*f,p=[];for(u.maxTicksLimit&&(o=u.maxTicksLimit),l&&(t=!1,(h+u.autoSkipPadding)*c>a.width-(a.paddingLeft+a.paddingRight)&&(t=1+Math.floor((h+u.autoSkipPadding)*c/(a.width-(a.paddingLeft+a.paddingRight)))),o&&c>o&&(t=Math.max(t,Math.floor(c/o)))),n=0;n1&&n%t>0||n%t==0&&n+t>=c,i&&n!==c-1&&delete r.label,p.push(r);return p},draw:function(e){var t=this,r=t.options;if(r.display){var a=t.ctx,u=o.global,c=r.ticks.minor,d=r.ticks.major||c,f=r.gridLines,h=r.scaleLabel,p=0!==t.labelRotation,m=t.isHorizontal(),g=c.autoSkip?t._autoSkip(t.getTicks()):t.getTicks(),v=s.valueOrDefault(c.fontColor,u.defaultFontColor),y=n(c),b=s.valueOrDefault(d.fontColor,u.defaultFontColor),x=n(d),_=f.drawTicks?f.tickMarkLength:0,w=s.valueOrDefault(h.fontColor,u.defaultFontColor),M=n(h),S=s.options.toPadding(h.padding),E=s.toRadians(t.labelRotation),T=[],k=\"right\"===r.position?t.left:t.right-_,O=\"right\"===r.position?t.left+_:t.right,P=\"bottom\"===r.position?t.top:t.bottom-_,C=\"bottom\"===r.position?t.top+_:t.bottom;if(s.each(g,function(n,o){if(!s.isNullOrUndef(n.label)){var a,l,d,h,v=n.label;o===t.zeroLineIndex&&r.offset===f.offsetGridLines?(a=f.zeroLineWidth,l=f.zeroLineColor,d=f.zeroLineBorderDash,h=f.zeroLineBorderDashOffset):(a=s.valueAtIndexOrDefault(f.lineWidth,o),l=s.valueAtIndexOrDefault(f.color,o),d=s.valueOrDefault(f.borderDash,u.borderDash),h=s.valueOrDefault(f.borderDashOffset,u.borderDashOffset));var y,b,x,w,M,S,A,R,L,I,D=\"middle\",N=\"middle\",z=c.padding;if(m){var B=_+z;\"bottom\"===r.position?(N=p?\"middle\":\"top\",D=p?\"right\":\"center\",I=t.top+B):(N=p?\"middle\":\"bottom\",D=p?\"left\":\"center\",I=t.bottom-B);var F=i(t,o,f.offsetGridLines&&g.length>1);F1);W0){var o=e[0];o.xLabel?n=o.xLabel:i>0&&o.indexr.height-t.height&&(a=\"bottom\");var s,l,u,c,d,f=(i.left+i.right)/2,h=(i.top+i.bottom)/2;\"center\"===a?(s=function(e){return e<=f},l=function(e){return e>f}):(s=function(e){return e<=t.width/2},l=function(e){return e>=r.width-t.width/2}),u=function(e){return e+t.width>r.width},c=function(e){return e-t.width<0},d=function(e){return e<=h?\"top\":\"bottom\"},s(n.x)?(o=\"left\",u(n.x)&&(o=\"center\",a=d(n.y))):l(n.x)&&(o=\"right\",c(n.x)&&(o=\"center\",a=d(n.y)));var p=e._options;return{xAlign:p.xAlign?p.xAlign:o,yAlign:p.yAlign?p.yAlign:a}}function c(e,t,n){var r=e.x,i=e.y,o=e.caretSize,a=e.caretPadding,s=e.cornerRadius,l=n.xAlign,u=n.yAlign,c=o+a,d=s+a;return\"right\"===l?r-=t.width:\"center\"===l&&(r-=t.width/2),\"top\"===u?i+=c:i-=\"bottom\"===u?t.height+c:t.height/2,\"center\"===u?\"left\"===l?r+=c:\"right\"===l&&(r-=c):\"left\"===l?r-=d:\"right\"===l&&(r+=d),{x:r,y:i}}e.Tooltip=i.extend({initialize:function(){this._model=s(this._options),this._lastActive=[]},getTitle:function(){var e=this,t=e._options,r=t.callbacks,i=r.beforeTitle.apply(e,arguments),o=r.title.apply(e,arguments),a=r.afterTitle.apply(e,arguments),s=[];return s=n(s,i),s=n(s,o),s=n(s,a)},getBeforeBody:function(){var e=this._options.callbacks.beforeBody.apply(this,arguments);return o.isArray(e)?e:void 0!==e?[e]:[]},getBody:function(e,t){var r=this,i=r._options.callbacks,a=[];return o.each(e,function(e){var o={before:[],lines:[],after:[]};n(o.before,i.beforeLabel.call(r,e,t)),n(o.lines,i.label.call(r,e,t)),n(o.after,i.afterLabel.call(r,e,t)),a.push(o)}),a},getAfterBody:function(){var e=this._options.callbacks.afterBody.apply(this,arguments);return o.isArray(e)?e:void 0!==e?[e]:[]},getFooter:function(){var e=this,t=e._options.callbacks,r=t.beforeFooter.apply(e,arguments),i=t.footer.apply(e,arguments),o=t.afterFooter.apply(e,arguments),a=[];return a=n(a,r),a=n(a,i),a=n(a,o)},update:function(t){var n,r,i=this,d=i._options,f=i._model,h=i._model=s(d),p=i._active,m=i._data,g={xAlign:f.xAlign,yAlign:f.yAlign},v={x:f.x,y:f.y},y={width:f.width,height:f.height},b={x:f.caretX,y:f.caretY};if(p.length){h.opacity=1;var x=[],_=[];b=e.Tooltip.positioners[d.position].call(i,p,i._eventPosition);var w=[];for(n=0,r=p.length;n0&&r.stroke()},draw:function(){var e=this._chart.ctx,t=this._view;if(0!==t.opacity){var n={width:t.width,height:t.height},r={x:t.x,y:t.y},i=Math.abs(t.opacity<.001)?0:t.opacity,o=t.title.length||t.beforeBody.length||t.body.length||t.afterBody.length||t.footer.length;this._options.enabled&&o&&(this.drawBackground(r,t,e,n,i),r.x+=t.xPadding,r.y+=t.yPadding,this.drawTitle(r,t,e,i),this.drawBody(r,t,e,i),this.drawFooter(r,t,e,i))}},handleEvent:function(e){var t=this,n=t._options,r=!1;if(t._lastActive=t._lastActive||[],\"mouseout\"===e.type?t._active=[]:t._active=t._chart.getElementsAtEventForMode(e,n.mode,n),!(r=!o.arrayEquals(t._active,t._lastActive)))return!1;if(t._lastActive=t._active,n.enabled||n.custom){t._eventPosition={x:e.x,y:e.y};var i=t._model;t.update(!0),t.pivot(),r|=i.x!==t._model.x||i.y!==t._model.y}return r}}),e.Tooltip.positioners={average:function(e){if(!e.length)return!1;var t,n,r=0,i=0,o=0;for(t=0,n=e.length;tl;)i-=2*Math.PI;for(;i=s&&i<=l,c=a>=n.innerRadius&&a<=n.outerRadius;return u&&c}return!1},getCenterPoint:function(){var e=this._view,t=(e.startAngle+e.endAngle)/2,n=(e.innerRadius+e.outerRadius)/2;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},getArea:function(){var e=this._view;return Math.PI*((e.endAngle-e.startAngle)/(2*Math.PI))*(Math.pow(e.outerRadius,2)-Math.pow(e.innerRadius,2))},tooltipPosition:function(){var e=this._view,t=e.startAngle+(e.endAngle-e.startAngle)/2,n=(e.outerRadius-e.innerRadius)/2+e.innerRadius;return{x:e.x+Math.cos(t)*n,y:e.y+Math.sin(t)*n}},draw:function(){var e=this._chart.ctx,t=this._view,n=t.startAngle,r=t.endAngle;e.beginPath(),e.arc(t.x,t.y,t.outerRadius,n,r),e.arc(t.x,t.y,t.innerRadius,r,n,!0),e.closePath(),e.strokeStyle=t.borderColor,e.lineWidth=t.borderWidth,e.fillStyle=t.backgroundColor,e.fill(),e.lineJoin=\"bevel\",t.borderWidth&&e.stroke()}})},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6),a=r.global;r._set(\"global\",{elements:{line:{tension:.4,backgroundColor:a.defaultColor,borderWidth:3,borderColor:a.defaultColor,borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",capBezierPoints:!0,fill:!0}}}),e.exports=i.extend({draw:function(){var e,t,n,r,i=this,s=i._view,l=i._chart.ctx,u=s.spanGaps,c=i._children.slice(),d=a.elements.line,f=-1;for(i._loop&&c.length&&c.push(c[0]),l.save(),l.lineCap=s.borderCapStyle||d.borderCapStyle,l.setLineDash&&l.setLineDash(s.borderDash||d.borderDash),l.lineDashOffset=s.borderDashOffset||d.borderDashOffset,l.lineJoin=s.borderJoinStyle||d.borderJoinStyle,l.lineWidth=s.borderWidth||d.borderWidth,l.strokeStyle=s.borderColor||a.defaultColor,l.beginPath(),f=-1,e=0;et?1:-1,a=1,s=u.borderSkipped||\"left\"):(t=u.x-u.width/2,n=u.x+u.width/2,r=u.y,i=u.base,o=1,a=i>r?1:-1,s=u.borderSkipped||\"bottom\"),c){var d=Math.min(Math.abs(t-n),Math.abs(r-i));c=c>d?d:c;var f=c/2,h=t+(\"left\"!==s?f*o:0),p=n+(\"right\"!==s?-f*o:0),m=r+(\"top\"!==s?f*a:0),g=i+(\"bottom\"!==s?-f*a:0);h!==p&&(r=m,i=g),m!==g&&(t=h,n=p)}l.beginPath(),l.fillStyle=u.backgroundColor,l.strokeStyle=u.borderColor,l.lineWidth=c;var v=[[t,i],[t,r],[n,r],[n,i]],y=[\"bottom\",\"left\",\"top\",\"right\"],b=y.indexOf(s,0);-1===b&&(b=0);var x=e(0);l.moveTo(x[0],x[1]);for(var _=1;_<4;_++)x=e(_),l.lineTo(x[0],x[1]);l.fill(),c&&l.stroke()},height:function(){var e=this._view;return e.base-e.y},inRange:function(e,t){var n=!1;if(this._view){var r=i(this);n=e>=r.left&&e<=r.right&&t>=r.top&&t<=r.bottom}return n},inLabelRange:function(e,t){var n=this;if(!n._view)return!1;var o=i(n);return r(n)?e>=o.left&&e<=o.right:t>=o.top&&t<=o.bottom},inXRange:function(e){var t=i(this);return e>=t.left&&e<=t.right},inYRange:function(e){var t=i(this);return e>=t.top&&e<=t.bottom},getCenterPoint:function(){var e,t,n=this._view;return r(this)?(e=n.x,t=(n.y+n.base)/2):(e=(n.x+n.base)/2,t=n.y),{x:e,y:t}},getArea:function(){var e=this._view;return e.width*Math.abs(e.y-e.base)},tooltipPosition:function(){var e=this._view;return{x:e.x,y:e.y}}})},function(e,t,n){\"use strict\";var r=n(59),t=e.exports={clear:function(e){e.ctx.clearRect(0,0,e.width,e.height)},roundedRect:function(e,t,n,r,i,o){if(o){var a=Math.min(o,r/2),s=Math.min(o,i/2);e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+s),e.lineTo(t+r,n+i-s),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-s),e.lineTo(t,n+s),e.quadraticCurveTo(t,n,t+a,n)}else e.rect(t,n,r,i)},drawPoint:function(e,t,n,r,i){var o,a,s,l,u,c;if(t&&\"object\"==typeof t&&(\"[object HTMLImageElement]\"===(o=t.toString())||\"[object HTMLCanvasElement]\"===o))return void e.drawImage(t,r-t.width/2,i-t.height/2,t.width,t.height);if(!(isNaN(n)||n<=0)){switch(t){default:e.beginPath(),e.arc(r,i,n,0,2*Math.PI),e.closePath(),e.fill();break;case\"triangle\":e.beginPath(),a=3*n/Math.sqrt(3),u=a*Math.sqrt(3)/2,e.moveTo(r-a/2,i+u/3),e.lineTo(r+a/2,i+u/3),e.lineTo(r,i-2*u/3),e.closePath(),e.fill();break;case\"rect\":c=1/Math.SQRT2*n,e.beginPath(),e.fillRect(r-c,i-c,2*c,2*c),e.strokeRect(r-c,i-c,2*c,2*c);break;case\"rectRounded\":var d=n/Math.SQRT2,f=r-d,h=i-d,p=Math.SQRT2*n;e.beginPath(),this.roundedRect(e,f,h,p,p,n/2),e.closePath(),e.fill();break;case\"rectRot\":c=1/Math.SQRT2*n,e.beginPath(),e.moveTo(r-c,i),e.lineTo(r,i+c),e.lineTo(r+c,i),e.lineTo(r,i-c),e.closePath(),e.fill();break;case\"cross\":e.beginPath(),e.moveTo(r,i+n),e.lineTo(r,i-n),e.moveTo(r-n,i),e.lineTo(r+n,i),e.closePath();break;case\"crossRot\":e.beginPath(),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,e.moveTo(r-s,i-l),e.lineTo(r+s,i+l),e.moveTo(r-s,i+l),e.lineTo(r+s,i-l),e.closePath();break;case\"star\":e.beginPath(),e.moveTo(r,i+n),e.lineTo(r,i-n),e.moveTo(r-n,i),e.lineTo(r+n,i),s=Math.cos(Math.PI/4)*n,l=Math.sin(Math.PI/4)*n,e.moveTo(r-s,i-l),e.lineTo(r+s,i+l),e.moveTo(r-s,i+l),e.lineTo(r+s,i-l),e.closePath();break;case\"line\":e.beginPath(),e.moveTo(r-n,i),e.lineTo(r+n,i),e.closePath();break;case\"dash\":e.beginPath(),e.moveTo(r,i),e.lineTo(r+n,i),e.closePath()}e.stroke()}},clipArea:function(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()},unclipArea:function(e){e.restore()},lineTo:function(e,t,n,r){return n.steppedLine?(\"after\"===n.steppedLine&&!r||\"after\"!==n.steppedLine&&r?e.lineTo(t.x,n.y):e.lineTo(n.x,t.y),void e.lineTo(n.x,n.y)):n.tension?void e.bezierCurveTo(r?t.controlPointPreviousX:t.controlPointNextX,r?t.controlPointPreviousY:t.controlPointNextY,r?n.controlPointNextX:n.controlPointPreviousX,r?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):void e.lineTo(n.x,n.y)}};r.clear=t.clear,r.drawRoundedRectangle=function(e){e.beginPath(),t.roundedRect.apply(t,arguments),e.closePath()}},function(e,t,n){\"use strict\";var r=n(59),i={linear:function(e){return e},easeInQuad:function(e){return e*e},easeOutQuad:function(e){return-e*(e-2)},easeInOutQuad:function(e){return(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1)},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return(e-=1)*e*e+1},easeInOutCubic:function(e){return(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2)},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return-((e-=1)*e*e*e-1)},easeInOutQuart:function(e){return(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return(e-=1)*e*e*e*e+1},easeInOutQuint:function(e){return(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)},easeInSine:function(e){return 1-Math.cos(e*(Math.PI/2))},easeOutSine:function(e){return Math.sin(e*(Math.PI/2))},easeInOutSine:function(e){return-.5*(Math.cos(Math.PI*e)-1)},easeInExpo:function(e){return 0===e?0:Math.pow(2,10*(e-1))},easeOutExpo:function(e){return 1===e?1:1-Math.pow(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:(e/=.5)<1?.5*Math.pow(2,10*(e-1)):.5*(2-Math.pow(2,-10*--e))},easeInCirc:function(e){return e>=1?e:-(Math.sqrt(1-e*e)-1)},easeOutCirc:function(e){return Math.sqrt(1-(e-=1)*e)},easeInOutCirc:function(e){return(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)},easeInElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),-r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n))},easeOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:1===e?1:(n||(n=.3),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/n)+1)},easeInOutElastic:function(e){var t=1.70158,n=0,r=1;return 0===e?0:2==(e/=.5)?1:(n||(n=.45),r<1?(r=1,t=n/4):t=n/(2*Math.PI)*Math.asin(1/r),e<1?r*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:r*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)},easeInBack:function(e){var t=1.70158;return e*e*((t+1)*e-t)},easeOutBack:function(e){var t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack:function(e){var t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:function(e){return 1-i.easeOutBounce(1-e)},easeOutBounce:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},easeInOutBounce:function(e){return e<.5?.5*i.easeInBounce(2*e):.5*i.easeOutBounce(2*e-1)+.5}};e.exports={effects:i},r.easingEffects=i},function(e,t,n){\"use strict\";var r=n(59);e.exports={toLineHeight:function(e,t){var n=(\"\"+e).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);if(!n||\"normal\"===n[1])return 1.2*t;switch(e=+n[2],n[3]){case\"px\":return e;case\"%\":e/=100}return t*e},toPadding:function(e){var t,n,i,o;return r.isObject(e)?(t=+e.top||0,n=+e.right||0,i=+e.bottom||0,o=+e.left||0):t=n=i=o=+e||0,{top:t,right:n,bottom:i,left:o,height:t+i,width:o+n}},resolve:function(e,t,n){var i,o,a;for(i=0,o=e.length;i
';var i=t.childNodes[0],a=t.childNodes[1];t._reset=function(){i.scrollLeft=1e6,i.scrollTop=1e6,a.scrollLeft=1e6,a.scrollTop=1e6};var s=function(){t._reset(),e()};return o(i,\"scroll\",s.bind(i,\"expand\")),o(a,\"scroll\",s.bind(a,\"shrink\")),t}function d(e,t){var n=e[v]||(e[v]={}),r=n.renderProxy=function(e){e.animationName===x&&t()};g.each(_,function(t){o(e,t,r)}),n.reflow=!!e.offsetParent,e.classList.add(b)}function f(e){var t=e[v]||{},n=t.renderProxy;n&&(g.each(_,function(t){a(e,t,n)}),delete t.renderProxy),e.classList.remove(b)}function h(e,t,n){var r=e[v]||(e[v]={}),i=r.resizer=c(u(function(){if(r.resizer)return t(s(\"resize\",n))}));d(e,function(){if(r.resizer){var t=e.parentNode;t&&t!==i.parentNode&&t.insertBefore(i,t.firstChild),i._reset()}})}function p(e){var t=e[v]||{},n=t.resizer;delete t.resizer,f(e),n&&n.parentNode&&n.parentNode.removeChild(n)}function m(e,t){var n=e._style||document.createElement(\"style\");e._style||(e._style=n,t=\"/* Chart.js */\\n\"+t,n.setAttribute(\"type\",\"text/css\"),document.getElementsByTagName(\"head\")[0].appendChild(n)),n.appendChild(document.createTextNode(t))}var g=n(6),v=\"$chartjs\",y=\"chartjs-\",b=y+\"render-monitor\",x=y+\"render-animation\",_=[\"animationstart\",\"webkitAnimationStart\"],w={touchstart:\"mousedown\",touchmove:\"mousemove\",touchend:\"mouseup\",pointerenter:\"mouseenter\",pointerdown:\"mousedown\",pointermove:\"mousemove\",pointerup:\"mouseup\",pointerleave:\"mouseout\",pointerout:\"mouseout\"},M=function(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"e\",null,t)}catch(e){}return e}(),S=!!M&&{passive:!0};e.exports={_enabled:\"undefined\"!=typeof window&&\"undefined\"!=typeof document,initialize:function(){var e=\"from{opacity:0.99}to{opacity:1}\";m(this,\"@-webkit-keyframes \"+x+\"{\"+e+\"}@keyframes \"+x+\"{\"+e+\"}.\"+b+\"{-webkit-animation:\"+x+\" 0.001s;animation:\"+x+\" 0.001s;}\")},acquireContext:function(e,t){\"string\"==typeof e?e=document.getElementById(e):e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas);var n=e&&e.getContext&&e.getContext(\"2d\");return n&&n.canvas===e?(i(e,t),n):null},releaseContext:function(e){var t=e.canvas;if(t[v]){var n=t[v].initial;[\"height\",\"width\"].forEach(function(e){var r=n[e];g.isNullOrUndef(r)?t.removeAttribute(e):t.setAttribute(e,r)}),g.each(n.style||{},function(e,n){t.style[n]=e}),t.width=t.width,delete t[v]}},addEventListener:function(e,t,n){var r=e.canvas;if(\"resize\"===t)return void h(r,n,e);var i=n[v]||(n[v]={});o(r,t,(i.proxies||(i.proxies={}))[e.id+\"_\"+t]=function(t){n(l(t,e))})},removeEventListener:function(e,t,n){var r=e.canvas;if(\"resize\"===t)return void p(r);var i=n[v]||{},o=i.proxies||{},s=o[e.id+\"_\"+t];s&&a(r,t,s)}},g.addEvent=o,g.removeEvent=a},function(e,t,n){\"use strict\";var r=n(8),i=n(33),o=n(6);r._set(\"global\",{plugins:{filler:{propagate:!0}}}),e.exports=function(){function e(e,t,n){var r,i=e._model||{},o=i.fill;if(void 0===o&&(o=!!i.backgroundColor),!1===o||null===o)return!1;if(!0===o)return\"origin\";if(r=parseFloat(o,10),isFinite(r)&&Math.floor(r)===r)return\"-\"!==o[0]&&\"+\"!==o[0]||(r=t+r),!(r===t||r<0||r>=n)&&r;switch(o){case\"bottom\":return\"start\";case\"top\":return\"end\";case\"zero\":return\"origin\";case\"origin\":case\"start\":case\"end\":return o;default:return!1}}function t(e){var t,n=e.el._model||{},r=e.el._scale||{},i=e.fill,o=null;if(isFinite(i))return null;if(\"start\"===i?o=void 0===n.scaleBottom?r.bottom:n.scaleBottom:\"end\"===i?o=void 0===n.scaleTop?r.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:r.getBasePosition?o=r.getBasePosition():r.getBasePixel&&(o=r.getBasePixel()),void 0!==o&&null!==o){if(void 0!==o.x&&void 0!==o.y)return o;if(\"number\"==typeof o&&isFinite(o))return t=r.isHorizontal(),{x:t?o:null,y:t?null:o}}return null}function n(e,t,n){var r,i=e[t],o=i.fill,a=[t];if(!n)return o;for(;!1!==o&&-1===a.indexOf(o);){if(!isFinite(o))return o;if(!(r=e[o]))return!1;if(r.visible)return o;a.push(o),o=r.fill}return!1}function a(e){var t=e.fill,n=\"dataset\";return!1===t?null:(isFinite(t)||(n=\"boundary\"),c[n](e))}function s(e){return e&&!e.skip}function l(e,t,n,r,i){var a;if(r&&i){for(e.moveTo(t[0].x,t[0].y),a=1;a0;--a)o.canvas.lineTo(e,n[a],n[a-1],!0)}}function u(e,t,n,r,i,o){var a,u,c,d,f,h,p,m=t.length,g=r.spanGaps,v=[],y=[],b=0,x=0;for(e.beginPath(),a=0,u=m+!!o;a');for(var n=0;n'),e.data.datasets[n].label&&t.push(e.data.datasets[n].label),t.push(\"\");return t.push(\"\"),t.join(\"\")}}),e.exports=function(e){function t(e,t){return e.usePointStyle?t*Math.SQRT2:e.boxWidth}function n(t,n){var r=new e.Legend({ctx:t.ctx,options:n,chart:t});a.configure(t,r,n),a.addBox(t,r),t.legend=r}var a=e.layoutService,s=o.noop;return e.Legend=i.extend({initialize:function(e){o.extend(this,e),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:s,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:s,beforeSetDimensions:s,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:s,beforeBuildLabels:s,buildLabels:function(){var e=this,t=e.options.labels||{},n=o.callback(t.generateLabels,[e.chart],e)||[];t.filter&&(n=n.filter(function(n){return t.filter(n,e.chart.data)})),e.options.reverse&&n.reverse(),e.legendItems=n},afterBuildLabels:s,beforeFit:s,fit:function(){var e=this,n=e.options,i=n.labels,a=n.display,s=e.ctx,l=r.global,u=o.valueOrDefault,c=u(i.fontSize,l.defaultFontSize),d=u(i.fontStyle,l.defaultFontStyle),f=u(i.fontFamily,l.defaultFontFamily),h=o.fontString(c,d,f),p=e.legendHitBoxes=[],m=e.minSize,g=e.isHorizontal();if(g?(m.width=e.maxWidth,m.height=a?10:0):(m.width=a?10:0,m.height=e.maxHeight),a)if(s.font=h,g){var v=e.lineWidths=[0],y=e.legendItems.length?c+i.padding:0;s.textAlign=\"left\",s.textBaseline=\"top\",o.each(e.legendItems,function(n,r){var o=t(i,c),a=o+c/2+s.measureText(n.text).width;v[v.length-1]+a+i.padding>=e.width&&(y+=c+i.padding,v[v.length]=e.left),p[r]={left:0,top:0,width:a,height:c},v[v.length-1]+=a+i.padding}),m.height+=y}else{var b=i.padding,x=e.columnWidths=[],_=i.padding,w=0,M=0,S=c+b;o.each(e.legendItems,function(e,n){var r=t(i,c),o=r+c/2+s.measureText(e.text).width;M+S>m.height&&(_+=w+i.padding,x.push(w),w=0,M=0),w=Math.max(w,o),M+=S,p[n]={left:0,top:0,width:o,height:c}}),_+=w,x.push(w),m.width+=_}e.width=m.width,e.height=m.height},afterFit:s,isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},draw:function(){var e=this,n=e.options,i=n.labels,a=r.global,s=a.elements.line,l=e.width,u=e.lineWidths;if(n.display){var c,d=e.ctx,f=o.valueOrDefault,h=f(i.fontColor,a.defaultFontColor),p=f(i.fontSize,a.defaultFontSize),m=f(i.fontStyle,a.defaultFontStyle),g=f(i.fontFamily,a.defaultFontFamily),v=o.fontString(p,m,g);d.textAlign=\"left\",d.textBaseline=\"middle\",d.lineWidth=.5,d.strokeStyle=h,d.fillStyle=h,d.font=v;var y=t(i,p),b=e.legendHitBoxes,x=function(e,t,r){if(!(isNaN(y)||y<=0)){d.save(),d.fillStyle=f(r.fillStyle,a.defaultColor),d.lineCap=f(r.lineCap,s.borderCapStyle),d.lineDashOffset=f(r.lineDashOffset,s.borderDashOffset),d.lineJoin=f(r.lineJoin,s.borderJoinStyle),d.lineWidth=f(r.lineWidth,s.borderWidth),d.strokeStyle=f(r.strokeStyle,a.defaultColor);var i=0===f(r.lineWidth,s.borderWidth);if(d.setLineDash&&d.setLineDash(f(r.lineDash,s.borderDash)),n.labels&&n.labels.usePointStyle){var l=p*Math.SQRT2/2,u=l/Math.SQRT2,c=e+u,h=t+u;o.canvas.drawPoint(d,r.pointStyle,l,c,h)}else i||d.strokeRect(e,t,y,p),d.fillRect(e,t,y,p);d.restore()}},_=function(e,t,n,r){var i=p/2,o=y+i+e,a=t+i;d.fillText(n.text,o,a),n.hidden&&(d.beginPath(),d.lineWidth=2,d.moveTo(o,a),d.lineTo(o+r,a),d.stroke())},w=e.isHorizontal();c=w?{x:e.left+(l-u[0])/2,y:e.top+i.padding,line:0}:{x:e.left+i.padding,y:e.top+i.padding,line:0};var M=p+i.padding;o.each(e.legendItems,function(t,n){var r=d.measureText(t.text).width,o=y+p/2+r,a=c.x,s=c.y;w?a+o>=l&&(s=c.y+=M,c.line++,a=c.x=e.left+(l-u[c.line])/2):s+M>e.bottom&&(a=c.x=a+e.columnWidths[c.line]+i.padding,s=c.y=e.top+i.padding,c.line++),x(a,s,t),b[n].left=a,b[n].top=s,_(a,s,t,r),w?c.x+=o+i.padding:c.y+=M})}},handleEvent:function(e){var t=this,n=t.options,r=\"mouseup\"===e.type?\"click\":e.type,i=!1;if(\"mousemove\"===r){if(!n.onHover)return}else{if(\"click\"!==r)return;if(!n.onClick)return}var o=e.x,a=e.y;if(o>=t.left&&o<=t.right&&a>=t.top&&a<=t.bottom)for(var s=t.legendHitBoxes,l=0;l=u.left&&o<=u.left+u.width&&a>=u.top&&a<=u.top+u.height){if(\"click\"===r){n.onClick.call(t,e.native,t.legendItems[l]),i=!0;break}if(\"mousemove\"===r){n.onHover.call(t,e.native,t.legendItems[l]),i=!0;break}}}return i}}),{id:\"legend\",beforeInit:function(e){var t=e.options.legend;t&&n(e,t)},beforeUpdate:function(e){var t=e.options.legend,i=e.legend;t?(o.mergeIf(t,r.global.legend),i?(a.configure(e,i,t),i.options=t):n(e,t)):i&&(a.removeBox(e,i),delete e.legend)},afterEvent:function(e,t){var n=e.legend;n&&n.handleEvent(t)}}}},function(e,t,n){\"use strict\";var r=n(8),i=n(19),o=n(6);r._set(\"global\",{title:{display:!1,fontStyle:\"bold\",fullWidth:!0,lineHeight:1.2,padding:10,position:\"top\",text:\"\",weight:2e3}}),e.exports=function(e){function t(t,r){var i=new e.Title({ctx:t.ctx,options:r,chart:t});n.configure(t,i,r),n.addBox(t,i),t.titleBlock=i}var n=e.layoutService,a=o.noop;return e.Title=i.extend({initialize:function(e){var t=this;o.extend(t,e),t.legendHitBoxes=[]},beforeUpdate:a,update:function(e,t,n){var r=this;return r.beforeUpdate(),r.maxWidth=e,r.maxHeight=t,r.margins=n,r.beforeSetDimensions(),r.setDimensions(),r.afterSetDimensions(),r.beforeBuildLabels(),r.buildLabels(),r.afterBuildLabels(),r.beforeFit(),r.fit(),r.afterFit(),r.afterUpdate(),r.minSize},afterUpdate:a,beforeSetDimensions:a,setDimensions:function(){var e=this;e.isHorizontal()?(e.width=e.maxWidth,e.left=0,e.right=e.width):(e.height=e.maxHeight,e.top=0,e.bottom=e.height),e.paddingLeft=0,e.paddingTop=0,e.paddingRight=0,e.paddingBottom=0,e.minSize={width:0,height:0}},afterSetDimensions:a,beforeBuildLabels:a,buildLabels:a,afterBuildLabels:a,beforeFit:a,fit:function(){var e=this,t=o.valueOrDefault,n=e.options,i=n.display,a=t(n.fontSize,r.global.defaultFontSize),s=e.minSize,l=o.isArray(n.text)?n.text.length:1,u=o.options.toLineHeight(n.lineHeight,a),c=i?l*u+2*n.padding:0;e.isHorizontal()?(s.width=e.maxWidth,s.height=c):(s.width=c,s.height=e.maxHeight),e.width=s.width,e.height=s.height},afterFit:a,isHorizontal:function(){var e=this.options.position;return\"top\"===e||\"bottom\"===e},draw:function(){var e=this,t=e.ctx,n=o.valueOrDefault,i=e.options,a=r.global;if(i.display){var s,l,u,c=n(i.fontSize,a.defaultFontSize),d=n(i.fontStyle,a.defaultFontStyle),f=n(i.fontFamily,a.defaultFontFamily),h=o.fontString(c,d,f),p=o.options.toLineHeight(i.lineHeight,c),m=p/2+i.padding,g=0,v=e.top,y=e.left,b=e.bottom,x=e.right;t.fillStyle=n(i.fontColor,a.defaultFontColor),t.font=h,e.isHorizontal()?(l=y+(x-y)/2,u=v+m,s=x-y):(l=\"left\"===i.position?y+m:x-m,u=v+(b-v)/2,s=b-v,g=Math.PI*(\"left\"===i.position?-.5:.5)),t.save(),t.translate(l,u),t.rotate(g),t.textAlign=\"center\",t.textBaseline=\"middle\";var _=i.text;if(o.isArray(_))for(var w=0,M=0;M<_.length;++M)t.fillText(_[M],0,w,s),w+=p;else t.fillText(_,0,0,s);t.restore()}}}),{id:\"title\",beforeInit:function(e){var n=e.options.title;n&&t(e,n)},beforeUpdate:function(i){var a=i.options.title,s=i.titleBlock;a?(o.mergeIf(a,r.global.title),s?(n.configure(i,s,a),s.options=a):t(i,a)):s&&(e.layoutService.removeBox(i,s),delete i.titleBlock)}}}},function(e,t,n){\"use strict\";e.exports=function(e){var t={position:\"bottom\"},n=e.Scale.extend({getLabels:function(){var e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels},determineDataLimits:function(){var e=this,t=e.getLabels();e.minIndex=0,e.maxIndex=t.length-1;var n;void 0!==e.options.ticks.min&&(n=t.indexOf(e.options.ticks.min),e.minIndex=-1!==n?n:e.minIndex),void 0!==e.options.ticks.max&&(n=t.indexOf(e.options.ticks.max),e.maxIndex=-1!==n?n:e.maxIndex),e.min=t[e.minIndex],e.max=t[e.maxIndex]},buildTicks:function(){var e=this,t=e.getLabels();e.ticks=0===e.minIndex&&e.maxIndex===t.length-1?t:t.slice(e.minIndex,e.maxIndex+1)},getLabelForIndex:function(e,t){var n=this,r=n.chart.data,i=n.isHorizontal();return r.yLabels&&!i?n.getRightValue(r.datasets[t].data[e]):n.ticks[e-n.minIndex]},getPixelForValue:function(e,t){var n,r=this,i=r.options.offset,o=Math.max(r.maxIndex+1-r.minIndex-(i?0:1),1);if(void 0!==e&&null!==e&&(n=r.isHorizontal()?e.x:e.y),void 0!==n||void 0!==e&&isNaN(t)){var a=r.getLabels();e=n||e;var s=a.indexOf(e);t=-1!==s?s:t}if(r.isHorizontal()){var l=r.width/o,u=l*(t-r.minIndex);return i&&(u+=l/2),r.left+Math.round(u)}var c=r.height/o,d=c*(t-r.minIndex);return i&&(d+=c/2),r.top+Math.round(d)},getPixelForTick:function(e){return this.getPixelForValue(this.ticks[e],e+this.minIndex,null)},getValueForPixel:function(e){var t=this,n=t.options.offset,r=Math.max(t._ticks.length-(n?0:1),1),i=t.isHorizontal(),o=(i?t.width:t.height)/r;return e-=i?t.left:t.top,n&&(e-=o/2),(e<=0?0:Math.round(e/o))+t.minIndex},getBasePixel:function(){return this.bottom}});e.scaleService.registerScaleType(\"category\",n,t)}},function(e,t,n){\"use strict\";var r=n(8),i=n(6),o=n(45);e.exports=function(e){var t={position:\"left\",ticks:{callback:o.formatters.linear}},n=e.LinearScaleBase.extend({determineDataLimits:function(){function e(e){return s?e.xAxisID===t.id:e.yAxisID===t.id}var t=this,n=t.options,r=t.chart,o=r.data,a=o.datasets,s=t.isHorizontal();t.min=null,t.max=null;var l=n.stacked;if(void 0===l&&i.each(a,function(t,n){if(!l){var i=r.getDatasetMeta(n);r.isDatasetVisible(n)&&e(i)&&void 0!==i.stack&&(l=!0)}}),n.stacked||l){var u={};i.each(a,function(o,a){var s=r.getDatasetMeta(a),l=[s.type,void 0===n.stacked&&void 0===s.stack?a:\"\",s.stack].join(\".\");void 0===u[l]&&(u[l]={positiveValues:[],negativeValues:[]});var c=u[l].positiveValues,d=u[l].negativeValues;r.isDatasetVisible(a)&&e(s)&&i.each(o.data,function(e,r){var i=+t.getRightValue(e);isNaN(i)||s.data[r].hidden||(c[r]=c[r]||0,d[r]=d[r]||0,n.relativePoints?c[r]=100:i<0?d[r]+=i:c[r]+=i)})}),i.each(u,function(e){var n=e.positiveValues.concat(e.negativeValues),r=i.min(n),o=i.max(n);t.min=null===t.min?r:Math.min(t.min,r),t.max=null===t.max?o:Math.max(t.max,o)})}else i.each(a,function(n,o){var a=r.getDatasetMeta(o);r.isDatasetVisible(o)&&e(a)&&i.each(n.data,function(e,n){var r=+t.getRightValue(e);isNaN(r)||a.data[n].hidden||(null===t.min?t.min=r:rt.max&&(t.max=r))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var e,t=this,n=t.options.ticks;if(t.isHorizontal())e=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(t.width/50));else{var o=i.valueOrDefault(n.fontSize,r.global.defaultFontSize);e=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(t.height/(2*o)))}return e},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(e,t){return+this.getRightValue(this.chart.data.datasets[t].data[e])},getPixelForValue:function(e){var t,n=this,r=n.start,i=+n.getRightValue(e),o=n.end-r;return n.isHorizontal()?(t=n.left+n.width/o*(i-r),Math.round(t)):(t=n.bottom-n.height/o*(i-r),Math.round(t))},getValueForPixel:function(e){var t=this,n=t.isHorizontal(),r=n?t.width:t.height,i=(n?e-t.left:t.bottom-e)/r;return t.start+(t.end-t.start)*i},getPixelForTick:function(e){return this.getPixelForValue(this.ticksAsNumbers[e])}});e.scaleService.registerScaleType(\"linear\",n,t)}},function(e,t,n){\"use strict\";var r=n(6),i=n(45);e.exports=function(e){var t=r.noop;e.LinearScaleBase=e.Scale.extend({getRightValue:function(t){return\"string\"==typeof t?+t:e.Scale.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var e=this,t=e.options,n=t.ticks;if(n.beginAtZero){var i=r.sign(e.min),o=r.sign(e.max);i<0&&o<0?e.max=0:i>0&&o>0&&(e.min=0)}var a=void 0!==n.min||void 0!==n.suggestedMin,s=void 0!==n.max||void 0!==n.suggestedMax;void 0!==n.min?e.min=n.min:void 0!==n.suggestedMin&&(null===e.min?e.min=n.suggestedMin:e.min=Math.min(e.min,n.suggestedMin)),void 0!==n.max?e.max=n.max:void 0!==n.suggestedMax&&(null===e.max?e.max=n.suggestedMax:e.max=Math.max(e.max,n.suggestedMax)),a!==s&&e.min>=e.max&&(a?e.max=e.min+1:e.min=e.max-1),e.min===e.max&&(e.max++,n.beginAtZero||e.min--)},getTickLimit:t,handleDirectionalChanges:t,buildTicks:function(){var e=this,t=e.options,n=t.ticks,o=e.getTickLimit();o=Math.max(2,o);var a={maxTicks:o,min:n.min,max:n.max,stepSize:r.valueOrDefault(n.fixedStepSize,n.stepSize)},s=e.ticks=i.generators.linear(a,e);e.handleDirectionalChanges(),e.max=r.max(s),e.min=r.min(s),n.reverse?(s.reverse(),e.start=e.max,e.end=e.min):(e.start=e.min,e.end=e.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),e.Scale.prototype.convertTicksToLabels.call(t)}})}},function(e,t,n){\"use strict\";var r=n(6),i=n(45);e.exports=function(e){var t={position:\"left\",ticks:{callback:i.formatters.logarithmic}},n=e.Scale.extend({determineDataLimits:function(){function e(e){return u?e.xAxisID===t.id:e.yAxisID===t.id}var t=this,n=t.options,i=n.ticks,o=t.chart,a=o.data,s=a.datasets,l=r.valueOrDefault,u=t.isHorizontal();t.min=null,t.max=null,t.minNotZero=null;var c=n.stacked;if(void 0===c&&r.each(s,function(t,n){if(!c){var r=o.getDatasetMeta(n);o.isDatasetVisible(n)&&e(r)&&void 0!==r.stack&&(c=!0)}}),n.stacked||c){var d={};r.each(s,function(i,a){var s=o.getDatasetMeta(a),l=[s.type,void 0===n.stacked&&void 0===s.stack?a:\"\",s.stack].join(\".\");o.isDatasetVisible(a)&&e(s)&&(void 0===d[l]&&(d[l]=[]),r.each(i.data,function(e,r){var i=d[l],o=+t.getRightValue(e);isNaN(o)||s.data[r].hidden||(i[r]=i[r]||0,n.relativePoints?i[r]=100:i[r]+=o)}))}),r.each(d,function(e){var n=r.min(e),i=r.max(e);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?i:Math.max(t.max,i)})}else r.each(s,function(n,i){var a=o.getDatasetMeta(i);o.isDatasetVisible(i)&&e(a)&&r.each(n.data,function(e,n){var r=+t.getRightValue(e);isNaN(r)||a.data[n].hidden||(null===t.min?t.min=r:rt.max&&(t.max=r),0!==r&&(null===t.minNotZero||ri?{start:t-n-5,end:t}:{start:t,end:t+n+5}}function l(e){var r,o,l,u=n(e),c=Math.min(e.height/2,e.width/2),d={r:e.width,l:0,t:e.height,b:0},f={};e.ctx.font=u.font,e._pointLabelSizes=[];var h=t(e);for(r=0;rd.r&&(d.r=g.end,f.r=p),v.startd.b&&(d.b=v.end,f.b=p)}e.setReductions(c,d,f)}function u(e){var t=Math.min(e.height/2,e.width/2);e.drawingArea=Math.round(t),e.setCenterPoint(0,0,0,0)}function c(e){return 0===e||180===e?\"center\":e<180?\"left\":\"right\"}function d(e,t,n,r){if(i.isArray(t))for(var o=n.y,a=1.5*r,s=0;s270||e<90)&&(n.y-=t.h)}function h(e){var r=e.ctx,o=i.valueOrDefault,a=e.options,s=a.angleLines,l=a.pointLabels;r.lineWidth=s.lineWidth,r.strokeStyle=s.color;var u=e.getDistanceFromCenterForValue(a.ticks.reverse?e.min:e.max),h=n(e);r.textBaseline=\"top\";for(var p=t(e)-1;p>=0;p--){if(s.display){var m=e.getPointPosition(p,u);r.beginPath(),r.moveTo(e.xCenter,e.yCenter),r.lineTo(m.x,m.y),r.stroke(),r.closePath()}if(l.display){var v=e.getPointPosition(p,u+5),y=o(l.fontColor,g.defaultFontColor);r.font=h.font,r.fillStyle=y;var b=e.getIndexAngle(p),x=i.toDegrees(b);r.textAlign=c(x),f(x,e._pointLabelSizes[p],v),d(r,e.pointLabels[p]||\"\",v,h.size)}}}function p(e,n,r,o){var a=e.ctx;if(a.strokeStyle=i.valueAtIndexOrDefault(n.color,o-1),a.lineWidth=i.valueAtIndexOrDefault(n.lineWidth,o-1),e.options.gridLines.circular)a.beginPath(),a.arc(e.xCenter,e.yCenter,r,0,2*Math.PI),a.closePath(),a.stroke();else{var s=t(e);if(0===s)return;a.beginPath();var l=e.getPointPosition(0,r);a.moveTo(l.x,l.y);for(var u=1;u0&&n>0?t:0)},draw:function(){var e=this,t=e.options,n=t.gridLines,r=t.ticks,o=i.valueOrDefault;if(t.display){var a=e.ctx,s=this.getIndexAngle(0),l=o(r.fontSize,g.defaultFontSize),u=o(r.fontStyle,g.defaultFontStyle),c=o(r.fontFamily,g.defaultFontFamily),d=i.fontString(l,u,c);i.each(e.ticks,function(t,i){if(i>0||r.reverse){var u=e.getDistanceFromCenterForValue(e.ticksAsNumbers[i]);if(n.display&&0!==i&&p(e,n,u,i),r.display){var c=o(r.fontColor,g.defaultFontColor);if(a.font=d,a.save(),a.translate(e.xCenter,e.yCenter),a.rotate(s),r.showLabelBackdrop){var f=a.measureText(t).width;a.fillStyle=r.backdropColor,a.fillRect(-f/2-r.backdropPaddingX,-u-l/2-r.backdropPaddingY,f+2*r.backdropPaddingX,l+2*r.backdropPaddingY)}a.textAlign=\"center\",a.textBaseline=\"middle\",a.fillStyle=c,a.fillText(t,0,-u),a.restore()}}}),(t.angleLines.display||t.pointLabels.display)&&h(e)}}});e.scaleService.registerScaleType(\"radialLinear\",y,v)}},function(e,t,n){\"use strict\";function r(e,t){return e-t}function i(e){var t,n,r,i={},o=[];for(t=0,n=e.length;tt&&s=0&&a<=s;){if(r=a+s>>1,i=e[r-1]||null,o=e[r],!i)return{lo:null,hi:o};if(o[t]n))return{lo:i,hi:o};s=r-1}}return{lo:o,hi:null}}function s(e,t,n,r){var i=a(e,t,n),o=i.lo?i.hi?i.lo:e[e.length-2]:e[0],s=i.lo?i.hi?i.hi:e[e.length-1]:e[1],l=s[t]-o[t],u=l?(n-o[t])/l:0,c=(s[r]-o[r])*u;return o[r]+c}function l(e,t){var n=t.parser,r=t.parser||t.format;return\"function\"==typeof n?n(e):\"string\"==typeof e&&\"string\"==typeof r?v(e,r):(e instanceof v||(e=v(e)),e.isValid()?e:\"function\"==typeof r?r(e):e)}function u(e,t){if(b.isNullOrUndef(e))return null;var n=t.options.time,r=l(t.getRightValue(e),n);return r.isValid()?(n.round&&r.startOf(n.round),r.valueOf()):null}function c(e,t,n,r){var i,o,a,s=t-e,l=w[n],u=l.size,c=l.steps;if(!c)return Math.ceil(s/((r||1)*u));for(i=0,o=c.length;i=M.indexOf(t);i--)if(o=M[i],w[o].common&&a.as(o)>=e.length)return o;return M[t?M.indexOf(t):0]}function h(e){for(var t=M.indexOf(e)+1,n=M.length;t1?t[1]:r,a=t[0],l=(s(e,\"time\",o,\"pos\")-s(e,\"time\",a,\"pos\"))/2),i.time.max||(o=t[t.length-1],a=t.length>1?t[t.length-2]:n,u=(s(e,\"time\",o,\"pos\")-s(e,\"time\",a,\"pos\"))/2)),{left:l,right:u}}function g(e,t){var n,r,i,o,a=[];for(n=0,r=e.length;n=i&&n<=a&&d.push(n);return r.min=i,r.max=a,r._unit=l.unit||f(d,l.minUnit,r.min,r.max),r._majorUnit=h(r._unit),r._table=o(r._timestamps.data,i,a,s.distribution),r._offsets=m(r._table,d,i,a,s),g(d,r._majorUnit)},getLabelForIndex:function(e,t){var n=this,r=n.chart.data,i=n.options.time,o=r.labels&&e=0&&e.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,[100*(.4124*t+.3576*n+.1805*r),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]}function u(e){var t,n,r,i=l(e),o=i[0],a=i[1],s=i[2];return o/=95.047,a/=100,s/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,t=116*a-16,n=500*(o-a),r=200*(a-s),[t,n,r]}function c(e){return z(u(e))}function d(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100;if(0==s)return o=255*l,[o,o,o];n=l<.5?l*(1+s):l+s-l*s,t=2*l-n,i=[0,0,0];for(var u=0;u<3;u++)r=a+1/3*-(u-1),r<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[u]=255*o;return i}function f(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100;return 0===o?[0,0,0]:(o*=2,i*=o<=1?o:2-o,n=(o+i)/2,t=2*i/(o+i),[r,100*t,100*n])}function h(e){return o(d(e))}function p(e){return a(d(e))}function m(e){return s(d(e))}function v(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),l=255*r*(1-n*(1-o)),r=255*r;switch(i){case 0:return[r,l,a];case 1:return[s,r,a];case 2:return[a,r,l];case 3:return[a,s,r];case 4:return[l,a,r];case 5:return[r,a,s]}}function y(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100;return n=(2-i)*o,t=i*o,t/=n<=1?n:2-n,t=t||0,n/=2,[r,100*t,100*n]}function x(e){return o(v(e))}function _(e){return a(v(e))}function w(e){return s(v(e))}function M(e){var t,n,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100,u=s+l;switch(u>1&&(s/=u,l/=u),t=Math.floor(6*a),n=1-l,i=6*a-t,0!=(1&t)&&(i=1-i),o=s+i*(n-s),t){default:case 6:case 0:r=n,g=o,b=s;break;case 1:r=o,g=n,b=s;break;case 2:r=s,g=n,b=o;break;case 3:r=s,g=o,b=n;break;case 4:r=o,g=s,b=n;break;case 5:r=n,g=s,b=o}return[255*r,255*g,255*b]}function S(e){return n(M(e))}function E(e){return i(M(e))}function T(e){return a(M(e))}function k(e){return s(M(e))}function O(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100,s=e[3]/100;return t=1-Math.min(1,i*(1-s)+s),n=1-Math.min(1,o*(1-s)+s),r=1-Math.min(1,a*(1-s)+s),[255*t,255*n,255*r]}function P(e){return n(O(e))}function C(e){return i(O(e))}function A(e){return o(O(e))}function R(e){return s(O(e))}function L(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return t=3.2406*i+-1.5372*o+-.4986*a,n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=t>.0031308?1.055*Math.pow(t,1/2.4)-.055:t*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*=12.92,t=Math.min(Math.max(0,t),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*t,255*n,255*r]}function I(e){var t,n,r,i=e[0],o=e[1],a=e[2];return i/=95.047,o/=100,a/=108.883,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,t=116*o-16,n=500*(i-o),r=200*(o-a),[t,n,r]}function D(e){return z(I(e))}function N(e){var t,n,r,i,o=e[0],a=e[1],s=e[2];return o<=8?(n=100*o/903.3,i=n/100*7.787+16/116):(n=100*Math.pow((o+16)/116,3),i=Math.pow(n/100,1/3)),t=t/95.047<=.008856?t=95.047*(a/500+i-16/116)/7.787:95.047*Math.pow(a/500+i,3),r=r/108.883<=.008859?r=108.883*(i-s/200-16/116)/7.787:108.883*Math.pow(i-s/200,3),[t,n,r]}function z(e){var t,n,r,i=e[0],o=e[1],a=e[2];return t=Math.atan2(a,o),n=360*t/2/Math.PI,n<0&&(n+=360),r=Math.sqrt(o*o+a*a),[i,r,n]}function B(e){return L(N(e))}function F(e){var t,n,r,i=e[0],o=e[1],a=e[2];return r=a/360*2*Math.PI,t=o*Math.cos(r),n=o*Math.sin(r),[i,t,n]}function j(e){return N(F(e))}function U(e){return B(F(e))}function W(e){return Z[e]}function G(e){return n(W(e))}function V(e){return i(W(e))}function H(e){return o(W(e))}function Y(e){return a(W(e))}function q(e){return u(W(e))}function X(e){return l(W(e))}e.exports={rgb2hsl:n,rgb2hsv:i,rgb2hwb:o,rgb2cmyk:a,rgb2keyword:s,rgb2xyz:l,rgb2lab:u,rgb2lch:c,hsl2rgb:d,hsl2hsv:f,hsl2hwb:h,hsl2cmyk:p,hsl2keyword:m,hsv2rgb:v,hsv2hsl:y,hsv2hwb:x,hsv2cmyk:_,hsv2keyword:w,hwb2rgb:M,hwb2hsl:S,hwb2hsv:E,hwb2cmyk:T,hwb2keyword:k,cmyk2rgb:O,cmyk2hsl:P,cmyk2hsv:C,cmyk2hwb:A,cmyk2keyword:R,keyword2rgb:W,keyword2hsl:G,keyword2hsv:V,keyword2hwb:H,keyword2cmyk:Y,keyword2lab:q,keyword2xyz:X,xyz2rgb:L,xyz2lab:I,xyz2lch:D,lab2xyz:N,lab2rgb:B,lab2lch:z,lch2lab:F,lch2xyz:j,lch2rgb:U};var Z={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]},K={};for(var J in Z)K[JSON.stringify(Z[J])]=J},function(e,t,n){var r=n(287),i=function(){return new u};for(var o in r){i[o+\"Raw\"]=function(e){return function(t){return\"number\"==typeof t&&(t=Array.prototype.slice.call(arguments)),r[e](t)}}(o);var a=/(\\w+)2(\\w+)/.exec(o),s=a[1],l=a[2];i[s]=i[s]||{},i[s][l]=i[o]=function(e){return function(t){\"number\"==typeof t&&(t=Array.prototype.slice.call(arguments));var n=r[e](t);if(\"string\"==typeof n||void 0===n)return n;for(var i=0;ic;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(28),i=n(76),o=n(41),a=n(63),s=n(310);e.exports=function(e,t){var n=1==e,l=2==e,u=3==e,c=4==e,d=6==e,f=5==e||d,h=t||s;return function(t,s,p){for(var m,g,v=o(t),y=i(v),b=r(s,p,3),x=a(y.length),_=0,w=n?h(t,x):l?h(t,0):void 0;x>_;_++)if((f||_ in y)&&(m=y[_],g=b(m,_,v),e))if(n)w[_]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(c)return!1;return d?-1:u||c?c:w}}},function(e,t,n){var r=n(20),i=n(116),o=n(15)(\"species\");e.exports=function(e){var t;return i(e)&&(t=e.constructor,\"function\"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(309);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){\"use strict\";var r=n(21).f,i=n(61),o=n(83),a=n(28),s=n(71),l=n(48),u=n(77),c=n(119),d=n(126),f=n(26),h=n(78).fastKey,p=n(129),m=f?\"_s\":\"size\",g=function(e,t){var n,r=h(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var c=e(function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&l(r,n,e[u],e)});return o(c.prototype,{clear:function(){for(var e=p(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=p(this,t),r=g(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){p(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(p(this,t),e)}}),f&&r(c.prototype,\"size\",{get:function(){return p(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=g(e,t);return o?o.v=n:(e._l=o={i:i=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,\"F\"!==i&&(e._i[i]=o)),e},getEntry:g,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=p(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?\"keys\"==t?c(0,n.k):\"values\"==t?c(0,n.v):c(0,[n.k,n.v]):(e._t=void 0,c(1))},n?\"entries\":\"values\",!n,!0),d(t)}}},function(e,t,n){var r=n(72),i=n(306);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return i(this)}}},function(e,t,n){\"use strict\";var r=n(14),i=n(12),o=n(78),a=n(36),s=n(34),l=n(83),u=n(48),c=n(71),d=n(20),f=n(52),h=n(21).f,p=n(308)(0),m=n(26);e.exports=function(e,t,n,g,v,y){var b=r[e],x=b,_=v?\"set\":\"add\",w=x&&x.prototype,M={};return m&&\"function\"==typeof x&&(y||w.forEach&&!a(function(){(new x).entries().next()}))?(x=t(function(t,n){c(t,x,e,\"_c\"),t._c=new b,void 0!=n&&u(n,v,t[_],t)}),p(\"add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON\".split(\",\"),function(e){var t=\"add\"==e||\"set\"==e;e in w&&(!y||\"clear\"!=e)&&s(x.prototype,e,function(n,r){if(c(this,x,e),!t&&y&&!d(n))return\"get\"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(x.prototype,\"size\",{get:function(){return this._c.size}})):(x=g.getConstructor(t,e,v,_),l(x.prototype,n),o.NEED=!0),f(x,e),M[e]=x,i(i.G+i.W+i.F,M),y||g.setStrong(x,e,v),x}},function(e,t,n){\"use strict\";var r=n(21),i=n(51);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(50),i=n(81),o=n(62);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),l=o.f,u=0;s.length>u;)l.call(e,a=s[u++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){\"use strict\";var r=n(61),i=n(51),o=n(52),a={};n(34)(a,n(15)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){var r=n(14),i=n(128).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,l=\"process\"==n(47)(a);e.exports=function(){var e,t,n,u=function(){var r,i;for(l&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(l)n=function(){a.nextTick(u)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve();n=function(){c.then(u)}}else n=function(){i.call(r,u)};else{var d=!0,f=document.createTextNode(\"\");new o(u).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){\"use strict\";var r=n(50),i=n(81),o=n(62),a=n(41),s=n(76),l=Object.assign;e.exports=!l||n(36)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join(\"\")!=r})?function(e,t){for(var n=a(e),l=arguments.length,u=1,c=i.f,d=o.f;l>u;)for(var f,h=s(arguments[u++]),p=c?r(h).concat(c(h)):r(h),m=p.length,g=0;m>g;)d.call(h,f=p[g++])&&(n[f]=h[f]);return n}:l},function(e,t,n){var r=n(21),i=n(25),o=n(50);e.exports=n(26)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,l=0;s>l;)r.f(e,n=a[l++],t[n]);return e}},function(e,t,n){var r=n(38),i=n(120).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(e){return a.slice()}};e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?s(e):i(r(e))}},function(e,t,n){\"use strict\";var r=n(12),i=n(46),o=n(28),a=n(48);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,l=arguments[1];return i(this),t=void 0!==l,t&&i(l),void 0==e?new this:(n=[],t?(r=0,s=o(l,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(12);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){var r=n(20),i=n(25),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(28)(Function.call,n(80).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){var r=n(86),i=n(73);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),l=r(n),u=s.length;return l<0||l>=u?e?\"\":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?e?s.charAt(l):o:e?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}}},function(e,t,n){var r=n(86),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},function(e,t,n){var r=n(25),i=n(90);e.exports=n(9).getIterator=function(e){var t=i(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){\"use strict\";var r=n(28),i=n(12),o=n(41),a=n(117),s=n(115),l=n(63),u=n(314),c=n(90);i(i.S+i.F*!n(118)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,i,d,f=o(e),h=\"function\"==typeof this?this:Array,p=arguments.length,m=p>1?arguments[1]:void 0,g=void 0!==m,v=0,y=c(f);if(g&&(m=r(m,p>2?arguments[2]:void 0,2)),void 0==y||h==Array&&s(y))for(t=l(f.length),n=new h(t);t>v;v++)u(n,v,g?m(f[v],v):f[v]);else for(d=y.call(f),n=new h;!(i=d.next()).done;v++)u(n,v,g?a(d,m,[i.value,v],!0):i.value);return n.length=v,n}})},function(e,t,n){\"use strict\";var r=n(305),i=n(119),o=n(49),a=n(38);e.exports=n(77)(Array,\"Array\",function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):\"keys\"==t?i(0,n):\"values\"==t?i(0,e[n]):i(0,[n,e[n]])},\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){var r=n(12);r(r.S,\"Math\",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(12);r(r.S+r.F,\"Object\",{assign:n(319)})},function(e,t,n){var r=n(12);r(r.S,\"Object\",{create:n(61)})},function(e,t,n){var r=n(12);r(r.S+r.F*!n(26),\"Object\",{defineProperty:n(21).f})},function(e,t,n){var r=n(38),i=n(80).f;n(82)(\"getOwnPropertyDescriptor\",function(){return function(e,t){return i(r(e),t)}})},function(e,t,n){var r=n(41),i=n(121);n(82)(\"getPrototypeOf\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(41),i=n(50);n(82)(\"keys\",function(){return function(e){return i(r(e))}})},function(e,t,n){var r=n(12);r(r.S,\"Object\",{setPrototypeOf:n(324).set})},function(e,t,n){\"use strict\";var r,i,o,a,s=n(60),l=n(14),u=n(28),c=n(72),d=n(12),f=n(20),h=n(46),p=n(71),m=n(48),g=n(127),v=n(128).set,y=n(318)(),b=n(79),x=n(123),_=n(124),w=l.TypeError,M=l.process,S=l.Promise,E=\"process\"==c(M),T=function(){},k=i=b.f,O=!!function(){try{var e=S.resolve(1),t=(e.constructor={})[n(15)(\"species\")]=function(e){e(T,T)};return(E||\"function\"==typeof PromiseRejectionEvent)&&e.then(T)instanceof t}catch(e){}}(),P=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},C=function(e,t){if(!e._n){e._n=!0;var n=e._c;y(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)!function(t){var n,o,a=i?t.ok:t.fail,s=t.resolve,l=t.reject,u=t.domain;try{a?(i||(2==e._h&&L(e),e._h=1),!0===a?n=r:(u&&u.enter(),n=a(r),u&&u.exit()),n===t.promise?l(w(\"Promise-chain cycle\")):(o=P(n))?o.call(n,s,l):s(n)):l(r)}catch(e){l(e)}}(n[o++]);e._c=[],e._n=!1,t&&!e._h&&A(e)})}},A=function(e){v.call(l,function(){var t,n,r,i=e._v,o=R(e);if(o&&(t=x(function(){E?M.emit(\"unhandledRejection\",i,e):(n=l.onunhandledrejection)?n({promise:e,reason:i}):(r=l.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)}),e._h=E||R(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},R=function(e){return 1!==e._h&&0===(e._a||e._c).length},L=function(e){v.call(l,function(){var t;E?M.emit(\"rejectionHandled\",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},I=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),C(t,!0))},D=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw w(\"Promise can't be resolved itself\");(t=P(e))?y(function(){var r={_w:n,_d:!1};try{t.call(e,u(D,r,1),u(I,r,1))}catch(e){I.call(r,e)}}):(n._v=e,n._s=1,C(n,!1))}catch(e){I.call({_w:n,_d:!1},e)}}};O||(S=function(e){p(this,S,\"Promise\",\"_h\"),h(e),r.call(this);try{e(u(D,this,1),u(I,this,1))}catch(e){I.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(83)(S.prototype,{then:function(e,t){var n=k(g(this,S));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=E?M.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=u(D,e,1),this.reject=u(I,e,1)},b.f=k=function(e){return e===S||e===a?new o(e):i(e)}),d(d.G+d.W+d.F*!O,{Promise:S}),n(52)(S,\"Promise\"),n(126)(\"Promise\"),a=n(9).Promise,d(d.S+d.F*!O,\"Promise\",{reject:function(e){var t=k(this);return(0,t.reject)(e),t.promise}}),d(d.S+d.F*(s||!O),\"Promise\",{resolve:function(e){return _(s&&this===a?S:this,e)}}),d(d.S+d.F*!(O&&n(118)(function(e){S.all(e).catch(T)})),\"Promise\",{all:function(e){var t=this,n=k(t),r=n.resolve,i=n.reject,o=x(function(){var n=[],o=0,a=1;m(e,!1,function(e){var s=o++,l=!1;n.push(void 0),a++,t.resolve(e).then(function(e){l||(l=!0,n[s]=e,--a||r(n))},i)}),--a||r(n)});return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=k(t),r=n.reject,i=x(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i.e&&r(i.v),n.promise}})},function(e,t,n){\"use strict\";var r=n(311),i=n(129);e.exports=n(313)(\"Set\",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,\"Set\"),e=0===e?0:e,e)}},r)},function(e,t,n){\"use strict\";var r=n(14),i=n(37),o=n(26),a=n(12),s=n(125),l=n(78).KEY,u=n(36),c=n(85),d=n(52),f=n(64),h=n(15),p=n(89),m=n(88),g=n(315),v=n(116),y=n(25),b=n(20),x=n(38),_=n(87),w=n(51),M=n(61),S=n(321),E=n(80),T=n(21),k=n(50),O=E.f,P=T.f,C=S.f,A=r.Symbol,R=r.JSON,L=R&&R.stringify,I=h(\"_hidden\"),D=h(\"toPrimitive\"),N={}.propertyIsEnumerable,z=c(\"symbol-registry\"),B=c(\"symbols\"),F=c(\"op-symbols\"),j=Object.prototype,U=\"function\"==typeof A,W=r.QObject,G=!W||!W.prototype||!W.prototype.findChild,V=o&&u(function(){return 7!=M(P({},\"a\",{get:function(){return P(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=O(j,t);r&&delete j[t],P(e,t,n),r&&e!==j&&P(j,t,r)}:P,H=function(e){var t=B[e]=M(A.prototype);return t._k=e,t},Y=U&&\"symbol\"==typeof A.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof A},q=function(e,t,n){return e===j&&q(F,t,n),y(e),t=_(t,!0),y(n),i(B,t)?(n.enumerable?(i(e,I)&&e[I][t]&&(e[I][t]=!1),n=M(n,{enumerable:w(0,!1)})):(i(e,I)||P(e,I,w(1,{})),e[I][t]=!0),V(e,t,n)):P(e,t,n)},X=function(e,t){y(e);for(var n,r=g(t=x(t)),i=0,o=r.length;o>i;)q(e,n=r[i++],t[n]);return e},Z=function(e,t){return void 0===t?M(e):X(M(e),t)},K=function(e){var t=N.call(this,e=_(e,!0));return!(this===j&&i(B,e)&&!i(F,e))&&(!(t||!i(this,e)||!i(B,e)||i(this,I)&&this[I][e])||t)},J=function(e,t){if(e=x(e),t=_(t,!0),e!==j||!i(B,t)||i(F,t)){var n=O(e,t);return!n||!i(B,t)||i(e,I)&&e[I][t]||(n.enumerable=!0),n}},$=function(e){for(var t,n=C(x(e)),r=[],o=0;n.length>o;)i(B,t=n[o++])||t==I||t==l||r.push(t);return r},Q=function(e){for(var t,n=e===j,r=C(n?F:x(e)),o=[],a=0;r.length>a;)!i(B,t=r[a++])||n&&!i(j,t)||o.push(B[t]);return o};U||(A=function(){if(this instanceof A)throw TypeError(\"Symbol is not a constructor!\");var e=f(arguments.length>0?arguments[0]:void 0),t=function(n){this===j&&t.call(F,n),i(this,I)&&i(this[I],e)&&(this[I][e]=!1),V(this,e,w(1,n))};return o&&G&&V(j,e,{configurable:!0,set:t}),H(e)},s(A.prototype,\"toString\",function(){return this._k}),E.f=J,T.f=q,n(120).f=S.f=$,n(62).f=K,n(81).f=Q,o&&!n(60)&&s(j,\"propertyIsEnumerable\",K,!0),p.f=function(e){return H(h(e))}),a(a.G+a.W+a.F*!U,{Symbol:A});for(var ee=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),te=0;ee.length>te;)h(ee[te++]);for(var ne=k(h.store),re=0;ne.length>re;)m(ne[re++]);a(a.S+a.F*!U,\"Symbol\",{for:function(e){return i(z,e+=\"\")?z[e]:z[e]=A(e)},keyFor:function(e){if(!Y(e))throw TypeError(e+\" is not a symbol!\");for(var t in z)if(z[t]===e)return t},useSetter:function(){G=!0},useSimple:function(){G=!1}}),a(a.S+a.F*!U,\"Object\",{create:Z,defineProperty:q,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:Q}),R&&a(a.S+a.F*(!U||u(function(){var e=A();return\"[null]\"!=L([e])||\"{}\"!=L({a:e})||\"{}\"!=L(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(b(t)||void 0!==e)&&!Y(e))return v(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!Y(t))return t}),r[1]=t,L.apply(R,r)}}),A.prototype[D]||n(34)(A.prototype,D,A.prototype.valueOf),d(A,\"Symbol\"),d(Math,\"Math\",!0),d(r.JSON,\"JSON\",!0)},function(e,t,n){\"use strict\";var r=n(12),i=n(9),o=n(14),a=n(127),s=n(124);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,i.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(12),i=n(79),o=n(123);r(r.S,\"Promise\",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){n(322)(\"Set\")},function(e,t,n){n(323)(\"Set\")},function(e,t,n){var r=n(12);r(r.P+r.R,\"Set\",{toJSON:n(312)(\"Set\")})},function(e,t,n){n(88)(\"asyncIterator\")},function(e,t,n){n(88)(\"observable\")},function(e,t,n){\"use strict\";var r=n(66),i={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(\"on\"+t,n),{remove:function(){e.detachEvent(\"on\"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=i},function(e,t,n){\"use strict\";var r=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=i},function(e,t,n){\"use strict\";function r(e,t){return!(!e||!t)&&(e===t||!i(e)&&(i(t)?r(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var i=n(355);e.exports=r},function(e,t,n){\"use strict\";function r(e){try{e.focus()}catch(e){}}e.exports=r},function(e,t,n){\"use strict\";function r(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r,o,a,s,l){if(i(t),!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,o,a,s,l],d=0;u=new Error(t.replace(/%s/g,function(){return c[d++]})),u.name=\"Invariant Violation\"}throw u.framesToPop=1,u}}var i=function(e){};e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!(\"function\"==typeof n.Node?e instanceof n.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}e.exports=r},function(e,t,n){\"use strict\";function r(e){return i(e)&&3==e.nodeType}var i=n(354);e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!==e&&t!==t}function i(e,t){if(r(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e}e.exports=n},function(e,t){function n(e,t,n){return e[0]=t,e[1]=n,e}e.exports=n},function(e,t){function n(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e in a?a[e]:a[e]=e.replace(i,\"-$&\").toLowerCase().replace(o,\"-ms-\")}var i=/[A-Z]/g,o=/^ms-/,a={};e.exports=r},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){var t=e.prefixMap,n=e.plugins,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=\"undefined\"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=n.userAgent||r,this._keepUnprefixed=n.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,l.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,c.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var o=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(o){this._requiresPrefix={};for(var a in o)o[a]>=this._browserInfo.browserVersion&&(this._requiresPrefix[a]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return a(e,[{key:\"prefix\",value:function(e){return this._useFallback?r(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:\"_prefixStyle\",value:function(e){for(var t in e){var r=e[t];if((0,g.default)(r))e[t]=this.prefix(r);else if(Array.isArray(r)){for(var i=[],o=0,a=r.length;o0&&(e[t]=i)}else{var l=(0,y.default)(n,t,r,e,this._metaData);l&&(e[t]=l),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,f.default)(t)]=r,this._keepUnprefixed||delete e[t])}}return e}}],[{key:\"prefixAll\",value:function(e){return r(e)}}]),e}()}Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||(\"ios_saf\"===i||\"safari\"===i)&&a<10))return(0,o.default)(t.replace(/cross-fade\\(/g,s+\"cross-fade(\"),t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,l=r.browserVersion,u=r.cssPrefix,c=r.keepUnprefixed;return\"cursor\"!==e||!a[t]||\"firefox\"!==i&&\"chrome\"!==i&&\"safari\"!==i&&\"opera\"!==i?\"cursor\"===e&&s[t]&&(\"firefox\"===i&&l<24||\"chrome\"===i&&l<37||\"safari\"===i&&l<9||\"opera\"===i&&l<24)?(0,o.default)(u+t,t,c):void 0:(0,o.default)(u+t,t,c)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={grab:!0,grabbing:!0},s={\"zoom-in\":!0,\"zoom-out\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.browserVersion,s=r.cssPrefix,l=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"filter(\")>-1&&(\"ios_saf\"===i||\"safari\"===i&&a<9.1))return(0,o.default)(t.replace(/filter\\(/g,s+\"filter(\"),t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,l=r.cssPrefix,u=r.keepUnprefixed;if(\"display\"===e&&a[t]&&(\"chrome\"===i&&s<29&&s>20||(\"safari\"===i||\"ios_saf\"===i)&&s<9&&s>6||\"opera\"===i&&(15===s||16===s)))return(0,o.default)(l+t,t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={flex:!0,\"inline-flex\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,l=r.browserVersion,c=r.cssPrefix,d=r.keepUnprefixed,f=r.requiresPrefix;if((u.indexOf(e)>-1||\"display\"===e&&\"string\"==typeof t&&t.indexOf(\"flex\")>-1)&&(\"firefox\"===i&&l<22||\"chrome\"===i&&l<21||(\"safari\"===i||\"ios_saf\"===i)&&l<=6.1||\"android\"===i&&l<4.4||\"and_uc\"===i)){if(delete f[e],d||Array.isArray(n[e])||delete n[e],\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),\"display\"===e&&a.hasOwnProperty(t))return(0,o.default)(c+a[t],t,d);s.hasOwnProperty(e)&&(n[s[e]]=a[t]||t)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\",flex:\"box\",\"inline-flex\":\"inline-box\"},s={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"},l=[\"alignContent\",\"alignSelf\",\"order\",\"flexGrow\",\"flexShrink\",\"flexBasis\",\"flexDirection\"],u=Object.keys(s).concat(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,s=r.browserVersion,l=r.cssPrefix,u=r.keepUnprefixed;if(\"string\"==typeof t&&a.test(t)&&(\"firefox\"===i&&s<16||\"chrome\"===i&&s<26||(\"safari\"===i||\"ios_saf\"===i)&&s<7||(\"opera\"===i||\"op_mini\"===i)&&s<12.1||\"android\"===i&&s<4.4||\"and_uc\"===i))return(0,o.default)(l+t,t,u)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"string\"==typeof t&&t.indexOf(\"image-set(\")>-1&&(\"chrome\"===i||\"opera\"===i||\"and_chr\"===i||\"and_uc\"===i||\"ios_saf\"===i||\"safari\"===i))return(0,o.default)(t.replace(/image-set\\(/g,a+\"image-set(\"),t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.browserName,a=r.cssPrefix,s=r.keepUnprefixed;if(\"position\"===e&&\"sticky\"===t&&(\"safari\"===i||\"ios_saf\"===i))return(0,o.default)(a+t,t,s)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,l=r.keepUnprefixed;if(a.hasOwnProperty(e)&&s.hasOwnProperty(t))return(0,o.default)(i+t,t,l)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(29),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},s={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){var i=r.cssPrefix,l=r.keepUnprefixed,u=r.requiresPrefix;if(\"string\"==typeof t&&a.hasOwnProperty(e)){s||(s=Object.keys(u).map(function(e){return(0,o.default)(e)}));var c=t.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);return s.forEach(function(e){c.forEach(function(t,n){t.indexOf(e)>-1&&\"order\"!==e&&(c[n]=t.replace(e,i+e)+(l?\",\"+t:\"\"))})}),c.join(\",\")}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(130),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s=void 0;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){function t(e){for(var i in e){var o=e[i];if((0,f.default)(o))e[i]=t(o);else if(Array.isArray(o)){for(var s=[],u=0,d=o.length;u0&&(e[i]=s)}else{var p=(0,l.default)(r,i,o,e,n);p&&(e[i]=p),(0,a.default)(n,i,e)}}return e}var n=e.prefixMap,r=e.plugins;return t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(391),a=r(o),s=n(135),l=r(s),u=n(133),c=r(u),d=n(134),f=r(d);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(376),o=r(i),a=n(388),s=r(a),l=n(379),u=r(l),c=n(378),d=r(c),f=n(380),h=r(f),p=n(381),m=r(p),g=n(382),v=r(g),y=n(383),b=r(y),x=n(384),_=r(x),w=n(385),M=r(w),S=n(386),E=r(S),T=n(387),k=r(T),O=[d.default,u.default,h.default,v.default,b.default,_.default,M.default,E.default,k.default,m.default];t.default=(0,o.default)({prefixMap:s.default.prefixMap,plugins:O}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"cross-fade(\")>-1)return a.map(function(e){return t.replace(/cross-fade\\(/g,e+\"cross-fade(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"cursor\"===e&&o.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={\"zoom-in\":!0,\"zoom-out\":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"filter(\")>-1)return a.map(function(e){return t.replace(/filter\\(/g,e+\"filter(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"display\"===e&&i.hasOwnProperty(t))return i[t]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={flex:[\"-webkit-box\",\"-moz-box\",\"-ms-flexbox\",\"-webkit-flex\",\"flex\"],\"inline-flex\":[\"-webkit-inline-box\",\"-moz-inline-box\",\"-ms-inline-flexbox\",\"-webkit-inline-flex\",\"inline-flex\"]};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){\"flexDirection\"===e&&\"string\"==typeof t&&(t.indexOf(\"column\")>-1?n.WebkitBoxOrient=\"vertical\":n.WebkitBoxOrient=\"horizontal\",t.indexOf(\"reverse\")>-1?n.WebkitBoxDirection=\"reverse\":n.WebkitBoxDirection=\"normal\"),o.hasOwnProperty(e)&&(n[o[e]]=i[t]||t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i={\"space-around\":\"justify\",\"space-between\":\"justify\",\"flex-start\":\"start\",\"flex-end\":\"end\",\"wrap-reverse\":\"multiple\",wrap:\"multiple\"},o={alignItems:\"WebkitBoxAlign\",justifyContent:\"WebkitBoxPack\",flexWrap:\"WebkitBoxLines\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&s.test(t))return a.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"-moz-\",\"\"],s=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"string\"==typeof t&&!(0,o.default)(t)&&t.indexOf(\"image-set(\")>-1)return a.map(function(e){return t.replace(/image-set\\(/g,e+\"image-set(\")})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=n(54),o=function(e){return e&&e.__esModule?e:{default:e}}(i),a=[\"-webkit-\",\"\"];e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(\"position\"===e&&\"sticky\"===t)return[\"-webkit-sticky\",\"sticky\"]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(o.hasOwnProperty(e)&&a.hasOwnProperty(t))return i.map(function(e){return e+t})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r;var i=[\"-webkit-\",\"-moz-\",\"\"],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},a={\"min-content\":!0,\"max-content\":!0,\"fill-available\":!0,\"fit-content\":!0,\"contain-floats\":!0};e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if((0,u.default)(e))return e;for(var n=e.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g),r=0,i=n.length;r-1&&\"order\"!==c)for(var d=t[l],f=0,p=d.length;f-1)return a;var s=o.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function(e){return!/-webkit-|-ms-/.test(e)}).join(\",\");return e.indexOf(\"Moz\")>-1?s:(n[\"Webkit\"+(0,d.default)(e)]=a,n[\"Moz\"+(0,d.default)(e)]=s,o)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(130),s=r(a),l=n(54),u=r(l),c=n(93),d=r(c),f={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},h={Webkit:\"-webkit-\",Moz:\"-moz-\",ms:\"-ms-\"};e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=[\"Webkit\"],i=[\"Moz\"],o=[\"ms\"],a=[\"Webkit\",\"Moz\"],s=[\"Webkit\",\"ms\"],l=[\"Webkit\",\"Moz\",\"ms\"];t.default={plugins:[],prefixMap:{appearance:a,userSelect:l,textEmphasisPosition:r,textEmphasis:r,textEmphasisStyle:r,textEmphasisColor:r,boxDecorationBreak:r,clipPath:r,maskImage:r,maskMode:r,maskRepeat:r,maskPosition:r,maskClip:r,maskOrigin:r,maskSize:r,maskComposite:r,mask:r,maskBorderSource:r,maskBorderMode:r,maskBorderSlice:r,maskBorderWidth:r,maskBorderOutset:r,maskBorderRepeat:r,maskBorder:r,maskType:r,textDecorationStyle:r,textDecorationSkip:r,textDecorationLine:r,textDecorationColor:r,filter:r,fontFeatureSettings:r,breakAfter:l,breakBefore:l,breakInside:l,columnCount:a,columnFill:a,columnGap:a,columnRule:a,columnRuleColor:a,columnRuleStyle:a,columnRuleWidth:a,columns:a,columnSpan:a,columnWidth:a,writingMode:s,flex:r,flexBasis:r,flexDirection:r,flexGrow:r,flexFlow:r,flexShrink:r,flexWrap:r,alignContent:r,alignItems:r,alignSelf:r,justifyContent:r,order:r,transform:r,transformOrigin:r,transformOriginX:r,transformOriginY:r,backfaceVisibility:r,perspective:r,perspectiveOrigin:r,transformStyle:r,transformOriginZ:r,animation:r,animationDelay:r,animationDirection:r,animationFillMode:r,animationDuration:r,animationIterationCount:r,animationName:r,animationPlayState:r,animationTimingFunction:r,backdropFilter:r,fontKerning:r,scrollSnapType:s,scrollSnapPointsX:s,scrollSnapPointsY:s,scrollSnapDestination:s,scrollSnapCoordinate:s,shapeImageThreshold:r,shapeImageMargin:r,shapeImageOutside:r,hyphens:l,flowInto:s,flowFrom:s,regionFragment:s,textAlignLast:i,tabSize:i,wrapFlow:o,wrapThrough:o,wrapMargin:o,gridTemplateColumns:o,gridTemplateRows:o,gridTemplateAreas:o,gridTemplate:o,gridAutoColumns:o,gridAutoRows:o,gridAutoFlow:o,grid:o,gridRowStart:o,gridColumnStart:o,gridRowEnd:o,gridRow:o,gridColumn:o,gridColumnEnd:o,gridColumnGap:o,gridRowGap:o,gridArea:o,gridGap:o,textSizeAdjust:s,borderImage:r,borderImageOutset:r,borderImageRepeat:r,borderImageSlice:r,borderImageSource:r,borderImageWidth:r,transitionDelay:r,transitionDuration:r,transitionProperty:r,transitionTimingFunction:r}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e.firefox)return\"firefox\";if(e.mobile||e.tablet){if(e.ios)return\"ios_saf\";if(e.android)return\"android\";if(e.opera)return\"op_mini\"}for(var t in l)if(e.hasOwnProperty(t))return l[t]}function i(e){var t=a.default._detect(e);t.yandexbrowser&&(t=a.default._detect(e.replace(/YaBrowser\\/[0-9.]*/,\"\")));for(var n in s)if(t.hasOwnProperty(n)){var i=s[n];t.jsPrefix=i,t.cssPrefix=\"-\"+i.toLowerCase()+\"-\";break}return t.browserName=r(t),t.version?t.browserVersion=parseFloat(t.version):t.browserVersion=parseInt(parseFloat(t.osversion),10),t.osVersion=parseFloat(t.osversion),\"ios_saf\"===t.browserName&&t.browserVersion>t.osVersion&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName=\"and_chr\"),\"android\"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion),\"android\"===t.browserName&&t.samsungBrowser&&(t.browserName=\"and_chr\",t.browserVersion=44),t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var o=n(242),a=function(e){return e&&e.__esModule?e:{default:e}}(o),s={chrome:\"Webkit\",safari:\"Webkit\",ios:\"Webkit\",android:\"Webkit\",phantom:\"Webkit\",opera:\"Webkit\",webos:\"Webkit\",blackberry:\"Webkit\",bada:\"Webkit\",tizen:\"Webkit\",chromium:\"Webkit\",vivaldi:\"Webkit\",firefox:\"Moz\",seamoney:\"Moz\",sailfish:\"Moz\",msie:\"ms\",msedge:\"ms\"},l={chrome:\"chrome\",chromium:\"chrome\",safari:\"safari\",firfox:\"firefox\",msedge:\"edge\",opera:\"opera\",vivaldi:\"opera\",msie:\"ie\"};e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){return\"chrome\"===e&&t<43||(\"safari\"===e||\"ios_saf\"===e)&&t<9||\"opera\"===e&&t<30||\"android\"===e&&t<=4.4||\"and_uc\"===e?n+\"keyframes\":\"keyframes\"}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){if(e.hasOwnProperty(t))for(var r=e[t],i=0,a=r.length;i0)for(n=0;n0?\"future\":\"past\"];return E(n)?n(t):n.replace(/%s/i,t)}function D(e,t){var n=e.toLowerCase();Rr[n]=Rr[n+\"s\"]=Rr[t]=e}function N(e){return\"string\"==typeof e?Rr[e]||Rr[e.toLowerCase()]:void 0}function z(e){var t,n,r={};for(n in e)u(e,n)&&(t=N(n))&&(r[t]=e[n]);return r}function B(e,t){Lr[e]=t}function F(e){var t=[];for(var n in e)t.push({unit:n,priority:Lr[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function j(e,n){return function(r){return null!=r?(W(this,e,r),t.updateOffset(this,n),this):U(this,e)}}function U(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function W(e,t,n){e.isValid()&&e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n)}function G(e){return e=N(e),E(this[e])?this[e]():this}function V(e,t){if(\"object\"==typeof e){e=z(e);for(var n=F(e),r=0;r=0?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}function Y(e,t,n,r){var i=r;\"string\"==typeof r&&(i=function(){return this[r]()}),e&&(zr[e]=i),t&&(zr[t[0]]=function(){return H(i.apply(this,arguments),t[1],t[2])}),n&&(zr[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function q(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function X(e){var t,n,r=e.match(Ir);for(t=0,n=r.length;t=0&&Dr.test(e);)e=e.replace(Dr,n),Dr.lastIndex=0,r-=1;return e}function J(e,t,n){ti[e]=E(t)?t:function(e,r){return e&&n?n:t}}function $(e,t){return u(ti,e)?ti[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return ee(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,n,r,i){return t||n||r||i}))}function ee(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function te(e,t){var n,r=t;for(\"string\"==typeof e&&(e=[e]),a(t)&&(r=function(e,n){n[t]=x(e)}),n=0;n=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function be(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function xe(e,t,n){var r=7+t-n;return-(7+be(e,0,r).getUTCDay()-t)%7+r-1}function _e(e,t,n,r,i){var o,a,s=(7+n-r)%7,l=xe(e,r,i),u=1+7*(t-1)+s+l;return u<=0?(o=e-1,a=me(o)+u):u>me(e)?(o=e+1,a=u-me(e)):(o=e,a=u),{year:o,dayOfYear:a}}function we(e,t,n){var r,i,o=xe(e.year(),t,n),a=Math.floor((e.dayOfYear()-o-1)/7)+1;return a<1?(i=e.year()-1,r=a+Me(i,t,n)):a>Me(e.year(),t,n)?(r=a-Me(e.year(),t,n),i=e.year()+1):(i=e.year(),r=a),{week:r,year:i}}function Me(e,t,n){var r=xe(e,t,n),i=xe(e+1,t,n);return(me(e)-r+i)/7}function Se(e){return we(e,this._week.dow,this._week.doy).week}function Ee(){return this._week.dow}function Te(){return this._week.doy}function ke(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")}function Oe(e){var t=we(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")}function Pe(e,t){return\"string\"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10)}function Ce(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Ae(e,t){return e?n(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?\"format\":\"standalone\"][e.day()]:n(this._weekdays)?this._weekdays:this._weekdays.standalone}function Re(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Le(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ie(e,t,n){var r,i,o,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=d([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,\"\").toLocaleLowerCase();return n?\"dddd\"===t?(i=fi.call(this._weekdaysParse,a),-1!==i?i:null):\"ddd\"===t?(i=fi.call(this._shortWeekdaysParse,a),-1!==i?i:null):(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):\"dddd\"===t?-1!==(i=fi.call(this._weekdaysParse,a))?i:-1!==(i=fi.call(this._shortWeekdaysParse,a))?i:(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):\"ddd\"===t?-1!==(i=fi.call(this._shortWeekdaysParse,a))?i:-1!==(i=fi.call(this._weekdaysParse,a))?i:(i=fi.call(this._minWeekdaysParse,a),-1!==i?i:null):-1!==(i=fi.call(this._minWeekdaysParse,a))?i:-1!==(i=fi.call(this._weekdaysParse,a))?i:(i=fi.call(this._shortWeekdaysParse,a),-1!==i?i:null)}function De(e,t,n){var r,i,o;if(this._weekdaysParseExact)return Ie.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=d([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\".?\")+\"$\",\"i\")),this._weekdaysParse[r]||(o=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[r]=new RegExp(o.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Ne(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Pe(e,this.localeData()),this.add(e-t,\"d\")):t}function ze(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")}function Be(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ce(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Fe(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Mi),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function je(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=Si),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||We.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Ei),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function We(){function e(e,t){return t.length-e.length}var t,n,r,i,o,a=[],s=[],l=[],u=[];for(t=0;t<7;t++)n=d([2e3,1]).day(t),r=this.weekdaysMin(n,\"\"),i=this.weekdaysShort(n,\"\"),o=this.weekdays(n,\"\"),a.push(r),s.push(i),l.push(o),u.push(r),u.push(i),u.push(o);for(a.sort(e),s.sort(e),l.sort(e),u.sort(e),t=0;t<7;t++)s[t]=ee(s[t]),l[t]=ee(l[t]),u[t]=ee(u[t]);this._weekdaysRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Ge(){return this.hours()%12||12}function Ve(){return this.hours()||24}function He(e,t){Y(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ye(e,t){return t._meridiemParse}function qe(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)}function Xe(e,t,n){return e>11?n?\"pm\":\"PM\":n?\"am\":\"AM\"}function Ze(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function Ke(e){for(var t,n,r,i,o=0;o0;){if(r=Je(i.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&_(i,n,!0)>=t-1)break;t--}o++}return null}function Je(t){var n=null;if(!Ci[t]&&void 0!==e&&e&&e.exports)try{n=Ti._abbr,function(){var e=new Error('Cannot find module \"./locale\"');throw e.code=\"MODULE_NOT_FOUND\",e}(),$e(n)}catch(e){}return Ci[t]}function $e(e,t){var n;return e&&(n=o(t)?tt(e):Qe(e,t))&&(Ti=n),Ti._abbr}function Qe(e,t){if(null!==t){var n=Pi;if(t.abbr=e,null!=Ci[e])S(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),n=Ci[e]._config;else if(null!=t.parentLocale){if(null==Ci[t.parentLocale])return Ai[t.parentLocale]||(Ai[t.parentLocale]=[]),Ai[t.parentLocale].push({name:e,config:t}),null;n=Ci[t.parentLocale]._config}return Ci[e]=new O(k(n,t)),Ai[e]&&Ai[e].forEach(function(e){Qe(e.name,e.config)}),$e(e),Ci[e]}return delete Ci[e],null}function et(e,t){if(null!=t){var n,r=Pi;null!=Ci[e]&&(r=Ci[e]._config),t=k(r,t),n=new O(t),n.parentLocale=Ci[e],Ci[e]=n,$e(e)}else null!=Ci[e]&&(null!=Ci[e].parentLocale?Ci[e]=Ci[e].parentLocale:null!=Ci[e]&&delete Ci[e]);return Ci[e]}function tt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ti;if(!n(e)){if(t=Je(e))return t;e=[e]}return Ke(e)}function nt(){return kr(Ci)}function rt(e){var t,n=e._a;return n&&-2===h(e).overflow&&(t=n[ii]<0||n[ii]>11?ii:n[oi]<1||n[oi]>ie(n[ri],n[ii])?oi:n[ai]<0||n[ai]>24||24===n[ai]&&(0!==n[si]||0!==n[li]||0!==n[ui])?ai:n[si]<0||n[si]>59?si:n[li]<0||n[li]>59?li:n[ui]<0||n[ui]>999?ui:-1,h(e)._overflowDayOfYear&&(toi)&&(t=oi),h(e)._overflowWeeks&&-1===t&&(t=ci),h(e)._overflowWeekday&&-1===t&&(t=di),h(e).overflow=t),e}function it(e){var t,n,r,i,o,a,s=e._i,l=Ri.exec(s)||Li.exec(s);if(l){for(h(e).iso=!0,t=0,n=Di.length;t10?\"YYYY \":\"YY \"),o=\"HH:mm\"+(n[4]?\":ss\":\"\"),n[1]){var d=new Date(n[2]),f=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"][d.getDay()];if(n[1].substr(0,3)!==f)return h(e).weekdayMismatch=!0,void(e._isValid=!1)}switch(n[5].length){case 2:0===l?s=\" +0000\":(l=c.indexOf(n[5][1].toUpperCase())-12,s=(l<0?\" -\":\" +\")+(\"\"+l).replace(/^-?/,\"0\").match(/..$/)[0]+\"00\");break;case 4:s=u[n[5]];break;default:s=u[\" GMT\"]}n[5]=s,e._i=n.splice(1).join(\"\"),a=\" ZZ\",e._f=r+i+o+a,dt(e),h(e).rfc2822=!0}else e._isValid=!1}function at(e){var n=zi.exec(e._i);if(null!==n)return void(e._d=new Date(+n[1]));it(e),!1===e._isValid&&(delete e._isValid,ot(e),!1===e._isValid&&(delete e._isValid,t.createFromInputFallback(e)))}function st(e,t,n){return null!=e?e:null!=t?t:n}function lt(e){var n=new Date(t.now());return e._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function ut(e){var t,n,r,i,o=[];if(!e._d){for(r=lt(e),e._w&&null==e._a[oi]&&null==e._a[ii]&&ct(e),null!=e._dayOfYear&&(i=st(e._a[ri],r[ri]),(e._dayOfYear>me(i)||0===e._dayOfYear)&&(h(e)._overflowDayOfYear=!0),n=be(i,0,e._dayOfYear),e._a[ii]=n.getUTCMonth(),e._a[oi]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ai]&&0===e._a[si]&&0===e._a[li]&&0===e._a[ui]&&(e._nextDay=!0,e._a[ai]=0),e._d=(e._useUTC?be:ye).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ai]=24)}}function ct(e){var t,n,r,i,o,a,s,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)o=1,a=4,n=st(t.GG,e._a[ri],we(bt(),1,4).year),r=st(t.W,1),((i=st(t.E,1))<1||i>7)&&(l=!0);else{o=e._locale._week.dow,a=e._locale._week.doy;var u=we(bt(),o,a);n=st(t.gg,e._a[ri],u.year),r=st(t.w,u.week),null!=t.d?((i=t.d)<0||i>6)&&(l=!0):null!=t.e?(i=t.e+o,(t.e<0||t.e>6)&&(l=!0)):i=o}r<1||r>Me(n,o,a)?h(e)._overflowWeeks=!0:null!=l?h(e)._overflowWeekday=!0:(s=_e(n,r,i,o,a),e._a[ri]=s.year,e._dayOfYear=s.dayOfYear)}function dt(e){if(e._f===t.ISO_8601)return void it(e);if(e._f===t.RFC_2822)return void ot(e);e._a=[],h(e).empty=!0;var n,r,i,o,a,s=\"\"+e._i,l=s.length,u=0;for(i=K(e._f,e._locale).match(Ir)||[],n=0;n0&&h(e).unusedInput.push(a),s=s.slice(s.indexOf(r)+r.length),u+=r.length),zr[o]?(r?h(e).empty=!1:h(e).unusedTokens.push(o),re(o,r,e)):e._strict&&!r&&h(e).unusedTokens.push(o);h(e).charsLeftOver=l-u,s.length>0&&h(e).unusedInput.push(s),e._a[ai]<=12&&!0===h(e).bigHour&&e._a[ai]>0&&(h(e).bigHour=void 0),h(e).parsedDateParts=e._a.slice(0),h(e).meridiem=e._meridiem,e._a[ai]=ft(e._locale,e._a[ai],e._meridiem),ut(e),rt(e)}function ft(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function ht(e){var t,n,r,i,o;if(0===e._f.length)return h(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function jt(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(g(e,this),e=gt(e),e._a){var t=e._isUTC?d(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&_(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ut(){return!!this.isValid()&&!this._isUTC}function Wt(){return!!this.isValid()&&this._isUTC}function Gt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Vt(e,t){var n,r,i,o=e,s=null;return kt(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:a(e)?(o={},t?o[t]=e:o.milliseconds=e):(s=Vi.exec(e))?(n=\"-\"===s[1]?-1:1,o={y:0,d:x(s[oi])*n,h:x(s[ai])*n,m:x(s[si])*n,s:x(s[li])*n,ms:x(Ot(1e3*s[ui]))*n}):(s=Hi.exec(e))?(n=\"-\"===s[1]?-1:1,o={y:Ht(s[2],n),M:Ht(s[3],n),w:Ht(s[4],n),d:Ht(s[5],n),h:Ht(s[6],n),m:Ht(s[7],n),s:Ht(s[8],n)}):null==o?o={}:\"object\"==typeof o&&(\"from\"in o||\"to\"in o)&&(i=qt(bt(o.from),bt(o.to)),o={},o.ms=i.milliseconds,o.M=i.months),r=new Tt(o),kt(e)&&u(e,\"_locale\")&&(r._locale=e._locale),r}function Ht(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function Yt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function qt(e,t){var n;return e.isValid()&&t.isValid()?(t=At(t,e),e.isBefore(t)?n=Yt(e,t):(n=Yt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Xt(e,t){return function(n,r){var i,o;return null===r||isNaN(+r)||(S(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),o=n,n=r,r=o),n=\"string\"==typeof n?+n:n,i=Vt(n,r),Zt(this,i,e),this}}function Zt(e,n,r,i){var o=n._milliseconds,a=Ot(n._days),s=Ot(n._months);e.isValid()&&(i=null==i||i,o&&e._d.setTime(e._d.valueOf()+o*r),a&&W(e,\"Date\",U(e,\"Date\")+a*r),s&&ue(e,U(e,\"Month\")+s*r),i&&t.updateOffset(e,a||s))}function Kt(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"}function Jt(e,n){var r=e||bt(),i=At(r,this).startOf(\"day\"),o=t.calendarFormat(this,i)||\"sameElse\",a=n&&(E(n[o])?n[o].call(this,r):n[o]);return this.format(a||this.localeData().calendar(o,this,bt(r)))}function $t(){return new v(this)}function Qt(e,t){var n=y(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&(t=N(o(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()>n.valueOf():n.valueOf()9999?Z(e,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):E(Date.prototype.toISOString)?this.toDate().toISOString():Z(e,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")}function cn(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var n=\"[\"+e+'(\"]',r=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",i=t+'[\")]';return this.format(n+r+\"-MM-DD[T]HH:mm:ss.SSS\"+i)}function dn(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var n=Z(this,e);return this.localeData().postformat(n)}function fn(e,t){return this.isValid()&&(y(e)&&e.isValid()||bt(e).isValid())?Vt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function hn(e){return this.from(bt(),e)}function pn(e,t){return this.isValid()&&(y(e)&&e.isValid()||bt(e).isValid())?Vt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function mn(e){return this.to(bt(),e)}function gn(e){var t;return void 0===e?this._locale._abbr:(t=tt(e),null!=t&&(this._locale=t),this)}function vn(){return this._locale}function yn(e){switch(e=N(e)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":case\"date\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===e&&this.weekday(0),\"isoWeek\"===e&&this.isoWeekday(1),\"quarter\"===e&&this.month(3*Math.floor(this.month()/3)),this}function bn(e){return void 0===(e=N(e))||\"millisecond\"===e?this:(\"date\"===e&&(e=\"day\"),this.startOf(e).add(1,\"isoWeek\"===e?\"week\":e).subtract(1,\"ms\"))}function xn(){return this._d.valueOf()-6e4*(this._offset||0)}function _n(){return Math.floor(this.valueOf()/1e3)}function wn(){return new Date(this.valueOf())}function Mn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Sn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function En(){return this.isValid()?this.toISOString():null}function Tn(){return p(this)}function kn(){return c({},h(this))}function On(){return h(this).overflow}function Pn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Cn(e,t){Y(0,[e,e.length],0,t)}function An(e){return Dn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Rn(e){return Dn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Ln(){return Me(this.year(),1,4)}function In(){var e=this.localeData()._week;return Me(this.year(),e.dow,e.doy)}function Dn(e,t,n,r,i){var o;return null==e?we(this,r,i).year:(o=Me(e,r,i),t>o&&(t=o),Nn.call(this,e,t,n,r,i))}function Nn(e,t,n,r,i){var o=_e(e,t,n,r,i),a=be(o.year,0,o.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function zn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Bn(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")}function Fn(e,t){t[ui]=x(1e3*(\"0.\"+e))}function jn(){return this._isUTC?\"UTC\":\"\"}function Un(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Wn(e){return bt(1e3*e)}function Gn(){return bt.apply(null,arguments).parseZone()}function Vn(e){return e}function Hn(e,t,n,r){var i=tt(),o=d().set(r,t);return i[n](o,e)}function Yn(e,t,n){if(a(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return Hn(e,t,n,\"month\");var r,i=[];for(r=0;r<12;r++)i[r]=Hn(e,r,n,\"month\");return i}function qn(e,t,n,r){\"boolean\"==typeof e?(a(t)&&(n=t,t=void 0),t=t||\"\"):(t=e,n=t,e=!1,a(t)&&(n=t,t=void 0),t=t||\"\");var i=tt(),o=e?i._week.dow:0;if(null!=n)return Hn(t,(n+o)%7,r,\"day\");var s,l=[];for(s=0;s<7;s++)l[s]=Hn(t,(s+o)%7,r,\"day\");return l}function Xn(e,t){return Yn(e,t,\"months\")}function Zn(e,t){return Yn(e,t,\"monthsShort\")}function Kn(e,t,n){return qn(e,t,n,\"weekdays\")}function Jn(e,t,n){return qn(e,t,n,\"weekdaysShort\")}function $n(e,t,n){return qn(e,t,n,\"weekdaysMin\")}function Qn(){var e=this._data;return this._milliseconds=no(this._milliseconds),this._days=no(this._days),this._months=no(this._months),e.milliseconds=no(e.milliseconds),e.seconds=no(e.seconds),e.minutes=no(e.minutes),e.hours=no(e.hours),e.months=no(e.months),e.years=no(e.years),this}function er(e,t,n,r){var i=Vt(t,n);return e._milliseconds+=r*i._milliseconds,e._days+=r*i._days,e._months+=r*i._months,e._bubble()}function tr(e,t){return er(this,e,t,1)}function nr(e,t){return er(this,e,t,-1)}function rr(e){return e<0?Math.floor(e):Math.ceil(e)}function ir(){var e,t,n,r,i,o=this._milliseconds,a=this._days,s=this._months,l=this._data;return o>=0&&a>=0&&s>=0||o<=0&&a<=0&&s<=0||(o+=864e5*rr(ar(s)+a),a=0,s=0),l.milliseconds=o%1e3,e=b(o/1e3),l.seconds=e%60,t=b(e/60),l.minutes=t%60,n=b(t/60),l.hours=n%24,a+=b(n/24),i=b(or(a)),s+=i,a-=rr(ar(i)),r=b(s/12),s%=12,l.days=a,l.months=s,l.years=r,this}function or(e){return 4800*e/146097}function ar(e){return 146097*e/4800}function sr(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(\"month\"===(e=N(e))||\"year\"===e)return t=this._days+r/864e5,n=this._months+or(t),\"month\"===e?n:n/12;switch(t=this._days+Math.round(ar(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}}function lr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*x(this._months/12):NaN}function ur(e){return function(){return this.as(e)}}function cr(e){return e=N(e),this.isValid()?this[e+\"s\"]():NaN}function dr(e){return function(){return this.isValid()?this._data[e]:NaN}}function fr(){return b(this.days()/7)}function hr(e,t,n,r,i){return i.relativeTime(t||1,!!n,e,r)}function pr(e,t,n){var r=Vt(e).abs(),i=bo(r.as(\"s\")),o=bo(r.as(\"m\")),a=bo(r.as(\"h\")),s=bo(r.as(\"d\")),l=bo(r.as(\"M\")),u=bo(r.as(\"y\")),c=i<=xo.ss&&[\"s\",i]||i0,c[4]=n,hr.apply(null,c)}function mr(e){return void 0===e?bo:\"function\"==typeof e&&(bo=e,!0)}function gr(e,t){return void 0!==xo[e]&&(void 0===t?xo[e]:(xo[e]=t,\"s\"===e&&(xo.ss=t-1),!0))}function vr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=pr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function yr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=_o(this._milliseconds)/1e3,i=_o(this._days),o=_o(this._months);e=b(r/60),t=b(e/60),r%=60,e%=60,n=b(o/12),o%=12;var a=n,s=o,l=i,u=t,c=e,d=r,f=this.asSeconds();return f?(f<0?\"-\":\"\")+\"P\"+(a?a+\"Y\":\"\")+(s?s+\"M\":\"\")+(l?l+\"D\":\"\")+(u||c||d?\"T\":\"\")+(u?u+\"H\":\"\")+(c?c+\"M\":\"\")+(d?d+\"S\":\"\"):\"P0D\"}var br,xr;xr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r68?1900:2e3)};var yi=j(\"FullYear\",!0);Y(\"w\",[\"ww\",2],\"wo\",\"week\"),Y(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),D(\"week\",\"w\"),D(\"isoWeek\",\"W\"),B(\"week\",5),B(\"isoWeek\",5),J(\"w\",Gr),J(\"ww\",Gr,Fr),J(\"W\",Gr),J(\"WW\",Gr,Fr),ne([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,n,r){t[r.substr(0,1)]=x(e)});var bi={dow:0,doy:6};Y(\"d\",0,\"do\",\"day\"),Y(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),Y(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),Y(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),Y(\"e\",0,0,\"weekday\"),Y(\"E\",0,0,\"isoWeekday\"),D(\"day\",\"d\"),D(\"weekday\",\"e\"),D(\"isoWeekday\",\"E\"),B(\"day\",11),B(\"weekday\",11),B(\"isoWeekday\",11),J(\"d\",Gr),J(\"e\",Gr),J(\"E\",Gr),J(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),J(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),J(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),ne([\"dd\",\"ddd\",\"dddd\"],function(e,t,n,r){var i=n._locale.weekdaysParse(e,r,n._strict);null!=i?t.d=i:h(n).invalidWeekday=e}),ne([\"d\",\"e\",\"E\"],function(e,t,n,r){t[r]=x(e)});var xi=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),_i=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),wi=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Mi=ei,Si=ei,Ei=ei;Y(\"H\",[\"HH\",2],0,\"hour\"),Y(\"h\",[\"hh\",2],0,Ge),Y(\"k\",[\"kk\",2],0,Ve),Y(\"hmm\",0,0,function(){return\"\"+Ge.apply(this)+H(this.minutes(),2)}),Y(\"hmmss\",0,0,function(){return\"\"+Ge.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),Y(\"Hmm\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)}),Y(\"Hmmss\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),He(\"a\",!0),He(\"A\",!1),D(\"hour\",\"h\"),B(\"hour\",13),J(\"a\",Ye),J(\"A\",Ye),J(\"H\",Gr),J(\"h\",Gr),J(\"k\",Gr),J(\"HH\",Gr,Fr),J(\"hh\",Gr,Fr),J(\"kk\",Gr,Fr),J(\"hmm\",Vr),J(\"hmmss\",Hr),J(\"Hmm\",Vr),J(\"Hmmss\",Hr),te([\"H\",\"HH\"],ai),te([\"k\",\"kk\"],function(e,t,n){var r=x(e);t[ai]=24===r?0:r}),te([\"a\",\"A\"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),te([\"h\",\"hh\"],function(e,t,n){t[ai]=x(e),h(n).bigHour=!0}),te(\"hmm\",function(e,t,n){var r=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r)),h(n).bigHour=!0}),te(\"hmmss\",function(e,t,n){var r=e.length-4,i=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r,2)),t[li]=x(e.substr(i)),h(n).bigHour=!0}),te(\"Hmm\",function(e,t,n){var r=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r))}),te(\"Hmmss\",function(e,t,n){var r=e.length-4,i=e.length-2;t[ai]=x(e.substr(0,r)),t[si]=x(e.substr(r,2)),t[li]=x(e.substr(i))});var Ti,ki=/[ap]\\.?m?\\.?/i,Oi=j(\"Hours\",!0),Pi={calendar:Or,longDateFormat:Pr,invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:Cr,relativeTime:Ar,months:pi,monthsShort:mi,week:bi,weekdays:xi,weekdaysMin:wi,weekdaysShort:_i,meridiemParse:ki},Ci={},Ai={},Ri=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Li=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Ii=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Di=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Ni=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],zi=/^\\/?Date\\((\\-?\\d+)/i,Bi=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d?\\d\\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(?:\\d\\d)?\\d\\d\\s)(\\d\\d:\\d\\d)(\\:\\d\\d)?(\\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\\d{4}))$/;t.createFromInputFallback=M(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var Fi=M(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:m()}),Ui=function(){return Date.now?Date.now():+new Date},Wi=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];Pt(\"Z\",\":\"),Pt(\"ZZ\",\"\"),J(\"Z\",$r),J(\"ZZ\",$r),te([\"Z\",\"ZZ\"],function(e,t,n){n._useUTC=!0,n._tzm=Ct($r,e)});var Gi=/([\\+\\-]|\\d\\d)/gi;t.updateOffset=function(){};var Vi=/^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,Hi=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Vt.fn=Tt.prototype,Vt.invalid=Et;var Yi=Xt(1,\"add\"),qi=Xt(-1,\"subtract\");t.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",t.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var Xi=M(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});Y(0,[\"gg\",2],0,function(){return this.weekYear()%100}),Y(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),Cn(\"gggg\",\"weekYear\"),Cn(\"ggggg\",\"weekYear\"),Cn(\"GGGG\",\"isoWeekYear\"),Cn(\"GGGGG\",\"isoWeekYear\"),D(\"weekYear\",\"gg\"),D(\"isoWeekYear\",\"GG\"),B(\"weekYear\",1),B(\"isoWeekYear\",1),J(\"G\",Kr),J(\"g\",Kr),J(\"GG\",Gr,Fr),J(\"gg\",Gr,Fr),J(\"GGGG\",qr,Ur),J(\"gggg\",qr,Ur),J(\"GGGGG\",Xr,Wr),J(\"ggggg\",Xr,Wr),ne([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,n,r){t[r.substr(0,2)]=x(e)}),ne([\"gg\",\"GG\"],function(e,n,r,i){n[i]=t.parseTwoDigitYear(e)}),Y(\"Q\",0,\"Qo\",\"quarter\"),D(\"quarter\",\"Q\"),B(\"quarter\",7),J(\"Q\",Br),te(\"Q\",function(e,t){t[ii]=3*(x(e)-1)}),Y(\"D\",[\"DD\",2],\"Do\",\"date\"),D(\"date\",\"D\"),B(\"date\",9),J(\"D\",Gr),J(\"DD\",Gr,Fr),J(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),te([\"D\",\"DD\"],oi),te(\"Do\",function(e,t){t[oi]=x(e.match(Gr)[0],10)});var Zi=j(\"Date\",!0);Y(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),D(\"dayOfYear\",\"DDD\"),B(\"dayOfYear\",4),J(\"DDD\",Yr),J(\"DDDD\",jr),te([\"DDD\",\"DDDD\"],function(e,t,n){n._dayOfYear=x(e)}),Y(\"m\",[\"mm\",2],0,\"minute\"),D(\"minute\",\"m\"),B(\"minute\",14),J(\"m\",Gr),J(\"mm\",Gr,Fr),te([\"m\",\"mm\"],si);var Ki=j(\"Minutes\",!1);Y(\"s\",[\"ss\",2],0,\"second\"),D(\"second\",\"s\"),B(\"second\",15),J(\"s\",Gr),J(\"ss\",Gr,Fr),te([\"s\",\"ss\"],li);var Ji=j(\"Seconds\",!1);Y(\"S\",0,0,function(){return~~(this.millisecond()/100)}),Y(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),Y(0,[\"SSS\",3],0,\"millisecond\"),Y(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),Y(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),Y(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),Y(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),Y(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),Y(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),D(\"millisecond\",\"ms\"),B(\"millisecond\",16),J(\"S\",Yr,Br),J(\"SS\",Yr,Fr),J(\"SSS\",Yr,jr);var $i;for($i=\"SSSS\";$i.length<=9;$i+=\"S\")J($i,Zr);for($i=\"S\";$i.length<=9;$i+=\"S\")te($i,Fn);var Qi=j(\"Milliseconds\",!1);Y(\"z\",0,0,\"zoneAbbr\"),Y(\"zz\",0,0,\"zoneName\");var eo=v.prototype;eo.add=Yi,eo.calendar=Jt,eo.clone=$t,eo.diff=an,eo.endOf=bn,eo.format=dn,eo.from=fn,eo.fromNow=hn,eo.to=pn,eo.toNow=mn,eo.get=G,eo.invalidAt=On,eo.isAfter=Qt,eo.isBefore=en,eo.isBetween=tn,eo.isSame=nn,eo.isSameOrAfter=rn,eo.isSameOrBefore=on,eo.isValid=Tn,eo.lang=Xi,eo.locale=gn,eo.localeData=vn,eo.max=ji,eo.min=Fi,eo.parsingFlags=kn,eo.set=V,eo.startOf=yn,eo.subtract=qi,eo.toArray=Mn,eo.toObject=Sn,eo.toDate=wn,eo.toISOString=un,eo.inspect=cn,eo.toJSON=En,eo.toString=ln,eo.unix=_n,eo.valueOf=xn,eo.creationData=Pn,eo.year=yi,eo.isLeapYear=ve,eo.weekYear=An,eo.isoWeekYear=Rn,eo.quarter=eo.quarters=zn,eo.month=ce,eo.daysInMonth=de,eo.week=eo.weeks=ke,eo.isoWeek=eo.isoWeeks=Oe,eo.weeksInYear=In,eo.isoWeeksInYear=Ln,eo.date=Zi,eo.day=eo.days=Ne,eo.weekday=ze,eo.isoWeekday=Be,eo.dayOfYear=Bn,eo.hour=eo.hours=Oi,eo.minute=eo.minutes=Ki,eo.second=eo.seconds=Ji,eo.millisecond=eo.milliseconds=Qi,eo.utcOffset=Lt,eo.utc=Dt,eo.local=Nt,eo.parseZone=zt,eo.hasAlignedHourOffset=Bt,eo.isDST=Ft,eo.isLocal=Ut,eo.isUtcOffset=Wt,eo.isUtc=Gt,eo.isUTC=Gt,eo.zoneAbbr=jn,eo.zoneName=Un,eo.dates=M(\"dates accessor is deprecated. Use date instead.\",Zi),eo.months=M(\"months accessor is deprecated. Use month instead\",ce),eo.years=M(\"years accessor is deprecated. Use year instead\",yi),eo.zone=M(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",It),eo.isDSTShifted=M(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",jt);var to=O.prototype;to.calendar=P,to.longDateFormat=C,to.invalidDate=A,to.ordinal=R,to.preparse=Vn,to.postformat=Vn,to.relativeTime=L,to.pastFuture=I,to.set=T,to.months=oe,to.monthsShort=ae,to.monthsParse=le,to.monthsRegex=he,to.monthsShortRegex=fe,to.week=Se,to.firstDayOfYear=Te,to.firstDayOfWeek=Ee,to.weekdays=Ae,to.weekdaysMin=Le,to.weekdaysShort=Re,to.weekdaysParse=De,to.weekdaysRegex=Fe,to.weekdaysShortRegex=je,to.weekdaysMinRegex=Ue,to.isPM=qe,to.meridiem=Xe,$e(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===x(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\")}}),t.lang=M(\"moment.lang is deprecated. Use moment.locale instead.\",$e),t.langData=M(\"moment.langData is deprecated. Use moment.localeData instead.\",tt);var no=Math.abs,ro=ur(\"ms\"),io=ur(\"s\"),oo=ur(\"m\"),ao=ur(\"h\"),so=ur(\"d\"),lo=ur(\"w\"),uo=ur(\"M\"),co=ur(\"y\"),fo=dr(\"milliseconds\"),ho=dr(\"seconds\"),po=dr(\"minutes\"),mo=dr(\"hours\"),go=dr(\"days\"),vo=dr(\"months\"),yo=dr(\"years\"),bo=Math.round,xo={ss:44,s:45,m:45,h:22,d:26,M:11},_o=Math.abs,wo=Tt.prototype;return wo.isValid=St,wo.abs=Qn,wo.add=tr,wo.subtract=nr,wo.as=sr,wo.asMilliseconds=ro,wo.asSeconds=io,wo.asMinutes=oo,wo.asHours=ao,wo.asDays=so,wo.asWeeks=lo,wo.asMonths=uo,wo.asYears=co,wo.valueOf=lr,wo._bubble=ir,wo.get=cr,wo.milliseconds=fo,wo.seconds=ho,wo.minutes=po,wo.hours=mo,wo.days=go,wo.weeks=fr,wo.months=vo,wo.years=yo,wo.humanize=vr,wo.toISOString=yr,wo.toString=yr,wo.toJSON=yr,wo.locale=gn,wo.localeData=vn,wo.toIsoString=M(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",yr),wo.lang=Xi,Y(\"X\",0,0,\"unix\"),Y(\"x\",0,0,\"valueOf\"),J(\"x\",Kr),J(\"X\",Qr),te(\"X\",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),te(\"x\",function(e,t,n){n._d=new Date(x(e))}),t.version=\"2.18.1\",function(e){br=e}(bt),t.fn=eo,t.min=_t,t.max=wt,t.now=Ui,t.utc=d,t.unix=Wn,t.months=Xn,t.isDate=s,t.locale=$e,t.invalid=m,t.duration=Vt,t.isMoment=y,t.weekdays=Kn,t.parseZone=Gn,t.localeData=tt,t.isDuration=kt,t.monthsShort=Zn,t.weekdaysMin=$n,t.defineLocale=Qe,t.updateLocale=et,t.locales=nt,t.weekdaysShort=Jn,t.normalizeUnits=N,t.relativeTimeRounding=mr,t.relativeTimeThreshold=gr,t.calendarFormat=Kt,t.prototype=eo,t})}).call(t,n(101)(e))},function(e,t,n){var r=n(357),i=n(360),o=n(359),a=n(361),s=n(358),l=[0,0];e.exports.computeMiter=function(e,t,n,a,u){return r(e,n,a),o(e,e),i(t,-e[1],e[0]),i(l,-n[1],n[0]),u/s(t,l)},e.exports.normal=function(e,t){return i(e,-t[1],t[0]),e},e.exports.direction=function(e,t,n){return a(e,t,n),o(e,e),e}},function(e,t,n){function r(e,t,n){e.push([[t[0],t[1]],n])}var i=n(393),o=[0,0],a=[0,0],s=[0,0],l=[0,0];e.exports=function(e,t){var n=null,u=[];t&&(e=e.slice(),e.push(e[0]));for(var c=e.length,d=1;d2&&t){var g=e[c-2],v=e[0],y=e[1];i.direction(o,v,g),i.direction(a,y,v),i.normal(n,o);var b=i.computeMiter(s,l,o,a,1);u[0][0]=l.slice(),u[c-1][0]=l.slice(),u[0][1]=b,u[c-1][1]=b,u.pop()}return u}},function(e,t,n){\"use strict\";var r=n(66),i=n(353),o=n(396);e.exports=function(){function e(e,t,n,r,a,s){s!==o&&i(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},function(e,t,n){\"use strict\";function r(e,t,n){return\"function\"==typeof t?(n=t,t=new o.Root):t||(t=new o.Root),t.load(e,n)}function i(e,t){return t||(t=new o.Root),t.loadSync(e)}var o=e.exports=n(398);o.build=\"light\",o.load=r,o.loadSync=i,o.encoder=n(139),o.decoder=n(138),o.verifier=n(147),o.converter=n(137),o.ReflectionObject=n(43),o.Namespace=n(55),o.Root=n(142),o.Enum=n(27),o.Type=n(146),o.Field=n(42),o.OneOf=n(96),o.MapField=n(140),o.Service=n(145),o.Method=n(141),o.Message=n(95),o.wrappers=n(148),o.types=n(56),o.util=n(13),o.ReflectionObject._configure(o.Root),o.Namespace._configure(o.Type,o.Service),o.Root._configure(o.Type),o.Field._configure(o.Type)},function(e,t,n){\"use strict\";function r(){i.Reader._configure(i.BufferReader),i.util._configure()}var i=t;i.build=\"minimal\",i.Writer=n(98),i.BufferWriter=n(402),i.Reader=n(97),i.BufferReader=n(399),i.util=n(30),i.rpc=n(144),i.roots=n(143),i.configure=r,i.Writer._configure(i.BufferWriter),r()},function(e,t,n){\"use strict\";function r(e){i.call(this,e)}e.exports=r;var i=n(97);(r.prototype=Object.create(i.prototype)).constructor=r;var o=n(30);o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice),r.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len))}},function(e,t,n){\"use strict\";function r(e,t,n){if(\"function\"!=typeof e)throw TypeError(\"rpcImpl must be a function\");i.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}e.exports=r;var i=n(30);(r.prototype=Object.create(i.EventEmitter.prototype)).constructor=r,r.prototype.rpcCall=function e(t,n,r,o,a){if(!o)throw TypeError(\"request must be specified\");var s=this;if(!a)return i.asPromise(e,s,t,n,r,o);if(!s.rpcImpl)return void setTimeout(function(){a(Error(\"already ended\"))},0);try{return s.rpcImpl(t,n[s.requestDelimited?\"encodeDelimited\":\"encode\"](o).finish(),function(e,n){if(e)return s.emit(\"error\",e,t),a(e);if(null===n)return void s.end(!0);if(!(n instanceof r))try{n=r[s.responseDelimited?\"decodeDelimited\":\"decode\"](n)}catch(e){return s.emit(\"error\",e,t),a(e)}return s.emit(\"data\",n,t),a(null,n)})}catch(e){return s.emit(\"error\",e,t),void setTimeout(function(){a(e)},0)}},r.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit(\"end\").off()),this}},function(e,t,n){\"use strict\";function r(e,t){this.lo=e>>>0,this.hi=t>>>0}e.exports=r;var i=n(30),o=r.zero=new r(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var a=r.zeroHash=\"\\0\\0\\0\\0\\0\\0\\0\\0\";r.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)},r.from=function(e){if(\"number\"==typeof e)return r.fromNumber(e);if(i.isString(e)){if(!i.Long)return r.fromNumber(parseInt(e,10));e=i.Long.fromString(e)}return e.low||e.high?new r(e.low>>>0,e.high>>>0):o},r.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},r.prototype.toLong=function(e){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var s=String.prototype.charCodeAt;r.fromHash=function(e){return e===a?o:new r((s.call(e,0)|s.call(e,1)<<8|s.call(e,2)<<16|s.call(e,3)<<24)>>>0,(s.call(e,4)|s.call(e,5)<<8|s.call(e,6)<<16|s.call(e,7)<<24)>>>0)},r.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},r.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},r.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},r.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},function(e,t,n){\"use strict\";function r(){o.call(this)}function i(e,t,n){e.length<40?a.utf8.write(e,t,n):t.utf8Write(e,n)}e.exports=r;var o=n(98);(r.prototype=Object.create(o.prototype)).constructor=r;var a=n(30),s=a.Buffer;r.alloc=function(e){return(r.alloc=a._Buffer_allocUnsafe)(e)};var l=s&&s.prototype instanceof Uint8Array&&\"set\"===s.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r>>0;return this.uint32(t),t&&this._push(l,t,e),this},r.prototype.string=function(e){var t=s.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this}},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;rthis.eventPool.length&&this.eventPool.push(e)}function W(e){e.eventPool=[],e.getPooled=j,e.release=U}function G(e,t,n,r){return F.call(this,e,t,n,r)}function V(e,t,n,r){return F.call(this,e,t,n,r)}function H(e,t){switch(e){case\"topKeyUp\":return-1!==hr.indexOf(t.keyCode);case\"topKeyDown\":return 229!==t.keyCode;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function Y(e){return e=e.detail,\"object\"==typeof e&&\"data\"in e?e.data:null}function q(e,t){switch(e){case\"topCompositionEnd\":return Y(t);case\"topKeyPress\":return 32!==t.which?null:(Mr=!0,_r);case\"topTextInput\":return e=t.data,e===_r&&Mr?null:e;default:return null}}function X(e,t){if(Sr)return\"topCompositionEnd\"===e||!pr&&H(e,t)?(e=z(),cr._root=null,cr._startText=null,cr._fallbackText=null,Sr=!1,e):null;switch(e){case\"topPaste\":return null;case\"topKeyPress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1Wr.length&&Wr.push(e)}}}function Le(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}function Ie(e){if(qr[e])return qr[e];if(!Yr[e])return e;var t,n=Yr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Xr)return qr[e]=n[t];return\"\"}function De(e){return Object.prototype.hasOwnProperty.call(e,$r)||(e[$r]=Jr++,Kr[e[$r]]={}),Kr[e[$r]]}function Ne(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ze(e,t){var n=Ne(e);e=0;for(var r;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ne(n)}}function Be(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&\"text\"===e.type||\"textarea\"===t||\"true\"===e.contentEditable)}function Fe(e,t){if(ii||null==ti||ti!==Sn())return null;var n=ti;return\"selectionStart\"in n&&Be(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?(n=window.getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}):n=void 0,ri&&En(ri,n)?null:(ri=n,e=F.getPooled(ei.select,ni,e,t),e.type=\"select\",e.target=ti,I(e),e)}function je(e,t,n,r){return F.call(this,e,t,n,r)}function Ue(e,t,n,r){return F.call(this,e,t,n,r)}function We(e,t,n,r){return F.call(this,e,t,n,r)}function Ge(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,32<=e||13===e?e:0}function Ve(e,t,n,r){return F.call(this,e,t,n,r)}function He(e,t,n,r){return F.call(this,e,t,n,r)}function Ye(e,t,n,r){return F.call(this,e,t,n,r)}function qe(e,t,n,r){return F.call(this,e,t,n,r)}function Xe(e,t,n,r){return F.call(this,e,t,n,r)}function Ze(e){0>fi||(e.current=di[fi],di[fi]=null,fi--)}function Ke(e,t){fi++,di[fi]=e.current,e.current=t}function Je(e){return Qe(e)?mi:hi.current}function $e(e,t){var n=e.type.contextTypes;if(!n)return On;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Qe(e){return 2===e.tag&&null!=e.type.childContextTypes}function et(e){Qe(e)&&(Ze(pi,e),Ze(hi,e))}function tt(e,t,n){null!=hi.cursor&&r(\"168\"),Ke(hi,t,e),Ke(pi,n,e)}function nt(e,t){var n=e.stateNode,i=e.type.childContextTypes;if(\"function\"!=typeof n.getChildContext)return t;n=n.getChildContext();for(var o in n)o in i||r(\"108\",_e(e)||\"Unknown\",o);return _n({},t,n)}function rt(e){if(!Qe(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||On,mi=hi.current,Ke(hi,t,e),Ke(pi,pi.current,e),!0}function it(e,t){var n=e.stateNode;if(n||r(\"169\"),t){var i=nt(e,mi);n.__reactInternalMemoizedMergedChildContext=i,Ze(pi,e),Ze(hi,e),Ke(hi,i,e)}else Ze(pi,e);Ke(pi,t,e)}function ot(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function at(e,t,n){var r=e.alternate;return null===r?(r=new ot(e.tag,e.key,e.internalContextTag),r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.effectTag=0,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null),r.expirationTime=n,r.pendingProps=t,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function st(e,t,n){var i=void 0,o=e.type,a=e.key;return\"function\"==typeof o?(i=o.prototype&&o.prototype.isReactComponent?new ot(2,a,t):new ot(0,a,t),i.type=o,i.pendingProps=e.props):\"string\"==typeof o?(i=new ot(5,a,t),i.type=o,i.pendingProps=e.props):\"object\"==typeof o&&null!==o&&\"number\"==typeof o.tag?(i=o,i.pendingProps=e.props):r(\"130\",null==o?o:typeof o,\"\"),i.expirationTime=n,i}function lt(e,t,n,r){return t=new ot(10,r,t),t.pendingProps=e,t.expirationTime=n,t}function ut(e,t,n){return t=new ot(6,null,t),t.pendingProps=e,t.expirationTime=n,t}function ct(e,t,n){return t=new ot(7,e.key,t),t.type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function dt(e,t,n){return e=new ot(9,null,t),e.expirationTime=n,e}function ft(e,t,n){return t=new ot(4,e.key,t),t.pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ht(e){return function(t){try{return e(t)}catch(e){}}}function pt(e){if(\"undefined\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);gi=ht(function(e){return t.onCommitFiberRoot(n,e)}),vi=ht(function(e){return t.onCommitFiberUnmount(n,e)})}catch(e){}return!0}function mt(e){\"function\"==typeof gi&&gi(e)}function gt(e){\"function\"==typeof vi&&vi(e)}function vt(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function yt(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function bt(e,t){var n=e.alternate,r=e.updateQueue;null===r&&(r=e.updateQueue=vt(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=vt(null)):e=null,e=e!==r?e:null,null===e?yt(r,t):null===r.last||null===e.last?(yt(r,t),yt(e,t)):(yt(r,t),e.last=t)}function xt(e,t,n,r){return e=e.partialState,\"function\"==typeof e?e.call(t,n,r):e}function _t(e,t,n,r,i,o){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var a=!0,s=n.first,l=!1;null!==s;){var u=s.expirationTime;if(u>o){var c=n.expirationTime;(0===c||c>u)&&(n.expirationTime=u),l||(l=!0,n.baseState=e)}else l||(n.first=s.next,null===n.first&&(n.last=null)),s.isReplace?(e=xt(s,r,e,i),a=!0):(u=xt(s,r,e,i))&&(e=a?_n({},e,u):_n(e,u),a=!1),s.isForced&&(n.hasForceUpdate=!0),null!==s.callback&&(u=n.callbackList,null===u&&(u=n.callbackList=[]),u.push(s));s=s.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),l||(n.baseState=e),e}function wt(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;ef?(h=d,d=null):h=d.sibling;var v=m(r,d,s[f],l);if(null===v){null===d&&(d=h);break}e&&d&&null===v.alternate&&t(r,d),o=a(v,o,f),null===c?u=v:c.sibling=v,c=v,d=h}if(f===s.length)return n(r,d),u;if(null===d){for(;fh?(v=f,f=null):v=f.sibling;var b=m(o,f,y.value,u);if(null===b){f||(f=v);break}e&&f&&null===b.alternate&&t(o,f),s=a(b,s,h),null===d?c=b:d.sibling=b,d=b,f=v}if(y.done)return n(o,f),c;if(null===f){for(;!y.done;h++,y=l.next())null!==(y=p(o,y.value,u))&&(s=a(y,s,h),null===d?c=y:d.sibling=y,d=y);return c}for(f=i(o,f);!y.done;h++,y=l.next())null!==(y=g(f,o,h,y.value,u))&&(e&&null!==y.alternate&&f.delete(null===y.key?h:y.key),s=a(y,s,h),null===d?c=y:d.sibling=y,d=y);return e&&f.forEach(function(e){return t(o,e)}),c}return function(e,i,a,l){\"object\"==typeof a&&null!==a&&a.type===Mi&&null===a.key&&(a=a.props.children);var u=\"object\"==typeof a&&null!==a;if(u)switch(a.$$typeof){case bi:e:{var c=a.key;for(u=i;null!==u;){if(u.key===c){if(10===u.tag?a.type===Mi:u.type===a.type){n(e,u.sibling),i=o(u,a.type===Mi?a.props.children:a.props,l),i.ref=Et(u,a),i.return=e,e=i;break e}n(e,u);break}t(e,u),u=u.sibling}a.type===Mi?(i=lt(a.props.children,e.internalContextTag,l,a.key),i.return=e,e=i):(l=st(a,e.internalContextTag,l),l.ref=Et(i,a),l.return=e,e=l)}return s(e);case xi:e:{for(u=a.key;null!==i;){if(i.key===u){if(7===i.tag){n(e,i.sibling),i=o(i,a,l),i.return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}i=ct(a,e.internalContextTag,l),i.return=e,e=i}return s(e);case _i:e:{if(null!==i){if(9===i.tag){n(e,i.sibling),i=o(i,null,l),i.type=a.value,i.return=e,e=i;break e}n(e,i)}i=dt(a,e.internalContextTag,l),i.type=a.value,i.return=e,e=i}return s(e);case wi:e:{for(u=a.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===a.containerInfo&&i.stateNode.implementation===a.implementation){n(e,i.sibling),i=o(i,a.children||[],l),i.return=e,e=i;break e}n(e,i);break}t(e,i),i=i.sibling}i=ft(a,e.internalContextTag,l),i.return=e,e=i}return s(e)}if(\"string\"==typeof a||\"number\"==typeof a)return a=\"\"+a,null!==i&&6===i.tag?(n(e,i.sibling),i=o(i,a,l)):(n(e,i),i=ut(a,e.internalContextTag,l)),i.return=e,e=i,s(e);if(Ei(a))return v(e,i,a,l);if(St(a))return y(e,i,a,l);if(u&&Tt(e,a),void 0===a)switch(e.tag){case 2:case 1:l=e.type,r(\"152\",l.displayName||l.name||\"Component\")}return n(e,i)}}function Ot(e,t,n,i,o){function a(e,t,n){var r=t.expirationTime;t.child=null===e?ki(t,null,n,r):Ti(t,e.child,n,r)}function s(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function l(e,t,n,r){if(s(e,t),!n)return r&&it(t,!1),c(e,t);n=t.stateNode,Ur.current=t;var i=n.render();return t.effectTag|=1,a(e,t,i),t.memoizedState=n.state,t.memoizedProps=n.props,r&&it(t,!0),t.child}function u(e){var t=e.stateNode;t.pendingContext?tt(e,t.pendingContext,t.pendingContext!==t.context):t.context&&tt(e,t.context,!1),g(e,t.containerInfo)}function c(e,t){if(null!==e&&t.child!==e.child&&r(\"153\"),null!==t.child){e=t.child;var n=at(e,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,n=n.sibling=at(e,e.pendingProps,e.expirationTime),n.return=t;n.sibling=null}return t.child}function d(e,t){switch(t.tag){case 3:u(t);break;case 2:rt(t);break;case 4:g(t,t.stateNode.containerInfo)}return null}var f=e.shouldSetTextContent,h=e.useSyncScheduling,p=e.shouldDeprioritizeSubtree,m=t.pushHostContext,g=t.pushHostContainer,v=n.enterHydrationState,y=n.resetHydrationState,b=n.tryToClaimNextHydratableInstance;e=Mt(i,o,function(e,t){e.memoizedProps=t},function(e,t){e.memoizedState=t});var x=e.adoptClassInstance,_=e.constructClassInstance,w=e.mountClassInstance,M=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return d(e,t);switch(t.tag){case 0:null!==e&&r(\"155\");var i=t.type,o=t.pendingProps,S=Je(t);return S=$e(t,S),i=i(o,S),t.effectTag|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render?(t.tag=2,o=rt(t),x(t,i),w(t,n),t=l(e,t,!0,o)):(t.tag=1,a(e,t,i),t.memoizedProps=o,t=t.child),t;case 1:e:{if(o=t.type,n=t.pendingProps,i=t.memoizedProps,pi.current)null===n&&(n=i);else if(null===n||i===n){t=c(e,t);break e}i=Je(t),i=$e(t,i),o=o(n,i),t.effectTag|=1,a(e,t,o),t.memoizedProps=n,t=t.child}return t;case 2:return o=rt(t),i=void 0,null===e?t.stateNode?r(\"153\"):(_(t,t.pendingProps),w(t,n),i=!0):i=M(e,t,n),l(e,t,i,o);case 3:return u(t),o=t.updateQueue,null!==o?(i=t.memoizedState,o=_t(e,t,o,null,null,n),i===o?(y(),t=c(e,t)):(i=o.element,S=t.stateNode,(null===e||null===e.child)&&S.hydrate&&v(t)?(t.effectTag|=2,t.child=ki(t,null,i,n)):(y(),a(e,t,i)),t.memoizedState=o,t=t.child)):(y(),t=c(e,t)),t;case 5:m(t),null===e&&b(t),o=t.type;var E=t.memoizedProps;return i=t.pendingProps,null===i&&null===(i=E)&&r(\"154\"),S=null!==e?e.memoizedProps:null,pi.current||null!==i&&E!==i?(E=i.children,f(o,i)?E=null:S&&f(o,S)&&(t.effectTag|=16),s(e,t),2147483647!==n&&!h&&p(o,i)?(t.expirationTime=2147483647,t=null):(a(e,t,E),t.memoizedProps=i,t=t.child)):t=c(e,t),t;case 6:return null===e&&b(t),e=t.pendingProps,null===e&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return o=t.pendingProps,pi.current?null===o&&null===(o=e&&e.memoizedProps)&&r(\"154\"):null!==o&&t.memoizedProps!==o||(o=t.memoizedProps),i=o.children,t.stateNode=null===e?ki(t,t.stateNode,i,n):Ti(t,t.stateNode,i,n),t.memoizedProps=o,t.stateNode;case 9:return null;case 4:e:{if(g(t,t.stateNode.containerInfo),o=t.pendingProps,pi.current)null===o&&null==(o=e&&e.memoizedProps)&&r(\"154\");else if(null===o||t.memoizedProps===o){t=c(e,t);break e}null===e?t.child=Ti(t,null,o,n):a(e,t,o),t.memoizedProps=o,t=t.child}return t;case 10:e:{if(n=t.pendingProps,pi.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=c(e,t);break e}a(e,t,n),t.memoizedProps=n,t=t.child}return t;default:r(\"156\")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:rt(t);break;case 3:u(t);break;default:r(\"157\")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?d(e,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?ki(t,null,null,n):Ti(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}function Pt(e,t,n){function i(e){e.effectTag|=4}var o=e.createInstance,a=e.createTextInstance,s=e.appendInitialChild,l=e.finalizeInitialChildren,u=e.prepareUpdate,c=e.persistence,d=t.getRootHostContainer,f=t.popHostContext,h=t.getHostContext,p=t.popHostContainer,m=n.prepareToHydrateHostInstance,g=n.prepareToHydrateHostTextInstance,v=n.popHydrationState,y=void 0,b=void 0,x=void 0;return e.mutation?(y=function(){},b=function(e,t,n){(t.updateQueue=n)&&i(t)},x=function(e,t,n,r){n!==r&&i(t)}):r(c?\"235\":\"236\"),{completeWork:function(e,t,n){var c=t.pendingProps;switch(null===c?c=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return et(t),null;case 3:return p(t),Ze(pi,t),Ze(hi,t),c=t.stateNode,c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),null!==e&&null!==e.child||(v(t),t.effectTag&=-3),y(t),null;case 5:f(t),n=d();var _=t.type;if(null!==e&&null!=t.stateNode){var w=e.memoizedProps,M=t.stateNode,S=h();M=u(M,_,w,c,n,S),b(e,t,M,_,w,c,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!c)return null===t.stateNode&&r(\"166\"),null;if(e=h(),v(t))m(t,n,e)&&i(t);else{e=o(_,c,n,e,t);e:for(w=t.child;null!==w;){if(5===w.tag||6===w.tag)s(e,w.stateNode);else if(4!==w.tag&&null!==w.child){w.child.return=w,w=w.child;continue}if(w===t)break;for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}l(e,_,c,n)&&i(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)x(e,t,e.memoizedProps,c);else{if(\"string\"!=typeof c)return null===t.stateNode&&r(\"166\"),null;e=d(),n=h(),v(t)?g(t)&&i(t):t.stateNode=a(c,e,n,t)}return null;case 7:(c=t.memoizedProps)||r(\"165\"),t.tag=8,_=[];e:for((w=t.stateNode)&&(w.return=t);null!==w;){if(5===w.tag||6===w.tag||4===w.tag)r(\"247\");else if(9===w.tag)_.push(w.type);else if(null!==w.child){w.child.return=w,w=w.child;continue}for(;null===w.sibling;){if(null===w.return||w.return===t)break e;w=w.return}w.sibling.return=w.return,w=w.sibling}return w=c.handler,c=w(c.props,_),t.child=Ti(t,null!==e?e.child:null,c,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return p(t),y(t),null;case 0:r(\"167\");default:r(\"156\")}}}}function Ct(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function i(e){switch(\"function\"==typeof gt&>(e),e.tag){case 2:n(e);var r=e.stateNode;if(\"function\"==typeof r.componentWillUnmount)try{r.props=e.memoizedProps,r.state=e.memoizedState,r.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:o(e.stateNode);break;case 4:u&&s(e)}}function o(e){for(var t=e;;)if(i(t),null===t.child||u&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function a(e){return 5===e.tag||3===e.tag||4===e.tag}function s(e){for(var t=e,n=!1,a=void 0,s=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&r(\"160\"),n.tag){case 5:a=n.stateNode,s=!1;break e;case 3:case 4:a=n.stateNode.containerInfo,s=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)o(t),s?b(a,t.stateNode):y(a,t.stateNode);else if(4===t.tag?a=t.stateNode.containerInfo:i(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return,4===t.tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var l=e.getPublicInstance,u=e.mutation;e=e.persistence,u||r(e?\"235\":\"236\");var c=u.commitMount,d=u.commitUpdate,f=u.resetTextContent,h=u.commitTextUpdate,p=u.appendChild,m=u.appendChildToContainer,g=u.insertBefore,v=u.insertInContainerBefore,y=u.removeChild,b=u.removeChildFromContainer;return{commitResetTextContent:function(e){f(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(a(t)){var n=t;break e}t=t.return}r(\"160\"),n=void 0}var i=t=void 0;switch(n.tag){case 5:t=n.stateNode,i=!1;break;case 3:case 4:t=n.stateNode.containerInfo,i=!0;break;default:r(\"161\")}16&n.effectTag&&(f(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||a(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var o=e;;){if(5===o.tag||6===o.tag)n?i?v(t,o.stateNode,n):g(t,o.stateNode,n):i?m(t,o.stateNode):p(t,o.stateNode);else if(4!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===e)break;for(;null===o.sibling;){if(null===o.return||o.return===e)return;o=o.return}o.sibling.return=o.return,o=o.sibling}},commitDeletion:function(e){s(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var i=t.memoizedProps;e=null!==e?e.memoizedProps:i;var o=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&d(n,a,o,e,i,t)}break;case 6:null===t.stateNode&&r(\"162\"),n=t.memoizedProps,h(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:r(\"163\")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var i=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(i,e)}t=t.updateQueue,null!==t&&wt(t,n);break;case 3:n=t.updateQueue,null!==n&&wt(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&c(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:r(\"163\")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(l(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}function At(e){function t(e){return e===Oi&&r(\"174\"),e}var n=e.getChildHostContext,i=e.getRootHostContext,o={current:Oi},a={current:Oi},s={current:Oi};return{getHostContext:function(){return t(o.current)},getRootHostContainer:function(){return t(s.current)},popHostContainer:function(e){Ze(o,e),Ze(a,e),Ze(s,e)},popHostContext:function(e){a.current===e&&(Ze(o,e),Ze(a,e))},pushHostContainer:function(e,t){Ke(s,t,e),t=i(t),Ke(a,e,e),Ke(o,t,e)},pushHostContext:function(e){var r=t(s.current),i=t(o.current);r=n(i,e.type,r),i!==r&&(Ke(a,e,e),Ke(o,r,e))},resetHostContainer:function(){o.current=Oi,s.current=Oi}}}function Rt(e){function t(e,t){var n=new ot(5,null,0);n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=a(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=s(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function i(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;f=e}var o=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){r(\"175\")},prepareToHydrateHostTextInstance:function(){r(\"176\")},popHydrationState:function(){return!1}};var a=e.canHydrateInstance,s=e.canHydrateTextInstance,l=e.getNextHydratableSibling,u=e.getFirstHydratableChild,c=e.hydrateInstance,d=e.hydrateTextInstance,f=null,h=null,p=!1;return{enterHydrationState:function(e){return h=u(e.stateNode.containerInfo),f=e,p=!0},resetHydrationState:function(){h=f=null,p=!1},tryToClaimNextHydratableInstance:function(e){if(p){var r=h;if(r){if(!n(e,r)){if(!(r=l(r))||!n(e,r))return e.effectTag|=2,p=!1,void(f=e);t(f,h)}f=e,h=u(r)}else e.effectTag|=2,p=!1,f=e}},prepareToHydrateHostInstance:function(e,t,n){return t=c(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return d(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==f)return!1;if(!p)return i(e),p=!0,!1;var n=e.type;if(5!==e.tag||\"head\"!==n&&\"body\"!==n&&!o(n,e.memoizedProps))for(n=h;n;)t(e,n),n=l(n);return i(e),h=f?l(e.stateNode):null,!0}}}function Lt(e){function t(e){oe=Z=!0;var t=e.stateNode;if(t.current===e&&r(\"177\"),t.isReadyForCommit=!1,Ur.current=null,1a.expirationTime)&&(o=a.expirationTime),a=a.sibling;i.expirationTime=o}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if($<=q)for(;null!==K;)K=u(K)?o(K):i(K);else for(;null!==K&&!w();)K=u(K)?o(K):i(K)}else if(!(0===$||$>e))if($<=q)for(;null!==K;)K=i(K);else for(;null!==K&&!w();)K=i(K)}function s(e,t){if(Z&&r(\"243\"),Z=!0,e.isReadyForCommit=!1,e!==J||t!==$||null===K){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!Z&&n===J&&t<$&&(K=J=null,$=0);var i=n,o=t;if(we>xe&&r(\"185\"),null===i.nextScheduledRoot)i.remainingExpirationTime=o,null===le?(se=le=i,i.nextScheduledRoot=i):(le=le.nextScheduledRoot=i,le.nextScheduledRoot=se);else{var a=i.remainingExpirationTime;(0===a||oue)return;W(ce)}var t=j()-Y;ue=e,ce=U(b,{timeout:10*(e-2)-t})}function y(){var e=0,t=null;if(null!==le)for(var n=le,i=se;null!==i;){var o=i.remainingExpirationTime;if(0===o){if((null===n||null===le)&&r(\"244\"),i===i.nextScheduledRoot){se=le=i.nextScheduledRoot=null;break}if(i===se)se=o=i.nextScheduledRoot,le.nextScheduledRoot=o,i.nextScheduledRoot=null;else{if(i===le){le=n,le.nextScheduledRoot=se,i.nextScheduledRoot=null;break}n.nextScheduledRoot=i.nextScheduledRoot,i.nextScheduledRoot=null}i=n.nextScheduledRoot}else{if((0===e||oMe)&&(pe=!0)}function M(e){null===fe&&r(\"246\"),fe.remainingExpirationTime=0,me||(me=!0,ge=e)}var S=At(e),E=Rt(e),T=S.popHostContainer,k=S.popHostContext,O=S.resetHostContainer,P=Ot(e,S,E,h,f),C=P.beginWork,A=P.beginFailedWork,R=Pt(e,S,E).completeWork;S=Ct(e,l);var L=S.commitResetTextContent,I=S.commitPlacement,D=S.commitDeletion,N=S.commitWork,z=S.commitLifeCycles,B=S.commitAttachRef,F=S.commitDetachRef,j=e.now,U=e.scheduleDeferredCallback,W=e.cancelDeferredCallback,G=e.useSyncScheduling,V=e.prepareForCommit,H=e.resetAfterCommit,Y=j(),q=2,X=0,Z=!1,K=null,J=null,$=0,Q=null,ee=null,te=null,ne=null,re=null,ie=!1,oe=!1,ae=!1,se=null,le=null,ue=0,ce=-1,de=!1,fe=null,he=0,pe=!1,me=!1,ge=null,ve=null,ye=!1,be=!1,xe=1e3,we=0,Me=1;return{computeAsyncExpiration:d,computeExpirationForFiber:f,scheduleWork:h,batchedUpdates:function(e,t){var n=ye;ye=!0;try{return e(t)}finally{(ye=n)||de||x(1,null)}},unbatchedUpdates:function(e){if(ye&&!be){be=!0;try{return e()}finally{be=!1}}return e()},flushSync:function(e){var t=ye;ye=!0;try{e:{var n=X;X=1;try{var i=e();break e}finally{X=n}i=void 0}return i}finally{ye=t,de&&r(\"187\"),x(1,null)}},deferredUpdates:function(e){var t=X;X=d();try{return e()}finally{X=t}}}}function It(e){function t(e){return e=Te(e),null===e?null:e.stateNode}var n=e.getPublicInstance;e=Lt(e);var i=e.computeAsyncExpiration,o=e.computeExpirationForFiber,a=e.scheduleWork;return{createContainer:function(e,t){var n=new ot(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,s){var l=t.current;if(n){n=n._reactInternalFiber;var u;e:{for(2===we(n)&&2===n.tag||r(\"170\"),u=n;3!==u.tag;){if(Qe(u)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}(u=u.return)||r(\"171\")}u=u.stateNode.context}n=Qe(n)?nt(n,u):u}else n=On;null===t.context?t.context=n:t.pendingContext=n,t=s,t=void 0===t?null:t,s=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?i():o(l),bt(l,{expirationTime:s,partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),a(l,s)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return e=ke(e),null===e?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return pt(_n({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}function Dt(e,t,n){var r=3n||r.hasOverloadedBooleanValue&&!1===n?Ft(e,t):r.mustUseProperty?e[r.propertyName]=n:(t=r.attributeName,(i=r.attributeNamespace)?e.setAttributeNS(i,t,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,\"\"):e.setAttribute(t,\"\"+n))}else Bt(e,t,o(t,n)?n:null)}function Bt(e,t,n){Nt(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,\"\"+n))}function Ft(e,t){var n=a(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&\"\":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function jt(e,t){var n=t.value,r=t.checked;return _n({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked})}function Ut(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function Wt(e,t){null!=(t=t.checked)&&zt(e,\"checked\",t)}function Gt(e,t){Wt(e,t);var n=t.value;null!=n?0===n&&\"\"===e.value?e.value=\"0\":\"number\"===t.type?(t=parseFloat(e.value)||0,(n!=t||n==t&&e.value!=n)&&(e.value=\"\"+n)):e.value!==\"\"+n&&(e.value=\"\"+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==\"\"+t.defaultValue&&(e.defaultValue=\"\"+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function Vt(e,t){switch(t.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":e.value=\"\",e.value=e.defaultValue;break;default:e.value=e.value}t=e.name,\"\"!==t&&(e.name=\"\"),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,\"\"!==t&&(e.name=t)}function Ht(e){var t=\"\";return bn.Children.forEach(e,function(e){null==e||\"string\"!=typeof e&&\"number\"!=typeof e||(t+=e)}),t}function Yt(e,t){return e=_n({children:void 0},t),(t=Ht(t.children))&&(e.children=t),e}function qt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i=t.length||r(\"93\"),t=t[0]),n=\"\"+t),null==n&&(n=\"\")),e._wrapperState={initialValue:\"\"+n}}function Jt(e,t){var n=t.value;null!=n&&(n=\"\"+n,n!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function $t(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}function Qt(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function en(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?Qt(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}function tn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function nn(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=n,o=t[n];i=null==o||\"boolean\"==typeof o||\"\"===o?\"\":r||\"number\"!=typeof o||0===o||$i.hasOwnProperty(i)&&$i[i]?(\"\"+o).trim():o+\"px\",\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}function rn(e,t,n){t&&(eo[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&r(\"137\",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&r(\"60\"),\"object\"==typeof t.dangerouslySetInnerHTML&&\"__html\"in t.dangerouslySetInnerHTML||r(\"61\")),null!=t.style&&\"object\"!=typeof t.style&&r(\"62\",n()))}function on(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}function an(e,t){e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument;var n=De(e);t=Kn[t];for(var r=0;r<\\/script>\",e=e.removeChild(e.firstChild)):e=\"string\"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(r,e),e}function ln(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function un(e,t,n,r){var i=on(t,n);switch(t){case\"iframe\":case\"object\":Ce(\"topLoad\",\"load\",e);var o=n;break;case\"video\":case\"audio\":for(o in ro)ro.hasOwnProperty(o)&&Ce(o,ro[o],e);o=n;break;case\"source\":Ce(\"topError\",\"error\",e),o=n;break;case\"img\":case\"image\":Ce(\"topError\",\"error\",e),Ce(\"topLoad\",\"load\",e),o=n;break;case\"form\":Ce(\"topReset\",\"reset\",e),Ce(\"topSubmit\",\"submit\",e),o=n;break;case\"details\":Ce(\"topToggle\",\"toggle\",e),o=n;break;case\"input\":Ut(e,n),o=jt(e,n),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;case\"option\":o=Yt(e,n);break;case\"select\":Xt(e,n),o=_n({},n,{value:void 0}),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;case\"textarea\":Kt(e,n),o=Zt(e,n),Ce(\"topInvalid\",\"invalid\",e),an(r,\"onChange\");break;default:o=n}rn(t,o,no);var a,s=o;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];\"style\"===a?nn(e,l,no):\"dangerouslySetInnerHTML\"===a?null!=(l=l?l.__html:void 0)&&Ji(e,l):\"children\"===a?\"string\"==typeof l?(\"textarea\"!==t||\"\"!==l)&&tn(e,l):\"number\"==typeof l&&tn(e,\"\"+l):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(Zn.hasOwnProperty(a)?null!=l&&an(r,a):i?Bt(e,a,l):null!=l&&zt(e,a,l))}switch(t){case\"input\":oe(e),Vt(e,n);break;case\"textarea\":oe(e),$t(e,n);break;case\"option\":null!=n.value&&e.setAttribute(\"value\",n.value);break;case\"select\":e.multiple=!!n.multiple,t=n.value,null!=t?qt(e,!!n.multiple,t,!1):null!=n.defaultValue&&qt(e,!!n.multiple,n.defaultValue,!0);break;default:\"function\"==typeof o.onClick&&(e.onclick=wn)}}function cn(e,t,n,r,i){var o=null;switch(t){case\"input\":n=jt(e,n),r=jt(e,r),o=[];break;case\"option\":n=Yt(e,n),r=Yt(e,r),o=[];break;case\"select\":n=_n({},n,{value:void 0}),r=_n({},r,{value:void 0}),o=[];break;case\"textarea\":n=Zt(e,n),r=Zt(e,r),o=[];break;default:\"function\"!=typeof n.onClick&&\"function\"==typeof r.onClick&&(e.onclick=wn)}rn(t,r,no);var a,s;e=null;for(a in n)if(!r.hasOwnProperty(a)&&n.hasOwnProperty(a)&&null!=n[a])if(\"style\"===a)for(s in t=n[a])t.hasOwnProperty(s)&&(e||(e={}),e[s]=\"\");else\"dangerouslySetInnerHTML\"!==a&&\"children\"!==a&&\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&\"autoFocus\"!==a&&(Zn.hasOwnProperty(a)?o||(o=[]):(o=o||[]).push(a,null));for(a in r){var l=r[a];if(t=null!=n?n[a]:void 0,r.hasOwnProperty(a)&&l!==t&&(null!=l||null!=t))if(\"style\"===a)if(t){for(s in t)!t.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(e||(e={}),e[s]=\"\");for(s in l)l.hasOwnProperty(s)&&t[s]!==l[s]&&(e||(e={}),e[s]=l[s])}else e||(o||(o=[]),o.push(a,e)),e=l;else\"dangerouslySetInnerHTML\"===a?(l=l?l.__html:void 0,t=t?t.__html:void 0,null!=l&&t!==l&&(o=o||[]).push(a,\"\"+l)):\"children\"===a?t===l||\"string\"!=typeof l&&\"number\"!=typeof l||(o=o||[]).push(a,\"\"+l):\"suppressContentEditableWarning\"!==a&&\"suppressHydrationWarning\"!==a&&(Zn.hasOwnProperty(a)?(null!=l&&an(i,a),o||t===l||(o=[])):(o=o||[]).push(a,l))}return e&&(o=o||[]).push(\"style\",e),o}function dn(e,t,n,r,i){\"input\"===n&&\"radio\"===i.type&&null!=i.name&&Wt(e,i),on(n,r),r=on(n,i);for(var o=0;o=l.hasBooleanValue+l.hasNumericValue+l.hasOverloadedBooleanValue||r(\"50\",s),a.hasOwnProperty(s)&&(l.attributeName=a[s]),o.hasOwnProperty(s)&&(l.attributeNamespace=o[s]),e.hasOwnProperty(s)&&(l.mutationMethod=e[s]),An[s]=l}}},An={},Rn=Cn,Ln=Rn.MUST_USE_PROPERTY,In=Rn.HAS_BOOLEAN_VALUE,Dn=Rn.HAS_NUMERIC_VALUE,Nn=Rn.HAS_POSITIVE_NUMERIC_VALUE,zn=Rn.HAS_OVERLOADED_BOOLEAN_VALUE,Bn=Rn.HAS_STRING_BOOLEAN_VALUE,Fn={Properties:{allowFullScreen:In,async:In,autoFocus:In,autoPlay:In,capture:zn,checked:Ln|In,cols:Nn,contentEditable:Bn,controls:In,default:In,defer:In,disabled:In,download:zn,draggable:Bn,formNoValidate:In,hidden:In,loop:In,multiple:Ln|In,muted:Ln|In,noValidate:In,open:In,playsInline:In,readOnly:In,required:In,reversed:In,rows:Nn,rowSpan:Dn,scoped:In,seamless:In,selected:Ln|In,size:Nn,start:Dn,span:Nn,spellCheck:Bn,style:0,tabIndex:0,itemScope:In,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:Bn},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute(\"value\");\"number\"!==e.type||!1===e.hasAttribute(\"value\")?e.setAttribute(\"value\",\"\"+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(\"value\",\"\"+t)}}},jn=Rn.HAS_STRING_BOOLEAN_VALUE,Un={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},Wn={Properties:{autoReverse:jn,externalResourcesRequired:jn,preserveAlpha:jn},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:Un.xlink,xlinkArcrole:Un.xlink,xlinkHref:Un.xlink,xlinkRole:Un.xlink,xlinkShow:Un.xlink,xlinkTitle:Un.xlink,xlinkType:Un.xlink,xmlBase:Un.xml,xmlLang:Un.xml,xmlSpace:Un.xml}},Gn=/[\\-\\:]([a-z])/g;\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(e){var t=e.replace(Gn,s);Wn.Properties[t]=0,Wn.DOMAttributeNames[t]=e}),Rn.injectDOMPropertyConfig(Fn),Rn.injectDOMPropertyConfig(Wn);var Vn={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(e){\"function\"!=typeof e.invokeGuardedCallback&&r(\"197\"),l=e.invokeGuardedCallback}},invokeGuardedCallback:function(e,t,n,r,i,o,a,s,u){l.apply(Vn,arguments)},invokeGuardedCallbackAndCatchFirstError:function(e,t,n,r,i,o,a,s,l){if(Vn.invokeGuardedCallback.apply(this,arguments),Vn.hasCaughtError()){var u=Vn.clearCaughtError();Vn._hasRethrowError||(Vn._hasRethrowError=!0,Vn._rethrowError=u)}},rethrowCaughtError:function(){return u.apply(Vn,arguments)},hasCaughtError:function(){return Vn._hasCaughtError},clearCaughtError:function(){if(Vn._hasCaughtError){var e=Vn._caughtError;return Vn._caughtError=null,Vn._hasCaughtError=!1,e}r(\"198\")}},Hn=null,Yn={},qn=[],Xn={},Zn={},Kn={},Jn=Object.freeze({plugins:qn,eventNameDispatchConfigs:Xn,registrationNameModules:Zn,registrationNameDependencies:Kn,possibleRegistrationNames:null,injectEventPluginOrder:f,injectEventPluginsByName:h}),$n=null,Qn=null,er=null,tr=null,nr={injectEventPluginOrder:f,injectEventPluginsByName:h},rr=Object.freeze({injection:nr,getListener:x,extractEvents:_,enqueueEvents:w,processEventQueue:M}),ir=Math.random().toString(36).slice(2),or=\"__reactInternalInstance$\"+ir,ar=\"__reactEventHandlers$\"+ir,sr=Object.freeze({precacheFiberNode:function(e,t){t[or]=e},getClosestInstanceFromNode:S,getInstanceFromNode:function(e){return e=e[or],!e||5!==e.tag&&6!==e.tag?null:e},getNodeFromInstance:E,getFiberCurrentPropsFromNode:T,updateFiberProps:function(e,t){e[ar]=t}}),lr=Object.freeze({accumulateTwoPhaseDispatches:I,accumulateTwoPhaseDispatchesSkipTarget:function(e){g(e,A)},accumulateEnterLeaveDispatches:D,accumulateDirectDispatches:function(e){g(e,L)}}),ur=null,cr={_root:null,_startText:null,_fallbackText:null},dr=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),fr={type:null,target:null,currentTarget:wn.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};_n(F.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=wn.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=wn.thatReturnsTrue)},persist:function(){this.isPersistent=wn.thatReturnsTrue},isPersistent:wn.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(vr.version(),10))}var yr,br=gr,xr=xn.canUseDOM&&(!pr||mr&&8=mr),_r=String.fromCharCode(32),wr={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},Mr=!1,Sr=!1,Er={eventTypes:wr,extractEvents:function(e,t,n,r){var i;if(pr)e:{switch(e){case\"topCompositionStart\":var o=wr.compositionStart;break e;case\"topCompositionEnd\":o=wr.compositionEnd;break e;case\"topCompositionUpdate\":o=wr.compositionUpdate;break e}o=void 0}else Sr?H(e,n)&&(o=wr.compositionEnd):\"topKeyDown\"===e&&229===n.keyCode&&(o=wr.compositionStart);return o?(xr&&(Sr||o!==wr.compositionStart?o===wr.compositionEnd&&Sr&&(i=z()):(cr._root=r,cr._startText=B(),Sr=!0)),o=G.getPooled(o,t,n,r),i?o.data=i:null!==(i=Y(n))&&(o.data=i),I(o),i=o):i=null,(e=br?q(e,n):X(e,n))?(t=V.getPooled(wr.beforeInput,t,n,r),t.data=e,I(t)):t=null,[i,t]}},Tr=null,kr=null,Or=null,Pr={injectFiberControlledHostComponent:function(e){Tr=e}},Cr=Object.freeze({injection:Pr,enqueueStateRestore:K,restoreStateIfNeeded:J}),Ar=!1,Rr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};xn.canUseDOM&&(yr=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\"));var Lr={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange\".split(\" \")}},Ir=null,Dr=null,Nr=!1;xn.canUseDOM&&(Nr=ne(\"input\")&&(!document.documentMode||9=document.documentMode,ei={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},ti=null,ni=null,ri=null,ii=!1,oi={eventTypes:ei,extractEvents:function(e,t,n,r){var i,o=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;if(!(i=!o)){e:{o=De(o),i=Kn.onSelect;for(var a=0;a=Ui-e){if(!(-1!==Fi&&Fi<=e))return void(ji||(ji=!0,requestAnimationFrame(Hi)));Ni.didTimeout=!0}else Ni.didTimeout=!1;Fi=-1,e=zi,zi=null,null!==e&&e(Ni)}},!1);var Hi=function(e){ji=!1;var t=e-Ui+Gi;tt&&(t=8),Gi=t\"+t+\"\",t=Ki.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}),$i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qi=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys($i).forEach(function(e){Qi.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$i[t]=$i[e]})});var eo=_n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),to=Zi.html,no=wn.thatReturns(\"\"),ro={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},io=Object.freeze({createElement:sn,createTextNode:ln,setInitialProperties:un,diffProperties:cn,updateProperties:dn,diffHydratedProperties:fn,diffHydratedText:hn,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(e,t,n){switch(t){case\"input\":if(Gt(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;tr&&(i=r,r=e,e=i),i=ze(n,e);var o=ze(n,r);if(i&&o&&(1!==t.rangeCount||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)){var a=document.createRange();a.setStart(i.node,i.offset),t.removeAllRanges(),e>r?(t.addRange(a),t.extend(o.node,o.offset)):(a.setEnd(o.node,o.offset),t.addRange(a))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(kn(n),n=0;na?a:i+s,l&&l(u,e);break;case 37:case 40:u=i-s0){S=S.sort(function(e,t){return s?e-t:t-e});var E=!0,T=!1,k=void 0;try{for(var O,P=S[Symbol.iterator]();!(E=(O=P.next()).done);E=!0){var C=O.value,A=this.getPositionFromValue(C),R=this.coordinates(A),L=i({},g,R.label+\"px\");M.push(f.default.createElement(\"li\",{key:C,className:(0,c.default)(\"rangeslider__label-item\"),\"data-value\":C,onMouseDown:this.handleDrag,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,style:L},this.props.labels[C]))}}catch(e){T=!0,k=e}finally{try{!E&&P.return&&P.return()}finally{if(T)throw k}}}return f.default.createElement(\"div\",{ref:function(t){e.slider=t},className:(0,c.default)(\"rangeslider\",\"rangeslider-\"+r,{\"rangeslider-reverse\":s},o),onMouseDown:this.handleDrag,onMouseUp:this.handleEnd,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,\"aria-valuemin\":u,\"aria-valuemax\":d,\"aria-valuenow\":n,\"aria-orientation\":r},f.default.createElement(\"div\",{className:\"rangeslider__fill\",style:x}),f.default.createElement(\"div\",{ref:function(t){e.handle=t},className:\"rangeslider__handle\",onMouseDown:this.handleStart,onTouchMove:this.handleDrag,onTouchEnd:this.handleEnd,onKeyDown:this.handleKeyDown,style:_,tabIndex:0},w?f.default.createElement(\"div\",{ref:function(t){e.tooltip=t},className:\"rangeslider__handle-tooltip\"},f.default.createElement(\"span\",null,this.handleFormat(n))):null,f.default.createElement(\"div\",{className:\"rangeslider__handle-label\"},h)),l?this.renderLabels(M):null)}}]),t}(d.Component);b.propTypes={min:p.default.number,max:p.default.number,step:p.default.number,value:p.default.number,orientation:p.default.string,tooltip:p.default.bool,reverse:p.default.bool,labels:p.default.object,handleLabel:p.default.string,format:p.default.func,onChangeStart:p.default.func,onChange:p.default.func,onChangeComplete:p.default.func},b.defaultProps={min:0,max:100,step:1,value:0,orientation:\"horizontal\",tooltip:!0,reverse:!1,labels:{},handleLabel:\"\"},t.default=b},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(404),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default},function(e,t,n){\"use strict\";function r(e){return e.charAt(0).toUpperCase()+e.substr(1)}function i(e,t,n){return Math.min(Math.max(e,t),n)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.capitalize=r,t.clamp=i},function(e,t,n){var r=n(410);e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;tparseInt(window.getComputedStyle(v).order)&&(M=-M);var S=r;if(void 0!==r&&r<=0){var E=this.splitPane;S=\"vertical\"===a?E.getBoundingClientRect().width+r:E.getBoundingClientRect().height+r}var T=_-M,k=d-w;TS?T=S:this.setState({position:k,resized:!0}),o&&o(T),this.setState({draggedSize:T}),h.setState({size:T})}}}}},{key:\"onMouseUp\",value:function(){var e=this.props,t=e.allowResize,n=e.onDragFinished,r=this.state,i=r.active,o=r.draggedSize;t&&i&&(\"function\"==typeof n&&n(o),this.setState({active:!1}))}},{key:\"setSize\",value:function(e,t){var n=this.props.primary,r=\"first\"===n?this.pane1:this.pane2,i=void 0;r&&(i=e.size||t&&t.draggedSize||e.defaultSize||e.minSize,r.setState({size:i}),e.size!==t.draggedSize&&this.setState({draggedSize:i}))}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.allowResize,r=t.children,i=t.className,o=t.defaultSize,a=t.minSize,s=t.onResizerClick,u=t.onResizerDoubleClick,c=t.paneClassName,f=t.pane1ClassName,h=t.pane2ClassName,p=t.paneStyle,m=t.pane1Style,g=t.pane2Style,v=t.primary,y=t.prefixer,b=t.resizerClassName,x=t.resizerStyle,S=t.size,E=t.split,T=t.style,k=n?\"\":\"disabled\",O=b?b+\" \"+w.RESIZER_DEFAULT_CLASSNAME:b,P=l({},{display:\"flex\",flex:1,height:\"100%\",position:\"absolute\",outline:\"none\",overflow:\"hidden\",MozUserSelect:\"text\",WebkitUserSelect:\"text\",msUserSelect:\"text\",userSelect:\"text\"},T||{});\"vertical\"===E?l(P,{flexDirection:\"row\",left:0,right:0}):l(P,{bottom:0,flexDirection:\"column\",minHeight:\"100%\",top:0,width:\"100%\"});var C=[\"SplitPane\",i,E,k],A=y.prefix(l({},p||{},m||{})),R=y.prefix(l({},p||{},g||{})),L=[\"Pane1\",c,f].join(\" \"),I=[\"Pane2\",c,h].join(\" \");return d.default.createElement(\"div\",{className:C.join(\" \"),ref:function(t){e.splitPane=t},style:y.prefix(P)},d.default.createElement(_.default,{className:L,key:\"pane1\",ref:function(t){e.pane1=t},size:\"first\"===v?S||o||a:void 0,split:E,style:A},r[0]),d.default.createElement(M.default,{className:k,onClick:s,onDoubleClick:u,onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,onTouchEnd:this.onMouseUp,key:\"resizer\",ref:function(t){e.resizer=t},resizerClassName:O,split:E,style:x||{}}),d.default.createElement(_.default,{className:I,key:\"pane2\",ref:function(t){e.pane2=t},size:\"second\"===v?S||o||a:void 0,split:E,style:R},r[1]))}}]),t}(d.default.Component);E.propTypes={allowResize:h.default.bool,children:h.default.arrayOf(h.default.node).isRequired,className:h.default.string,primary:h.default.oneOf([\"first\",\"second\"]),minSize:h.default.oneOfType([h.default.string,h.default.number]),maxSize:h.default.oneOfType([h.default.string,h.default.number]),defaultSize:h.default.oneOfType([h.default.string,h.default.number]),size:h.default.oneOfType([h.default.string,h.default.number]),split:h.default.oneOf([\"vertical\",\"horizontal\"]),onDragStarted:h.default.func,onDragFinished:h.default.func,onChange:h.default.func,onResizerClick:h.default.func,onResizerDoubleClick:h.default.func,prefixer:h.default.instanceOf(v.default).isRequired,style:b.default,resizerStyle:b.default,paneClassName:h.default.string,pane1ClassName:h.default.string,pane2ClassName:h.default.string,paneStyle:b.default,pane1Style:b.default,pane2Style:b.default,resizerClassName:h.default.string,step:h.default.number},E.defaultProps={allowResize:!0,minSize:50,prefixer:new v.default({userAgent:S}),primary:\"first\",split:\"vertical\",paneClassName:\"\",pane1ClassName:\"\",pane2ClassName:\"\"},t.default=E,e.exports=t.default},function(e,t){e.exports=[\"alignContent\",\"MozAlignContent\",\"WebkitAlignContent\",\"MSAlignContent\",\"OAlignContent\",\"alignItems\",\"MozAlignItems\",\"WebkitAlignItems\",\"MSAlignItems\",\"OAlignItems\",\"alignSelf\",\"MozAlignSelf\",\"WebkitAlignSelf\",\"MSAlignSelf\",\"OAlignSelf\",\"all\",\"MozAll\",\"WebkitAll\",\"MSAll\",\"OAll\",\"animation\",\"MozAnimation\",\"WebkitAnimation\",\"MSAnimation\",\"OAnimation\",\"animationDelay\",\"MozAnimationDelay\",\"WebkitAnimationDelay\",\"MSAnimationDelay\",\"OAnimationDelay\",\"animationDirection\",\"MozAnimationDirection\",\"WebkitAnimationDirection\",\"MSAnimationDirection\",\"OAnimationDirection\",\"animationDuration\",\"MozAnimationDuration\",\"WebkitAnimationDuration\",\"MSAnimationDuration\",\"OAnimationDuration\",\"animationFillMode\",\"MozAnimationFillMode\",\"WebkitAnimationFillMode\",\"MSAnimationFillMode\",\"OAnimationFillMode\",\"animationIterationCount\",\"MozAnimationIterationCount\",\"WebkitAnimationIterationCount\",\"MSAnimationIterationCount\",\"OAnimationIterationCount\",\"animationName\",\"MozAnimationName\",\"WebkitAnimationName\",\"MSAnimationName\",\"OAnimationName\",\"animationPlayState\",\"MozAnimationPlayState\",\"WebkitAnimationPlayState\",\"MSAnimationPlayState\",\"OAnimationPlayState\",\"animationTimingFunction\",\"MozAnimationTimingFunction\",\"WebkitAnimationTimingFunction\",\"MSAnimationTimingFunction\",\"OAnimationTimingFunction\",\"backfaceVisibility\",\"MozBackfaceVisibility\",\"WebkitBackfaceVisibility\",\"MSBackfaceVisibility\",\"OBackfaceVisibility\",\"background\",\"MozBackground\",\"WebkitBackground\",\"MSBackground\",\"OBackground\",\"backgroundAttachment\",\"MozBackgroundAttachment\",\"WebkitBackgroundAttachment\",\"MSBackgroundAttachment\",\"OBackgroundAttachment\",\"backgroundBlendMode\",\"MozBackgroundBlendMode\",\"WebkitBackgroundBlendMode\",\"MSBackgroundBlendMode\",\"OBackgroundBlendMode\",\"backgroundClip\",\"MozBackgroundClip\",\"WebkitBackgroundClip\",\"MSBackgroundClip\",\"OBackgroundClip\",\"backgroundColor\",\"MozBackgroundColor\",\"WebkitBackgroundColor\",\"MSBackgroundColor\",\"OBackgroundColor\",\"backgroundImage\",\"MozBackgroundImage\",\"WebkitBackgroundImage\",\"MSBackgroundImage\",\"OBackgroundImage\",\"backgroundOrigin\",\"MozBackgroundOrigin\",\"WebkitBackgroundOrigin\",\"MSBackgroundOrigin\",\"OBackgroundOrigin\",\"backgroundPosition\",\"MozBackgroundPosition\",\"WebkitBackgroundPosition\",\"MSBackgroundPosition\",\"OBackgroundPosition\",\"backgroundRepeat\",\"MozBackgroundRepeat\",\"WebkitBackgroundRepeat\",\"MSBackgroundRepeat\",\"OBackgroundRepeat\",\"backgroundSize\",\"MozBackgroundSize\",\"WebkitBackgroundSize\",\"MSBackgroundSize\",\"OBackgroundSize\",\"blockSize\",\"MozBlockSize\",\"WebkitBlockSize\",\"MSBlockSize\",\"OBlockSize\",\"border\",\"MozBorder\",\"WebkitBorder\",\"MSBorder\",\"OBorder\",\"borderBlockEnd\",\"MozBorderBlockEnd\",\"WebkitBorderBlockEnd\",\"MSBorderBlockEnd\",\"OBorderBlockEnd\",\"borderBlockEndColor\",\"MozBorderBlockEndColor\",\"WebkitBorderBlockEndColor\",\"MSBorderBlockEndColor\",\"OBorderBlockEndColor\",\"borderBlockEndStyle\",\"MozBorderBlockEndStyle\",\"WebkitBorderBlockEndStyle\",\"MSBorderBlockEndStyle\",\"OBorderBlockEndStyle\",\"borderBlockEndWidth\",\"MozBorderBlockEndWidth\",\"WebkitBorderBlockEndWidth\",\"MSBorderBlockEndWidth\",\"OBorderBlockEndWidth\",\"borderBlockStart\",\"MozBorderBlockStart\",\"WebkitBorderBlockStart\",\"MSBorderBlockStart\",\"OBorderBlockStart\",\"borderBlockStartColor\",\"MozBorderBlockStartColor\",\"WebkitBorderBlockStartColor\",\"MSBorderBlockStartColor\",\"OBorderBlockStartColor\",\"borderBlockStartStyle\",\"MozBorderBlockStartStyle\",\"WebkitBorderBlockStartStyle\",\"MSBorderBlockStartStyle\",\"OBorderBlockStartStyle\",\"borderBlockStartWidth\",\"MozBorderBlockStartWidth\",\"WebkitBorderBlockStartWidth\",\"MSBorderBlockStartWidth\",\"OBorderBlockStartWidth\",\"borderBottom\",\"MozBorderBottom\",\"WebkitBorderBottom\",\"MSBorderBottom\",\"OBorderBottom\",\"borderBottomColor\",\"MozBorderBottomColor\",\"WebkitBorderBottomColor\",\"MSBorderBottomColor\",\"OBorderBottomColor\",\"borderBottomLeftRadius\",\"MozBorderBottomLeftRadius\",\"WebkitBorderBottomLeftRadius\",\"MSBorderBottomLeftRadius\",\"OBorderBottomLeftRadius\",\"borderBottomRightRadius\",\"MozBorderBottomRightRadius\",\"WebkitBorderBottomRightRadius\",\"MSBorderBottomRightRadius\",\"OBorderBottomRightRadius\",\"borderBottomStyle\",\"MozBorderBottomStyle\",\"WebkitBorderBottomStyle\",\"MSBorderBottomStyle\",\"OBorderBottomStyle\",\"borderBottomWidth\",\"MozBorderBottomWidth\",\"WebkitBorderBottomWidth\",\"MSBorderBottomWidth\",\"OBorderBottomWidth\",\"borderCollapse\",\"MozBorderCollapse\",\"WebkitBorderCollapse\",\"MSBorderCollapse\",\"OBorderCollapse\",\"borderColor\",\"MozBorderColor\",\"WebkitBorderColor\",\"MSBorderColor\",\"OBorderColor\",\"borderImage\",\"MozBorderImage\",\"WebkitBorderImage\",\"MSBorderImage\",\"OBorderImage\",\"borderImageOutset\",\"MozBorderImageOutset\",\"WebkitBorderImageOutset\",\"MSBorderImageOutset\",\"OBorderImageOutset\",\"borderImageRepeat\",\"MozBorderImageRepeat\",\"WebkitBorderImageRepeat\",\"MSBorderImageRepeat\",\"OBorderImageRepeat\",\"borderImageSlice\",\"MozBorderImageSlice\",\"WebkitBorderImageSlice\",\"MSBorderImageSlice\",\"OBorderImageSlice\",\"borderImageSource\",\"MozBorderImageSource\",\"WebkitBorderImageSource\",\"MSBorderImageSource\",\"OBorderImageSource\",\"borderImageWidth\",\"MozBorderImageWidth\",\"WebkitBorderImageWidth\",\"MSBorderImageWidth\",\"OBorderImageWidth\",\"borderInlineEnd\",\"MozBorderInlineEnd\",\"WebkitBorderInlineEnd\",\"MSBorderInlineEnd\",\"OBorderInlineEnd\",\"borderInlineEndColor\",\"MozBorderInlineEndColor\",\"WebkitBorderInlineEndColor\",\"MSBorderInlineEndColor\",\"OBorderInlineEndColor\",\"borderInlineEndStyle\",\"MozBorderInlineEndStyle\",\"WebkitBorderInlineEndStyle\",\"MSBorderInlineEndStyle\",\"OBorderInlineEndStyle\",\"borderInlineEndWidth\",\"MozBorderInlineEndWidth\",\"WebkitBorderInlineEndWidth\",\"MSBorderInlineEndWidth\",\"OBorderInlineEndWidth\",\"borderInlineStart\",\"MozBorderInlineStart\",\"WebkitBorderInlineStart\",\"MSBorderInlineStart\",\"OBorderInlineStart\",\"borderInlineStartColor\",\"MozBorderInlineStartColor\",\"WebkitBorderInlineStartColor\",\"MSBorderInlineStartColor\",\"OBorderInlineStartColor\",\"borderInlineStartStyle\",\"MozBorderInlineStartStyle\",\"WebkitBorderInlineStartStyle\",\"MSBorderInlineStartStyle\",\"OBorderInlineStartStyle\",\"borderInlineStartWidth\",\"MozBorderInlineStartWidth\",\"WebkitBorderInlineStartWidth\",\"MSBorderInlineStartWidth\",\"OBorderInlineStartWidth\",\"borderLeft\",\"MozBorderLeft\",\"WebkitBorderLeft\",\"MSBorderLeft\",\"OBorderLeft\",\"borderLeftColor\",\"MozBorderLeftColor\",\"WebkitBorderLeftColor\",\"MSBorderLeftColor\",\"OBorderLeftColor\",\"borderLeftStyle\",\"MozBorderLeftStyle\",\"WebkitBorderLeftStyle\",\"MSBorderLeftStyle\",\"OBorderLeftStyle\",\"borderLeftWidth\",\"MozBorderLeftWidth\",\"WebkitBorderLeftWidth\",\"MSBorderLeftWidth\",\"OBorderLeftWidth\",\"borderRadius\",\"MozBorderRadius\",\"WebkitBorderRadius\",\"MSBorderRadius\",\"OBorderRadius\",\"borderRight\",\"MozBorderRight\",\"WebkitBorderRight\",\"MSBorderRight\",\"OBorderRight\",\"borderRightColor\",\"MozBorderRightColor\",\"WebkitBorderRightColor\",\"MSBorderRightColor\",\"OBorderRightColor\",\"borderRightStyle\",\"MozBorderRightStyle\",\"WebkitBorderRightStyle\",\"MSBorderRightStyle\",\"OBorderRightStyle\",\"borderRightWidth\",\"MozBorderRightWidth\",\"WebkitBorderRightWidth\",\"MSBorderRightWidth\",\"OBorderRightWidth\",\"borderSpacing\",\"MozBorderSpacing\",\"WebkitBorderSpacing\",\"MSBorderSpacing\",\"OBorderSpacing\",\"borderStyle\",\"MozBorderStyle\",\"WebkitBorderStyle\",\"MSBorderStyle\",\"OBorderStyle\",\"borderTop\",\"MozBorderTop\",\"WebkitBorderTop\",\"MSBorderTop\",\"OBorderTop\",\"borderTopColor\",\"MozBorderTopColor\",\"WebkitBorderTopColor\",\"MSBorderTopColor\",\"OBorderTopColor\",\"borderTopLeftRadius\",\"MozBorderTopLeftRadius\",\"WebkitBorderTopLeftRadius\",\"MSBorderTopLeftRadius\",\"OBorderTopLeftRadius\",\"borderTopRightRadius\",\"MozBorderTopRightRadius\",\"WebkitBorderTopRightRadius\",\"MSBorderTopRightRadius\",\"OBorderTopRightRadius\",\"borderTopStyle\",\"MozBorderTopStyle\",\"WebkitBorderTopStyle\",\"MSBorderTopStyle\",\"OBorderTopStyle\",\"borderTopWidth\",\"MozBorderTopWidth\",\"WebkitBorderTopWidth\",\"MSBorderTopWidth\",\"OBorderTopWidth\",\"borderWidth\",\"MozBorderWidth\",\"WebkitBorderWidth\",\"MSBorderWidth\",\"OBorderWidth\",\"bottom\",\"MozBottom\",\"WebkitBottom\",\"MSBottom\",\"OBottom\",\"boxDecorationBreak\",\"MozBoxDecorationBreak\",\"WebkitBoxDecorationBreak\",\"MSBoxDecorationBreak\",\"OBoxDecorationBreak\",\"boxShadow\",\"MozBoxShadow\",\"WebkitBoxShadow\",\"MSBoxShadow\",\"OBoxShadow\",\"boxSizing\",\"MozBoxSizing\",\"WebkitBoxSizing\",\"MSBoxSizing\",\"OBoxSizing\",\"breakAfter\",\"MozBreakAfter\",\"WebkitBreakAfter\",\"MSBreakAfter\",\"OBreakAfter\",\"breakBefore\",\"MozBreakBefore\",\"WebkitBreakBefore\",\"MSBreakBefore\",\"OBreakBefore\",\"breakInside\",\"MozBreakInside\",\"WebkitBreakInside\",\"MSBreakInside\",\"OBreakInside\",\"captionSide\",\"MozCaptionSide\",\"WebkitCaptionSide\",\"MSCaptionSide\",\"OCaptionSide\",\"caretColor\",\"MozCaretColor\",\"WebkitCaretColor\",\"MSCaretColor\",\"OCaretColor\",\"ch\",\"MozCh\",\"WebkitCh\",\"MSCh\",\"OCh\",\"clear\",\"MozClear\",\"WebkitClear\",\"MSClear\",\"OClear\",\"clip\",\"MozClip\",\"WebkitClip\",\"MSClip\",\"OClip\",\"clipPath\",\"MozClipPath\",\"WebkitClipPath\",\"MSClipPath\",\"OClipPath\",\"cm\",\"MozCm\",\"WebkitCm\",\"MSCm\",\"OCm\",\"color\",\"MozColor\",\"WebkitColor\",\"MSColor\",\"OColor\",\"columnCount\",\"MozColumnCount\",\"WebkitColumnCount\",\"MSColumnCount\",\"OColumnCount\",\"columnFill\",\"MozColumnFill\",\"WebkitColumnFill\",\"MSColumnFill\",\"OColumnFill\",\"columnGap\",\"MozColumnGap\",\"WebkitColumnGap\",\"MSColumnGap\",\"OColumnGap\",\"columnRule\",\"MozColumnRule\",\"WebkitColumnRule\",\"MSColumnRule\",\"OColumnRule\",\"columnRuleColor\",\"MozColumnRuleColor\",\"WebkitColumnRuleColor\",\"MSColumnRuleColor\",\"OColumnRuleColor\",\"columnRuleStyle\",\"MozColumnRuleStyle\",\"WebkitColumnRuleStyle\",\"MSColumnRuleStyle\",\"OColumnRuleStyle\",\"columnRuleWidth\",\"MozColumnRuleWidth\",\"WebkitColumnRuleWidth\",\"MSColumnRuleWidth\",\"OColumnRuleWidth\",\"columnSpan\",\"MozColumnSpan\",\"WebkitColumnSpan\",\"MSColumnSpan\",\"OColumnSpan\",\"columnWidth\",\"MozColumnWidth\",\"WebkitColumnWidth\",\"MSColumnWidth\",\"OColumnWidth\",\"columns\",\"MozColumns\",\"WebkitColumns\",\"MSColumns\",\"OColumns\",\"content\",\"MozContent\",\"WebkitContent\",\"MSContent\",\"OContent\",\"counterIncrement\",\"MozCounterIncrement\",\"WebkitCounterIncrement\",\"MSCounterIncrement\",\"OCounterIncrement\",\"counterReset\",\"MozCounterReset\",\"WebkitCounterReset\",\"MSCounterReset\",\"OCounterReset\",\"cursor\",\"MozCursor\",\"WebkitCursor\",\"MSCursor\",\"OCursor\",\"deg\",\"MozDeg\",\"WebkitDeg\",\"MSDeg\",\"ODeg\",\"direction\",\"MozDirection\",\"WebkitDirection\",\"MSDirection\",\"ODirection\",\"display\",\"MozDisplay\",\"WebkitDisplay\",\"MSDisplay\",\"ODisplay\",\"dpcm\",\"MozDpcm\",\"WebkitDpcm\",\"MSDpcm\",\"ODpcm\",\"dpi\",\"MozDpi\",\"WebkitDpi\",\"MSDpi\",\"ODpi\",\"dppx\",\"MozDppx\",\"WebkitDppx\",\"MSDppx\",\"ODppx\",\"em\",\"MozEm\",\"WebkitEm\",\"MSEm\",\"OEm\",\"emptyCells\",\"MozEmptyCells\",\"WebkitEmptyCells\",\"MSEmptyCells\",\"OEmptyCells\",\"ex\",\"MozEx\",\"WebkitEx\",\"MSEx\",\"OEx\",\"filter\",\"MozFilter\",\"WebkitFilter\",\"MSFilter\",\"OFilter\",\"flexBasis\",\"MozFlexBasis\",\"WebkitFlexBasis\",\"MSFlexBasis\",\"OFlexBasis\",\"flexDirection\",\"MozFlexDirection\",\"WebkitFlexDirection\",\"MSFlexDirection\",\"OFlexDirection\",\"flexFlow\",\"MozFlexFlow\",\"WebkitFlexFlow\",\"MSFlexFlow\",\"OFlexFlow\",\"flexGrow\",\"MozFlexGrow\",\"WebkitFlexGrow\",\"MSFlexGrow\",\"OFlexGrow\",\"flexShrink\",\"MozFlexShrink\",\"WebkitFlexShrink\",\"MSFlexShrink\",\"OFlexShrink\",\"flexWrap\",\"MozFlexWrap\",\"WebkitFlexWrap\",\"MSFlexWrap\",\"OFlexWrap\",\"float\",\"MozFloat\",\"WebkitFloat\",\"MSFloat\",\"OFloat\",\"font\",\"MozFont\",\"WebkitFont\",\"MSFont\",\"OFont\",\"fontFamily\",\"MozFontFamily\",\"WebkitFontFamily\",\"MSFontFamily\",\"OFontFamily\",\"fontFeatureSettings\",\"MozFontFeatureSettings\",\"WebkitFontFeatureSettings\",\"MSFontFeatureSettings\",\"OFontFeatureSettings\",\"fontKerning\",\"MozFontKerning\",\"WebkitFontKerning\",\"MSFontKerning\",\"OFontKerning\",\"fontLanguageOverride\",\"MozFontLanguageOverride\",\"WebkitFontLanguageOverride\",\"MSFontLanguageOverride\",\"OFontLanguageOverride\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"fontSizeAdjust\",\"MozFontSizeAdjust\",\"WebkitFontSizeAdjust\",\"MSFontSizeAdjust\",\"OFontSizeAdjust\",\"fontStretch\",\"MozFontStretch\",\"WebkitFontStretch\",\"MSFontStretch\",\"OFontStretch\",\"fontStyle\",\"MozFontStyle\",\"WebkitFontStyle\",\"MSFontStyle\",\"OFontStyle\",\"fontSynthesis\",\"MozFontSynthesis\",\"WebkitFontSynthesis\",\"MSFontSynthesis\",\"OFontSynthesis\",\"fontVariant\",\"MozFontVariant\",\"WebkitFontVariant\",\"MSFontVariant\",\"OFontVariant\",\"fontVariantAlternates\",\"MozFontVariantAlternates\",\"WebkitFontVariantAlternates\",\"MSFontVariantAlternates\",\"OFontVariantAlternates\",\"fontVariantCaps\",\"MozFontVariantCaps\",\"WebkitFontVariantCaps\",\"MSFontVariantCaps\",\"OFontVariantCaps\",\"fontVariantEastAsian\",\"MozFontVariantEastAsian\",\"WebkitFontVariantEastAsian\",\"MSFontVariantEastAsian\",\"OFontVariantEastAsian\",\"fontVariantLigatures\",\"MozFontVariantLigatures\",\"WebkitFontVariantLigatures\",\"MSFontVariantLigatures\",\"OFontVariantLigatures\",\"fontVariantNumeric\",\"MozFontVariantNumeric\",\"WebkitFontVariantNumeric\",\"MSFontVariantNumeric\",\"OFontVariantNumeric\",\"fontVariantPosition\",\"MozFontVariantPosition\",\"WebkitFontVariantPosition\",\"MSFontVariantPosition\",\"OFontVariantPosition\",\"fontWeight\",\"MozFontWeight\",\"WebkitFontWeight\",\"MSFontWeight\",\"OFontWeight\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"grad\",\"MozGrad\",\"WebkitGrad\",\"MSGrad\",\"OGrad\",\"grid\",\"MozGrid\",\"WebkitGrid\",\"MSGrid\",\"OGrid\",\"gridArea\",\"MozGridArea\",\"WebkitGridArea\",\"MSGridArea\",\"OGridArea\",\"gridAutoColumns\",\"MozGridAutoColumns\",\"WebkitGridAutoColumns\",\"MSGridAutoColumns\",\"OGridAutoColumns\",\"gridAutoFlow\",\"MozGridAutoFlow\",\"WebkitGridAutoFlow\",\"MSGridAutoFlow\",\"OGridAutoFlow\",\"gridAutoRows\",\"MozGridAutoRows\",\"WebkitGridAutoRows\",\"MSGridAutoRows\",\"OGridAutoRows\",\"gridColumn\",\"MozGridColumn\",\"WebkitGridColumn\",\"MSGridColumn\",\"OGridColumn\",\"gridColumnEnd\",\"MozGridColumnEnd\",\"WebkitGridColumnEnd\",\"MSGridColumnEnd\",\"OGridColumnEnd\",\"gridColumnGap\",\"MozGridColumnGap\",\"WebkitGridColumnGap\",\"MSGridColumnGap\",\"OGridColumnGap\",\"gridColumnStart\",\"MozGridColumnStart\",\"WebkitGridColumnStart\",\"MSGridColumnStart\",\"OGridColumnStart\",\"gridGap\",\"MozGridGap\",\"WebkitGridGap\",\"MSGridGap\",\"OGridGap\",\"gridRow\",\"MozGridRow\",\"WebkitGridRow\",\"MSGridRow\",\"OGridRow\",\"gridRowEnd\",\"MozGridRowEnd\",\"WebkitGridRowEnd\",\"MSGridRowEnd\",\"OGridRowEnd\",\"gridRowGap\",\"MozGridRowGap\",\"WebkitGridRowGap\",\"MSGridRowGap\",\"OGridRowGap\",\"gridRowStart\",\"MozGridRowStart\",\"WebkitGridRowStart\",\"MSGridRowStart\",\"OGridRowStart\",\"gridTemplate\",\"MozGridTemplate\",\"WebkitGridTemplate\",\"MSGridTemplate\",\"OGridTemplate\",\"gridTemplateAreas\",\"MozGridTemplateAreas\",\"WebkitGridTemplateAreas\",\"MSGridTemplateAreas\",\"OGridTemplateAreas\",\"gridTemplateColumns\",\"MozGridTemplateColumns\",\"WebkitGridTemplateColumns\",\"MSGridTemplateColumns\",\"OGridTemplateColumns\",\"gridTemplateRows\",\"MozGridTemplateRows\",\"WebkitGridTemplateRows\",\"MSGridTemplateRows\",\"OGridTemplateRows\",\"height\",\"MozHeight\",\"WebkitHeight\",\"MSHeight\",\"OHeight\",\"hyphens\",\"MozHyphens\",\"WebkitHyphens\",\"MSHyphens\",\"OHyphens\",\"hz\",\"MozHz\",\"WebkitHz\",\"MSHz\",\"OHz\",\"imageOrientation\",\"MozImageOrientation\",\"WebkitImageOrientation\",\"MSImageOrientation\",\"OImageOrientation\",\"imageRendering\",\"MozImageRendering\",\"WebkitImageRendering\",\"MSImageRendering\",\"OImageRendering\",\"imageResolution\",\"MozImageResolution\",\"WebkitImageResolution\",\"MSImageResolution\",\"OImageResolution\",\"imeMode\",\"MozImeMode\",\"WebkitImeMode\",\"MSImeMode\",\"OImeMode\",\"in\",\"MozIn\",\"WebkitIn\",\"MSIn\",\"OIn\",\"inherit\",\"MozInherit\",\"WebkitInherit\",\"MSInherit\",\"OInherit\",\"initial\",\"MozInitial\",\"WebkitInitial\",\"MSInitial\",\"OInitial\",\"inlineSize\",\"MozInlineSize\",\"WebkitInlineSize\",\"MSInlineSize\",\"OInlineSize\",\"isolation\",\"MozIsolation\",\"WebkitIsolation\",\"MSIsolation\",\"OIsolation\",\"justifyContent\",\"MozJustifyContent\",\"WebkitJustifyContent\",\"MSJustifyContent\",\"OJustifyContent\",\"khz\",\"MozKhz\",\"WebkitKhz\",\"MSKhz\",\"OKhz\",\"left\",\"MozLeft\",\"WebkitLeft\",\"MSLeft\",\"OLeft\",\"letterSpacing\",\"MozLetterSpacing\",\"WebkitLetterSpacing\",\"MSLetterSpacing\",\"OLetterSpacing\",\"lineBreak\",\"MozLineBreak\",\"WebkitLineBreak\",\"MSLineBreak\",\"OLineBreak\",\"lineHeight\",\"MozLineHeight\",\"WebkitLineHeight\",\"MSLineHeight\",\"OLineHeight\",\"listStyle\",\"MozListStyle\",\"WebkitListStyle\",\"MSListStyle\",\"OListStyle\",\"listStyleImage\",\"MozListStyleImage\",\"WebkitListStyleImage\",\"MSListStyleImage\",\"OListStyleImage\",\"listStylePosition\",\"MozListStylePosition\",\"WebkitListStylePosition\",\"MSListStylePosition\",\"OListStylePosition\",\"listStyleType\",\"MozListStyleType\",\"WebkitListStyleType\",\"MSListStyleType\",\"OListStyleType\",\"margin\",\"MozMargin\",\"WebkitMargin\",\"MSMargin\",\"OMargin\",\"marginBlockEnd\",\"MozMarginBlockEnd\",\"WebkitMarginBlockEnd\",\"MSMarginBlockEnd\",\"OMarginBlockEnd\",\"marginBlockStart\",\"MozMarginBlockStart\",\"WebkitMarginBlockStart\",\"MSMarginBlockStart\",\"OMarginBlockStart\",\"marginBottom\",\"MozMarginBottom\",\"WebkitMarginBottom\",\"MSMarginBottom\",\"OMarginBottom\",\"marginInlineEnd\",\"MozMarginInlineEnd\",\"WebkitMarginInlineEnd\",\"MSMarginInlineEnd\",\"OMarginInlineEnd\",\"marginInlineStart\",\"MozMarginInlineStart\",\"WebkitMarginInlineStart\",\"MSMarginInlineStart\",\"OMarginInlineStart\",\"marginLeft\",\"MozMarginLeft\",\"WebkitMarginLeft\",\"MSMarginLeft\",\"OMarginLeft\",\"marginRight\",\"MozMarginRight\",\"WebkitMarginRight\",\"MSMarginRight\",\"OMarginRight\",\"marginTop\",\"MozMarginTop\",\"WebkitMarginTop\",\"MSMarginTop\",\"OMarginTop\",\"mask\",\"MozMask\",\"WebkitMask\",\"MSMask\",\"OMask\",\"maskClip\",\"MozMaskClip\",\"WebkitMaskClip\",\"MSMaskClip\",\"OMaskClip\",\"maskComposite\",\"MozMaskComposite\",\"WebkitMaskComposite\",\"MSMaskComposite\",\"OMaskComposite\",\"maskImage\",\"MozMaskImage\",\"WebkitMaskImage\",\"MSMaskImage\",\"OMaskImage\",\"maskMode\",\"MozMaskMode\",\"WebkitMaskMode\",\"MSMaskMode\",\"OMaskMode\",\"maskOrigin\",\"MozMaskOrigin\",\"WebkitMaskOrigin\",\"MSMaskOrigin\",\"OMaskOrigin\",\"maskPosition\",\"MozMaskPosition\",\"WebkitMaskPosition\",\"MSMaskPosition\",\"OMaskPosition\",\"maskRepeat\",\"MozMaskRepeat\",\"WebkitMaskRepeat\",\"MSMaskRepeat\",\"OMaskRepeat\",\"maskSize\",\"MozMaskSize\",\"WebkitMaskSize\",\"MSMaskSize\",\"OMaskSize\",\"maskType\",\"MozMaskType\",\"WebkitMaskType\",\"MSMaskType\",\"OMaskType\",\"maxHeight\",\"MozMaxHeight\",\"WebkitMaxHeight\",\"MSMaxHeight\",\"OMaxHeight\",\"maxWidth\",\"MozMaxWidth\",\"WebkitMaxWidth\",\"MSMaxWidth\",\"OMaxWidth\",\"minBlockSize\",\"MozMinBlockSize\",\"WebkitMinBlockSize\",\"MSMinBlockSize\",\"OMinBlockSize\",\"minHeight\",\"MozMinHeight\",\"WebkitMinHeight\",\"MSMinHeight\",\"OMinHeight\",\"minInlineSize\",\"MozMinInlineSize\",\"WebkitMinInlineSize\",\"MSMinInlineSize\",\"OMinInlineSize\",\"minWidth\",\"MozMinWidth\",\"WebkitMinWidth\",\"MSMinWidth\",\"OMinWidth\",\"mixBlendMode\",\"MozMixBlendMode\",\"WebkitMixBlendMode\",\"MSMixBlendMode\",\"OMixBlendMode\",\"mm\",\"MozMm\",\"WebkitMm\",\"MSMm\",\"OMm\",\"ms\",\"MozMs\",\"WebkitMs\",\"MSMs\",\"OMs\",\"objectFit\",\"MozObjectFit\",\"WebkitObjectFit\",\"MSObjectFit\",\"OObjectFit\",\"objectPosition\",\"MozObjectPosition\",\"WebkitObjectPosition\",\"MSObjectPosition\",\"OObjectPosition\",\"offsetBlockEnd\",\"MozOffsetBlockEnd\",\"WebkitOffsetBlockEnd\",\"MSOffsetBlockEnd\",\"OOffsetBlockEnd\",\"offsetBlockStart\",\"MozOffsetBlockStart\",\"WebkitOffsetBlockStart\",\"MSOffsetBlockStart\",\"OOffsetBlockStart\",\"offsetInlineEnd\",\"MozOffsetInlineEnd\",\"WebkitOffsetInlineEnd\",\"MSOffsetInlineEnd\",\"OOffsetInlineEnd\",\"offsetInlineStart\",\"MozOffsetInlineStart\",\"WebkitOffsetInlineStart\",\"MSOffsetInlineStart\",\"OOffsetInlineStart\",\"opacity\",\"MozOpacity\",\"WebkitOpacity\",\"MSOpacity\",\"OOpacity\",\"order\",\"MozOrder\",\"WebkitOrder\",\"MSOrder\",\"OOrder\",\"orphans\",\"MozOrphans\",\"WebkitOrphans\",\"MSOrphans\",\"OOrphans\",\"outline\",\"MozOutline\",\"WebkitOutline\",\"MSOutline\",\"OOutline\",\"outlineColor\",\"MozOutlineColor\",\"WebkitOutlineColor\",\"MSOutlineColor\",\"OOutlineColor\",\"outlineOffset\",\"MozOutlineOffset\",\"WebkitOutlineOffset\",\"MSOutlineOffset\",\"OOutlineOffset\",\"outlineStyle\",\"MozOutlineStyle\",\"WebkitOutlineStyle\",\"MSOutlineStyle\",\"OOutlineStyle\",\"outlineWidth\",\"MozOutlineWidth\",\"WebkitOutlineWidth\",\"MSOutlineWidth\",\"OOutlineWidth\",\"overflow\",\"MozOverflow\",\"WebkitOverflow\",\"MSOverflow\",\"OOverflow\",\"overflowWrap\",\"MozOverflowWrap\",\"WebkitOverflowWrap\",\"MSOverflowWrap\",\"OOverflowWrap\",\"overflowX\",\"MozOverflowX\",\"WebkitOverflowX\",\"MSOverflowX\",\"OOverflowX\",\"overflowY\",\"MozOverflowY\",\"WebkitOverflowY\",\"MSOverflowY\",\"OOverflowY\",\"padding\",\"MozPadding\",\"WebkitPadding\",\"MSPadding\",\"OPadding\",\"paddingBlockEnd\",\"MozPaddingBlockEnd\",\"WebkitPaddingBlockEnd\",\"MSPaddingBlockEnd\",\"OPaddingBlockEnd\",\"paddingBlockStart\",\"MozPaddingBlockStart\",\"WebkitPaddingBlockStart\",\"MSPaddingBlockStart\",\"OPaddingBlockStart\",\"paddingBottom\",\"MozPaddingBottom\",\"WebkitPaddingBottom\",\"MSPaddingBottom\",\"OPaddingBottom\",\"paddingInlineEnd\",\"MozPaddingInlineEnd\",\"WebkitPaddingInlineEnd\",\"MSPaddingInlineEnd\",\"OPaddingInlineEnd\",\"paddingInlineStart\",\"MozPaddingInlineStart\",\"WebkitPaddingInlineStart\",\"MSPaddingInlineStart\",\"OPaddingInlineStart\",\"paddingLeft\",\"MozPaddingLeft\",\"WebkitPaddingLeft\",\"MSPaddingLeft\",\"OPaddingLeft\",\"paddingRight\",\"MozPaddingRight\",\"WebkitPaddingRight\",\"MSPaddingRight\",\"OPaddingRight\",\"paddingTop\",\"MozPaddingTop\",\"WebkitPaddingTop\",\"MSPaddingTop\",\"OPaddingTop\",\"pageBreakAfter\",\"MozPageBreakAfter\",\"WebkitPageBreakAfter\",\"MSPageBreakAfter\",\"OPageBreakAfter\",\"pageBreakBefore\",\"MozPageBreakBefore\",\"WebkitPageBreakBefore\",\"MSPageBreakBefore\",\"OPageBreakBefore\",\"pageBreakInside\",\"MozPageBreakInside\",\"WebkitPageBreakInside\",\"MSPageBreakInside\",\"OPageBreakInside\",\"pc\",\"MozPc\",\"WebkitPc\",\"MSPc\",\"OPc\",\"perspective\",\"MozPerspective\",\"WebkitPerspective\",\"MSPerspective\",\"OPerspective\",\"perspectiveOrigin\",\"MozPerspectiveOrigin\",\"WebkitPerspectiveOrigin\",\"MSPerspectiveOrigin\",\"OPerspectiveOrigin\",\"pointerEvents\",\"MozPointerEvents\",\"WebkitPointerEvents\",\"MSPointerEvents\",\"OPointerEvents\",\"position\",\"MozPosition\",\"WebkitPosition\",\"MSPosition\",\"OPosition\",\"pt\",\"MozPt\",\"WebkitPt\",\"MSPt\",\"OPt\",\"px\",\"MozPx\",\"WebkitPx\",\"MSPx\",\"OPx\",\"q\",\"MozQ\",\"WebkitQ\",\"MSQ\",\"OQ\",\"quotes\",\"MozQuotes\",\"WebkitQuotes\",\"MSQuotes\",\"OQuotes\",\"rad\",\"MozRad\",\"WebkitRad\",\"MSRad\",\"ORad\",\"rem\",\"MozRem\",\"WebkitRem\",\"MSRem\",\"ORem\",\"resize\",\"MozResize\",\"WebkitResize\",\"MSResize\",\"OResize\",\"revert\",\"MozRevert\",\"WebkitRevert\",\"MSRevert\",\"ORevert\",\"right\",\"MozRight\",\"WebkitRight\",\"MSRight\",\"ORight\",\"rubyAlign\",\"MozRubyAlign\",\"WebkitRubyAlign\",\"MSRubyAlign\",\"ORubyAlign\",\"rubyMerge\",\"MozRubyMerge\",\"WebkitRubyMerge\",\"MSRubyMerge\",\"ORubyMerge\",\"rubyPosition\",\"MozRubyPosition\",\"WebkitRubyPosition\",\"MSRubyPosition\",\"ORubyPosition\",\"s\",\"MozS\",\"WebkitS\",\"MSS\",\"OS\",\"scrollBehavior\",\"MozScrollBehavior\",\"WebkitScrollBehavior\",\"MSScrollBehavior\",\"OScrollBehavior\",\"scrollSnapCoordinate\",\"MozScrollSnapCoordinate\",\"WebkitScrollSnapCoordinate\",\"MSScrollSnapCoordinate\",\"OScrollSnapCoordinate\",\"scrollSnapDestination\",\"MozScrollSnapDestination\",\"WebkitScrollSnapDestination\",\"MSScrollSnapDestination\",\"OScrollSnapDestination\",\"scrollSnapType\",\"MozScrollSnapType\",\"WebkitScrollSnapType\",\"MSScrollSnapType\",\"OScrollSnapType\",\"shapeImageThreshold\",\"MozShapeImageThreshold\",\"WebkitShapeImageThreshold\",\"MSShapeImageThreshold\",\"OShapeImageThreshold\",\"shapeMargin\",\"MozShapeMargin\",\"WebkitShapeMargin\",\"MSShapeMargin\",\"OShapeMargin\",\"shapeOutside\",\"MozShapeOutside\",\"WebkitShapeOutside\",\"MSShapeOutside\",\"OShapeOutside\",\"tabSize\",\"MozTabSize\",\"WebkitTabSize\",\"MSTabSize\",\"OTabSize\",\"tableLayout\",\"MozTableLayout\",\"WebkitTableLayout\",\"MSTableLayout\",\"OTableLayout\",\"textAlign\",\"MozTextAlign\",\"WebkitTextAlign\",\"MSTextAlign\",\"OTextAlign\",\"textAlignLast\",\"MozTextAlignLast\",\"WebkitTextAlignLast\",\"MSTextAlignLast\",\"OTextAlignLast\",\"textCombineUpright\",\"MozTextCombineUpright\",\"WebkitTextCombineUpright\",\"MSTextCombineUpright\",\"OTextCombineUpright\",\"textDecoration\",\"MozTextDecoration\",\"WebkitTextDecoration\",\"MSTextDecoration\",\"OTextDecoration\",\"textDecorationColor\",\"MozTextDecorationColor\",\"WebkitTextDecorationColor\",\"MSTextDecorationColor\",\"OTextDecorationColor\",\"textDecorationLine\",\"MozTextDecorationLine\",\"WebkitTextDecorationLine\",\"MSTextDecorationLine\",\"OTextDecorationLine\",\"textDecorationStyle\",\"MozTextDecorationStyle\",\"WebkitTextDecorationStyle\",\"MSTextDecorationStyle\",\"OTextDecorationStyle\",\"textEmphasis\",\"MozTextEmphasis\",\"WebkitTextEmphasis\",\"MSTextEmphasis\",\"OTextEmphasis\",\"textEmphasisColor\",\"MozTextEmphasisColor\",\"WebkitTextEmphasisColor\",\"MSTextEmphasisColor\",\"OTextEmphasisColor\",\"textEmphasisPosition\",\"MozTextEmphasisPosition\",\"WebkitTextEmphasisPosition\",\"MSTextEmphasisPosition\",\"OTextEmphasisPosition\",\"textEmphasisStyle\",\"MozTextEmphasisStyle\",\"WebkitTextEmphasisStyle\",\"MSTextEmphasisStyle\",\"OTextEmphasisStyle\",\"textIndent\",\"MozTextIndent\",\"WebkitTextIndent\",\"MSTextIndent\",\"OTextIndent\",\"textOrientation\",\"MozTextOrientation\",\"WebkitTextOrientation\",\"MSTextOrientation\",\"OTextOrientation\",\"textOverflow\",\"MozTextOverflow\",\"WebkitTextOverflow\",\"MSTextOverflow\",\"OTextOverflow\",\"textRendering\",\"MozTextRendering\",\"WebkitTextRendering\",\"MSTextRendering\",\"OTextRendering\",\"textShadow\",\"MozTextShadow\",\"WebkitTextShadow\",\"MSTextShadow\",\"OTextShadow\",\"textTransform\",\"MozTextTransform\",\"WebkitTextTransform\",\"MSTextTransform\",\"OTextTransform\",\"textUnderlinePosition\",\"MozTextUnderlinePosition\",\"WebkitTextUnderlinePosition\",\"MSTextUnderlinePosition\",\"OTextUnderlinePosition\",\"top\",\"MozTop\",\"WebkitTop\",\"MSTop\",\"OTop\",\"touchAction\",\"MozTouchAction\",\"WebkitTouchAction\",\"MSTouchAction\",\"OTouchAction\",\"transform\",\"MozTransform\",\"WebkitTransform\",\"msTransform\",\"OTransform\",\"transformBox\",\"MozTransformBox\",\"WebkitTransformBox\",\"MSTransformBox\",\"OTransformBox\",\"transformOrigin\",\"MozTransformOrigin\",\"WebkitTransformOrigin\",\"MSTransformOrigin\",\"OTransformOrigin\",\"transformStyle\",\"MozTransformStyle\",\"WebkitTransformStyle\",\"MSTransformStyle\",\"OTransformStyle\",\"transition\",\"MozTransition\",\"WebkitTransition\",\"MSTransition\",\"OTransition\",\"transitionDelay\",\"MozTransitionDelay\",\"WebkitTransitionDelay\",\"MSTransitionDelay\",\"OTransitionDelay\",\"transitionDuration\",\"MozTransitionDuration\",\"WebkitTransitionDuration\",\"MSTransitionDuration\",\"OTransitionDuration\",\"transitionProperty\",\"MozTransitionProperty\",\"WebkitTransitionProperty\",\"MSTransitionProperty\",\"OTransitionProperty\",\"transitionTimingFunction\",\"MozTransitionTimingFunction\",\"WebkitTransitionTimingFunction\",\"MSTransitionTimingFunction\",\"OTransitionTimingFunction\",\"turn\",\"MozTurn\",\"WebkitTurn\",\"MSTurn\",\"OTurn\",\"unicodeBidi\",\"MozUnicodeBidi\",\"WebkitUnicodeBidi\",\"MSUnicodeBidi\",\"OUnicodeBidi\",\"unset\",\"MozUnset\",\"WebkitUnset\",\"MSUnset\",\"OUnset\",\"verticalAlign\",\"MozVerticalAlign\",\"WebkitVerticalAlign\",\"MSVerticalAlign\",\"OVerticalAlign\",\"vh\",\"MozVh\",\"WebkitVh\",\"MSVh\",\"OVh\",\"visibility\",\"MozVisibility\",\"WebkitVisibility\",\"MSVisibility\",\"OVisibility\",\"vmax\",\"MozVmax\",\"WebkitVmax\",\"MSVmax\",\"OVmax\",\"vmin\",\"MozVmin\",\"WebkitVmin\",\"MSVmin\",\"OVmin\",\"vw\",\"MozVw\",\"WebkitVw\",\"MSVw\",\"OVw\",\"whiteSpace\",\"MozWhiteSpace\",\"WebkitWhiteSpace\",\"MSWhiteSpace\",\"OWhiteSpace\",\"widows\",\"MozWidows\",\"WebkitWidows\",\"MSWidows\",\"OWidows\",\"width\",\"MozWidth\",\"WebkitWidth\",\"MSWidth\",\"OWidth\",\"willChange\",\"MozWillChange\",\"WebkitWillChange\",\"MSWillChange\",\"OWillChange\",\"wordBreak\",\"MozWordBreak\",\"WebkitWordBreak\",\"MSWordBreak\",\"OWordBreak\",\"wordSpacing\",\"MozWordSpacing\",\"WebkitWordSpacing\",\"MSWordSpacing\",\"OWordSpacing\",\"wordWrap\",\"MozWordWrap\",\"WebkitWordWrap\",\"MSWordWrap\",\"OWordWrap\",\"writingMode\",\"MozWritingMode\",\"WebkitWritingMode\",\"MSWritingMode\",\"OWritingMode\",\"zIndex\",\"MozZIndex\",\"WebkitZIndex\",\"MSZIndex\",\"OZIndex\",\"fontSize\",\"MozFontSize\",\"WebkitFontSize\",\"MSFontSize\",\"OFontSize\",\"flex\",\"MozFlex\",\"WebkitFlex\",\"MSFlex\",\"OFlex\",\"fr\",\"MozFr\",\"WebkitFr\",\"MSFr\",\"OFr\",\"overflowScrolling\",\"MozOverflowScrolling\",\"WebkitOverflowScrolling\",\"MSOverflowScrolling\",\"OOverflowScrolling\"]},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}o(t,e);var n=t.prototype;return n.componentDidMount=function(){this.checkFocus()},n.componentDidUpdate=function(){this.checkFocus()},n.checkFocus=function(){this.props.selected&&this.props.focus&&this.node.focus()},n.render=function(){var e,t=this,n=this.props,o=n.children,a=n.className,s=n.disabled,u=n.disabledClassName,d=(n.focus,n.id),f=n.panelId,h=n.selected,p=n.selectedClassName,m=n.tabIndex,g=n.tabRef,v=i(n,[\"children\",\"className\",\"disabled\",\"disabledClassName\",\"focus\",\"id\",\"panelId\",\"selected\",\"selectedClassName\",\"tabIndex\",\"tabRef\"]);return l.a.createElement(\"li\",r({},v,{className:c()(a,(e={},e[p]=h,e[u]=s,e)),ref:function(e){t.node=e,g&&g(e)},role:\"tab\",id:d,\"aria-selected\":h?\"true\":\"false\",\"aria-disabled\":s?\"true\":\"false\",\"aria-controls\":f,tabIndex:m||(h?\"0\":null)}),o)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab\",disabledClassName:\"react-tabs__tab--disabled\",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:\"react-tabs__tab--selected\"},d.propTypes={},d.tabsRole=\"Tab\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,o=i(e,[\"children\",\"className\"]);return l.a.createElement(\"ul\",r({},o,{className:c()(n),role:\"tablist\"}),t)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab-list\"},d.propTypes={},d.tabsRole=\"TabList\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return d});var a=n(23),s=(n.n(a),n(2)),l=n.n(s),u=n(11),c=n.n(u),d=function(e){function t(){return e.apply(this,arguments)||this}return o(t,e),t.prototype.render=function(){var e,t=this.props,n=t.children,o=t.className,a=t.forceRender,s=t.id,u=t.selected,d=t.selectedClassName,f=t.tabId,h=i(t,[\"children\",\"className\",\"forceRender\",\"id\",\"selected\",\"selectedClassName\",\"tabId\"]);return l.a.createElement(\"div\",r({},h,{className:c()(o,(e={},e[d]=u,e)),role:\"tabpanel\",id:s,\"aria-labelledby\":f}),a||u?n:null)},t}(s.Component);d.defaultProps={className:\"react-tabs__tab-panel\",forceRender:!1,selectedClassName:\"react-tabs__tab-panel--selected\"},d.propTypes={},d.tabsRole=\"TabPanel\"},function(e,t,n){\"use strict\";function r(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,\"a\",function(){return c});var o=n(23),a=(n.n(o),n(2)),s=n.n(a),l=(n(150),n(416)),u=n(149),c=function(e){function t(n){var r;return r=e.call(this,n)||this,r.handleSelected=function(e,n,i){if(\"function\"!=typeof r.props.onSelect||!1!==r.props.onSelect(e,n,i)){var o={focus:\"keydown\"===i.type};t.inUncontrolledMode(r.props)&&(o.selectedIndex=e),r.setState(o)}},r.state=t.copyPropsToState(r.props,{},r.props.defaultFocus),r}i(t,e);var o=t.prototype;return o.componentWillReceiveProps=function(e){this.setState(function(n){return t.copyPropsToState(e,n)})},t.inUncontrolledMode=function(e){return null===e.selectedIndex},t.copyPropsToState=function(e,r,i){void 0===i&&(i=!1);var o={focus:i};if(t.inUncontrolledMode(e)){var a=n.i(u.a)(e.children)-1,s=null;s=null!=r.selectedIndex?Math.min(r.selectedIndex,a):e.defaultIndex||0,o.selectedIndex=s}return o},o.render=function(){var e=this.props,t=e.children,n=(e.defaultIndex,e.defaultFocus,r(e,[\"children\",\"defaultIndex\",\"defaultFocus\"]));return n.focus=this.state.focus,n.onSelect=this.handleSelected,null!=this.state.selectedIndex&&(n.selectedIndex=this.state.selectedIndex),s.a.createElement(l.a,n,t)},t}(a.Component);c.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null},c.propTypes={},c.tabsRole=\"Tabs\"},function(e,t,n){\"use strict\";function r(){return r=Object.assign||function(e){for(var t=1;t=0||(i[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){return\"getAttribute\"in e&&\"tab\"===e.getAttribute(\"role\")}function s(e){return\"true\"===e.getAttribute(\"aria-disabled\")}n.d(t,\"a\",function(){return y});var l,u=n(23),c=(n.n(u),n(2)),d=n.n(c),f=n(11),h=n.n(f),p=n(151),m=(n(150),n(149)),g=n(100),v=n(67);try{l=!(\"undefined\"==typeof window||!window.document||!window.document.activeElement)}catch(e){l=!1}var y=function(e){function t(){for(var t,n,r=arguments.length,i=new Array(r),o=0;o=this.getTabsCount()||this.props.onSelect(e,this.props.selectedIndex,t)},u.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!s(this.getTab(t)))return t;return e},u.getTabsCount=function(){return n.i(m.a)(this.props.children)},u.getPanelsCount=function(){return n.i(m.b)(this.props.children)},u.getTab=function(e){return this.tabNodes[\"tabs-\"+e]},u.getChildren=function(){var e=this,t=0,r=this.props,i=r.children,o=r.disabledTabClassName,a=r.focus,s=r.forceRenderTabPanel,u=r.selectedIndex,f=r.selectedTabClassName,h=r.selectedTabPanelClassName;this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[];for(var m=this.tabIds.length-this.getTabsCount();m++<0;)this.tabIds.push(n.i(p.b)()),this.panelIds.push(n.i(p.b)());return n.i(g.a)(i,function(r){var i=r;if(n.i(v.a)(r)){var p=0,m=!1;l&&(m=d.a.Children.toArray(r.props.children).filter(v.b).some(function(t,n){return document.activeElement===e.getTab(n)})),i=n.i(c.cloneElement)(r,{children:n.i(g.a)(r.props.children,function(t){var r=\"tabs-\"+p,i=u===p,s={tabRef:function(t){e.tabNodes[r]=t},id:e.tabIds[p],panelId:e.panelIds[p],selected:i,focus:i&&(a||m)};return f&&(s.selectedClassName=f),o&&(s.disabledClassName=o),p++,n.i(c.cloneElement)(t,s)})})}else if(n.i(v.c)(r)){var y={id:e.panelIds[t],tabId:e.tabIds[t],selected:u===t};s&&(y.forceRender=s),h&&(y.selectedClassName=h),t++,i=n.i(c.cloneElement)(r,y)}return i})},u.isTabFromContainer=function(e){if(!a(e))return!1;var t=e.parentElement;do{if(t===this.node)return!0;if(t.getAttribute(\"data-tabs\"))break;t=t.parentElement}while(t);return!1},u.render=function(){var e=this,t=this.props,n=(t.children,t.className),o=(t.disabledTabClassName,t.domRef),a=(t.focus,t.forceRenderTabPanel,t.onSelect,t.selectedIndex,t.selectedTabClassName,t.selectedTabPanelClassName,i(t,[\"children\",\"className\",\"disabledTabClassName\",\"domRef\",\"focus\",\"forceRenderTabPanel\",\"onSelect\",\"selectedIndex\",\"selectedTabClassName\",\"selectedTabPanelClassName\"]));return d.a.createElement(\"div\",r({},a,{className:h()(n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,o&&o(t)},\"data-tabs\":!0}),this.getChildren())},t}(c.Component);y.defaultProps={className:\"react-tabs\",focus:!1},y.propTypes={}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(415),i=n(413),o=n(412),a=n(414),s=n(151);n.d(t,\"Tab\",function(){return o.a}),n.d(t,\"TabList\",function(){return i.a}),n.d(t,\"TabPanel\",function(){return a.a}),n.d(t,\"Tabs\",function(){return r.a}),n.d(t,\"resetIdCounter\",function(){return s.a})},function(e,t,n){\"use strict\";function r(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;rD.length&&D.push(e)}function h(e,t,n,i){var o=typeof e;\"undefined\"!==o&&\"boolean\"!==o||(e=null);var a=!1;if(null===e)a=!0;else switch(o){case\"string\":case\"number\":a=!0;break;case\"object\":switch(e.$$typeof){case w:case M:case S:case E:a=!0}}if(a)return n(i,e,\"\"===t?\".\"+p(e,0):t),1;if(a=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var s=0;s0;)t[r]=arguments[r+1];return t.reduce(function(t,r){return t+n(e[\"border-\"+r+\"-width\"])},0)}function i(e){for(var t=[\"top\",\"right\",\"bottom\",\"left\"],r={},i=0,o=t;i0},b.prototype.connect_=function(){f&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},b.prototype.disconnect_=function(){f&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},b.prototype.onTransitionEnd_=function(e){var t=e.propertyName;void 0===t&&(t=\"\"),v.some(function(e){return!!~t.indexOf(e)})&&this.refresh()},b.getInstance=function(){return this.instance_||(this.instance_=new b),this.instance_},b.instance_=null;var x=function(e,t){for(var n=0,r=Object.keys(t);n0};var k=\"undefined\"!=typeof WeakMap?new WeakMap:new d,O=function(e){if(!(this instanceof O))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var t=b.getInstance(),n=new T(e,t,this);k.set(this,n)};[\"observe\",\"unobserve\",\"disconnect\"].forEach(function(e){O.prototype[e]=function(){return(t=k.get(this))[e].apply(t,arguments);var t}});var P=function(){return void 0!==h.ResizeObserver?h.ResizeObserver:O}();t.default=P}.call(t,n(68))},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;ta+1e3&&(l.update(1e3*s/(e-a),100),a=e,s=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){o=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,l=48*a,u=3*a,c=2*a,d=3*a,f=15*a,h=74*a,p=30*a,m=document.createElement(\"canvas\");m.width=s,m.height=l,m.style.cssText=\"width:80px;height:48px\";var g=m.getContext(\"2d\");return g.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\",g.textBaseline=\"top\",g.fillStyle=n,g.fillRect(0,0,s,l),g.fillStyle=t,g.fillText(e,u,c),g.fillRect(d,f,h,p),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,h,p),{dom:m,update:function(l,v){r=Math.min(r,l),i=Math.max(i,l),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(o(l)+\" \"+e+\" (\"+o(r)+\"-\"+o(i)+\")\",u,c),g.drawImage(m,d+a,f,h-a,p,d,f,h-a,p),g.fillRect(d+h-a,f,a,p),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+h-a,f,a,o((1-l/v)*p))}}},e})},function(e,t){e.exports=function(e){var t=\"undefined\"!=typeof window&&window.location;if(!t)throw new Error(\"fixUrls requires window.location\");if(!e||\"string\"!=typeof e)return e;var n=t.protocol+\"//\"+t.host,r=n+t.pathname.replace(/\\/[^\\/]*$/,\"/\");return e.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(e,t){var i=t.trim().replace(/^\"(.*)\"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});if(/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(i))return e;var o;return o=0===i.indexOf(\"//\")?i:0===i.indexOf(\"/\")?n+i:r+i.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(o)+\")\"})}},function(e,t,n){var r=n(363),i=n(394);e.exports=function(e){function t(n,r){if(!(this instanceof t))return new t(n,r);e.BufferGeometry.call(this),Array.isArray(n)?r=r||{}:\"object\"==typeof n&&(r=n,n=[]),r=r||{},this.addAttribute(\"position\",new e.BufferAttribute(void 0,3)),this.addAttribute(\"lineNormal\",new e.BufferAttribute(void 0,2)),this.addAttribute(\"lineMiter\",new e.BufferAttribute(void 0,1)),r.distances&&this.addAttribute(\"lineDistance\",new e.BufferAttribute(void 0,1)),\"function\"==typeof this.setIndex?this.setIndex(new e.BufferAttribute(void 0,1)):this.addAttribute(\"index\",new e.BufferAttribute(void 0,1)),this.update(n,r.closed)}return r(t,e.BufferGeometry),t.prototype.update=function(e,t){e=e||[];var n=i(e,t);t&&(e=e.slice(),e.push(e[0]),n.push(n[0]));var r=this.getAttribute(\"position\"),o=this.getAttribute(\"lineNormal\"),a=this.getAttribute(\"lineMiter\"),s=this.getAttribute(\"lineDistance\"),l=\"function\"==typeof this.getIndex?this.getIndex():this.getAttribute(\"index\"),u=Math.max(0,6*(e.length-1));if(!r.array||e.length!==r.array.length/3/2){var c=2*e.length;r.array=new Float32Array(3*c),o.array=new Float32Array(2*c),a.array=new Float32Array(c),l.array=new Uint16Array(u),s&&(s.array=new Float32Array(c))}void 0!==r.count&&(r.count=c),r.needsUpdate=!0,void 0!==o.count&&(o.count=c),o.needsUpdate=!0,void 0!==a.count&&(a.count=c),a.needsUpdate=!0,void 0!==l.count&&(l.count=u),l.needsUpdate=!0,s&&(void 0!==s.count&&(s.count=c),s.needsUpdate=!0);var d=0,f=0,h=0,p=l.array;e.forEach(function(e,t,n){var i=d;if(p[f++]=i+0,p[f++]=i+1,p[f++]=i+2,p[f++]=i+2,p[f++]=i+1,p[f++]=i+3,r.setXYZ(d++,e[0],e[1],0),r.setXYZ(d++,e[0],e[1],0),s){var o=t/(n.length-1);s.setX(h++,o),s.setX(h++,o)}});var m=0,g=0;n.forEach(function(e){var t=e[0],n=e[1];o.setXY(m++,t[0],t[1]),o.setXY(m++,t[0],t[1]),a.setX(g++,-n),a.setX(g++,n)})},t}},function(e,t,n){var r=n(94);e.exports=function(e){return function(t){t=t||{};var n=\"number\"==typeof t.thickness?t.thickness:.1,i=\"number\"==typeof t.opacity?t.opacity:1,o=null!==t.diffuse?t.diffuse:16777215;delete t.thickness,delete t.opacity,delete t.diffuse,delete t.precision;var a=r({uniforms:{thickness:{type:\"f\",value:n},opacity:{type:\"f\",value:i},diffuse:{type:\"c\",value:new e.Color(o)}},vertexShader:[\"uniform float thickness;\",\"attribute float lineMiter;\",\"attribute vec2 lineNormal;\",\"void main() {\",\"vec3 pointPos = position.xyz + vec3(lineNormal * thickness / 2.0 * lineMiter, 0.0);\",\"gl_Position = projectionMatrix * modelViewMatrix * vec4(pointPos, 1.0);\",\"}\"].join(\"\\n\"),fragmentShader:[\"uniform vec3 diffuse;\",\"uniform float opacity;\",\"void main() {\",\"gl_FragColor = vec4(diffuse, opacity);\",\"}\"].join(\"\\n\")},t);return(0|(parseInt(e.REVISION,10)||0))<72&&(a.attributes={lineMiter:{type:\"f\",value:0},lineNormal:{type:\"v2\",value:new e.Vector2}}),a}}},function(e,t,n){e.exports=n.p+\"2cff479783c9bacb71df63a81871313d.mtl\"},function(e,t,n){e.exports=n.p+\"0ccca57f7e42eacf63e554cdd686cc6c.obj\"},function(e,t,n){e.exports=n.p+\"1e3652dce4bd6ce5389b0d1bd6ce743d.mtl\"},function(e,t,n){e.exports=n.p+\"6fc734a2eae468fff41d6f461beb3b78.obj\"},function(e,t,n){e.exports=n.p+\"c67591a7704dd9ff8b57ef65b6bd0521.mtl\"},function(e,t,n){e.exports=n.p+\"086924bdd797c6de1ae692b0c77b9d63.obj\"},function(e,t,n){e.exports=n.p+\"assets/2SWzLX-7QbdGBE7M5ZWlKW.png\"},function(e,t,n){e.exports=n.p+\"assets/2Hmre0wF05Klrs139-ZY0r.png\"},function(e,t,n){e.exports=n.p+\"assets/3b1qXlLNlh1JdOPDUdqa-8.png\"},function(e,t,n){e.exports=n.p+\"assets/1Ai9E9Bz8-jQ7YzBpygSGc.png\"},function(e,t,n){e.exports=n.p+\"assets/35Rggijw-nT-nmUQkInMB_.png\"},function(e,t,n){e.exports=n.p+\"assets/1BJCXvLGr1PIZXGGh9rwLV.png\"},function(e,t,n){e.exports=n.p+\"assets/2gVqm2AoTjShKSs5lxRr_R.png\"},function(e,t,n){e.exports=n.p+\"assets/3GAX8s14tQy5tq079SD8YY.png\"},function(e,t,n){e.exports=n.p+\"assets/wn_PQEy_vimsxhQ7EZ8LE.png\"},function(e,t,n){e.exports=n.p+\"assets/1-rBsTsimVPq9Qvwp-XfeR.png\"},function(e,t,n){e.exports=n.p+\"assets/1LaMLjWThewqKxuNxPdfHU.png\"},function(e,t,n){e.exports=n.p+\"assets/2DpH0wi9pGpKWdsutC0hNP.png\"},function(e,t,n){e.exports=n.p+\"assets/2jUpx4UViU4iVn5lbLXJ_3.png\"},function(e,t,n){e.exports=n.p+\"assets/1P8euPQGX-PAHqDcd59x8N.png\"},function(e,t,n){e.exports=n.p+\"assets/13rNxhl0PSnIky1olblewP.png\"},function(e,t,n){e.exports=n.p+\"assets/Fs7YNEnhTMdtlphXUJJqJ.png\"},function(e,t,n){e.exports=n.p+\"assets/23he2B-6MypxUuDoASUNFz.png\"},function(e,t,n){e.exports=n.p+\"assets/3pLzP9789nO8_FTpjRriZI.png\"},function(e,t,n){e.exports=n.p+\"assets/-o13Bp7j4SeUkzdJQ05wX.png\"},function(e,t,n){e.exports=n.p+\"assets/13rNxhl0PSnIky1olblewP.png\"},function(e,t,n){e.exports=n.p+\"assets/Fs7YNEnhTMdtlphXUJJqJ.png\"},function(e,t,n){e.exports=n.p+\"assets/2NEFng8KXMmYxDfgmv-0Av.png\"},function(e,t,n){e.exports=n.p+\"assets/1JucMLglOBf7xoRm1cTCGq.png\"},function(e,t,n){e.exports=n.p+\"assets/1jk30oZGm94PgH-uOgowzv.gif\"},function(e,t,n){e.exports=n.p+\"assets/2DooGxR9gIBrX3LWNKD5bn.png\"},function(e,t,n){e.exports=n.p+\"assets/SGGg2xQ5wu9S-5KOxbnuq.png\"},function(e,t,n){e.exports=n.p+\"assets/3hfo8_18OIfW41h-Fothw1.png\"},function(e,t,n){e.exports=n.p+\"assets/2CzZUJ_88PonapiEL9yqRB.png\"},function(e,t,n){e.exports=n.p+\"assets/33tjEWBXRQvWemQw5UhBo.png\"},function(e,t,n){e.exports=n.p+\"assets/24ObNVAeLQ1n3S5D9jb8Wo.png\"},function(e,t,n){e.exports=n.p+\"assets/11qdCmU_bShHdfoR2UoID-.png\"},function(e,t,n){e.exports=n.p+\"assets/37oPzcN6gut1z2DtBTPmDY.png\"},function(e,t,n){e.exports=n.p+\"assets/2W4lCe0R-pEExDemPLUHaB.png\"},function(e,t,n){e.exports=n.p+\"assets/1Ehw0kJYFNxyKlCXULSEb4.png\"},function(e,t,n){e.exports=n.p+\"assets/3RPlqowOa1kCVH4gxn5ZTP.png\"},function(e,t,n){e.exports=n.p+\"assets/1dleYOVZa-lZqDneaj7cSm.png\"},function(e,t,n){e.exports=n.p+\"assets/34mVgyjNEtBvo5AE0_5AmB.png\"},function(e,t,n){e.exports=n.p+\"assets/3_JuUQhtE815-mFYEQxLD7.png\"},function(e,t,n){e.exports=n.p+\"assets/t8N2JFIzU8cMJO1Lf8mYH.png\"},function(e,t,n){e.exports=n.p+\"assets/1dleYOVZa-lZqDneaj7cSm.png\"},function(e,t,n){var r=n(10);r.OrbitControls=function(e,t){function n(){return 2*Math.PI/60/60*I.autoRotateSpeed}function i(){return Math.pow(.95,I.zoomSpeed)}function o(e){W.theta-=e}function a(e){W.phi-=e}function s(e){I.object instanceof r.PerspectiveCamera?G/=e:I.object instanceof r.OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom*e)),I.object.updateProjectionMatrix(),H=!0):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.\"),I.enableZoom=!1)}function l(e){I.object instanceof r.PerspectiveCamera?G*=e:I.object instanceof r.OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom/e)),I.object.updateProjectionMatrix(),H=!0):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.\"),I.enableZoom=!1)}function u(e){Y.set(e.clientX,e.clientY)}function c(e){$.set(e.clientX,e.clientY)}function d(e){Z.set(e.clientX,e.clientY)}function f(e){q.set(e.clientX,e.clientY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function h(e){Q.set(e.clientX,e.clientY),ee.subVectors(Q,$),ee.y>0?s(i()):ee.y<0&&l(i()),$.copy(Q),I.update()}function p(e){K.set(e.clientX,e.clientY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function m(e){}function g(e){e.deltaY<0?l(i()):e.deltaY>0&&s(i()),I.update()}function v(e){switch(e.keyCode){case I.keys.UP:re(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:re(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:re(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:re(-I.keyPanSpeed,0),I.update()}}function y(e){Y.set(e.touches[0].pageX,e.touches[0].pageY)}function b(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);$.set(0,r)}function x(e){Z.set(e.touches[0].pageX,e.touches[0].pageY)}function _(e){q.set(e.touches[0].pageX,e.touches[0].pageY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function w(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);Q.set(0,r),ee.subVectors(Q,$),ee.y>0?l(i()):ee.y<0&&s(i()),$.copy(Q),I.update()}function M(e){K.set(e.touches[0].pageX,e.touches[0].pageY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function S(e){}function E(e){if(!1!==I.enabled){if(e.preventDefault(),e.button===I.mouseButtons.ORBIT){if(!1===I.enableRotate)return;u(e),F=B.ROTATE}else if(e.button===I.mouseButtons.ZOOM){if(!1===I.enableZoom)return;c(e),F=B.DOLLY}else if(e.button===I.mouseButtons.PAN){if(!1===I.enablePan)return;d(e),F=B.PAN}F!==B.NONE&&(document.addEventListener(\"mousemove\",T,!1),document.addEventListener(\"mouseup\",k,!1),I.dispatchEvent(N))}}function T(e){if(!1!==I.enabled)if(e.preventDefault(),F===B.ROTATE){if(!1===I.enableRotate)return;f(e)}else if(F===B.DOLLY){if(!1===I.enableZoom)return;h(e)}else if(F===B.PAN){if(!1===I.enablePan)return;p(e)}}function k(e){!1!==I.enabled&&(m(e),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),I.dispatchEvent(z),F=B.NONE)}function O(e){!1===I.enabled||!1===I.enableZoom||F!==B.NONE&&F!==B.ROTATE||(e.preventDefault(),e.stopPropagation(),g(e),I.dispatchEvent(N),I.dispatchEvent(z))}function P(e){!1!==I.enabled&&!1!==I.enableKeys&&!1!==I.enablePan&&v(e)}function C(e){if(!1!==I.enabled){switch(e.touches.length){case 1:if(!1===I.enableRotate)return;y(e),F=B.TOUCH_ROTATE;break;case 2:if(!1===I.enableZoom)return;b(e),F=B.TOUCH_DOLLY;break;case 3:if(!1===I.enablePan)return;x(e),F=B.TOUCH_PAN;break;default:F=B.NONE}F!==B.NONE&&I.dispatchEvent(N)}}function A(e){if(!1!==I.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===I.enableRotate)return;if(F!==B.TOUCH_ROTATE)return;_(e);break;case 2:if(!1===I.enableZoom)return;if(F!==B.TOUCH_DOLLY)return;w(e);break;case 3:if(!1===I.enablePan)return;if(F!==B.TOUCH_PAN)return;M(e);break;default:F=B.NONE}}function R(e){!1!==I.enabled&&(S(e),I.dispatchEvent(z),F=B.NONE)}function L(e){e.preventDefault()}this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.target=new r.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:r.MOUSE.LEFT,ZOOM:r.MOUSE.MIDDLE,PAN:r.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return U.phi},this.getAzimuthalAngle=function(){return U.theta},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(D),I.update(),F=B.NONE},this.update=function(){var t=new r.Vector3,i=(new r.Quaternion).setFromUnitVectors(e.up,new r.Vector3(0,1,0)),a=i.clone().inverse(),s=new r.Vector3,l=new r.Quaternion;return function(){var e=I.object.position;return t.copy(e).sub(I.target),t.applyQuaternion(i),U.setFromVector3(t),I.autoRotate&&F===B.NONE&&o(n()),U.theta+=W.theta,U.phi+=W.phi,U.theta=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,U.theta)),U.phi=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,U.phi)),U.makeSafe(),U.radius*=G,U.radius=Math.max(I.minDistance,Math.min(I.maxDistance,U.radius)),I.target.add(V),t.setFromSpherical(U),t.applyQuaternion(a),e.copy(I.target).add(t),I.object.lookAt(I.target),!0===I.enableDamping?(W.theta*=1-I.dampingFactor,W.phi*=1-I.dampingFactor):W.set(0,0,0),G=1,V.set(0,0,0),!!(H||s.distanceToSquared(I.object.position)>j||8*(1-l.dot(I.object.quaternion))>j)&&(I.dispatchEvent(D),s.copy(I.object.position),l.copy(I.object.quaternion),H=!1,!0)}}(),this.dispose=function(){I.domElement.removeEventListener(\"contextmenu\",L,!1),I.domElement.removeEventListener(\"mousedown\",E,!1),I.domElement.removeEventListener(\"wheel\",O,!1),I.domElement.removeEventListener(\"touchstart\",C,!1),I.domElement.removeEventListener(\"touchend\",R,!1),I.domElement.removeEventListener(\"touchmove\",A,!1),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),window.removeEventListener(\"keydown\",P,!1)};var I=this,D={type:\"change\"},N={type:\"start\"},z={type:\"end\"},B={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},F=B.NONE,j=1e-6,U=new r.Spherical,W=new r.Spherical,G=1,V=new r.Vector3,H=!1,Y=new r.Vector2,q=new r.Vector2,X=new r.Vector2,Z=new r.Vector2,K=new r.Vector2,J=new r.Vector2,$=new r.Vector2,Q=new r.Vector2,ee=new r.Vector2,te=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),V.add(e)}}(),ne=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,1),e.multiplyScalar(t),V.add(e)}}(),re=function(){var e=new r.Vector3;return function(t,n){var i=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof r.PerspectiveCamera){var o=I.object.position;e.copy(o).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),te(2*t*a/i.clientHeight,I.object.matrix),ne(2*n*a/i.clientHeight,I.object.matrix)}else I.object instanceof r.OrthographicCamera?(te(t*(I.object.right-I.object.left)/I.object.zoom/i.clientWidth,I.object.matrix),ne(n*(I.object.top-I.object.bottom)/I.object.zoom/i.clientHeight,I.object.matrix)):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.\"),I.enablePan=!1)}}();I.domElement.addEventListener(\"contextmenu\",L,!1),I.domElement.addEventListener(\"mousedown\",E,!1),I.domElement.addEventListener(\"wheel\",O,!1),I.domElement.addEventListener(\"touchstart\",C,!1),I.domElement.addEventListener(\"touchend\",R,!1),I.domElement.addEventListener(\"touchmove\",A,!1),window.addEventListener(\"keydown\",P,!1),this.update()},r.OrbitControls.prototype=Object.create(r.EventDispatcher.prototype),r.OrbitControls.prototype.constructor=r.OrbitControls,Object.defineProperties(r.OrbitControls.prototype,{center:{get:function(){return console.warn(\"THREE.OrbitControls: .center has been renamed to .target\"),this.target}},noZoom:{get:function(){return console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),!this.enableZoom},set:function(e){console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),this.enableZoom=!e}},noRotate:{get:function(){return console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),!this.enableRotate},set:function(e){console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),this.enableRotate=!e}},noPan:{get:function(){return console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),!this.enablePan},set:function(e){console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),this.enablePan=!e}},noKeys:{get:function(){return console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),!this.enableKeys},set:function(e){console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),!this.enableDamping},set:function(e){console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor},set:function(e){console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor=e}}})},function(e,t,n){var r=n(10);r.MTLLoader=function(e){this.manager=void 0!==e?e:r.DefaultLoadingManager},r.MTLLoader.prototype={constructor:r.MTLLoader,load:function(e,t,n,i){var o=this,a=new r.FileLoader(this.manager);a.setPath(this.path),a.load(e,function(e){t(o.parse(e))},n,i)},setPath:function(e){this.path=e},setTexturePath:function(e){this.texturePath=e},setBaseUrl:function(e){console.warn(\"THREE.MTLLoader: .setBaseUrl() is deprecated. Use .setTexturePath( path ) for texture path or .setPath( path ) for general base path instead.\"),this.setTexturePath(e)},setCrossOrigin:function(e){this.crossOrigin=e},setMaterialOptions:function(e){this.materialOptions=e},parse:function(e){for(var t=e.split(\"\\n\"),n={},i=/\\s+/,o={},a=0;a=0?s.substring(0,l):s;u=u.toLowerCase();var c=l>=0?s.substring(l+1):\"\";if(c=c.trim(),\"newmtl\"===u)n={name:c},o[c]=n;else if(n)if(\"ka\"===u||\"kd\"===u||\"ks\"===u){var d=c.split(i,3);n[u]=[parseFloat(d[0]),parseFloat(d[1]),parseFloat(d[2])]}else n[u]=c}}var f=new r.MTLLoader.MaterialCreator(this.texturePath||this.path,this.materialOptions);return f.setCrossOrigin(this.crossOrigin),f.setManager(this.manager),f.setMaterials(o),f}},r.MTLLoader.MaterialCreator=function(e,t){this.baseUrl=e||\"\",this.options=t,this.materialsInfo={},this.materials={},this.materialsArray=[],this.nameLookup={},this.side=this.options&&this.options.side?this.options.side:r.FrontSide,this.wrap=this.options&&this.options.wrap?this.options.wrap:r.RepeatWrapping},r.MTLLoader.MaterialCreator.prototype={constructor:r.MTLLoader.MaterialCreator,setCrossOrigin:function(e){this.crossOrigin=e},setManager:function(e){this.manager=e},setMaterials:function(e){this.materialsInfo=this.convert(e),this.materials={},this.materialsArray=[],this.nameLookup={}},convert:function(e){if(!this.options)return e;var t={};for(var n in e){var r=e[n],i={};t[n]=i;for(var o in r){var a=!0,s=r[o],l=o.toLowerCase();switch(l){case\"kd\":case\"ka\":case\"ks\":this.options&&this.options.normalizeRGB&&(s=[s[0]/255,s[1]/255,s[2]/255]),this.options&&this.options.ignoreZeroRGBs&&0===s[0]&&0===s[1]&&0===s[2]&&(a=!1)}a&&(i[l]=s)}}return t},preload:function(){for(var e in this.materialsInfo)this.create(e)},getIndex:function(e){return this.nameLookup[e]},getAsArray:function(){var e=0;for(var t in this.materialsInfo)this.materialsArray[e]=this.create(t),this.nameLookup[t]=e,e++;return this.materialsArray},create:function(e){return void 0===this.materials[e]&&this.createMaterial_(e),this.materials[e]},createMaterial_:function(e){function t(e,t){return\"string\"!=typeof t||\"\"===t?\"\":/^https?:\\/\\//i.test(t)?t:e+t}function n(e,n){if(!a[e]){var r=i.getTextureParams(n,a),o=i.loadTexture(t(i.baseUrl,r.url));o.repeat.copy(r.scale),o.offset.copy(r.offset),o.wrapS=i.wrap,o.wrapT=i.wrap,a[e]=o}}var i=this,o=this.materialsInfo[e],a={name:e,side:this.side};for(var s in o){var l=o[s];if(\"\"!==l)switch(s.toLowerCase()){case\"kd\":a.color=(new r.Color).fromArray(l);break;case\"ks\":a.specular=(new r.Color).fromArray(l);break;case\"map_kd\":n(\"map\",l);break;case\"map_ks\":n(\"specularMap\",l);break;case\"map_bump\":case\"bump\":n(\"bumpMap\",l);break;case\"ns\":a.shininess=parseFloat(l);break;case\"d\":l<1&&(a.opacity=l,a.transparent=!0);break;case\"Tr\":l>0&&(a.opacity=1-l,a.transparent=!0)}}return this.materials[e]=new r.MeshPhongMaterial(a),this.materials[e]},getTextureParams:function(e,t){var n,i={scale:new r.Vector2(1,1),offset:new r.Vector2(0,0)},o=e.split(/\\s+/);return n=o.indexOf(\"-bm\"),n>=0&&(t.bumpScale=parseFloat(o[n+1]),o.splice(n,2)),n=o.indexOf(\"-s\"),n>=0&&(i.scale.set(parseFloat(o[n+1]),parseFloat(o[n+2])),o.splice(n,4)),n=o.indexOf(\"-o\"),n>=0&&(i.offset.set(parseFloat(o[n+1]),parseFloat(o[n+2])),o.splice(n,4)),i.url=o.join(\" \").trim(),i},loadTexture:function(e,t,n,i,o){var a,s=r.Loader.Handlers.get(e),l=void 0!==this.manager?this.manager:r.DefaultLoadingManager;return null===s&&(s=new r.TextureLoader(l)),s.setCrossOrigin&&s.setCrossOrigin(this.crossOrigin),a=s.load(e,n,i,o),void 0!==t&&(a.mapping=t),a}}},function(e,t,n){var r=n(10);r.OBJLoader=function(e){this.manager=void 0!==e?e:r.DefaultLoadingManager,this.materials=null,this.regexp={vertex_pattern:/^v\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,normal_pattern:/^vn\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,uv_pattern:/^vt\\s+([\\d|\\.|\\+|\\-|e|E]+)\\s+([\\d|\\.|\\+|\\-|e|E]+)/,face_vertex:/^f\\s+(-?\\d+)\\s+(-?\\d+)\\s+(-?\\d+)(?:\\s+(-?\\d+))?/,face_vertex_uv:/^f\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+))?/,face_vertex_uv_normal:/^f\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+)(?:\\s+(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))?/,face_vertex_normal:/^f\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)\\s+(-?\\d+)\\/\\/(-?\\d+)(?:\\s+(-?\\d+)\\/\\/(-?\\d+))?/,object_pattern:/^[og]\\s*(.+)?/,smoothing_pattern:/^s\\s+(\\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /}},r.OBJLoader.prototype={constructor:r.OBJLoader,load:function(e,t,n,i){var o=this,a=new r.FileLoader(o.manager);a.setPath(this.path),a.load(e,function(e){t(o.parse(e))},n,i)},setPath:function(e){this.path=e},setMaterials:function(e){this.materials=e},_createParserState:function(){var e={objects:[],object:{},vertices:[],normals:[],uvs:[],materialLibraries:[],startObject:function(e,t){if(this.object&&!1===this.object.fromDeclaration)return this.object.name=e,void(this.object.fromDeclaration=!1!==t);var n=this.object&&\"function\"==typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&\"function\"==typeof this.object._finalize&&this.object._finalize(!0),this.object={name:e||\"\",fromDeclaration:!1!==t,geometry:{vertices:[],normals:[],uvs:[]},materials:[],smooth:!0,startMaterial:function(e,t){var n=this._finalize(!1);n&&(n.inherited||n.groupCount<=0)&&this.materials.splice(n.index,1);var r={index:this.materials.length,name:e||\"\",mtllib:Array.isArray(t)&&t.length>0?t[t.length-1]:\"\",smooth:void 0!==n?n.smooth:this.smooth,groupStart:void 0!==n?n.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(e){var t={index:\"number\"==typeof e?e:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return t.clone=this.clone.bind(t),t}};return this.materials.push(r),r},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(e){var t=this.currentMaterial();if(t&&-1===t.groupEnd&&(t.groupEnd=this.geometry.vertices.length/3,t.groupCount=t.groupEnd-t.groupStart,t.inherited=!1),e&&this.materials.length>1)for(var n=this.materials.length-1;n>=0;n--)this.materials[n].groupCount<=0&&this.materials.splice(n,1);return e&&0===this.materials.length&&this.materials.push({name:\"\",smooth:this.smooth}),t}},n&&n.name&&\"function\"==typeof n.clone){var r=n.clone(0);r.inherited=!0,this.object.materials.push(r)}this.objects.push(this.object)},finalize:function(){this.object&&\"function\"==typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseNormalIndex:function(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)},parseUVIndex:function(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)},addVertex:function(e,t,n){var r=this.vertices,i=this.object.geometry.vertices;i.push(r[e+0]),i.push(r[e+1]),i.push(r[e+2]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[t+2]),i.push(r[n+0]),i.push(r[n+1]),i.push(r[n+2])},addVertexLine:function(e){var t=this.vertices,n=this.object.geometry.vertices;n.push(t[e+0]),n.push(t[e+1]),n.push(t[e+2])},addNormal:function(e,t,n){var r=this.normals,i=this.object.geometry.normals;i.push(r[e+0]),i.push(r[e+1]),i.push(r[e+2]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[t+2]),i.push(r[n+0]),i.push(r[n+1]),i.push(r[n+2])},addUV:function(e,t,n){var r=this.uvs,i=this.object.geometry.uvs;i.push(r[e+0]),i.push(r[e+1]),i.push(r[t+0]),i.push(r[t+1]),i.push(r[n+0]),i.push(r[n+1])},addUVLine:function(e){var t=this.uvs,n=this.object.geometry.uvs;n.push(t[e+0]),n.push(t[e+1])},addFace:function(e,t,n,r,i,o,a,s,l,u,c,d){var f,h=this.vertices.length,p=this.parseVertexIndex(e,h),m=this.parseVertexIndex(t,h),g=this.parseVertexIndex(n,h);if(void 0===r?this.addVertex(p,m,g):(f=this.parseVertexIndex(r,h),this.addVertex(p,m,f),this.addVertex(m,g,f)),void 0!==i){var v=this.uvs.length;p=this.parseUVIndex(i,v),m=this.parseUVIndex(o,v),g=this.parseUVIndex(a,v),void 0===r?this.addUV(p,m,g):(f=this.parseUVIndex(s,v),this.addUV(p,m,f),this.addUV(m,g,f))}if(void 0!==l){var y=this.normals.length;p=this.parseNormalIndex(l,y),m=l===u?p:this.parseNormalIndex(u,y),g=l===c?p:this.parseNormalIndex(c,y),void 0===r?this.addNormal(p,m,g):(f=this.parseNormalIndex(d,y),this.addNormal(p,m,f),this.addNormal(m,g,f))}},addLineGeometry:function(e,t){this.object.geometry.type=\"Line\";for(var n=this.vertices.length,r=this.uvs.length,i=0,o=e.length;i0?E.addAttribute(\"normal\",new r.BufferAttribute(new Float32Array(w.normals),3)):E.computeVertexNormals(),w.uvs.length>0&&E.addAttribute(\"uv\",new r.BufferAttribute(new Float32Array(w.uvs),2));for(var T=[],k=0,O=M.length;k1){for(var k=0,O=M.length;k0?s(i()):ee.y<0&&l(i()),$.copy(Q),I.update()}function p(e){K.set(e.clientX,e.clientY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function m(e){}function g(e){e.deltaY<0?l(i()):e.deltaY>0&&s(i()),I.update()}function v(e){switch(e.keyCode){case I.keys.UP:re(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:re(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:re(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:re(-I.keyPanSpeed,0),I.update()}}function y(e){Y.set(e.touches[0].pageX,e.touches[0].pageY)}function b(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);$.set(0,r)}function x(e){Z.set(e.touches[0].pageX,e.touches[0].pageY)}function _(e){q.set(e.touches[0].pageX,e.touches[0].pageY),X.subVectors(q,Y);var t=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*X.x/t.clientWidth*I.rotateSpeed),a(2*Math.PI*X.y/t.clientHeight*I.rotateSpeed),Y.copy(q),I.update()}function w(e){var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY,r=Math.sqrt(t*t+n*n);Q.set(0,r),ee.subVectors(Q,$),ee.y>0?l(i()):ee.y<0&&s(i()),$.copy(Q),I.update()}function M(e){K.set(e.touches[0].pageX,e.touches[0].pageY),J.subVectors(K,Z),re(J.x,J.y),Z.copy(K),I.update()}function S(e){}function E(e){if(!1!==I.enabled){if(e.preventDefault(),e.button===I.mouseButtons.ORBIT){if(!1===I.enableRotate)return;u(e),F=B.ROTATE}else if(e.button===I.mouseButtons.ZOOM){if(!1===I.enableZoom)return;c(e),F=B.DOLLY}else if(e.button===I.mouseButtons.PAN){if(!1===I.enablePan)return;d(e),F=B.PAN}F!==B.NONE&&(document.addEventListener(\"mousemove\",T,!1),document.addEventListener(\"mouseup\",k,!1),I.dispatchEvent(N))}}function T(e){if(!1!==I.enabled)if(e.preventDefault(),F===B.ROTATE){if(!1===I.enableRotate)return;f(e)}else if(F===B.DOLLY){if(!1===I.enableZoom)return;h(e)}else if(F===B.PAN){if(!1===I.enablePan)return;p(e)}}function k(e){!1!==I.enabled&&(m(e),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),I.dispatchEvent(z),F=B.NONE)}function O(e){!1===I.enabled||!1===I.enableZoom||F!==B.NONE&&F!==B.ROTATE||(e.preventDefault(),e.stopPropagation(),g(e),I.dispatchEvent(N),I.dispatchEvent(z))}function P(e){!1!==I.enabled&&!1!==I.enableKeys&&!1!==I.enablePan&&v(e)}function C(e){if(!1!==I.enabled){switch(e.touches.length){case 1:if(!1===I.enableRotate)return;y(e),F=B.TOUCH_ROTATE;break;case 2:if(!1===I.enableZoom)return;b(e),F=B.TOUCH_DOLLY;break;case 3:if(!1===I.enablePan)return;x(e),F=B.TOUCH_PAN;break;default:F=B.NONE}F!==B.NONE&&I.dispatchEvent(N)}}function A(e){if(!1!==I.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:if(!1===I.enableRotate)return;if(F!==B.TOUCH_ROTATE)return;_(e);break;case 2:if(!1===I.enableZoom)return;if(F!==B.TOUCH_DOLLY)return;w(e);break;case 3:if(!1===I.enablePan)return;if(F!==B.TOUCH_PAN)return;M(e);break;default:F=B.NONE}}function R(e){!1!==I.enabled&&(S(e),I.dispatchEvent(z),F=B.NONE)}function L(e){e.preventDefault()}this.object=e,this.domElement=void 0!==t?t:document,this.enabled=!0,this.target=new r.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LEFT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:r.MOUSE.LEFT,ZOOM:r.MOUSE.MIDDLE,PAN:r.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return U.phi},this.getAzimuthalAngle=function(){return U.theta},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(D),I.update(),F=B.NONE},this.update=function(){var t=new r.Vector3,i=(new r.Quaternion).setFromUnitVectors(e.up,new r.Vector3(0,1,0)),a=i.clone().inverse(),s=new r.Vector3,l=new r.Quaternion;return function(){var e=I.object.position;return t.copy(e).sub(I.target),t.applyQuaternion(i),U.setFromVector3(t),I.autoRotate&&F===B.NONE&&o(n()),U.theta+=W.theta,U.phi+=W.phi,U.theta=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,U.theta)),U.phi=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,U.phi)),U.makeSafe(),U.radius*=G,U.radius=Math.max(I.minDistance,Math.min(I.maxDistance,U.radius)),I.target.add(V),t.setFromSpherical(U),t.applyQuaternion(a),e.copy(I.target).add(t),I.object.lookAt(I.target),!0===I.enableDamping?(W.theta*=1-I.dampingFactor,W.phi*=1-I.dampingFactor):W.set(0,0,0),G=1,V.set(0,0,0),!!(H||s.distanceToSquared(I.object.position)>j||8*(1-l.dot(I.object.quaternion))>j)&&(I.dispatchEvent(D),s.copy(I.object.position),l.copy(I.object.quaternion),H=!1,!0)}}(),this.dispose=function(){I.domElement.removeEventListener(\"contextmenu\",L,!1),I.domElement.removeEventListener(\"mousedown\",E,!1),I.domElement.removeEventListener(\"wheel\",O,!1),I.domElement.removeEventListener(\"touchstart\",C,!1),I.domElement.removeEventListener(\"touchend\",R,!1),I.domElement.removeEventListener(\"touchmove\",A,!1),document.removeEventListener(\"mousemove\",T,!1),document.removeEventListener(\"mouseup\",k,!1),window.removeEventListener(\"keydown\",P,!1)};var I=this,D={type:\"change\"},N={type:\"start\"},z={type:\"end\"},B={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},F=B.NONE,j=1e-6,U=new r.Spherical,W=new r.Spherical,G=1,V=new r.Vector3,H=!1,Y=new r.Vector2,q=new r.Vector2,X=new r.Vector2,Z=new r.Vector2,K=new r.Vector2,J=new r.Vector2,$=new r.Vector2,Q=new r.Vector2,ee=new r.Vector2,te=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),V.add(e)}}(),ne=function(){var e=new r.Vector3;return function(t,n){e.setFromMatrixColumn(n,1),e.multiplyScalar(t),V.add(e)}}(),re=function(){var e=new r.Vector3;return function(t,n){var i=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof r.PerspectiveCamera){var o=I.object.position;e.copy(o).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),te(2*t*a/i.clientHeight,I.object.matrix),ne(2*n*a/i.clientHeight,I.object.matrix)}else I.object instanceof r.OrthographicCamera?(te(t*(I.object.right-I.object.left)/I.object.zoom/i.clientWidth,I.object.matrix),ne(n*(I.object.top-I.object.bottom)/I.object.zoom/i.clientHeight,I.object.matrix)):(console.warn(\"WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.\"),I.enablePan=!1)}}();I.domElement.addEventListener(\"contextmenu\",L,!1),I.domElement.addEventListener(\"mousedown\",E,!1),I.domElement.addEventListener(\"wheel\",O,!1),I.domElement.addEventListener(\"touchstart\",C,!1),I.domElement.addEventListener(\"touchend\",R,!1),I.domElement.addEventListener(\"touchmove\",A,!1),window.addEventListener(\"keydown\",P,!1),this.update()},r.OrbitControls.prototype=Object.create(r.EventDispatcher.prototype),r.OrbitControls.prototype.constructor=r.OrbitControls,Object.defineProperties(r.OrbitControls.prototype,{center:{get:function(){return console.warn(\"THREE.OrbitControls: .center has been renamed to .target\"),this.target}},noZoom:{get:function(){return console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),!this.enableZoom},set:function(e){console.warn(\"THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.\"),this.enableZoom=!e}},noRotate:{get:function(){return console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),!this.enableRotate},set:function(e){console.warn(\"THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.\"),this.enableRotate=!e}},noPan:{get:function(){return console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),!this.enablePan},set:function(e){console.warn(\"THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.\"),this.enablePan=!e}},noKeys:{get:function(){return console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),!this.enableKeys},set:function(e){console.warn(\"THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.\"),this.enableKeys=!e}},staticMoving:{get:function(){return console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),!this.enableDamping},set:function(e){console.warn(\"THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.\"),this.enableDamping=!e}},dynamicDampingFactor:{get:function(){return console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor},set:function(e){console.warn(\"THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.\"),this.dampingFactor=e}}})},function(e,t){e.exports={trajectoryGraph:{title:\"Trajectory\",options:{legend:{display:!0},axes:{x:{labelString:\"x (m)\"},y:{labelString:\"y (m)\"}}},properties:{lines:{pose:{color:\"rgba(0, 255, 0, 1)\",borderWidth:0,pointRadius:0,specialMarker:\"car\"},real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},steerCurve:{color:\"rgba(255, 206, 86, 1)\",borderWidth:1,pointRadius:0,fill:!1,showLine:!0},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},speedGraph:{title:\"Speed\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"speed (m/s)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},curvatureGraph:{title:\"Curvature\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"Curvature (m-1)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}},accelerationGraph:{title:\"Acceleration\",options:{legend:{display:!0},axes:{x:{labelString:\"t (second)\"},y:{labelString:\"acceleration (m/s^2)\"}}},properties:{lines:{real:{color:\"rgba(0, 106, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"},plan:{color:\"rgba(1, 209, 193, 0.65)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},target:{color:\"rgba(180, 255, 180, 0.7)\",borderWidth:3,pointRadius:0,fill:!1,showLine:!0},autoModeZone:{color:\"rgba(224, 224, 224, 0.15)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!0}}}}}},function(e,t){e.exports={slGraph:{title:\"QP Path - sl graph\",options:{legend:{display:!1},axes:{x:{min:0,max:200,labelString:\"s - ref_line (m)\"},y:{min:-5,max:5,labelString:\"l (m)\"}}},properties:{lines:{aggregatedBoundaryLow:{color:\"rgba(48, 165, 255, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},aggregatedBoundaryHigh:{color:\"rgba(48, 165, 255, 1)\",borderWidth:2,pointRadius:0,lineTension:0,fill:!1,showLine:!0},pathLine:{color:\"rgba(225, 225, 225, 0.7)\",borderWidth:2,pointRadius:.5,fill:!1,showLine:!1},mapLowerBound:{color:\"rgba(54, 162, 235, 0.4)\",borderWidth:2,pointRadius:0,fill:\"start\",showLine:!0},mapUpperBound:{color:\"rgba(54, 162, 235, 0.4)\",borderWidth:2,pointRadius:0,fill:\"end\",showLine:!0},staticObstacleLowerBound:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:\"start\",showLine:!0},staticObstacleUpperBound:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:\"end\",showLine:!0},dynamicObstacleLowerBound:{color:\"rgba(255, 206, 86, 0.2)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},dynamicObstacleUpperBound:{color:\"rgba(255, 206, 86, 0.2)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0}}}},stGraph:{options:{legend:{display:!1},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-10,max:220,labelString:\"s (m)\"}}},properties:{box:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0,showText:!0,cubicInterpolationMode:\"monotone\",lineTension:0},lines:{curveLine:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1},kernelCruise:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1},kernelFollow:{color:\"rgba(255, 206, 86, 0.5)\",borderWidth:2,pointRadius:1,fill:!1,showLine:!1}}}},stSpeedGraph:{title:\"QP Speed - sv graph\",options:{legend:{display:!0},axes:{x:{min:-10,max:220,labelString:\"s - qp_path(m)\"},y:{min:-1,max:40,labelString:\"v (m/s)\"}}},properties:{lines:{upperConstraint:{color:\"rgba(54, 162, 235, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},lowerConstraint:{color:\"rgba(54, 162, 235, 1)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0},planned:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0},limit:{color:\"rgba(255, 0, 0, 0.5)\",borderWidth:4,pointRadius:0,fill:!1,showLine:!0}}}},speedGraph:{title:\"Planning Speed\",options:{legend:{display:!0},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-1,max:40,labelString:\"speed (m/s)\"}}},properties:{lines:{finalSpeed:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:1,pointRadius:1,fill:!1,showLine:!1},DpStSpeedOptimizer:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplineStSpeedOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"}}}},accelerationGraph:{title:\"Planning Acceleration\",options:{legend:{display:!1},axes:{x:{min:-2,max:10,labelString:\"t (second)\"},y:{min:-4,max:3.5,labelString:\"acceleration (m/s^2)\"}}},properties:{lines:{acceleration:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:\"ture\"}}}},kappaGraph:{title:\"Planning Kappa\",options:{legend:{display:!0},axes:{x:{labelString:\"s (m)\"},y:{min:-.2,max:.2,labelString:\"kappa\"}}},properties:{lines:{DpPolyPathOptimizer:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplinePathOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:5,pointRadius:0,fill:!1,showLine:!0}}}},dkappaGraph:{title:\"Planning Dkappa\",options:{legend:{display:!0},axes:{x:{labelString:\"s (m)\"},y:{min:-.02,max:.02,labelString:\"dkappa\"}}},properties:{lines:{ReferenceLine:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0},QpSplinePathOptimizer:{color:\"rgba(54, 162, 235, 1)\",borderWidth:5,pointRadius:0,fill:!1,showLine:!0}}}},dpPolyGraph:{title:\"DP Path\",options:{legend:{display:!1},axes:{x:{labelString:\"s (m)\"},y:{labelString:\"l (m)\"}}},properties:{lines:{minCostPoint:{color:\"rgba(255, 0, 0, 0.8)\",borderWidth:2,pointRadius:2,fill:!1,showLine:!0},sampleLayer:{color:\"rgba(225, 225, 225, 0.5)\",borderWidth:0,pointRadius:4,fill:!1,showLine:!1}}}},latencyGraph:{title:\"Latency\",options:{legend:{display:!1},axes:{x:{labelString:\"timestampe (sec)\"},y:{labelString:\"latency (ms)\"}}},properties:{lines:{planning:{color:\"rgba(27, 249, 105, 0.5)\",borderWidth:2,pointRadius:0,fill:!1,showLine:!0}}}}}},function(e,t,n){var r=n(224);\"string\"==typeof r&&(r=[[e.i,r,\"\"]]);var i={};i.transform=void 0;n(152)(r,i);r.locals&&(e.exports=r.locals)},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t){e.exports={nested:{apollo:{nested:{hdmap:{nested:{Projection:{fields:{proj:{type:\"string\",id:1}}},Header:{fields:{version:{type:\"bytes\",id:1},date:{type:\"bytes\",id:2},projection:{type:\"Projection\",id:3},district:{type:\"bytes\",id:4},generation:{type:\"bytes\",id:5},revMajor:{type:\"bytes\",id:6},revMinor:{type:\"bytes\",id:7},left:{type:\"double\",id:8},top:{type:\"double\",id:9},right:{type:\"double\",id:10},bottom:{type:\"double\",id:11},vendor:{type:\"bytes\",id:12}}},Map:{fields:{header:{type:\"Header\",id:1},crosswalk:{rule:\"repeated\",type:\"Crosswalk\",id:2},junction:{rule:\"repeated\",type:\"Junction\",id:3},lane:{rule:\"repeated\",type:\"Lane\",id:4},stopSign:{rule:\"repeated\",type:\"StopSign\",id:5},signal:{rule:\"repeated\",type:\"Signal\",id:6},yield:{rule:\"repeated\",type:\"YieldSign\",id:7},overlap:{rule:\"repeated\",type:\"Overlap\",id:8},clearArea:{rule:\"repeated\",type:\"ClearArea\",id:9},speedBump:{rule:\"repeated\",type:\"SpeedBump\",id:10},road:{rule:\"repeated\",type:\"Road\",id:11}}},ClearArea:{fields:{id:{type:\"Id\",id:1},overlapId:{rule:\"repeated\",type:\"Id\",id:2},polygon:{type:\"Polygon\",id:3}}},Crosswalk:{fields:{id:{type:\"Id\",id:1},polygon:{type:\"Polygon\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}},Polygon:{fields:{point:{rule:\"repeated\",type:\"apollo.common.PointENU\",id:1}}},LineSegment:{fields:{point:{rule:\"repeated\",type:\"apollo.common.PointENU\",id:1}}},CurveSegment:{oneofs:{curveType:{oneof:[\"lineSegment\"]}},fields:{lineSegment:{type:\"LineSegment\",id:1},s:{type:\"double\",id:6},startPosition:{type:\"apollo.common.PointENU\",id:7},heading:{type:\"double\",id:8},length:{type:\"double\",id:9}}},Curve:{fields:{segment:{rule:\"repeated\",type:\"CurveSegment\",id:1}}},Id:{fields:{id:{type:\"string\",id:1}}},Junction:{fields:{id:{type:\"Id\",id:1},polygon:{type:\"Polygon\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}},LaneBoundaryType:{fields:{s:{type:\"double\",id:1},types:{rule:\"repeated\",type:\"Type\",id:2,options:{packed:!1}}},nested:{Type:{values:{UNKNOWN:0,DOTTED_YELLOW:1,DOTTED_WHITE:2,SOLID_YELLOW:3,SOLID_WHITE:4,DOUBLE_YELLOW:5,CURB:6}}}},LaneBoundary:{fields:{curve:{type:\"Curve\",id:1},length:{type:\"double\",id:2},virtual:{type:\"bool\",id:3},boundaryType:{rule:\"repeated\",type:\"LaneBoundaryType\",id:4}}},LaneSampleAssociation:{fields:{s:{type:\"double\",id:1},width:{type:\"double\",id:2}}},Lane:{fields:{id:{type:\"Id\",id:1},centralCurve:{type:\"Curve\",id:2},leftBoundary:{type:\"LaneBoundary\",id:3},rightBoundary:{type:\"LaneBoundary\",id:4},length:{type:\"double\",id:5},speedLimit:{type:\"double\",id:6},overlapId:{rule:\"repeated\",type:\"Id\",id:7},predecessorId:{rule:\"repeated\",type:\"Id\",id:8},successorId:{rule:\"repeated\",type:\"Id\",id:9},leftNeighborForwardLaneId:{rule:\"repeated\",type:\"Id\",id:10},rightNeighborForwardLaneId:{rule:\"repeated\",type:\"Id\",id:11},type:{type:\"LaneType\",id:12},turn:{type:\"LaneTurn\",id:13},leftNeighborReverseLaneId:{rule:\"repeated\",type:\"Id\",id:14},rightNeighborReverseLaneId:{rule:\"repeated\",type:\"Id\",id:15},junctionId:{type:\"Id\",id:16},leftSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:17},rightSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:18},direction:{type:\"LaneDirection\",id:19},leftRoadSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:20},rightRoadSample:{rule:\"repeated\",type:\"LaneSampleAssociation\",id:21}},nested:{LaneType:{values:{NONE:1,CITY_DRIVING:2,BIKING:3,SIDEWALK:4,PARKING:5}},LaneTurn:{values:{NO_TURN:1,LEFT_TURN:2,RIGHT_TURN:3,U_TURN:4}},LaneDirection:{values:{FORWARD:1,BACKWARD:2,BIDIRECTION:3}}}},LaneOverlapInfo:{fields:{startS:{type:\"double\",id:1},endS:{type:\"double\",id:2},isMerge:{type:\"bool\",id:3}}},SignalOverlapInfo:{fields:{}},StopSignOverlapInfo:{fields:{}},CrosswalkOverlapInfo:{fields:{}},JunctionOverlapInfo:{fields:{}},YieldOverlapInfo:{fields:{}},ClearAreaOverlapInfo:{fields:{}},SpeedBumpOverlapInfo:{fields:{}},ParkingSpaceOverlapInfo:{fields:{}},ObjectOverlapInfo:{oneofs:{overlapInfo:{oneof:[\"laneOverlapInfo\",\"signalOverlapInfo\",\"stopSignOverlapInfo\",\"crosswalkOverlapInfo\",\"junctionOverlapInfo\",\"yieldSignOverlapInfo\",\"clearAreaOverlapInfo\",\"speedBumpOverlapInfo\",\"parkingSpaceOverlapInfo\"]}},fields:{id:{type:\"Id\",id:1},laneOverlapInfo:{type:\"LaneOverlapInfo\",id:3},signalOverlapInfo:{type:\"SignalOverlapInfo\",id:4},stopSignOverlapInfo:{type:\"StopSignOverlapInfo\",id:5},crosswalkOverlapInfo:{type:\"CrosswalkOverlapInfo\",id:6},junctionOverlapInfo:{type:\"JunctionOverlapInfo\",id:7},yieldSignOverlapInfo:{type:\"YieldOverlapInfo\",id:8},clearAreaOverlapInfo:{type:\"ClearAreaOverlapInfo\",id:9},speedBumpOverlapInfo:{type:\"SpeedBumpOverlapInfo\",id:10},parkingSpaceOverlapInfo:{type:\"ParkingSpaceOverlapInfo\",id:11}}},Overlap:{fields:{id:{type:\"Id\",id:1},object:{rule:\"repeated\",type:\"ObjectOverlapInfo\",id:2}}},BoundaryEdge:{fields:{curve:{type:\"Curve\",id:1},type:{type:\"Type\",id:2}},nested:{Type:{values:{UNKNOWN:0,NORMAL:1,LEFT_BOUNDARY:2,RIGHT_BOUNDARY:3}}}},BoundaryPolygon:{fields:{edge:{rule:\"repeated\",type:\"BoundaryEdge\",id:1}}},RoadBoundary:{fields:{outerPolygon:{type:\"BoundaryPolygon\",id:1},hole:{rule:\"repeated\",type:\"BoundaryPolygon\",id:2}}},RoadROIBoundary:{fields:{id:{type:\"Id\",id:1},roadBoundaries:{rule:\"repeated\",type:\"RoadBoundary\",id:2}}},RoadSection:{fields:{id:{type:\"Id\",id:1},laneId:{rule:\"repeated\",type:\"Id\",id:2},boundary:{type:\"RoadBoundary\",id:3}}},Road:{fields:{id:{type:\"Id\",id:1},section:{rule:\"repeated\",type:\"RoadSection\",id:2},junctionId:{type:\"Id\",id:3}}},Subsignal:{fields:{id:{type:\"Id\",id:1},type:{type:\"Type\",id:2},location:{type:\"apollo.common.PointENU\",id:3}},nested:{Type:{values:{UNKNOWN:1,CIRCLE:2,ARROW_LEFT:3,ARROW_FORWARD:4,ARROW_RIGHT:5,ARROW_LEFT_AND_FORWARD:6,ARROW_RIGHT_AND_FORWARD:7,ARROW_U_TURN:8}}}},Signal:{fields:{id:{type:\"Id\",id:1},boundary:{type:\"Polygon\",id:2},subsignal:{rule:\"repeated\",type:\"Subsignal\",id:3},overlapId:{rule:\"repeated\",type:\"Id\",id:4},type:{type:\"Type\",id:5},stopLine:{rule:\"repeated\",type:\"Curve\",id:6}},nested:{Type:{values:{UNKNOWN:1,MIX_2_HORIZONTAL:2,MIX_2_VERTICAL:3,MIX_3_HORIZONTAL:4,MIX_3_VERTICAL:5,SINGLE:6}}}},SpeedBump:{fields:{id:{type:\"Id\",id:1},overlapId:{rule:\"repeated\",type:\"Id\",id:2},position:{rule:\"repeated\",type:\"Curve\",id:3}}},StopSign:{fields:{id:{type:\"Id\",id:1},stopLine:{rule:\"repeated\",type:\"Curve\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3},type:{type:\"StopType\",id:4}},nested:{StopType:{values:{UNKNOWN:0,ONE_WAY:1,TWO_WAY:2,THREE_WAY:3,FOUR_WAY:4,ALL_WAY:5}}}},YieldSign:{fields:{id:{type:\"Id\",id:1},stopLine:{rule:\"repeated\",type:\"Curve\",id:2},overlapId:{rule:\"repeated\",type:\"Id\",id:3}}}}},common:{nested:{PointENU:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:0}}}},PointLLH:{fields:{lon:{type:\"double\",id:1,options:{default:null}},lat:{type:\"double\",id:2,options:{default:null}},height:{type:\"double\",id:3,options:{default:0}}}},Point2D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}}}},Point3D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:null}}}},Quaternion:{fields:{qx:{type:\"double\",id:1,options:{default:null}},qy:{type:\"double\",id:2,options:{default:null}},qz:{type:\"double\",id:3,options:{default:null}},qw:{type:\"double\",id:4,options:{default:null}}}}}}}}}}},function(e,t){e.exports={nested:{apollo:{nested:{dreamview:{nested:{PolygonPoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3,options:{default:0}}}},Prediction:{fields:{probability:{type:\"double\",id:1},predictedTrajectory:{rule:\"repeated\",type:\"PolygonPoint\",id:2}}},Decision:{fields:{type:{type:\"Type\",id:1,options:{default:\"IGNORE\"}},polygonPoint:{rule:\"repeated\",type:\"PolygonPoint\",id:2},heading:{type:\"double\",id:3},latitude:{type:\"double\",id:4},longitude:{type:\"double\",id:5},positionX:{type:\"double\",id:6},positionY:{type:\"double\",id:7},length:{type:\"double\",id:8,options:{default:2.8}},width:{type:\"double\",id:9,options:{default:1.4}},height:{type:\"double\",id:10,options:{default:1.8}},stopReason:{type:\"StopReasonCode\",id:11}},nested:{Type:{values:{IGNORE:0,STOP:1,NUDGE:2,YIELD:3,OVERTAKE:4,FOLLOW:5,SIDEPASS:6}},StopReasonCode:{values:{STOP_REASON_HEAD_VEHICLE:1,STOP_REASON_DESTINATION:2,STOP_REASON_PEDESTRIAN:3,STOP_REASON_OBSTACLE:4,STOP_REASON_SIGNAL:100,STOP_REASON_STOP_SIGN:101,STOP_REASON_YIELD_SIGN:102,STOP_REASON_CLEAR_ZONE:103,STOP_REASON_CROSSWALK:104,STOP_REASON_EMERGENCY:105,STOP_REASON_NOT_READY:106}}}},Object:{fields:{id:{type:\"string\",id:1},polygonPoint:{rule:\"repeated\",type:\"PolygonPoint\",id:2},heading:{type:\"double\",id:3},latitude:{type:\"double\",id:4},longitude:{type:\"double\",id:5},positionX:{type:\"double\",id:6},positionY:{type:\"double\",id:7},length:{type:\"double\",id:8,options:{default:2.8}},width:{type:\"double\",id:9,options:{default:1.4}},height:{type:\"double\",id:10,options:{default:1.8}},speed:{type:\"double\",id:11},speedAcceleration:{type:\"double\",id:12},speedJerk:{type:\"double\",id:13},spin:{type:\"double\",id:14},spinAcceleration:{type:\"double\",id:15},spinJerk:{type:\"double\",id:16},speedHeading:{type:\"double\",id:17},kappa:{type:\"double\",id:18},signalSet:{rule:\"repeated\",type:\"string\",id:19},currentSignal:{type:\"string\",id:20},timestampSec:{type:\"double\",id:21},decision:{rule:\"repeated\",type:\"Decision\",id:22},throttlePercentage:{type:\"double\",id:23},brakePercentage:{type:\"double\",id:24},steeringPercentage:{type:\"double\",id:25},steeringAngle:{type:\"double\",id:26},steeringRatio:{type:\"double\",id:27},disengageType:{type:\"DisengageType\",id:28},type:{type:\"Type\",id:29},prediction:{rule:\"repeated\",type:\"Prediction\",id:30},confidence:{type:\"double\",id:31,options:{default:1}}},nested:{DisengageType:{values:{DISENGAGE_NONE:0,DISENGAGE_UNKNOWN:1,DISENGAGE_MANUAL:2,DISENGAGE_EMERGENCY:3,DISENGAGE_AUTO_STEER_ONLY:4,DISENGAGE_AUTO_SPEED_ONLY:5,DISENGAGE_CHASSIS_ERROR:6}},Type:{values:{UNKNOWN:0,UNKNOWN_MOVABLE:1,UNKNOWN_UNMOVABLE:2,PEDESTRIAN:3,BICYCLE:4,VEHICLE:5,VIRTUAL:6}}}},DelaysInMs:{fields:{chassis:{type:\"double\",id:1},localization:{type:\"double\",id:3},perceptionObstacle:{type:\"double\",id:4},planning:{type:\"double\",id:5},prediction:{type:\"double\",id:7},trafficLight:{type:\"double\",id:8}}},RoutePath:{fields:{point:{rule:\"repeated\",type:\"PolygonPoint\",id:1}}},Latency:{fields:{planning:{type:\"double\",id:1}}},MapElementIds:{fields:{lane:{rule:\"repeated\",type:\"string\",id:1},crosswalk:{rule:\"repeated\",type:\"string\",id:2},junction:{rule:\"repeated\",type:\"string\",id:3},signal:{rule:\"repeated\",type:\"string\",id:4},stopSign:{rule:\"repeated\",type:\"string\",id:5},yield:{rule:\"repeated\",type:\"string\",id:6},overlap:{rule:\"repeated\",type:\"string\",id:7},road:{rule:\"repeated\",type:\"string\",id:8},clearArea:{rule:\"repeated\",type:\"string\",id:9}}},SimulationWorld:{fields:{timestamp:{type:\"double\",id:1},sequenceNum:{type:\"uint32\",id:2},object:{rule:\"repeated\",type:\"Object\",id:3},autoDrivingCar:{type:\"Object\",id:4},trafficSignal:{type:\"Object\",id:5},routePath:{rule:\"repeated\",type:\"RoutePath\",id:6},routingTime:{type:\"double\",id:7},planningTrajectory:{rule:\"repeated\",type:\"Object\",id:8},mainStop:{type:\"Object\",id:9},speedLimit:{type:\"double\",id:10},delay:{type:\"DelaysInMs\",id:11},monitor:{type:\"apollo.common.monitor.MonitorMessage\",id:12},engageAdvice:{type:\"string\",id:13},latency:{type:\"Latency\",id:14},mapElementIds:{type:\"MapElementIds\",id:15},mapHash:{type:\"uint64\",id:16},mapRadius:{type:\"double\",id:17},planningTime:{type:\"double\",id:18},planningData:{type:\"apollo.planning_internal.PlanningData\",id:19},gps:{type:\"Object\",id:20}}}}},common:{nested:{sound:{nested:{SoundRequest:{fields:{header:{type:\"apollo.common.Header\",id:1},priority:{type:\"PriorityLevel\",id:2},mode:{type:\"Mode\",id:3},words:{type:\"string\",id:4}},nested:{PriorityLevel:{values:{LOW:0,MEDIUM:1,HIGH:2}},Mode:{values:{SAY:0,BEEP:1}}}}}},DriveEvent:{fields:{header:{type:\"apollo.common.Header\",id:1},event:{type:\"string\",id:2},location:{type:\"apollo.localization.Pose\",id:3}}},EngageAdvice:{fields:{advice:{type:\"Advice\",id:1,options:{default:\"DISALLOW_ENGAGE\"}},reason:{type:\"string\",id:2}},nested:{Advice:{values:{UNKNOWN:0,DISALLOW_ENGAGE:1,READY_TO_ENGAGE:2,KEEP_ENGAGED:3,PREPARE_DISENGAGE:4}}}},ErrorCode:{values:{OK:0,CONTROL_ERROR:1e3,CONTROL_INIT_ERROR:1001,CONTROL_COMPUTE_ERROR:1002,CANBUS_ERROR:2e3,CAN_CLIENT_ERROR_BASE:2100,CAN_CLIENT_ERROR_OPEN_DEVICE_FAILED:2101,CAN_CLIENT_ERROR_FRAME_NUM:2102,CAN_CLIENT_ERROR_SEND_FAILED:2103,CAN_CLIENT_ERROR_RECV_FAILED:2104,LOCALIZATION_ERROR:3e3,LOCALIZATION_ERROR_MSG:3100,LOCALIZATION_ERROR_LIDAR:3200,LOCALIZATION_ERROR_INTEG:3300,LOCALIZATION_ERROR_GNSS:3400,PERCEPTION_ERROR:4e3,PERCEPTION_ERROR_TF:4001,PERCEPTION_ERROR_PROCESS:4002,PERCEPTION_FATAL:4003,PREDICTION_ERROR:5e3,PLANNING_ERROR:6e3,HDMAP_DATA_ERROR:7e3,ROUTING_ERROR:8e3,ROUTING_ERROR_REQUEST:8001,ROUTING_ERROR_RESPONSE:8002,ROUTING_ERROR_NOT_READY:8003,END_OF_INPUT:9e3,HTTP_LOGIC_ERROR:1e4,HTTP_RUNTIME_ERROR:10001}},StatusPb:{fields:{errorCode:{type:\"ErrorCode\",id:1,options:{default:\"OK\"}},msg:{type:\"string\",id:2}}},PointENU:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:0}}}},PointLLH:{fields:{lon:{type:\"double\",id:1,options:{default:null}},lat:{type:\"double\",id:2,options:{default:null}},height:{type:\"double\",id:3,options:{default:0}}}},Point2D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}}}},Point3D:{fields:{x:{type:\"double\",id:1,options:{default:null}},y:{type:\"double\",id:2,options:{default:null}},z:{type:\"double\",id:3,options:{default:null}}}},Quaternion:{fields:{qx:{type:\"double\",id:1,options:{default:null}},qy:{type:\"double\",id:2,options:{default:null}},qz:{type:\"double\",id:3,options:{default:null}},qw:{type:\"double\",id:4,options:{default:null}}}},Header:{fields:{timestampSec:{type:\"double\",id:1},moduleName:{type:\"string\",id:2},sequenceNum:{type:\"uint32\",id:3},lidarTimestamp:{type:\"uint64\",id:4},cameraTimestamp:{type:\"uint64\",id:5},radarTimestamp:{type:\"uint64\",id:6},version:{type:\"uint32\",id:7,options:{default:1}},status:{type:\"StatusPb\",id:8}}},SLPoint:{fields:{s:{type:\"double\",id:1},l:{type:\"double\",id:2}}},FrenetFramePoint:{fields:{s:{type:\"double\",id:1},l:{type:\"double\",id:2},dl:{type:\"double\",id:3},ddl:{type:\"double\",id:4}}},SpeedPoint:{fields:{s:{type:\"double\",id:1},t:{type:\"double\",id:2},v:{type:\"double\",id:3},a:{type:\"double\",id:4},da:{type:\"double\",id:5}}},PathPoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3},theta:{type:\"double\",id:4},kappa:{type:\"double\",id:5},s:{type:\"double\",id:6},dkappa:{type:\"double\",id:7},ddkappa:{type:\"double\",id:8},laneId:{type:\"string\",id:9}}},Path:{fields:{name:{type:\"string\",id:1},pathPoint:{rule:\"repeated\",type:\"PathPoint\",id:2}}},TrajectoryPoint:{fields:{pathPoint:{type:\"PathPoint\",id:1},v:{type:\"double\",id:2},a:{type:\"double\",id:3},relativeTime:{type:\"double\",id:4}}},VehicleSignal:{fields:{turnSignal:{type:\"TurnSignal\",id:1},highBeam:{type:\"bool\",id:2},lowBeam:{type:\"bool\",id:3},horn:{type:\"bool\",id:4},emergencyLight:{type:\"bool\",id:5}},nested:{TurnSignal:{values:{TURN_NONE:0,TURN_LEFT:1,TURN_RIGHT:2}}}},VehicleState:{fields:{x:{type:\"double\",id:1,options:{default:0}},y:{type:\"double\",id:2,options:{default:0}},z:{type:\"double\",id:3,options:{default:0}},timestamp:{type:\"double\",id:4,options:{default:0}},roll:{type:\"double\",id:5,options:{default:0}},pitch:{type:\"double\",id:6,options:{default:0}},yaw:{type:\"double\",id:7,options:{default:0}},heading:{type:\"double\",id:8,options:{default:0}},kappa:{type:\"double\",id:9,options:{default:0}},linearVelocity:{type:\"double\",id:10,options:{default:0}},angularVelocity:{type:\"double\",id:11,options:{default:0}},linearAcceleration:{type:\"double\",id:12,options:{default:0}},gear:{type:\"apollo.canbus.Chassis.GearPosition\",id:13},drivingMode:{type:\"apollo.canbus.Chassis.DrivingMode\",id:14},pose:{type:\"apollo.localization.Pose\",id:15}}},monitor:{nested:{MonitorMessageItem:{fields:{source:{type:\"MessageSource\",id:1,options:{default:\"UNKNOWN\"}},msg:{type:\"string\",id:2},logLevel:{type:\"LogLevel\",id:3,options:{default:\"INFO\"}}},nested:{MessageSource:{values:{UNKNOWN:1,CANBUS:2,CONTROL:3,DECISION:4,LOCALIZATION:5,PLANNING:6,PREDICTION:7,SIMULATOR:8,HWSYS:9,ROUTING:10,MONITOR:11,HMI:12}},LogLevel:{values:{INFO:0,WARN:1,ERROR:2,FATAL:3}}}},MonitorMessage:{fields:{header:{type:\"apollo.common.Header\",id:1},item:{rule:\"repeated\",type:\"MonitorMessageItem\",id:2}}}}}}},localization:{nested:{Uncertainty:{fields:{positionStdDev:{type:\"apollo.common.Point3D\",id:1},orientationStdDev:{type:\"apollo.common.Point3D\",id:2},linearVelocityStdDev:{type:\"apollo.common.Point3D\",id:3},linearAccelerationStdDev:{type:\"apollo.common.Point3D\",id:4},angularVelocityStdDev:{type:\"apollo.common.Point3D\",id:5}}},LocalizationEstimate:{fields:{header:{type:\"apollo.common.Header\",id:1},pose:{type:\"apollo.localization.Pose\",id:2},uncertainty:{type:\"Uncertainty\",id:3},measurementTime:{type:\"double\",id:4},trajectoryPoint:{rule:\"repeated\",type:\"apollo.common.TrajectoryPoint\",id:5}}},MeasureState:{values:{NOT_VALID:0,NOT_STABLE:1,OK:2,VALID:3}},LocalizationStatus:{fields:{header:{type:\"apollo.common.Header\",id:1},fusionStatus:{type:\"MeasureState\",id:2},gnssStatus:{type:\"MeasureState\",id:3},lidarStatus:{type:\"MeasureState\",id:4},measurementTime:{type:\"double\",id:5}}},Pose:{fields:{position:{type:\"apollo.common.PointENU\",id:1},orientation:{type:\"apollo.common.Quaternion\",id:2},linearVelocity:{type:\"apollo.common.Point3D\",id:3},linearAcceleration:{type:\"apollo.common.Point3D\",id:4},angularVelocity:{type:\"apollo.common.Point3D\",id:5},heading:{type:\"double\",id:6},linearAccelerationVrf:{type:\"apollo.common.Point3D\",id:7},angularVelocityVrf:{type:\"apollo.common.Point3D\",id:8},eulerAngles:{type:\"apollo.common.Point3D\",id:9}}}}},canbus:{nested:{Chassis:{fields:{engineStarted:{type:\"bool\",id:3},engineRpm:{type:\"float\",id:4,options:{default:null}},speedMps:{type:\"float\",id:5,options:{default:null}},odometerM:{type:\"float\",id:6,options:{default:null}},fuelRangeM:{type:\"int32\",id:7},throttlePercentage:{type:\"float\",id:8,options:{default:null}},brakePercentage:{type:\"float\",id:9,options:{default:null}},steeringPercentage:{type:\"float\",id:11,options:{default:null}},steeringTorqueNm:{type:\"float\",id:12,options:{default:null}},parkingBrake:{type:\"bool\",id:13},highBeamSignal:{type:\"bool\",id:14,options:{deprecated:!0}},lowBeamSignal:{type:\"bool\",id:15,options:{deprecated:!0}},leftTurnSignal:{type:\"bool\",id:16,options:{deprecated:!0}},rightTurnSignal:{type:\"bool\",id:17,options:{deprecated:!0}},horn:{type:\"bool\",id:18,options:{deprecated:!0}},wiper:{type:\"bool\",id:19},disengageStatus:{type:\"bool\",id:20,options:{deprecated:!0}},drivingMode:{type:\"DrivingMode\",id:21,options:{default:\"COMPLETE_MANUAL\"}},errorCode:{type:\"ErrorCode\",id:22,options:{default:\"NO_ERROR\"}},gearLocation:{type:\"GearPosition\",id:23},steeringTimestamp:{type:\"double\",id:24},header:{type:\"apollo.common.Header\",id:25},chassisErrorMask:{type:\"int32\",id:26,options:{default:0}},signal:{type:\"apollo.common.VehicleSignal\",id:27},chassisGps:{type:\"ChassisGPS\",id:28},engageAdvice:{type:\"apollo.common.EngageAdvice\",id:29}},nested:{DrivingMode:{values:{COMPLETE_MANUAL:0,COMPLETE_AUTO_DRIVE:1,AUTO_STEER_ONLY:2,AUTO_SPEED_ONLY:3,EMERGENCY_MODE:4}},ErrorCode:{values:{NO_ERROR:0,CMD_NOT_IN_PERIOD:1,CHASSIS_ERROR:2,MANUAL_INTERVENTION:3,CHASSIS_CAN_NOT_IN_PERIOD:4,UNKNOWN_ERROR:5}},GearPosition:{values:{GEAR_NEUTRAL:0,GEAR_DRIVE:1,GEAR_REVERSE:2,GEAR_PARKING:3,GEAR_LOW:4,GEAR_INVALID:5,GEAR_NONE:6}}}},ChassisGPS:{fields:{latitude:{type:\"double\",id:1},longitude:{type:\"double\",id:2},gpsValid:{type:\"bool\",id:3},year:{type:\"int32\",id:4},month:{type:\"int32\",id:5},day:{type:\"int32\",id:6},hours:{type:\"int32\",id:7},minutes:{type:\"int32\",id:8},seconds:{type:\"int32\",id:9},compassDirection:{type:\"double\",id:10},pdop:{type:\"double\",id:11},isGpsFault:{type:\"bool\",id:12},isInferred:{type:\"bool\",id:13},altitude:{type:\"double\",id:14},heading:{type:\"double\",id:15},hdop:{type:\"double\",id:16},vdop:{type:\"double\",id:17},quality:{type:\"GpsQuality\",id:18},numSatellites:{type:\"int32\",id:19},gpsSpeed:{type:\"double\",id:20}}},GpsQuality:{values:{FIX_NO:0,FIX_2D:1,FIX_3D:2,FIX_INVALID:3}}}},planning:{nested:{SLBoundary:{fields:{startS:{type:\"double\",id:1},endS:{type:\"double\",id:2},startL:{type:\"double\",id:3},endL:{type:\"double\",id:4}}},TargetLane:{fields:{id:{type:\"string\",id:1},startS:{type:\"double\",id:2},endS:{type:\"double\",id:3},speedLimit:{type:\"double\",id:4}}},ObjectIgnore:{fields:{}},StopReasonCode:{values:{STOP_REASON_HEAD_VEHICLE:1,STOP_REASON_DESTINATION:2,STOP_REASON_PEDESTRIAN:3,STOP_REASON_OBSTACLE:4,STOP_REASON_PREPARKING:5,STOP_REASON_SIGNAL:100,STOP_REASON_STOP_SIGN:101,STOP_REASON_YIELD_SIGN:102,STOP_REASON_CLEAR_ZONE:103,STOP_REASON_CROSSWALK:104}},ObjectStop:{fields:{reasonCode:{type:\"StopReasonCode\",id:1},distanceS:{type:\"double\",id:2},stopPoint:{type:\"apollo.common.PointENU\",id:3},stopHeading:{type:\"double\",id:4}}},ObjectNudge:{fields:{type:{type:\"Type\",id:1},distanceL:{type:\"double\",id:2}},nested:{Type:{values:{LEFT_NUDGE:1,RIGHT_NUDGE:2,NO_NUDGE:3}}}},ObjectYield:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3},timeBuffer:{type:\"double\",id:4}}},ObjectFollow:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3}}},ObjectOvertake:{fields:{distanceS:{type:\"double\",id:1},fencePoint:{type:\"apollo.common.PointENU\",id:2},fenceHeading:{type:\"double\",id:3},timeBuffer:{type:\"double\",id:4}}},ObjectSidePass:{fields:{type:{type:\"Type\",id:1}},nested:{Type:{values:{LEFT:1,RIGHT:2}}}},ObjectAvoid:{fields:{}},ObjectDecisionType:{oneofs:{objectTag:{oneof:[\"ignore\",\"stop\",\"follow\",\"yield\",\"overtake\",\"nudge\",\"sidepass\",\"avoid\"]}},fields:{ignore:{type:\"ObjectIgnore\",id:1},stop:{type:\"ObjectStop\",id:2},follow:{type:\"ObjectFollow\",id:3},yield:{type:\"ObjectYield\",id:4},overtake:{type:\"ObjectOvertake\",id:5},nudge:{type:\"ObjectNudge\",id:6},sidepass:{type:\"ObjectSidePass\",id:7},avoid:{type:\"ObjectAvoid\",id:8}}},ObjectDecision:{fields:{id:{type:\"string\",id:1},perceptionId:{type:\"int32\",id:2},objectDecision:{rule:\"repeated\",type:\"ObjectDecisionType\",id:3}}},ObjectDecisions:{fields:{decision:{rule:\"repeated\",type:\"ObjectDecision\",id:1}}},MainStop:{fields:{reasonCode:{type:\"StopReasonCode\",id:1},reason:{type:\"string\",id:2},stopPoint:{type:\"apollo.common.PointENU\",id:3},stopHeading:{type:\"double\",id:4},changeLaneType:{type:\"apollo.routing.ChangeLaneType\",id:5}}},EmergencyStopHardBrake:{fields:{}},EmergencyStopCruiseToStop:{fields:{}},MainEmergencyStop:{oneofs:{task:{oneof:[\"hardBrake\",\"cruiseToStop\"]}},fields:{reasonCode:{type:\"ReasonCode\",id:1},reason:{type:\"string\",id:2},hardBrake:{type:\"EmergencyStopHardBrake\",id:3},cruiseToStop:{type:\"EmergencyStopCruiseToStop\",id:4}},nested:{ReasonCode:{values:{ESTOP_REASON_INTERNAL_ERR:1,ESTOP_REASON_COLLISION:2,ESTOP_REASON_ST_FIND_PATH:3,ESTOP_REASON_ST_MAKE_DECISION:4,ESTOP_REASON_SENSOR_ERROR:5}}}},MainCruise:{fields:{changeLaneType:{type:\"apollo.routing.ChangeLaneType\",id:1}}},MainChangeLane:{fields:{type:{type:\"Type\",id:1},defaultLane:{rule:\"repeated\",type:\"TargetLane\",id:2},defaultLaneStop:{type:\"MainStop\",id:3},targetLaneStop:{type:\"MainStop\",id:4}},nested:{Type:{values:{LEFT:1,RIGHT:2}}}},MainMissionComplete:{fields:{stopPoint:{type:\"apollo.common.PointENU\",id:1},stopHeading:{type:\"double\",id:2}}},MainNotReady:{fields:{reason:{type:\"string\",id:1}}},MainParking:{fields:{}},MainDecision:{oneofs:{task:{oneof:[\"cruise\",\"stop\",\"estop\",\"changeLane\",\"missionComplete\",\"notReady\",\"parking\"]}},fields:{cruise:{type:\"MainCruise\",id:1},stop:{type:\"MainStop\",id:2},estop:{type:\"MainEmergencyStop\",id:3},changeLane:{type:\"MainChangeLane\",id:4,options:{deprecated:!0}},missionComplete:{type:\"MainMissionComplete\",id:6},notReady:{type:\"MainNotReady\",id:7},parking:{type:\"MainParking\",id:8},targetLane:{rule:\"repeated\",type:\"TargetLane\",id:5,options:{deprecated:!0}}}},DecisionResult:{fields:{mainDecision:{type:\"MainDecision\",id:1},objectDecision:{type:\"ObjectDecisions\",id:2},vehicleSignal:{type:\"apollo.common.VehicleSignal\",id:3}}}}},planning_internal:{nested:{Debug:{fields:{planningData:{type:\"PlanningData\",id:2}}},SpeedPlan:{fields:{name:{type:\"string\",id:1},speedPoint:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:2}}},StGraphBoundaryDebug:{fields:{name:{type:\"string\",id:1},point:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:2},type:{type:\"StBoundaryType\",id:3}},nested:{StBoundaryType:{values:{ST_BOUNDARY_TYPE_UNKNOWN:1,ST_BOUNDARY_TYPE_STOP:2,ST_BOUNDARY_TYPE_FOLLOW:3,ST_BOUNDARY_TYPE_YIELD:4,ST_BOUNDARY_TYPE_OVERTAKE:5,ST_BOUNDARY_TYPE_KEEP_CLEAR:6}}}},SLFrameDebug:{fields:{name:{type:\"string\",id:1},sampledS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}},staticObstacleLowerBound:{rule:\"repeated\",type:\"double\",id:3,options:{packed:!1}},dynamicObstacleLowerBound:{rule:\"repeated\",type:\"double\",id:4,options:{packed:!1}},staticObstacleUpperBound:{rule:\"repeated\",type:\"double\",id:5,options:{packed:!1}},dynamicObstacleUpperBound:{rule:\"repeated\",type:\"double\",id:6,options:{packed:!1}},mapLowerBound:{rule:\"repeated\",type:\"double\",id:7,options:{packed:!1}},mapUpperBound:{rule:\"repeated\",type:\"double\",id:8,options:{packed:!1}},slPath:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:9},aggregatedBoundaryS:{rule:\"repeated\",type:\"double\",id:10,options:{packed:!1}},aggregatedBoundaryLow:{rule:\"repeated\",type:\"double\",id:11,options:{packed:!1}},aggregatedBoundaryHigh:{rule:\"repeated\",type:\"double\",id:12,options:{packed:!1}}}},STGraphDebug:{fields:{name:{type:\"string\",id:1},boundary:{rule:\"repeated\",type:\"StGraphBoundaryDebug\",id:2},speedLimit:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:3},speedProfile:{rule:\"repeated\",type:\"apollo.common.SpeedPoint\",id:4},speedConstraint:{type:\"STGraphSpeedConstraint\",id:5},kernelCruiseRef:{type:\"STGraphKernelCuiseRef\",id:6},kernelFollowRef:{type:\"STGraphKernelFollowRef\",id:7}},nested:{STGraphSpeedConstraint:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},lowerBound:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}},upperBound:{rule:\"repeated\",type:\"double\",id:3,options:{packed:!1}}}},STGraphKernelCuiseRef:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},cruiseLineS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}}}},STGraphKernelFollowRef:{fields:{t:{rule:\"repeated\",type:\"double\",id:1,options:{packed:!1}},followLineS:{rule:\"repeated\",type:\"double\",id:2,options:{packed:!1}}}}}},SignalLightDebug:{fields:{adcSpeed:{type:\"double\",id:1},adcFrontS:{type:\"double\",id:2},signal:{rule:\"repeated\",type:\"SignalDebug\",id:3}},nested:{SignalDebug:{fields:{lightId:{type:\"string\",id:1},color:{type:\"apollo.perception.TrafficLight.Color\",id:2},lightStopS:{type:\"double\",id:3},adcStopDeacceleration:{type:\"double\",id:4},isStopWallCreated:{type:\"bool\",id:5}}}}},DecisionTag:{fields:{deciderTag:{type:\"string\",id:1},decision:{type:\"apollo.planning.ObjectDecisionType\",id:2}}},ObstacleDebug:{fields:{id:{type:\"string\",id:1},slBoundary:{type:\"apollo.planning.SLBoundary\",id:2},decisionTag:{rule:\"repeated\",type:\"DecisionTag\",id:3}}},ReferenceLineDebug:{fields:{id:{type:\"string\",id:1},length:{type:\"double\",id:2},cost:{type:\"double\",id:3},isChangeLanePath:{type:\"bool\",id:4},isDrivable:{type:\"bool\",id:5},isProtected:{type:\"bool\",id:6}}},ChangeLaneState:{fields:{state:{type:\"State\",id:1},pathId:{type:\"string\",id:2},timestamp:{type:\"double\",id:3}},nested:{State:{values:{IN_CHANGE_LANE:1,CHANGE_LANE_FAILED:2,CHANGE_LANE_SUCCESS:3}}}},SampleLayerDebug:{fields:{slPoint:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:1}}},DpPolyGraphDebug:{fields:{sampleLayer:{rule:\"repeated\",type:\"SampleLayerDebug\",id:1},minCostPoint:{rule:\"repeated\",type:\"apollo.common.SLPoint\",id:2}}},PlanningData:{fields:{adcPosition:{type:\"apollo.localization.LocalizationEstimate\",id:7},chassis:{type:\"apollo.canbus.Chassis\",id:8},routing:{type:\"apollo.routing.RoutingResponse\",id:9},initPoint:{type:\"apollo.common.TrajectoryPoint\",id:10},path:{rule:\"repeated\",type:\"apollo.common.Path\",id:6},speedPlan:{rule:\"repeated\",type:\"SpeedPlan\",id:13},stGraph:{rule:\"repeated\",type:\"STGraphDebug\",id:14},slFrame:{rule:\"repeated\",type:\"SLFrameDebug\",id:15},predictionHeader:{type:\"apollo.common.Header\",id:16},signalLight:{type:\"SignalLightDebug\",id:17},obstacle:{rule:\"repeated\",type:\"ObstacleDebug\",id:18},referenceLine:{rule:\"repeated\",type:\"ReferenceLineDebug\",id:19},dpPolyGraph:{type:\"DpPolyGraphDebug\",id:20},latticeStImage:{type:\"LatticeStTraining\",id:21}}},LatticeStPixel:{fields:{s:{type:\"int32\",id:1},t:{type:\"int32\",id:2},r:{type:\"uint32\",id:3},g:{type:\"uint32\",id:4},b:{type:\"uint32\",id:5}}},LatticeStTraining:{fields:{pixel:{rule:\"repeated\",type:\"LatticeStPixel\",id:1},timestamp:{type:\"double\",id:2},annotation:{type:\"string\",id:3},numSGrids:{type:\"uint32\",id:4},numTGrids:{type:\"uint32\",id:5},sResolution:{type:\"double\",id:6},tResolution:{type:\"double\",id:7}}},CloudReferenceLineRequest:{fields:{laneSegment:{rule:\"repeated\",type:\"apollo.routing.LaneSegment\",id:1}}},CloudReferenceLineRoutingRequest:{fields:{routing:{type:\"apollo.routing.RoutingResponse\",id:1}}},CloudReferenceLinePoint:{fields:{x:{type:\"double\",id:1},y:{type:\"double\",id:2},z:{type:\"double\",id:3},theta:{type:\"double\",id:4},kappa:{type:\"double\",id:5},laneS:{type:\"double\",id:6},dkappa:{type:\"double\",id:7}}},CloudReferenceLineSegment:{fields:{laneId:{type:\"string\",id:1},point:{rule:\"repeated\",type:\"CloudReferenceLinePoint\",id:2}}},CloudReferenceLineResponse:{fields:{segment:{rule:\"repeated\",type:\"CloudReferenceLineSegment\",id:1}}},NavigationPath:{fields:{pathPoint:{rule:\"repeated\",type:\"apollo.common.PathPoint\",id:1},pathPriority:{type:\"uint32\",id:2}}},NavigationInfo:{fields:{header:{type:\"apollo.common.Header\",id:1},navigationPath:{rule:\"repeated\",type:\"NavigationPath\",id:2}}}}},perception:{nested:{TrafficLightBox:{fields:{x:{type:\"int32\",id:1},y:{type:\"int32\",id:2},width:{type:\"int32\",id:3},height:{type:\"int32\",id:4},color:{type:\"TrafficLight.Color\",id:5},selected:{type:\"bool\",id:6}}},TrafficLightDebug:{fields:{cropbox:{type:\"TrafficLightBox\",id:1},box:{rule:\"repeated\",type:\"TrafficLightBox\",id:2},signalNum:{type:\"int32\",id:3},validPos:{type:\"int32\",id:4},tsDiffPos:{type:\"double\",id:5},tsDiffSys:{type:\"double\",id:6},projectError:{type:\"int32\",id:7},distanceToStopLine:{type:\"double\",id:8},cameraId:{type:\"int32\",id:9}}},TrafficLight:{fields:{color:{type:\"Color\",id:1},id:{type:\"string\",id:2},confidence:{type:\"double\",id:3,options:{default:1}},trackingTime:{type:\"double\",id:4}},nested:{Color:{values:{UNKNOWN:0,RED:1,YELLOW:2,GREEN:3,BLACK:4}}}},TrafficLightDetection:{fields:{header:{type:\"apollo.common.Header\",id:2},trafficLight:{rule:\"repeated\",type:\"TrafficLight\",id:1},trafficLightDebug:{type:\"TrafficLightDebug\",id:3},containLights:{type:\"bool\",id:4}}}}},routing:{nested:{LaneWaypoint:{fields:{id:{type:\"string\",id:1},s:{type:\"double\",id:2},pose:{type:\"apollo.common.PointENU\",id:3}}},LaneSegment:{fields:{id:{type:\"string\",id:1},startS:{type:\"double\",id:2},endS:{type:\"double\",id:3}}},RoutingRequest:{fields:{header:{type:\"apollo.common.Header\",id:1},waypoint:{rule:\"repeated\",type:\"LaneWaypoint\",id:2},blacklistedLane:{rule:\"repeated\",type:\"LaneSegment\",id:3},blacklistedRoad:{rule:\"repeated\",type:\"string\",id:4},broadcast:{type:\"bool\",id:5,options:{default:!0}}}},Measurement:{fields:{distance:{type:\"double\",id:1}}},ChangeLaneType:{values:{FORWARD:0,LEFT:1,RIGHT:2}},Passage:{fields:{segment:{rule:\"repeated\",type:\"LaneSegment\",id:1},canExit:{type:\"bool\",id:2},changeLaneType:{type:\"ChangeLaneType\",id:3,options:{default:\"FORWARD\"}}}},RoadSegment:{fields:{id:{type:\"string\",id:1},passage:{rule:\"repeated\",type:\"Passage\",id:2}}},RoutingResponse:{fields:{header:{type:\"apollo.common.Header\",id:1},road:{rule:\"repeated\",type:\"RoadSegment\",id:2},measurement:{type:\"Measurement\",id:3},routingRequest:{type:\"RoutingRequest\",id:4},mapVersion:{type:\"bytes\",id:5},status:{type:\"apollo.common.StatusPb\",id:6}}}}}}}}}}]);\n\n\n// WEBPACK FOOTER //\n// app.bundle.js"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sourceRoot":""} \ No newline at end of file diff --git a/modules/dreamview/frontend/src/renderer/index.js b/modules/dreamview/frontend/src/renderer/index.js index bacbf08dcb..ce63963c4e 100644 --- a/modules/dreamview/frontend/src/renderer/index.js +++ b/modules/dreamview/frontend/src/renderer/index.js @@ -332,7 +332,7 @@ class Renderer { this.perceptionObstacles.update(world, this.coordinates, this.scene); this.decision.update(world, this.coordinates, this.scene); this.prediction.update(world, this.coordinates, this.scene); - this.routing.update(world, this.coordinates, this.scene); + this.updateRouting(world.routingTime, world.routePath); this.gnss.update(world, this.coordinates, this.scene); if (this.planningAdc && @@ -341,6 +341,10 @@ class Renderer { } } + updateRouting(routingTime, routePath) { + this.routing.update(routingTime, routePath, this.coordinates, this.scene); + } + updateGroundImage(mapName) { this.ground.updateImage(mapName); } diff --git a/modules/dreamview/frontend/src/renderer/map.js b/modules/dreamview/frontend/src/renderer/map.js index f873ef704e..17f9cb8676 100644 --- a/modules/dreamview/frontend/src/renderer/map.js +++ b/modules/dreamview/frontend/src/renderer/map.js @@ -338,7 +338,7 @@ export default class Map { return { "pos": position, "heading": heading }; } else { - console.error('Error loading traffic light. Unable to determine heading.'); + console.error('Error loading stop sign. Unable to determine heading.'); return null; } } diff --git a/modules/dreamview/frontend/src/renderer/routing.js b/modules/dreamview/frontend/src/renderer/routing.js index cd39395eda..c3c5014da1 100644 --- a/modules/dreamview/frontend/src/renderer/routing.js +++ b/modules/dreamview/frontend/src/renderer/routing.js @@ -12,16 +12,16 @@ export default class Routing { this.lastRoutingTime = -1; } - update(world, coordinates, scene) { + update(routingTime, routePath, coordinates, scene) { this.routePaths.forEach(path => { path.visible = STORE.options.showRouting; }); // There has not been a new routing published since last time. - if (this.lastRoutingTime === world.routingTime) { + if (this.lastRoutingTime === routingTime || routePath === undefined) { return; } - this.lastRoutingTime = world.routingTime; + this.lastRoutingTime = routingTime; // Clear the old route paths this.routePaths.forEach(path => { @@ -30,11 +30,7 @@ export default class Routing { path.geometry.dispose(); }); - if (world.routePath === undefined) { - return; - } - - world.routePath.forEach(path => { + routePath.forEach(path => { const points = coordinates.applyOffsetToArray(path.point); const pathMesh = drawThickBandFromPoints(points, 0.3 /* width */, 0xFF0000 /* red */, 0.6, 5 /* z offset */); diff --git a/modules/dreamview/frontend/src/store/websocket/websocket_realtime.js b/modules/dreamview/frontend/src/store/websocket/websocket_realtime.js index cfcf0950af..fdc9436e45 100644 --- a/modules/dreamview/frontend/src/store/websocket/websocket_realtime.js +++ b/modules/dreamview/frontend/src/store/websocket/websocket_realtime.js @@ -14,6 +14,7 @@ export default class RosWebSocketEndpoint { this.lastSeqNum = -1; this.currMapRadius = null; this.updatePOI = true; + this.routingTime = -1; } initialize() { @@ -71,6 +72,11 @@ export default class RosWebSocketEndpoint { RENDERER.updateMapIndex(message.mapHash, message.mapElementIds, message.mapRadius); } + if (this.routingTime !== message.routingTime) { + // A new routing needs to be fetched from backend. + this.requestRoutePath(); + this.routingTime = message.routingTime; + } this.counter += 1; break; case "MapElementIds": @@ -80,6 +86,9 @@ export default class RosWebSocketEndpoint { case "DefaultEndPoint": STORE.routeEditingManager.updateDefaultRoutingEndPoint(message); break; + case "RoutePath": + RENDERER.updateRouting(message.routingTime, message.routePath); + break; } }; this.websocket.onclose = event => { @@ -221,4 +230,10 @@ export default class RosWebSocketEndpoint { enable: enable, })); } + + requestRoutePath() { + this.websocket.send(JSON.stringify({ + type: "RequestRoutePath", + })); + } } -- GitLab