!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){/*!
  * Bowser - a browser detector
  * https://github.com/ded/bowser
  * MIT License | (c) Dustin Diaz 2015
  */
!function(a,c){"undefined"!=typeof b&&b.exports?b.exports=c():"function"==typeof define&&define.amd?define(c):this[a]=c()}("bowser",function(){function a(a){function c(b){var c=a.match(b);return c&&c.length>1&&c[1]||""}function d(b){var c=a.match(b);return c&&c.length>1&&c[2]||""}var e,f=c(/(ipod|iphone|ipad)/i).toLowerCase(),g=/like android/i.test(a),h=!g&&/android/i.test(a),i=/CrOS/.test(a),j=c(/edge\/(\d+(\.\d+)?)/i),k=c(/version\/(\d+(\.\d+)?)/i),l=/tablet/i.test(a),m=!l&&/[^-]mobi/i.test(a);/opera|opr/i.test(a)?e={name:"Opera",opera:b,version:k||c(/(?:opera|opr)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(a)?e={name:"Yandex Browser",yandexbrowser:b,version:k||c(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/windows phone/i.test(a)?(e={name:"Windows Phone",windowsphone:b},j?(e.msedge=b,e.version=j):(e.msie=b,e.version=c(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(a)?e={name:"Internet Explorer",msie:b,version:c(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:i?e={name:"Chrome",chromeBook:b,chrome:b,version:c(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/chrome.+? edge/i.test(a)?e={name:"Microsoft Edge",msedge:b,version:j}:/chrome|crios|crmo/i.test(a)?e={name:"Chrome",chrome:b,version:c(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:f?(e={name:"iphone"==f?"iPhone":"ipad"==f?"iPad":"iPod"},k&&(e.version=k)):/sailfish/i.test(a)?e={name:"Sailfish",sailfish:b,version:c(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(a)?e={name:"SeaMonkey",seamonkey:b,version:c(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel/i.test(a)?(e={name:"Firefox",firefox:b,version:c(/(?:firefox|iceweasel)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(a)&&(e.firefoxos=b)):/silk/i.test(a)?e={name:"Amazon Silk",silk:b,version:c(/silk\/(\d+(\.\d+)?)/i)}:h?e={name:"Android",version:k}:/phantom/i.test(a)?e={name:"PhantomJS",phantom:b,version:c(/phantomjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(a)||/rim\stablet/i.test(a)?e={name:"BlackBerry",blackberry:b,version:k||c(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:/(web|hpw)os/i.test(a)?(e={name:"WebOS",webos:b,version:k||c(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(a)&&(e.touchpad=b)):e=/bada/i.test(a)?{name:"Bada",bada:b,version:c(/dolfin\/(\d+(\.\d+)?)/i)}:/tizen/i.test(a)?{name:"Tizen",tizen:b,version:c(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||k}:/safari/i.test(a)?{name:"Safari",safari:b,version:k}:{name:c(/^(.*)\/(.*) /),version:d(/^(.*)\/(.*) /)},!e.msedge&&/(apple)?webkit/i.test(a)?(e.name=e.name||"Webkit",e.webkit=b,!e.version&&k&&(e.version=k)):!e.opera&&/gecko\//i.test(a)&&(e.name=e.name||"Gecko",e.gecko=b,e.version=e.version||c(/gecko\/(\d+(\.\d+)?)/i)),e.msedge||!h&&!e.silk?f&&(e[f]=b,e.ios=b):e.android=b;var n="";e.windowsphone?n=c(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):f?(n=c(/os (\d+([_\s]\d+)*) like mac os x/i),n=n.replace(/[_\s]/g,".")):h?n=c(/android[ \/-](\d+(\.\d+)*)/i):e.webos?n=c(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):e.blackberry?n=c(/rim\stablet\sos\s(\d+(\.\d+)*)/i):e.bada?n=c(/bada\/(\d+(\.\d+)*)/i):e.tizen&&(n=c(/tizen[\/\s](\d+(\.\d+)*)/i)),n&&(e.osversion=n);var o=n.split(".")[0];return l||"ipad"==f||h&&(3==o||4==o&&!m)||e.silk?e.tablet=b:(m||"iphone"==f||"ipod"==f||h||e.blackberry||e.webos||e.bada)&&(e.mobile=b),e.msedge||e.msie&&e.version>=10||e.yandexbrowser&&e.version>=15||e.chrome&&e.version>=20||e.firefox&&e.version>=20||e.safari&&e.version>=6||e.opera&&e.version>=10||e.ios&&e.osversion&&e.osversion.split(".")[0]>=6||e.blackberry&&e.version>=10.1?e.a=b:e.msie&&e.version<10||e.chrome&&e.version<20||e.firefox&&e.version<20||e.safari&&e.version<6||e.opera&&e.version<10||e.ios&&e.osversion&&e.osversion.split(".")[0]<6?e.c=b:e.x=b,e}var b=!0,c=a("undefined"!=typeof navigator?navigator.userAgent:"");return c.test=function(a){for(var b=0;b<a.length;++b){var d=a[b];if("string"==typeof d&&d in c)return!0}return!1},c._detect=a,c})},{}],2:[function(a,b,c){},{}],3:[function(a,b,c){(function(b){/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
"use strict";function d(){try{var a=new Uint8Array(1);return a.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===a.foo()&&"function"==typeof a.subarray&&0===a.subarray(1,1).byteLength}catch(b){return!1}}function e(){return g.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function f(a,b){if(e()<b)throw new RangeError("Invalid typed array length");return g.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(b),a.__proto__=g.prototype):(null===a&&(a=new g(b)),a.length=b),a}function g(a,b,c){if(!(g.TYPED_ARRAY_SUPPORT||this instanceof g))return new g(a,b,c);if("number"==typeof a){if("string"==typeof b)throw new Error("If encoding is specified then the first argument must be a string");return k(this,a)}return h(this,a,b,c)}function h(a,b,c,d){if("number"==typeof b)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&b instanceof ArrayBuffer?n(a,b,c,d):"string"==typeof b?l(a,b,c):o(a,b)}function i(a){if("number"!=typeof a)throw new TypeError('"size" argument must be a number');if(a<0)throw new RangeError('"size" argument must not be negative')}function j(a,b,c,d){return i(b),b<=0?f(a,b):void 0!==c?"string"==typeof d?f(a,b).fill(c,d):f(a,b).fill(c):f(a,b)}function k(a,b){if(i(b),a=f(a,b<0?0:0|p(b)),!g.TYPED_ARRAY_SUPPORT)for(var c=0;c<b;++c)a[c]=0;return a}function l(a,b,c){if("string"==typeof c&&""!==c||(c="utf8"),!g.isEncoding(c))throw new TypeError('"encoding" must be a valid string encoding');var d=0|r(b,c);a=f(a,d);var e=a.write(b,c);return e!==d&&(a=a.slice(0,e)),a}function m(a,b){var c=b.length<0?0:0|p(b.length);a=f(a,c);for(var d=0;d<c;d+=1)a[d]=255&b[d];return a}function n(a,b,c,d){if(b.byteLength,c<0||b.byteLength<c)throw new RangeError("'offset' is out of bounds");if(b.byteLength<c+(d||0))throw new RangeError("'length' is out of bounds");return b=void 0===c&&void 0===d?new Uint8Array(b):void 0===d?new Uint8Array(b,c):new Uint8Array(b,c,d),g.TYPED_ARRAY_SUPPORT?(a=b,a.__proto__=g.prototype):a=m(a,b),a}function o(a,b){if(g.isBuffer(b)){var c=0|p(b.length);return a=f(a,c),0===a.length?a:(b.copy(a,0,0,c),a)}if(b){if("undefined"!=typeof ArrayBuffer&&b.buffer instanceof ArrayBuffer||"length"in b)return"number"!=typeof b.length||Y(b.length)?f(a,0):m(a,b);if("Buffer"===b.type&&_(b.data))return m(a,b.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function p(a){if(a>=e())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+e().toString(16)+" bytes");return 0|a}function q(a){return+a!=a&&(a=0),g.alloc(+a)}function r(a,b){if(g.isBuffer(a))return a.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(a)||a instanceof ArrayBuffer))return a.byteLength;"string"!=typeof a&&(a=""+a);var c=a.length;if(0===c)return 0;for(var d=!1;;)switch(b){case"ascii":case"latin1":case"binary":return c;case"utf8":case"utf-8":case void 0:return T(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*c;case"hex":return c>>>1;case"base64":return W(a).length;default:if(d)return T(a).length;b=(""+b).toLowerCase(),d=!0}}function s(a,b,c){var d=!1;if((void 0===b||b<0)&&(b=0),b>this.length)return"";if((void 0===c||c>this.length)&&(c=this.length),c<=0)return"";if(c>>>=0,b>>>=0,c<=b)return"";for(a||(a="utf8");;)switch(a){case"hex":return H(this,b,c);case"utf8":case"utf-8":return D(this,b,c);case"ascii":return F(this,b,c);case"latin1":case"binary":return G(this,b,c);case"base64":return C(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,b,c);default:if(d)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}}function t(a,b,c){var d=a[b];a[b]=a[c],a[c]=d}function u(a,b,c,d,e){if(0===a.length)return-1;if("string"==typeof c?(d=c,c=0):c>2147483647?c=2147483647:c<-2147483648&&(c=-2147483648),c=+c,isNaN(c)&&(c=e?0:a.length-1),c<0&&(c=a.length+c),c>=a.length){if(e)return-1;c=a.length-1}else if(c<0){if(!e)return-1;c=0}if("string"==typeof b&&(b=g.from(b,d)),g.isBuffer(b))return 0===b.length?-1:v(a,b,c,d,e);if("number"==typeof b)return b=255&b,g.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?e?Uint8Array.prototype.indexOf.call(a,b,c):Uint8Array.prototype.lastIndexOf.call(a,b,c):v(a,[b],c,d,e);throw new TypeError("val must be string, number or Buffer")}function v(a,b,c,d,e){function f(a,b){return 1===g?a[b]:a.readUInt16BE(b*g)}var g=1,h=a.length,i=b.length;if(void 0!==d&&(d=String(d).toLowerCase(),"ucs2"===d||"ucs-2"===d||"utf16le"===d||"utf-16le"===d)){if(a.length<2||b.length<2)return-1;g=2,h/=2,i/=2,c/=2}var j;if(e){var k=-1;for(j=c;j<h;j++)if(f(a,j)===f(b,k===-1?0:j-k)){if(k===-1&&(k=j),j-k+1===i)return k*g}else k!==-1&&(j-=j-k),k=-1}else for(c+i>h&&(c=h-i),j=c;j>=0;j--){for(var l=!0,m=0;m<i;m++)if(f(a,j+m)!==f(b,m)){l=!1;break}if(l)return j}return-1}function w(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d),d>e&&(d=e)):d=e;var f=b.length;if(f%2!==0)throw new TypeError("Invalid hex string");d>f/2&&(d=f/2);for(var g=0;g<d;++g){var h=parseInt(b.substr(2*g,2),16);if(isNaN(h))return g;a[c+g]=h}return g}function x(a,b,c,d){return X(T(b,a.length-c),a,c,d)}function y(a,b,c,d){return X(U(b),a,c,d)}function z(a,b,c,d){return y(a,b,c,d)}function A(a,b,c,d){return X(W(b),a,c,d)}function B(a,b,c,d){return X(V(b,a.length-c),a,c,d)}function C(a,b,c){return 0===b&&c===a.length?Z.fromByteArray(a):Z.fromByteArray(a.slice(b,c))}function D(a,b,c){c=Math.min(a.length,c);for(var d=[],e=b;e<c;){var f=a[e],g=null,h=f>239?4:f>223?3:f>191?2:1;if(e+h<=c){var i,j,k,l;switch(h){case 1:f<128&&(g=f);break;case 2:i=a[e+1],128===(192&i)&&(l=(31&f)<<6|63&i,l>127&&(g=l));break;case 3:i=a[e+1],j=a[e+2],128===(192&i)&&128===(192&j)&&(l=(15&f)<<12|(63&i)<<6|63&j,l>2047&&(l<55296||l>57343)&&(g=l));break;case 4:i=a[e+1],j=a[e+2],k=a[e+3],128===(192&i)&&128===(192&j)&&128===(192&k)&&(l=(15&f)<<18|(63&i)<<12|(63&j)<<6|63&k,l>65535&&l<1114112&&(g=l))}}null===g?(g=65533,h=1):g>65535&&(g-=65536,d.push(g>>>10&1023|55296),g=56320|1023&g),d.push(g),e+=h}return E(d)}function E(a){var b=a.length;if(b<=aa)return String.fromCharCode.apply(String,a);for(var c="",d=0;d<b;)c+=String.fromCharCode.apply(String,a.slice(d,d+=aa));return c}function F(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(127&a[e]);return d}function G(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(a[e]);return d}function H(a,b,c){var d=a.length;(!b||b<0)&&(b=0),(!c||c<0||c>d)&&(c=d);for(var e="",f=b;f<c;++f)e+=S(a[f]);return e}function I(a,b,c){for(var d=a.slice(b,c),e="",f=0;f<d.length;f+=2)e+=String.fromCharCode(d[f]+256*d[f+1]);return e}function J(a,b,c){if(a%1!==0||a<0)throw new RangeError("offset is not uint");if(a+b>c)throw new RangeError("Trying to access beyond buffer length")}function K(a,b,c,d,e,f){if(!g.isBuffer(a))throw new TypeError('"buffer" argument must be a Buffer instance');if(b>e||b<f)throw new RangeError('"value" argument is out of bounds');if(c+d>a.length)throw new RangeError("Index out of range")}function L(a,b,c,d){b<0&&(b=65535+b+1);for(var e=0,f=Math.min(a.length-c,2);e<f;++e)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}function M(a,b,c,d){b<0&&(b=4294967295+b+1);for(var e=0,f=Math.min(a.length-c,4);e<f;++e)a[c+e]=b>>>8*(d?e:3-e)&255}function N(a,b,c,d,e,f){if(c+d>a.length)throw new RangeError("Index out of range");if(c<0)throw new RangeError("Index out of range")}function O(a,b,c,d,e){return e||N(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(a,b,c,d,23,4),c+4}function P(a,b,c,d,e){return e||N(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(a,b,c,d,52,8),c+8}function Q(a){if(a=R(a).replace(ba,""),a.length<2)return"";for(;a.length%4!==0;)a+="=";return a}function R(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function S(a){return a<16?"0"+a.toString(16):a.toString(16)}function T(a,b){b=b||1/0;for(var c,d=a.length,e=null,f=[],g=0;g<d;++g){if(c=a.charCodeAt(g),c>55295&&c<57344){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(c<56320){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=(e-55296<<10|c-56320)+65536}else e&&(b-=3)>-1&&f.push(239,191,189);if(e=null,c<128){if((b-=1)<0)break;f.push(c)}else if(c<2048){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}else if(c<65536){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(c<1114112))throw new Error("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}return f}function U(a){for(var b=[],c=0;c<a.length;++c)b.push(255&a.charCodeAt(c));return b}function V(a,b){for(var c,d,e,f=[],g=0;g<a.length&&!((b-=2)<0);++g)c=a.charCodeAt(g),d=c>>8,e=c%256,f.push(e),f.push(d);return f}function W(a){return Z.toByteArray(Q(a))}function X(a,b,c,d){for(var e=0;e<d&&!(e+c>=b.length||e>=a.length);++e)b[e+c]=a[e];return e}function Y(a){return a!==a}var Z=a("base64-js"),$=a("ieee754"),_=a("isarray");c.Buffer=g,c.SlowBuffer=q,c.INSPECT_MAX_BYTES=50,g.TYPED_ARRAY_SUPPORT=void 0!==b.TYPED_ARRAY_SUPPORT?b.TYPED_ARRAY_SUPPORT:d(),c.kMaxLength=e(),g.poolSize=8192,g._augment=function(a){return a.__proto__=g.prototype,a},g.from=function(a,b,c){return h(null,a,b,c)},g.TYPED_ARRAY_SUPPORT&&(g.prototype.__proto__=Uint8Array.prototype,g.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&g[Symbol.species]===g&&Object.defineProperty(g,Symbol.species,{value:null,configurable:!0})),g.alloc=function(a,b,c){return j(null,a,b,c)},g.allocUnsafe=function(a){return k(null,a)},g.allocUnsafeSlow=function(a){return k(null,a)},g.isBuffer=function(a){return!(null==a||!a._isBuffer)},g.compare=function(a,b){if(!g.isBuffer(a)||!g.isBuffer(b))throw new TypeError("Arguments must be Buffers");if(a===b)return 0;for(var c=a.length,d=b.length,e=0,f=Math.min(c,d);e<f;++e)if(a[e]!==b[e]){c=a[e],d=b[e];break}return c<d?-1:d<c?1:0},g.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},g.concat=function(a,b){if(!_(a))throw new TypeError('"list" argument must be an Array of Buffers');if(0===a.length)return g.alloc(0);var c;if(void 0===b)for(b=0,c=0;c<a.length;++c)b+=a[c].length;var d=g.allocUnsafe(b),e=0;for(c=0;c<a.length;++c){var f=a[c];if(!g.isBuffer(f))throw new TypeError('"list" argument must be an Array of Buffers');f.copy(d,e),e+=f.length}return d},g.byteLength=r,g.prototype._isBuffer=!0,g.prototype.swap16=function(){var a=this.length;if(a%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var b=0;b<a;b+=2)t(this,b,b+1);return this},g.prototype.swap32=function(){var a=this.length;if(a%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var b=0;b<a;b+=4)t(this,b,b+3),t(this,b+1,b+2);return this},g.prototype.swap64=function(){var a=this.length;if(a%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var b=0;b<a;b+=8)t(this,b,b+7),t(this,b+1,b+6),t(this,b+2,b+5),t(this,b+3,b+4);return this},g.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?D(this,0,a):s.apply(this,arguments)},g.prototype.equals=function(a){if(!g.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a||0===g.compare(this,a)},g.prototype.inspect=function(){var a="",b=c.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,b).match(/.{2}/g).join(" "),this.length>b&&(a+=" ... ")),"<Buffer "+a+">"},g.prototype.compare=function(a,b,c,d,e){if(!g.isBuffer(a))throw new TypeError("Argument must be a Buffer");if(void 0===b&&(b=0),void 0===c&&(c=a?a.length:0),void 0===d&&(d=0),void 0===e&&(e=this.length),b<0||c>a.length||d<0||e>this.length)throw new RangeError("out of range index");if(d>=e&&b>=c)return 0;if(d>=e)return-1;if(b>=c)return 1;if(b>>>=0,c>>>=0,d>>>=0,e>>>=0,this===a)return 0;for(var f=e-d,h=c-b,i=Math.min(f,h),j=this.slice(d,e),k=a.slice(b,c),l=0;l<i;++l)if(j[l]!==k[l]){f=j[l],h=k[l];break}return f<h?-1:h<f?1:0},g.prototype.includes=function(a,b,c){return this.indexOf(a,b,c)!==-1},g.prototype.indexOf=function(a,b,c){return u(this,a,b,c,!0)},g.prototype.lastIndexOf=function(a,b,c){return u(this,a,b,c,!1)},g.prototype.write=function(a,b,c,d){if(void 0===b)d="utf8",c=this.length,b=0;else if(void 0===c&&"string"==typeof b)d=b,c=this.length,b=0;else{if(!isFinite(b))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");b=0|b,isFinite(c)?(c=0|c,void 0===d&&(d="utf8")):(d=c,c=void 0)}var e=this.length-b;if((void 0===c||c>e)&&(c=e),a.length>0&&(c<0||b<0)||b>this.length)throw new RangeError("Attempt to write outside buffer bounds");d||(d="utf8");for(var f=!1;;)switch(d){case"hex":return w(this,a,b,c);case"utf8":case"utf-8":return x(this,a,b,c);case"ascii":return y(this,a,b,c);case"latin1":case"binary":return z(this,a,b,c);case"base64":return A(this,a,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,a,b,c);default:if(f)throw new TypeError("Unknown encoding: "+d);d=(""+d).toLowerCase(),f=!0}},g.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var aa=4096;g.prototype.slice=function(a,b){var c=this.length;a=~~a,b=void 0===b?c:~~b,a<0?(a+=c,a<0&&(a=0)):a>c&&(a=c),b<0?(b+=c,b<0&&(b=0)):b>c&&(b=c),b<a&&(b=a);var d;if(g.TYPED_ARRAY_SUPPORT)d=this.subarray(a,b),d.__proto__=g.prototype;else{var e=b-a;d=new g(e,(void 0));for(var f=0;f<e;++f)d[f]=this[f+a]}return d},g.prototype.readUIntLE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return d},g.prototype.readUIntBE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;return d},g.prototype.readUInt8=function(a,b){return b||J(a,1,this.length),this[a]},g.prototype.readUInt16LE=function(a,b){return b||J(a,2,this.length),this[a]|this[a+1]<<8},g.prototype.readUInt16BE=function(a,b){return b||J(a,2,this.length),this[a]<<8|this[a+1]},g.prototype.readUInt32LE=function(a,b){return b||J(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},g.prototype.readUInt32BE=function(a,b){return b||J(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},g.prototype.readIntLE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return e*=128,d>=e&&(d-=Math.pow(2,8*b)),d},g.prototype.readIntBE=function(a,b,c){a=0|a,b=0|b,c||J(a,b,this.length);for(var d=b,e=1,f=this[a+--d];d>0&&(e*=256);)f+=this[a+--d]*e;return e*=128,f>=e&&(f-=Math.pow(2,8*b)),f},g.prototype.readInt8=function(a,b){return b||J(a,1,this.length),128&this[a]?(255-this[a]+1)*-1:this[a]},g.prototype.readInt16LE=function(a,b){b||J(a,2,this.length);var c=this[a]|this[a+1]<<8;return 32768&c?4294901760|c:c},g.prototype.readInt16BE=function(a,b){b||J(a,2,this.length);var c=this[a+1]|this[a]<<8;return 32768&c?4294901760|c:c},g.prototype.readInt32LE=function(a,b){return b||J(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},g.prototype.readInt32BE=function(a,b){return b||J(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},g.prototype.readFloatLE=function(a,b){return b||J(a,4,this.length),$.read(this,a,!0,23,4)},g.prototype.readFloatBE=function(a,b){return b||J(a,4,this.length),$.read(this,a,!1,23,4)},g.prototype.readDoubleLE=function(a,b){return b||J(a,8,this.length),$.read(this,a,!0,52,8)},g.prototype.readDoubleBE=function(a,b){return b||J(a,8,this.length),$.read(this,a,!1,52,8)},g.prototype.writeUIntLE=function(a,b,c,d){if(a=+a,b=0|b,c=0|c,!d){var e=Math.pow(2,8*c)-1;K(this,a,b,c,e,0)}var f=1,g=0;for(this[b]=255&a;++g<c&&(f*=256);)this[b+g]=a/f&255;return b+c},g.prototype.writeUIntBE=function(a,b,c,d){if(a=+a,b=0|b,c=0|c,!d){var e=Math.pow(2,8*c)-1;K(this,a,b,c,e,0)}var f=c-1,g=1;for(this[b+f]=255&a;--f>=0&&(g*=256);)this[b+f]=a/g&255;return b+c},g.prototype.writeUInt8=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,1,255,0),g.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),this[b]=255&a,b+1},g.prototype.writeUInt16LE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,2,65535,0),g.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8):L(this,a,b,!0),b+2},g.prototype.writeUInt16BE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,2,65535,0),g.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=255&a):L(this,a,b,!1),b+2},g.prototype.writeUInt32LE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,4,4294967295,0),g.TYPED_ARRAY_SUPPORT?(this[b+3]=a>>>24,this[b+2]=a>>>16,this[b+1]=a>>>8,this[b]=255&a):M(this,a,b,!0),b+4},g.prototype.writeUInt32BE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,4,4294967295,0),g.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=255&a):M(this,a,b,!1),b+4},g.prototype.writeIntLE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);K(this,a,b,c,e-1,-e)}var f=0,g=1,h=0;for(this[b]=255&a;++f<c&&(g*=256);)a<0&&0===h&&0!==this[b+f-1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},g.prototype.writeIntBE=function(a,b,c,d){if(a=+a,b=0|b,!d){var e=Math.pow(2,8*c-1);K(this,a,b,c,e-1,-e)}var f=c-1,g=1,h=0;for(this[b+f]=255&a;--f>=0&&(g*=256);)a<0&&0===h&&0!==this[b+f+1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},g.prototype.writeInt8=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,1,127,-128),g.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),a<0&&(a=255+a+1),this[b]=255&a,b+1},g.prototype.writeInt16LE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,2,32767,-32768),g.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8):L(this,a,b,!0),b+2},g.prototype.writeInt16BE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,2,32767,-32768),g.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=255&a):L(this,a,b,!1),b+2},g.prototype.writeInt32LE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,4,2147483647,-2147483648),g.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8,this[b+2]=a>>>16,this[b+3]=a>>>24):M(this,a,b,!0),b+4},g.prototype.writeInt32BE=function(a,b,c){return a=+a,b=0|b,c||K(this,a,b,4,2147483647,-2147483648),a<0&&(a=4294967295+a+1),g.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=255&a):M(this,a,b,!1),b+4},g.prototype.writeFloatLE=function(a,b,c){return O(this,a,b,!0,c)},g.prototype.writeFloatBE=function(a,b,c){return O(this,a,b,!1,c)},g.prototype.writeDoubleLE=function(a,b,c){return P(this,a,b,!0,c)},g.prototype.writeDoubleBE=function(a,b,c){return P(this,a,b,!1,c)},g.prototype.copy=function(a,b,c,d){if(c||(c=0),d||0===d||(d=this.length),b>=a.length&&(b=a.length),b||(b=0),d>0&&d<c&&(d=c),d===c)return 0;if(0===a.length||0===this.length)return 0;if(b<0)throw new RangeError("targetStart out of bounds");if(c<0||c>=this.length)throw new RangeError("sourceStart out of bounds");if(d<0)throw new RangeError("sourceEnd out of bounds");d>this.length&&(d=this.length),a.length-b<d-c&&(d=a.length-b+c);var e,f=d-c;if(this===a&&c<b&&b<d)for(e=f-1;e>=0;--e)a[e+b]=this[e+c];else if(f<1e3||!g.TYPED_ARRAY_SUPPORT)for(e=0;e<f;++e)a[e+b]=this[e+c];else Uint8Array.prototype.set.call(a,this.subarray(c,c+f),b);return f},g.prototype.fill=function(a,b,c,d){if("string"==typeof a){if("string"==typeof b?(d=b,b=0,c=this.length):"string"==typeof c&&(d=c,c=this.length),1===a.length){var e=a.charCodeAt(0);e<256&&(a=e)}if(void 0!==d&&"string"!=typeof d)throw new TypeError("encoding must be a string");if("string"==typeof d&&!g.isEncoding(d))throw new TypeError("Unknown encoding: "+d)}else"number"==typeof a&&(a=255&a);if(b<0||this.length<b||this.length<c)throw new RangeError("Out of range index");if(c<=b)return this;b>>>=0,c=void 0===c?this.length:c>>>0,a||(a=0);var f;if("number"==typeof a)for(f=b;f<c;++f)this[f]=a;else{var h=g.isBuffer(a)?a:T(new g(a,d).toString()),i=h.length;for(f=0;f<c-b;++f)this[f+b]=h[f%i]}return this};var ba=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":4,ieee754:5,isarray:6}],4:[function(a,b,c){"use strict";function d(a){var b=a.length;if(b%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===a[b-2]?2:"="===a[b-1]?1:0}function e(a){return 3*a.length/4-d(a)}function f(a){var b,c,e,f,g,h,i=a.length;g=d(a),h=new l(3*i/4-g),e=g>0?i-4:i;var j=0;for(b=0,c=0;b<e;b+=4,c+=3)f=k[a.charCodeAt(b)]<<18|k[a.charCodeAt(b+1)]<<12|k[a.charCodeAt(b+2)]<<6|k[a.charCodeAt(b+3)],h[j++]=f>>16&255,h[j++]=f>>8&255,h[j++]=255&f;return 2===g?(f=k[a.charCodeAt(b)]<<2|k[a.charCodeAt(b+1)]>>4,h[j++]=255&f):1===g&&(f=k[a.charCodeAt(b)]<<10|k[a.charCodeAt(b+1)]<<4|k[a.charCodeAt(b+2)]>>2,h[j++]=f>>8&255,h[j++]=255&f),h}function g(a){return j[a>>18&63]+j[a>>12&63]+j[a>>6&63]+j[63&a]}function h(a,b,c){for(var d,e=[],f=b;f<c;f+=3)d=(a[f]<<16)+(a[f+1]<<8)+a[f+2],e.push(g(d));return e.join("")}function i(a){for(var b,c=a.length,d=c%3,e="",f=[],g=16383,i=0,k=c-d;i<k;i+=g)f.push(h(a,i,i+g>k?k:i+g));return 1===d?(b=a[c-1],e+=j[b>>2],e+=j[b<<4&63],e+="=="):2===d&&(b=(a[c-2]<<8)+a[c-1],e+=j[b>>10],e+=j[b>>4&63],e+=j[b<<2&63],e+="="),f.push(e),f.join("")}c.byteLength=e,c.toByteArray=f,c.fromByteArray=i;for(var j=[],k=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=m.length;n<o;++n)j[n]=m[n],k[m.charCodeAt(n)]=n;k["-".charCodeAt(0)]=62,k["_".charCodeAt(0)]=63},{}],5:[function(a,b,c){c.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?NaN:(n?-1:1)*(1/0);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=b<0||0===b&&1/b<0?1:0;for(b=Math.abs(b),isNaN(b)||b===1/0?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],6:[function(a,b,c){var d={}.toString;b.exports=Array.isArray||function(a){return"[object Array]"==d.call(a)}},{}],7:[function(a,b,c){"use strict";c.randomBytes=c.rng=c.pseudoRandomBytes=c.prng=a("randombytes"),c.createHash=c.Hash=a("create-hash"),c.createHmac=c.Hmac=a("create-hmac");var d=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(Object.keys(a("browserify-sign/algos")));c.getHashes=function(){return d};var e=a("pbkdf2");c.pbkdf2=e.pbkdf2,c.pbkdf2Sync=e.pbkdf2Sync;var f=a("browserify-cipher");["Cipher","createCipher","Cipheriv","createCipheriv","Decipher","createDecipher","Decipheriv","createDecipheriv","getCiphers","listCiphers"].forEach(function(a){c[a]=f[a]});var g=a("diffie-hellman");["DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman"].forEach(function(a){c[a]=g[a]});var h=a("browserify-sign");["createSign","Sign","createVerify","Verify"].forEach(function(a){c[a]=h[a]}),c.createECDH=a("create-ecdh");var i=a("public-encrypt");["publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt"].forEach(function(a){c[a]=i[a]}),["createCredentials"].forEach(function(a){c[a]=function(){throw new Error(["sorry, "+a+" is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))}})},{"browserify-cipher":8,"browserify-sign":38,"browserify-sign/algos":37,"create-ecdh":108,"create-hash":136,"create-hmac":149,"diffie-hellman":150,pbkdf2:157,"public-encrypt":159,randombytes:205}],8:[function(a,b,c){function d(a,b){var c,d;if(a=a.toLowerCase(),m[a])c=m[a].key,d=m[a].iv;else{if(!l[a])throw new TypeError("invalid suite type");c=8*l[a].key,d=l[a].iv}var e=i(b,!1,c,d);return f(a,e.key,e.iv)}function e(a,b){var c,d;if(a=a.toLowerCase(),m[a])c=m[a].key,d=m[a].iv;else{if(!l[a])throw new TypeError("invalid suite type");c=8*l[a].key,d=l[a].iv}var e=i(b,!1,c,d);return g(a,e.key,e.iv)}function f(a,b,c){if(a=a.toLowerCase(),m[a])return j.createCipheriv(a,b,c);if(l[a])return new k({key:b,iv:c,mode:a});throw new TypeError("invalid suite type")}function g(a,b,c){if(a=a.toLowerCase(),m[a])return j.createDecipheriv(a,b,c);if(l[a])return new k({key:b,iv:c,mode:a,decrypt:!0});throw new TypeError("invalid suite type")}function h(){return Object.keys(l).concat(j.getCiphers())}var i=a("evp_bytestokey"),j=a("browserify-aes/browser"),k=a("browserify-des"),l=a("browserify-des/modes"),m=a("browserify-aes/modes");c.createCipher=c.Cipher=d,c.createCipheriv=c.Cipheriv=f,c.createDecipher=c.Decipher=e,c.createDecipheriv=c.Decipheriv=g,c.listCiphers=c.getCiphers=h},{"browserify-aes/browser":11,"browserify-aes/modes":15,"browserify-des":26,"browserify-des/modes":27,evp_bytestokey:36}],9:[function(a,b,c){(function(a){function b(a){var b,c;return b=a>h||a<0?(c=Math.abs(a)%h,a<0?h-c:c):a}function d(a){for(var b=0;b<a.length;a++)a[b]=0;return!1}function e(){this.SBOX=[],this.INV_SBOX=[],this.SUB_MIX=[[],[],[],[]],this.INV_SUB_MIX=[[],[],[],[]],this.init(),this.RCON=[0,1,2,4,8,16,32,64,128,27,54]}function f(a){for(var b=a.length/4,c=new Array(b),d=-1;++d<b;)c[d]=a.readUInt32BE(4*d);return c}function g(a){this._key=f(a),this._doReset()}var h=Math.pow(2,32);e.prototype.init=function(){var a,b,c,d,e,f,g,h,i,j;for(a=function(){var a,c;for(c=[],b=a=0;a<256;b=++a)b<128?c.push(b<<1):c.push(b<<1^283);return c}(),e=0,i=0,b=j=0;j<256;b=++j)c=i^i<<1^i<<2^i<<3^i<<4,c=c>>>8^255&c^99,this.SBOX[e]=c,this.INV_SBOX[c]=e,f=a[e],g=a[f],h=a[g],d=257*a[c]^16843008*c,this.SUB_MIX[0][e]=d<<24|d>>>8,this.SUB_MIX[1][e]=d<<16|d>>>16,this.SUB_MIX[2][e]=d<<8|d>>>24,this.SUB_MIX[3][e]=d,d=16843009*h^65537*g^257*f^16843008*e,this.INV_SUB_MIX[0][c]=d<<24|d>>>8,this.INV_SUB_MIX[1][c]=d<<16|d>>>16,this.INV_SUB_MIX[2][c]=d<<8|d>>>24,this.INV_SUB_MIX[3][c]=d,0===e?e=i=1:(e=f^a[a[a[h^f]]],i^=a[a[i]]);return!0};var i=new e;g.blockSize=16,g.prototype.blockSize=g.blockSize,g.keySize=32,g.prototype.keySize=g.keySize,g.prototype._doReset=function(){var a,b,c,d,e,f;for(c=this._key,b=c.length,this._nRounds=b+6,e=4*(this._nRounds+1),this._keySchedule=[],d=0;d<e;d++)this._keySchedule[d]=d<b?c[d]:(f=this._keySchedule[d-1],d%b===0?(f=f<<8|f>>>24,f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f],f^=i.RCON[d/b|0]<<24):b>6&&d%b===4?f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f]:void 0,this._keySchedule[d-b]^f);for(this._invKeySchedule=[],a=0;a<e;a++)d=e-a,f=this._keySchedule[d-(a%4?0:4)],this._invKeySchedule[a]=a<4||d<=4?f:i.INV_SUB_MIX[0][i.SBOX[f>>>24]]^i.INV_SUB_MIX[1][i.SBOX[f>>>16&255]]^i.INV_SUB_MIX[2][i.SBOX[f>>>8&255]]^i.INV_SUB_MIX[3][i.SBOX[255&f]];return!0},g.prototype.encryptBlock=function(b){b=f(new a(b));var c=this._doCryptBlock(b,this._keySchedule,i.SUB_MIX,i.SBOX),d=new a(16);return d.writeUInt32BE(c[0],0),d.writeUInt32BE(c[1],4),d.writeUInt32BE(c[2],8),d.writeUInt32BE(c[3],12),d},g.prototype.decryptBlock=function(b){b=f(new a(b));var c=[b[3],b[1]];b[1]=c[0],b[3]=c[1];var d=this._doCryptBlock(b,this._invKeySchedule,i.INV_SUB_MIX,i.INV_SBOX),e=new a(16);return e.writeUInt32BE(d[0],0),e.writeUInt32BE(d[3],4),e.writeUInt32BE(d[2],8),e.writeUInt32BE(d[1],12),e},g.prototype.scrub=function(){d(this._keySchedule),d(this._invKeySchedule),d(this._key)},g.prototype._doCryptBlock=function(a,c,d,e){var f,g,h,i,j,k,l,m,n;g=a[0]^c[0],h=a[1]^c[1],i=a[2]^c[2],j=a[3]^c[3],f=4;for(var o=1;o<this._nRounds;o++)k=d[0][g>>>24]^d[1][h>>>16&255]^d[2][i>>>8&255]^d[3][255&j]^c[f++],l=d[0][h>>>24]^d[1][i>>>16&255]^d[2][j>>>8&255]^d[3][255&g]^c[f++],m=d[0][i>>>24]^d[1][j>>>16&255]^d[2][g>>>8&255]^d[3][255&h]^c[f++],n=d[0][j>>>24]^d[1][g>>>16&255]^d[2][h>>>8&255]^d[3][255&i]^c[f++],g=k,h=l,i=m,j=n;return k=(e[g>>>24]<<24|e[h>>>16&255]<<16|e[i>>>8&255]<<8|e[255&j])^c[f++],l=(e[h>>>24]<<24|e[i>>>16&255]<<16|e[j>>>8&255]<<8|e[255&g])^c[f++],m=(e[i>>>24]<<24|e[j>>>16&255]<<16|e[g>>>8&255]<<8|e[255&h])^c[f++],n=(e[j>>>24]<<24|e[g>>>16&255]<<16|e[h>>>8&255]<<8|e[255&i])^c[f++],[b(k),b(l),b(m),b(n)]},c.AES=g}).call(this,a("buffer").Buffer)},{buffer:3}],10:[function(a,b,c){(function(c){function d(a,b,e,h){if(!(this instanceof d))return new d(a,b,e);g.call(this),this._finID=c.concat([e,new c([0,0,0,1])]),e=c.concat([e,new c([0,0,0,2])]),this._cipher=new f.AES(b),this._prev=new c(e.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,this._alen=0,this._len=0,e.copy(this._prev),this._mode=a;var j=new c(4);j.fill(0),this._ghash=new i(this._cipher.encryptBlock(j)),this._authTag=null,this._called=!1}function e(a,b){var c=0;a.length!==b.length&&c++;for(var d=Math.min(a.length,b.length),e=-1;++e<d;)c+=a[e]^b[e];return c}var f=a("./aes"),g=a("cipher-base"),h=a("inherits"),i=a("./ghash"),j=a("buffer-xor");h(d,g),b.exports=d,d.prototype._update=function(a){if(!this._called&&this._alen){var b=16-this._alen%16;b<16&&(b=new c(b),b.fill(0),this._ghash.update(b))}this._called=!0;var d=this._mode.encrypt(this,a);return this._decrypt?this._ghash.update(a):this._ghash.update(d),this._len+=a.length,d},d.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var a=j(this._ghash["final"](8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt){if(e(a,this._authTag))throw new Error("Unsupported state or unable to authenticate data")}else this._authTag=a;this._cipher.scrub()},d.prototype.getAuthTag=function(){if(!this._decrypt&&c.isBuffer(this._authTag))return this._authTag;throw new Error("Attempting to get auth tag in unsupported state")},d.prototype.setAuthTag=function(a){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=a},d.prototype.setAAD=function(a){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(a),this._alen+=a.length}}).call(this,a("buffer").Buffer)},{"./aes":9,"./ghash":14,buffer:3,"buffer-xor":23,"cipher-base":24,inherits:207}],11:[function(a,b,c){function d(){return Object.keys(g)}var e=a("./encrypter");c.createCipher=c.Cipher=e.createCipher,c.createCipheriv=c.Cipheriv=e.createCipheriv;var f=a("./decrypter");c.createDecipher=c.Decipher=f.createDecipher,c.createDecipheriv=c.Decipheriv=f.createDecipheriv;var g=a("./modes");c.listCiphers=c.getCiphers=d},{"./decrypter":12,"./encrypter":13,"./modes":15}],12:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(j.call(this),this._cache=new e,this._last=void 0,this._cipher=new i.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a){for(var b=a[15],c=-1;++c<b;)if(a[c+(16-b)]!==b)throw new Error("unable to decrypt data");if(16!==b)return a.slice(0,16-b)}function g(a,c,e){var f=l[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(p[f.mode],c,e,(!0)):"auth"===f.type?new n(p[f.mode],c,e,(!0)):new d(p[f.mode],c,e)}function h(a,b){var c=l[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=o(b,!1,c.key,c.iv);return g(a,d.key,d.iv)}var i=a("./aes"),j=a("cipher-base"),k=a("inherits"),l=a("./modes"),m=a("./streamCipher"),n=a("./authCipher"),o=a("evp_bytestokey");k(d,j),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get(this._autopadding);)d=this._mode.decrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){
var a=this._cache.flush();if(this._autopadding)return f(this._mode.decrypt(this,a));if(a)throw new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(a){var b;if(a){if(this.cache.length>16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b}else if(this.cache.length>=16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b;return null},e.prototype.flush=function(){if(this.cache.length)return this.cache};var p={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createDecipher=h,c.createDecipheriv=g}).call(this,a("buffer").Buffer)},{"./aes":9,"./authCipher":10,"./modes":15,"./modes/cbc":16,"./modes/cfb":17,"./modes/cfb1":18,"./modes/cfb8":19,"./modes/ctr":20,"./modes/ecb":21,"./modes/ofb":22,"./streamCipher":25,buffer:3,"cipher-base":24,evp_bytestokey:36,inherits:207}],13:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(i.call(this),this._cache=new e,this._cipher=new h.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a,c,e){var f=k[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(o[f.mode],c,e):"auth"===f.type?new n(o[f.mode],c,e):new d(o[f.mode],c,e)}function g(a,b){var c=k[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=l(b,!1,c.key,c.iv);return f(a,d.key,d.iv)}var h=a("./aes"),i=a("cipher-base"),j=a("inherits"),k=a("./modes"),l=a("evp_bytestokey"),m=a("./streamCipher"),n=a("./authCipher");j(d,i),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get();)d=this._mode.encrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){var a=this._cache.flush();if(this._autopadding)return a=this._mode.encrypt(this,a),this._cipher.scrub(),a;if("10101010101010101010101010101010"!==a.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(){if(this.cache.length>15){var a=this.cache.slice(0,16);return this.cache=this.cache.slice(16),a}return null},e.prototype.flush=function(){for(var a=16-this.cache.length,c=new b(a),d=-1;++d<a;)c.writeUInt8(a,d);var e=b.concat([this.cache,c]);return e};var o={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createCipheriv=f,c.createCipher=g}).call(this,a("buffer").Buffer)},{"./aes":9,"./authCipher":10,"./modes":15,"./modes/cbc":16,"./modes/cfb":17,"./modes/cfb1":18,"./modes/cfb8":19,"./modes/ctr":20,"./modes/ecb":21,"./modes/ofb":22,"./streamCipher":25,buffer:3,"cipher-base":24,evp_bytestokey:36,inherits:207}],14:[function(a,b,c){(function(a){function c(b){this.h=b,this.state=new a(16),this.state.fill(0),this.cache=new a("")}function d(a){return[a.readUInt32BE(0),a.readUInt32BE(4),a.readUInt32BE(8),a.readUInt32BE(12)]}function e(b){b=b.map(f);var c=new a(16);return c.writeUInt32BE(b[0],0),c.writeUInt32BE(b[1],4),c.writeUInt32BE(b[2],8),c.writeUInt32BE(b[3],12),c}function f(a){var b,c;return b=a>i||a<0?(c=Math.abs(a)%i,a<0?i-c:c):a}function g(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}var h=new a(16);h.fill(0),b.exports=c,c.prototype.ghash=function(a){for(var b=-1;++b<a.length;)this.state[b]^=a[b];this._multiply()},c.prototype._multiply=function(){for(var a,b,c,f=d(this.h),h=[0,0,0,0],i=-1;++i<128;){for(b=0!==(this.state[~~(i/8)]&1<<7-i%8),b&&(h=g(h,f)),c=0!==(1&f[3]),a=3;a>0;a--)f[a]=f[a]>>>1|(1&f[a-1])<<31;f[0]=f[0]>>>1,c&&(f[0]=f[0]^225<<24)}this.state=e(h)},c.prototype.update=function(b){this.cache=a.concat([this.cache,b]);for(var c;this.cache.length>=16;)c=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(c)},c.prototype["final"]=function(b,c){return this.cache.length&&this.ghash(a.concat([this.cache,h],16)),this.ghash(e([0,b,0,c])),this.state};var i=Math.pow(2,32)}).call(this,a("buffer").Buffer)},{buffer:3}],15:[function(a,b,c){c["aes-128-ecb"]={cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},c["aes-192-ecb"]={cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},c["aes-256-ecb"]={cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},c["aes-128-cbc"]={cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},c["aes-192-cbc"]={cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},c["aes-256-cbc"]={cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},c.aes128=c["aes-128-cbc"],c.aes192=c["aes-192-cbc"],c.aes256=c["aes-256-cbc"],c["aes-128-cfb"]={cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},c["aes-192-cfb"]={cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},c["aes-256-cfb"]={cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},c["aes-128-cfb8"]={cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},c["aes-192-cfb8"]={cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},c["aes-256-cfb8"]={cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},c["aes-128-cfb1"]={cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},c["aes-192-cfb1"]={cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},c["aes-256-cfb1"]={cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},c["aes-128-ofb"]={cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},c["aes-192-ofb"]={cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},c["aes-256-ofb"]={cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},c["aes-128-ctr"]={cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},c["aes-192-ctr"]={cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},c["aes-256-ctr"]={cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},c["aes-128-gcm"]={cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},c["aes-192-gcm"]={cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},c["aes-256-gcm"]={cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},{}],16:[function(a,b,c){var d=a("buffer-xor");c.encrypt=function(a,b){var c=d(b,a._prev);return a._prev=a._cipher.encryptBlock(c),a._prev},c.decrypt=function(a,b){var c=a._prev;a._prev=b;var e=a._cipher.decryptBlock(b);return d(e,c)}},{"buffer-xor":23}],17:[function(a,b,c){(function(b){function d(a,c,d){var f=c.length,g=e(c,a._cache);return a._cache=a._cache.slice(f),a._prev=b.concat([a._prev,d?c:g]),g}var e=a("buffer-xor");c.encrypt=function(a,c,e){for(var f,g=new b("");c.length;){if(0===a._cache.length&&(a._cache=a._cipher.encryptBlock(a._prev),a._prev=new b("")),!(a._cache.length<=c.length)){g=b.concat([g,d(a,c,e)]);break}f=a._cache.length,g=b.concat([g,d(a,c.slice(0,f),e)]),c=c.slice(f)}return g}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":23}],18:[function(a,b,c){(function(a){function b(a,b,c){for(var e,f,g,h=-1,i=8,j=0;++h<i;)e=a._cipher.encryptBlock(a._prev),f=b&1<<7-h?128:0,g=e[0]^f,j+=(128&g)>>h%8,a._prev=d(a._prev,c?f:g);return j}function d(b,c){var d=b.length,e=-1,f=new a(b.length);for(b=a.concat([b,new a([c])]);++e<d;)f[e]=b[e]<<1|b[e+1]>>7;return f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],19:[function(a,b,c){(function(a){function b(b,c,d){var e=b._cipher.encryptBlock(b._prev),f=e[0]^c;return b._prev=a.concat([b._prev.slice(1),new a([d?c:f])]),f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],20:[function(a,b,c){(function(b){function d(a){for(var b,c=a.length;c--;){if(b=a.readUInt8(c),255!==b){b++,a.writeUInt8(b,c);break}a.writeUInt8(0,c)}}function e(a){var b=a._cipher.encryptBlock(a._prev);return d(a._prev),b}var f=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,e(a)]);var d=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),f(c,d)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":23}],21:[function(a,b,c){c.encrypt=function(a,b){return a._cipher.encryptBlock(b)},c.decrypt=function(a,b){return a._cipher.decryptBlock(b)}},{}],22:[function(a,b,c){(function(b){function d(a){return a._prev=a._cipher.encryptBlock(a._prev),a._prev}var e=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,d(a)]);var f=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),e(c,f)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":23}],23:[function(a,b,c){(function(a){b.exports=function(b,c){for(var d=Math.min(b.length,c.length),e=new a(d),f=0;f<d;++f)e[f]=b[f]^c[f];return e}}).call(this,a("buffer").Buffer)},{buffer:3}],24:[function(a,b,c){(function(c){function d(a){e.call(this),this.hashMode="string"==typeof a,this.hashMode?this[a]=this._finalOrDigest:this["final"]=this._finalOrDigest,this._decoder=null,this._encoding=null}var e=a("stream").Transform,f=a("inherits"),g=a("string_decoder").StringDecoder;b.exports=d,f(d,e),d.prototype.update=function(a,b,d){"string"==typeof a&&(a=new c(a,b));var e=this._update(a);return this.hashMode?this:(d&&(e=this._toString(e,d)),e)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(a,b,c){var d;try{this.hashMode?this._update(a):this.push(this._update(a))}catch(e){d=e}finally{c(d)}},d.prototype._flush=function(a){var b;try{this.push(this._final())}catch(c){b=c}finally{a(b)}},d.prototype._finalOrDigest=function(a){var b=this._final()||new c("");return a&&(b=this._toString(b,a,!0)),b},d.prototype._toString=function(a,b,c){if(this._decoder||(this._decoder=new g(b),this._encoding=b),this._encoding!==b)throw new Error("can't switch encodings");var d=this._decoder.write(a);return c&&(d+=this._decoder.end()),d}}).call(this,a("buffer").Buffer)},{buffer:3,inherits:207,stream:226,string_decoder:227}],25:[function(a,b,c){(function(c){function d(a,b,g,h){return this instanceof d?(f.call(this),this._cipher=new e.AES(b),this._prev=new c(g.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,g.copy(this._prev),void(this._mode=a)):new d(a,b,g)}var e=a("./aes"),f=a("cipher-base"),g=a("inherits");g(d,f),b.exports=d,d.prototype._update=function(a){return this._mode.encrypt(this,a,this._decrypt)},d.prototype._final=function(){this._cipher.scrub()}}).call(this,a("buffer").Buffer)},{"./aes":9,buffer:3,"cipher-base":24,inherits:207}],26:[function(a,b,c){(function(c){function d(a){e.call(this);var b,d=a.mode.toLowerCase(),f=h[d];b=a.decrypt?"decrypt":"encrypt";var g=a.key;"des-ede"!==d&&"des-ede-cbc"!==d||(g=c.concat([g,g.slice(0,8)]));var i=a.iv;this._des=f.create({key:g,iv:i,type:b})}var e=a("cipher-base"),f=a("des.js"),g=a("inherits"),h={"des-ede3-cbc":f.CBC.instantiate(f.EDE),"des-ede3":f.EDE,"des-ede-cbc":f.CBC.instantiate(f.EDE),"des-ede":f.EDE,"des-cbc":f.CBC.instantiate(f.DES),"des-ecb":f.DES};h.des=h["des-cbc"],h.des3=h["des-ede3-cbc"],b.exports=d,g(d,e),d.prototype._update=function(a){return new c(this._des.update(a))},d.prototype._final=function(){return new c(this._des["final"]())}}).call(this,a("buffer").Buffer)},{buffer:3,"cipher-base":28,"des.js":29,inherits:207}],27:[function(a,b,c){c["des-ecb"]={key:8,iv:0},c["des-cbc"]=c.des={key:8,iv:8},c["des-ede3-cbc"]=c.des3={key:24,iv:8},c["des-ede3"]={key:24,iv:0},c["des-ede-cbc"]={key:16,iv:8},c["des-ede"]={key:16,iv:0}},{}],28:[function(a,b,c){(function(c){function d(a){e.call(this),this.hashMode="string"==typeof a,this.hashMode?this[a]=this._finalOrDigest:this["final"]=this._finalOrDigest,this._decoder=null,this._encoding=null}var e=a("stream").Transform,f=a("inherits"),g=a("string_decoder").StringDecoder;b.exports=d,f(d,e),d.prototype.update=function(a,b,d){"string"==typeof a&&(a=new c(a,b));var e=this._update(a);return this.hashMode?this:(d&&(e=this._toString(e,d)),e)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(a,b,c){var d;try{this.hashMode?this._update(a):this.push(this._update(a))}catch(e){d=e}finally{c(d)}},d.prototype._flush=function(a){var b;try{this.push(this._final())}catch(c){b=c}finally{a(b)}},d.prototype._finalOrDigest=function(a){var b=this._final()||new c("");return a&&(b=this._toString(b,a,!0)),b},d.prototype._toString=function(a,b,c){if(this._decoder||(this._decoder=new g(b),this._encoding=b),this._encoding!==b)throw new Error("can't switch encodings");var d=this._decoder.write(a);return c&&(d+=this._decoder.end()),d}}).call(this,a("buffer").Buffer)},{buffer:3,inherits:207,stream:226,string_decoder:227}],29:[function(a,b,c){"use strict";c.utils=a("./des/utils"),c.Cipher=a("./des/cipher"),c.DES=a("./des/des"),c.CBC=a("./des/cbc"),c.EDE=a("./des/ede")},{"./des/cbc":30,"./des/cipher":31,"./des/des":32,"./des/ede":33,"./des/utils":34}],30:[function(a,b,c){"use strict";function d(a){f.equal(a.length,8,"Invalid IV length"),this.iv=new Array(8);for(var b=0;b<this.iv.length;b++)this.iv[b]=a[b]}function e(a){function b(b){a.call(this,b),this._cbcInit()}g(b,a);for(var c=Object.keys(h),d=0;d<c.length;d++){var e=c[d];b.prototype[e]=h[e]}return b.create=function(a){return new b(a)},b}var f=a("minimalistic-assert"),g=a("inherits"),h={};c.instantiate=e,h._cbcInit=function(){var a=new d(this.options.iv);this._cbcState=a},h._update=function(a,b,c,d){var e=this._cbcState,f=this.constructor.super_.prototype,g=e.iv;if("encrypt"===this.type){for(var h=0;h<this.blockSize;h++)g[h]^=a[b+h];f._update.call(this,g,0,c,d);for(var h=0;h<this.blockSize;h++)g[h]=c[d+h]}else{f._update.call(this,a,b,c,d);for(var h=0;h<this.blockSize;h++)c[d+h]^=g[h];for(var h=0;h<this.blockSize;h++)g[h]=a[b+h]}}},{inherits:207,"minimalistic-assert":35}],31:[function(a,b,c){"use strict";function d(a){this.options=a,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}var e=a("minimalistic-assert");b.exports=d,d.prototype._init=function(){},d.prototype.update=function(a){return 0===a.length?[]:"decrypt"===this.type?this._updateDecrypt(a):this._updateEncrypt(a)},d.prototype._buffer=function(a,b){for(var c=Math.min(this.buffer.length-this.bufferOff,a.length-b),d=0;d<c;d++)this.buffer[this.bufferOff+d]=a[b+d];return this.bufferOff+=c,c},d.prototype._flushBuffer=function(a,b){return this._update(this.buffer,0,a,b),this.bufferOff=0,this.blockSize},d.prototype._updateEncrypt=function(a){var b=0,c=0,d=(this.bufferOff+a.length)/this.blockSize|0,e=new Array(d*this.blockSize);0!==this.bufferOff&&(b+=this._buffer(a,b),this.bufferOff===this.buffer.length&&(c+=this._flushBuffer(e,c)));for(var f=a.length-(a.length-b)%this.blockSize;b<f;b+=this.blockSize)this._update(a,b,e,c),c+=this.blockSize;for(;b<a.length;b++,this.bufferOff++)this.buffer[this.bufferOff]=a[b];return e},d.prototype._updateDecrypt=function(a){for(var b=0,c=0,d=Math.ceil((this.bufferOff+a.length)/this.blockSize)-1,e=new Array(d*this.blockSize);d>0;d--)b+=this._buffer(a,b),c+=this._flushBuffer(e,c);return b+=this._buffer(a,b),e},d.prototype["final"]=function(a){var b;a&&(b=this.update(a));var c;return c="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),b?b.concat(c):c},d.prototype._pad=function(a,b){if(0===b)return!1;for(;b<a.length;)a[b++]=0;return!0},d.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var a=new Array(this.blockSize);return this._update(this.buffer,0,a,0),a},d.prototype._unpad=function(a){return a},d.prototype._finalDecrypt=function(){e.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var a=new Array(this.blockSize);return this._flushBuffer(a,0),this._unpad(a)}},{"minimalistic-assert":35}],32:[function(a,b,c){"use strict";function d(){this.tmp=new Array(2),this.keys=null}function e(a){j.call(this,a);var b=new d;this._desState=b,this.deriveKeys(b,a.key)}var f=a("minimalistic-assert"),g=a("inherits"),h=a("../des"),i=h.utils,j=h.Cipher;g(e,j),b.exports=e,e.create=function(a){return new e(a)};var k=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];e.prototype.deriveKeys=function(a,b){a.keys=new Array(32),f.equal(b.length,this.blockSize,"Invalid key length");var c=i.readUInt32BE(b,0),d=i.readUInt32BE(b,4);i.pc1(c,d,a.tmp,0),c=a.tmp[0],d=a.tmp[1];for(var e=0;e<a.keys.length;e+=2){var g=k[e>>>1];c=i.r28shl(c,g),d=i.r28shl(d,g),i.pc2(c,d,a.keys,e)}},e.prototype._update=function(a,b,c,d){var e=this._desState,f=i.readUInt32BE(a,b),g=i.readUInt32BE(a,b+4);i.ip(f,g,e.tmp,0),f=e.tmp[0],g=e.tmp[1],"encrypt"===this.type?this._encrypt(e,f,g,e.tmp,0):this._decrypt(e,f,g,e.tmp,0),f=e.tmp[0],g=e.tmp[1],i.writeUInt32BE(c,f,d),i.writeUInt32BE(c,g,d+4)},e.prototype._pad=function(a,b){for(var c=a.length-b,d=b;d<a.length;d++)a[d]=c;return!0},e.prototype._unpad=function(a){for(var b=a[a.length-1],c=a.length-b;c<a.length;c++)f.equal(a[c],b);return a.slice(0,a.length-b)},e.prototype._encrypt=function(a,b,c,d,e){for(var f=b,g=c,h=0;h<a.keys.length;h+=2){var j=a.keys[h],k=a.keys[h+1];i.expand(g,a.tmp,0),j^=a.tmp[0],k^=a.tmp[1];var l=i.substitute(j,k),m=i.permute(l),n=g;g=(f^m)>>>0,f=n}i.rip(g,f,d,e)},e.prototype._decrypt=function(a,b,c,d,e){for(var f=c,g=b,h=a.keys.length-2;h>=0;h-=2){var j=a.keys[h],k=a.keys[h+1];i.expand(f,a.tmp,0),j^=a.tmp[0],k^=a.tmp[1];var l=i.substitute(j,k),m=i.permute(l),n=f;f=(g^m)>>>0,g=n}i.rip(f,g,d,e)}},{"../des":29,inherits:207,"minimalistic-assert":35}],33:[function(a,b,c){"use strict";function d(a,b){f.equal(b.length,24,"Invalid key length");var c=b.slice(0,8),d=b.slice(8,16),e=b.slice(16,24);"encrypt"===a?this.ciphers=[j.create({type:"encrypt",key:c}),j.create({type:"decrypt",key:d}),j.create({type:"encrypt",key:e})]:this.ciphers=[j.create({type:"decrypt",key:e}),j.create({type:"encrypt",key:d}),j.create({type:"decrypt",key:c})]}function e(a){i.call(this,a);var b=new d(this.type,this.options.key);this._edeState=b}var f=a("minimalistic-assert"),g=a("inherits"),h=a("../des"),i=h.Cipher,j=h.DES;g(e,i),b.exports=e,e.create=function(a){return new e(a)},e.prototype._update=function(a,b,c,d){var e=this._edeState;e.ciphers[0]._update(a,b,c,d),e.ciphers[1]._update(c,d,c,d),e.ciphers[2]._update(c,d,c,d)},e.prototype._pad=j.prototype._pad,e.prototype._unpad=j.prototype._unpad},{"../des":29,inherits:207,"minimalistic-assert":35}],34:[function(a,b,c){"use strict";c.readUInt32BE=function(a,b){var c=a[0+b]<<24|a[1+b]<<16|a[2+b]<<8|a[3+b];return c>>>0},c.writeUInt32BE=function(a,b,c){a[0+c]=b>>>24,a[1+c]=b>>>16&255,a[2+c]=b>>>8&255,a[3+c]=255&b},c.ip=function(a,b,c,d){for(var e=0,f=0,g=6;g>=0;g-=2){for(var h=0;h<=24;h+=8)e<<=1,e|=b>>>h+g&1;for(var h=0;h<=24;h+=8)e<<=1,e|=a>>>h+g&1}for(var g=6;g>=0;g-=2){for(var h=1;h<=25;h+=8)f<<=1,f|=b>>>h+g&1;for(var h=1;h<=25;h+=8)f<<=1,f|=a>>>h+g&1}c[d+0]=e>>>0,c[d+1]=f>>>0},c.rip=function(a,b,c,d){for(var e=0,f=0,g=0;g<4;g++)for(var h=24;h>=0;h-=8)e<<=1,e|=b>>>h+g&1,e<<=1,e|=a>>>h+g&1;for(var g=4;g<8;g++)for(var h=24;h>=0;h-=8)f<<=1,f|=b>>>h+g&1,f<<=1,f|=a>>>h+g&1;c[d+0]=e>>>0,c[d+1]=f>>>0},c.pc1=function(a,b,c,d){for(var e=0,f=0,g=7;g>=5;g--){for(var h=0;h<=24;h+=8)e<<=1,e|=b>>h+g&1;for(var h=0;h<=24;h+=8)e<<=1,e|=a>>h+g&1}for(var h=0;h<=24;h+=8)e<<=1,e|=b>>h+g&1;for(var g=1;g<=3;g++){for(var h=0;h<=24;h+=8)f<<=1,f|=b>>h+g&1;for(var h=0;h<=24;h+=8)f<<=1,f|=a>>h+g&1}for(var h=0;h<=24;h+=8)f<<=1,f|=a>>h+g&1;c[d+0]=e>>>0,c[d+1]=f>>>0},c.r28shl=function(a,b){return a<<b&268435455|a>>>28-b};var d=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];c.pc2=function(a,b,c,e){for(var f=0,g=0,h=d.length>>>1,i=0;i<h;i++)f<<=1,f|=a>>>d[i]&1;for(var i=h;i<d.length;i++)g<<=1,g|=b>>>d[i]&1;c[e+0]=f>>>0,c[e+1]=g>>>0},c.expand=function(a,b,c){var d=0,e=0;d=(1&a)<<5|a>>>27;for(var f=23;f>=15;f-=4)d<<=6,d|=a>>>f&63;for(var f=11;f>=3;f-=4)e|=a>>>f&63,e<<=6;e|=(31&a)<<1|a>>>31,b[c+0]=d>>>0,b[c+1]=e>>>0};var e=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];c.substitute=function(a,b){for(var c=0,d=0;d<4;d++){var f=a>>>18-6*d&63,g=e[64*d+f];c<<=4,c|=g}for(var d=0;d<4;d++){var f=b>>>18-6*d&63,g=e[256+64*d+f];c<<=4,c|=g}return c>>>0};var f=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];c.permute=function(a){for(var b=0,c=0;c<f.length;c++)b<<=1,b|=a>>>f[c]&1;return b>>>0},c.padSplit=function(a,b,c){for(var d=a.toString(2);d.length<b;)d="0"+d;for(var e=[],f=0;f<b;f+=c)e.push(d.slice(f,f+c));return e.join(" ")}},{}],35:[function(a,b,c){function d(a,b){if(!a)throw new Error(b||"Assertion failed")}b.exports=d,d.equal=function(a,b,c){if(a!=b)throw new Error(c||"Assertion failed: "+a+" != "+b)}},{}],36:[function(a,b,c){(function(c){function d(a,b,d,f){c.isBuffer(a)||(a=new c(a,"binary")),b&&!c.isBuffer(b)&&(b=new c(b,"binary")),d/=8,f=f||0;for(var g,h,i=0,j=0,k=new c(d),l=new c(f),m=0,n=[];;){if(m++>0&&n.push(g),n.push(a),b&&n.push(b),g=e(c.concat(n)),n=[],h=0,d>0)for(;;){if(0===d)break;if(h===g.length)break;k[i++]=g[h],d--,h++}if(f>0&&h!==g.length)for(;;){if(0===f)break;if(h===g.length)break;l[j++]=g[h],f--,h++}if(0===d&&0===f)break}for(h=0;h<g.length;h++)g[h]=0;return{key:k,iv:l}}var e=a("create-hash/md5");b.exports=d}).call(this,a("buffer").Buffer)},{buffer:3,"create-hash/md5":138}],37:[function(a,b,c){(function(a){"use strict";c["RSA-SHA224"]=c.sha224WithRSAEncryption={sign:"rsa",hash:"sha224",id:new a("302d300d06096086480165030402040500041c","hex")},c["RSA-SHA256"]=c.sha256WithRSAEncryption={sign:"rsa",hash:"sha256",id:new a("3031300d060960864801650304020105000420","hex")},c["RSA-SHA384"]=c.sha384WithRSAEncryption={sign:"rsa",hash:"sha384",id:new a("3041300d060960864801650304020205000430","hex")},c["RSA-SHA512"]=c.sha512WithRSAEncryption={sign:"rsa",hash:"sha512",id:new a("3051300d060960864801650304020305000440","hex")},c["RSA-SHA1"]={sign:"rsa",hash:"sha1",id:new a("3021300906052b0e03021a05000414","hex")},c["ecdsa-with-SHA1"]={sign:"ecdsa",hash:"sha1",id:new a("","hex")},c.DSA=c["DSA-SHA1"]=c["DSA-SHA"]={sign:"dsa",hash:"sha1",id:new a("","hex")},c["DSA-SHA224"]=c["DSA-WITH-SHA224"]={sign:"dsa",hash:"sha224",id:new a("","hex")},c["DSA-SHA256"]=c["DSA-WITH-SHA256"]={sign:"dsa",hash:"sha256",id:new a("","hex")},c["DSA-SHA384"]=c["DSA-WITH-SHA384"]={sign:"dsa",hash:"sha384",id:new a("","hex")},c["DSA-SHA512"]=c["DSA-WITH-SHA512"]={sign:"dsa",hash:"sha512",id:new a("","hex")},c["DSA-RIPEMD160"]={sign:"dsa",hash:"rmd160",id:new a("","hex")},c["RSA-RIPEMD160"]=c.ripemd160WithRSA={sign:"rsa",hash:"rmd160",id:new a("3021300906052b2403020105000414","hex")},c["RSA-MD5"]=c.md5WithRSAEncryption={sign:"rsa",hash:"md5",id:new a("3020300c06082a864886f70d020505000410","hex")}}).call(this,a("buffer").Buffer)},{buffer:3}],38:[function(a,b,c){(function(c){function d(a){l.Writable.call(this);var b=n[a];if(!b)throw new Error("Unknown message digest");this._hashType=b.hash,this._hash=i(b.hash),this._tag=b.id,this._signType=b.sign}function e(a){l.Writable.call(this);var b=n[a];if(!b)throw new Error("Unknown message digest");this._hash=i(b.hash),this._tag=b.id,this._signType=b.sign}function f(a){return new d(a)}function g(a){return new e(a)}var h=a("./algos"),i=a("create-hash"),j=a("inherits"),k=a("./sign"),l=a("stream"),m=a("./verify"),n={};Object.keys(h).forEach(function(a){n[a]=n[a.toLowerCase()]=h[a]}),j(d,l.Writable),d.prototype._write=function(a,b,c){this._hash.update(a),c()},d.prototype.update=function(a,b){return"string"==typeof a&&(a=new c(a,b)),this._hash.update(a),this},d.prototype.sign=function(a,b){this.end();var d=this._hash.digest(),e=k(c.concat([this._tag,d]),a,this._hashType,this._signType);return b?e.toString(b):e},j(e,l.Writable),e.prototype._write=function(a,b,c){this._hash.update(a),c()},e.prototype.update=function(a,b){return"string"==typeof a&&(a=new c(a,b)),this._hash.update(a),this},e.prototype.verify=function(a,b,d){"string"==typeof b&&(b=new c(b,d)),this.end();var e=this._hash.digest();return m(b,c.concat([this._tag,e]),a,this._signType)},b.exports={Sign:f,Verify:g,createSign:f,createVerify:g}}).call(this,a("buffer").Buffer)},{"./algos":37,"./sign":106,"./verify":107,buffer:3,"create-hash":136,inherits:207,stream:226}],39:[function(a,b,c){"use strict";c["1.3.132.0.10"]="secp256k1",c["1.3.132.0.33"]="p224",c["1.2.840.10045.3.1.1"]="p192",c["1.2.840.10045.3.1.7"]="p256",c["1.3.132.0.34"]="p384",c["1.3.132.0.35"]="p521"},{}],40:[function(a,b,c){!function(b,c){"use strict";function d(a,b){if(!a)throw new Error(b||"Assertion failed")}function e(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}function f(a,b,c){return f.isBN(a)?a:(this.negative=0,this.words=null,this.length=0,this.red=null,void(null!==a&&("le"!==b&&"be"!==b||(c=b,b=10),this._init(a||0,b||10,c||"be"))))}function g(a,b,c){for(var d=0,e=Math.min(a.length,c),f=b;f<e;f++){var g=a.charCodeAt(f)-48;d<<=4,d|=g>=49&&g<=54?g-49+10:g>=17&&g<=22?g-17+10:15&g}return d}function h(a,b,c,d){for(var e=0,f=Math.min(a.length,c),g=b;g<f;g++){var h=a.charCodeAt(g)-48;e*=d,e+=h>=49?h-49+10:h>=17?h-17+10:h}return e}function i(a){for(var b=new Array(a.bitLength()),c=0;c<b.length;c++){var d=c/26|0,e=c%26;b[c]=(a.words[d]&1<<e)>>>e}return b}function j(a,b,c){c.negative=b.negative^a.negative;var d=a.length+b.length|0;c.length=d,d=d-1|0;var e=0|a.words[0],f=0|b.words[0],g=e*f,h=67108863&g,i=g/67108864|0;c.words[0]=h;for(var j=1;j<d;j++){for(var k=i>>>26,l=67108863&i,m=Math.min(j,b.length-1),n=Math.max(0,j-a.length+1);n<=m;n++){var o=j-n|0;e=0|a.words[o],f=0|b.words[n],g=e*f+l,k+=g/67108864|0,l=67108863&g}c.words[j]=0|l,i=0|k}return 0!==i?c.words[j]=0|i:c.length--,c.strip()}function k(a,b,c){c.negative=b.negative^a.negative,c.length=a.length+b.length;for(var d=0,e=0,f=0;f<c.length-1;f++){var g=e;e=0;for(var h=67108863&d,i=Math.min(f,b.length-1),j=Math.max(0,f-a.length+1);j<=i;j++){var k=f-j,l=0|a.words[k],m=0|b.words[j],n=l*m,o=67108863&n;g=g+(n/67108864|0)|0,o=o+h|0,h=67108863&o,g=g+(o>>>26)|0,e+=g>>>26,g&=67108863}c.words[f]=h,d=g,g=e}return 0!==d?c.words[f]=d:c.length--,c.strip()}function l(a,b,c){var d=new m;return d.mulp(a,b,c)}function m(a,b){this.x=a,this.y=b}function n(a,b){this.name=a,this.p=new f(b,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function o(){n.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function p(){n.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function q(){n.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function r(){n.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function s(a){if("string"==typeof a){var b=f._prime(a);this.m=b.p,this.prime=b}else d(a.gtn(1),"modulus must be greater than 1"),this.m=a,this.prime=null}function t(a){s.call(this,a),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}"object"==typeof b?b.exports=f:c.BN=f,f.BN=f,f.wordSize=26;var u;try{u=a("buffer").Buffer}catch(v){}f.isBN=function(a){return a instanceof f||null!==a&&"object"==typeof a&&a.constructor.wordSize===f.wordSize&&Array.isArray(a.words)},f.max=function(a,b){return a.cmp(b)>0?a:b},f.min=function(a,b){return a.cmp(b)<0?a:b},f.prototype._init=function(a,b,c){if("number"==typeof a)return this._initNumber(a,b,c);if("object"==typeof a)return this._initArray(a,b,c);"hex"===b&&(b=16),d(b===(0|b)&&b>=2&&b<=36),a=a.toString().replace(/\s+/g,"");var e=0;"-"===a[0]&&e++,16===b?this._parseHex(a,e):this._parseBase(a,b,e),"-"===a[0]&&(this.negative=1),this.strip(),"le"===c&&this._initArray(this.toArray(),b,c)},f.prototype._initNumber=function(a,b,c){a<0&&(this.negative=1,a=-a),a<67108864?(this.words=[67108863&a],this.length=1):a<4503599627370496?(this.words=[67108863&a,a/67108864&67108863],this.length=2):(d(a<9007199254740992),this.words=[67108863&a,a/67108864&67108863,1],this.length=3),"le"===c&&this._initArray(this.toArray(),b,c)},f.prototype._initArray=function(a,b,c){if(d("number"==typeof a.length),a.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(a.length/3),this.words=new Array(this.length);for(var e=0;e<this.length;e++)this.words[e]=0;var f,g,h=0;if("be"===c)for(e=a.length-1,f=0;e>=0;e-=3)g=a[e]|a[e-1]<<8|a[e-2]<<16,this.words[f]|=g<<h&67108863,this.words[f+1]=g>>>26-h&67108863,h+=24,h>=26&&(h-=26,f++);else if("le"===c)for(e=0,f=0;e<a.length;e+=3)g=a[e]|a[e+1]<<8|a[e+2]<<16,this.words[f]|=g<<h&67108863,this.words[f+1]=g>>>26-h&67108863,h+=24,h>=26&&(h-=26,f++);return this.strip()},f.prototype._parseHex=function(a,b){this.length=Math.ceil((a.length-b)/6),this.words=new Array(this.length);for(var c=0;c<this.length;c++)this.words[c]=0;var d,e,f=0;for(c=a.length-6,d=0;c>=b;c-=6)e=g(a,c,c+6),this.words[d]|=e<<f&67108863,this.words[d+1]|=e>>>26-f&4194303,f+=24,f>=26&&(f-=26,d++);c+6!==b&&(e=g(a,b,c+6),this.words[d]|=e<<f&67108863,this.words[d+1]|=e>>>26-f&4194303),this.strip()},f.prototype._parseBase=function(a,b,c){this.words=[0],this.length=1;for(var d=0,e=1;e<=67108863;e*=b)d++;d--,e=e/b|0;for(var f=a.length-c,g=f%d,i=Math.min(f,f-g)+c,j=0,k=c;k<i;k+=d)j=h(a,k,k+d,b),this.imuln(e),this.words[0]+j<67108864?this.words[0]+=j:this._iaddn(j);if(0!==g){var l=1;for(j=h(a,k,a.length,b),k=0;k<g;k++)l*=b;this.imuln(l),this.words[0]+j<67108864?this.words[0]+=j:this._iaddn(j)}},f.prototype.copy=function(a){a.words=new Array(this.length);for(var b=0;b<this.length;b++)a.words[b]=this.words[b];a.length=this.length,a.negative=this.negative,a.red=this.red},f.prototype.clone=function(){var a=new f(null);return this.copy(a),a},f.prototype._expand=function(a){for(;this.length<a;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;
return this._normSign()},f.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var w=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],x=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],y=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(a,b){a=a||10,b=0|b||1;var c;if(16===a||"hex"===a){c="";for(var e=0,f=0,g=0;g<this.length;g++){var h=this.words[g],i=(16777215&(h<<e|f)).toString(16);f=h>>>24-e&16777215,c=0!==f||g!==this.length-1?w[6-i.length]+i+c:i+c,e+=2,e>=26&&(e-=26,g--)}for(0!==f&&(c=f.toString(16)+c);c.length%b!==0;)c="0"+c;return 0!==this.negative&&(c="-"+c),c}if(a===(0|a)&&a>=2&&a<=36){var j=x[a],k=y[a];c="";var l=this.clone();for(l.negative=0;!l.isZero();){var m=l.modn(k).toString(a);l=l.idivn(k),c=l.isZero()?m+c:w[j-m.length]+m+c}for(this.isZero()&&(c="0"+c);c.length%b!==0;)c="0"+c;return 0!==this.negative&&(c="-"+c),c}d(!1,"Base should be between 2 and 36")},f.prototype.toNumber=function(){var a=this.words[0];return 2===this.length?a+=67108864*this.words[1]:3===this.length&&1===this.words[2]?a+=4503599627370496+67108864*this.words[1]:this.length>2&&d(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-a:a},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(a,b){return d("undefined"!=typeof u),this.toArrayLike(u,a,b)},f.prototype.toArray=function(a,b){return this.toArrayLike(Array,a,b)},f.prototype.toArrayLike=function(a,b,c){var e=this.byteLength(),f=c||Math.max(1,e);d(e<=f,"byte array longer than desired length"),d(f>0,"Requested array length <= 0"),this.strip();var g,h,i="le"===b,j=new a(f),k=this.clone();if(i){for(h=0;!k.isZero();h++)g=k.andln(255),k.iushrn(8),j[h]=g;for(;h<f;h++)j[h]=0}else{for(h=0;h<f-e;h++)j[h]=0;for(h=0;!k.isZero();h++)g=k.andln(255),k.iushrn(8),j[f-h-1]=g}return j},Math.clz32?f.prototype._countBits=function(a){return 32-Math.clz32(a)}:f.prototype._countBits=function(a){var b=a,c=0;return b>=4096&&(c+=13,b>>>=13),b>=64&&(c+=7,b>>>=7),b>=8&&(c+=4,b>>>=4),b>=2&&(c+=2,b>>>=2),c+b},f.prototype._zeroBits=function(a){if(0===a)return 26;var b=a,c=0;return 0===(8191&b)&&(c+=13,b>>>=13),0===(127&b)&&(c+=7,b>>>=7),0===(15&b)&&(c+=4,b>>>=4),0===(3&b)&&(c+=2,b>>>=2),0===(1&b)&&c++,c},f.prototype.bitLength=function(){var a=this.words[this.length-1],b=this._countBits(a);return 26*(this.length-1)+b},f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var a=0,b=0;b<this.length;b++){var c=this._zeroBits(this.words[b]);if(a+=c,26!==c)break}return a},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(a){return 0!==this.negative?this.abs().inotn(a).iaddn(1):this.clone()},f.prototype.fromTwos=function(a){return this.testn(a-1)?this.notn(a).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return 0!==this.negative},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(a){for(;this.length<a.length;)this.words[this.length++]=0;for(var b=0;b<a.length;b++)this.words[b]=this.words[b]|a.words[b];return this.strip()},f.prototype.ior=function(a){return d(0===(this.negative|a.negative)),this.iuor(a)},f.prototype.or=function(a){return this.length>a.length?this.clone().ior(a):a.clone().ior(this)},f.prototype.uor=function(a){return this.length>a.length?this.clone().iuor(a):a.clone().iuor(this)},f.prototype.iuand=function(a){var b;b=this.length>a.length?a:this;for(var c=0;c<b.length;c++)this.words[c]=this.words[c]&a.words[c];return this.length=b.length,this.strip()},f.prototype.iand=function(a){return d(0===(this.negative|a.negative)),this.iuand(a)},f.prototype.and=function(a){return this.length>a.length?this.clone().iand(a):a.clone().iand(this)},f.prototype.uand=function(a){return this.length>a.length?this.clone().iuand(a):a.clone().iuand(this)},f.prototype.iuxor=function(a){var b,c;this.length>a.length?(b=this,c=a):(b=a,c=this);for(var d=0;d<c.length;d++)this.words[d]=b.words[d]^c.words[d];if(this!==b)for(;d<b.length;d++)this.words[d]=b.words[d];return this.length=b.length,this.strip()},f.prototype.ixor=function(a){return d(0===(this.negative|a.negative)),this.iuxor(a)},f.prototype.xor=function(a){return this.length>a.length?this.clone().ixor(a):a.clone().ixor(this)},f.prototype.uxor=function(a){return this.length>a.length?this.clone().iuxor(a):a.clone().iuxor(this)},f.prototype.inotn=function(a){d("number"==typeof a&&a>=0);var b=0|Math.ceil(a/26),c=a%26;this._expand(b),c>0&&b--;for(var e=0;e<b;e++)this.words[e]=67108863&~this.words[e];return c>0&&(this.words[e]=~this.words[e]&67108863>>26-c),this.strip()},f.prototype.notn=function(a){return this.clone().inotn(a)},f.prototype.setn=function(a,b){d("number"==typeof a&&a>=0);var c=a/26|0,e=a%26;return this._expand(c+1),b?this.words[c]=this.words[c]|1<<e:this.words[c]=this.words[c]&~(1<<e),this.strip()},f.prototype.iadd=function(a){var b;if(0!==this.negative&&0===a.negative)return this.negative=0,b=this.isub(a),this.negative^=1,this._normSign();if(0===this.negative&&0!==a.negative)return a.negative=0,b=this.isub(a),a.negative=1,b._normSign();var c,d;this.length>a.length?(c=this,d=a):(c=a,d=this);for(var e=0,f=0;f<d.length;f++)b=(0|c.words[f])+(0|d.words[f])+e,this.words[f]=67108863&b,e=b>>>26;for(;0!==e&&f<c.length;f++)b=(0|c.words[f])+e,this.words[f]=67108863&b,e=b>>>26;if(this.length=c.length,0!==e)this.words[this.length]=e,this.length++;else if(c!==this)for(;f<c.length;f++)this.words[f]=c.words[f];return this},f.prototype.add=function(a){var b;return 0!==a.negative&&0===this.negative?(a.negative=0,b=this.sub(a),a.negative^=1,b):0===a.negative&&0!==this.negative?(this.negative=0,b=a.sub(this),this.negative=1,b):this.length>a.length?this.clone().iadd(a):a.clone().iadd(this)},f.prototype.isub=function(a){if(0!==a.negative){a.negative=0;var b=this.iadd(a);return a.negative=1,b._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(a),this.negative=1,this._normSign();var c=this.cmp(a);if(0===c)return this.negative=0,this.length=1,this.words[0]=0,this;var d,e;c>0?(d=this,e=a):(d=a,e=this);for(var f=0,g=0;g<e.length;g++)b=(0|d.words[g])-(0|e.words[g])+f,f=b>>26,this.words[g]=67108863&b;for(;0!==f&&g<d.length;g++)b=(0|d.words[g])+f,f=b>>26,this.words[g]=67108863&b;if(0===f&&g<d.length&&d!==this)for(;g<d.length;g++)this.words[g]=d.words[g];return this.length=Math.max(this.length,g),d!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(a){return this.clone().isub(a)};var z=function(a,b,c){var d,e,f,g=a.words,h=b.words,i=c.words,j=0,k=0|g[0],l=8191&k,m=k>>>13,n=0|g[1],o=8191&n,p=n>>>13,q=0|g[2],r=8191&q,s=q>>>13,t=0|g[3],u=8191&t,v=t>>>13,w=0|g[4],x=8191&w,y=w>>>13,z=0|g[5],A=8191&z,B=z>>>13,C=0|g[6],D=8191&C,E=C>>>13,F=0|g[7],G=8191&F,H=F>>>13,I=0|g[8],J=8191&I,K=I>>>13,L=0|g[9],M=8191&L,N=L>>>13,O=0|h[0],P=8191&O,Q=O>>>13,R=0|h[1],S=8191&R,T=R>>>13,U=0|h[2],V=8191&U,W=U>>>13,X=0|h[3],Y=8191&X,Z=X>>>13,$=0|h[4],_=8191&$,aa=$>>>13,ba=0|h[5],ca=8191&ba,da=ba>>>13,ea=0|h[6],fa=8191&ea,ga=ea>>>13,ha=0|h[7],ia=8191&ha,ja=ha>>>13,ka=0|h[8],la=8191&ka,ma=ka>>>13,na=0|h[9],oa=8191&na,pa=na>>>13;c.negative=a.negative^b.negative,c.length=19,d=Math.imul(l,P),e=Math.imul(l,Q),e=e+Math.imul(m,P)|0,f=Math.imul(m,Q);var qa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(qa>>>26)|0,qa&=67108863,d=Math.imul(o,P),e=Math.imul(o,Q),e=e+Math.imul(p,P)|0,f=Math.imul(p,Q),d=d+Math.imul(l,S)|0,e=e+Math.imul(l,T)|0,e=e+Math.imul(m,S)|0,f=f+Math.imul(m,T)|0;var ra=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(ra>>>26)|0,ra&=67108863,d=Math.imul(r,P),e=Math.imul(r,Q),e=e+Math.imul(s,P)|0,f=Math.imul(s,Q),d=d+Math.imul(o,S)|0,e=e+Math.imul(o,T)|0,e=e+Math.imul(p,S)|0,f=f+Math.imul(p,T)|0,d=d+Math.imul(l,V)|0,e=e+Math.imul(l,W)|0,e=e+Math.imul(m,V)|0,f=f+Math.imul(m,W)|0;var sa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(sa>>>26)|0,sa&=67108863,d=Math.imul(u,P),e=Math.imul(u,Q),e=e+Math.imul(v,P)|0,f=Math.imul(v,Q),d=d+Math.imul(r,S)|0,e=e+Math.imul(r,T)|0,e=e+Math.imul(s,S)|0,f=f+Math.imul(s,T)|0,d=d+Math.imul(o,V)|0,e=e+Math.imul(o,W)|0,e=e+Math.imul(p,V)|0,f=f+Math.imul(p,W)|0,d=d+Math.imul(l,Y)|0,e=e+Math.imul(l,Z)|0,e=e+Math.imul(m,Y)|0,f=f+Math.imul(m,Z)|0;var ta=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(ta>>>26)|0,ta&=67108863,d=Math.imul(x,P),e=Math.imul(x,Q),e=e+Math.imul(y,P)|0,f=Math.imul(y,Q),d=d+Math.imul(u,S)|0,e=e+Math.imul(u,T)|0,e=e+Math.imul(v,S)|0,f=f+Math.imul(v,T)|0,d=d+Math.imul(r,V)|0,e=e+Math.imul(r,W)|0,e=e+Math.imul(s,V)|0,f=f+Math.imul(s,W)|0,d=d+Math.imul(o,Y)|0,e=e+Math.imul(o,Z)|0,e=e+Math.imul(p,Y)|0,f=f+Math.imul(p,Z)|0,d=d+Math.imul(l,_)|0,e=e+Math.imul(l,aa)|0,e=e+Math.imul(m,_)|0,f=f+Math.imul(m,aa)|0;var ua=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(ua>>>26)|0,ua&=67108863,d=Math.imul(A,P),e=Math.imul(A,Q),e=e+Math.imul(B,P)|0,f=Math.imul(B,Q),d=d+Math.imul(x,S)|0,e=e+Math.imul(x,T)|0,e=e+Math.imul(y,S)|0,f=f+Math.imul(y,T)|0,d=d+Math.imul(u,V)|0,e=e+Math.imul(u,W)|0,e=e+Math.imul(v,V)|0,f=f+Math.imul(v,W)|0,d=d+Math.imul(r,Y)|0,e=e+Math.imul(r,Z)|0,e=e+Math.imul(s,Y)|0,f=f+Math.imul(s,Z)|0,d=d+Math.imul(o,_)|0,e=e+Math.imul(o,aa)|0,e=e+Math.imul(p,_)|0,f=f+Math.imul(p,aa)|0,d=d+Math.imul(l,ca)|0,e=e+Math.imul(l,da)|0,e=e+Math.imul(m,ca)|0,f=f+Math.imul(m,da)|0;var va=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(va>>>26)|0,va&=67108863,d=Math.imul(D,P),e=Math.imul(D,Q),e=e+Math.imul(E,P)|0,f=Math.imul(E,Q),d=d+Math.imul(A,S)|0,e=e+Math.imul(A,T)|0,e=e+Math.imul(B,S)|0,f=f+Math.imul(B,T)|0,d=d+Math.imul(x,V)|0,e=e+Math.imul(x,W)|0,e=e+Math.imul(y,V)|0,f=f+Math.imul(y,W)|0,d=d+Math.imul(u,Y)|0,e=e+Math.imul(u,Z)|0,e=e+Math.imul(v,Y)|0,f=f+Math.imul(v,Z)|0,d=d+Math.imul(r,_)|0,e=e+Math.imul(r,aa)|0,e=e+Math.imul(s,_)|0,f=f+Math.imul(s,aa)|0,d=d+Math.imul(o,ca)|0,e=e+Math.imul(o,da)|0,e=e+Math.imul(p,ca)|0,f=f+Math.imul(p,da)|0,d=d+Math.imul(l,fa)|0,e=e+Math.imul(l,ga)|0,e=e+Math.imul(m,fa)|0,f=f+Math.imul(m,ga)|0;var wa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(wa>>>26)|0,wa&=67108863,d=Math.imul(G,P),e=Math.imul(G,Q),e=e+Math.imul(H,P)|0,f=Math.imul(H,Q),d=d+Math.imul(D,S)|0,e=e+Math.imul(D,T)|0,e=e+Math.imul(E,S)|0,f=f+Math.imul(E,T)|0,d=d+Math.imul(A,V)|0,e=e+Math.imul(A,W)|0,e=e+Math.imul(B,V)|0,f=f+Math.imul(B,W)|0,d=d+Math.imul(x,Y)|0,e=e+Math.imul(x,Z)|0,e=e+Math.imul(y,Y)|0,f=f+Math.imul(y,Z)|0,d=d+Math.imul(u,_)|0,e=e+Math.imul(u,aa)|0,e=e+Math.imul(v,_)|0,f=f+Math.imul(v,aa)|0,d=d+Math.imul(r,ca)|0,e=e+Math.imul(r,da)|0,e=e+Math.imul(s,ca)|0,f=f+Math.imul(s,da)|0,d=d+Math.imul(o,fa)|0,e=e+Math.imul(o,ga)|0,e=e+Math.imul(p,fa)|0,f=f+Math.imul(p,ga)|0,d=d+Math.imul(l,ia)|0,e=e+Math.imul(l,ja)|0,e=e+Math.imul(m,ia)|0,f=f+Math.imul(m,ja)|0;var xa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(xa>>>26)|0,xa&=67108863,d=Math.imul(J,P),e=Math.imul(J,Q),e=e+Math.imul(K,P)|0,f=Math.imul(K,Q),d=d+Math.imul(G,S)|0,e=e+Math.imul(G,T)|0,e=e+Math.imul(H,S)|0,f=f+Math.imul(H,T)|0,d=d+Math.imul(D,V)|0,e=e+Math.imul(D,W)|0,e=e+Math.imul(E,V)|0,f=f+Math.imul(E,W)|0,d=d+Math.imul(A,Y)|0,e=e+Math.imul(A,Z)|0,e=e+Math.imul(B,Y)|0,f=f+Math.imul(B,Z)|0,d=d+Math.imul(x,_)|0,e=e+Math.imul(x,aa)|0,e=e+Math.imul(y,_)|0,f=f+Math.imul(y,aa)|0,d=d+Math.imul(u,ca)|0,e=e+Math.imul(u,da)|0,e=e+Math.imul(v,ca)|0,f=f+Math.imul(v,da)|0,d=d+Math.imul(r,fa)|0,e=e+Math.imul(r,ga)|0,e=e+Math.imul(s,fa)|0,f=f+Math.imul(s,ga)|0,d=d+Math.imul(o,ia)|0,e=e+Math.imul(o,ja)|0,e=e+Math.imul(p,ia)|0,f=f+Math.imul(p,ja)|0,d=d+Math.imul(l,la)|0,e=e+Math.imul(l,ma)|0,e=e+Math.imul(m,la)|0,f=f+Math.imul(m,ma)|0;var ya=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(ya>>>26)|0,ya&=67108863,d=Math.imul(M,P),e=Math.imul(M,Q),e=e+Math.imul(N,P)|0,f=Math.imul(N,Q),d=d+Math.imul(J,S)|0,e=e+Math.imul(J,T)|0,e=e+Math.imul(K,S)|0,f=f+Math.imul(K,T)|0,d=d+Math.imul(G,V)|0,e=e+Math.imul(G,W)|0,e=e+Math.imul(H,V)|0,f=f+Math.imul(H,W)|0,d=d+Math.imul(D,Y)|0,e=e+Math.imul(D,Z)|0,e=e+Math.imul(E,Y)|0,f=f+Math.imul(E,Z)|0,d=d+Math.imul(A,_)|0,e=e+Math.imul(A,aa)|0,e=e+Math.imul(B,_)|0,f=f+Math.imul(B,aa)|0,d=d+Math.imul(x,ca)|0,e=e+Math.imul(x,da)|0,e=e+Math.imul(y,ca)|0,f=f+Math.imul(y,da)|0,d=d+Math.imul(u,fa)|0,e=e+Math.imul(u,ga)|0,e=e+Math.imul(v,fa)|0,f=f+Math.imul(v,ga)|0,d=d+Math.imul(r,ia)|0,e=e+Math.imul(r,ja)|0,e=e+Math.imul(s,ia)|0,f=f+Math.imul(s,ja)|0,d=d+Math.imul(o,la)|0,e=e+Math.imul(o,ma)|0,e=e+Math.imul(p,la)|0,f=f+Math.imul(p,ma)|0,d=d+Math.imul(l,oa)|0,e=e+Math.imul(l,pa)|0,e=e+Math.imul(m,oa)|0,f=f+Math.imul(m,pa)|0;var za=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(za>>>26)|0,za&=67108863,d=Math.imul(M,S),e=Math.imul(M,T),e=e+Math.imul(N,S)|0,f=Math.imul(N,T),d=d+Math.imul(J,V)|0,e=e+Math.imul(J,W)|0,e=e+Math.imul(K,V)|0,f=f+Math.imul(K,W)|0,d=d+Math.imul(G,Y)|0,e=e+Math.imul(G,Z)|0,e=e+Math.imul(H,Y)|0,f=f+Math.imul(H,Z)|0,d=d+Math.imul(D,_)|0,e=e+Math.imul(D,aa)|0,e=e+Math.imul(E,_)|0,f=f+Math.imul(E,aa)|0,d=d+Math.imul(A,ca)|0,e=e+Math.imul(A,da)|0,e=e+Math.imul(B,ca)|0,f=f+Math.imul(B,da)|0,d=d+Math.imul(x,fa)|0,e=e+Math.imul(x,ga)|0,e=e+Math.imul(y,fa)|0,f=f+Math.imul(y,ga)|0,d=d+Math.imul(u,ia)|0,e=e+Math.imul(u,ja)|0,e=e+Math.imul(v,ia)|0,f=f+Math.imul(v,ja)|0,d=d+Math.imul(r,la)|0,e=e+Math.imul(r,ma)|0,e=e+Math.imul(s,la)|0,f=f+Math.imul(s,ma)|0,d=d+Math.imul(o,oa)|0,e=e+Math.imul(o,pa)|0,e=e+Math.imul(p,oa)|0,f=f+Math.imul(p,pa)|0;var Aa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Aa>>>26)|0,Aa&=67108863,d=Math.imul(M,V),e=Math.imul(M,W),e=e+Math.imul(N,V)|0,f=Math.imul(N,W),d=d+Math.imul(J,Y)|0,e=e+Math.imul(J,Z)|0,e=e+Math.imul(K,Y)|0,f=f+Math.imul(K,Z)|0,d=d+Math.imul(G,_)|0,e=e+Math.imul(G,aa)|0,e=e+Math.imul(H,_)|0,f=f+Math.imul(H,aa)|0,d=d+Math.imul(D,ca)|0,e=e+Math.imul(D,da)|0,e=e+Math.imul(E,ca)|0,f=f+Math.imul(E,da)|0,d=d+Math.imul(A,fa)|0,e=e+Math.imul(A,ga)|0,e=e+Math.imul(B,fa)|0,f=f+Math.imul(B,ga)|0,d=d+Math.imul(x,ia)|0,e=e+Math.imul(x,ja)|0,e=e+Math.imul(y,ia)|0,f=f+Math.imul(y,ja)|0,d=d+Math.imul(u,la)|0,e=e+Math.imul(u,ma)|0,e=e+Math.imul(v,la)|0,f=f+Math.imul(v,ma)|0,d=d+Math.imul(r,oa)|0,e=e+Math.imul(r,pa)|0,e=e+Math.imul(s,oa)|0,f=f+Math.imul(s,pa)|0;var Ba=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Ba>>>26)|0,Ba&=67108863,d=Math.imul(M,Y),e=Math.imul(M,Z),e=e+Math.imul(N,Y)|0,f=Math.imul(N,Z),d=d+Math.imul(J,_)|0,e=e+Math.imul(J,aa)|0,e=e+Math.imul(K,_)|0,f=f+Math.imul(K,aa)|0,d=d+Math.imul(G,ca)|0,e=e+Math.imul(G,da)|0,e=e+Math.imul(H,ca)|0,f=f+Math.imul(H,da)|0,d=d+Math.imul(D,fa)|0,e=e+Math.imul(D,ga)|0,e=e+Math.imul(E,fa)|0,f=f+Math.imul(E,ga)|0,d=d+Math.imul(A,ia)|0,e=e+Math.imul(A,ja)|0,e=e+Math.imul(B,ia)|0,f=f+Math.imul(B,ja)|0,d=d+Math.imul(x,la)|0,e=e+Math.imul(x,ma)|0,e=e+Math.imul(y,la)|0,f=f+Math.imul(y,ma)|0,d=d+Math.imul(u,oa)|0,e=e+Math.imul(u,pa)|0,e=e+Math.imul(v,oa)|0,f=f+Math.imul(v,pa)|0;var Ca=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Ca>>>26)|0,Ca&=67108863,d=Math.imul(M,_),e=Math.imul(M,aa),e=e+Math.imul(N,_)|0,f=Math.imul(N,aa),d=d+Math.imul(J,ca)|0,e=e+Math.imul(J,da)|0,e=e+Math.imul(K,ca)|0,f=f+Math.imul(K,da)|0,d=d+Math.imul(G,fa)|0,e=e+Math.imul(G,ga)|0,e=e+Math.imul(H,fa)|0,f=f+Math.imul(H,ga)|0,d=d+Math.imul(D,ia)|0,e=e+Math.imul(D,ja)|0,e=e+Math.imul(E,ia)|0,f=f+Math.imul(E,ja)|0,d=d+Math.imul(A,la)|0,e=e+Math.imul(A,ma)|0,e=e+Math.imul(B,la)|0,f=f+Math.imul(B,ma)|0,d=d+Math.imul(x,oa)|0,e=e+Math.imul(x,pa)|0,e=e+Math.imul(y,oa)|0,f=f+Math.imul(y,pa)|0;var Da=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Da>>>26)|0,Da&=67108863,d=Math.imul(M,ca),e=Math.imul(M,da),e=e+Math.imul(N,ca)|0,f=Math.imul(N,da),d=d+Math.imul(J,fa)|0,e=e+Math.imul(J,ga)|0,e=e+Math.imul(K,fa)|0,f=f+Math.imul(K,ga)|0,d=d+Math.imul(G,ia)|0,e=e+Math.imul(G,ja)|0,e=e+Math.imul(H,ia)|0,f=f+Math.imul(H,ja)|0,d=d+Math.imul(D,la)|0,e=e+Math.imul(D,ma)|0,e=e+Math.imul(E,la)|0,f=f+Math.imul(E,ma)|0,d=d+Math.imul(A,oa)|0,e=e+Math.imul(A,pa)|0,e=e+Math.imul(B,oa)|0,f=f+Math.imul(B,pa)|0;var Ea=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Ea>>>26)|0,Ea&=67108863,d=Math.imul(M,fa),e=Math.imul(M,ga),e=e+Math.imul(N,fa)|0,f=Math.imul(N,ga),d=d+Math.imul(J,ia)|0,e=e+Math.imul(J,ja)|0,e=e+Math.imul(K,ia)|0,f=f+Math.imul(K,ja)|0,d=d+Math.imul(G,la)|0,e=e+Math.imul(G,ma)|0,e=e+Math.imul(H,la)|0,f=f+Math.imul(H,ma)|0,d=d+Math.imul(D,oa)|0,e=e+Math.imul(D,pa)|0,e=e+Math.imul(E,oa)|0,f=f+Math.imul(E,pa)|0;var Fa=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,d=Math.imul(M,ia),e=Math.imul(M,ja),e=e+Math.imul(N,ia)|0,f=Math.imul(N,ja),d=d+Math.imul(J,la)|0,e=e+Math.imul(J,ma)|0,e=e+Math.imul(K,la)|0,f=f+Math.imul(K,ma)|0,d=d+Math.imul(G,oa)|0,e=e+Math.imul(G,pa)|0,e=e+Math.imul(H,oa)|0,f=f+Math.imul(H,pa)|0;var Ga=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Ga>>>26)|0,Ga&=67108863,d=Math.imul(M,la),e=Math.imul(M,ma),e=e+Math.imul(N,la)|0,f=Math.imul(N,ma),d=d+Math.imul(J,oa)|0,e=e+Math.imul(J,pa)|0,e=e+Math.imul(K,oa)|0,f=f+Math.imul(K,pa)|0;var Ha=(j+d|0)+((8191&e)<<13)|0;j=(f+(e>>>13)|0)+(Ha>>>26)|0,Ha&=67108863,d=Math.imul(M,oa),e=Math.imul(M,pa),e=e+Math.imul(N,oa)|0,f=Math.imul(N,pa);var Ia=(j+d|0)+((8191&e)<<13)|0;return j=(f+(e>>>13)|0)+(Ia>>>26)|0,Ia&=67108863,i[0]=qa,i[1]=ra,i[2]=sa,i[3]=ta,i[4]=ua,i[5]=va,i[6]=wa,i[7]=xa,i[8]=ya,i[9]=za,i[10]=Aa,i[11]=Ba,i[12]=Ca,i[13]=Da,i[14]=Ea,i[15]=Fa,i[16]=Ga,i[17]=Ha,i[18]=Ia,0!==j&&(i[19]=j,c.length++),c};Math.imul||(z=j),f.prototype.mulTo=function(a,b){var c,d=this.length+a.length;return c=10===this.length&&10===a.length?z(this,a,b):d<63?j(this,a,b):d<1024?k(this,a,b):l(this,a,b)},m.prototype.makeRBT=function(a){for(var b=new Array(a),c=f.prototype._countBits(a)-1,d=0;d<a;d++)b[d]=this.revBin(d,c,a);return b},m.prototype.revBin=function(a,b,c){if(0===a||a===c-1)return a;for(var d=0,e=0;e<b;e++)d|=(1&a)<<b-e-1,a>>=1;return d},m.prototype.permute=function(a,b,c,d,e,f){for(var g=0;g<f;g++)d[g]=b[a[g]],e[g]=c[a[g]]},m.prototype.transform=function(a,b,c,d,e,f){this.permute(f,a,b,c,d,e);for(var g=1;g<e;g<<=1)for(var h=g<<1,i=Math.cos(2*Math.PI/h),j=Math.sin(2*Math.PI/h),k=0;k<e;k+=h)for(var l=i,m=j,n=0;n<g;n++){var o=c[k+n],p=d[k+n],q=c[k+n+g],r=d[k+n+g],s=l*q-m*r;r=l*r+m*q,q=s,c[k+n]=o+q,d[k+n]=p+r,c[k+n+g]=o-q,d[k+n+g]=p-r,n!==h&&(s=i*l-j*m,m=i*m+j*l,l=s)}},m.prototype.guessLen13b=function(a,b){var c=1|Math.max(b,a),d=1&c,e=0;for(c=c/2|0;c;c>>>=1)e++;return 1<<e+1+d},m.prototype.conjugate=function(a,b,c){if(!(c<=1))for(var d=0;d<c/2;d++){var e=a[d];a[d]=a[c-d-1],a[c-d-1]=e,e=b[d],b[d]=-b[c-d-1],b[c-d-1]=-e}},m.prototype.normalize13b=function(a,b){for(var c=0,d=0;d<b/2;d++){var e=8192*Math.round(a[2*d+1]/b)+Math.round(a[2*d]/b)+c;a[d]=67108863&e,c=e<67108864?0:e/67108864|0}return a},m.prototype.convert13b=function(a,b,c,e){for(var f=0,g=0;g<b;g++)f+=0|a[g],c[2*g]=8191&f,f>>>=13,c[2*g+1]=8191&f,f>>>=13;for(g=2*b;g<e;++g)c[g]=0;d(0===f),d(0===(f&-8192))},m.prototype.stub=function(a){for(var b=new Array(a),c=0;c<a;c++)b[c]=0;return b},m.prototype.mulp=function(a,b,c){var d=2*this.guessLen13b(a.length,b.length),e=this.makeRBT(d),f=this.stub(d),g=new Array(d),h=new Array(d),i=new Array(d),j=new Array(d),k=new Array(d),l=new Array(d),m=c.words;m.length=d,this.convert13b(a.words,a.length,g,d),this.convert13b(b.words,b.length,j,d),this.transform(g,f,h,i,d,e),this.transform(j,f,k,l,d,e);for(var n=0;n<d;n++){var o=h[n]*k[n]-i[n]*l[n];i[n]=h[n]*l[n]+i[n]*k[n],h[n]=o}return this.conjugate(h,i,d),this.transform(h,i,m,f,d,e),this.conjugate(m,f,d),this.normalize13b(m,d),c.negative=a.negative^b.negative,c.length=a.length+b.length,c.strip()},f.prototype.mul=function(a){var b=new f(null);return b.words=new Array(this.length+a.length),this.mulTo(a,b)},f.prototype.mulf=function(a){var b=new f(null);return b.words=new Array(this.length+a.length),l(this,a,b)},f.prototype.imul=function(a){return this.clone().mulTo(a,this)},f.prototype.imuln=function(a){d("number"==typeof a),d(a<67108864);for(var b=0,c=0;c<this.length;c++){var e=(0|this.words[c])*a,f=(67108863&e)+(67108863&b);b>>=26,b+=e/67108864|0,b+=f>>>26,this.words[c]=67108863&f}return 0!==b&&(this.words[c]=b,this.length++),this},f.prototype.muln=function(a){return this.clone().imuln(a)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(a){var b=i(a);if(0===b.length)return new f(1);for(var c=this,d=0;d<b.length&&0===b[d];d++,c=c.sqr());if(++d<b.length)for(var e=c.sqr();d<b.length;d++,e=e.sqr())0!==b[d]&&(c=c.mul(e));return c},f.prototype.iushln=function(a){d("number"==typeof a&&a>=0);var b,c=a%26,e=(a-c)/26,f=67108863>>>26-c<<26-c;if(0!==c){var g=0;for(b=0;b<this.length;b++){var h=this.words[b]&f,i=(0|this.words[b])-h<<c;this.words[b]=i|g,g=h>>>26-c}g&&(this.words[b]=g,this.length++)}if(0!==e){for(b=this.length-1;b>=0;b--)this.words[b+e]=this.words[b];for(b=0;b<e;b++)this.words[b]=0;this.length+=e}return this.strip()},f.prototype.ishln=function(a){return d(0===this.negative),this.iushln(a)},f.prototype.iushrn=function(a,b,c){d("number"==typeof a&&a>=0);var e;e=b?(b-b%26)/26:0;var f=a%26,g=Math.min((a-f)/26,this.length),h=67108863^67108863>>>f<<f,i=c;if(e-=g,e=Math.max(0,e),i){for(var j=0;j<g;j++)i.words[j]=this.words[j];i.length=g}if(0===g);else if(this.length>g)for(this.length-=g,j=0;j<this.length;j++)this.words[j]=this.words[j+g];else this.words[0]=0,this.length=1;var k=0;for(j=this.length-1;j>=0&&(0!==k||j>=e);j--){var l=0|this.words[j];this.words[j]=k<<26-f|l>>>f,k=l&h}return i&&0!==k&&(i.words[i.length++]=k),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(a,b,c){return d(0===this.negative),this.iushrn(a,b,c)},f.prototype.shln=function(a){return this.clone().ishln(a)},f.prototype.ushln=function(a){return this.clone().iushln(a)},f.prototype.shrn=function(a){return this.clone().ishrn(a)},f.prototype.ushrn=function(a){return this.clone().iushrn(a)},f.prototype.testn=function(a){d("number"==typeof a&&a>=0);var b=a%26,c=(a-b)/26,e=1<<b;if(this.length<=c)return!1;var f=this.words[c];return!!(f&e)},f.prototype.imaskn=function(a){d("number"==typeof a&&a>=0);var b=a%26,c=(a-b)/26;if(d(0===this.negative,"imaskn works only with positive numbers"),this.length<=c)return this;if(0!==b&&c++,this.length=Math.min(c,this.length),0!==b){var e=67108863^67108863>>>b<<b;this.words[this.length-1]&=e}return this.strip()},f.prototype.maskn=function(a){return this.clone().imaskn(a)},f.prototype.iaddn=function(a){return d("number"==typeof a),d(a<67108864),a<0?this.isubn(-a):0!==this.negative?1===this.length&&(0|this.words[0])<a?(this.words[0]=a-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(a),this.negative=1,this):this._iaddn(a)},f.prototype._iaddn=function(a){this.words[0]+=a;for(var b=0;b<this.length&&this.words[b]>=67108864;b++)this.words[b]-=67108864,b===this.length-1?this.words[b+1]=1:this.words[b+1]++;return this.length=Math.max(this.length,b+1),this},f.prototype.isubn=function(a){if(d("number"==typeof a),d(a<67108864),a<0)return this.iaddn(-a);if(0!==this.negative)return this.negative=0,this.iaddn(a),this.negative=1,this;if(this.words[0]-=a,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var b=0;b<this.length&&this.words[b]<0;b++)this.words[b]+=67108864,this.words[b+1]-=1;return this.strip()},f.prototype.addn=function(a){return this.clone().iaddn(a)},f.prototype.subn=function(a){return this.clone().isubn(a)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(a,b,c){var e,f=a.length+c;this._expand(f);var g,h=0;for(e=0;e<a.length;e++){g=(0|this.words[e+c])+h;var i=(0|a.words[e])*b;g-=67108863&i,h=(g>>26)-(i/67108864|0),this.words[e+c]=67108863&g}for(;e<this.length-c;e++)g=(0|this.words[e+c])+h,h=g>>26,this.words[e+c]=67108863&g;if(0===h)return this.strip();for(d(h===-1),h=0,e=0;e<this.length;e++)g=-(0|this.words[e])+h,h=g>>26,this.words[e]=67108863&g;return this.negative=1,this.strip()},f.prototype._wordDiv=function(a,b){var c=this.length-a.length,d=this.clone(),e=a,g=0|e.words[e.length-1],h=this._countBits(g);c=26-h,0!==c&&(e=e.ushln(c),d.iushln(c),g=0|e.words[e.length-1]);var i,j=d.length-e.length;if("mod"!==b){i=new f(null),i.length=j+1,i.words=new Array(i.length);for(var k=0;k<i.length;k++)i.words[k]=0}var l=d.clone()._ishlnsubmul(e,1,j);0===l.negative&&(d=l,i&&(i.words[j]=1));for(var m=j-1;m>=0;m--){var n=67108864*(0|d.words[e.length+m])+(0|d.words[e.length+m-1]);for(n=Math.min(n/g|0,67108863),d._ishlnsubmul(e,n,m);0!==d.negative;)n--,d.negative=0,d._ishlnsubmul(e,1,m),d.isZero()||(d.negative^=1);i&&(i.words[m]=n)}return i&&i.strip(),d.strip(),"div"!==b&&0!==c&&d.iushrn(c),{div:i||null,mod:d}},f.prototype.divmod=function(a,b,c){if(d(!a.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var e,g,h;return 0!==this.negative&&0===a.negative?(h=this.neg().divmod(a,b),"mod"!==b&&(e=h.div.neg()),"div"!==b&&(g=h.mod.neg(),c&&0!==g.negative&&g.iadd(a)),{div:e,mod:g}):0===this.negative&&0!==a.negative?(h=this.divmod(a.neg(),b),"mod"!==b&&(e=h.div.neg()),{div:e,mod:h.mod}):0!==(this.negative&a.negative)?(h=this.neg().divmod(a.neg(),b),"div"!==b&&(g=h.mod.neg(),c&&0!==g.negative&&g.isub(a)),{div:h.div,mod:g}):a.length>this.length||this.cmp(a)<0?{div:new f(0),mod:this}:1===a.length?"div"===b?{div:this.divn(a.words[0]),mod:null}:"mod"===b?{div:null,mod:new f(this.modn(a.words[0]))}:{div:this.divn(a.words[0]),mod:new f(this.modn(a.words[0]))}:this._wordDiv(a,b)},f.prototype.div=function(a){return this.divmod(a,"div",!1).div},f.prototype.mod=function(a){return this.divmod(a,"mod",!1).mod},f.prototype.umod=function(a){return this.divmod(a,"mod",!0).mod},f.prototype.divRound=function(a){var b=this.divmod(a);if(b.mod.isZero())return b.div;var c=0!==b.div.negative?b.mod.isub(a):b.mod,d=a.ushrn(1),e=a.andln(1),f=c.cmp(d);return f<0||1===e&&0===f?b.div:0!==b.div.negative?b.div.isubn(1):b.div.iaddn(1)},f.prototype.modn=function(a){d(a<=67108863);for(var b=(1<<26)%a,c=0,e=this.length-1;e>=0;e--)c=(b*c+(0|this.words[e]))%a;return c},f.prototype.idivn=function(a){d(a<=67108863);for(var b=0,c=this.length-1;c>=0;c--){var e=(0|this.words[c])+67108864*b;this.words[c]=e/a|0,b=e%a}return this.strip()},f.prototype.divn=function(a){return this.clone().idivn(a)},f.prototype.egcd=function(a){d(0===a.negative),d(!a.isZero());var b=this,c=a.clone();b=0!==b.negative?b.umod(a):b.clone();for(var e=new f(1),g=new f(0),h=new f(0),i=new f(1),j=0;b.isEven()&&c.isEven();)b.iushrn(1),c.iushrn(1),++j;for(var k=c.clone(),l=b.clone();!b.isZero();){for(var m=0,n=1;0===(b.words[0]&n)&&m<26;++m,n<<=1);if(m>0)for(b.iushrn(m);m-- >0;)(e.isOdd()||g.isOdd())&&(e.iadd(k),g.isub(l)),e.iushrn(1),g.iushrn(1);for(var o=0,p=1;0===(c.words[0]&p)&&o<26;++o,p<<=1);if(o>0)for(c.iushrn(o);o-- >0;)(h.isOdd()||i.isOdd())&&(h.iadd(k),i.isub(l)),h.iushrn(1),i.iushrn(1);b.cmp(c)>=0?(b.isub(c),e.isub(h),g.isub(i)):(c.isub(b),h.isub(e),i.isub(g))}return{a:h,b:i,gcd:c.iushln(j)}},f.prototype._invmp=function(a){d(0===a.negative),d(!a.isZero());var b=this,c=a.clone();b=0!==b.negative?b.umod(a):b.clone();for(var e=new f(1),g=new f(0),h=c.clone();b.cmpn(1)>0&&c.cmpn(1)>0;){for(var i=0,j=1;0===(b.words[0]&j)&&i<26;++i,j<<=1);if(i>0)for(b.iushrn(i);i-- >0;)e.isOdd()&&e.iadd(h),e.iushrn(1);for(var k=0,l=1;0===(c.words[0]&l)&&k<26;++k,l<<=1);if(k>0)for(c.iushrn(k);k-- >0;)g.isOdd()&&g.iadd(h),g.iushrn(1);b.cmp(c)>=0?(b.isub(c),e.isub(g)):(c.isub(b),g.isub(e))}var m;return m=0===b.cmpn(1)?e:g,m.cmpn(0)<0&&m.iadd(a),m},f.prototype.gcd=function(a){if(this.isZero())return a.abs();if(a.isZero())return this.abs();var b=this.clone(),c=a.clone();b.negative=0,c.negative=0;for(var d=0;b.isEven()&&c.isEven();d++)b.iushrn(1),c.iushrn(1);for(;;){for(;b.isEven();)b.iushrn(1);for(;c.isEven();)c.iushrn(1);var e=b.cmp(c);if(e<0){var f=b;b=c,c=f}else if(0===e||0===c.cmpn(1))break;b.isub(c)}return c.iushln(d)},f.prototype.invm=function(a){return this.egcd(a).a.umod(a)},f.prototype.isEven=function(){return 0===(1&this.words[0])},f.prototype.isOdd=function(){return 1===(1&this.words[0])},f.prototype.andln=function(a){return this.words[0]&a},f.prototype.bincn=function(a){d("number"==typeof a);var b=a%26,c=(a-b)/26,e=1<<b;if(this.length<=c)return this._expand(c+1),this.words[c]|=e,this;for(var f=e,g=c;0!==f&&g<this.length;g++){var h=0|this.words[g];h+=f,f=h>>>26,h&=67108863,this.words[g]=h}return 0!==f&&(this.words[g]=f,this.length++),this},f.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},f.prototype.cmpn=function(a){var b=a<0;if(0!==this.negative&&!b)return-1;if(0===this.negative&&b)return 1;this.strip();var c;if(this.length>1)c=1;else{b&&(a=-a),d(a<=67108863,"Number is too big");var e=0|this.words[0];c=e===a?0:e<a?-1:1}return 0!==this.negative?0|-c:c},f.prototype.cmp=function(a){if(0!==this.negative&&0===a.negative)return-1;if(0===this.negative&&0!==a.negative)return 1;var b=this.ucmp(a);return 0!==this.negative?0|-b:b},f.prototype.ucmp=function(a){if(this.length>a.length)return 1;if(this.length<a.length)return-1;for(var b=0,c=this.length-1;c>=0;c--){var d=0|this.words[c],e=0|a.words[c];if(d!==e){d<e?b=-1:d>e&&(b=1);break}}return b},f.prototype.gtn=function(a){return 1===this.cmpn(a)},f.prototype.gt=function(a){return 1===this.cmp(a)},f.prototype.gten=function(a){return this.cmpn(a)>=0},f.prototype.gte=function(a){return this.cmp(a)>=0},f.prototype.ltn=function(a){return this.cmpn(a)===-1},f.prototype.lt=function(a){return this.cmp(a)===-1},f.prototype.lten=function(a){return this.cmpn(a)<=0},f.prototype.lte=function(a){return this.cmp(a)<=0},f.prototype.eqn=function(a){return 0===this.cmpn(a)},f.prototype.eq=function(a){return 0===this.cmp(a)},f.red=function(a){return new s(a)},f.prototype.toRed=function(a){return d(!this.red,"Already a number in reduction context"),d(0===this.negative,"red works only with positives"),a.convertTo(this)._forceRed(a)},f.prototype.fromRed=function(){return d(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},f.prototype._forceRed=function(a){return this.red=a,this},f.prototype.forceRed=function(a){return d(!this.red,"Already a number in reduction context"),this._forceRed(a)},f.prototype.redAdd=function(a){return d(this.red,"redAdd works only with red numbers"),this.red.add(this,a)},f.prototype.redIAdd=function(a){return d(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,a)},f.prototype.redSub=function(a){return d(this.red,"redSub works only with red numbers"),this.red.sub(this,a)},f.prototype.redISub=function(a){return d(this.red,"redISub works only with red numbers"),this.red.isub(this,a)},f.prototype.redShl=function(a){return d(this.red,"redShl works only with red numbers"),this.red.shl(this,a)},f.prototype.redMul=function(a){return d(this.red,"redMul works only with red numbers"),this.red._verify2(this,a),this.red.mul(this,a)},f.prototype.redIMul=function(a){return d(this.red,"redMul works only with red numbers"),this.red._verify2(this,a),this.red.imul(this,a)},f.prototype.redSqr=function(){return d(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return d(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return d(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){
return d(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return d(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(a){return d(this.red&&!a.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,a)};var A={k256:null,p224:null,p192:null,p25519:null};n.prototype._tmp=function(){var a=new f(null);return a.words=new Array(Math.ceil(this.n/13)),a},n.prototype.ireduce=function(a){var b,c=a;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),b=c.bitLength();while(b>this.n);var d=b<this.n?-1:c.ucmp(this.p);return 0===d?(c.words[0]=0,c.length=1):d>0?c.isub(this.p):c.strip(),c},n.prototype.split=function(a,b){a.iushrn(this.n,0,b)},n.prototype.imulK=function(a){return a.imul(this.k)},e(o,n),o.prototype.split=function(a,b){for(var c=4194303,d=Math.min(a.length,9),e=0;e<d;e++)b.words[e]=a.words[e];if(b.length=d,a.length<=9)return a.words[0]=0,void(a.length=1);var f=a.words[9];for(b.words[b.length++]=f&c,e=10;e<a.length;e++){var g=0|a.words[e];a.words[e-10]=(g&c)<<4|f>>>22,f=g}f>>>=22,a.words[e-10]=f,0===f&&a.length>10?a.length-=10:a.length-=9},o.prototype.imulK=function(a){a.words[a.length]=0,a.words[a.length+1]=0,a.length+=2;for(var b=0,c=0;c<a.length;c++){var d=0|a.words[c];b+=977*d,a.words[c]=67108863&b,b=64*d+(b/67108864|0)}return 0===a.words[a.length-1]&&(a.length--,0===a.words[a.length-1]&&a.length--),a},e(p,n),e(q,n),e(r,n),r.prototype.imulK=function(a){for(var b=0,c=0;c<a.length;c++){var d=19*(0|a.words[c])+b,e=67108863&d;d>>>=26,a.words[c]=e,b=d}return 0!==b&&(a.words[a.length++]=b),a},f._prime=function B(a){if(A[a])return A[a];var B;if("k256"===a)B=new o;else if("p224"===a)B=new p;else if("p192"===a)B=new q;else{if("p25519"!==a)throw new Error("Unknown prime "+a);B=new r}return A[a]=B,B},s.prototype._verify1=function(a){d(0===a.negative,"red works only with positives"),d(a.red,"red works only with red numbers")},s.prototype._verify2=function(a,b){d(0===(a.negative|b.negative),"red works only with positives"),d(a.red&&a.red===b.red,"red works only with red numbers")},s.prototype.imod=function(a){return this.prime?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},s.prototype.neg=function(a){return a.isZero()?a.clone():this.m.sub(a)._forceRed(this)},s.prototype.add=function(a,b){this._verify2(a,b);var c=a.add(b);return c.cmp(this.m)>=0&&c.isub(this.m),c._forceRed(this)},s.prototype.iadd=function(a,b){this._verify2(a,b);var c=a.iadd(b);return c.cmp(this.m)>=0&&c.isub(this.m),c},s.prototype.sub=function(a,b){this._verify2(a,b);var c=a.sub(b);return c.cmpn(0)<0&&c.iadd(this.m),c._forceRed(this)},s.prototype.isub=function(a,b){this._verify2(a,b);var c=a.isub(b);return c.cmpn(0)<0&&c.iadd(this.m),c},s.prototype.shl=function(a,b){return this._verify1(a),this.imod(a.ushln(b))},s.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},s.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},s.prototype.isqr=function(a){return this.imul(a,a.clone())},s.prototype.sqr=function(a){return this.mul(a,a)},s.prototype.sqrt=function(a){if(a.isZero())return a.clone();var b=this.m.andln(3);if(d(b%2===1),3===b){var c=this.m.add(new f(1)).iushrn(2);return this.pow(a,c)}for(var e=this.m.subn(1),g=0;!e.isZero()&&0===e.andln(1);)g++,e.iushrn(1);d(!e.isZero());var h=new f(1).toRed(this),i=h.redNeg(),j=this.m.subn(1).iushrn(1),k=this.m.bitLength();for(k=new f(2*k*k).toRed(this);0!==this.pow(k,j).cmp(i);)k.redIAdd(i);for(var l=this.pow(k,e),m=this.pow(a,e.addn(1).iushrn(1)),n=this.pow(a,e),o=g;0!==n.cmp(h);){for(var p=n,q=0;0!==p.cmp(h);q++)p=p.redSqr();d(q<o);var r=this.pow(l,new f(1).iushln(o-q-1));m=m.redMul(r),l=r.redSqr(),n=n.redMul(l),o=q}return m},s.prototype.invm=function(a){var b=a._invmp(this.m);return 0!==b.negative?(b.negative=0,this.imod(b).redNeg()):this.imod(b)},s.prototype.pow=function(a,b){if(b.isZero())return new f(1);if(0===b.cmpn(1))return a.clone();var c=4,d=new Array(1<<c);d[0]=new f(1).toRed(this),d[1]=a;for(var e=2;e<d.length;e++)d[e]=this.mul(d[e-1],a);var g=d[0],h=0,i=0,j=b.bitLength()%26;for(0===j&&(j=26),e=b.length-1;e>=0;e--){for(var k=b.words[e],l=j-1;l>=0;l--){var m=k>>l&1;g!==d[0]&&(g=this.sqr(g)),0!==m||0!==h?(h<<=1,h|=m,i++,(i===c||0===e&&0===l)&&(g=this.mul(g,d[h]),i=0,h=0)):i=0}j=26}return g},s.prototype.convertTo=function(a){var b=a.umod(this.m);return b===a?b.clone():b},s.prototype.convertFrom=function(a){var b=a.clone();return b.red=null,b},f.mont=function(a){return new t(a)},e(t,s),t.prototype.convertTo=function(a){return this.imod(a.ushln(this.shift))},t.prototype.convertFrom=function(a){var b=this.imod(a.mul(this.rinv));return b.red=null,b},t.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var c=a.imul(b),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),e=c.isub(d).iushrn(this.shift),f=e;return e.cmp(this.m)>=0?f=e.isub(this.m):e.cmpn(0)<0&&(f=e.iadd(this.m)),f._forceRed(this)},t.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new f(0)._forceRed(this);var c=a.mul(b),d=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),e=c.isub(d).iushrn(this.shift),g=e;return e.cmp(this.m)>=0?g=e.isub(this.m):e.cmpn(0)<0&&(g=e.iadd(this.m)),g._forceRed(this)},t.prototype.invm=function(a){var b=this.imod(a._invmp(this.m).mul(this.r2));return b._forceRed(this)}}("undefined"==typeof b||b,this)},{}],41:[function(a,b,c){(function(c){function d(a){var b=f(a),c=b.toRed(g.mont(a.modulus)).redPow(new g(a.publicExponent)).fromRed();return{blinder:c,unblinder:b.invm(a.modulus)}}function e(a,b){var e=d(b),f=b.modulus.byteLength(),h=(g.mont(b.modulus),new g(a).mul(e.blinder).umod(b.modulus)),i=h.toRed(g.mont(b.prime1)),j=h.toRed(g.mont(b.prime2)),k=b.coefficient,l=b.prime1,m=b.prime2,n=i.redPow(b.exponent1),o=j.redPow(b.exponent2);n=n.fromRed(),o=o.fromRed();var p=n.isub(o).imul(k).umod(l);return p.imul(m),o.iadd(p),new c(o.imul(e.unblinder).umod(b.modulus).toArray(!1,f))}function f(a){for(var b=a.modulus.byteLength(),c=new g(h(b));c.cmp(a.modulus)>=0||!c.umod(a.prime1)||!c.umod(a.prime2);)c=new g(h(b));return c}var g=a("bn.js"),h=a("randombytes");b.exports=e,e.getr=f}).call(this,a("buffer").Buffer)},{"bn.js":40,buffer:3,randombytes:205}],42:[function(a,b,c){"use strict";var d=c;d.version=a("../package.json").version,d.utils=a("./elliptic/utils"),d.rand=a("brorand"),d.curve=a("./elliptic/curve"),d.curves=a("./elliptic/curves"),d.ec=a("./elliptic/ec"),d.eddsa=a("./elliptic/eddsa")},{"../package.json":67,"./elliptic/curve":45,"./elliptic/curves":48,"./elliptic/ec":49,"./elliptic/eddsa":52,"./elliptic/utils":56,brorand:57}],43:[function(a,b,c){"use strict";function d(a,b){this.type=a,this.p=new f(b.p,16),this.red=b.prime?f.red(b.prime):f.mont(this.p),this.zero=new f(0).toRed(this.red),this.one=new f(1).toRed(this.red),this.two=new f(2).toRed(this.red),this.n=b.n&&new f(b.n,16),this.g=b.g&&this.pointFromJSON(b.g,b.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var c=this.n&&this.p.div(this.n);!c||c.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function e(a,b){this.curve=a,this.type=b,this.precomputed=null}var f=a("bn.js"),g=a("../../elliptic"),h=g.utils,i=h.getNAF,j=h.getJSF,k=h.assert;b.exports=d,d.prototype.point=function(){throw new Error("Not implemented")},d.prototype.validate=function(){throw new Error("Not implemented")},d.prototype._fixedNafMul=function(a,b){k(a.precomputed);var c=a._getDoubles(),d=i(b,1),e=(1<<c.step+1)-(c.step%2===0?2:1);e/=3;for(var f=[],g=0;g<d.length;g+=c.step){for(var h=0,b=g+c.step-1;b>=g;b--)h=(h<<1)+d[b];f.push(h)}for(var j=this.jpoint(null,null,null),l=this.jpoint(null,null,null),m=e;m>0;m--){for(var g=0;g<f.length;g++){var h=f[g];h===m?l=l.mixedAdd(c.points[g]):h===-m&&(l=l.mixedAdd(c.points[g].neg()))}j=j.add(l)}return j.toP()},d.prototype._wnafMul=function(a,b){var c=4,d=a._getNAFPoints(c);c=d.wnd;for(var e=d.points,f=i(b,c),g=this.jpoint(null,null,null),h=f.length-1;h>=0;h--){for(var b=0;h>=0&&0===f[h];h--)b++;if(h>=0&&b++,g=g.dblp(b),h<0)break;var j=f[h];k(0!==j),g="affine"===a.type?j>0?g.mixedAdd(e[j-1>>1]):g.mixedAdd(e[-j-1>>1].neg()):j>0?g.add(e[j-1>>1]):g.add(e[-j-1>>1].neg())}return"affine"===a.type?g.toP():g},d.prototype._wnafMulAdd=function(a,b,c,d,e){for(var f=this._wnafT1,g=this._wnafT2,h=this._wnafT3,k=0,l=0;l<d;l++){var m=b[l],n=m._getNAFPoints(a);f[l]=n.wnd,g[l]=n.points}for(var l=d-1;l>=1;l-=2){var o=l-1,p=l;if(1===f[o]&&1===f[p]){var q=[b[o],null,null,b[p]];0===b[o].y.cmp(b[p].y)?(q[1]=b[o].add(b[p]),q[2]=b[o].toJ().mixedAdd(b[p].neg())):0===b[o].y.cmp(b[p].y.redNeg())?(q[1]=b[o].toJ().mixedAdd(b[p]),q[2]=b[o].add(b[p].neg())):(q[1]=b[o].toJ().mixedAdd(b[p]),q[2]=b[o].toJ().mixedAdd(b[p].neg()));var r=[-3,-1,-5,-7,0,7,5,1,3],s=j(c[o],c[p]);k=Math.max(s[0].length,k),h[o]=new Array(k),h[p]=new Array(k);for(var t=0;t<k;t++){var u=0|s[0][t],v=0|s[1][t];h[o][t]=r[3*(u+1)+(v+1)],h[p][t]=0,g[o]=q}}else h[o]=i(c[o],f[o]),h[p]=i(c[p],f[p]),k=Math.max(h[o].length,k),k=Math.max(h[p].length,k)}for(var w=this.jpoint(null,null,null),x=this._wnafT4,l=k;l>=0;l--){for(var y=0;l>=0;){for(var z=!0,t=0;t<d;t++)x[t]=0|h[t][l],0!==x[t]&&(z=!1);if(!z)break;y++,l--}if(l>=0&&y++,w=w.dblp(y),l<0)break;for(var t=0;t<d;t++){var m,A=x[t];0!==A&&(A>0?m=g[t][A-1>>1]:A<0&&(m=g[t][-A-1>>1].neg()),w="affine"===m.type?w.mixedAdd(m):w.add(m))}}for(var l=0;l<d;l++)g[l]=null;return e?w:w.toP()},d.BasePoint=e,e.prototype.eq=function(){throw new Error("Not implemented")},e.prototype.validate=function(){return this.curve.validate(this)},d.prototype.decodePoint=function(a,b){a=h.toArray(a,b);var c=this.p.byteLength();if((4===a[0]||6===a[0]||7===a[0])&&a.length-1===2*c){6===a[0]?k(a[a.length-1]%2===0):7===a[0]&&k(a[a.length-1]%2===1);var d=this.point(a.slice(1,1+c),a.slice(1+c,1+2*c));return d}if((2===a[0]||3===a[0])&&a.length-1===c)return this.pointFromX(a.slice(1,1+c),3===a[0]);throw new Error("Unknown point format")},e.prototype.encodeCompressed=function(a){return this.encode(a,!0)},e.prototype._encode=function(a){var b=this.curve.p.byteLength(),c=this.getX().toArray("be",b);return a?[this.getY().isEven()?2:3].concat(c):[4].concat(c,this.getY().toArray("be",b))},e.prototype.encode=function(a,b){return h.encode(this._encode(b),a)},e.prototype.precompute=function(a){if(this.precomputed)return this;var b={doubles:null,naf:null,beta:null};return b.naf=this._getNAFPoints(8),b.doubles=this._getDoubles(4,a),b.beta=this._getBeta(),this.precomputed=b,this},e.prototype._hasDoubles=function(a){if(!this.precomputed)return!1;var b=this.precomputed.doubles;return!!b&&b.points.length>=Math.ceil((a.bitLength()+1)/b.step)},e.prototype._getDoubles=function(a,b){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var c=[this],d=this,e=0;e<b;e+=a){for(var f=0;f<a;f++)d=d.dbl();c.push(d)}return{step:a,points:c}},e.prototype._getNAFPoints=function(a){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var b=[this],c=(1<<a)-1,d=1===c?null:this.dbl(),e=1;e<c;e++)b[e]=b[e-1].add(d);return{wnd:a,points:b}},e.prototype._getBeta=function(){return null},e.prototype.dblp=function(a){for(var b=this,c=0;c<a;c++)b=b.dbl();return b}},{"../../elliptic":42,"bn.js":40}],44:[function(a,b,c){"use strict";function d(a){this.twisted=1!==(0|a.a),this.mOneA=this.twisted&&(0|a.a)===-1,this.extended=this.mOneA,j.call(this,"edwards",a),this.a=new h(a.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new h(a.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new h(a.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),k(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1===(0|a.c)}function e(a,b,c,d,e){j.BasePoint.call(this,a,"projective"),null===b&&null===c&&null===d?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new h(b,16),this.y=new h(c,16),this.z=d?new h(d,16):this.curve.one,this.t=e&&new h(e,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}var f=a("../curve"),g=a("../../elliptic"),h=a("bn.js"),i=a("inherits"),j=f.base,k=g.utils.assert;i(d,j),b.exports=d,d.prototype._mulA=function(a){return this.mOneA?a.redNeg():this.a.redMul(a)},d.prototype._mulC=function(a){return this.oneC?a:this.c.redMul(a)},d.prototype.jpoint=function(a,b,c,d){return this.point(a,b,c,d)},d.prototype.pointFromX=function(a,b){a=new h(a,16),a.red||(a=a.toRed(this.red));var c=a.redSqr(),d=this.c2.redSub(this.a.redMul(c)),e=this.one.redSub(this.c2.redMul(this.d).redMul(c)),f=d.redMul(e.redInvm()),g=f.redSqrt();if(0!==g.redSqr().redSub(f).cmp(this.zero))throw new Error("invalid point");var i=g.fromRed().isOdd();return(b&&!i||!b&&i)&&(g=g.redNeg()),this.point(a,g)},d.prototype.pointFromY=function(a,b){a=new h(a,16),a.red||(a=a.toRed(this.red));var c=a.redSqr(),d=c.redSub(this.one),e=c.redMul(this.d).redAdd(this.one),f=d.redMul(e.redInvm());if(0===f.cmp(this.zero)){if(b)throw new Error("invalid point");return this.point(this.zero,a)}var g=f.redSqrt();if(0!==g.redSqr().redSub(f).cmp(this.zero))throw new Error("invalid point");return g.isOdd()!==b&&(g=g.redNeg()),this.point(g,a)},d.prototype.validate=function(a){if(a.isInfinity())return!0;a.normalize();var b=a.x.redSqr(),c=a.y.redSqr(),d=b.redMul(this.a).redAdd(c),e=this.c2.redMul(this.one.redAdd(this.d.redMul(b).redMul(c)));return 0===d.cmp(e)},i(e,j.BasePoint),d.prototype.pointFromJSON=function(a){return e.fromJSON(this,a)},d.prototype.point=function(a,b,c,d){return new e(this,a,b,c,d)},e.fromJSON=function(a,b){return new e(a,b[0],b[1],b[2])},e.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},e.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&0===this.y.cmp(this.z)},e.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),f=d.redAdd(b),g=f.redSub(c),h=d.redSub(b),i=e.redMul(g),j=f.redMul(h),k=e.redMul(h),l=g.redMul(f);return this.curve.point(i,j,l,k)},e.prototype._projDbl=function(){var a,b,c,d=this.x.redAdd(this.y).redSqr(),e=this.x.redSqr(),f=this.y.redSqr();if(this.curve.twisted){var g=this.curve._mulA(e),h=g.redAdd(f);if(this.zOne)a=d.redSub(e).redSub(f).redMul(h.redSub(this.curve.two)),b=h.redMul(g.redSub(f)),c=h.redSqr().redSub(h).redSub(h);else{var i=this.z.redSqr(),j=h.redSub(i).redISub(i);a=d.redSub(e).redISub(f).redMul(j),b=h.redMul(g.redSub(f)),c=h.redMul(j)}}else{var g=e.redAdd(f),i=this.curve._mulC(this.c.redMul(this.z)).redSqr(),j=g.redSub(i).redSub(i);a=this.curve._mulC(d.redISub(g)).redMul(j),b=this.curve._mulC(g).redMul(e.redISub(f)),c=g.redMul(j)}return this.curve.point(a,b,c)},e.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},e.prototype._extAdd=function(a){var b=this.y.redSub(this.x).redMul(a.y.redSub(a.x)),c=this.y.redAdd(this.x).redMul(a.y.redAdd(a.x)),d=this.t.redMul(this.curve.dd).redMul(a.t),e=this.z.redMul(a.z.redAdd(a.z)),f=c.redSub(b),g=e.redSub(d),h=e.redAdd(d),i=c.redAdd(b),j=f.redMul(g),k=h.redMul(i),l=f.redMul(i),m=g.redMul(h);return this.curve.point(j,k,m,l)},e.prototype._projAdd=function(a){var b,c,d=this.z.redMul(a.z),e=d.redSqr(),f=this.x.redMul(a.x),g=this.y.redMul(a.y),h=this.curve.d.redMul(f).redMul(g),i=e.redSub(h),j=e.redAdd(h),k=this.x.redAdd(this.y).redMul(a.x.redAdd(a.y)).redISub(f).redISub(g),l=d.redMul(i).redMul(k);return this.curve.twisted?(b=d.redMul(j).redMul(g.redSub(this.curve._mulA(f))),c=i.redMul(j)):(b=d.redMul(j).redMul(g.redSub(f)),c=this.curve._mulC(i).redMul(j)),this.curve.point(l,b,c)},e.prototype.add=function(a){return this.isInfinity()?a:a.isInfinity()?this:this.curve.extended?this._extAdd(a):this._projAdd(a)},e.prototype.mul=function(a){return this._hasDoubles(a)?this.curve._fixedNafMul(this,a):this.curve._wnafMul(this,a)},e.prototype.mulAdd=function(a,b,c){return this.curve._wnafMulAdd(1,[this,b],[a,c],2,!1)},e.prototype.jmulAdd=function(a,b,c){return this.curve._wnafMulAdd(1,[this,b],[a,c],2,!0)},e.prototype.normalize=function(){if(this.zOne)return this;var a=this.z.redInvm();return this.x=this.x.redMul(a),this.y=this.y.redMul(a),this.t&&(this.t=this.t.redMul(a)),this.z=this.curve.one,this.zOne=!0,this},e.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},e.prototype.getX=function(){return this.normalize(),this.x.fromRed()},e.prototype.getY=function(){return this.normalize(),this.y.fromRed()},e.prototype.eq=function(a){return this===a||0===this.getX().cmp(a.getX())&&0===this.getY().cmp(a.getY())},e.prototype.eqXToP=function(a){var b=a.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(b))return!0;for(var c=a.clone(),d=this.curve.redN.redMul(this.z);;){if(c.iadd(this.curve.n),c.cmp(this.curve.p)>=0)return!1;if(b.redIAdd(d),0===this.x.cmp(b))return!0}return!1},e.prototype.toP=e.prototype.normalize,e.prototype.mixedAdd=e.prototype.add},{"../../elliptic":42,"../curve":45,"bn.js":40,inherits:207}],45:[function(a,b,c){"use strict";var d=c;d.base=a("./base"),d["short"]=a("./short"),d.mont=a("./mont"),d.edwards=a("./edwards")},{"./base":43,"./edwards":44,"./mont":46,"./short":47}],46:[function(a,b,c){"use strict";function d(a){i.call(this,"mont",a),this.a=new g(a.a,16).toRed(this.red),this.b=new g(a.b,16).toRed(this.red),this.i4=new g(4).toRed(this.red).redInvm(),this.two=new g(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function e(a,b,c){i.BasePoint.call(this,a,"projective"),null===b&&null===c?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new g(b,16),this.z=new g(c,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}var f=a("../curve"),g=a("bn.js"),h=a("inherits"),i=f.base,j=a("../../elliptic"),k=j.utils;h(d,i),b.exports=d,d.prototype.validate=function(a){var b=a.normalize().x,c=b.redSqr(),d=c.redMul(b).redAdd(c.redMul(this.a)).redAdd(b),e=d.redSqrt();return 0===e.redSqr().cmp(d)},h(e,i.BasePoint),d.prototype.decodePoint=function(a,b){return this.point(k.toArray(a,b),1)},d.prototype.point=function(a,b){return new e(this,a,b)},d.prototype.pointFromJSON=function(a){return e.fromJSON(this,a)},e.prototype.precompute=function(){},e.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},e.fromJSON=function(a,b){return new e(a,b[0],b[1]||a.one)},e.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},e.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},e.prototype.dbl=function(){var a=this.x.redAdd(this.z),b=a.redSqr(),c=this.x.redSub(this.z),d=c.redSqr(),e=b.redSub(d),f=b.redMul(d),g=e.redMul(d.redAdd(this.curve.a24.redMul(e)));return this.curve.point(f,g)},e.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},e.prototype.diffAdd=function(a,b){var c=this.x.redAdd(this.z),d=this.x.redSub(this.z),e=a.x.redAdd(a.z),f=a.x.redSub(a.z),g=f.redMul(c),h=e.redMul(d),i=b.z.redMul(g.redAdd(h).redSqr()),j=b.x.redMul(g.redISub(h).redSqr());return this.curve.point(i,j)},e.prototype.mul=function(a){for(var b=a.clone(),c=this,d=this.curve.point(null,null),e=this,f=[];0!==b.cmpn(0);b.iushrn(1))f.push(b.andln(1));for(var g=f.length-1;g>=0;g--)0===f[g]?(c=c.diffAdd(d,e),d=d.dbl()):(d=c.diffAdd(d,e),c=c.dbl());return d},e.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},e.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},e.prototype.eq=function(a){return 0===this.getX().cmp(a.getX())},e.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},e.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../../elliptic":42,"../curve":45,"bn.js":40,inherits:207}],47:[function(a,b,c){"use strict";function d(a){k.call(this,"short",a),this.a=new i(a.a,16).toRed(this.red),this.b=new i(a.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(a),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function e(a,b,c,d){k.BasePoint.call(this,a,"affine"),null===b&&null===c?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(b,16),this.y=new i(c,16),d&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(a,b,c,d){k.BasePoint.call(this,a,"jacobian"),null===b&&null===c&&null===d?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(b,16),this.y=new i(c,16),this.z=new i(d,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}var g=a("../curve"),h=a("../../elliptic"),i=a("bn.js"),j=a("inherits"),k=g.base,l=h.utils.assert;j(d,k),b.exports=d,d.prototype._getEndomorphism=function(a){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var b,c;if(a.beta)b=new i(a.beta,16).toRed(this.red);else{var d=this._getEndoRoots(this.p);b=d[0].cmp(d[1])<0?d[0]:d[1],b=b.toRed(this.red)}if(a.lambda)c=new i(a.lambda,16);else{var e=this._getEndoRoots(this.n);0===this.g.mul(e[0]).x.cmp(this.g.x.redMul(b))?c=e[0]:(c=e[1],l(0===this.g.mul(c).x.cmp(this.g.x.redMul(b))))}var f;return f=a.basis?a.basis.map(function(a){return{a:new i(a.a,16),b:new i(a.b,16)}}):this._getEndoBasis(c),{beta:b,lambda:c,basis:f}}},d.prototype._getEndoRoots=function(a){var b=a===this.p?this.red:i.mont(a),c=new i(2).toRed(b).redInvm(),d=c.redNeg(),e=new i(3).toRed(b).redNeg().redSqrt().redMul(c),f=d.redAdd(e).fromRed(),g=d.redSub(e).fromRed();return[f,g]},d.prototype._getEndoBasis=function(a){for(var b,c,d,e,f,g,h,j,k,l=this.n.ushrn(Math.floor(this.n.bitLength()/2)),m=a,n=this.n.clone(),o=new i(1),p=new i(0),q=new i(0),r=new i(1),s=0;0!==m.cmpn(0);){var t=n.div(m);j=n.sub(t.mul(m)),k=q.sub(t.mul(o));var u=r.sub(t.mul(p));if(!d&&j.cmp(l)<0)b=h.neg(),c=o,d=j.neg(),e=k;else if(d&&2===++s)break;h=j,n=m,m=j,q=o,o=k,r=p,p=u}f=j.neg(),g=k;var v=d.sqr().add(e.sqr()),w=f.sqr().add(g.sqr());return w.cmp(v)>=0&&(f=b,g=c),d.negative&&(d=d.neg(),e=e.neg()),f.negative&&(f=f.neg(),g=g.neg()),[{a:d,b:e},{a:f,b:g}]},d.prototype._endoSplit=function(a){var b=this.endo.basis,c=b[0],d=b[1],e=d.b.mul(a).divRound(this.n),f=c.b.neg().mul(a).divRound(this.n),g=e.mul(c.a),h=f.mul(d.a),i=e.mul(c.b),j=f.mul(d.b),k=a.sub(g).sub(h),l=i.add(j).neg();return{k1:k,k2:l}},d.prototype.pointFromX=function(a,b){a=new i(a,16),a.red||(a=a.toRed(this.red));var c=a.redSqr().redMul(a).redIAdd(a.redMul(this.a)).redIAdd(this.b),d=c.redSqrt();if(0!==d.redSqr().redSub(c).cmp(this.zero))throw new Error("invalid point");var e=d.fromRed().isOdd();return(b&&!e||!b&&e)&&(d=d.redNeg()),this.point(a,d)},d.prototype.validate=function(a){if(a.inf)return!0;var b=a.x,c=a.y,d=this.a.redMul(b),e=b.redSqr().redMul(b).redIAdd(d).redIAdd(this.b);return 0===c.redSqr().redISub(e).cmpn(0)},d.prototype._endoWnafMulAdd=function(a,b,c){for(var d=this._endoWnafT1,e=this._endoWnafT2,f=0;f<a.length;f++){var g=this._endoSplit(b[f]),h=a[f],i=h._getBeta();g.k1.negative&&(g.k1.ineg(),h=h.neg(!0)),g.k2.negative&&(g.k2.ineg(),i=i.neg(!0)),d[2*f]=h,d[2*f+1]=i,e[2*f]=g.k1,e[2*f+1]=g.k2}for(var j=this._wnafMulAdd(1,d,e,2*f,c),k=0;k<2*f;k++)d[k]=null,e[k]=null;return j},j(e,k.BasePoint),d.prototype.point=function(a,b,c){return new e(this,a,b,c)},d.prototype.pointFromJSON=function(a,b){return e.fromJSON(this,a,b)},e.prototype._getBeta=function(){if(this.curve.endo){var a=this.precomputed;if(a&&a.beta)return a.beta;var b=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(a){var c=this.curve,d=function(a){return c.point(a.x.redMul(c.endo.beta),a.y)};a.beta=b,b.precomputed={beta:null,naf:a.naf&&{wnd:a.naf.wnd,points:a.naf.points.map(d)},doubles:a.doubles&&{step:a.doubles.step,points:a.doubles.points.map(d)}}}return b}},e.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},e.fromJSON=function(a,b,c){function d(b){return a.point(b[0],b[1],c)}"string"==typeof b&&(b=JSON.parse(b));var e=a.point(b[0],b[1],c);if(!b[2])return e;var f=b[2];return e.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[e].concat(f.doubles.points.map(d))},naf:f.naf&&{wnd:f.naf.wnd,points:[e].concat(f.naf.points.map(d))}},e},e.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},e.prototype.isInfinity=function(){return this.inf},e.prototype.add=function(a){if(this.inf)return a;if(a.inf)return this;if(this.eq(a))return this.dbl();if(this.neg().eq(a))return this.curve.point(null,null);if(0===this.x.cmp(a.x))return this.curve.point(null,null);var b=this.y.redSub(a.y);0!==b.cmpn(0)&&(b=b.redMul(this.x.redSub(a.x).redInvm()));var c=b.redSqr().redISub(this.x).redISub(a.x),d=b.redMul(this.x.redSub(c)).redISub(this.y);return this.curve.point(c,d)},e.prototype.dbl=function(){if(this.inf)return this;var a=this.y.redAdd(this.y);if(0===a.cmpn(0))return this.curve.point(null,null);var b=this.curve.a,c=this.x.redSqr(),d=a.redInvm(),e=c.redAdd(c).redIAdd(c).redIAdd(b).redMul(d),f=e.redSqr().redISub(this.x.redAdd(this.x)),g=e.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,g)},e.prototype.getX=function(){return this.x.fromRed()},e.prototype.getY=function(){return this.y.fromRed()},e.prototype.mul=function(a){return a=new i(a,16),this._hasDoubles(a)?this.curve._fixedNafMul(this,a):this.curve.endo?this.curve._endoWnafMulAdd([this],[a]):this.curve._wnafMul(this,a)},e.prototype.mulAdd=function(a,b,c){var d=[this,b],e=[a,c];return this.curve.endo?this.curve._endoWnafMulAdd(d,e):this.curve._wnafMulAdd(1,d,e,2)},e.prototype.jmulAdd=function(a,b,c){var d=[this,b],e=[a,c];return this.curve.endo?this.curve._endoWnafMulAdd(d,e,!0):this.curve._wnafMulAdd(1,d,e,2,!0)},e.prototype.eq=function(a){return this===a||this.inf===a.inf&&(this.inf||0===this.x.cmp(a.x)&&0===this.y.cmp(a.y))},e.prototype.neg=function(a){if(this.inf)return this;var b=this.curve.point(this.x,this.y.redNeg());if(a&&this.precomputed){var c=this.precomputed,d=function(a){return a.neg()};b.precomputed={naf:c.naf&&{wnd:c.naf.wnd,points:c.naf.points.map(d)},doubles:c.doubles&&{step:c.doubles.step,points:c.doubles.points.map(d)}}}return b},e.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var a=this.curve.jpoint(this.x,this.y,this.curve.one);return a},j(f,k.BasePoint),d.prototype.jpoint=function(a,b,c){return new f(this,a,b,c)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var a=this.z.redInvm(),b=a.redSqr(),c=this.x.redMul(b),d=this.y.redMul(b).redMul(a);return this.curve.point(c,d)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(a){if(this.isInfinity())return a;if(a.isInfinity())return this;var b=a.z.redSqr(),c=this.z.redSqr(),d=this.x.redMul(b),e=a.x.redMul(c),f=this.y.redMul(b.redMul(a.z)),g=a.y.redMul(c.redMul(this.z)),h=d.redSub(e),i=f.redSub(g);if(0===h.cmpn(0))return 0!==i.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var j=h.redSqr(),k=j.redMul(h),l=d.redMul(j),m=i.redSqr().redIAdd(k).redISub(l).redISub(l),n=i.redMul(l.redISub(m)).redISub(f.redMul(k)),o=this.z.redMul(a.z).redMul(h);return this.curve.jpoint(m,n,o)},f.prototype.mixedAdd=function(a){if(this.isInfinity())return a.toJ();if(a.isInfinity())return this;var b=this.z.redSqr(),c=this.x,d=a.x.redMul(b),e=this.y,f=a.y.redMul(b).redMul(this.z),g=c.redSub(d),h=e.redSub(f);if(0===g.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var i=g.redSqr(),j=i.redMul(g),k=c.redMul(i),l=h.redSqr().redIAdd(j).redISub(k).redISub(k),m=h.redMul(k.redISub(l)).redISub(e.redMul(j)),n=this.z.redMul(g);return this.curve.jpoint(l,m,n)},f.prototype.dblp=function(a){if(0===a)return this;if(this.isInfinity())return this;if(!a)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var b=this,c=0;c<a;c++)b=b.dbl();return b}for(var d=this.curve.a,e=this.curve.tinv,f=this.x,g=this.y,h=this.z,i=h.redSqr().redSqr(),j=g.redAdd(g),c=0;c<a;c++){var k=f.redSqr(),l=j.redSqr(),m=l.redSqr(),n=k.redAdd(k).redIAdd(k).redIAdd(d.redMul(i)),o=f.redMul(l),p=n.redSqr().redISub(o.redAdd(o)),q=o.redISub(p),r=n.redMul(q);r=r.redIAdd(r).redISub(m);var s=j.redMul(h);c+1<a&&(i=i.redMul(m)),f=p,h=s,j=r}return this.curve.jpoint(f,j.redMul(e),h)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},f.prototype._zeroDbl=function(){var a,b,c;if(this.zOne){var d=this.x.redSqr(),e=this.y.redSqr(),f=e.redSqr(),g=this.x.redAdd(e).redSqr().redISub(d).redISub(f);g=g.redIAdd(g);var h=d.redAdd(d).redIAdd(d),i=h.redSqr().redISub(g).redISub(g),j=f.redIAdd(f);j=j.redIAdd(j),j=j.redIAdd(j),a=i,b=h.redMul(g.redISub(i)).redISub(j),c=this.y.redAdd(this.y)}else{var k=this.x.redSqr(),l=this.y.redSqr(),m=l.redSqr(),n=this.x.redAdd(l).redSqr().redISub(k).redISub(m);n=n.redIAdd(n);var o=k.redAdd(k).redIAdd(k),p=o.redSqr(),q=m.redIAdd(m);q=q.redIAdd(q),q=q.redIAdd(q),a=p.redISub(n).redISub(n),b=o.redMul(n.redISub(a)).redISub(q),c=this.y.redMul(this.z),c=c.redIAdd(c)}return this.curve.jpoint(a,b,c)},f.prototype._threeDbl=function(){var a,b,c;if(this.zOne){var d=this.x.redSqr(),e=this.y.redSqr(),f=e.redSqr(),g=this.x.redAdd(e).redSqr().redISub(d).redISub(f);g=g.redIAdd(g);var h=d.redAdd(d).redIAdd(d).redIAdd(this.curve.a),i=h.redSqr().redISub(g).redISub(g);a=i;var j=f.redIAdd(f);j=j.redIAdd(j),j=j.redIAdd(j),b=h.redMul(g.redISub(i)).redISub(j),c=this.y.redAdd(this.y)}else{var k=this.z.redSqr(),l=this.y.redSqr(),m=this.x.redMul(l),n=this.x.redSub(k).redMul(this.x.redAdd(k));n=n.redAdd(n).redIAdd(n);var o=m.redIAdd(m);o=o.redIAdd(o);var p=o.redAdd(o);a=n.redSqr().redISub(p),c=this.y.redAdd(this.z).redSqr().redISub(l).redISub(k);var q=l.redSqr();q=q.redIAdd(q),q=q.redIAdd(q),q=q.redIAdd(q),b=n.redMul(o.redISub(a)).redISub(q)}return this.curve.jpoint(a,b,c)},f.prototype._dbl=function(){var a=this.curve.a,b=this.x,c=this.y,d=this.z,e=d.redSqr().redSqr(),f=b.redSqr(),g=c.redSqr(),h=f.redAdd(f).redIAdd(f).redIAdd(a.redMul(e)),i=b.redAdd(b);i=i.redIAdd(i);var j=i.redMul(g),k=h.redSqr().redISub(j.redAdd(j)),l=j.redISub(k),m=g.redSqr();m=m.redIAdd(m),m=m.redIAdd(m),m=m.redIAdd(m);var n=h.redMul(l).redISub(m),o=c.redAdd(c).redMul(d);return this.curve.jpoint(k,n,o)},f.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr(),d=b.redSqr(),e=a.redAdd(a).redIAdd(a),f=e.redSqr(),g=this.x.redAdd(b).redSqr().redISub(a).redISub(d);g=g.redIAdd(g),g=g.redAdd(g).redIAdd(g),g=g.redISub(f);var h=g.redSqr(),i=d.redIAdd(d);i=i.redIAdd(i),i=i.redIAdd(i),i=i.redIAdd(i);var j=e.redIAdd(g).redSqr().redISub(f).redISub(h).redISub(i),k=b.redMul(j);k=k.redIAdd(k),k=k.redIAdd(k);var l=this.x.redMul(h).redISub(k);
l=l.redIAdd(l),l=l.redIAdd(l);var m=this.y.redMul(j.redMul(i.redISub(j)).redISub(g.redMul(h)));m=m.redIAdd(m),m=m.redIAdd(m),m=m.redIAdd(m);var n=this.z.redAdd(g).redSqr().redISub(c).redISub(h);return this.curve.jpoint(l,m,n)},f.prototype.mul=function(a,b){return a=new i(a,b),this.curve._wnafMul(this,a)},f.prototype.eq=function(a){if("affine"===a.type)return this.eq(a.toJ());if(this===a)return!0;var b=this.z.redSqr(),c=a.z.redSqr();if(0!==this.x.redMul(c).redISub(a.x.redMul(b)).cmpn(0))return!1;var d=b.redMul(this.z),e=c.redMul(a.z);return 0===this.y.redMul(e).redISub(a.y.redMul(d)).cmpn(0)},f.prototype.eqXToP=function(a){var b=this.z.redSqr(),c=a.toRed(this.curve.red).redMul(b);if(0===this.x.cmp(c))return!0;for(var d=a.clone(),e=this.curve.redN.redMul(b);;){if(d.iadd(this.curve.n),d.cmp(this.curve.p)>=0)return!1;if(c.redIAdd(e),0===this.x.cmp(c))return!0}return!1},f.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../../elliptic":42,"../curve":45,"bn.js":40,inherits:207}],48:[function(a,b,c){"use strict";function d(a){"short"===a.type?this.curve=new h.curve["short"](a):"edwards"===a.type?this.curve=new h.curve.edwards(a):this.curve=new h.curve.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function e(a,b){Object.defineProperty(f,a,{configurable:!0,enumerable:!0,get:function(){var c=new d(b);return Object.defineProperty(f,a,{configurable:!0,enumerable:!0,value:c}),c}})}var f=c,g=a("hash.js"),h=a("../elliptic"),i=h.utils.assert;f.PresetCurve=d,e("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:g.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),e("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:g.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),e("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:g.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),e("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:g.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),e("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:g.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),e("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:g.sha256,gRed:!1,g:["9"]}),e("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:g.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var j;try{j=a("./precomputed/secp256k1")}catch(k){j=void 0}e("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:g.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",j]})},{"../elliptic":42,"./precomputed/secp256k1":55,"hash.js":58}],49:[function(a,b,c){"use strict";function d(a){return this instanceof d?("string"==typeof a&&(i(g.curves.hasOwnProperty(a),"Unknown curve "+a),a=g.curves[a]),a instanceof g.curves.PresetCurve&&(a={curve:a}),this.curve=a.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=a.curve.g,this.g.precompute(a.curve.n.bitLength()+1),void(this.hash=a.hash||a.curve.hash)):new d(a)}var e=a("bn.js"),f=a("hmac-drbg"),g=a("../../elliptic"),h=g.utils,i=h.assert,j=a("./key"),k=a("./signature");b.exports=d,d.prototype.keyPair=function(a){return new j(this,a)},d.prototype.keyFromPrivate=function(a,b){return j.fromPrivate(this,a,b)},d.prototype.keyFromPublic=function(a,b){return j.fromPublic(this,a,b)},d.prototype.genKeyPair=function(a){a||(a={});for(var b=new f({hash:this.hash,pers:a.pers,persEnc:a.persEnc||"utf8",entropy:a.entropy||g.rand(this.hash.hmacStrength),entropyEnc:a.entropy&&a.entropyEnc||"utf8",nonce:this.n.toArray()}),c=this.n.byteLength(),d=this.n.sub(new e(2));;){var h=new e(b.generate(c));if(!(h.cmp(d)>0))return h.iaddn(1),this.keyFromPrivate(h)}},d.prototype._truncateToN=function(a,b){var c=8*a.byteLength()-this.n.bitLength();return c>0&&(a=a.ushrn(c)),!b&&a.cmp(this.n)>=0?a.sub(this.n):a},d.prototype.sign=function(a,b,c,d){"object"==typeof c&&(d=c,c=null),d||(d={}),b=this.keyFromPrivate(b,c),a=this._truncateToN(new e(a,16));for(var g=this.n.byteLength(),h=b.getPrivate().toArray("be",g),i=a.toArray("be",g),j=new f({hash:this.hash,entropy:h,nonce:i,pers:d.pers,persEnc:d.persEnc||"utf8"}),l=this.n.sub(new e(1)),m=0;!0;m++){var n=d.k?d.k(m):new e(j.generate(this.n.byteLength()));if(n=this._truncateToN(n,!0),!(n.cmpn(1)<=0||n.cmp(l)>=0)){var o=this.g.mul(n);if(!o.isInfinity()){var p=o.getX(),q=p.umod(this.n);if(0!==q.cmpn(0)){var r=n.invm(this.n).mul(q.mul(b.getPrivate()).iadd(a));if(r=r.umod(this.n),0!==r.cmpn(0)){var s=(o.getY().isOdd()?1:0)|(0!==p.cmp(q)?2:0);return d.canonical&&r.cmp(this.nh)>0&&(r=this.n.sub(r),s^=1),new k({r:q,s:r,recoveryParam:s})}}}}}},d.prototype.verify=function(a,b,c,d){a=this._truncateToN(new e(a,16)),c=this.keyFromPublic(c,d),b=new k(b,"hex");var f=b.r,g=b.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;if(g.cmpn(1)<0||g.cmp(this.n)>=0)return!1;var h=g.invm(this.n),i=h.mul(a).umod(this.n),j=h.mul(f).umod(this.n);if(!this.curve._maxwellTrick){var l=this.g.mulAdd(i,c.getPublic(),j);return!l.isInfinity()&&0===l.getX().umod(this.n).cmp(f)}var l=this.g.jmulAdd(i,c.getPublic(),j);return!l.isInfinity()&&l.eqXToP(f)},d.prototype.recoverPubKey=function(a,b,c,d){i((3&c)===c,"The recovery param is more than two bits"),b=new k(b,d);var f=this.n,g=new e(a),h=b.r,j=b.s,l=1&c,m=c>>1;if(h.cmp(this.curve.p.umod(this.curve.n))>=0&&m)throw new Error("Unable to find sencond key candinate");h=m?this.curve.pointFromX(h.add(this.curve.n),l):this.curve.pointFromX(h,l);var n=b.r.invm(f),o=f.sub(g).mul(n).umod(f),p=j.mul(n).umod(f);return this.g.mulAdd(o,h,p)},d.prototype.getKeyRecoveryParam=function(a,b,c,d){if(b=new k(b,d),null!==b.recoveryParam)return b.recoveryParam;for(var e=0;e<4;e++){var f;try{f=this.recoverPubKey(a,b,e)}catch(a){continue}if(f.eq(c))return e}throw new Error("Unable to find valid recovery factor")}},{"../../elliptic":42,"./key":50,"./signature":51,"bn.js":40,"hmac-drbg":64}],50:[function(a,b,c){"use strict";function d(a,b){this.ec=a,this.priv=null,this.pub=null,b.priv&&this._importPrivate(b.priv,b.privEnc),b.pub&&this._importPublic(b.pub,b.pubEnc)}var e=a("bn.js"),f=a("../../elliptic"),g=f.utils,h=g.assert;b.exports=d,d.fromPublic=function(a,b,c){return b instanceof d?b:new d(a,{pub:b,pubEnc:c})},d.fromPrivate=function(a,b,c){return b instanceof d?b:new d(a,{priv:b,privEnc:c})},d.prototype.validate=function(){var a=this.getPublic();return a.isInfinity()?{result:!1,reason:"Invalid public key"}:a.validate()?a.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},d.prototype.getPublic=function(a,b){return"string"==typeof a&&(b=a,a=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),b?this.pub.encode(b,a):this.pub},d.prototype.getPrivate=function(a){return"hex"===a?this.priv.toString(16,2):this.priv},d.prototype._importPrivate=function(a,b){this.priv=new e(a,b||16),this.priv=this.priv.umod(this.ec.curve.n)},d.prototype._importPublic=function(a,b){return a.x||a.y?("mont"===this.ec.curve.type?h(a.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||h(a.x&&a.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(a.x,a.y))):void(this.pub=this.ec.curve.decodePoint(a,b))},d.prototype.derive=function(a){return a.mul(this.priv).getX()},d.prototype.sign=function(a,b,c){return this.ec.sign(a,this,b,c)},d.prototype.verify=function(a,b){return this.ec.verify(a,b,this)},d.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../../elliptic":42,"bn.js":40}],51:[function(a,b,c){"use strict";function d(a,b){return a instanceof d?a:void(this._importDER(a,b)||(l(a.r&&a.s,"Signature without r or s"),this.r=new i(a.r,16),this.s=new i(a.s,16),void 0===a.recoveryParam?this.recoveryParam=null:this.recoveryParam=a.recoveryParam))}function e(){this.place=0}function f(a,b){var c=a[b.place++];if(!(128&c))return c;for(var d=15&c,e=0,f=0,g=b.place;f<d;f++,g++)e<<=8,e|=a[g];return b.place=g,e}function g(a){for(var b=0,c=a.length-1;!a[b]&&!(128&a[b+1])&&b<c;)b++;return 0===b?a:a.slice(b)}function h(a,b){if(b<128)return void a.push(b);var c=1+(Math.log(b)/Math.LN2>>>3);for(a.push(128|c);--c;)a.push(b>>>(c<<3)&255);a.push(b)}var i=a("bn.js"),j=a("../../elliptic"),k=j.utils,l=k.assert;b.exports=d,d.prototype._importDER=function(a,b){a=k.toArray(a,b);var c=new e;if(48!==a[c.place++])return!1;var d=f(a,c);if(d+c.place!==a.length)return!1;if(2!==a[c.place++])return!1;var g=f(a,c),h=a.slice(c.place,g+c.place);if(c.place+=g,2!==a[c.place++])return!1;var j=f(a,c);if(a.length!==j+c.place)return!1;var l=a.slice(c.place,j+c.place);return 0===h[0]&&128&h[1]&&(h=h.slice(1)),0===l[0]&&128&l[1]&&(l=l.slice(1)),this.r=new i(h),this.s=new i(l),this.recoveryParam=null,!0},d.prototype.toDER=function(a){var b=this.r.toArray(),c=this.s.toArray();for(128&b[0]&&(b=[0].concat(b)),128&c[0]&&(c=[0].concat(c)),b=g(b),c=g(c);!(c[0]||128&c[1]);)c=c.slice(1);var d=[2];h(d,b.length),d=d.concat(b),d.push(2),h(d,c.length);var e=d.concat(c),f=[48];return h(f,e.length),f=f.concat(e),k.encode(f,a)}},{"../../elliptic":42,"bn.js":40}],52:[function(a,b,c){"use strict";function d(a){if(h("ed25519"===a,"only tested with ed25519 so far"),!(this instanceof d))return new d(a);var a=f.curves[a].curve;this.curve=a,this.g=a.g,this.g.precompute(a.n.bitLength()+1),this.pointClass=a.point().constructor,this.encodingLength=Math.ceil(a.n.bitLength()/8),this.hash=e.sha512}var e=a("hash.js"),f=a("../../elliptic"),g=f.utils,h=g.assert,i=g.parseBytes,j=a("./key"),k=a("./signature");b.exports=d,d.prototype.sign=function(a,b){a=i(a);var c=this.keyFromSecret(b),d=this.hashInt(c.messagePrefix(),a),e=this.g.mul(d),f=this.encodePoint(e),g=this.hashInt(f,c.pubBytes(),a).mul(c.priv()),h=d.add(g).umod(this.curve.n);return this.makeSignature({R:e,S:h,Rencoded:f})},d.prototype.verify=function(a,b,c){a=i(a),b=this.makeSignature(b);var d=this.keyFromPublic(c),e=this.hashInt(b.Rencoded(),d.pubBytes(),a),f=this.g.mul(b.S()),g=b.R().add(d.pub().mul(e));return g.eq(f)},d.prototype.hashInt=function(){for(var a=this.hash(),b=0;b<arguments.length;b++)a.update(arguments[b]);return g.intFromLE(a.digest()).umod(this.curve.n)},d.prototype.keyFromPublic=function(a){return j.fromPublic(this,a)},d.prototype.keyFromSecret=function(a){return j.fromSecret(this,a)},d.prototype.makeSignature=function(a){return a instanceof k?a:new k(this,a)},d.prototype.encodePoint=function(a){var b=a.getY().toArray("le",this.encodingLength);return b[this.encodingLength-1]|=a.getX().isOdd()?128:0,b},d.prototype.decodePoint=function(a){a=g.parseBytes(a);var b=a.length-1,c=a.slice(0,b).concat(a[b]&-129),d=0!==(128&a[b]),e=g.intFromLE(c);return this.curve.pointFromY(e,d)},d.prototype.encodeInt=function(a){return a.toArray("le",this.encodingLength)},d.prototype.decodeInt=function(a){return g.intFromLE(a)},d.prototype.isPoint=function(a){return a instanceof this.pointClass}},{"../../elliptic":42,"./key":53,"./signature":54,"hash.js":58}],53:[function(a,b,c){"use strict";function d(a,b){this.eddsa=a,this._secret=h(b.secret),a.isPoint(b.pub)?this._pub=b.pub:this._pubBytes=h(b.pub)}var e=a("../../elliptic"),f=e.utils,g=f.assert,h=f.parseBytes,i=f.cachedProperty;d.fromPublic=function(a,b){return b instanceof d?b:new d(a,{pub:b})},d.fromSecret=function(a,b){return b instanceof d?b:new d(a,{secret:b})},d.prototype.secret=function(){return this._secret},i(d,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),i(d,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),i(d,"privBytes",function(){var a=this.eddsa,b=this.hash(),c=a.encodingLength-1,d=b.slice(0,a.encodingLength);return d[0]&=248,d[c]&=127,d[c]|=64,d}),i(d,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),i(d,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),i(d,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),d.prototype.sign=function(a){return g(this._secret,"KeyPair can only verify"),this.eddsa.sign(a,this)},d.prototype.verify=function(a,b){return this.eddsa.verify(a,b,this)},d.prototype.getSecret=function(a){return g(this._secret,"KeyPair is public only"),f.encode(this.secret(),a)},d.prototype.getPublic=function(a){return f.encode(this.pubBytes(),a)},b.exports=d},{"../../elliptic":42}],54:[function(a,b,c){"use strict";function d(a,b){this.eddsa=a,"object"!=typeof b&&(b=j(b)),Array.isArray(b)&&(b={R:b.slice(0,a.encodingLength),S:b.slice(a.encodingLength)}),h(b.R&&b.S,"Signature without R or S"),a.isPoint(b.R)&&(this._R=b.R),b.S instanceof e&&(this._S=b.S),this._Rencoded=Array.isArray(b.R)?b.R:b.Rencoded,this._Sencoded=Array.isArray(b.S)?b.S:b.Sencoded}var e=a("bn.js"),f=a("../../elliptic"),g=f.utils,h=g.assert,i=g.cachedProperty,j=g.parseBytes;i(d,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),i(d,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),i(d,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),i(d,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),d.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},d.prototype.toHex=function(){return g.encode(this.toBytes(),"hex").toUpperCase()},b.exports=d},{"../../elliptic":42,"bn.js":40}],55:[function(a,b,c){b.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]
}}},{}],56:[function(a,b,c){"use strict";function d(a,b){for(var c=[],d=1<<b+1,e=a.clone();e.cmpn(1)>=0;){var f;if(e.isOdd()){var g=e.andln(d-1);f=g>(d>>1)-1?(d>>1)-g:g,e.isubn(f)}else f=0;c.push(f);for(var h=0!==e.cmpn(0)&&0===e.andln(d-1)?b+1:1,i=1;i<h;i++)c.push(0);e.iushrn(h)}return c}function e(a,b){var c=[[],[]];a=a.clone(),b=b.clone();for(var d=0,e=0;a.cmpn(-d)>0||b.cmpn(-e)>0;){var f=a.andln(3)+d&3,g=b.andln(3)+e&3;3===f&&(f=-1),3===g&&(g=-1);var h;if(0===(1&f))h=0;else{var i=a.andln(7)+d&7;h=3!==i&&5!==i||2!==g?f:-f}c[0].push(h);var j;if(0===(1&g))j=0;else{var i=b.andln(7)+e&7;j=3!==i&&5!==i||2!==f?g:-g}c[1].push(j),2*d===h+1&&(d=1-d),2*e===j+1&&(e=1-e),a.iushrn(1),b.iushrn(1)}return c}function f(a,b,c){var d="_"+b;a.prototype[b]=function(){return void 0!==this[d]?this[d]:this[d]=c.call(this)}}function g(a){return"string"==typeof a?i.toArray(a,"hex"):a}function h(a){return new j(a,"hex","le")}var i=c,j=a("bn.js"),k=a("minimalistic-assert"),l=a("minimalistic-crypto-utils");i.assert=k,i.toArray=l.toArray,i.zero2=l.zero2,i.toHex=l.toHex,i.encode=l.encode,i.getNAF=d,i.getJSF=e,i.cachedProperty=f,i.parseBytes=g,i.intFromLE=h},{"bn.js":40,"minimalistic-assert":65,"minimalistic-crypto-utils":66}],57:[function(a,b,c){function d(a){this.rand=a}var e;if(b.exports=function(a){return e||(e=new d(null)),e.generate(a)},b.exports.Rand=d,d.prototype.generate=function(a){return this._rand(a)},d.prototype._rand=function(a){if(this.rand.getBytes)return this.rand.getBytes(a);for(var b=new Uint8Array(a),c=0;c<b.length;c++)b[c]=this.rand.getByte();return b},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?d.prototype._rand=function(a){var b=new Uint8Array(a);return self.crypto.getRandomValues(b),b}:self.msCrypto&&self.msCrypto.getRandomValues?d.prototype._rand=function(a){var b=new Uint8Array(a);return self.msCrypto.getRandomValues(b),b}:"object"==typeof window&&(d.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var f=a("crypto");if("function"!=typeof f.randomBytes)throw new Error("Not supported");d.prototype._rand=function(a){return f.randomBytes(a)}}catch(g){}},{crypto:2}],58:[function(a,b,c){var d=c;d.utils=a("./hash/utils"),d.common=a("./hash/common"),d.sha=a("./hash/sha"),d.ripemd=a("./hash/ripemd"),d.hmac=a("./hash/hmac"),d.sha1=d.sha.sha1,d.sha256=d.sha.sha256,d.sha224=d.sha.sha224,d.sha384=d.sha.sha384,d.sha512=d.sha.sha512,d.ripemd160=d.ripemd.ripemd160},{"./hash/common":59,"./hash/hmac":60,"./hash/ripemd":61,"./hash/sha":62,"./hash/utils":63}],59:[function(a,b,c){function d(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var e=a("../hash"),f=e.utils,g=f.assert;c.BlockHash=d,d.prototype.update=function(a,b){if(a=f.toArray(a,b),this.pending?this.pending=this.pending.concat(a):this.pending=a,this.pendingTotal+=a.length,this.pending.length>=this._delta8){a=this.pending;var c=a.length%this._delta8;this.pending=a.slice(a.length-c,a.length),0===this.pending.length&&(this.pending=null),a=f.join32(a,0,a.length-c,this.endian);for(var d=0;d<a.length;d+=this._delta32)this._update(a,d,d+this._delta32)}return this},d.prototype.digest=function(a){return this.update(this._pad()),g(null===this.pending),this._digest(a)},d.prototype._pad=function(){var a=this.pendingTotal,b=this._delta8,c=b-(a+this.padLength)%b,d=new Array(c+this.padLength);d[0]=128;for(var e=1;e<c;e++)d[e]=0;if(a<<=3,"big"===this.endian){for(var f=8;f<this.padLength;f++)d[e++]=0;d[e++]=0,d[e++]=0,d[e++]=0,d[e++]=0,d[e++]=a>>>24&255,d[e++]=a>>>16&255,d[e++]=a>>>8&255,d[e++]=255&a}else{d[e++]=255&a,d[e++]=a>>>8&255,d[e++]=a>>>16&255,d[e++]=a>>>24&255,d[e++]=0,d[e++]=0,d[e++]=0,d[e++]=0;for(var f=8;f<this.padLength;f++)d[e++]=0}return d}},{"../hash":58}],60:[function(a,b,c){function d(a,b,c){return this instanceof d?(this.Hash=a,this.blockSize=a.blockSize/8,this.outSize=a.outSize/8,this.inner=null,this.outer=null,void this._init(f.toArray(b,c))):new d(a,b,c)}var e=a("../hash"),f=e.utils,g=f.assert;b.exports=d,d.prototype._init=function(a){a.length>this.blockSize&&(a=(new this.Hash).update(a).digest()),g(a.length<=this.blockSize);for(var b=a.length;b<this.blockSize;b++)a.push(0);for(var b=0;b<a.length;b++)a[b]^=54;this.inner=(new this.Hash).update(a);for(var b=0;b<a.length;b++)a[b]^=106;this.outer=(new this.Hash).update(a)},d.prototype.update=function(a,b){return this.inner.update(a,b),this},d.prototype.digest=function(a){return this.outer.update(this.inner.digest()),this.outer.digest(a)}},{"../hash":58}],61:[function(a,b,c){function d(){return this instanceof d?(n.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],void(this.endian="little")):new d}function e(a,b,c,d){return a<=15?b^c^d:a<=31?b&c|~b&d:a<=47?(b|~c)^d:a<=63?b&d|c&~d:b^(c|~d)}function f(a){return a<=15?0:a<=31?1518500249:a<=47?1859775393:a<=63?2400959708:2840853838}function g(a){return a<=15?1352829926:a<=31?1548603684:a<=47?1836072691:a<=63?2053994217:0}var h=a("../hash"),i=h.utils,j=i.rotl32,k=i.sum32,l=i.sum32_3,m=i.sum32_4,n=h.common.BlockHash;i.inherits(d,n),c.ripemd160=d,d.blockSize=512,d.outSize=160,d.hmacStrength=192,d.padLength=64,d.prototype._update=function(a,b){for(var c=this.h[0],d=this.h[1],h=this.h[2],i=this.h[3],n=this.h[4],s=c,t=d,u=h,v=i,w=n,x=0;x<80;x++){var y=k(j(m(c,e(x,d,h,i),a[o[x]+b],f(x)),q[x]),n);c=n,n=i,i=j(h,10),h=d,d=y,y=k(j(m(s,e(79-x,t,u,v),a[p[x]+b],g(x)),r[x]),w),s=w,w=v,v=j(u,10),u=t,t=y}y=l(this.h[1],h,v),this.h[1]=l(this.h[2],i,w),this.h[2]=l(this.h[3],n,s),this.h[3]=l(this.h[4],c,t),this.h[4]=l(this.h[0],d,u),this.h[0]=y},d.prototype._digest=function(a){return"hex"===a?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var o=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],p=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],q=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],r=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"../hash":58}],62:[function(a,b,c){function d(){return this instanceof d?(V.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=W,void(this.W=new Array(64))):new d}function e(){return this instanceof e?(d.call(this),void(this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])):new e}function f(){return this instanceof f?(V.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=X,void(this.W=new Array(160))):new f}function g(){return this instanceof g?(f.call(this),void(this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428])):new g}function h(){return this instanceof h?(V.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],void(this.W=new Array(80))):new h}function i(a,b,c){return a&b^~a&c}function j(a,b,c){return a&b^a&c^b&c}function k(a,b,c){return a^b^c}function l(a){return F(a,2)^F(a,13)^F(a,22)}function m(a){return F(a,6)^F(a,11)^F(a,25)}function n(a){return F(a,7)^F(a,18)^a>>>3}function o(a){return F(a,17)^F(a,19)^a>>>10}function p(a,b,c,d){return 0===a?i(b,c,d):1===a||3===a?k(b,c,d):2===a?j(b,c,d):void 0}function q(a,b,c,d,e,f){var g=a&c^~a&e;return g<0&&(g+=4294967296),g}function r(a,b,c,d,e,f){var g=b&d^~b&f;return g<0&&(g+=4294967296),g}function s(a,b,c,d,e,f){var g=a&c^a&e^c&e;return g<0&&(g+=4294967296),g}function t(a,b,c,d,e,f){var g=b&d^b&f^d&f;return g<0&&(g+=4294967296),g}function u(a,b){var c=K(a,b,28),d=K(b,a,2),e=K(b,a,7),f=c^d^e;return f<0&&(f+=4294967296),f}function v(a,b){var c=L(a,b,28),d=L(b,a,2),e=L(b,a,7),f=c^d^e;return f<0&&(f+=4294967296),f}function w(a,b){var c=K(a,b,14),d=K(a,b,18),e=K(b,a,9),f=c^d^e;return f<0&&(f+=4294967296),f}function x(a,b){var c=L(a,b,14),d=L(a,b,18),e=L(b,a,9),f=c^d^e;return f<0&&(f+=4294967296),f}function y(a,b){var c=K(a,b,1),d=K(a,b,8),e=M(a,b,7),f=c^d^e;return f<0&&(f+=4294967296),f}function z(a,b){var c=L(a,b,1),d=L(a,b,8),e=N(a,b,7),f=c^d^e;return f<0&&(f+=4294967296),f}function A(a,b){var c=K(a,b,19),d=K(b,a,29),e=M(a,b,6),f=c^d^e;return f<0&&(f+=4294967296),f}function B(a,b){var c=L(a,b,19),d=L(b,a,29),e=N(a,b,6),f=c^d^e;return f<0&&(f+=4294967296),f}var C=a("../hash"),D=C.utils,E=D.assert,F=D.rotr32,G=D.rotl32,H=D.sum32,I=D.sum32_4,J=D.sum32_5,K=D.rotr64_hi,L=D.rotr64_lo,M=D.shr64_hi,N=D.shr64_lo,O=D.sum64,P=D.sum64_hi,Q=D.sum64_lo,R=D.sum64_4_hi,S=D.sum64_4_lo,T=D.sum64_5_hi,U=D.sum64_5_lo,V=C.common.BlockHash,W=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],X=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Y=[1518500249,1859775393,2400959708,3395469782];D.inherits(d,V),c.sha256=d,d.blockSize=512,d.outSize=256,d.hmacStrength=192,d.padLength=64,d.prototype._update=function(a,b){for(var c=this.W,d=0;d<16;d++)c[d]=a[b+d];for(;d<c.length;d++)c[d]=I(o(c[d-2]),c[d-7],n(c[d-15]),c[d-16]);var e=this.h[0],f=this.h[1],g=this.h[2],h=this.h[3],k=this.h[4],p=this.h[5],q=this.h[6],r=this.h[7];E(this.k.length===c.length);for(var d=0;d<c.length;d++){var s=J(r,m(k),i(k,p,q),this.k[d],c[d]),t=H(l(e),j(e,f,g));r=q,q=p,p=k,k=H(h,s),h=g,g=f,f=e,e=H(s,t)}this.h[0]=H(this.h[0],e),this.h[1]=H(this.h[1],f),this.h[2]=H(this.h[2],g),this.h[3]=H(this.h[3],h),this.h[4]=H(this.h[4],k),this.h[5]=H(this.h[5],p),this.h[6]=H(this.h[6],q),this.h[7]=H(this.h[7],r)},d.prototype._digest=function(a){return"hex"===a?D.toHex32(this.h,"big"):D.split32(this.h,"big")},D.inherits(e,d),c.sha224=e,e.blockSize=512,e.outSize=224,e.hmacStrength=192,e.padLength=64,e.prototype._digest=function(a){return"hex"===a?D.toHex32(this.h.slice(0,7),"big"):D.split32(this.h.slice(0,7),"big")},D.inherits(f,V),c.sha512=f,f.blockSize=1024,f.outSize=512,f.hmacStrength=192,f.padLength=128,f.prototype._prepareBlock=function(a,b){for(var c=this.W,d=0;d<32;d++)c[d]=a[b+d];for(;d<c.length;d+=2){var e=A(c[d-4],c[d-3]),f=B(c[d-4],c[d-3]),g=c[d-14],h=c[d-13],i=y(c[d-30],c[d-29]),j=z(c[d-30],c[d-29]),k=c[d-32],l=c[d-31];c[d]=R(e,f,g,h,i,j,k,l),c[d+1]=S(e,f,g,h,i,j,k,l)}},f.prototype._update=function(a,b){this._prepareBlock(a,b);var c=this.W,d=this.h[0],e=this.h[1],f=this.h[2],g=this.h[3],h=this.h[4],i=this.h[5],j=this.h[6],k=this.h[7],l=this.h[8],m=this.h[9],n=this.h[10],o=this.h[11],p=this.h[12],y=this.h[13],z=this.h[14],A=this.h[15];E(this.k.length===c.length);for(var B=0;B<c.length;B+=2){var C=z,D=A,F=w(l,m),G=x(l,m),H=q(l,m,n,o,p,y),I=r(l,m,n,o,p,y),J=this.k[B],K=this.k[B+1],L=c[B],M=c[B+1],N=T(C,D,F,G,H,I,J,K,L,M),R=U(C,D,F,G,H,I,J,K,L,M),C=u(d,e),D=v(d,e),F=s(d,e,f,g,h,i),G=t(d,e,f,g,h,i),S=P(C,D,F,G),V=Q(C,D,F,G);z=p,A=y,p=n,y=o,n=l,o=m,l=P(j,k,N,R),m=Q(k,k,N,R),j=h,k=i,h=f,i=g,f=d,g=e,d=P(N,R,S,V),e=Q(N,R,S,V)}O(this.h,0,d,e),O(this.h,2,f,g),O(this.h,4,h,i),O(this.h,6,j,k),O(this.h,8,l,m),O(this.h,10,n,o),O(this.h,12,p,y),O(this.h,14,z,A)},f.prototype._digest=function(a){return"hex"===a?D.toHex32(this.h,"big"):D.split32(this.h,"big")},D.inherits(g,f),c.sha384=g,g.blockSize=1024,g.outSize=384,g.hmacStrength=192,g.padLength=128,g.prototype._digest=function(a){return"hex"===a?D.toHex32(this.h.slice(0,12),"big"):D.split32(this.h.slice(0,12),"big")},D.inherits(h,V),c.sha1=h,h.blockSize=512,h.outSize=160,h.hmacStrength=80,h.padLength=64,h.prototype._update=function(a,b){for(var c=this.W,d=0;d<16;d++)c[d]=a[b+d];for(;d<c.length;d++)c[d]=G(c[d-3]^c[d-8]^c[d-14]^c[d-16],1);for(var e=this.h[0],f=this.h[1],g=this.h[2],h=this.h[3],i=this.h[4],d=0;d<c.length;d++){var j=~~(d/20),k=J(G(e,5),p(j,f,g,h),i,c[d],Y[j]);i=h,h=g,g=G(f,30),f=e,e=k}this.h[0]=H(this.h[0],e),this.h[1]=H(this.h[1],f),this.h[2]=H(this.h[2],g),this.h[3]=H(this.h[3],h),this.h[4]=H(this.h[4],i)},h.prototype._digest=function(a){return"hex"===a?D.toHex32(this.h,"big"):D.split32(this.h,"big")}},{"../hash":58}],63:[function(a,b,c){function d(a,b){if(Array.isArray(a))return a.slice();if(!a)return[];var c=[];if("string"==typeof a)if(b){if("hex"===b){a=a.replace(/[^a-z0-9]+/gi,""),a.length%2!==0&&(a="0"+a);for(var d=0;d<a.length;d+=2)c.push(parseInt(a[d]+a[d+1],16))}}else for(var d=0;d<a.length;d++){var e=a.charCodeAt(d),f=e>>8,g=255&e;f?c.push(f,g):c.push(g)}else for(var d=0;d<a.length;d++)c[d]=0|a[d];return c}function e(a){for(var b="",c=0;c<a.length;c++)b+=h(a[c].toString(16));return b}function f(a){var b=a>>>24|a>>>8&65280|a<<8&16711680|(255&a)<<24;return b>>>0}function g(a,b){for(var c="",d=0;d<a.length;d++){var e=a[d];"little"===b&&(e=f(e)),c+=i(e.toString(16))}return c}function h(a){return 1===a.length?"0"+a:a}function i(a){return 7===a.length?"0"+a:6===a.length?"00"+a:5===a.length?"000"+a:4===a.length?"0000"+a:3===a.length?"00000"+a:2===a.length?"000000"+a:1===a.length?"0000000"+a:a}function j(a,b,c,d){var e=c-b;r(e%4===0);for(var f=new Array(e/4),g=0,h=b;g<f.length;g++,h+=4){var i;i="big"===d?a[h]<<24|a[h+1]<<16|a[h+2]<<8|a[h+3]:a[h+3]<<24|a[h+2]<<16|a[h+1]<<8|a[h],f[g]=i>>>0}return f}function k(a,b){for(var c=new Array(4*a.length),d=0,e=0;d<a.length;d++,e+=4){var f=a[d];"big"===b?(c[e]=f>>>24,c[e+1]=f>>>16&255,c[e+2]=f>>>8&255,c[e+3]=255&f):(c[e+3]=f>>>24,c[e+2]=f>>>16&255,c[e+1]=f>>>8&255,c[e]=255&f)}return c}function l(a,b){return a>>>b|a<<32-b}function m(a,b){return a<<b|a>>>32-b}function n(a,b){return a+b>>>0}function o(a,b,c){return a+b+c>>>0}function p(a,b,c,d){return a+b+c+d>>>0}function q(a,b,c,d,e){return a+b+c+d+e>>>0}function r(a,b){if(!a)throw new Error(b||"Assertion failed")}function s(a,b,c,d){var e=a[b],f=a[b+1],g=d+f>>>0,h=(g<d?1:0)+c+e;a[b]=h>>>0,a[b+1]=g}function t(a,b,c,d){var e=b+d>>>0,f=(e<b?1:0)+a+c;return f>>>0}function u(a,b,c,d){var e=b+d;return e>>>0}function v(a,b,c,d,e,f,g,h){var i=0,j=b;j=j+d>>>0,i+=j<b?1:0,j=j+f>>>0,i+=j<f?1:0,j=j+h>>>0,i+=j<h?1:0;var k=a+c+e+g+i;return k>>>0}function w(a,b,c,d,e,f,g,h){var i=b+d+f+h;return i>>>0}function x(a,b,c,d,e,f,g,h,i,j){var k=0,l=b;l=l+d>>>0,k+=l<b?1:0,l=l+f>>>0,k+=l<f?1:0,l=l+h>>>0,k+=l<h?1:0,l=l+j>>>0,k+=l<j?1:0;var m=a+c+e+g+i+k;return m>>>0}function y(a,b,c,d,e,f,g,h,i,j){var k=b+d+f+h+j;return k>>>0}function z(a,b,c){var d=b<<32-c|a>>>c;return d>>>0}function A(a,b,c){var d=a<<32-c|b>>>c;return d>>>0}function B(a,b,c){return a>>>c}function C(a,b,c){var d=a<<32-c|b>>>c;return d>>>0}var D=c,E=a("inherits");D.toArray=d,D.toHex=e,D.htonl=f,D.toHex32=g,D.zero2=h,D.zero8=i,D.join32=j,D.split32=k,D.rotr32=l,D.rotl32=m,D.sum32=n,D.sum32_3=o,D.sum32_4=p,D.sum32_5=q,D.assert=r,D.inherits=E,c.sum64=s,c.sum64_hi=t,c.sum64_lo=u,c.sum64_4_hi=v,c.sum64_4_lo=w,c.sum64_5_hi=x,c.sum64_5_lo=y,c.rotr64_hi=z,c.rotr64_lo=A,c.shr64_hi=B,c.shr64_lo=C},{inherits:207}],64:[function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);this.hash=a.hash,this.predResist=!!a.predResist,this.outLen=this.hash.outSize,this.minEntropy=a.minEntropy||this.hash.hmacStrength,this.reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var b=f.toArray(a.entropy,a.entropyEnc||"hex"),c=f.toArray(a.nonce,a.nonceEnc||"hex"),e=f.toArray(a.pers,a.persEnc||"hex");g(b.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(b,c,e)}var e=a("hash.js"),f=a("minimalistic-crypto-utils"),g=a("minimalistic-assert");b.exports=d,d.prototype._init=function(a,b,c){var d=a.concat(b).concat(c);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var e=0;e<this.V.length;e++)this.K[e]=0,this.V[e]=1;this._update(d),this.reseed=1,this.reseedInterval=281474976710656},d.prototype._hmac=function(){return new e.hmac(this.hash,this.K)},d.prototype._update=function(a){var b=this._hmac().update(this.V).update([0]);a&&(b=b.update(a)),this.K=b.digest(),this.V=this._hmac().update(this.V).digest(),a&&(this.K=this._hmac().update(this.V).update([1]).update(a).digest(),this.V=this._hmac().update(this.V).digest())},d.prototype.reseed=function(a,b,c,d){"string"!=typeof b&&(d=c,c=b,b=null),a=f.toArray(a,b),c=f.toArray(c,d),g(a.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(a.concat(c||[])),this.reseed=1},d.prototype.generate=function(a,b,c,d){if(this.reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof b&&(d=c,c=b,b=null),c&&(c=f.toArray(c,d||"hex"),this._update(c));for(var e=[];e.length<a;)this.V=this._hmac().update(this.V).digest(),e=e.concat(this.V);var g=e.slice(0,a);return this._update(c),this.reseed++,f.encode(g,b)}},{"hash.js":58,"minimalistic-assert":65,"minimalistic-crypto-utils":66}],65:[function(a,b,c){arguments[4][35][0].apply(c,arguments)},{dup:35}],66:[function(a,b,c){"use strict";function d(a,b){if(Array.isArray(a))return a.slice();if(!a)return[];var c=[];if("string"!=typeof a){for(var d=0;d<a.length;d++)c[d]=0|a[d];return c}if("hex"===b){a=a.replace(/[^a-z0-9]+/gi,""),a.length%2!==0&&(a="0"+a);for(var d=0;d<a.length;d+=2)c.push(parseInt(a[d]+a[d+1],16))}else for(var d=0;d<a.length;d++){var e=a.charCodeAt(d),f=e>>8,g=255&e;f?c.push(f,g):c.push(g)}return c}function e(a){return 1===a.length?"0"+a:a}function f(a){for(var b="",c=0;c<a.length;c++)b+=e(a[c].toString(16));return b}var g=c;g.toArray=d,g.zero2=e,g.toHex=f,g.encode=function(a,b){return"hex"===b?f(a):a}},{}],67:[function(a,b,c){b.exports={name:"elliptic",version:"6.4.0",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},keywords:["EC","Elliptic","curve","Cryptography"],author:{name:"Fedor Indutny",email:"fedor@indutny.com"},license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},gitHead:"6b0d2b76caae91471649c8e21f0b1d3ba0f96090",_id:"elliptic@6.4.0",_shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",_from:"elliptic@>=6.0.0 <7.0.0",_npmVersion:"3.10.8",_nodeVersion:"7.0.0",_npmUser:{name:"indutny",email:"fedor@indutny.com"},dist:{shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",tarball:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"},maintainers:[{name:"indutny",email:"fedor@indutny.com"}],_npmOperationalInternal:{host:"packages-18-east.internal.npmjs.com",tmp:"tmp/elliptic-6.4.0.tgz_1487798866428_0.30510620190761983"},directories:{},_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",readme:"ERROR: No README data found!"}},{}],68:[function(a,b,c){b.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},{}],69:[function(a,b,c){"use strict";var d=a("asn1.js");c.certificate=a("./certificate");var e=d.define("RSAPrivateKey",function(){this.seq().obj(this.key("version")["int"](),this.key("modulus")["int"](),this.key("publicExponent")["int"](),this.key("privateExponent")["int"](),this.key("prime1")["int"](),this.key("prime2")["int"](),this.key("exponent1")["int"](),this.key("exponent2")["int"](),this.key("coefficient")["int"]())});c.RSAPrivateKey=e;var f=d.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus")["int"](),this.key("publicExponent")["int"]())});c.RSAPublicKey=f;var g=d.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(h),this.key("subjectPublicKey").bitstr())});c.PublicKey=g;var h=d.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p")["int"](),this.key("q")["int"](),this.key("g")["int"]()).optional())}),i=d.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version")["int"](),this.key("algorithm").use(h),this.key("subjectPrivateKey").octstr())});c.PrivateKey=i;var j=d.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters")["int"]())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});c.EncryptedPrivateKey=j;var k=d.define("DSAPrivateKey",function(){this.seq().obj(this.key("version")["int"](),this.key("p")["int"](),this.key("q")["int"](),this.key("g")["int"](),this.key("pub_key")["int"](),this.key("priv_key")["int"]())});c.DSAPrivateKey=k,c.DSAparam=d.define("DSAparam",function(){this["int"]()});var l=d.define("ECPrivateKey",function(){this.seq().obj(this.key("version")["int"](),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(m),this.key("publicKey").optional().explicit(1).bitstr())});c.ECPrivateKey=l;var m=d.define("ECParameters",function(){this.choice({namedCurve:this.objid()})});c.signature=d.define("signature",function(){this.seq().obj(this.key("r")["int"](),this.key("s")["int"]())})},{"./certificate":70,"asn1.js":73}],70:[function(a,b,c){"use strict";var d=a("asn1.js"),e=d.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),f=d.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),g=d.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional())}),h=d.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(g),this.key("subjectPublicKey").bitstr())}),i=d.define("RelativeDistinguishedName",function(){this.setof(f)}),j=d.define("RDNSequence",function(){this.seqof(i)}),k=d.define("Name",function(){this.choice({rdnSequence:this.use(j)})}),l=d.define("Validity",function(){this.seq().obj(this.key("notBefore").use(e),this.key("notAfter").use(e))}),m=d.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),n=d.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0)["int"](),this.key("serialNumber")["int"](),this.key("signature").use(g),this.key("issuer").use(k),this.key("validity").use(l),this.key("subject").use(k),this.key("subjectPublicKeyInfo").use(h),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(m).optional())}),o=d.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(n),this.key("signatureAlgorithm").use(g),this.key("signatureValue").bitstr())});b.exports=o},{"asn1.js":73}],71:[function(a,b,c){(function(c){var d=/Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m,e=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n/m,f=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?-----END \1-----$/m,g=a("evp_bytestokey"),h=a("browserify-aes");b.exports=function(a,b){var i,j=a.toString(),k=j.match(d);if(k){var l="aes"+k[1],m=new c(k[2],"hex"),n=new c(k[3].replace(/\r?\n/g,""),"base64"),o=g(b,m.slice(0,8),parseInt(k[1],10)).key,p=[],q=h.createDecipheriv(l,o,m);p.push(q.update(n)),p.push(q["final"]()),i=c.concat(p)}else{var r=j.match(f);i=new c(r[2].replace(/\r?\n/g,""),"base64")}var s=j.match(e)[1];return{tag:s,data:i}}}).call(this,a("buffer").Buffer)},{"browserify-aes":90,buffer:3,evp_bytestokey:105}],72:[function(a,b,c){(function(c){function d(a){var b;"object"!=typeof a||c.isBuffer(a)||(b=a.passphrase,a=a.key),"string"==typeof a&&(a=new c(a));var d,g,i=h(a,b),j=i.tag,k=i.data;switch(j){case"CERTIFICATE":g=f.certificate.decode(k,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(g||(g=f.PublicKey.decode(k,"der")),d=g.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return f.RSAPublicKey.decode(g.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return g.subjectPrivateKey=g.subjectPublicKey,{type:"ec",data:g};case"1.2.840.10040.4.1":return g.algorithm.params.pub_key=f.DSAparam.decode(g.subjectPublicKey.data,"der"),{type:"dsa",data:g.algorithm.params};default:throw new Error("unknown key id "+d)}throw new Error("unknown key type "+j);case"ENCRYPTED PRIVATE KEY":k=f.EncryptedPrivateKey.decode(k,"der"),k=e(k,b);case"PRIVATE KEY":switch(g=f.PrivateKey.decode(k,"der"),d=g.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return f.RSAPrivateKey.decode(g.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:g.algorithm.curve,privateKey:f.ECPrivateKey.decode(g.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return g.algorithm.params.priv_key=f.DSAparam.decode(g.subjectPrivateKey,"der"),{type:"dsa",params:g.algorithm.params};default:throw new Error("unknown key id "+d)}throw new Error("unknown key type "+j);case"RSA PUBLIC KEY":return f.RSAPublicKey.decode(k,"der");case"RSA PRIVATE KEY":return f.RSAPrivateKey.decode(k,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:f.DSAPrivateKey.decode(k,"der")};case"EC PRIVATE KEY":return k=f.ECPrivateKey.decode(k,"der"),{curve:k.parameters.value,privateKey:k.privateKey};default:throw new Error("unknown key type "+j)}}function e(a,b){var d=a.algorithm.decrypt.kde.kdeparams.salt,e=parseInt(a.algorithm.decrypt.kde.kdeparams.iters.toString(),10),f=g[a.algorithm.decrypt.cipher.algo.join(".")],h=a.algorithm.decrypt.cipher.iv,k=a.subjectPrivateKey,l=parseInt(f.split("-")[1],10)/8,m=j.pbkdf2Sync(b,d,e,l),n=i.createDecipheriv(f,m,h),o=[];return o.push(n.update(k)),o.push(n["final"]()),c.concat(o)}var f=a("./asn1"),g=a("./aesid.json"),h=a("./fixProc"),i=a("browserify-aes"),j=a("pbkdf2");b.exports=d,d.signature=f.signature}).call(this,a("buffer").Buffer)},{"./aesid.json":68,"./asn1":69,"./fixProc":71,"browserify-aes":90,buffer:3,pbkdf2:157}],73:[function(a,b,c){var d=c;d.bignum=a("bn.js"),d.define=a("./asn1/api").define,d.base=a("./asn1/base"),d.constants=a("./asn1/constants"),d.decoders=a("./asn1/decoders"),d.encoders=a("./asn1/encoders")},{"./asn1/api":74,"./asn1/base":76,"./asn1/constants":80,"./asn1/decoders":82,"./asn1/encoders":85,"bn.js":40}],74:[function(a,b,c){function d(a,b){this.name=a,this.body=b,this.decoders={},this.encoders={}}var e=a("../asn1"),f=a("inherits"),g=c;g.define=function(a,b){return new d(a,b)},d.prototype._createNamed=function(b){var c;try{c=a("vm").runInThisContext("(function "+this.name+"(entity) {\n  this._initNamed(entity);\n})")}catch(d){c=function(a){this._initNamed(a)}}return f(c,b),c.prototype._initNamed=function(a){b.call(this,a)},new c(this)},d.prototype._getDecoder=function(a){return a=a||"der",this.decoders.hasOwnProperty(a)||(this.decoders[a]=this._createNamed(e.decoders[a])),this.decoders[a]},d.prototype.decode=function(a,b,c){return this._getDecoder(b).decode(a,c)},d.prototype._getEncoder=function(a){return a=a||"der",this.encoders.hasOwnProperty(a)||(this.encoders[a]=this._createNamed(e.encoders[a])),this.encoders[a]},d.prototype.encode=function(a,b,c){return this._getEncoder(b).encode(a,c)}},{"../asn1":73,inherits:207,vm:228}],75:[function(a,b,c){function d(a,b){return g.call(this,b),h.isBuffer(a)?(this.base=a,this.offset=0,void(this.length=a.length)):void this.error("Input not Buffer")}function e(a,b){if(Array.isArray(a))this.length=0,this.value=a.map(function(a){return a instanceof e||(a=new e(a,b)),this.length+=a.length,a},this);else if("number"==typeof a){if(!(0<=a&&a<=255))return b.error("non-byte EncoderBuffer value");this.value=a,this.length=1}else if("string"==typeof a)this.value=a,this.length=h.byteLength(a);else{if(!h.isBuffer(a))return b.error("Unsupported type: "+typeof a);this.value=a,this.length=a.length}}var f=a("inherits"),g=a("../base").Reporter,h=a("buffer").Buffer;f(d,g),c.DecoderBuffer=d,d.prototype.save=function(){return{offset:this.offset,reporter:g.prototype.save.call(this)}},d.prototype.restore=function(a){
var b=new d(this.base);return b.offset=a.offset,b.length=this.offset,this.offset=a.offset,g.prototype.restore.call(this,a.reporter),b},d.prototype.isEmpty=function(){return this.offset===this.length},d.prototype.readUInt8=function(a){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(a||"DecoderBuffer overrun")},d.prototype.skip=function(a,b){if(!(this.offset+a<=this.length))return this.error(b||"DecoderBuffer overrun");var c=new d(this.base);return c._reporterState=this._reporterState,c.offset=this.offset,c.length=this.offset+a,this.offset+=a,c},d.prototype.raw=function(a){return this.base.slice(a?a.offset:this.offset,this.length)},c.EncoderBuffer=e,e.prototype.join=function(a,b){return a||(a=new h(this.length)),b||(b=0),0===this.length?a:(Array.isArray(this.value)?this.value.forEach(function(c){c.join(a,b),b+=c.length}):("number"==typeof this.value?a[b]=this.value:"string"==typeof this.value?a.write(this.value,b):h.isBuffer(this.value)&&this.value.copy(a,b),b+=this.length),a)}},{"../base":76,buffer:3,inherits:207}],76:[function(a,b,c){var d=c;d.Reporter=a("./reporter").Reporter,d.DecoderBuffer=a("./buffer").DecoderBuffer,d.EncoderBuffer=a("./buffer").EncoderBuffer,d.Node=a("./node")},{"./buffer":75,"./node":77,"./reporter":78}],77:[function(a,b,c){function d(a,b){var c={};this._baseState=c,c.enc=a,c.parent=b||null,c.children=null,c.tag=null,c.args=null,c.reverseArgs=null,c.choice=null,c.optional=!1,c.any=!1,c.obj=!1,c.use=null,c.useDecoder=null,c.key=null,c["default"]=null,c.explicit=null,c.implicit=null,c.contains=null,c.parent||(c.children=[],this._wrap())}var e=a("../base").Reporter,f=a("../base").EncoderBuffer,g=a("../base").DecoderBuffer,h=a("minimalistic-assert"),i=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],j=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(i),k=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];b.exports=d;var l=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];d.prototype.clone=function(){var a=this._baseState,b={};l.forEach(function(c){b[c]=a[c]});var c=new this.constructor(b.parent);return c._baseState=b,c},d.prototype._wrap=function(){var a=this._baseState;j.forEach(function(b){this[b]=function(){var c=new this.constructor(this);return a.children.push(c),c[b].apply(c,arguments)}},this)},d.prototype._init=function(a){var b=this._baseState;h(null===b.parent),a.call(this),b.children=b.children.filter(function(a){return a._baseState.parent===this},this),h.equal(b.children.length,1,"Root node can have only one child")},d.prototype._useArgs=function(a){var b=this._baseState,c=a.filter(function(a){return a instanceof this.constructor},this);a=a.filter(function(a){return!(a instanceof this.constructor)},this),0!==c.length&&(h(null===b.children),b.children=c,c.forEach(function(a){a._baseState.parent=this},this)),0!==a.length&&(h(null===b.args),b.args=a,b.reverseArgs=a.map(function(a){if("object"!=typeof a||a.constructor!==Object)return a;var b={};return Object.keys(a).forEach(function(c){c==(0|c)&&(c|=0);var d=a[c];b[d]=c}),b}))},k.forEach(function(a){d.prototype[a]=function(){var b=this._baseState;throw new Error(a+" not implemented for encoding: "+b.enc)}}),i.forEach(function(a){d.prototype[a]=function(){var b=this._baseState,c=Array.prototype.slice.call(arguments);return h(null===b.tag),b.tag=a,this._useArgs(c),this}}),d.prototype.use=function(a){h(a);var b=this._baseState;return h(null===b.use),b.use=a,this},d.prototype.optional=function(){var a=this._baseState;return a.optional=!0,this},d.prototype.def=function(a){var b=this._baseState;return h(null===b["default"]),b["default"]=a,b.optional=!0,this},d.prototype.explicit=function(a){var b=this._baseState;return h(null===b.explicit&&null===b.implicit),b.explicit=a,this},d.prototype.implicit=function(a){var b=this._baseState;return h(null===b.explicit&&null===b.implicit),b.implicit=a,this},d.prototype.obj=function(){var a=this._baseState,b=Array.prototype.slice.call(arguments);return a.obj=!0,0!==b.length&&this._useArgs(b),this},d.prototype.key=function(a){var b=this._baseState;return h(null===b.key),b.key=a,this},d.prototype.any=function(){var a=this._baseState;return a.any=!0,this},d.prototype.choice=function(a){var b=this._baseState;return h(null===b.choice),b.choice=a,this._useArgs(Object.keys(a).map(function(b){return a[b]})),this},d.prototype.contains=function(a){var b=this._baseState;return h(null===b.use),b.contains=a,this},d.prototype._decode=function(a,b){var c=this._baseState;if(null===c.parent)return a.wrapResult(c.children[0]._decode(a,b));var d=c["default"],e=!0,f=null;if(null!==c.key&&(f=a.enterKey(c.key)),c.optional){var h=null;if(null!==c.explicit?h=c.explicit:null!==c.implicit?h=c.implicit:null!==c.tag&&(h=c.tag),null!==h||c.any){if(e=this._peekTag(a,h,c.any),a.isError(e))return e}else{var i=a.save();try{null===c.choice?this._decodeGeneric(c.tag,a,b):this._decodeChoice(a,b),e=!0}catch(j){e=!1}a.restore(i)}}var k;if(c.obj&&e&&(k=a.enterObject()),e){if(null!==c.explicit){var l=this._decodeTag(a,c.explicit);if(a.isError(l))return l;a=l}var m=a.offset;if(null===c.use&&null===c.choice){if(c.any)var i=a.save();var n=this._decodeTag(a,null!==c.implicit?c.implicit:c.tag,c.any);if(a.isError(n))return n;c.any?d=a.raw(i):a=n}if(b&&b.track&&null!==c.tag&&b.track(a.path(),m,a.length,"tagged"),b&&b.track&&null!==c.tag&&b.track(a.path(),a.offset,a.length,"content"),d=c.any?d:null===c.choice?this._decodeGeneric(c.tag,a,b):this._decodeChoice(a,b),a.isError(d))return d;if(c.any||null!==c.choice||null===c.children||c.children.forEach(function(c){c._decode(a,b)}),c.contains&&("octstr"===c.tag||"bitstr"===c.tag)){var o=new g(d);d=this._getUse(c.contains,a._reporterState.obj)._decode(o,b)}}return c.obj&&e&&(d=a.leaveObject(k)),null===c.key||null===d&&e!==!0?null!==f&&a.exitKey(f):a.leaveKey(f,c.key,d),d},d.prototype._decodeGeneric=function(a,b,c){var d=this._baseState;return"seq"===a||"set"===a?null:"seqof"===a||"setof"===a?this._decodeList(b,a,d.args[0],c):/str$/.test(a)?this._decodeStr(b,a,c):"objid"===a&&d.args?this._decodeObjid(b,d.args[0],d.args[1],c):"objid"===a?this._decodeObjid(b,null,null,c):"gentime"===a||"utctime"===a?this._decodeTime(b,a,c):"null_"===a?this._decodeNull(b,c):"bool"===a?this._decodeBool(b,c):"objDesc"===a?this._decodeStr(b,a,c):"int"===a||"enum"===a?this._decodeInt(b,d.args&&d.args[0],c):null!==d.use?this._getUse(d.use,b._reporterState.obj)._decode(b,c):b.error("unknown tag: "+a)},d.prototype._getUse=function(a,b){var c=this._baseState;return c.useDecoder=this._use(a,b),h(null===c.useDecoder._baseState.parent),c.useDecoder=c.useDecoder._baseState.children[0],c.implicit!==c.useDecoder._baseState.implicit&&(c.useDecoder=c.useDecoder.clone(),c.useDecoder._baseState.implicit=c.implicit),c.useDecoder},d.prototype._decodeChoice=function(a,b){var c=this._baseState,d=null,e=!1;return Object.keys(c.choice).some(function(f){var g=a.save(),h=c.choice[f];try{var i=h._decode(a,b);if(a.isError(i))return!1;d={type:f,value:i},e=!0}catch(j){return a.restore(g),!1}return!0},this),e?d:a.error("Choice not matched")},d.prototype._createEncoderBuffer=function(a){return new f(a,this.reporter)},d.prototype._encode=function(a,b,c){var d=this._baseState;if(null===d["default"]||d["default"]!==a){var e=this._encodeValue(a,b,c);if(void 0!==e&&!this._skipDefault(e,b,c))return e}},d.prototype._encodeValue=function(a,b,c){var d=this._baseState;if(null===d.parent)return d.children[0]._encode(a,b||new e);var f=null;if(this.reporter=b,d.optional&&void 0===a){if(null===d["default"])return;a=d["default"]}var g=null,h=!1;if(d.any)f=this._createEncoderBuffer(a);else if(d.choice)f=this._encodeChoice(a,b);else if(d.contains)g=this._getUse(d.contains,c)._encode(a,b),h=!0;else if(d.children)g=d.children.map(function(c){if("null_"===c._baseState.tag)return c._encode(null,b,a);if(null===c._baseState.key)return b.error("Child should have a key");var d=b.enterKey(c._baseState.key);if("object"!=typeof a)return b.error("Child expected, but input is not object");var e=c._encode(a[c._baseState.key],b,a);return b.leaveKey(d),e},this).filter(function(a){return a}),g=this._createEncoderBuffer(g);else if("seqof"===d.tag||"setof"===d.tag){if(!d.args||1!==d.args.length)return b.error("Too many args for : "+d.tag);if(!Array.isArray(a))return b.error("seqof/setof, but data is not Array");var i=this.clone();i._baseState.implicit=null,g=this._createEncoderBuffer(a.map(function(c){var d=this._baseState;return this._getUse(d.args[0],a)._encode(c,b)},i))}else null!==d.use?f=this._getUse(d.use,c)._encode(a,b):(g=this._encodePrimitive(d.tag,a),h=!0);var f;if(!d.any&&null===d.choice){var j=null!==d.implicit?d.implicit:d.tag,k=null===d.implicit?"universal":"context";null===j?null===d.use&&b.error("Tag could be ommited only for .use()"):null===d.use&&(f=this._encodeComposite(j,h,k,g))}return null!==d.explicit&&(f=this._encodeComposite(d.explicit,!1,"context",f)),f},d.prototype._encodeChoice=function(a,b){var c=this._baseState,d=c.choice[a.type];return d||h(!1,a.type+" not found in "+JSON.stringify(Object.keys(c.choice))),d._encode(a.value,b)},d.prototype._encodePrimitive=function(a,b){var c=this._baseState;if(/str$/.test(a))return this._encodeStr(b,a);if("objid"===a&&c.args)return this._encodeObjid(b,c.reverseArgs[0],c.args[1]);if("objid"===a)return this._encodeObjid(b,null,null);if("gentime"===a||"utctime"===a)return this._encodeTime(b,a);if("null_"===a)return this._encodeNull();if("int"===a||"enum"===a)return this._encodeInt(b,c.args&&c.reverseArgs[0]);if("bool"===a)return this._encodeBool(b);if("objDesc"===a)return this._encodeStr(b,a);throw new Error("Unsupported tag: "+a)},d.prototype._isNumstr=function(a){return/^[0-9 ]*$/.test(a)},d.prototype._isPrintstr=function(a){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(a)}},{"../base":76,"minimalistic-assert":87}],78:[function(a,b,c){function d(a){this._reporterState={obj:null,path:[],options:a||{},errors:[]}}function e(a,b){this.path=a,this.rethrow(b)}var f=a("inherits");c.Reporter=d,d.prototype.isError=function(a){return a instanceof e},d.prototype.save=function(){var a=this._reporterState;return{obj:a.obj,pathLen:a.path.length}},d.prototype.restore=function(a){var b=this._reporterState;b.obj=a.obj,b.path=b.path.slice(0,a.pathLen)},d.prototype.enterKey=function(a){return this._reporterState.path.push(a)},d.prototype.exitKey=function(a){var b=this._reporterState;b.path=b.path.slice(0,a-1)},d.prototype.leaveKey=function(a,b,c){var d=this._reporterState;this.exitKey(a),null!==d.obj&&(d.obj[b]=c)},d.prototype.path=function(){return this._reporterState.path.join("/")},d.prototype.enterObject=function(){var a=this._reporterState,b=a.obj;return a.obj={},b},d.prototype.leaveObject=function(a){var b=this._reporterState,c=b.obj;return b.obj=a,c},d.prototype.error=function(a){var b,c=this._reporterState,d=a instanceof e;if(b=d?a:new e(c.path.map(function(a){return"["+JSON.stringify(a)+"]"}).join(""),a.message||a,a.stack),!c.options.partial)throw b;return d||c.errors.push(b),b},d.prototype.wrapResult=function(a){var b=this._reporterState;return b.options.partial?{result:this.isError(a)?null:a,errors:b.errors}:a},f(e,Error),e.prototype.rethrow=function(a){if(this.message=a+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,e),!this.stack)try{throw new Error(this.message)}catch(b){this.stack=b.stack}return this}},{inherits:207}],79:[function(a,b,c){var d=a("../constants");c.tagClass={0:"universal",1:"application",2:"context",3:"private"},c.tagClassByName=d._reverse(c.tagClass),c.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},c.tagByName=d._reverse(c.tag)},{"../constants":80}],80:[function(a,b,c){var d=c;d._reverse=function(a){var b={};return Object.keys(a).forEach(function(c){(0|c)==c&&(c=0|c);var d=a[c];b[d]=c}),b},d.der=a("./der")},{"./der":79}],81:[function(a,b,c){function d(a){this.enc="der",this.name=a.name,this.entity=a,this.tree=new e,this.tree._init(a.body)}function e(a){j.Node.call(this,"der",a)}function f(a,b){var c=a.readUInt8(b);if(a.isError(c))return c;var d=l.tagClass[c>>6],e=0===(32&c);if(31===(31&c)){var f=c;for(c=0;128===(128&f);){if(f=a.readUInt8(b),a.isError(f))return f;c<<=7,c|=127&f}}else c&=31;var g=l.tag[c];return{cls:d,primitive:e,tag:c,tagStr:g}}function g(a,b,c){var d=a.readUInt8(c);if(a.isError(d))return d;if(!b&&128===d)return null;if(0===(128&d))return d;var e=127&d;if(e>4)return a.error("length octect is too long");d=0;for(var f=0;f<e;f++){d<<=8;var g=a.readUInt8(c);if(a.isError(g))return g;d|=g}return d}var h=a("inherits"),i=a("../../asn1"),j=i.base,k=i.bignum,l=i.constants.der;b.exports=d,d.prototype.decode=function(a,b){return a instanceof j.DecoderBuffer||(a=new j.DecoderBuffer(a,b)),this.tree._decode(a,b)},h(e,j.Node),e.prototype._peekTag=function(a,b,c){if(a.isEmpty())return!1;var d=a.save(),e=f(a,'Failed to peek tag: "'+b+'"');return a.isError(e)?e:(a.restore(d),e.tag===b||e.tagStr===b||e.tagStr+"of"===b||c)},e.prototype._decodeTag=function(a,b,c){var d=f(a,'Failed to decode tag of "'+b+'"');if(a.isError(d))return d;var e=g(a,d.primitive,'Failed to get length of "'+b+'"');if(a.isError(e))return e;if(!c&&d.tag!==b&&d.tagStr!==b&&d.tagStr+"of"!==b)return a.error('Failed to match tag: "'+b+'"');if(d.primitive||null!==e)return a.skip(e,'Failed to match body of: "'+b+'"');var h=a.save(),i=this._skipUntilEnd(a,'Failed to skip indefinite length body: "'+this.tag+'"');return a.isError(i)?i:(e=a.offset-h.offset,a.restore(h),a.skip(e,'Failed to match body of: "'+b+'"'))},e.prototype._skipUntilEnd=function(a,b){for(;;){var c=f(a,b);if(a.isError(c))return c;var d=g(a,c.primitive,b);if(a.isError(d))return d;var e;if(e=c.primitive||null!==d?a.skip(d):this._skipUntilEnd(a,b),a.isError(e))return e;if("end"===c.tagStr)break}},e.prototype._decodeList=function(a,b,c,d){for(var e=[];!a.isEmpty();){var f=this._peekTag(a,"end");if(a.isError(f))return f;var g=c.decode(a,"der",d);if(a.isError(g)&&f)break;e.push(g)}return e},e.prototype._decodeStr=function(a,b){if("bitstr"===b){var c=a.readUInt8();return a.isError(c)?c:{unused:c,data:a.raw()}}if("bmpstr"===b){var d=a.raw();if(d.length%2===1)return a.error("Decoding of string type: bmpstr length mismatch");for(var e="",f=0;f<d.length/2;f++)e+=String.fromCharCode(d.readUInt16BE(2*f));return e}if("numstr"===b){var g=a.raw().toString("ascii");return this._isNumstr(g)?g:a.error("Decoding of string type: numstr unsupported characters")}if("octstr"===b)return a.raw();if("objDesc"===b)return a.raw();if("printstr"===b){var h=a.raw().toString("ascii");return this._isPrintstr(h)?h:a.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(b)?a.raw().toString():a.error("Decoding of string type: "+b+" unsupported")},e.prototype._decodeObjid=function(a,b,c){for(var d,e=[],f=0;!a.isEmpty();){var g=a.readUInt8();f<<=7,f|=127&g,0===(128&g)&&(e.push(f),f=0)}128&g&&e.push(f);var h=e[0]/40|0,i=e[0]%40;if(d=c?e:[h,i].concat(e.slice(1)),b){var j=b[d.join(" ")];void 0===j&&(j=b[d.join(".")]),void 0!==j&&(d=j)}return d},e.prototype._decodeTime=function(a,b){var c=a.raw().toString();if("gentime"===b)var d=0|c.slice(0,4),e=0|c.slice(4,6),f=0|c.slice(6,8),g=0|c.slice(8,10),h=0|c.slice(10,12),i=0|c.slice(12,14);else{if("utctime"!==b)return a.error("Decoding "+b+" time is not supported yet");var d=0|c.slice(0,2),e=0|c.slice(2,4),f=0|c.slice(4,6),g=0|c.slice(6,8),h=0|c.slice(8,10),i=0|c.slice(10,12);d=d<70?2e3+d:1900+d}return Date.UTC(d,e-1,f,g,h,i,0)},e.prototype._decodeNull=function(a){return null},e.prototype._decodeBool=function(a){var b=a.readUInt8();return a.isError(b)?b:0!==b},e.prototype._decodeInt=function(a,b){var c=a.raw(),d=new k(c);return b&&(d=b[d.toString(10)]||d),d},e.prototype._use=function(a,b){return"function"==typeof a&&(a=a(b)),a._getDecoder("der").tree}},{"../../asn1":73,inherits:207}],82:[function(a,b,c){var d=c;d.der=a("./der"),d.pem=a("./pem")},{"./der":81,"./pem":83}],83:[function(a,b,c){function d(a){g.call(this,a),this.enc="pem"}var e=a("inherits"),f=a("buffer").Buffer,g=a("./der");e(d,g),b.exports=d,d.prototype.decode=function(a,b){for(var c=a.toString().split(/[\r\n]+/g),d=b.label.toUpperCase(),e=/^-----(BEGIN|END) ([^-]+)-----$/,h=-1,i=-1,j=0;j<c.length;j++){var k=c[j].match(e);if(null!==k&&k[2]===d){if(h!==-1){if("END"!==k[1])break;i=j;break}if("BEGIN"!==k[1])break;h=j}}if(h===-1||i===-1)throw new Error("PEM section not found for: "+d);var l=c.slice(h+1,i).join("");l.replace(/[^a-z0-9\+\/=]+/gi,"");var m=new f(l,"base64");return g.prototype.decode.call(this,m,b)}},{"./der":81,buffer:3,inherits:207}],84:[function(a,b,c){function d(a){this.enc="der",this.name=a.name,this.entity=a,this.tree=new e,this.tree._init(a.body)}function e(a){k.Node.call(this,"der",a)}function f(a){return a<10?"0"+a:a}function g(a,b,c,d){var e;if("seqof"===a?a="seq":"setof"===a&&(a="set"),l.tagByName.hasOwnProperty(a))e=l.tagByName[a];else{if("number"!=typeof a||(0|a)!==a)return d.error("Unknown tag: "+a);e=a}return e>=31?d.error("Multi-octet tag encoding unsupported"):(b||(e|=32),e|=l.tagClassByName[c||"universal"]<<6)}var h=a("inherits"),i=a("buffer").Buffer,j=a("../../asn1"),k=j.base,l=j.constants.der;b.exports=d,d.prototype.encode=function(a,b){return this.tree._encode(a,b).join()},h(e,k.Node),e.prototype._encodeComposite=function(a,b,c,d){var e=g(a,b,c,this.reporter);if(d.length<128){var f=new i(2);return f[0]=e,f[1]=d.length,this._createEncoderBuffer([f,d])}for(var h=1,j=d.length;j>=256;j>>=8)h++;var f=new i(2+h);f[0]=e,f[1]=128|h;for(var j=1+h,k=d.length;k>0;j--,k>>=8)f[j]=255&k;return this._createEncoderBuffer([f,d])},e.prototype._encodeStr=function(a,b){if("bitstr"===b)return this._createEncoderBuffer([0|a.unused,a.data]);if("bmpstr"===b){for(var c=new i(2*a.length),d=0;d<a.length;d++)c.writeUInt16BE(a.charCodeAt(d),2*d);return this._createEncoderBuffer(c)}return"numstr"===b?this._isNumstr(a)?this._createEncoderBuffer(a):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===b?this._isPrintstr(a)?this._createEncoderBuffer(a):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(b)?this._createEncoderBuffer(a):"objDesc"===b?this._createEncoderBuffer(a):this.reporter.error("Encoding of string type: "+b+" unsupported")},e.prototype._encodeObjid=function(a,b,c){if("string"==typeof a){if(!b)return this.reporter.error("string objid given, but no values map found");if(!b.hasOwnProperty(a))return this.reporter.error("objid not found in values map");a=b[a].split(/[\s\.]+/g);for(var d=0;d<a.length;d++)a[d]|=0}else if(Array.isArray(a)){a=a.slice();for(var d=0;d<a.length;d++)a[d]|=0}if(!Array.isArray(a))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(a));if(!c){if(a[1]>=40)return this.reporter.error("Second objid identifier OOB");a.splice(0,2,40*a[0]+a[1])}for(var e=0,d=0;d<a.length;d++){var f=a[d];for(e++;f>=128;f>>=7)e++}for(var g=new i(e),h=g.length-1,d=a.length-1;d>=0;d--){var f=a[d];for(g[h--]=127&f;(f>>=7)>0;)g[h--]=128|127&f}return this._createEncoderBuffer(g)},e.prototype._encodeTime=function(a,b){var c,d=new Date(a);return"gentime"===b?c=[f(d.getFullYear()),f(d.getUTCMonth()+1),f(d.getUTCDate()),f(d.getUTCHours()),f(d.getUTCMinutes()),f(d.getUTCSeconds()),"Z"].join(""):"utctime"===b?c=[f(d.getFullYear()%100),f(d.getUTCMonth()+1),f(d.getUTCDate()),f(d.getUTCHours()),f(d.getUTCMinutes()),f(d.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+b+" time is not supported yet"),this._encodeStr(c,"octstr")},e.prototype._encodeNull=function(){return this._createEncoderBuffer("")},e.prototype._encodeInt=function(a,b){if("string"==typeof a){if(!b)return this.reporter.error("String int or enum given, but no values map");if(!b.hasOwnProperty(a))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(a));a=b[a]}if("number"!=typeof a&&!i.isBuffer(a)){var c=a.toArray();!a.sign&&128&c[0]&&c.unshift(0),a=new i(c)}if(i.isBuffer(a)){var d=a.length;0===a.length&&d++;var e=new i(d);return a.copy(e),0===a.length&&(e[0]=0),this._createEncoderBuffer(e)}if(a<128)return this._createEncoderBuffer(a);if(a<256)return this._createEncoderBuffer([0,a]);for(var d=1,f=a;f>=256;f>>=8)d++;for(var e=new Array(d),f=e.length-1;f>=0;f--)e[f]=255&a,a>>=8;return 128&e[0]&&e.unshift(0),this._createEncoderBuffer(new i(e))},e.prototype._encodeBool=function(a){return this._createEncoderBuffer(a?255:0)},e.prototype._use=function(a,b){return"function"==typeof a&&(a=a(b)),a._getEncoder("der").tree},e.prototype._skipDefault=function(a,b,c){var d,e=this._baseState;if(null===e["default"])return!1;var f=a.join();if(void 0===e.defaultBuffer&&(e.defaultBuffer=this._encodeValue(e["default"],b,c).join()),f.length!==e.defaultBuffer.length)return!1;for(d=0;d<f.length;d++)if(f[d]!==e.defaultBuffer[d])return!1;return!0}},{"../../asn1":73,buffer:3,inherits:207}],85:[function(a,b,c){var d=c;d.der=a("./der"),d.pem=a("./pem")},{"./der":84,"./pem":86}],86:[function(a,b,c){function d(a){f.call(this,a),this.enc="pem"}var e=a("inherits"),f=a("./der");e(d,f),b.exports=d,d.prototype.encode=function(a,b){for(var c=f.prototype.encode.call(this,a),d=c.toString("base64"),e=["-----BEGIN "+b.label+"-----"],g=0;g<d.length;g+=64)e.push(d.slice(g,g+64));return e.push("-----END "+b.label+"-----"),e.join("\n")}},{"./der":84,inherits:207}],87:[function(a,b,c){arguments[4][35][0].apply(c,arguments)},{dup:35}],88:[function(a,b,c){(function(a){function b(a){var b,c;return b=a>h||a<0?(c=Math.abs(a)%h,a<0?h-c:c):a}function d(a){for(var b=0;b<a.length;a++)a[b]=0;return!1}function e(){this.SBOX=[],this.INV_SBOX=[],this.SUB_MIX=[[],[],[],[]],this.INV_SUB_MIX=[[],[],[],[]],this.init(),this.RCON=[0,1,2,4,8,16,32,64,128,27,54]}function f(a){for(var b=a.length/4,c=new Array(b),d=-1;++d<b;)c[d]=a.readUInt32BE(4*d);return c}function g(a){this._key=f(a),this._doReset()}var h=Math.pow(2,32);e.prototype.init=function(){var a,b,c,d,e,f,g,h,i,j;for(a=function(){var a,c;for(c=[],b=a=0;a<256;b=++a)b<128?c.push(b<<1):c.push(b<<1^283);return c}(),e=0,i=0,b=j=0;j<256;b=++j)c=i^i<<1^i<<2^i<<3^i<<4,c=c>>>8^255&c^99,this.SBOX[e]=c,this.INV_SBOX[c]=e,f=a[e],g=a[f],h=a[g],d=257*a[c]^16843008*c,this.SUB_MIX[0][e]=d<<24|d>>>8,this.SUB_MIX[1][e]=d<<16|d>>>16,this.SUB_MIX[2][e]=d<<8|d>>>24,this.SUB_MIX[3][e]=d,d=16843009*h^65537*g^257*f^16843008*e,this.INV_SUB_MIX[0][c]=d<<24|d>>>8,this.INV_SUB_MIX[1][c]=d<<16|d>>>16,this.INV_SUB_MIX[2][c]=d<<8|d>>>24,this.INV_SUB_MIX[3][c]=d,0===e?e=i=1:(e=f^a[a[a[h^f]]],i^=a[a[i]]);return!0};var i=new e;g.blockSize=16,g.prototype.blockSize=g.blockSize,g.keySize=32,g.prototype.keySize=g.keySize,g.prototype._doReset=function(){var a,b,c,d,e,f;for(c=this._key,b=c.length,this._nRounds=b+6,e=4*(this._nRounds+1),this._keySchedule=[],d=0;d<e;d++)this._keySchedule[d]=d<b?c[d]:(f=this._keySchedule[d-1],d%b===0?(f=f<<8|f>>>24,f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f],f^=i.RCON[d/b|0]<<24):b>6&&d%b===4?f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f]:void 0,this._keySchedule[d-b]^f);for(this._invKeySchedule=[],a=0;a<e;a++)d=e-a,f=this._keySchedule[d-(a%4?0:4)],this._invKeySchedule[a]=a<4||d<=4?f:i.INV_SUB_MIX[0][i.SBOX[f>>>24]]^i.INV_SUB_MIX[1][i.SBOX[f>>>16&255]]^i.INV_SUB_MIX[2][i.SBOX[f>>>8&255]]^i.INV_SUB_MIX[3][i.SBOX[255&f]];return!0},g.prototype.encryptBlock=function(b){b=f(new a(b));var c=this._doCryptBlock(b,this._keySchedule,i.SUB_MIX,i.SBOX),d=new a(16);return d.writeUInt32BE(c[0],0),d.writeUInt32BE(c[1],4),d.writeUInt32BE(c[2],8),d.writeUInt32BE(c[3],12),d},g.prototype.decryptBlock=function(b){b=f(new a(b));var c=[b[3],b[1]];b[1]=c[0],b[3]=c[1];var d=this._doCryptBlock(b,this._invKeySchedule,i.INV_SUB_MIX,i.INV_SBOX),e=new a(16);return e.writeUInt32BE(d[0],0),e.writeUInt32BE(d[3],4),e.writeUInt32BE(d[2],8),e.writeUInt32BE(d[1],12),e},g.prototype.scrub=function(){d(this._keySchedule),d(this._invKeySchedule),d(this._key)},g.prototype._doCryptBlock=function(a,c,d,e){var f,g,h,i,j,k,l,m,n;g=a[0]^c[0],h=a[1]^c[1],i=a[2]^c[2],j=a[3]^c[3],f=4;for(var o=1;o<this._nRounds;o++)k=d[0][g>>>24]^d[1][h>>>16&255]^d[2][i>>>8&255]^d[3][255&j]^c[f++],l=d[0][h>>>24]^d[1][i>>>16&255]^d[2][j>>>8&255]^d[3][255&g]^c[f++],m=d[0][i>>>24]^d[1][j>>>16&255]^d[2][g>>>8&255]^d[3][255&h]^c[f++],n=d[0][j>>>24]^d[1][g>>>16&255]^d[2][h>>>8&255]^d[3][255&i]^c[f++],g=k,h=l,i=m,j=n;return k=(e[g>>>24]<<24|e[h>>>16&255]<<16|e[i>>>8&255]<<8|e[255&j])^c[f++],l=(e[h>>>24]<<24|e[i>>>16&255]<<16|e[j>>>8&255]<<8|e[255&g])^c[f++],m=(e[i>>>24]<<24|e[j>>>16&255]<<16|e[g>>>8&255]<<8|e[255&h])^c[f++],n=(e[j>>>24]<<24|e[g>>>16&255]<<16|e[h>>>8&255]<<8|e[255&i])^c[f++],[b(k),b(l),b(m),b(n)]},c.AES=g}).call(this,a("buffer").Buffer)},{buffer:3}],89:[function(a,b,c){(function(c){function d(a,b,e,h){if(!(this instanceof d))return new d(a,b,e);g.call(this),this._finID=c.concat([e,new c([0,0,0,1])]),e=c.concat([e,new c([0,0,0,2])]),this._cipher=new f.AES(b),this._prev=new c(e.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,this._alen=0,this._len=0,e.copy(this._prev),this._mode=a;var j=new c(4);j.fill(0),this._ghash=new i(this._cipher.encryptBlock(j)),this._authTag=null,this._called=!1}function e(a,b){var c=0;a.length!==b.length&&c++;for(var d=Math.min(a.length,b.length),e=-1;++e<d;)c+=a[e]^b[e];return c}var f=a("./aes"),g=a("cipher-base"),h=a("inherits"),i=a("./ghash"),j=a("buffer-xor");h(d,g),b.exports=d,d.prototype._update=function(a){if(!this._called&&this._alen){var b=16-this._alen%16;b<16&&(b=new c(b),b.fill(0),this._ghash.update(b))}this._called=!0;var d=this._mode.encrypt(this,a);return this._decrypt?this._ghash.update(a):this._ghash.update(d),this._len+=a.length,d},d.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var a=j(this._ghash["final"](8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt){if(e(a,this._authTag))throw new Error("Unsupported state or unable to authenticate data")}else this._authTag=a;this._cipher.scrub()},d.prototype.getAuthTag=function(){if(!this._decrypt&&c.isBuffer(this._authTag))return this._authTag;throw new Error("Attempting to get auth tag in unsupported state")},d.prototype.setAuthTag=function(a){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=a},d.prototype.setAAD=function(a){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(a),this._alen+=a.length}}).call(this,a("buffer").Buffer)},{"./aes":88,"./ghash":93,buffer:3,"buffer-xor":102,"cipher-base":103,inherits:207}],90:[function(a,b,c){arguments[4][11][0].apply(c,arguments)},{"./decrypter":91,"./encrypter":92,"./modes":94,dup:11}],91:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(j.call(this),this._cache=new e,this._last=void 0,this._cipher=new i.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a){for(var b=a[15],c=-1;++c<b;)if(a[c+(16-b)]!==b)throw new Error("unable to decrypt data");if(16!==b)return a.slice(0,16-b)}function g(a,c,e){var f=l[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(p[f.mode],c,e,(!0)):"auth"===f.type?new n(p[f.mode],c,e,(!0)):new d(p[f.mode],c,e)}function h(a,b){var c=l[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=o(b,!1,c.key,c.iv);return g(a,d.key,d.iv)}var i=a("./aes"),j=a("cipher-base"),k=a("inherits"),l=a("./modes"),m=a("./streamCipher"),n=a("./authCipher"),o=a("evp_bytestokey");k(d,j),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get(this._autopadding);)d=this._mode.decrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){var a=this._cache.flush();if(this._autopadding)return f(this._mode.decrypt(this,a));if(a)throw new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(a){var b;if(a){if(this.cache.length>16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b}else if(this.cache.length>=16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b;return null},e.prototype.flush=function(){if(this.cache.length)return this.cache};var p={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createDecipher=h,c.createDecipheriv=g}).call(this,a("buffer").Buffer)},{"./aes":88,"./authCipher":89,"./modes":94,"./modes/cbc":95,"./modes/cfb":96,"./modes/cfb1":97,"./modes/cfb8":98,"./modes/ctr":99,"./modes/ecb":100,"./modes/ofb":101,"./streamCipher":104,buffer:3,"cipher-base":103,evp_bytestokey:105,inherits:207}],92:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(i.call(this),this._cache=new e,this._cipher=new h.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a,c,e){var f=k[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(o[f.mode],c,e):"auth"===f.type?new n(o[f.mode],c,e):new d(o[f.mode],c,e)}function g(a,b){var c=k[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=l(b,!1,c.key,c.iv);return f(a,d.key,d.iv)}var h=a("./aes"),i=a("cipher-base"),j=a("inherits"),k=a("./modes"),l=a("evp_bytestokey"),m=a("./streamCipher"),n=a("./authCipher");j(d,i),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get();)d=this._mode.encrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){var a=this._cache.flush();if(this._autopadding)return a=this._mode.encrypt(this,a),this._cipher.scrub(),a;if("10101010101010101010101010101010"!==a.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(){if(this.cache.length>15){var a=this.cache.slice(0,16);return this.cache=this.cache.slice(16),a}return null},e.prototype.flush=function(){for(var a=16-this.cache.length,c=new b(a),d=-1;++d<a;)c.writeUInt8(a,d);var e=b.concat([this.cache,c]);return e};var o={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),
CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createCipheriv=f,c.createCipher=g}).call(this,a("buffer").Buffer)},{"./aes":88,"./authCipher":89,"./modes":94,"./modes/cbc":95,"./modes/cfb":96,"./modes/cfb1":97,"./modes/cfb8":98,"./modes/ctr":99,"./modes/ecb":100,"./modes/ofb":101,"./streamCipher":104,buffer:3,"cipher-base":103,evp_bytestokey:105,inherits:207}],93:[function(a,b,c){(function(a){function c(b){this.h=b,this.state=new a(16),this.state.fill(0),this.cache=new a("")}function d(a){return[a.readUInt32BE(0),a.readUInt32BE(4),a.readUInt32BE(8),a.readUInt32BE(12)]}function e(b){b=b.map(f);var c=new a(16);return c.writeUInt32BE(b[0],0),c.writeUInt32BE(b[1],4),c.writeUInt32BE(b[2],8),c.writeUInt32BE(b[3],12),c}function f(a){var b,c;return b=a>i||a<0?(c=Math.abs(a)%i,a<0?i-c:c):a}function g(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}var h=new a(16);h.fill(0),b.exports=c,c.prototype.ghash=function(a){for(var b=-1;++b<a.length;)this.state[b]^=a[b];this._multiply()},c.prototype._multiply=function(){for(var a,b,c,f=d(this.h),h=[0,0,0,0],i=-1;++i<128;){for(b=0!==(this.state[~~(i/8)]&1<<7-i%8),b&&(h=g(h,f)),c=0!==(1&f[3]),a=3;a>0;a--)f[a]=f[a]>>>1|(1&f[a-1])<<31;f[0]=f[0]>>>1,c&&(f[0]=f[0]^225<<24)}this.state=e(h)},c.prototype.update=function(b){this.cache=a.concat([this.cache,b]);for(var c;this.cache.length>=16;)c=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(c)},c.prototype["final"]=function(b,c){return this.cache.length&&this.ghash(a.concat([this.cache,h],16)),this.ghash(e([0,b,0,c])),this.state};var i=Math.pow(2,32)}).call(this,a("buffer").Buffer)},{buffer:3}],94:[function(a,b,c){arguments[4][15][0].apply(c,arguments)},{dup:15}],95:[function(a,b,c){arguments[4][16][0].apply(c,arguments)},{"buffer-xor":102,dup:16}],96:[function(a,b,c){(function(b){function d(a,c,d){var f=c.length,g=e(c,a._cache);return a._cache=a._cache.slice(f),a._prev=b.concat([a._prev,d?c:g]),g}var e=a("buffer-xor");c.encrypt=function(a,c,e){for(var f,g=new b("");c.length;){if(0===a._cache.length&&(a._cache=a._cipher.encryptBlock(a._prev),a._prev=new b("")),!(a._cache.length<=c.length)){g=b.concat([g,d(a,c,e)]);break}f=a._cache.length,g=b.concat([g,d(a,c.slice(0,f),e)]),c=c.slice(f)}return g}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":102}],97:[function(a,b,c){(function(a){function b(a,b,c){for(var e,f,g,h=-1,i=8,j=0;++h<i;)e=a._cipher.encryptBlock(a._prev),f=b&1<<7-h?128:0,g=e[0]^f,j+=(128&g)>>h%8,a._prev=d(a._prev,c?f:g);return j}function d(b,c){var d=b.length,e=-1,f=new a(b.length);for(b=a.concat([b,new a([c])]);++e<d;)f[e]=b[e]<<1|b[e+1]>>7;return f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],98:[function(a,b,c){(function(a){function b(b,c,d){var e=b._cipher.encryptBlock(b._prev),f=e[0]^c;return b._prev=a.concat([b._prev.slice(1),new a([d?c:f])]),f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],99:[function(a,b,c){(function(b){function d(a){for(var b,c=a.length;c--;){if(b=a.readUInt8(c),255!==b){b++,a.writeUInt8(b,c);break}a.writeUInt8(0,c)}}function e(a){var b=a._cipher.encryptBlock(a._prev);return d(a._prev),b}var f=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,e(a)]);var d=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),f(c,d)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":102}],100:[function(a,b,c){arguments[4][21][0].apply(c,arguments)},{dup:21}],101:[function(a,b,c){(function(b){function d(a){return a._prev=a._cipher.encryptBlock(a._prev),a._prev}var e=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,d(a)]);var f=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),e(c,f)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":102}],102:[function(a,b,c){(function(a){b.exports=function(b,c){for(var d=Math.min(b.length,c.length),e=new a(d),f=0;f<d;++f)e[f]=b[f]^c[f];return e}}).call(this,a("buffer").Buffer)},{buffer:3}],103:[function(a,b,c){(function(c){function d(a){e.call(this),this.hashMode="string"==typeof a,this.hashMode?this[a]=this._finalOrDigest:this["final"]=this._finalOrDigest,this._decoder=null,this._encoding=null}var e=a("stream").Transform,f=a("inherits"),g=a("string_decoder").StringDecoder;b.exports=d,f(d,e),d.prototype.update=function(a,b,d){"string"==typeof a&&(a=new c(a,b));var e=this._update(a);return this.hashMode?this:(d&&(e=this._toString(e,d)),e)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(a,b,c){var d;try{this.hashMode?this._update(a):this.push(this._update(a))}catch(e){d=e}finally{c(d)}},d.prototype._flush=function(a){var b;try{this.push(this._final())}catch(c){b=c}finally{a(b)}},d.prototype._finalOrDigest=function(a){var b=this._final()||new c("");return a&&(b=this._toString(b,a,!0)),b},d.prototype._toString=function(a,b,c){if(this._decoder||(this._decoder=new g(b),this._encoding=b),this._encoding!==b)throw new Error("can't switch encodings");var d=this._decoder.write(a);return c&&(d+=this._decoder.end()),d}}).call(this,a("buffer").Buffer)},{buffer:3,inherits:207,stream:226,string_decoder:227}],104:[function(a,b,c){(function(c){function d(a,b,g,h){return this instanceof d?(f.call(this),this._cipher=new e.AES(b),this._prev=new c(g.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,g.copy(this._prev),void(this._mode=a)):new d(a,b,g)}var e=a("./aes"),f=a("cipher-base"),g=a("inherits");g(d,f),b.exports=d,d.prototype._update=function(a){return this._mode.encrypt(this,a,this._decrypt)},d.prototype._final=function(){this._cipher.scrub()}}).call(this,a("buffer").Buffer)},{"./aes":88,buffer:3,"cipher-base":103,inherits:207}],105:[function(a,b,c){(function(c){function d(a,b,d,f){c.isBuffer(a)||(a=new c(a,"binary")),b&&!c.isBuffer(b)&&(b=new c(b,"binary")),d/=8,f=f||0;for(var g,h,i=0,j=0,k=new c(d),l=new c(f),m=0,n=[];;){if(m++>0&&n.push(g),n.push(a),b&&n.push(b),g=e(c.concat(n)),n=[],h=0,d>0)for(;;){if(0===d)break;if(h===g.length)break;k[i++]=g[h],d--,h++}if(f>0&&h!==g.length)for(;;){if(0===f)break;if(h===g.length)break;l[j++]=g[h],f--,h++}if(0===d&&0===f)break}for(h=0;h<g.length;h++)g[h]=0;return{key:k,iv:l}}var e=a("create-hash/md5");b.exports=d}).call(this,a("buffer").Buffer)},{buffer:3,"create-hash/md5":138}],106:[function(a,b,c){(function(c){function d(a,b,c,d){var g=q(b);if(g.curve){if("ecdsa"!==d)throw new Error("wrong private key type");return e(a,g)}if("dsa"===g.type){if("dsa"!==d)throw new Error("wrong private key type");return f(a,g,c)}if("rsa"!==d)throw new Error("wrong private key type");for(var h=g.modulus.byteLength(),i=[0,1];a.length+i.length+1<h;)i.push(255);i.push(0);for(var j=-1;++j<a.length;)i.push(a[j]);var k=n(i,g);return k}function e(a,b){var d=o[b.curve.join(".")];if(!d)throw new Error("unknown curve "+b.curve.join("."));var e=new s(d),f=e.genKeyPair();f._importPrivate(b.privateKey);var g=f.sign(a);return new c(g.toDER())}function f(a,b,c){for(var d,e=b.params.priv_key,f=b.params.p,j=b.params.q,m=b.params.g,n=new r(0),o=i(a,j).mod(j),p=!1,q=h(e,j,a,c);p===!1;)d=k(j,q,c),n=l(m,d,f,j),p=d.invm(j).imul(o.add(e.mul(n))).mod(j),p.cmpn(0)||(p=!1,n=new r(0));return g(n,p)}function g(a,b){a=a.toArray(),b=b.toArray(),128&a[0]&&(a=[0].concat(a)),128&b[0]&&(b=[0].concat(b));var d=a.length+b.length+4,e=[48,d,2,a.length];return e=e.concat(a,[2,b.length],b),new c(e)}function h(a,b,d,e){if(a=new c(a.toArray()),a.length<b.byteLength()){var f=new c(b.byteLength()-a.length);f.fill(0),a=c.concat([f,a])}var g=d.length,h=j(d,b),i=new c(g);i.fill(1);var k=new c(g);return k.fill(0),k=m(e,k).update(i).update(new c([0])).update(a).update(h).digest(),i=m(e,k).update(i).digest(),k=m(e,k).update(i).update(new c([1])).update(a).update(h).digest(),i=m(e,k).update(i).digest(),{k:k,v:i}}function i(a,b){var c=new r(a),d=(a.length<<3)-b.bitLength();return d>0&&c.ishrn(d),c}function j(a,b){a=i(a,b),a=a.mod(b);var d=new c(a.toArray());if(d.length<b.byteLength()){var e=new c(b.byteLength()-d.length);e.fill(0),d=c.concat([e,d])}return d}function k(a,b,d){var e,f;do{for(e=new c("");8*e.length<a.bitLength();)b.v=m(d,b.k).update(b.v).digest(),e=c.concat([e,b.v]);f=i(e,a),b.k=m(d,b.k).update(b.v).update(new c([0])).digest(),b.v=m(d,b.k).update(b.v).digest()}while(f.cmp(a)!==-1);return f}function l(a,b,c,d){return a.toRed(r.mont(c)).redPow(b).fromRed().mod(d)}var m=a("create-hmac"),n=a("browserify-rsa"),o=a("./curves"),p=a("elliptic"),q=a("parse-asn1"),r=a("bn.js"),s=p.ec;b.exports=d,b.exports.getKey=h,b.exports.makeKey=k}).call(this,a("buffer").Buffer)},{"./curves":39,"bn.js":40,"browserify-rsa":41,buffer:3,"create-hmac":149,elliptic:42,"parse-asn1":72}],107:[function(a,b,c){(function(c){function d(a,b,d,g){var h=j(d);if("ec"===h.type){if("ecdsa"!==g)throw new Error("wrong public key type");return e(a,b,h)}if("dsa"===h.type){if("dsa"!==g)throw new Error("wrong public key type");return f(a,b,h)}if("rsa"!==g)throw new Error("wrong public key type");for(var i=h.modulus.byteLength(),l=[1],m=0;b.length+l.length+2<i;)l.push(255),m++;l.push(0);for(var n=-1;++n<b.length;)l.push(b[n]);l=new c(l);var o=k.mont(h.modulus);a=new k(a).toRed(o),a=a.redPow(new k(h.publicExponent)),a=new c(a.fromRed().toArray());var p=0;for(m<8&&(p=1),i=Math.min(a.length,l.length),a.length!==l.length&&(p=1),n=-1;++n<i;)p|=a[n]^l[n];return 0===p}function e(a,b,c){var d=h[c.data.algorithm.curve.join(".")];if(!d)throw new Error("unknown curve "+c.data.algorithm.curve.join("."));var e=new l(d),f=c.data.subjectPrivateKey.data;return e.verify(b,a,f)}function f(a,b,c){var d=c.data.p,e=c.data.q,f=c.data.g,h=c.data.pub_key,i=j.signature.decode(a,"der"),l=i.s,m=i.r;g(l,e),g(m,e);var n=k.mont(d),o=l.invm(e),p=f.toRed(n).redPow(new k(b).mul(o).mod(e)).fromRed().mul(h.toRed(n).redPow(m.mul(o).mod(e)).fromRed()).mod(d).mod(e);return!p.cmp(m)}function g(a,b){if(a.cmpn(0)<=0)throw new Error("invalid sig");if(a.cmp(b)>=b)throw new Error("invalid sig")}var h=a("./curves"),i=a("elliptic"),j=a("parse-asn1"),k=a("bn.js"),l=i.ec;b.exports=d}).call(this,a("buffer").Buffer)},{"./curves":39,"bn.js":40,buffer:3,elliptic:42,"parse-asn1":72}],108:[function(a,b,c){(function(c){function d(a){this.curveType=h[a],this.curveType||(this.curveType={name:a}),this.curve=new f.ec(this.curveType.name),this.keys=void 0}function e(a,b,d){Array.isArray(a)||(a=a.toArray());var e=new c(a);if(d&&e.length<d){var f=new c(d-e.length);f.fill(0),e=c.concat([f,e])}return b?e.toString(b):e}var f=a("elliptic"),g=a("bn.js");b.exports=function(a){return new d(a)};var h={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};h.p224=h.secp224r1,h.p256=h.secp256r1=h.prime256v1,h.p192=h.secp192r1=h.prime192v1,h.p384=h.secp384r1,h.p521=h.secp521r1,d.prototype.generateKeys=function(a,b){return this.keys=this.curve.genKeyPair(),this.getPublicKey(a,b)},d.prototype.computeSecret=function(a,b,d){b=b||"utf8",c.isBuffer(a)||(a=new c(a,b));var f=this.curve.keyFromPublic(a).getPublic(),g=f.mul(this.keys.getPrivate()).getX();return e(g,d,this.curveType.byteLength)},d.prototype.getPublicKey=function(a,b){var c=this.keys.getPublic("compressed"===b,!0);return"hybrid"===b&&(c[c.length-1]%2?c[0]=7:c[0]=6),e(c,a)},d.prototype.getPrivateKey=function(a){return e(this.keys.getPrivate(),a)},d.prototype.setPublicKey=function(a,b){return b=b||"utf8",c.isBuffer(a)||(a=new c(a,b)),this.keys._importPublic(a),this},d.prototype.setPrivateKey=function(a,b){b=b||"utf8",c.isBuffer(a)||(a=new c(a,b));var d=new g(a);return d=d.toString(16),this.keys._importPrivate(d),this}}).call(this,a("buffer").Buffer)},{"bn.js":109,buffer:3,elliptic:110}],109:[function(a,b,c){arguments[4][40][0].apply(c,arguments)},{dup:40}],110:[function(a,b,c){arguments[4][42][0].apply(c,arguments)},{"../package.json":135,"./elliptic/curve":113,"./elliptic/curves":116,"./elliptic/ec":117,"./elliptic/eddsa":120,"./elliptic/utils":124,brorand:125,dup:42}],111:[function(a,b,c){arguments[4][43][0].apply(c,arguments)},{"../../elliptic":110,"bn.js":109,dup:43}],112:[function(a,b,c){arguments[4][44][0].apply(c,arguments)},{"../../elliptic":110,"../curve":113,"bn.js":109,dup:44,inherits:207}],113:[function(a,b,c){arguments[4][45][0].apply(c,arguments)},{"./base":111,"./edwards":112,"./mont":114,"./short":115,dup:45}],114:[function(a,b,c){arguments[4][46][0].apply(c,arguments)},{"../../elliptic":110,"../curve":113,"bn.js":109,dup:46,inherits:207}],115:[function(a,b,c){arguments[4][47][0].apply(c,arguments)},{"../../elliptic":110,"../curve":113,"bn.js":109,dup:47,inherits:207}],116:[function(a,b,c){arguments[4][48][0].apply(c,arguments)},{"../elliptic":110,"./precomputed/secp256k1":123,dup:48,"hash.js":126}],117:[function(a,b,c){arguments[4][49][0].apply(c,arguments)},{"../../elliptic":110,"./key":118,"./signature":119,"bn.js":109,dup:49,"hmac-drbg":132}],118:[function(a,b,c){arguments[4][50][0].apply(c,arguments)},{"../../elliptic":110,"bn.js":109,dup:50}],119:[function(a,b,c){arguments[4][51][0].apply(c,arguments)},{"../../elliptic":110,"bn.js":109,dup:51}],120:[function(a,b,c){arguments[4][52][0].apply(c,arguments)},{"../../elliptic":110,"./key":121,"./signature":122,dup:52,"hash.js":126}],121:[function(a,b,c){arguments[4][53][0].apply(c,arguments)},{"../../elliptic":110,dup:53}],122:[function(a,b,c){arguments[4][54][0].apply(c,arguments)},{"../../elliptic":110,"bn.js":109,dup:54}],123:[function(a,b,c){arguments[4][55][0].apply(c,arguments)},{dup:55}],124:[function(a,b,c){arguments[4][56][0].apply(c,arguments)},{"bn.js":109,dup:56,"minimalistic-assert":133,"minimalistic-crypto-utils":134}],125:[function(a,b,c){arguments[4][57][0].apply(c,arguments)},{crypto:2,dup:57}],126:[function(a,b,c){arguments[4][58][0].apply(c,arguments)},{"./hash/common":127,"./hash/hmac":128,"./hash/ripemd":129,"./hash/sha":130,"./hash/utils":131,dup:58}],127:[function(a,b,c){arguments[4][59][0].apply(c,arguments)},{"../hash":126,dup:59}],128:[function(a,b,c){arguments[4][60][0].apply(c,arguments)},{"../hash":126,dup:60}],129:[function(a,b,c){arguments[4][61][0].apply(c,arguments)},{"../hash":126,dup:61}],130:[function(a,b,c){arguments[4][62][0].apply(c,arguments)},{"../hash":126,dup:62}],131:[function(a,b,c){arguments[4][63][0].apply(c,arguments)},{dup:63,inherits:207}],132:[function(a,b,c){arguments[4][64][0].apply(c,arguments)},{dup:64,"hash.js":126,"minimalistic-assert":133,"minimalistic-crypto-utils":134}],133:[function(a,b,c){arguments[4][35][0].apply(c,arguments)},{dup:35}],134:[function(a,b,c){arguments[4][66][0].apply(c,arguments)},{dup:66}],135:[function(a,b,c){b.exports={name:"elliptic",version:"6.4.0",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git+ssh://git@github.com/indutny/elliptic.git"},keywords:["EC","Elliptic","curve","Cryptography"],author:{name:"Fedor Indutny",email:"fedor@indutny.com"},license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^2.11.3",grunt:"^0.4.5","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^8.6.2",istanbul:"^0.4.2",jscs:"^2.9.0",jshint:"^2.6.0",mocha:"^2.1.0"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"},gitHead:"6b0d2b76caae91471649c8e21f0b1d3ba0f96090",_id:"elliptic@6.4.0",_shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",_from:"elliptic@>=6.0.0 <7.0.0",_npmVersion:"3.10.8",_nodeVersion:"7.0.0",_npmUser:{name:"indutny",email:"fedor@indutny.com"},dist:{shasum:"cac9af8762c85836187003c8dfe193e5e2eae5df",tarball:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"},maintainers:[{name:"indutny",email:"fedor@indutny.com"}],_npmOperationalInternal:{host:"packages-18-east.internal.npmjs.com",tmp:"tmp/elliptic-6.4.0.tgz_1487798866428_0.30510620190761983"},directories:{},_resolved:"https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz"}},{}],136:[function(a,b,c){(function(c){"use strict";function d(a){j.call(this,"digest"),this._hash=a,this.buffers=[]}function e(a){j.call(this,"digest"),this._hash=a}var f=a("inherits"),g=a("./md5"),h=a("ripemd160"),i=a("sha.js"),j=a("cipher-base");f(d,j),d.prototype._update=function(a){this.buffers.push(a)},d.prototype._final=function(){var a=c.concat(this.buffers),b=this._hash(a);return this.buffers=null,b},f(e,j),e.prototype._update=function(a){this._hash.update(a)},e.prototype._final=function(){return this._hash.digest()},b.exports=function(a){return a=a.toLowerCase(),"md5"===a?new d(g):"rmd160"===a||"ripemd160"===a?new d(h):new e(i(a))}}).call(this,a("buffer").Buffer)},{"./md5":138,buffer:3,"cipher-base":139,inherits:207,ripemd160:140,"sha.js":142}],137:[function(a,b,c){(function(a){"use strict";function b(b,c){if(b.length%f!==0){var d=b.length+(f-b.length%f);b=a.concat([b,g],d)}for(var e=[],h=c?b.readInt32BE:b.readInt32LE,i=0;i<b.length;i+=f)e.push(h.call(b,i));return e}function d(b,c,d){for(var e=new a(c),f=d?e.writeInt32BE:e.writeInt32LE,g=0;g<b.length;g++)f.call(e,b[g],4*g,!0);return e}function e(c,e,f,g){a.isBuffer(c)||(c=new a(c));var i=e(b(c,g),c.length*h);return d(i,f,g)}var f=4,g=new a(f);g.fill(0);var h=8;c.hash=e}).call(this,a("buffer").Buffer)},{buffer:3}],138:[function(a,b,c){"use strict";function d(a,b){a[b>>5]|=128<<b%32,a[(b+64>>>9<<4)+14]=b;for(var c=1732584193,d=-271733879,e=-1732584194,k=271733878,l=0;l<a.length;l+=16){var m=c,n=d,o=e,p=k;c=f(c,d,e,k,a[l+0],7,-680876936),k=f(k,c,d,e,a[l+1],12,-389564586),e=f(e,k,c,d,a[l+2],17,606105819),d=f(d,e,k,c,a[l+3],22,-1044525330),c=f(c,d,e,k,a[l+4],7,-176418897),k=f(k,c,d,e,a[l+5],12,1200080426),e=f(e,k,c,d,a[l+6],17,-1473231341),d=f(d,e,k,c,a[l+7],22,-45705983),c=f(c,d,e,k,a[l+8],7,1770035416),k=f(k,c,d,e,a[l+9],12,-1958414417),e=f(e,k,c,d,a[l+10],17,-42063),d=f(d,e,k,c,a[l+11],22,-1990404162),c=f(c,d,e,k,a[l+12],7,1804603682),k=f(k,c,d,e,a[l+13],12,-40341101),e=f(e,k,c,d,a[l+14],17,-1502002290),d=f(d,e,k,c,a[l+15],22,1236535329),c=g(c,d,e,k,a[l+1],5,-165796510),k=g(k,c,d,e,a[l+6],9,-1069501632),e=g(e,k,c,d,a[l+11],14,643717713),d=g(d,e,k,c,a[l+0],20,-373897302),c=g(c,d,e,k,a[l+5],5,-701558691),k=g(k,c,d,e,a[l+10],9,38016083),e=g(e,k,c,d,a[l+15],14,-660478335),d=g(d,e,k,c,a[l+4],20,-405537848),c=g(c,d,e,k,a[l+9],5,568446438),k=g(k,c,d,e,a[l+14],9,-1019803690),e=g(e,k,c,d,a[l+3],14,-187363961),d=g(d,e,k,c,a[l+8],20,1163531501),c=g(c,d,e,k,a[l+13],5,-1444681467),k=g(k,c,d,e,a[l+2],9,-51403784),e=g(e,k,c,d,a[l+7],14,1735328473),d=g(d,e,k,c,a[l+12],20,-1926607734),c=h(c,d,e,k,a[l+5],4,-378558),k=h(k,c,d,e,a[l+8],11,-2022574463),e=h(e,k,c,d,a[l+11],16,1839030562),d=h(d,e,k,c,a[l+14],23,-35309556),c=h(c,d,e,k,a[l+1],4,-1530992060),k=h(k,c,d,e,a[l+4],11,1272893353),e=h(e,k,c,d,a[l+7],16,-155497632),d=h(d,e,k,c,a[l+10],23,-1094730640),c=h(c,d,e,k,a[l+13],4,681279174),k=h(k,c,d,e,a[l+0],11,-358537222),e=h(e,k,c,d,a[l+3],16,-722521979),d=h(d,e,k,c,a[l+6],23,76029189),c=h(c,d,e,k,a[l+9],4,-640364487),k=h(k,c,d,e,a[l+12],11,-421815835),e=h(e,k,c,d,a[l+15],16,530742520),d=h(d,e,k,c,a[l+2],23,-995338651),c=i(c,d,e,k,a[l+0],6,-198630844),k=i(k,c,d,e,a[l+7],10,1126891415),e=i(e,k,c,d,a[l+14],15,-1416354905),d=i(d,e,k,c,a[l+5],21,-57434055),c=i(c,d,e,k,a[l+12],6,1700485571),k=i(k,c,d,e,a[l+3],10,-1894986606),e=i(e,k,c,d,a[l+10],15,-1051523),d=i(d,e,k,c,a[l+1],21,-2054922799),c=i(c,d,e,k,a[l+8],6,1873313359),k=i(k,c,d,e,a[l+15],10,-30611744),e=i(e,k,c,d,a[l+6],15,-1560198380),d=i(d,e,k,c,a[l+13],21,1309151649),c=i(c,d,e,k,a[l+4],6,-145523070),k=i(k,c,d,e,a[l+11],10,-1120210379),e=i(e,k,c,d,a[l+2],15,718787259),d=i(d,e,k,c,a[l+9],21,-343485551),c=j(c,m),d=j(d,n),e=j(e,o),k=j(k,p)}return Array(c,d,e,k)}function e(a,b,c,d,e,f){return j(k(j(j(b,a),j(d,f)),e),c)}function f(a,b,c,d,f,g,h){return e(b&c|~b&d,a,b,f,g,h)}function g(a,b,c,d,f,g,h){return e(b&d|c&~d,a,b,f,g,h)}function h(a,b,c,d,f,g,h){return e(b^c^d,a,b,f,g,h)}function i(a,b,c,d,f,g,h){return e(c^(b|~d),a,b,f,g,h)}function j(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function k(a,b){return a<<b|a>>>32-b}var l=a("./helpers");b.exports=function(a){return l.hash(a,d,16)}},{"./helpers":137}],139:[function(a,b,c){(function(c){function d(a){e.call(this),this.hashMode="string"==typeof a,this.hashMode?this[a]=this._finalOrDigest:this["final"]=this._finalOrDigest,this._decoder=null,this._encoding=null}var e=a("stream").Transform,f=a("inherits"),g=a("string_decoder").StringDecoder;b.exports=d,f(d,e),d.prototype.update=function(a,b,d){"string"==typeof a&&(a=new c(a,b));var e=this._update(a);return this.hashMode?this:(d&&(e=this._toString(e,d)),e)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(a,b,c){var d;try{this.hashMode?this._update(a):this.push(this._update(a))}catch(e){d=e}finally{c(d)}},d.prototype._flush=function(a){var b;try{this.push(this._final())}catch(c){b=c}finally{a(b)}},d.prototype._finalOrDigest=function(a){var b=this._final()||new c("");return a&&(b=this._toString(b,a,!0)),b},d.prototype._toString=function(a,b,c){if(this._decoder||(this._decoder=new g(b),this._encoding=b),this._encoding!==b)throw new Error("can't switch encodings");var d=this._decoder.write(a);return c&&(d+=this._decoder.end()),d}}).call(this,a("buffer").Buffer)},{buffer:3,inherits:207,stream:226,string_decoder:227}],140:[function(a,b,c){(function(a){function c(a){for(var b=[],c=0,d=0;c<a.length;c++,d+=8)b[d>>>5]|=a[c]<<24-d%32;return b}function d(a){for(var b=[],c=0;c<32*a.length;c+=8)b.push(a[c>>>5]>>>24-c%32&255);return b}function e(a,b,c){for(var d=0;d<16;d++){var e=c+d,l=b[e];b[e]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}var s,t,u,v,w,x,y,z,A,B;x=s=a[0],y=t=a[1],z=u=a[2],A=v=a[3],B=w=a[4];var C;for(d=0;d<80;d+=1)C=s+b[c+m[d]]|0,C+=d<16?f(t,u,v)+q[0]:d<32?g(t,u,v)+q[1]:d<48?h(t,u,v)+q[2]:d<64?i(t,u,v)+q[3]:j(t,u,v)+q[4],C=0|C,C=k(C,o[d]),C=C+w|0,s=w,w=v,v=k(u,10),u=t,t=C,C=x+b[c+n[d]]|0,C+=d<16?j(y,z,A)+r[0]:d<32?i(y,z,A)+r[1]:d<48?h(y,z,A)+r[2]:d<64?g(y,z,A)+r[3]:f(y,z,A)+r[4],C=0|C,C=k(C,p[d]),C=C+B|0,x=B,B=A,A=k(z,10),z=y,y=C;C=a[1]+u+A|0,a[1]=a[2]+v+B|0,a[2]=a[3]+w+x|0,a[3]=a[4]+s+y|0,a[4]=a[0]+t+z|0,a[0]=C}function f(a,b,c){return a^b^c}function g(a,b,c){return a&b|~a&c}function h(a,b,c){return(a|~b)^c}function i(a,b,c){return a&c|b&~c}function j(a,b,c){return a^(b|~c)}function k(a,b){return a<<b|a>>>32-b}function l(b){var f=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof b&&(b=new a(b,"utf8"));var g=c(b),h=8*b.length,i=8*b.length;g[h>>>5]|=128<<24-h%32,g[(h+64>>>9<<4)+14]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);for(var j=0;j<g.length;j+=16)e(f,g,j);for(j=0;j<5;j++){var k=f[j];f[j]=16711935&(k<<8|k>>>24)|4278255360&(k<<24|k>>>8)}var l=d(f);return new a(l)}/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
var m=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],n=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],o=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],p=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],q=[0,1518500249,1859775393,2400959708,2840853838],r=[1352829926,1548603684,1836072691,2053994217,0];b.exports=l}).call(this,a("buffer").Buffer)},{buffer:3}],141:[function(a,b,c){(function(a){function c(b,c){this._block=new a(b),this._finalSize=c,this._blockSize=b,this._len=0,this._s=0}c.prototype.update=function(b,c){"string"==typeof b&&(c=c||"utf8",b=new a(b,c));for(var d=this._len+=b.length,e=this._s||0,f=0,g=this._block;e<d;){for(var h=Math.min(b.length,f+this._blockSize-e%this._blockSize),i=h-f,j=0;j<i;j++)g[e%this._blockSize+j]=b[j+f];e+=i,f+=i,e%this._blockSize===0&&this._update(g)}return this._s=e,this},c.prototype.digest=function(a){var b=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),b%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(b,this._blockSize-4);var c=this._update(this._block)||this._hash();return a?c.toString(a):c},c.prototype._update=function(){throw new Error("_update must be implemented by subclass")},b.exports=c}).call(this,a("buffer").Buffer)},{buffer:3}],142:[function(a,b,c){var c=b.exports=function(a){a=a.toLowerCase();var b=c[a];if(!b)throw new Error(a+" is not supported (we accept pull requests)");return new b};c.sha=a("./sha"),c.sha1=a("./sha1"),c.sha224=a("./sha224"),c.sha256=a("./sha256"),c.sha384=a("./sha384"),c.sha512=a("./sha512")},{"./sha":143,"./sha1":144,"./sha224":145,"./sha256":146,"./sha384":147,"./sha512":148}],143:[function(a,b,c){(function(c){function d(){this.init(),this._w=k,i.call(this,64,56)}function e(a){return a<<5|a>>>27}function f(a){return a<<30|a>>>2}function g(a,b,c,d){return 0===a?b&c|~b&d:2===a?b&c|b&d|c&d:b^c^d}var h=a("inherits"),i=a("./hash"),j=[1518500249,1859775393,-1894007588,-899497514],k=new Array(80);h(d,i),d.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},d.prototype._update=function(a){for(var b=this._w,c=0|this._a,d=0|this._b,h=0|this._c,i=0|this._d,k=0|this._e,l=0;l<16;++l)b[l]=a.readInt32BE(4*l);for(;l<80;++l)b[l]=b[l-3]^b[l-8]^b[l-14]^b[l-16];for(var m=0;m<80;++m){var n=~~(m/20),o=e(c)+g(n,d,h,i)+k+b[m]+j[n]|0;k=i,i=h,h=f(d),d=c,c=o}this._a=c+this._a|0,this._b=d+this._b|0,this._c=h+this._c|0,this._d=i+this._d|0,this._e=k+this._e|0},d.prototype._hash=function(){var a=new c(20);return a.writeInt32BE(0|this._a,0),a.writeInt32BE(0|this._b,4),a.writeInt32BE(0|this._c,8),a.writeInt32BE(0|this._d,12),a.writeInt32BE(0|this._e,16),a},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,buffer:3,inherits:207}],144:[function(a,b,c){(function(c){function d(){this.init(),this._w=l,j.call(this,64,56)}function e(a){return a<<1|a>>>31}function f(a){return a<<5|a>>>27}function g(a){return a<<30|a>>>2}function h(a,b,c,d){return 0===a?b&c|~b&d:2===a?b&c|b&d|c&d:b^c^d}var i=a("inherits"),j=a("./hash"),k=[1518500249,1859775393,-1894007588,-899497514],l=new Array(80);i(d,j),d.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},d.prototype._update=function(a){for(var b=this._w,c=0|this._a,d=0|this._b,i=0|this._c,j=0|this._d,l=0|this._e,m=0;m<16;++m)b[m]=a.readInt32BE(4*m);for(;m<80;++m)b[m]=e(b[m-3]^b[m-8]^b[m-14]^b[m-16]);for(var n=0;n<80;++n){var o=~~(n/20),p=f(c)+h(o,d,i,j)+l+b[n]+k[o]|0;l=j,j=i,i=g(d),d=c,c=p}this._a=c+this._a|0,this._b=d+this._b|0,this._c=i+this._c|0,this._d=j+this._d|0,this._e=l+this._e|0},d.prototype._hash=function(){var a=new c(20);return a.writeInt32BE(0|this._a,0),a.writeInt32BE(0|this._b,4),a.writeInt32BE(0|this._c,8),a.writeInt32BE(0|this._d,12),a.writeInt32BE(0|this._e,16),a},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,buffer:3,inherits:207}],145:[function(a,b,c){(function(c){function d(){this.init(),this._w=h,g.call(this,64,56)}var e=a("inherits"),f=a("./sha256"),g=a("./hash"),h=new Array(64);e(d,f),d.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},d.prototype._hash=function(){var a=new c(28);return a.writeInt32BE(this._a,0),a.writeInt32BE(this._b,4),a.writeInt32BE(this._c,8),a.writeInt32BE(this._d,12),a.writeInt32BE(this._e,16),a.writeInt32BE(this._f,20),a.writeInt32BE(this._g,24),a},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,"./sha256":146,buffer:3,inherits:207}],146:[function(a,b,c){(function(c){function d(){this.init(),this._w=n,l.call(this,64,56)}function e(a,b,c){return c^a&(b^c)}function f(a,b,c){return a&b|c&(a|b)}function g(a){return(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10)}function h(a){return(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7)}function i(a){return(a>>>7|a<<25)^(a>>>18|a<<14)^a>>>3}function j(a){return(a>>>17|a<<15)^(a>>>19|a<<13)^a>>>10}var k=a("inherits"),l=a("./hash"),m=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],n=new Array(64);k(d,l),d.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},d.prototype._update=function(a){for(var b=this._w,c=0|this._a,d=0|this._b,k=0|this._c,l=0|this._d,n=0|this._e,o=0|this._f,p=0|this._g,q=0|this._h,r=0;r<16;++r)b[r]=a.readInt32BE(4*r);for(;r<64;++r)b[r]=j(b[r-2])+b[r-7]+i(b[r-15])+b[r-16]|0;for(var s=0;s<64;++s){var t=q+h(n)+e(n,o,p)+m[s]+b[s]|0,u=g(c)+f(c,d,k)|0;q=p,p=o,o=n,n=l+t|0,l=k,k=d,d=c,c=t+u|0}this._a=c+this._a|0,this._b=d+this._b|0,this._c=k+this._c|0,this._d=l+this._d|0,this._e=n+this._e|0,this._f=o+this._f|0,this._g=p+this._g|0,this._h=q+this._h|0},d.prototype._hash=function(){var a=new c(32);return a.writeInt32BE(this._a,0),a.writeInt32BE(this._b,4),a.writeInt32BE(this._c,8),a.writeInt32BE(this._d,12),a.writeInt32BE(this._e,16),a.writeInt32BE(this._f,20),a.writeInt32BE(this._g,24),a.writeInt32BE(this._h,28),a},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,buffer:3,inherits:207}],147:[function(a,b,c){(function(c){function d(){this.init(),this._w=h,g.call(this,128,112)}var e=a("inherits"),f=a("./sha512"),g=a("./hash"),h=new Array(160);e(d,f),d.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},d.prototype._hash=function(){function a(a,c,d){b.writeInt32BE(a,d),b.writeInt32BE(c,d+4)}var b=new c(48);return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),b},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,"./sha512":148,buffer:3,inherits:207}],148:[function(a,b,c){(function(c){function d(){this.init(),this._w=q,o.call(this,128,112)}function e(a,b,c){return c^a&(b^c)}function f(a,b,c){return a&b|c&(a|b)}function g(a,b){return(a>>>28|b<<4)^(b>>>2|a<<30)^(b>>>7|a<<25)}function h(a,b){return(a>>>14|b<<18)^(a>>>18|b<<14)^(b>>>9|a<<23)}function i(a,b){return(a>>>1|b<<31)^(a>>>8|b<<24)^a>>>7}function j(a,b){return(a>>>1|b<<31)^(a>>>8|b<<24)^(a>>>7|b<<25)}function k(a,b){return(a>>>19|b<<13)^(b>>>29|a<<3)^a>>>6}function l(a,b){return(a>>>19|b<<13)^(b>>>29|a<<3)^(a>>>6|b<<26)}function m(a,b){return a>>>0<b>>>0?1:0}var n=a("inherits"),o=a("./hash"),p=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],q=new Array(160);n(d,o),d.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},d.prototype._update=function(a){for(var b=this._w,c=0|this._ah,d=0|this._bh,n=0|this._ch,o=0|this._dh,q=0|this._eh,r=0|this._fh,s=0|this._gh,t=0|this._hh,u=0|this._al,v=0|this._bl,w=0|this._cl,x=0|this._dl,y=0|this._el,z=0|this._fl,A=0|this._gl,B=0|this._hl,C=0;C<32;C+=2)b[C]=a.readInt32BE(4*C),b[C+1]=a.readInt32BE(4*C+4);for(;C<160;C+=2){var D=b[C-30],E=b[C-30+1],F=i(D,E),G=j(E,D);D=b[C-4],E=b[C-4+1];var H=k(D,E),I=l(E,D),J=b[C-14],K=b[C-14+1],L=b[C-32],M=b[C-32+1],N=G+K|0,O=F+J+m(N,G)|0;N=N+I|0,O=O+H+m(N,I)|0,N=N+M|0,O=O+L+m(N,M)|0,b[C]=O,b[C+1]=N}for(var P=0;P<160;P+=2){O=b[P],N=b[P+1];var Q=f(c,d,n),R=f(u,v,w),S=g(c,u),T=g(u,c),U=h(q,y),V=h(y,q),W=p[P],X=p[P+1],Y=e(q,r,s),Z=e(y,z,A),$=B+V|0,_=t+U+m($,B)|0;$=$+Z|0,_=_+Y+m($,Z)|0,$=$+X|0,_=_+W+m($,X)|0,$=$+N|0,_=_+O+m($,N)|0;var aa=T+R|0,ba=S+Q+m(aa,T)|0;t=s,B=A,s=r,A=z,r=q,z=y,y=x+$|0,q=o+_+m(y,x)|0,o=n,x=w,n=d,w=v,d=c,v=u,u=$+aa|0,c=_+ba+m(u,$)|0}this._al=this._al+u|0,this._bl=this._bl+v|0,this._cl=this._cl+w|0,this._dl=this._dl+x|0,this._el=this._el+y|0,this._fl=this._fl+z|0,this._gl=this._gl+A|0,this._hl=this._hl+B|0,this._ah=this._ah+c+m(this._al,u)|0,this._bh=this._bh+d+m(this._bl,v)|0,this._ch=this._ch+n+m(this._cl,w)|0,this._dh=this._dh+o+m(this._dl,x)|0,this._eh=this._eh+q+m(this._el,y)|0,this._fh=this._fh+r+m(this._fl,z)|0,this._gh=this._gh+s+m(this._gl,A)|0,this._hh=this._hh+t+m(this._hl,B)|0},d.prototype._hash=function(){function a(a,c,d){b.writeInt32BE(a,d),b.writeInt32BE(c,d+4)}var b=new c(64);return a(this._ah,this._al,0),a(this._bh,this._bl,8),a(this._ch,this._cl,16),a(this._dh,this._dl,24),a(this._eh,this._el,32),a(this._fh,this._fl,40),a(this._gh,this._gl,48),a(this._hh,this._hl,56),b},b.exports=d}).call(this,a("buffer").Buffer)},{"./hash":141,buffer:3,inherits:207}],149:[function(a,b,c){(function(c){"use strict";function d(a,b){g.call(this),a=a.toLowerCase(),"string"==typeof b&&(b=new c(b));var d="sha512"===a||"sha384"===a?128:64;this._alg=a,this._key=b,b.length>d?b=e(a).update(b).digest():b.length<d&&(b=c.concat([b,h],d));for(var f=this._ipad=new c(d),i=this._opad=new c(d),j=0;j<d;j++)f[j]=54^b[j],i[j]=92^b[j];this._hash=e(a).update(f)}var e=a("create-hash/browser"),f=a("inherits"),g=a("stream").Transform,h=new c(128);h.fill(0),f(d,g),d.prototype.update=function(a,b){return this._hash.update(a,b),this},d.prototype._transform=function(a,b,c){this._hash.update(a),c()},d.prototype._flush=function(a){this.push(this.digest()),a()},d.prototype.digest=function(a){var b=this._hash.digest();return e(this._alg).update(this._opad).update(b).digest(a)},b.exports=function(a,b){return new d(a,b)}}).call(this,a("buffer").Buffer)},{buffer:3,"create-hash/browser":136,inherits:207,stream:226}],150:[function(a,b,c){(function(b){function d(a){var c=new b(g[a].prime,"hex"),d=new b(g[a].gen,"hex");return new h(c,d)}function e(a,c,d,g){return b.isBuffer(c)||void 0===i[c]?e(a,"binary",c,d):(c=c||"binary",g=g||"binary",d=d||new b([2]),b.isBuffer(d)||(d=new b(d,g)),"number"==typeof a?new h(f(a,d),d,(!0)):(b.isBuffer(a)||(a=new b(a,c)),new h(a,d,(!0))))}var f=a("./lib/generatePrime"),g=a("./lib/primes.json"),h=a("./lib/dh"),i={binary:!0,hex:!0,base64:!0};c.DiffieHellmanGroup=c.createDiffieHellmanGroup=c.getDiffieHellman=d,c.createDiffieHellman=c.DiffieHellman=e}).call(this,a("buffer").Buffer)},{"./lib/dh":151,"./lib/generatePrime":152,"./lib/primes.json":153,buffer:3}],151:[function(a,b,c){(function(c){function d(a,b){return b=b||"utf8",c.isBuffer(a)||(a=new c(a,b)),this._pub=new i(a),this}function e(a,b){return b=b||"utf8",c.isBuffer(a)||(a=new c(a,b)),this._priv=new i(a),this}function f(a,b){var c=b.toString("hex"),d=[c,a.toString(16)].join("_");if(d in s)return s[d];var e=0;if(a.isEven()||!q.simpleSieve||!q.fermatTest(a)||!k.test(a))return e+=1,e+="02"===c||"05"===c?8:4,s[d]=e,e;k.test(a.shrn(1))||(e+=2);var f;switch(c){case"02":a.mod(l).cmp(m)&&(e+=8);break;case"05":f=a.mod(n),f.cmp(o)&&f.cmp(p)&&(e+=8);break;default:e+=4}return s[d]=e,e}function g(a,b,c){this.setGenerator(b),this.__prime=new i(a),this._prime=i.mont(this.__prime),this._primeLen=a.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,c?(this.setPublicKey=d,this.setPrivateKey=e):this._primeCode=8}function h(a,b){var d=new c(a.toArray());return b?d.toString(b):d}var i=a("bn.js"),j=a("miller-rabin"),k=new j,l=new i(24),m=new i(11),n=new i(10),o=new i(3),p=new i(7),q=a("./generatePrime"),r=a("randombytes");b.exports=g;var s={};Object.defineProperty(g.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=f(this.__prime,this.__gen)),this._primeCode}}),g.prototype.generateKeys=function(){return this._priv||(this._priv=new i(r(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},g.prototype.computeSecret=function(a){a=new i(a),a=a.toRed(this._prime);var b=a.redPow(this._priv).fromRed(),d=new c(b.toArray()),e=this.getPrime();if(d.length<e.length){var f=new c(e.length-d.length);f.fill(0),d=c.concat([f,d])}return d},g.prototype.getPublicKey=function(a){return h(this._pub,a)},g.prototype.getPrivateKey=function(a){return h(this._priv,a)},g.prototype.getPrime=function(a){return h(this.__prime,a)},g.prototype.getGenerator=function(a){return h(this._gen,a)},g.prototype.setGenerator=function(a,b){return b=b||"utf8",c.isBuffer(a)||(a=new c(a,b)),this.__gen=a,this._gen=new i(a),this}}).call(this,a("buffer").Buffer)},{"./generatePrime":152,"bn.js":154,buffer:3,"miller-rabin":155,randombytes:205}],152:[function(a,b,c){function d(){if(null!==t)return t;var a=1048576,b=[];b[0]=2;for(var c=1,d=3;d<a;d+=2){for(var e=Math.ceil(Math.sqrt(d)),f=0;f<c&&b[f]<=e&&d%b[f]!==0;f++);c!==f&&b[f]<=e||(b[c++]=d)}return t=b,b}function e(a){for(var b=d(),c=0;c<b.length;c++)if(0===a.modn(b[c]))return 0===a.cmpn(b[c]);return!0}function f(a){var b=i.mont(a);return 0===n.toRed(b).redPow(a.subn(1)).fromRed().cmpn(1)}function g(a,b){if(a<16)return new i(2===b||5===b?[140,123]:[140,39]);b=new i(b);for(var c,d;;){for(c=new i(h(Math.ceil(a/8)));c.bitLength()>a;)c.ishrn(1);if(c.isEven()&&c.iadd(m),c.testn(1)||c.iadd(n),b.cmp(n)){if(!b.cmp(o))for(;c.mod(p).cmp(q);)c.iadd(s)}else for(;c.mod(j).cmp(r);)c.iadd(s);if(d=c.shrn(1),e(d)&&e(c)&&f(d)&&f(c)&&l.test(d)&&l.test(c))return c}}var h=a("randombytes");b.exports=g,g.simpleSieve=e,g.fermatTest=f;var i=a("bn.js"),j=new i(24),k=a("miller-rabin"),l=new k,m=new i(1),n=new i(2),o=new i(5),p=(new i(16),new i(8),new i(10)),q=new i(3),r=(new i(7),new i(11)),s=new i(4),t=(new i(12),null)},{"bn.js":154,"miller-rabin":155,randombytes:205}],153:[function(a,b,c){b.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},{}],154:[function(a,b,c){arguments[4][40][0].apply(c,arguments)},{dup:40}],155:[function(a,b,c){function d(a){this.rand=a||new f.Rand}var e=a("bn.js"),f=a("brorand");b.exports=d,d.create=function(a){return new d(a)},d.prototype._rand=function(a){var b=a.bitLength(),c=this.rand.generate(Math.ceil(b/8));c[0]|=3;var d=7&b;return 0!==d&&(c[c.length-1]>>=7-d),new e(c)},d.prototype.test=function(a,b,c){var d=a.bitLength(),f=e.mont(a),g=new e(1).toRed(f);b||(b=Math.max(1,d/48|0));for(var h=a.subn(1),i=h.subn(1),j=0;!h.testn(j);j++);for(var k=a.shrn(j),l=h.toRed(f),m=!0;b>0;b--){var n=this._rand(i);c&&c(n);var o=n.toRed(f).redPow(k);if(0!==o.cmp(g)&&0!==o.cmp(l)){for(var p=1;p<j;p++){if(o=o.redSqr(),0===o.cmp(g))return!1;if(0===o.cmp(l))break}if(p===j)return!1}}return m},d.prototype.getDivisor=function(a,b){var c=a.bitLength(),d=e.mont(a),f=new e(1).toRed(d);b||(b=Math.max(1,c/48|0));for(var g=a.subn(1),h=g.subn(1),i=0;!g.testn(i);i++);for(var j=a.shrn(i),k=g.toRed(d);b>0;b--){var l=this._rand(h),m=a.gcd(l);if(0!==m.cmpn(1))return m;var n=l.toRed(d).redPow(j);if(0!==n.cmp(f)&&0!==n.cmp(k)){for(var o=1;o<i;o++){if(n=n.redSqr(),0===n.cmp(f))return n.fromRed().subn(1).gcd(a);if(0===n.cmp(k))break}if(o===i)return n=n.redSqr(),n.fromRed().subn(1).gcd(a)}}return!1}},{"bn.js":154,brorand:156}],156:[function(a,b,c){arguments[4][57][0].apply(c,arguments)},{crypto:2,dup:57}],157:[function(a,b,c){(function(b,d){var e=a("create-hmac"),f=a("./precondition");c.pbkdf2=function(a,b,d,e,g,h){if("function"==typeof g&&(h=g,g=void 0),f(d,e),"function"!=typeof h)throw new Error("No callback provided to pbkdf2");setTimeout(function(){h(null,c.pbkdf2Sync(a,b,d,e,g))})};var g;if(b.browser)g="utf-8";else{var h=parseInt(b.version.split(".")[0].slice(1),10);g=h>=6?"utf-8":"binary"}c.pbkdf2Sync=function(a,b,c,h,i){d.isBuffer(a)||(a=new d(a,g)),d.isBuffer(b)||(b=new d(b,g)),f(c,h),i=i||"sha1";var j,k=1,l=new d(h),m=new d(b.length+4);b.copy(m,0,0,b.length);for(var n,o,p=1;p<=k;p++){m.writeUInt32BE(p,b.length);var q=e(i,a).update(m).digest();j||(j=q.length,o=new d(j),k=Math.ceil(h/j),n=h-(k-1)*j),q.copy(o,0,0,j);for(var r=1;r<c;r++){q=e(i,a).update(q).digest();for(var s=0;s<j;s++)o[s]^=q[s]}var t=(p-1)*j,u=p===k?n:j;o.copy(l,t,0,u)}return l}}).call(this,a("_process"),a("buffer").Buffer)},{"./precondition":158,_process:209,buffer:3,"create-hmac":149}],158:[function(a,b,c){var d=Math.pow(2,30)-1;b.exports=function(a,b){if("number"!=typeof a)throw new TypeError("Iterations not a number");if(a<0)throw new TypeError("Bad iterations");if("number"!=typeof b)throw new TypeError("Key length not a number");if(b<0||b>d||b!==b)throw new TypeError("Bad key length")}},{}],159:[function(a,b,c){c.publicEncrypt=a("./publicEncrypt"),c.privateDecrypt=a("./privateDecrypt"),c.privateEncrypt=function(a,b){return c.publicEncrypt(a,b,!0)},c.publicDecrypt=function(a,b){return c.privateDecrypt(a,b,!0)}},{"./privateDecrypt":201,"./publicEncrypt":202}],160:[function(a,b,c){(function(c){function d(a){var b=new c(4);return b.writeUInt32BE(a,0),b}var e=a("create-hash");b.exports=function(a,b){for(var f,g=new c(""),h=0;g.length<b;)f=d(h++),g=c.concat([g,e("sha1").update(a).update(f).digest()]);return g.slice(0,b)}}).call(this,a("buffer").Buffer)},{buffer:3,"create-hash":136}],161:[function(a,b,c){arguments[4][40][0].apply(c,arguments)},{dup:40}],162:[function(a,b,c){(function(c){function d(a){var b=f(a),c=b.toRed(g.mont(a.modulus)).redPow(new g(a.publicExponent)).fromRed();return{blinder:c,unblinder:b.invm(a.modulus)}}function e(a,b){var e=d(b),f=b.modulus.byteLength(),h=(g.mont(b.modulus),new g(a).mul(e.blinder).umod(b.modulus)),i=h.toRed(g.mont(b.prime1)),j=h.toRed(g.mont(b.prime2)),k=b.coefficient,l=b.prime1,m=b.prime2,n=i.redPow(b.exponent1),o=j.redPow(b.exponent2);n=n.fromRed(),o=o.fromRed();var p=n.isub(o).imul(k).umod(l);return p.imul(m),o.iadd(p),new c(o.imul(e.unblinder).umod(b.modulus).toArray(!1,f))}function f(a){for(var b=a.modulus.byteLength(),c=new g(h(b));c.cmp(a.modulus)>=0||!c.umod(a.prime1)||!c.umod(a.prime2);)c=new g(h(b));return c}var g=a("bn.js"),h=a("randombytes");b.exports=e,e.getr=f}).call(this,a("buffer").Buffer)},{"bn.js":161,buffer:3,randombytes:205}],163:[function(a,b,c){arguments[4][68][0].apply(c,arguments)},{dup:68}],164:[function(a,b,c){arguments[4][69][0].apply(c,arguments)},{"./certificate":165,"asn1.js":168,dup:69}],165:[function(a,b,c){arguments[4][70][0].apply(c,arguments)},{"asn1.js":168,dup:70}],166:[function(a,b,c){(function(c){var d=/Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m,e=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n/m,f=/^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?-----END \1-----$/m,g=a("evp_bytestokey"),h=a("browserify-aes");b.exports=function(a,b){var i,j=a.toString(),k=j.match(d);if(k){var l="aes"+k[1],m=new c(k[2],"hex"),n=new c(k[3].replace(/\r?\n/g,""),"base64"),o=g(b,m.slice(0,8),parseInt(k[1],10)).key,p=[],q=h.createDecipheriv(l,o,m);p.push(q.update(n)),p.push(q["final"]()),i=c.concat(p)}else{var r=j.match(f);i=new c(r[2].replace(/\r?\n/g,""),"base64")}var s=j.match(e)[1];return{tag:s,data:i}}}).call(this,a("buffer").Buffer)},{"browserify-aes":185,buffer:3,evp_bytestokey:200}],167:[function(a,b,c){(function(c){function d(a){var b;"object"!=typeof a||c.isBuffer(a)||(b=a.passphrase,a=a.key),"string"==typeof a&&(a=new c(a));var d,g,i=h(a,b),j=i.tag,k=i.data;switch(j){case"CERTIFICATE":g=f.certificate.decode(k,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(g||(g=f.PublicKey.decode(k,"der")),d=g.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return f.RSAPublicKey.decode(g.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return g.subjectPrivateKey=g.subjectPublicKey,{type:"ec",data:g};case"1.2.840.10040.4.1":return g.algorithm.params.pub_key=f.DSAparam.decode(g.subjectPublicKey.data,"der"),{type:"dsa",data:g.algorithm.params};default:throw new Error("unknown key id "+d)}throw new Error("unknown key type "+j);case"ENCRYPTED PRIVATE KEY":k=f.EncryptedPrivateKey.decode(k,"der"),k=e(k,b);case"PRIVATE KEY":switch(g=f.PrivateKey.decode(k,"der"),d=g.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return f.RSAPrivateKey.decode(g.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:g.algorithm.curve,privateKey:f.ECPrivateKey.decode(g.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return g.algorithm.params.priv_key=f.DSAparam.decode(g.subjectPrivateKey,"der"),{type:"dsa",params:g.algorithm.params};default:throw new Error("unknown key id "+d)}throw new Error("unknown key type "+j);case"RSA PUBLIC KEY":return f.RSAPublicKey.decode(k,"der");case"RSA PRIVATE KEY":return f.RSAPrivateKey.decode(k,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:f.DSAPrivateKey.decode(k,"der")};case"EC PRIVATE KEY":return k=f.ECPrivateKey.decode(k,"der"),{curve:k.parameters.value,privateKey:k.privateKey};default:throw new Error("unknown key type "+j)}}function e(a,b){var d=a.algorithm.decrypt.kde.kdeparams.salt,e=parseInt(a.algorithm.decrypt.kde.kdeparams.iters.toString(),10),f=g[a.algorithm.decrypt.cipher.algo.join(".")],h=a.algorithm.decrypt.cipher.iv,k=a.subjectPrivateKey,l=parseInt(f.split("-")[1],10)/8,m=j.pbkdf2Sync(b,d,e,l),n=i.createDecipheriv(f,m,h),o=[];return o.push(n.update(k)),o.push(n["final"]()),
c.concat(o)}var f=a("./asn1"),g=a("./aesid.json"),h=a("./fixProc"),i=a("browserify-aes"),j=a("pbkdf2");b.exports=d,d.signature=f.signature}).call(this,a("buffer").Buffer)},{"./aesid.json":163,"./asn1":164,"./fixProc":166,"browserify-aes":185,buffer:3,pbkdf2:157}],168:[function(a,b,c){arguments[4][73][0].apply(c,arguments)},{"./asn1/api":169,"./asn1/base":171,"./asn1/constants":175,"./asn1/decoders":177,"./asn1/encoders":180,"bn.js":161,dup:73}],169:[function(a,b,c){arguments[4][74][0].apply(c,arguments)},{"../asn1":168,dup:74,inherits:207,vm:228}],170:[function(a,b,c){arguments[4][75][0].apply(c,arguments)},{"../base":171,buffer:3,dup:75,inherits:207}],171:[function(a,b,c){arguments[4][76][0].apply(c,arguments)},{"./buffer":170,"./node":172,"./reporter":173,dup:76}],172:[function(a,b,c){arguments[4][77][0].apply(c,arguments)},{"../base":171,dup:77,"minimalistic-assert":182}],173:[function(a,b,c){arguments[4][78][0].apply(c,arguments)},{dup:78,inherits:207}],174:[function(a,b,c){arguments[4][79][0].apply(c,arguments)},{"../constants":175,dup:79}],175:[function(a,b,c){arguments[4][80][0].apply(c,arguments)},{"./der":174,dup:80}],176:[function(a,b,c){arguments[4][81][0].apply(c,arguments)},{"../../asn1":168,dup:81,inherits:207}],177:[function(a,b,c){arguments[4][82][0].apply(c,arguments)},{"./der":176,"./pem":178,dup:82}],178:[function(a,b,c){arguments[4][83][0].apply(c,arguments)},{"./der":176,buffer:3,dup:83,inherits:207}],179:[function(a,b,c){arguments[4][84][0].apply(c,arguments)},{"../../asn1":168,buffer:3,dup:84,inherits:207}],180:[function(a,b,c){arguments[4][85][0].apply(c,arguments)},{"./der":179,"./pem":181,dup:85}],181:[function(a,b,c){arguments[4][86][0].apply(c,arguments)},{"./der":179,dup:86,inherits:207}],182:[function(a,b,c){arguments[4][35][0].apply(c,arguments)},{dup:35}],183:[function(a,b,c){(function(a){function b(a){var b,c;return b=a>h||a<0?(c=Math.abs(a)%h,a<0?h-c:c):a}function d(a){for(var b=0;b<a.length;a++)a[b]=0;return!1}function e(){this.SBOX=[],this.INV_SBOX=[],this.SUB_MIX=[[],[],[],[]],this.INV_SUB_MIX=[[],[],[],[]],this.init(),this.RCON=[0,1,2,4,8,16,32,64,128,27,54]}function f(a){for(var b=a.length/4,c=new Array(b),d=-1;++d<b;)c[d]=a.readUInt32BE(4*d);return c}function g(a){this._key=f(a),this._doReset()}var h=Math.pow(2,32);e.prototype.init=function(){var a,b,c,d,e,f,g,h,i,j;for(a=function(){var a,c;for(c=[],b=a=0;a<256;b=++a)b<128?c.push(b<<1):c.push(b<<1^283);return c}(),e=0,i=0,b=j=0;j<256;b=++j)c=i^i<<1^i<<2^i<<3^i<<4,c=c>>>8^255&c^99,this.SBOX[e]=c,this.INV_SBOX[c]=e,f=a[e],g=a[f],h=a[g],d=257*a[c]^16843008*c,this.SUB_MIX[0][e]=d<<24|d>>>8,this.SUB_MIX[1][e]=d<<16|d>>>16,this.SUB_MIX[2][e]=d<<8|d>>>24,this.SUB_MIX[3][e]=d,d=16843009*h^65537*g^257*f^16843008*e,this.INV_SUB_MIX[0][c]=d<<24|d>>>8,this.INV_SUB_MIX[1][c]=d<<16|d>>>16,this.INV_SUB_MIX[2][c]=d<<8|d>>>24,this.INV_SUB_MIX[3][c]=d,0===e?e=i=1:(e=f^a[a[a[h^f]]],i^=a[a[i]]);return!0};var i=new e;g.blockSize=16,g.prototype.blockSize=g.blockSize,g.keySize=32,g.prototype.keySize=g.keySize,g.prototype._doReset=function(){var a,b,c,d,e,f;for(c=this._key,b=c.length,this._nRounds=b+6,e=4*(this._nRounds+1),this._keySchedule=[],d=0;d<e;d++)this._keySchedule[d]=d<b?c[d]:(f=this._keySchedule[d-1],d%b===0?(f=f<<8|f>>>24,f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f],f^=i.RCON[d/b|0]<<24):b>6&&d%b===4?f=i.SBOX[f>>>24]<<24|i.SBOX[f>>>16&255]<<16|i.SBOX[f>>>8&255]<<8|i.SBOX[255&f]:void 0,this._keySchedule[d-b]^f);for(this._invKeySchedule=[],a=0;a<e;a++)d=e-a,f=this._keySchedule[d-(a%4?0:4)],this._invKeySchedule[a]=a<4||d<=4?f:i.INV_SUB_MIX[0][i.SBOX[f>>>24]]^i.INV_SUB_MIX[1][i.SBOX[f>>>16&255]]^i.INV_SUB_MIX[2][i.SBOX[f>>>8&255]]^i.INV_SUB_MIX[3][i.SBOX[255&f]];return!0},g.prototype.encryptBlock=function(b){b=f(new a(b));var c=this._doCryptBlock(b,this._keySchedule,i.SUB_MIX,i.SBOX),d=new a(16);return d.writeUInt32BE(c[0],0),d.writeUInt32BE(c[1],4),d.writeUInt32BE(c[2],8),d.writeUInt32BE(c[3],12),d},g.prototype.decryptBlock=function(b){b=f(new a(b));var c=[b[3],b[1]];b[1]=c[0],b[3]=c[1];var d=this._doCryptBlock(b,this._invKeySchedule,i.INV_SUB_MIX,i.INV_SBOX),e=new a(16);return e.writeUInt32BE(d[0],0),e.writeUInt32BE(d[3],4),e.writeUInt32BE(d[2],8),e.writeUInt32BE(d[1],12),e},g.prototype.scrub=function(){d(this._keySchedule),d(this._invKeySchedule),d(this._key)},g.prototype._doCryptBlock=function(a,c,d,e){var f,g,h,i,j,k,l,m,n;g=a[0]^c[0],h=a[1]^c[1],i=a[2]^c[2],j=a[3]^c[3],f=4;for(var o=1;o<this._nRounds;o++)k=d[0][g>>>24]^d[1][h>>>16&255]^d[2][i>>>8&255]^d[3][255&j]^c[f++],l=d[0][h>>>24]^d[1][i>>>16&255]^d[2][j>>>8&255]^d[3][255&g]^c[f++],m=d[0][i>>>24]^d[1][j>>>16&255]^d[2][g>>>8&255]^d[3][255&h]^c[f++],n=d[0][j>>>24]^d[1][g>>>16&255]^d[2][h>>>8&255]^d[3][255&i]^c[f++],g=k,h=l,i=m,j=n;return k=(e[g>>>24]<<24|e[h>>>16&255]<<16|e[i>>>8&255]<<8|e[255&j])^c[f++],l=(e[h>>>24]<<24|e[i>>>16&255]<<16|e[j>>>8&255]<<8|e[255&g])^c[f++],m=(e[i>>>24]<<24|e[j>>>16&255]<<16|e[g>>>8&255]<<8|e[255&h])^c[f++],n=(e[j>>>24]<<24|e[g>>>16&255]<<16|e[h>>>8&255]<<8|e[255&i])^c[f++],[b(k),b(l),b(m),b(n)]},c.AES=g}).call(this,a("buffer").Buffer)},{buffer:3}],184:[function(a,b,c){(function(c){function d(a,b,e,h){if(!(this instanceof d))return new d(a,b,e);g.call(this),this._finID=c.concat([e,new c([0,0,0,1])]),e=c.concat([e,new c([0,0,0,2])]),this._cipher=new f.AES(b),this._prev=new c(e.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,this._alen=0,this._len=0,e.copy(this._prev),this._mode=a;var j=new c(4);j.fill(0),this._ghash=new i(this._cipher.encryptBlock(j)),this._authTag=null,this._called=!1}function e(a,b){var c=0;a.length!==b.length&&c++;for(var d=Math.min(a.length,b.length),e=-1;++e<d;)c+=a[e]^b[e];return c}var f=a("./aes"),g=a("cipher-base"),h=a("inherits"),i=a("./ghash"),j=a("buffer-xor");h(d,g),b.exports=d,d.prototype._update=function(a){if(!this._called&&this._alen){var b=16-this._alen%16;b<16&&(b=new c(b),b.fill(0),this._ghash.update(b))}this._called=!0;var d=this._mode.encrypt(this,a);return this._decrypt?this._ghash.update(a):this._ghash.update(d),this._len+=a.length,d},d.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var a=j(this._ghash["final"](8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt){if(e(a,this._authTag))throw new Error("Unsupported state or unable to authenticate data")}else this._authTag=a;this._cipher.scrub()},d.prototype.getAuthTag=function(){if(!this._decrypt&&c.isBuffer(this._authTag))return this._authTag;throw new Error("Attempting to get auth tag in unsupported state")},d.prototype.setAuthTag=function(a){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=a},d.prototype.setAAD=function(a){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(a),this._alen+=a.length}}).call(this,a("buffer").Buffer)},{"./aes":183,"./ghash":188,buffer:3,"buffer-xor":197,"cipher-base":198,inherits:207}],185:[function(a,b,c){arguments[4][11][0].apply(c,arguments)},{"./decrypter":186,"./encrypter":187,"./modes":189,dup:11}],186:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(j.call(this),this._cache=new e,this._last=void 0,this._cipher=new i.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a){for(var b=a[15],c=-1;++c<b;)if(a[c+(16-b)]!==b)throw new Error("unable to decrypt data");if(16!==b)return a.slice(0,16-b)}function g(a,c,e){var f=l[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(p[f.mode],c,e,(!0)):"auth"===f.type?new n(p[f.mode],c,e,(!0)):new d(p[f.mode],c,e)}function h(a,b){var c=l[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=o(b,!1,c.key,c.iv);return g(a,d.key,d.iv)}var i=a("./aes"),j=a("cipher-base"),k=a("inherits"),l=a("./modes"),m=a("./streamCipher"),n=a("./authCipher"),o=a("evp_bytestokey");k(d,j),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get(this._autopadding);)d=this._mode.decrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){var a=this._cache.flush();if(this._autopadding)return f(this._mode.decrypt(this,a));if(a)throw new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(a){var b;if(a){if(this.cache.length>16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b}else if(this.cache.length>=16)return b=this.cache.slice(0,16),this.cache=this.cache.slice(16),b;return null},e.prototype.flush=function(){if(this.cache.length)return this.cache};var p={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createDecipher=h,c.createDecipheriv=g}).call(this,a("buffer").Buffer)},{"./aes":183,"./authCipher":184,"./modes":189,"./modes/cbc":190,"./modes/cfb":191,"./modes/cfb1":192,"./modes/cfb8":193,"./modes/ctr":194,"./modes/ecb":195,"./modes/ofb":196,"./streamCipher":199,buffer:3,"cipher-base":198,evp_bytestokey:200,inherits:207}],187:[function(a,b,c){(function(b){function d(a,c,f){return this instanceof d?(i.call(this),this._cache=new e,this._cipher=new h.AES(c),this._prev=new b(f.length),f.copy(this._prev),this._mode=a,void(this._autopadding=!0)):new d(a,c,f)}function e(){return this instanceof e?void(this.cache=new b("")):new e}function f(a,c,e){var f=k[a.toLowerCase()];if(!f)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=new b(e)),"string"==typeof c&&(c=new b(c)),c.length!==f.key/8)throw new TypeError("invalid key length "+c.length);if(e.length!==f.iv)throw new TypeError("invalid iv length "+e.length);return"stream"===f.type?new m(o[f.mode],c,e):"auth"===f.type?new n(o[f.mode],c,e):new d(o[f.mode],c,e)}function g(a,b){var c=k[a.toLowerCase()];if(!c)throw new TypeError("invalid suite type");var d=l(b,!1,c.key,c.iv);return f(a,d.key,d.iv)}var h=a("./aes"),i=a("cipher-base"),j=a("inherits"),k=a("./modes"),l=a("evp_bytestokey"),m=a("./streamCipher"),n=a("./authCipher");j(d,i),d.prototype._update=function(a){this._cache.add(a);for(var c,d,e=[];c=this._cache.get();)d=this._mode.encrypt(this,c),e.push(d);return b.concat(e)},d.prototype._final=function(){var a=this._cache.flush();if(this._autopadding)return a=this._mode.encrypt(this,a),this._cipher.scrub(),a;if("10101010101010101010101010101010"!==a.toString("hex"))throw this._cipher.scrub(),new Error("data not multiple of block length")},d.prototype.setAutoPadding=function(a){return this._autopadding=!!a,this},e.prototype.add=function(a){this.cache=b.concat([this.cache,a])},e.prototype.get=function(){if(this.cache.length>15){var a=this.cache.slice(0,16);return this.cache=this.cache.slice(16),a}return null},e.prototype.flush=function(){for(var a=16-this.cache.length,c=new b(a),d=-1;++d<a;)c.writeUInt8(a,d);var e=b.concat([this.cache,c]);return e};var o={ECB:a("./modes/ecb"),CBC:a("./modes/cbc"),CFB:a("./modes/cfb"),CFB8:a("./modes/cfb8"),CFB1:a("./modes/cfb1"),OFB:a("./modes/ofb"),CTR:a("./modes/ctr"),GCM:a("./modes/ctr")};c.createCipheriv=f,c.createCipher=g}).call(this,a("buffer").Buffer)},{"./aes":183,"./authCipher":184,"./modes":189,"./modes/cbc":190,"./modes/cfb":191,"./modes/cfb1":192,"./modes/cfb8":193,"./modes/ctr":194,"./modes/ecb":195,"./modes/ofb":196,"./streamCipher":199,buffer:3,"cipher-base":198,evp_bytestokey:200,inherits:207}],188:[function(a,b,c){(function(a){function c(b){this.h=b,this.state=new a(16),this.state.fill(0),this.cache=new a("")}function d(a){return[a.readUInt32BE(0),a.readUInt32BE(4),a.readUInt32BE(8),a.readUInt32BE(12)]}function e(b){b=b.map(f);var c=new a(16);return c.writeUInt32BE(b[0],0),c.writeUInt32BE(b[1],4),c.writeUInt32BE(b[2],8),c.writeUInt32BE(b[3],12),c}function f(a){var b,c;return b=a>i||a<0?(c=Math.abs(a)%i,a<0?i-c:c):a}function g(a,b){return[a[0]^b[0],a[1]^b[1],a[2]^b[2],a[3]^b[3]]}var h=new a(16);h.fill(0),b.exports=c,c.prototype.ghash=function(a){for(var b=-1;++b<a.length;)this.state[b]^=a[b];this._multiply()},c.prototype._multiply=function(){for(var a,b,c,f=d(this.h),h=[0,0,0,0],i=-1;++i<128;){for(b=0!==(this.state[~~(i/8)]&1<<7-i%8),b&&(h=g(h,f)),c=0!==(1&f[3]),a=3;a>0;a--)f[a]=f[a]>>>1|(1&f[a-1])<<31;f[0]=f[0]>>>1,c&&(f[0]=f[0]^225<<24)}this.state=e(h)},c.prototype.update=function(b){this.cache=a.concat([this.cache,b]);for(var c;this.cache.length>=16;)c=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(c)},c.prototype["final"]=function(b,c){return this.cache.length&&this.ghash(a.concat([this.cache,h],16)),this.ghash(e([0,b,0,c])),this.state};var i=Math.pow(2,32)}).call(this,a("buffer").Buffer)},{buffer:3}],189:[function(a,b,c){arguments[4][15][0].apply(c,arguments)},{dup:15}],190:[function(a,b,c){arguments[4][16][0].apply(c,arguments)},{"buffer-xor":197,dup:16}],191:[function(a,b,c){(function(b){function d(a,c,d){var f=c.length,g=e(c,a._cache);return a._cache=a._cache.slice(f),a._prev=b.concat([a._prev,d?c:g]),g}var e=a("buffer-xor");c.encrypt=function(a,c,e){for(var f,g=new b("");c.length;){if(0===a._cache.length&&(a._cache=a._cipher.encryptBlock(a._prev),a._prev=new b("")),!(a._cache.length<=c.length)){g=b.concat([g,d(a,c,e)]);break}f=a._cache.length,g=b.concat([g,d(a,c.slice(0,f),e)]),c=c.slice(f)}return g}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":197}],192:[function(a,b,c){(function(a){function b(a,b,c){for(var e,f,g,h=-1,i=8,j=0;++h<i;)e=a._cipher.encryptBlock(a._prev),f=b&1<<7-h?128:0,g=e[0]^f,j+=(128&g)>>h%8,a._prev=d(a._prev,c?f:g);return j}function d(b,c){var d=b.length,e=-1,f=new a(b.length);for(b=a.concat([b,new a([c])]);++e<d;)f[e]=b[e]<<1|b[e+1]>>7;return f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],193:[function(a,b,c){(function(a){function b(b,c,d){var e=b._cipher.encryptBlock(b._prev),f=e[0]^c;return b._prev=a.concat([b._prev.slice(1),new a([d?c:f])]),f}c.encrypt=function(c,d,e){for(var f=d.length,g=new a(f),h=-1;++h<f;)g[h]=b(c,d[h],e);return g}}).call(this,a("buffer").Buffer)},{buffer:3}],194:[function(a,b,c){(function(b){function d(a){for(var b,c=a.length;c--;){if(b=a.readUInt8(c),255!==b){b++,a.writeUInt8(b,c);break}a.writeUInt8(0,c)}}function e(a){var b=a._cipher.encryptBlock(a._prev);return d(a._prev),b}var f=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,e(a)]);var d=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),f(c,d)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":197}],195:[function(a,b,c){arguments[4][21][0].apply(c,arguments)},{dup:21}],196:[function(a,b,c){(function(b){function d(a){return a._prev=a._cipher.encryptBlock(a._prev),a._prev}var e=a("buffer-xor");c.encrypt=function(a,c){for(;a._cache.length<c.length;)a._cache=b.concat([a._cache,d(a)]);var f=a._cache.slice(0,c.length);return a._cache=a._cache.slice(c.length),e(c,f)}}).call(this,a("buffer").Buffer)},{buffer:3,"buffer-xor":197}],197:[function(a,b,c){(function(a){b.exports=function(b,c){for(var d=Math.min(b.length,c.length),e=new a(d),f=0;f<d;++f)e[f]=b[f]^c[f];return e}}).call(this,a("buffer").Buffer)},{buffer:3}],198:[function(a,b,c){(function(c){function d(a){e.call(this),this.hashMode="string"==typeof a,this.hashMode?this[a]=this._finalOrDigest:this["final"]=this._finalOrDigest,this._decoder=null,this._encoding=null}var e=a("stream").Transform,f=a("inherits"),g=a("string_decoder").StringDecoder;b.exports=d,f(d,e),d.prototype.update=function(a,b,d){"string"==typeof a&&(a=new c(a,b));var e=this._update(a);return this.hashMode?this:(d&&(e=this._toString(e,d)),e)},d.prototype.setAutoPadding=function(){},d.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},d.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},d.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},d.prototype._transform=function(a,b,c){var d;try{this.hashMode?this._update(a):this.push(this._update(a))}catch(e){d=e}finally{c(d)}},d.prototype._flush=function(a){var b;try{this.push(this._final())}catch(c){b=c}finally{a(b)}},d.prototype._finalOrDigest=function(a){var b=this._final()||new c("");return a&&(b=this._toString(b,a,!0)),b},d.prototype._toString=function(a,b,c){if(this._decoder||(this._decoder=new g(b),this._encoding=b),this._encoding!==b)throw new Error("can't switch encodings");var d=this._decoder.write(a);return c&&(d+=this._decoder.end()),d}}).call(this,a("buffer").Buffer)},{buffer:3,inherits:207,stream:226,string_decoder:227}],199:[function(a,b,c){(function(c){function d(a,b,g,h){return this instanceof d?(f.call(this),this._cipher=new e.AES(b),this._prev=new c(g.length),this._cache=new c(""),this._secCache=new c(""),this._decrypt=h,g.copy(this._prev),void(this._mode=a)):new d(a,b,g)}var e=a("./aes"),f=a("cipher-base"),g=a("inherits");g(d,f),b.exports=d,d.prototype._update=function(a){return this._mode.encrypt(this,a,this._decrypt)},d.prototype._final=function(){this._cipher.scrub()}}).call(this,a("buffer").Buffer)},{"./aes":183,buffer:3,"cipher-base":198,inherits:207}],200:[function(a,b,c){(function(c){function d(a,b,d,f){c.isBuffer(a)||(a=new c(a,"binary")),b&&!c.isBuffer(b)&&(b=new c(b,"binary")),d/=8,f=f||0;for(var g,h,i=0,j=0,k=new c(d),l=new c(f),m=0,n=[];;){if(m++>0&&n.push(g),n.push(a),b&&n.push(b),g=e(c.concat(n)),n=[],h=0,d>0)for(;;){if(0===d)break;if(h===g.length)break;k[i++]=g[h],d--,h++}if(f>0&&h!==g.length)for(;;){if(0===f)break;if(h===g.length)break;l[j++]=g[h],f--,h++}if(0===d&&0===f)break}for(h=0;h<g.length;h++)g[h]=0;return{key:k,iv:l}}var e=a("create-hash/md5");b.exports=d}).call(this,a("buffer").Buffer)},{buffer:3,"create-hash/md5":138}],201:[function(a,b,c){(function(c){function d(a,b){var d=(a.modulus,a.modulus.byteLength()),e=(b.length,l("sha1").update(new c("")).digest()),g=e.length;if(0!==b[0])throw new Error("decryption error");var j=b.slice(1,g+1),k=b.slice(g+1),m=i(j,h(k,g)),n=i(k,h(m,d-g-1));if(f(e,n.slice(0,g)))throw new Error("decryption error");for(var o=g;0===n[o];)o++;if(1!==n[o++])throw new Error("decryption error");return n.slice(o)}function e(a,b,c){for(var d=b.slice(0,2),e=2,f=0;0!==b[e++];)if(e>=b.length){f++;break}var g=b.slice(2,e-1);b.slice(e-1,e);if(("0002"!==d.toString("hex")&&!c||"0001"!==d.toString("hex")&&c)&&f++,g.length<8&&f++,f)throw new Error("decryption error");return b.slice(e)}function f(a,b){a=new c(a),b=new c(b);var d=0,e=a.length;a.length!==b.length&&(d++,e=Math.min(a.length,b.length));for(var f=-1;++f<e;)d+=a[f]^b[f];return d}var g=a("parse-asn1"),h=a("./mgf"),i=a("./xor"),j=a("bn.js"),k=a("browserify-rsa"),l=a("create-hash"),m=a("./withPublic");b.exports=function(a,b,f){var h;h=a.padding?a.padding:f?1:4;var i=g(a),l=i.modulus.byteLength();if(b.length>l||new j(b).cmp(i.modulus)>=0)throw new Error("decryption error");var n;n=f?m(new j(b),i):k(b,i);var o=new c(l-n.length);if(o.fill(0),n=c.concat([o,n],l),4===h)return d(i,n);if(1===h)return e(i,n,f);if(3===h)return n;throw new Error("unknown padding")}}).call(this,a("buffer").Buffer)},{"./mgf":160,"./withPublic":203,"./xor":204,"bn.js":161,"browserify-rsa":162,buffer:3,"create-hash":136,"parse-asn1":167}],202:[function(a,b,c){(function(c){function d(a,b){var d=a.modulus.byteLength(),e=b.length,f=i("sha1").update(new c("")).digest(),g=f.length,m=2*g;if(e>d-m-2)throw new Error("message too long");var n=new c(d-e-m-2);n.fill(0);var o=d-g-1,p=h(g),q=k(c.concat([f,n,new c([1]),b],o),j(p,o)),r=k(p,j(q,g));return new l(c.concat([new c([0]),r,q],d))}function e(a,b,d){var e=b.length,g=a.modulus.byteLength();if(e>g-11)throw new Error("message too long");var h;return d?(h=new c(g-e-3),h.fill(255)):h=f(g-e-3),new l(c.concat([new c([0,d?1:2]),h,new c([0]),b],g))}function f(a,b){for(var d,e=new c(a),f=0,g=h(2*a),i=0;f<a;)i===g.length&&(g=h(2*a),i=0),d=g[i++],d&&(e[f++]=d);return e}var g=a("parse-asn1"),h=a("randombytes"),i=a("create-hash"),j=a("./mgf"),k=a("./xor"),l=a("bn.js"),m=a("./withPublic"),n=a("browserify-rsa");b.exports=function(a,b,c){var f;f=a.padding?a.padding:c?1:4;var h,i=g(a);if(4===f)h=d(i,b);else if(1===f)h=e(i,b,c);else{if(3!==f)throw new Error("unknown padding");if(h=new l(b),h.cmp(i.modulus)>=0)throw new Error("data too long for modulus")}return c?n(h,i):m(h,i)}}).call(this,a("buffer").Buffer)},{"./mgf":160,"./withPublic":203,"./xor":204,"bn.js":161,"browserify-rsa":162,buffer:3,"create-hash":136,"parse-asn1":167,randombytes:205}],203:[function(a,b,c){(function(c){function d(a,b){return new c(a.toRed(e.mont(b.modulus)).redPow(new e(b.publicExponent)).fromRed().toArray())}var e=a("bn.js");b.exports=d}).call(this,a("buffer").Buffer)},{"bn.js":161,buffer:3}],204:[function(a,b,c){b.exports=function(a,b){for(var c=a.length,d=-1;++d<c;)a[d]^=b[d];return a}},{}],205:[function(a,b,c){(function(a,c,d){"use strict";function e(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}function f(b,e){if(b>65536)throw new Error("requested too many random bytes");var f=new c.Uint8Array(b);b>0&&g.getRandomValues(f);var h=new d(f.buffer);return"function"==typeof e?a.nextTick(function(){e(null,h)}):h}var g=c.crypto||c.msCrypto;g&&g.getRandomValues?b.exports=f:b.exports=e}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a("buffer").Buffer)},{_process:209,buffer:3}],206:[function(a,b,c){
// distribute, sublicense, and/or sell copies of the Software, and to permit
function d(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function e(a){return"function"==typeof a}function f(a){return"number"==typeof a}function g(a){return"object"==typeof a&&null!==a}function h(a){return void 0===a}b.exports=d,d.EventEmitter=d,d.prototype._events=void 0,d.prototype._maxListeners=void 0,d.defaultMaxListeners=10,d.prototype.setMaxListeners=function(a){if(!f(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},d.prototype.emit=function(a){var b,c,d,f,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||g(this._events.error)&&!this._events.error.length)){if(b=arguments[1],b instanceof Error)throw b;var k=new Error('Uncaught, unspecified "error" event. ('+b+")");throw k.context=b,k}if(c=this._events[a],h(c))return!1;if(e(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:f=Array.prototype.slice.call(arguments,1),c.apply(this,f)}else if(g(c))for(f=Array.prototype.slice.call(arguments,1),j=c.slice(),d=j.length,i=0;i<d;i++)j[i].apply(this,f);return!0},d.prototype.addListener=function(a,b){var c;if(!e(b))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,e(b.listener)?b.listener:b),this._events[a]?g(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,g(this._events[a])&&!this._events[a].warned&&(c=h(this._maxListeners)?d.defaultMaxListeners:this._maxListeners,c&&c>0&&this._events[a].length>c&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace())),this},d.prototype.on=d.prototype.addListener,d.prototype.once=function(a,b){function c(){this.removeListener(a,c),d||(d=!0,b.apply(this,arguments))}if(!e(b))throw TypeError("listener must be a function");var d=!1;return c.listener=b,this.on(a,c),this},d.prototype.removeListener=function(a,b){var c,d,f,h;if(!e(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],f=c.length,d=-1,c===b||e(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(g(c)){for(h=f;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){d=h;break}if(d<0)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(d,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},d.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],e(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},d.prototype.listeners=function(a){var b;return b=this._events&&this._events[a]?e(this._events[a])?[this._events[a]]:this._events[a].slice():[]},d.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(e(b))return 1;if(b)return b.length}return 0},d.listenerCount=function(a,b){return a.listenerCount(b)}},{}],207:[function(a,b,c){"function"==typeof Object.create?b.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:b.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],208:[function(a,b,c){function d(a){return!!a.constructor&&"function"==typeof a.constructor.isBuffer&&a.constructor.isBuffer(a)}function e(a){return"function"==typeof a.readFloatLE&&"function"==typeof a.slice&&d(a.slice(0,0))}/*!
 * Determine if an object is a Buffer
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
b.exports=function(a){return null!=a&&(d(a)||e(a)||!!a._isBuffer)}},{}],209:[function(a,b,c){function d(){throw new Error("setTimeout has not been defined")}function e(){throw new Error("clearTimeout has not been defined")}function f(a){if(l===setTimeout)return setTimeout(a,0);if((l===d||!l)&&setTimeout)return l=setTimeout,setTimeout(a,0);try{return l(a,0)}catch(b){try{return l.call(null,a,0)}catch(b){return l.call(this,a,0)}}}function g(a){if(m===clearTimeout)return clearTimeout(a);if((m===e||!m)&&clearTimeout)return m=clearTimeout,clearTimeout(a);try{return m(a)}catch(b){try{return m.call(null,a)}catch(b){return m.call(this,a)}}}function h(){q&&o&&(q=!1,o.length?p=o.concat(p):r=-1,p.length&&i())}function i(){if(!q){var a=f(h);q=!0;for(var b=p.length;b;){for(o=p,p=[];++r<b;)o&&o[r].run();r=-1,b=p.length}o=null,q=!1,g(a)}}function j(a,b){this.fun=a,this.array=b}function k(){}var l,m,n=b.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:d}catch(a){l=d}try{m="function"==typeof clearTimeout?clearTimeout:e}catch(a){m=e}}();var o,p=[],q=!1,r=-1;n.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];p.push(new j(a,b)),1!==p.length||q||f(i)},j.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=k,n.addListener=k,n.once=k,n.off=k,n.removeListener=k,n.removeAllListeners=k,n.emit=k,n.binding=function(a){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(a){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},{}],210:[function(a,b,c){b.exports=a("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":211}],211:[function(a,b,c){"use strict";function d(a){return this instanceof d?(j.call(this,a),k.call(this,a),a&&a.readable===!1&&(this.readable=!1),a&&a.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,a&&a.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",e)):new d(a)}function e(){this.allowHalfOpen||this._writableState.ended||h(f,this)}function f(a){a.end()}var g=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b};b.exports=d;var h=a("process-nextick-args"),i=a("core-util-is");i.inherits=a("inherits");var j=a("./_stream_readable"),k=a("./_stream_writable");i.inherits(d,j);for(var l=g(k.prototype),m=0;m<l.length;m++){var n=l[m];d.prototype[n]||(d.prototype[n]=k.prototype[n])}},{"./_stream_readable":213,"./_stream_writable":215,"core-util-is":218,inherits:207,"process-nextick-args":220}],212:[function(a,b,c){"use strict";function d(a){return this instanceof d?void e.call(this,a):new d(a)}b.exports=d;var e=a("./_stream_transform"),f=a("core-util-is");f.inherits=a("inherits"),f.inherits(d,e),d.prototype._transform=function(a,b,c){c(null,a)}},{"./_stream_transform":214,"core-util-is":218,inherits:207}],213:[function(a,b,c){(function(c){"use strict";function d(a,b,c){return"function"==typeof a.prependListener?a.prependListener(b,c):void(a._events&&a._events[b]?F(a._events[b])?a._events[b].unshift(c):a._events[b]=[c,a._events[b]]:a.on(b,c))}function e(b,c){D=D||a("./_stream_duplex"),b=b||{},this.objectMode=!!b.objectMode,c instanceof D&&(this.objectMode=this.objectMode||!!b.readableObjectMode);var d=b.highWaterMark,e=this.objectMode?16:16384;this.highWaterMark=d||0===d?d:e,this.highWaterMark=~~this.highWaterMark,this.buffer=new O,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(N||(N=a("string_decoder/").StringDecoder),this.decoder=new N(b.encoding),this.encoding=b.encoding)}function f(b){return D=D||a("./_stream_duplex"),this instanceof f?(this._readableState=new e(b,this),this.readable=!0,b&&"function"==typeof b.read&&(this._read=b.read),void G.call(this)):new f(b)}function g(a,b,c,d,e){var f=k(b,c);if(f)a.emit("error",f);else if(null===c)b.reading=!1,l(a,b);else if(b.objectMode||c&&c.length>0)if(b.ended&&!e){var g=new Error("stream.push() after EOF");a.emit("error",g)}else if(b.endEmitted&&e){var i=new Error("stream.unshift() after end event");a.emit("error",i)}else{var j;!b.decoder||e||d||(c=b.decoder.write(c),j=!b.objectMode&&0===c.length),e||(b.reading=!1),j||(b.flowing&&0===b.length&&!b.sync?(a.emit("data",c),a.read(0)):(b.length+=b.objectMode?1:c.length,e?b.buffer.unshift(c):b.buffer.push(c),b.needReadable&&m(a))),o(a,b)}else e||(b.reading=!1);return h(b)}function h(a){return!a.ended&&(a.needReadable||a.length<a.highWaterMark||0===a.length)}function i(a){return a>=P?a=P:(a--,a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,a++),a}function j(a,b){return a<=0||0===b.length&&b.ended?0:b.objectMode?1:a!==a?b.flowing&&b.length?b.buffer.head.data.length:b.length:(a>b.highWaterMark&&(b.highWaterMark=i(a)),a<=b.length?a:b.ended?b.length:(b.needReadable=!0,0))}function k(a,b){var c=null;return I.isBuffer(b)||"string"==typeof b||null===b||void 0===b||a.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c}function l(a,b){if(!b.ended){if(b.decoder){var c=b.decoder.end();c&&c.length&&(b.buffer.push(c),b.length+=b.objectMode?1:c.length)}b.ended=!0,m(a)}}function m(a){var b=a._readableState;b.needReadable=!1,b.emittedReadable||(M("emitReadable",b.flowing),b.emittedReadable=!0,b.sync?E(n,a):n(a))}function n(a){M("emit readable"),a.emit("readable"),u(a)}function o(a,b){b.readingMore||(b.readingMore=!0,E(p,a,b))}function p(a,b){for(var c=b.length;!b.reading&&!b.flowing&&!b.ended&&b.length<b.highWaterMark&&(M("maybeReadMore read 0"),a.read(0),c!==b.length);)c=b.length;b.readingMore=!1}function q(a){return function(){var b=a._readableState;M("pipeOnDrain",b.awaitDrain),b.awaitDrain&&b.awaitDrain--,0===b.awaitDrain&&H(a,"data")&&(b.flowing=!0,u(a))}}function r(a){M("readable nexttick read 0"),a.read(0)}function s(a,b){b.resumeScheduled||(b.resumeScheduled=!0,E(t,a,b))}function t(a,b){b.reading||(M("resume read 0"),a.read(0)),b.resumeScheduled=!1,b.awaitDrain=0,a.emit("resume"),u(a),b.flowing&&!b.reading&&a.read(0)}function u(a){var b=a._readableState;for(M("flow",b.flowing);b.flowing&&null!==a.read(););}function v(a,b){if(0===b.length)return null;var c;return b.objectMode?c=b.buffer.shift():!a||a>=b.length?(c=b.decoder?b.buffer.join(""):1===b.buffer.length?b.buffer.head.data:b.buffer.concat(b.length),b.buffer.clear()):c=w(a,b.buffer,b.decoder),c}function w(a,b,c){var d;return a<b.head.data.length?(d=b.head.data.slice(0,a),b.head.data=b.head.data.slice(a)):d=a===b.head.data.length?b.shift():c?x(a,b):y(a,b),d}function x(a,b){var c=b.head,d=1,e=c.data;for(a-=e.length;c=c.next;){var f=c.data,g=a>f.length?f.length:a;if(e+=g===f.length?f:f.slice(0,a),a-=g,0===a){g===f.length?(++d,c.next?b.head=c.next:b.head=b.tail=null):(b.head=c,c.data=f.slice(g));break}++d}return b.length-=d,e}function y(a,b){var c=J.allocUnsafe(a),d=b.head,e=1;for(d.data.copy(c),a-=d.data.length;d=d.next;){var f=d.data,g=a>f.length?f.length:a;if(f.copy(c,c.length-a,0,g),a-=g,0===a){g===f.length?(++e,d.next?b.head=d.next:b.head=b.tail=null):(b.head=d,d.data=f.slice(g));break}++e}return b.length-=e,c}function z(a){var b=a._readableState;if(b.length>0)throw new Error('"endReadable()" called on non-empty stream');b.endEmitted||(b.ended=!0,E(A,b,a))}function A(a,b){a.endEmitted||0!==a.length||(a.endEmitted=!0,b.readable=!1,b.emit("end"))}function B(a,b){for(var c=0,d=a.length;c<d;c++)b(a[c],c)}function C(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}b.exports=f;var D,E=a("process-nextick-args"),F=a("isarray");f.ReadableState=e;var G,H=(a("events").EventEmitter,function(a,b){return a.listeners(b).length});!function(){try{G=a("stream")}catch(b){}finally{G||(G=a("events").EventEmitter)}}();var I=a("buffer").Buffer,J=a("buffer-shims"),K=a("core-util-is");K.inherits=a("inherits");var L=a("util"),M=void 0;M=L&&L.debuglog?L.debuglog("stream"):function(){};var N,O=a("./internal/streams/BufferList");K.inherits(f,G),f.prototype.push=function(a,b){var c=this._readableState;return c.objectMode||"string"!=typeof a||(b=b||c.defaultEncoding,b!==c.encoding&&(a=J.from(a,b),b="")),g(this,c,a,b,!1)},f.prototype.unshift=function(a){var b=this._readableState;return g(this,b,a,"",!0)},f.prototype.isPaused=function(){return this._readableState.flowing===!1},f.prototype.setEncoding=function(b){return N||(N=a("string_decoder/").StringDecoder),this._readableState.decoder=new N(b),this._readableState.encoding=b,this};var P=8388608;f.prototype.read=function(a){M("read",a),a=parseInt(a,10);var b=this._readableState,c=a;if(0!==a&&(b.emittedReadable=!1),0===a&&b.needReadable&&(b.length>=b.highWaterMark||b.ended))return M("read: emitReadable",b.length,b.ended),0===b.length&&b.ended?z(this):m(this),null;if(a=j(a,b),0===a&&b.ended)return 0===b.length&&z(this),null;var d=b.needReadable;M("need readable",d),(0===b.length||b.length-a<b.highWaterMark)&&(d=!0,M("length less than watermark",d)),b.ended||b.reading?(d=!1,M("reading or ended",d)):d&&(M("do read"),b.reading=!0,b.sync=!0,0===b.length&&(b.needReadable=!0),this._read(b.highWaterMark),b.sync=!1,b.reading||(a=j(c,b)));var e;return e=a>0?v(a,b):null,null===e?(b.needReadable=!0,a=0):b.length-=a,0===b.length&&(b.ended||(b.needReadable=!0),c!==a&&b.ended&&z(this)),null!==e&&this.emit("data",e),e},f.prototype._read=function(a){this.emit("error",new Error("_read() is not implemented"))},f.prototype.pipe=function(a,b){function e(a){M("onunpipe"),a===m&&g()}function f(){M("onend"),a.end()}function g(){M("cleanup"),a.removeListener("close",j),a.removeListener("finish",k),a.removeListener("drain",r),a.removeListener("error",i),a.removeListener("unpipe",e),m.removeListener("end",f),m.removeListener("end",g),m.removeListener("data",h),s=!0,!n.awaitDrain||a._writableState&&!a._writableState.needDrain||r()}function h(b){M("ondata"),t=!1;var c=a.write(b);!1!==c||t||((1===n.pipesCount&&n.pipes===a||n.pipesCount>1&&C(n.pipes,a)!==-1)&&!s&&(M("false write response, pause",m._readableState.awaitDrain),m._readableState.awaitDrain++,t=!0),m.pause())}function i(b){M("onerror",b),l(),a.removeListener("error",i),0===H(a,"error")&&a.emit("error",b)}function j(){a.removeListener("finish",k),l()}function k(){M("onfinish"),a.removeListener("close",j),l()}function l(){M("unpipe"),m.unpipe(a)}var m=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=a;break;case 1:n.pipes=[n.pipes,a];break;default:n.pipes.push(a)}n.pipesCount+=1,M("pipe count=%d opts=%j",n.pipesCount,b);var o=(!b||b.end!==!1)&&a!==c.stdout&&a!==c.stderr,p=o?f:g;n.endEmitted?E(p):m.once("end",p),a.on("unpipe",e);var r=q(m);a.on("drain",r);var s=!1,t=!1;return m.on("data",h),d(a,"error",i),a.once("close",j),a.once("finish",k),a.emit("pipe",m),n.flowing||(M("pipe resume"),m.resume()),a},f.prototype.unpipe=function(a){var b=this._readableState;if(0===b.pipesCount)return this;if(1===b.pipesCount)return a&&a!==b.pipes?this:(a||(a=b.pipes),b.pipes=null,b.pipesCount=0,b.flowing=!1,a&&a.emit("unpipe",this),this);if(!a){var c=b.pipes,d=b.pipesCount;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var e=0;e<d;e++)c[e].emit("unpipe",this);return this}var f=C(b.pipes,a);return f===-1?this:(b.pipes.splice(f,1),b.pipesCount-=1,1===b.pipesCount&&(b.pipes=b.pipes[0]),a.emit("unpipe",this),this)},f.prototype.on=function(a,b){var c=G.prototype.on.call(this,a,b);if("data"===a)this._readableState.flowing!==!1&&this.resume();else if("readable"===a){var d=this._readableState;d.endEmitted||d.readableListening||(d.readableListening=d.needReadable=!0,d.emittedReadable=!1,d.reading?d.length&&m(this,d):E(r,this))}return c},f.prototype.addListener=f.prototype.on,f.prototype.resume=function(){var a=this._readableState;return a.flowing||(M("resume"),a.flowing=!0,s(this,a)),this},f.prototype.pause=function(){return M("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(M("pause"),this._readableState.flowing=!1,this.emit("pause")),this},f.prototype.wrap=function(a){var b=this._readableState,c=!1,d=this;a.on("end",function(){if(M("wrapped end"),b.decoder&&!b.ended){var a=b.decoder.end();a&&a.length&&d.push(a)}d.push(null)}),a.on("data",function(e){if(M("wrapped data"),b.decoder&&(e=b.decoder.write(e)),(!b.objectMode||null!==e&&void 0!==e)&&(b.objectMode||e&&e.length)){var f=d.push(e);f||(c=!0,a.pause())}});for(var e in a)void 0===this[e]&&"function"==typeof a[e]&&(this[e]=function(b){return function(){return a[b].apply(a,arguments)}}(e));var f=["error","close","destroy","pause","resume"];return B(f,function(b){a.on(b,d.emit.bind(d,b))}),d._read=function(b){M("wrapped _read",b),c&&(c=!1,a.resume())},d},f._fromList=v}).call(this,a("_process"))},{"./_stream_duplex":211,"./internal/streams/BufferList":216,_process:209,buffer:3,"buffer-shims":217,"core-util-is":218,events:206,inherits:207,isarray:219,"process-nextick-args":220,"string_decoder/":227,util:2}],214:[function(a,b,c){"use strict";function d(a){this.afterTransform=function(b,c){return e(a,b,c)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function e(a,b,c){var d=a._transformState;d.transforming=!1;var e=d.writecb;if(!e)return a.emit("error",new Error("no writecb in Transform class"));d.writechunk=null,d.writecb=null,null!==c&&void 0!==c&&a.push(c),e(b);var f=a._readableState;f.reading=!1,(f.needReadable||f.length<f.highWaterMark)&&a._read(f.highWaterMark)}function f(a){if(!(this instanceof f))return new f(a);h.call(this,a),this._transformState=new d(this);var b=this;this._readableState.needReadable=!0,this._readableState.sync=!1,a&&("function"==typeof a.transform&&(this._transform=a.transform),"function"==typeof a.flush&&(this._flush=a.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(a,c){g(b,a,c)}):g(b)})}function g(a,b,c){if(b)return a.emit("error",b);null!==c&&void 0!==c&&a.push(c);var d=a._writableState,e=a._transformState;if(d.length)throw new Error("Calling transform done when ws.length != 0");if(e.transforming)throw new Error("Calling transform done when still transforming");return a.push(null)}b.exports=f;var h=a("./_stream_duplex"),i=a("core-util-is");i.inherits=a("inherits"),i.inherits(f,h),f.prototype.push=function(a,b){return this._transformState.needTransform=!1,h.prototype.push.call(this,a,b)},f.prototype._transform=function(a,b,c){throw new Error("_transform() is not implemented")},f.prototype._write=function(a,b,c){var d=this._transformState;if(d.writecb=c,d.writechunk=a,d.writeencoding=b,!d.transforming){var e=this._readableState;(d.needTransform||e.needReadable||e.length<e.highWaterMark)&&this._read(e.highWaterMark)}},f.prototype._read=function(a){var b=this._transformState;null!==b.writechunk&&b.writecb&&!b.transforming?(b.transforming=!0,this._transform(b.writechunk,b.writeencoding,b.afterTransform)):b.needTransform=!0}},{"./_stream_duplex":211,"core-util-is":218,inherits:207}],215:[function(a,b,c){(function(c){"use strict";function d(){}function e(a,b,c){this.chunk=a,this.encoding=b,this.callback=c,this.next=null}function f(b,c){x=x||a("./_stream_duplex"),b=b||{},this.objectMode=!!b.objectMode,c instanceof x&&(this.objectMode=this.objectMode||!!b.writableObjectMode);var d=b.highWaterMark,e=this.objectMode?16:16384;this.highWaterMark=d||0===d?d:e,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var f=b.decodeStrings===!1;this.decodeStrings=!f,this.defaultEncoding=b.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){o(c,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new w(this)}function g(b){return x=x||a("./_stream_duplex"),F.call(g,this)||this instanceof x?(this._writableState=new f(b,this),this.writable=!0,b&&("function"==typeof b.write&&(this._write=b.write),"function"==typeof b.writev&&(this._writev=b.writev)),void B.call(this)):new g(b)}function h(a,b){var c=new Error("write after end");a.emit("error",c),y(b,c)}function i(a,b,c,d){var e=!0,f=!1;return null===c?f=new TypeError("May not write null values to stream"):"string"==typeof c||void 0===c||b.objectMode||(f=new TypeError("Invalid non-string/buffer chunk")),f&&(a.emit("error",f),y(d,f),e=!1),e}function j(a,b,c){return a.objectMode||a.decodeStrings===!1||"string"!=typeof b||(b=E.from(b,c)),b}function k(a,b,c,d,f,g){c||(d=j(b,d,f),D.isBuffer(d)&&(f="buffer"));var h=b.objectMode?1:d.length;b.length+=h;var i=b.length<b.highWaterMark;if(i||(b.needDrain=!0),b.writing||b.corked){var k=b.lastBufferedRequest;b.lastBufferedRequest=new e(d,f,g),k?k.next=b.lastBufferedRequest:b.bufferedRequest=b.lastBufferedRequest,b.bufferedRequestCount+=1}else l(a,b,!1,h,d,f,g);return i}function l(a,b,c,d,e,f,g){b.writelen=d,b.writecb=g,b.writing=!0,b.sync=!0,c?a._writev(e,b.onwrite):a._write(e,f,b.onwrite),b.sync=!1}function m(a,b,c,d,e){--b.pendingcb,c?y(e,d):e(d),a._writableState.errorEmitted=!0,a.emit("error",d)}function n(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}function o(a,b){var c=a._writableState,d=c.sync,e=c.writecb;if(n(c),b)m(a,c,d,b,e);else{var f=s(c);f||c.corked||c.bufferProcessing||!c.bufferedRequest||r(a,c),d?z(p,a,c,f,e):p(a,c,f,e)}}function p(a,b,c,d){c||q(a,b),b.pendingcb--,d(),u(a,b)}function q(a,b){0===b.length&&b.needDrain&&(b.needDrain=!1,a.emit("drain"))}function r(a,b){b.bufferProcessing=!0;var c=b.bufferedRequest;if(a._writev&&c&&c.next){var d=b.bufferedRequestCount,e=new Array(d),f=b.corkedRequestsFree;f.entry=c;for(var g=0;c;)e[g]=c,c=c.next,g+=1;l(a,b,!0,b.length,e,"",f.finish),b.pendingcb++,b.lastBufferedRequest=null,f.next?(b.corkedRequestsFree=f.next,f.next=null):b.corkedRequestsFree=new w(b)}else{for(;c;){var h=c.chunk,i=c.encoding,j=c.callback,k=b.objectMode?1:h.length;if(l(a,b,!1,k,h,i,j),c=c.next,b.writing)break}null===c&&(b.lastBufferedRequest=null)}b.bufferedRequestCount=0,b.bufferedRequest=c,b.bufferProcessing=!1}function s(a){return a.ending&&0===a.length&&null===a.bufferedRequest&&!a.finished&&!a.writing}function t(a,b){b.prefinished||(b.prefinished=!0,a.emit("prefinish"))}function u(a,b){var c=s(b);return c&&(0===b.pendingcb?(t(a,b),b.finished=!0,a.emit("finish")):t(a,b)),c}function v(a,b,c){b.ending=!0,u(a,b),c&&(b.finished?y(c):a.once("finish",c)),b.ended=!0,a.writable=!1}function w(a){var b=this;this.next=null,this.entry=null,this.finish=function(c){var d=b.entry;for(b.entry=null;d;){var e=d.callback;a.pendingcb--,e(c),d=d.next}a.corkedRequestsFree?a.corkedRequestsFree.next=b:a.corkedRequestsFree=b}}b.exports=g;var x,y=a("process-nextick-args"),z=!c.browser&&["v0.10","v0.9."].indexOf(c.version.slice(0,5))>-1?setImmediate:y;g.WritableState=f;var A=a("core-util-is");A.inherits=a("inherits");var B,C={deprecate:a("util-deprecate")};!function(){try{B=a("stream")}catch(b){}finally{B||(B=a("events").EventEmitter)}}();var D=a("buffer").Buffer,E=a("buffer-shims");A.inherits(g,B),f.prototype.getBuffer=function(){for(var a=this.bufferedRequest,b=[];a;)b.push(a),a=a.next;return b},function(){try{Object.defineProperty(f.prototype,"buffer",{get:C.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(a){}}();var F;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(F=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(a){return!!F.call(this,a)||a&&a._writableState instanceof f}})):F=function(a){return a instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(a,b,c){var e=this._writableState,f=!1,g=D.isBuffer(a);return"function"==typeof b&&(c=b,b=null),g?b="buffer":b||(b=e.defaultEncoding),"function"!=typeof c&&(c=d),e.ended?h(this,c):(g||i(this,e,a,c))&&(e.pendingcb++,f=k(this,e,g,a,b,c)),f},g.prototype.cork=function(){var a=this._writableState;a.corked++},g.prototype.uncork=function(){var a=this._writableState;a.corked&&(a.corked--,a.writing||a.corked||a.finished||a.bufferProcessing||!a.bufferedRequest||r(this,a))},g.prototype.setDefaultEncoding=function(a){if("string"==typeof a&&(a=a.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((a+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+a);return this._writableState.defaultEncoding=a,this},g.prototype._write=function(a,b,c){c(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(a,b,c){var d=this._writableState;"function"==typeof a?(c=a,a=null,b=null):"function"==typeof b&&(c=b,b=null),null!==a&&void 0!==a&&this.write(a,b),d.corked&&(d.corked=1,this.uncork()),d.ending||d.finished||v(this,d,c)}}).call(this,a("_process"))},{"./_stream_duplex":211,_process:209,buffer:3,"buffer-shims":217,"core-util-is":218,events:206,inherits:207,"process-nextick-args":220,"util-deprecate":221}],216:[function(a,b,c){"use strict";function d(){this.head=null,this.tail=null,this.length=0}var e=(a("buffer").Buffer,a("buffer-shims"));b.exports=d,d.prototype.push=function(a){var b={data:a,next:null};this.length>0?this.tail.next=b:this.head=b,this.tail=b,++this.length},d.prototype.unshift=function(a){var b={data:a,next:this.head};0===this.length&&(this.tail=b),this.head=b,++this.length},d.prototype.shift=function(){if(0!==this.length){var a=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,a}},d.prototype.clear=function(){this.head=this.tail=null,this.length=0},d.prototype.join=function(a){if(0===this.length)return"";for(var b=this.head,c=""+b.data;b=b.next;)c+=a+b.data;return c},d.prototype.concat=function(a){if(0===this.length)return e.alloc(0);if(1===this.length)return this.head.data;for(var b=e.allocUnsafe(a>>>0),c=this.head,d=0;c;)c.data.copy(b,d),d+=c.data.length,c=c.next;return b}},{buffer:3,"buffer-shims":217}],217:[function(a,b,c){(function(b){"use strict";var d=a("buffer"),e=d.Buffer,f=d.SlowBuffer,g=d.kMaxLength||2147483647;c.alloc=function(a,b,c){if("function"==typeof e.alloc)return e.alloc(a,b,c);if("number"==typeof c)throw new TypeError("encoding must not be number");if("number"!=typeof a)throw new TypeError("size must be a number");if(a>g)throw new RangeError("size is too large");var d=c,f=b;void 0===f&&(d=void 0,f=0);var h=new e(a);if("string"==typeof f)for(var i=new e(f,d),j=i.length,k=-1;++k<a;)h[k]=i[k%j];else h.fill(f);return h},c.allocUnsafe=function(a){if("function"==typeof e.allocUnsafe)return e.allocUnsafe(a);if("number"!=typeof a)throw new TypeError("size must be a number");if(a>g)throw new RangeError("size is too large");return new e(a)},c.from=function(a,c,d){if("function"==typeof e.from&&(!b.Uint8Array||Uint8Array.from!==e.from))return e.from(a,c,d);if("number"==typeof a)throw new TypeError('"value" argument must not be a number');if("string"==typeof a)return new e(a,c);if("undefined"!=typeof ArrayBuffer&&a instanceof ArrayBuffer){var f=c;if(1===arguments.length)return new e(a);"undefined"==typeof f&&(f=0);var g=d;if("undefined"==typeof g&&(g=a.byteLength-f),f>=a.byteLength)throw new RangeError("'offset' is out of bounds");if(g>a.byteLength-f)throw new RangeError("'length' is out of bounds");return new e(a.slice(f,f+g))}if(e.isBuffer(a)){var h=new e(a.length);return a.copy(h,0,0,a.length),h}if(a){if(Array.isArray(a)||"undefined"!=typeof ArrayBuffer&&a.buffer instanceof ArrayBuffer||"length"in a)return new e(a);if("Buffer"===a.type&&Array.isArray(a.data))return new e(a.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},c.allocUnsafeSlow=function(a){if("function"==typeof e.allocUnsafeSlow)return e.allocUnsafeSlow(a);if("number"!=typeof a)throw new TypeError("size must be a number");if(a>=g)throw new RangeError("size is too large");return new f(a)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{buffer:3}],218:[function(a,b,c){(function(a){
// distribute, sublicense, and/or sell copies of the Software, and to permit
function b(a){return Array.isArray?Array.isArray(a):"[object Array]"===q(a)}function d(a){return"boolean"==typeof a}function e(a){return null===a}function f(a){return null==a}function g(a){return"number"==typeof a}function h(a){return"string"==typeof a}function i(a){return"symbol"==typeof a}function j(a){return void 0===a}function k(a){return"[object RegExp]"===q(a)}function l(a){return"object"==typeof a&&null!==a}function m(a){return"[object Date]"===q(a)}function n(a){return"[object Error]"===q(a)||a instanceof Error}function o(a){return"function"==typeof a}function p(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function q(a){return Object.prototype.toString.call(a)}c.isArray=b,c.isBoolean=d,c.isNull=e,c.isNullOrUndefined=f,c.isNumber=g,c.isString=h,c.isSymbol=i,c.isUndefined=j,c.isRegExp=k,c.isObject=l,c.isDate=m,c.isError=n,c.isFunction=o,c.isPrimitive=p,c.isBuffer=a.isBuffer}).call(this,{isBuffer:a("../../../../insert-module-globals/node_modules/is-buffer/index.js")})},{"../../../../insert-module-globals/node_modules/is-buffer/index.js":208}],219:[function(a,b,c){arguments[4][6][0].apply(c,arguments)},{dup:6}],220:[function(a,b,c){(function(a){"use strict";function c(b,c,d,e){if("function"!=typeof b)throw new TypeError('"callback" argument must be a function');var f,g,h=arguments.length;switch(h){case 0:case 1:return a.nextTick(b);case 2:return a.nextTick(function(){b.call(null,c)});case 3:return a.nextTick(function(){b.call(null,c,d)});case 4:return a.nextTick(function(){b.call(null,c,d,e)});default:for(f=new Array(h-1),g=0;g<f.length;)f[g++]=arguments[g];return a.nextTick(function(){b.apply(null,f)})}}!a.version||0===a.version.indexOf("v0.")||0===a.version.indexOf("v1.")&&0!==a.version.indexOf("v1.8.")?b.exports=c:b.exports=a.nextTick}).call(this,a("_process"))},{_process:209}],221:[function(a,b,c){(function(a){function c(a,b){function c(){if(!e){if(d("throwDeprecation"))throw new Error(b);d("traceDeprecation")?console.trace(b):console.warn(b),e=!0}return a.apply(this,arguments)}if(d("noDeprecation"))return a;var e=!1;return c}function d(b){try{if(!a.localStorage)return!1}catch(c){return!1}var d=a.localStorage[b];return null!=d&&"true"===String(d).toLowerCase()}b.exports=c}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],222:[function(a,b,c){b.exports=a("./lib/_stream_passthrough.js")},{"./lib/_stream_passthrough.js":212}],223:[function(a,b,c){(function(d){var e=function(){try{return a("stream")}catch(b){}}();c=b.exports=a("./lib/_stream_readable.js"),c.Stream=e||c,c.Readable=c,c.Writable=a("./lib/_stream_writable.js"),c.Duplex=a("./lib/_stream_duplex.js"),c.Transform=a("./lib/_stream_transform.js"),c.PassThrough=a("./lib/_stream_passthrough.js"),!d.browser&&"disable"===d.env.READABLE_STREAM&&e&&(b.exports=e)}).call(this,a("_process"))},{"./lib/_stream_duplex.js":211,"./lib/_stream_passthrough.js":212,"./lib/_stream_readable.js":213,"./lib/_stream_transform.js":214,"./lib/_stream_writable.js":215,_process:209}],224:[function(a,b,c){b.exports=a("./lib/_stream_transform.js")},{"./lib/_stream_transform.js":214}],225:[function(a,b,c){b.exports=a("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":215}],226:[function(a,b,c){function d(){e.call(this)}
// distribute, sublicense, and/or sell copies of the Software, and to permit
b.exports=d;var e=a("events").EventEmitter,f=a("inherits");f(d,e),d.Readable=a("readable-stream/readable.js"),d.Writable=a("readable-stream/writable.js"),d.Duplex=a("readable-stream/duplex.js"),d.Transform=a("readable-stream/transform.js"),d.PassThrough=a("readable-stream/passthrough.js"),d.Stream=d,d.prototype.pipe=function(a,b){function c(b){a.writable&&!1===a.write(b)&&j.pause&&j.pause()}function d(){j.readable&&j.resume&&j.resume()}function f(){k||(k=!0,a.end())}function g(){k||(k=!0,"function"==typeof a.destroy&&a.destroy())}function h(a){if(i(),0===e.listenerCount(this,"error"))throw a}function i(){j.removeListener("data",c),a.removeListener("drain",d),j.removeListener("end",f),j.removeListener("close",g),j.removeListener("error",h),a.removeListener("error",h),j.removeListener("end",i),j.removeListener("close",i),a.removeListener("close",i)}var j=this;j.on("data",c),a.on("drain",d),a._isStdio||b&&b.end===!1||(j.on("end",f),j.on("close",g));var k=!1;return j.on("error",h),a.on("error",h),j.on("end",i),j.on("close",i),a.on("close",i),a.emit("pipe",j),a}},{events:206,inherits:207,"readable-stream/duplex.js":210,"readable-stream/passthrough.js":222,"readable-stream/readable.js":223,"readable-stream/transform.js":224,"readable-stream/writable.js":225}],227:[function(a,b,c){function d(a){if(a&&!i(a))throw new Error("Unknown encoding: "+a)}function e(a){return a.toString(this.encoding)}function f(a){this.charReceived=a.length%2,this.charLength=this.charReceived?2:0}function g(a){this.charReceived=a.length%3,this.charLength=this.charReceived?3:0}
// distribute, sublicense, and/or sell copies of the Software, and to permit
var h=a("buffer").Buffer,i=h.isEncoding||function(a){switch(a&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},j=c.StringDecoder=function(a){switch(this.encoding=(a||"utf8").toLowerCase().replace(/[-_]/,""),d(a),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=f;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=g;break;default:return void(this.write=e)}this.charBuffer=new h(6),this.charReceived=0,this.charLength=0};j.prototype.write=function(a){for(var b="";this.charLength;){var c=a.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:a.length;if(a.copy(this.charBuffer,this.charReceived,0,c),this.charReceived+=c,this.charReceived<this.charLength)return"";a=a.slice(c,a.length),b=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var d=b.charCodeAt(b.length-1);if(!(d>=55296&&d<=56319)){if(this.charReceived=this.charLength=0,0===a.length)return b;break}this.charLength+=this.surrogateSize,b=""}this.detectIncompleteChar(a);var e=a.length;this.charLength&&(a.copy(this.charBuffer,0,a.length-this.charReceived,e),e-=this.charReceived),b+=a.toString(this.encoding,0,e);var e=b.length-1,d=b.charCodeAt(e);if(d>=55296&&d<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),a.copy(this.charBuffer,0,0,f),b.substring(0,e)}return b},j.prototype.detectIncompleteChar=function(a){for(var b=a.length>=3?3:a.length;b>0;b--){var c=a[a.length-b];if(1==b&&c>>5==6){this.charLength=2;break}if(b<=2&&c>>4==14){this.charLength=3;break}if(b<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=b},j.prototype.end=function(a){var b="";if(a&&a.length&&(b=this.write(a)),this.charReceived){var c=this.charReceived,d=this.charBuffer,e=this.encoding;b+=d.slice(0,c).toString(e)}return b}},{buffer:3}],228:[function(require,module,exports){function Context(){}var indexOf=require("indexof"),Object_keys=function(a){if(Object.keys)return Object.keys(a);var b=[];for(var c in a)b.push(c);return b},forEach=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c++)b(a[c],c,a)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(a,b,c){Object.defineProperty(a,b,{writable:!0,enumerable:!1,configurable:!0,value:c})}}catch(a){return function(a,b,c){a[b]=c}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];Context.prototype={};var Script=exports.Script=function(a){return this instanceof Script?void(this.code=a):new Script(a)};Script.prototype.runInContext=function(a){if(!(a instanceof Context))throw new TypeError("needs a 'context' argument.");var b=document.createElement("iframe");b.style||(b.style={}),b.style.display="none",document.body.appendChild(b);var c=b.contentWindow,d=c.eval,e=c.execScript;!d&&e&&(e.call(c,"null"),d=c.eval),forEach(Object_keys(a),function(b){c[b]=a[b]}),forEach(globals,function(b){a[b]&&(c[b]=a[b])});var f=Object_keys(c),g=d.call(c,this.code);return forEach(Object_keys(c),function(b){(b in a||indexOf(f,b)===-1)&&(a[b]=c[b])}),forEach(globals,function(b){b in a||defineProp(a,b,c[b])}),document.body.removeChild(b),g},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(a){var b=Script.createContext(a),c=this.runInContext(b);return forEach(Object_keys(b),function(c){a[c]=b[c]}),c},forEach(Object_keys(Script.prototype),function(a){exports[a]=Script[a]=function(b){var c=Script(b);return c[a].apply(c,[].slice.call(arguments,1))}}),exports.createScript=function(a){return exports.Script(a)},exports.createContext=Script.createContext=function(a){var b=new Context;return"object"==typeof a&&forEach(Object_keys(a),function(c){b[c]=a[c]}),b}},{indexof:229}],229:[function(a,b,c){var d=[].indexOf;b.exports=function(a,b){if(d)return a.indexOf(b);for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}},{}],230:[function(a,b,c){!function(){function d(a,b,c){"undefined"==typeof c&&(c=b,optionsValues=void 0);var d="undefined"!=typeof a?a:b;if("undefined"==typeof d)return null;if("function"==typeof d){var e=[c];return c.geography&&(e=[c.geography,c.data]),d.apply(null,e)}return d}function e(a,b,c){return this.svg=q.select(a).append("svg").attr("width",c||a.offsetWidth).attr("data-width",c||a.offsetWidth).attr("class","datamap").attr("height",b||a.offsetHeight).style("overflow","hidden"),this.options.responsive&&(q.select(this.options.element).style({position:"relative","padding-bottom":100*this.options.aspectRatio+"%"}),q.select(this.options.element).select("svg").style({position:"absolute",width:"100%",height:"100%"}),q.select(this.options.element).select("svg").select("g").selectAll("path").style("vector-effect","non-scaling-stroke")),this.svg}function f(a,b){var c,d,e=b.width||a.offsetWidth,f=b.height||a.offsetHeight,g=this.svg;return b&&"undefined"==typeof b.scope&&(b.scope="world"),"usa"===b.scope?c=q.geo.albersUsa().scale(e).translate([e/2,f/2]):"world"===b.scope&&(c=q.geo[b.projection]().scale((e+1)/2/Math.PI).translate([e/2,f/("mercator"===b.projection?1.45:1.8)])),"orthographic"===b.projection&&(g.append("defs").append("path").datum({type:"Sphere"}).attr("id","sphere").attr("d",d),g.append("use").attr("class","stroke").attr("xlink:href","#sphere"),g.append("use").attr("class","fill").attr("xlink:href","#sphere"),c.scale(250).clipAngle(90).rotate(b.projectionConfig.rotation)),d=q.geo.path().projection(c),{path:d,projection:c}}function g(){q.select(".datamaps-style-block").empty()&&q.select("head").append("style").attr("class","datamaps-style-block").html('.datamap path.datamaps-graticule { fill: none; stroke: #777; stroke-width: 0.5px; stroke-opacity: .5; pointer-events: none; } .datamap .labels {pointer-events: none;} .datamap path:not(.datamaps-arc), .datamap circle, .datamap line {stroke: #FFFFFF; vector-effect: non-scaling-stroke; stroke-width: 1px;} .datamaps-legend dt, .datamaps-legend dd { float: left; margin: 0 3px 0 0;} .datamaps-legend dd {width: 20px; margin-right: 6px; border-radius: 3px;} .datamaps-legend {padding-bottom: 20px; z-index: 1001; position: absolute; left: 4px; font-size: 12px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;} .datamaps-hoverover {display: none; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } .hoverinfo {padding: 4px; border-radius: 1px; background-color: #FFF; box-shadow: 1px 1px 5px #CCC; font-size: 12px; border: 1px solid #CCC; } .hoverinfo hr {border:1px dotted #CCC; }')}function h(a){var b=this.options.fills,c=this.options.data||{},e=this.options.geographyConfig,f=this.svg.select("g.datamaps-subunits");f.empty()&&(f=this.addLayer("datamaps-subunits",null,!0));var g=r.feature(a,a.objects[this.options.scope]).features;e.hideAntarctica&&(g=g.filter(function(a){return"ATA"!==a.id})),e.hideHawaiiAndAlaska&&(g=g.filter(function(a){return"HI"!==a.id&&"AK"!==a.id}));var h=f.selectAll("path.datamaps-subunit").data(g);h.enter().append("path").attr("d",this.path).attr("class",function(a){return"datamaps-subunit "+a.id}).attr("data-info",function(a){return JSON.stringify(c[a.id])}).style("fill",function(a){var e,f=c[a.id];return f&&f.fillKey&&(e=b[d(f.fillKey,{data:c[a.id],geography:a})]),"undefined"==typeof e&&(e=d(f&&f.fillColor,b.defaultFill,{data:c[a.id],geography:a})),e}).style("stroke-width",e.borderWidth).style("stroke-opacity",e.borderOpacity).style("stroke",e.borderColor)}function i(){function a(){this.parentNode.appendChild(this)}var b=this.svg,c=this,e=this.options.geographyConfig;(e.highlightOnHover||e.popupOnHover)&&b.selectAll(".datamaps-subunit").on("mouseover",function(f){var g=q.select(this),h=c.options.data[f.id]||{};if(e.highlightOnHover){var i={fill:g.style("fill"),stroke:g.style("stroke"),"stroke-width":g.style("stroke-width"),"fill-opacity":g.style("fill-opacity")};g.style("fill",d(h.highlightFillColor,e.highlightFillColor,h)).style("stroke",d(h.highlightBorderColor,e.highlightBorderColor,h)).style("stroke-width",d(h.highlightBorderWidth,e.highlightBorderWidth,h)).style("stroke-opacity",d(h.highlightBorderOpacity,e.highlightBorderOpacity,h)).style("fill-opacity",d(h.highlightFillOpacity,e.highlightFillOpacity,h)).attr("data-previousAttributes",JSON.stringify(i)),/((MSIE)|(Trident))/.test(navigator.userAgent)||a.call(this)}e.popupOnHover&&c.updatePopup(g,f,e,b)}).on("mouseout",function(){var a=q.select(this);if(e.highlightOnHover){var b=JSON.parse(a.attr("data-previousAttributes"));for(var c in b)a.style(c,b[c])}a.on("mousemove",null),q.selectAll(".datamaps-hoverover").style("display","none")})}function j(a,b,c){if(b=b||{},this.options.fills){var d="<dl>",e="";b.legendTitle&&(d="<h2>"+b.legendTitle+"</h2>"+d);for(var f in this.options.fills){if("defaultFill"===f){if(!b.defaultFillName)continue;e=b.defaultFillName}else e=b.labels&&b.labels[f]?b.labels[f]:f+": ";d+="<dt>"+e+"</dt>",d+='<dd style="background-color:'+this.options.fills[f]+'">&nbsp;</dd>'}d+="</dl>";q.select(this.options.element).append("div").attr("class","datamaps-legend").html(d)}}function k(a,b){var c=q.geo.graticule();this.svg.insert("path",".datamaps-subunits").datum(c).attr("class","datamaps-graticule").attr("d",this.path)}function l(a,b,c){var e=this,f=this.svg;if(!b||b&&!b.slice)throw"Datamaps Error - arcs must be an array";for(var g=0;g<b.length;g++)b[g]=o(b[g],b[g].options),delete b[g].options;"undefined"==typeof c&&(c=s.arcConfig);var h=a.selectAll("path.datamaps-arc").data(b,JSON.stringify),i=q.geo.path().projection(e.projection);h.enter().append("svg:path").attr("class","datamaps-arc").style("stroke-linecap","round").style("stroke",function(a){return d(a.strokeColor,c.strokeColor,a)}).style("fill","none").style("stroke-width",function(a){return d(a.strokeWidth,c.strokeWidth,a)}).attr("d",function(a){var b,g;if("string"==typeof a.origin)switch(a.origin){case"CAN":b=e.latLngToXY(56.624472,-114.665293);break;case"CHL":b=e.latLngToXY(-33.44889,-70.669265);break;case"IDN":b=e.latLngToXY(-6.208763,106.845599);break;case"JPN":b=e.latLngToXY(35.689487,139.691706);break;case"MYS":b=e.latLngToXY(3.139003,101.686855);break;case"NOR":b=e.latLngToXY(59.913869,10.752245);break;case"USA":b=e.latLngToXY(41.140276,-100.760145);break;case"VNM":b=e.latLngToXY(21.027764,105.83416);break;default:b=e.path.centroid(f.select("path."+a.origin).data()[0])}else b=e.latLngToXY(d(a.origin.latitude,a),d(a.origin.longitude,a));if("string"==typeof a.destination)switch(a.destination){case"CAN":g=e.latLngToXY(56.624472,-114.665293);break;case"CHL":g=e.latLngToXY(-33.44889,-70.669265);break;case"IDN":g=e.latLngToXY(-6.208763,106.845599);break;case"JPN":g=e.latLngToXY(35.689487,139.691706);break;case"MYS":g=e.latLngToXY(3.139003,101.686855);break;case"NOR":g=e.latLngToXY(59.913869,10.752245);break;case"USA":g=e.latLngToXY(41.140276,-100.760145);break;case"VNM":g=e.latLngToXY(21.027764,105.83416);break;default:g=e.path.centroid(f.select("path."+a.destination).data()[0])}else g=e.latLngToXY(d(a.destination.latitude,a),d(a.destination.longitude,a));var h=[(b[0]+g[0])/2,(b[1]+g[1])/2];if(c.greatArc){var j=q.geo.greatArc().source(function(a){return[d(a.origin.longitude,a),d(a.origin.latitude,a)]}).target(function(a){return[d(a.destination.longitude,a),d(a.destination.latitude,a)]});return i(j(a))}var k=d(a.arcSharpness,c.arcSharpness,a);return"M"+b[0]+","+b[1]+"S"+(h[0]+50*k)+","+(h[1]-75*k)+","+g[0]+","+g[1]}).attr("data-info",function(a){return JSON.stringify(a)}).on("mouseover",function(a){var b=q.select(this);c.popupOnHover&&e.updatePopup(b,a,c,f)}).on("mouseout",function(a){q.select(this);q.selectAll(".datamaps-hoverover").style("display","none")}).transition().delay(100).style("fill",function(a){var b=this.getTotalLength();return this.style.transition=this.style.WebkitTransition="none",this.style.strokeDasharray=b+" "+b,this.style.strokeDashoffset=b,this.getBoundingClientRect(),this.style.transition=this.style.WebkitTransition="stroke-dashoffset "+d(a.animationSpeed,c.animationSpeed,a)+"ms ease-out",this.style.strokeDashoffset="0","none"}),h.exit().transition().style("opacity",0).remove()}function m(a,b){var c=this;b=b||{};var d=this.projection([-67.707617,42.722131]);this.svg.selectAll(".datamaps-subunit").attr("data-foo",function(e){var f=c.path.centroid(e),g=7.5,h=5;["FL","KY","MI"].indexOf(e.id)>-1&&(g=-2.5),"NY"===e.id&&(g=-1),"MI"===e.id&&(h=18),"LA"===e.id&&(g=13);var i,j;i=f[0]-g,j=f[1]+h;var k=["VT","NH","MA","RI","CT","NJ","DE","MD","DC"].indexOf(e.id);if(k>-1){var l=d[1];i=d[0],j=l+k*(2+(b.fontSize||12)),a.append("line").attr("x1",i-3).attr("y1",j-5).attr("x2",f[0]).attr("y2",f[1]).style("stroke",b.labelColor||"#000").style("stroke-width",b.lineWidth||1)}return a.append("text").attr("x",i).attr("y",j).style("font-size",(b.fontSize||10)+"px").style("font-family",b.fontFamily||"Verdana").style("fill",b.labelColor||"#000").text(function(){return b.customLabelText&&b.customLabelText[e.id]?b.customLabelText[e.id]:e.id}),"bar"})}function n(a,b,c){function e(a){return"undefined"!=typeof a&&"undefined"!=typeof a.latitude&&"undefined"!=typeof a.longitude}var f=this,g=this.options.fills,h=this.options.filters,i=this.svg;if(!b||b&&!b.slice)throw"Datamaps Error - bubbles must be an array";var j=a.selectAll("circle.datamaps-bubble").data(b,c.key);j.enter().append("svg:circle").attr("class","datamaps-bubble").attr("cx",function(a){var b;if(e(a)?b=f.latLngToXY(a.latitude,a.longitude):a.centered&&(b="USA"===a.centered?f.projection([-98.58333,39.83333]):f.path.centroid(i.select("path."+a.centered).data()[0])),b)return b[0]}).attr("cy",function(a){var b;if(e(a)?b=f.latLngToXY(a.latitude,a.longitude):a.centered&&(b="USA"===a.centered?f.projection([-98.58333,39.83333]):f.path.centroid(i.select("path."+a.centered).data()[0])),b)return b[1]}).attr("r",function(a){return c.animate?0:d(a.radius,c.radius,a)}).attr("data-info",function(a){return JSON.stringify(a)}).attr("filter",function(a){var b=h[d(a.filterKey,c.filterKey,a)];if(b)return b}).style("stroke",function(a){return d(a.borderColor,c.borderColor,a)}).style("stroke-width",function(a){return d(a.borderWidth,c.borderWidth,a)}).style("stroke-opacity",function(a){return d(a.borderOpacity,c.borderOpacity,a)}).style("fill-opacity",function(a){return d(a.fillOpacity,c.fillOpacity,a)}).style("fill",function(a){var b=g[d(a.fillKey,c.fillKey,a)];return b||g.defaultFill}).on("mouseover",function(a){var b=q.select(this);if(c.highlightOnHover){var e={fill:b.style("fill"),stroke:b.style("stroke"),"stroke-width":b.style("stroke-width"),"fill-opacity":b.style("fill-opacity")};b.style("fill",d(a.highlightFillColor,c.highlightFillColor,a)).style("stroke",d(a.highlightBorderColor,c.highlightBorderColor,a)).style("stroke-width",d(a.highlightBorderWidth,c.highlightBorderWidth,a)).style("stroke-opacity",d(a.highlightBorderOpacity,c.highlightBorderOpacity,a)).style("fill-opacity",d(a.highlightFillOpacity,c.highlightFillOpacity,a)).attr("data-previousAttributes",JSON.stringify(e))}c.popupOnHover&&f.updatePopup(b,a,c,i)}).on("mouseout",function(a){var b=q.select(this);if(c.highlightOnHover){var d=JSON.parse(b.attr("data-previousAttributes"));for(var e in d)b.style(e,d[e])}q.selectAll(".datamaps-hoverover").style("display","none")}),j.transition().duration(400).attr("r",function(a){return d(a.radius,c.radius,a)}).transition().duration(0).attr("data-info",function(a){return JSON.stringify(a)}),j.exit().transition().delay(c.exitDelay).attr("r",0).remove()}function o(a){return Array.prototype.slice.call(arguments,1).forEach(function(b){if(b)for(var c in b)null==a[c]&&("function"==typeof b[c]?a[c]=b[c]:a[c]=JSON.parse(JSON.stringify(b[c])))}),a}function p(a){if("undefined"==typeof q||"undefined"==typeof r)throw new Error("Include d3.js (v3.0.3 or greater) and topojson on this page before creating a new map");return this.options=o(a,s),this.options.geographyConfig=o(a.geographyConfig,s.geographyConfig),this.options.projectionConfig=o(a.projectionConfig,s.projectionConfig),this.options.bubblesConfig=o(a.bubblesConfig,s.bubblesConfig),this.options.arcConfig=o(a.arcConfig,s.arcConfig),q.select(this.options.element).select("svg").length>0&&e.call(this,this.options.element,this.options.height,this.options.width),this.addPlugin("bubbles",n),this.addPlugin("legend",j),this.addPlugin("arc",l),this.addPlugin("labels",m),this.addPlugin("graticule",k),this.options.disableDefaultStyles||g(),this.draw()}var q=window.d3,r=window.topojson,s={scope:"world",responsive:!1,aspectRatio:.5625,setProjection:f,projection:"equirectangular",dataType:"json",data:{},done:function(){},fills:{defaultFill:"#ABDDA4"},filters:{},geographyConfig:{dataUrl:null,hideAntarctica:!0,hideHawaiiAndAlaska:!1,borderWidth:1,borderOpacity:1,borderColor:"#FDFDFD",popupTemplate:function(a,b){return'<div class="hoverinfo"><strong>'+a.properties.name+"</strong></div>"},popupOnHover:!0,highlightOnHover:!0,highlightFillColor:"#FC8D59",highlightBorderColor:"rgba(250, 15, 160, 0.2)",highlightBorderWidth:2,highlightBorderOpacity:1},projectionConfig:{rotation:[97,0]},bubblesConfig:{borderWidth:2,borderOpacity:1,borderColor:"#FFFFFF",popupOnHover:!0,radius:null,popupTemplate:function(a,b){return'<div class="hoverinfo"><strong>'+b.name+"</strong></div>"},fillOpacity:.75,animate:!0,highlightOnHover:!0,highlightFillColor:"#FC8D59",highlightBorderColor:"rgba(250, 15, 160, 0.2)",highlightBorderWidth:2,highlightBorderOpacity:1,highlightFillOpacity:.85,exitDelay:100,key:JSON.stringify},arcConfig:{strokeColor:"#DD1C77",strokeWidth:1,arcSharpness:1,animationSpeed:600,popupOnHover:!1,popupTemplate:function(a,b){return b.origin&&b.destination&&b.origin.latitude&&b.origin.longitude&&b.destination.latitude&&b.destination.longitude?'<div class="hoverinfo"><strong>Arc</strong><br>Origin: '+JSON.stringify(b.origin)+"<br>Destination: "+JSON.stringify(b.destination)+"</div>":b.origin&&b.destination?'<div class="hoverinfo"><strong>Arc</strong><br>'+b.origin+" -> "+b.destination+"</div>":""}}};p.prototype.resize=function(){var a=this,b=a.options;if(b.responsive){var c=b.element.clientWidth,d=q.select(b.element).select("svg").attr("data-width");q.select(b.element).select("svg").selectAll("g").attr("transform","scale("+c/d+")")}},p.prototype.draw=function(){function a(a){b.options.dataUrl&&q[b.options.dataType](b.options.dataUrl,function(a){if("csv"===b.options.dataType&&a&&a.slice){for(var c={},d=0;d<a.length;d++)c[a[d].id]=a[d];a=c}Datamaps.prototype.updateChoropleth.call(b,a)}),h.call(b,a),i.call(b),(b.options.geographyConfig.popupOnHover||b.options.bubblesConfig.popupOnHover)&&(hoverover=q.select(b.options.element).append("div").attr("class","datamaps-hoverover").style("z-index",10001).style("position","absolute")),b.options.done(b)}var b=this,c=b.options,d=c.setProjection.apply(this,[c.element,c]);return this.path=d.path,this.projection=d.projection,c.geographyConfig.dataUrl?q.json(c.geographyConfig.dataUrl,function(c,d){if(c)throw new Error(c);b.customTopo=d,a(d)}):a(this[c.scope+"Topo"]||c.geographyConfig.dataJson),this},p.prototype.worldTopo={type:"Topology",objects:{world:{type:"GeometryCollection",geometries:[{type:"Polygon",properties:{name:"Afghanistan"},id:"AFG",arcs:[[0,1,2,3,4,5]]},{type:"MultiPolygon",properties:{name:"Angola"},id:"AGO",arcs:[[[6,7,8,9]],[[10,11,12]]]},{type:"Polygon",properties:{name:"Albania"},id:"ALB",arcs:[[13,14,15,16,17]]},{type:"Polygon",properties:{name:"United Arab Emirates"},id:"ARE",arcs:[[18,19,20,21,22]]},{type:"MultiPolygon",properties:{name:"Argentina"},id:"ARG",arcs:[[[23,24]],[[25,26,27,28,29,30]]]},{type:"Polygon",properties:{name:"Armenia"},id:"ARM",arcs:[[31,32,33,34,35]]},{type:"MultiPolygon",properties:{name:"Antarctica"},id:"ATA",arcs:[[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]]},{type:"Polygon",properties:{name:"French Southern and Antarctic Lands"},id:"ATF",arcs:[[44]]},{type:"MultiPolygon",properties:{name:"Australia"},id:"AUS",arcs:[[[45]],[[46]]]},{type:"Polygon",properties:{name:"Austria"},id:"AUT",arcs:[[47,48,49,50,51,52,53]]},{type:"MultiPolygon",properties:{name:"Azerbaijan"},id:"AZE",arcs:[[[54,-35]],[[55,56,-33,57,58]]]},{type:"Polygon",properties:{name:"Burundi"},id:"BDI",arcs:[[59,60,61]]},{type:"Polygon",properties:{name:"Belgium"},id:"BEL",arcs:[[62,63,64,65,66]]},{type:"Polygon",properties:{name:"Benin"},id:"BEN",arcs:[[67,68,69,70,71]]},{type:"Polygon",properties:{name:"Burkina Faso"},id:"BFA",arcs:[[72,73,74,-70,75,76]]},{type:"Polygon",properties:{name:"Bangladesh"},id:"BGD",arcs:[[77,78,79]]},{type:"Polygon",properties:{name:"Bulgaria"},id:"BGR",arcs:[[80,81,82,83,84,85]]},{type:"MultiPolygon",properties:{name:"The Bahamas"},id:"BHS",arcs:[[[86]],[[87]],[[88]]]},{type:"Polygon",properties:{name:"Bosnia and Herzegovina"},id:"BIH",arcs:[[89,90,91]]},{type:"Polygon",properties:{name:"Belarus"},id:"BLR",arcs:[[92,93,94,95,96]]},{type:"Polygon",properties:{name:"Belize"},id:"BLZ",arcs:[[97,98,99]]},{type:"Polygon",properties:{name:"Bolivia"},id:"BOL",arcs:[[100,101,102,103,-31]]},{type:"Polygon",properties:{name:"Brazil"},id:"BRA",arcs:[[-27,104,-103,105,106,107,108,109,110,111,112]]},{type:"Polygon",properties:{name:"Brunei"},id:"BRN",arcs:[[113,114]]},{type:"Polygon",properties:{name:"Bhutan"},id:"BTN",arcs:[[115,116]]},{type:"Polygon",properties:{name:"Botswana"},id:"BWA",arcs:[[117,118,119,120]]},{type:"Polygon",properties:{name:"Central African Republic"},id:"CAF",arcs:[[121,122,123,124,125,126,127]]},{type:"MultiPolygon",properties:{name:"Canada"},id:"CAN",arcs:[[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138,139,140,141]],[[142]],[[143]],[[144]],[[145]],[[146]],[[147]],[[148]],[[149]],[[150]],[[151]],[[152]],[[153]],[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]]]},{type:"Polygon",properties:{name:"Switzerland"},id:"CHE",arcs:[[-51,161,162,163]]},{type:"MultiPolygon",properties:{name:"Chile"},id:"CHL",arcs:[[[-24,164]],[[-30,165,166,-101]]]},{type:"MultiPolygon",properties:{name:"China"},id:"CHN",arcs:[[[167]],[[168,169,170,171,172,173,-117,174,175,176,177,-4,178,179,180,181,182,183]]]},{type:"Polygon",properties:{name:"Ivory Coast"},id:"CIV",arcs:[[184,185,186,187,-73,188]]},{type:"Polygon",properties:{name:"Cameroon"},id:"CMR",arcs:[[189,190,191,192,193,194,-128,195]]},{type:"Polygon",properties:{name:"Democratic Republic of the Congo"},id:"COD",arcs:[[196,197,-60,198,199,-10,200,-13,201,-126,202]]},{type:"Polygon",properties:{name:"Republic of the Congo"},id:"COG",arcs:[[-12,203,204,-196,-127,-202]]},{type:"Polygon",properties:{name:"Colombia"},id:"COL",arcs:[[205,206,207,208,209,-107,210]]},{type:"Polygon",properties:{name:"Costa Rica"},id:"CRI",arcs:[[211,212,213,214]]},{type:"Polygon",properties:{name:"Cuba"},id:"CUB",arcs:[[215]]},{type:"Polygon",properties:{name:"Northern Cyprus"},id:"-99",arcs:[[216,217]]},{type:"Polygon",properties:{name:"Cyprus"},id:"CYP",arcs:[[218,-218]]},{type:"Polygon",properties:{name:"Czech Republic"},id:"CZE",arcs:[[-53,219,220,221]]},{type:"Polygon",properties:{name:"Germany"},id:"DEU",arcs:[[222,223,-220,-52,-164,224,225,-64,226,227,228]]},{type:"Polygon",properties:{name:"Djibouti"},id:"DJI",arcs:[[229,230,231,232]]},{type:"MultiPolygon",properties:{name:"Denmark"},id:"DNK",arcs:[[[233]],[[-229,234]]]},{type:"Polygon",properties:{name:"Dominican Republic"},id:"DOM",arcs:[[235,236]]},{type:"Polygon",properties:{name:"Algeria"},id:"DZA",arcs:[[237,238,239,240,241,242,243,244]]},{type:"Polygon",properties:{name:"Ecuador"},id:"ECU",arcs:[[245,-206,246]]},{type:"Polygon",properties:{name:"Egypt"},id:"EGY",arcs:[[247,248,249,250,251]]},{type:"Polygon",properties:{name:"Eritrea"},id:"ERI",arcs:[[252,253,254,-233]]},{type:"Polygon",properties:{name:"Spain"},id:"ESP",arcs:[[255,256,257,258]]},{type:"Polygon",properties:{name:"Estonia"},id:"EST",arcs:[[259,260,261]]},{type:"Polygon",properties:{name:"Ethiopia"},id:"ETH",arcs:[[-232,262,263,264,265,266,267,-253]]},{type:"Polygon",properties:{name:"Finland"},id:"FIN",arcs:[[268,269,270,271]]},{type:"MultiPolygon",properties:{name:"Fiji"},id:"FJI",arcs:[[[272]],[[273,274]],[[275,-275]]]},{type:"Polygon",properties:{name:"Falkland Islands"},id:"FLK",arcs:[[276]]},{type:"MultiPolygon",properties:{name:"France"},id:"FRA",arcs:[[[277]],[[278,-225,-163,279,280,-257,281,-66]]]},{type:"Polygon",properties:{name:"French Guiana"},id:"GUF",arcs:[[282,283,284,285,-111]]},{type:"Polygon",properties:{name:"Gabon"},id:"GAB",arcs:[[286,287,-190,-205]]},{type:"MultiPolygon",properties:{name:"United Kingdom"},id:"GBR",arcs:[[[288,289]],[[290]]]},{type:"Polygon",properties:{name:"Georgia"},id:"GEO",arcs:[[291,292,-58,-32,293]]},{type:"Polygon",properties:{name:"Ghana"},id:"GHA",arcs:[[294,-189,-77,295]]},{type:"Polygon",properties:{name:"Guinea"},id:"GIN",arcs:[[296,297,298,299,300,301,-187]]},{type:"Polygon",properties:{name:"Gambia"},id:"GMB",arcs:[[302,303]]},{type:"Polygon",properties:{name:"Guinea Bissau"},id:"GNB",arcs:[[304,305,-300]]},{type:"Polygon",properties:{name:"Equatorial Guinea"},id:"GNQ",arcs:[[306,-191,-288]]},{type:"MultiPolygon",properties:{name:"Greece"},id:"GRC",arcs:[[[307]],[[308,-15,309,-84,310]]]},{type:"Polygon",properties:{name:"Greenland"},id:"GRL",arcs:[[311]]},{type:"Polygon",properties:{name:"Guatemala"},id:"GTM",arcs:[[312,313,-100,314,315,316]]},{type:"Polygon",properties:{name:"Guyana"},id:"GUY",arcs:[[317,318,-109,319]]},{type:"Polygon",properties:{name:"Honduras"},id:"HND",arcs:[[320,321,-316,322,323]]},{type:"Polygon",properties:{name:"Croatia"},id:"HRV",arcs:[[324,-92,325,326,327,328]]},{type:"Polygon",properties:{name:"Haiti"},id:"HTI",arcs:[[-237,329]]},{type:"Polygon",properties:{name:"Hungary"},id:"HUN",arcs:[[-48,330,331,332,333,-329,334]]},{type:"MultiPolygon",properties:{name:"Indonesia"},id:"IDN",arcs:[[[335]],[[336,337]],[[338]],[[339]],[[340]],[[341]],[[342]],[[343]],[[344,345]],[[346]],[[347]],[[348,349]],[[350]]]},{type:"Polygon",properties:{name:"India"},id:"IND",arcs:[[-177,351,-175,-116,-174,352,-80,353,354]]},{type:"Polygon",properties:{name:"Ireland"},id:"IRL",arcs:[[355,-289]]},{type:"Polygon",properties:{name:"Iran"},id:"IRN",arcs:[[356,-6,357,358,359,360,-55,-34,-57,361]]},{type:"Polygon",properties:{name:"Iraq"},id:"IRQ",arcs:[[362,363,364,365,366,367,-360]]},{type:"Polygon",properties:{name:"Iceland"},id:"ISL",arcs:[[368]]},{type:"Polygon",properties:{name:"Israel"},id:"ISR",arcs:[[369,370,371,-252,372,373,374]]},{type:"MultiPolygon",properties:{name:"Italy"},id:"ITA",arcs:[[[375]],[[376]],[[377,378,-280,-162,-50]]]},{type:"Polygon",properties:{name:"Jamaica"},id:"JAM",arcs:[[379]]},{type:"Polygon",properties:{name:"Jordan"},id:"JOR",arcs:[[-370,380,-366,381,382,-372,383]]},{type:"MultiPolygon",properties:{name:"Japan"},id:"JPN",arcs:[[[384]],[[385]],[[386]]]},{type:"Polygon",properties:{name:"Kazakhstan"},id:"KAZ",arcs:[[387,388,389,390,-181,391]]},{type:"Polygon",properties:{name:"Kenya"},id:"KEN",arcs:[[392,393,394,395,-265,396]]},{type:"Polygon",properties:{name:"Kyrgyzstan"},id:"KGZ",arcs:[[-392,-180,397,398]]},{type:"Polygon",properties:{name:"Cambodia"},id:"KHM",arcs:[[399,400,401,402]]},{type:"Polygon",properties:{name:"South Korea"},id:"KOR",arcs:[[403,404]]},{type:"Polygon",properties:{name:"Kosovo"},id:"-99",arcs:[[-18,405,406,407]]},{type:"Polygon",properties:{name:"Kuwait"},id:"KWT",arcs:[[408,409,-364]]},{type:"Polygon",properties:{name:"Laos"},id:"LAO",arcs:[[410,411,-172,412,-401]]},{type:"Polygon",properties:{name:"Lebanon"},id:"LBN",arcs:[[-374,413,414]]},{type:"Polygon",properties:{name:"Liberia"},id:"LBR",arcs:[[415,416,-297,-186]]},{type:"Polygon",properties:{name:"Libya"},id:"LBY",arcs:[[417,-245,418,419,-250,420,421]]},{type:"Polygon",properties:{name:"Sri Lanka"},id:"LKA",arcs:[[422]]},{type:"Polygon",properties:{name:"Lesotho"},id:"LSO",arcs:[[423]]},{type:"Polygon",properties:{name:"Lithuania"},id:"LTU",arcs:[[424,425,426,-93,427]]},{type:"Polygon",properties:{name:"Luxembourg"},id:"LUX",arcs:[[-226,-279,-65]]},{type:"Polygon",properties:{name:"Latvia"},id:"LVA",arcs:[[428,-262,429,-94,-427]]},{type:"Polygon",properties:{name:"Morocco"},id:"MAR",arcs:[[-242,430,431]]},{type:"Polygon",properties:{name:"Moldova"},id:"MDA",arcs:[[432,433]]},{type:"Polygon",properties:{name:"Madagascar"},id:"MDG",arcs:[[434]]},{type:"Polygon",properties:{name:"Mexico"},id:"MEX",arcs:[[435,-98,-314,436,437]]},{type:"Polygon",properties:{name:"Macedonia"},id:"MKD",arcs:[[-408,438,-85,-310,-14]]},{type:"Polygon",properties:{name:"Mali"},id:"MLI",arcs:[[439,-239,440,-74,-188,-302,441]]},{type:"Polygon",properties:{name:"Myanmar"},id:"MMR",arcs:[[442,-78,-353,-173,-412,443]]},{type:"Polygon",properties:{name:"Montenegro"},id:"MNE",arcs:[[444,-326,-91,445,-406,-17]]},{type:"Polygon",properties:{name:"Mongolia"},id:"MNG",arcs:[[446,-183]]},{type:"Polygon",properties:{name:"Mozambique"},id:"MOZ",arcs:[[447,448,449,450,451,452,453,454]]},{type:"Polygon",properties:{name:"Mauritania"},id:"MRT",arcs:[[455,456,457,-240,-440]]},{type:"Polygon",properties:{name:"Malawi"},id:"MWI",arcs:[[-455,458,459]]},{type:"MultiPolygon",properties:{name:"Malaysia"},id:"MYS",arcs:[[[460,461]],[[-349,462,-115,463]]]},{type:"Polygon",properties:{name:"Namibia"},id:"NAM",arcs:[[464,-8,465,-119,466]]},{type:"Polygon",properties:{name:"New Caledonia"},id:"NCL",arcs:[[467]]},{type:"Polygon",properties:{name:"Niger"},id:"NER",arcs:[[-75,-441,-238,-418,468,-194,469,-71]]},{type:"Polygon",properties:{name:"Nigeria"},id:"NGA",arcs:[[470,-72,-470,-193]]},{type:"Polygon",properties:{name:"Nicaragua"},id:"NIC",arcs:[[471,-324,472,-213]]},{type:"Polygon",properties:{name:"Netherlands"},id:"NLD",arcs:[[-227,-63,473]]},{type:"MultiPolygon",properties:{name:"Norway"},id:"NOR",arcs:[[[474,-272,475,476]],[[477]],[[478]],[[479]]]},{type:"Polygon",properties:{name:"Nepal"},id:"NPL",arcs:[[-352,-176]]},{type:"MultiPolygon",properties:{name:"New Zealand"},id:"NZL",arcs:[[[480]],[[481]]]},{type:"MultiPolygon",properties:{name:"Oman"},id:"OMN",arcs:[[[482,483,-22,484]],[[-20,485]]]},{type:"Polygon",properties:{name:"Pakistan"},id:"PAK",arcs:[[-178,-355,486,-358,-5]]},{type:"Polygon",properties:{name:"Panama"},id:"PAN",arcs:[[487,-215,488,-208]]},{type:"Polygon",properties:{name:"Peru"},id:"PER",arcs:[[-167,489,-247,-211,-106,-102]]},{type:"MultiPolygon",properties:{name:"Philippines"},id:"PHL",arcs:[[[490]],[[491]],[[492]],[[493]],[[494]],[[495]],[[496]]]},{type:"MultiPolygon",properties:{name:"Papua New Guinea"},id:"PNG",arcs:[[[497]],[[498]],[[-345,499]],[[500]]]},{type:"Polygon",properties:{name:"Poland"},id:"POL",arcs:[[-224,501,502,-428,-97,503,504,-221]]},{type:"Polygon",properties:{name:"Puerto Rico"},id:"PRI",arcs:[[505]]},{type:"Polygon",properties:{name:"North Korea"},id:"PRK",arcs:[[506,507,-405,508,-169]]},{type:"Polygon",properties:{name:"Portugal"},id:"PRT",arcs:[[-259,509]]},{type:"Polygon",properties:{name:"Paraguay"},id:"PRY",arcs:[[-104,-105,-26]]},{type:"Polygon",properties:{name:"Qatar"},id:"QAT",arcs:[[510,511]]},{type:"Polygon",properties:{name:"Romania"},id:"ROU",arcs:[[512,-434,513,514,-81,515,-333]]},{type:"MultiPolygon",properties:{name:"Russia"},id:"RUS",arcs:[[[516]],[[-503,517,-425]],[[518,519]],[[520]],[[521]],[[522]],[[523]],[[524]],[[525]],[[526,-507,-184,-447,-182,-391,527,-59,-293,528,529,-95,-430,-261,530,-269,-475,531,-520]],[[532]],[[533]],[[534]]]},{type:"Polygon",properties:{name:"Rwanda"},id:"RWA",arcs:[[535,-61,-198,536]]},{type:"Polygon",properties:{name:"Western Sahara"},id:"ESH",arcs:[[-241,-458,537,-431]]},{type:"Polygon",properties:{name:"Saudi Arabia"},id:"SAU",arcs:[[538,-382,-365,-410,539,-512,540,-23,-484,541]]
},{type:"Polygon",properties:{name:"Sudan"},id:"SDN",arcs:[[542,543,-123,544,-421,-249,545,-254,-268,546]]},{type:"Polygon",properties:{name:"South Sudan"},id:"SSD",arcs:[[547,-266,-396,548,-203,-125,549,-543]]},{type:"Polygon",properties:{name:"Senegal"},id:"SEN",arcs:[[550,-456,-442,-301,-306,551,-304]]},{type:"MultiPolygon",properties:{name:"Solomon Islands"},id:"SLB",arcs:[[[552]],[[553]],[[554]],[[555]],[[556]]]},{type:"Polygon",properties:{name:"Sierra Leone"},id:"SLE",arcs:[[557,-298,-417]]},{type:"Polygon",properties:{name:"El Salvador"},id:"SLV",arcs:[[558,-317,-322]]},{type:"Polygon",properties:{name:"Somaliland"},id:"-99",arcs:[[-263,-231,559,560]]},{type:"Polygon",properties:{name:"Somalia"},id:"SOM",arcs:[[-397,-264,-561,561]]},{type:"Polygon",properties:{name:"Republic of Serbia"},id:"SRB",arcs:[[-86,-439,-407,-446,-90,-325,-334,-516]]},{type:"Polygon",properties:{name:"Suriname"},id:"SUR",arcs:[[562,-285,563,-283,-110,-319]]},{type:"Polygon",properties:{name:"Slovakia"},id:"SVK",arcs:[[-505,564,-331,-54,-222]]},{type:"Polygon",properties:{name:"Slovenia"},id:"SVN",arcs:[[-49,-335,-328,565,-378]]},{type:"Polygon",properties:{name:"Sweden"},id:"SWE",arcs:[[-476,-271,566]]},{type:"Polygon",properties:{name:"Swaziland"},id:"SWZ",arcs:[[567,-451]]},{type:"Polygon",properties:{name:"Syria"},id:"SYR",arcs:[[-381,-375,-415,568,569,-367]]},{type:"Polygon",properties:{name:"Chad"},id:"TCD",arcs:[[-469,-422,-545,-122,-195]]},{type:"Polygon",properties:{name:"Togo"},id:"TGO",arcs:[[570,-296,-76,-69]]},{type:"Polygon",properties:{name:"Thailand"},id:"THA",arcs:[[571,-462,572,-444,-411,-400]]},{type:"Polygon",properties:{name:"Tajikistan"},id:"TJK",arcs:[[-398,-179,-3,573]]},{type:"Polygon",properties:{name:"Turkmenistan"},id:"TKM",arcs:[[-357,574,-389,575,-1]]},{type:"Polygon",properties:{name:"East Timor"},id:"TLS",arcs:[[576,-337]]},{type:"Polygon",properties:{name:"Trinidad and Tobago"},id:"TTO",arcs:[[577]]},{type:"Polygon",properties:{name:"Tunisia"},id:"TUN",arcs:[[-244,578,-419]]},{type:"MultiPolygon",properties:{name:"Turkey"},id:"TUR",arcs:[[[-294,-36,-361,-368,-570,579]],[[-311,-83,580]]]},{type:"Polygon",properties:{name:"Taiwan"},id:"TWN",arcs:[[581]]},{type:"Polygon",properties:{name:"United Republic of Tanzania"},id:"TZA",arcs:[[-394,582,-448,-460,583,-199,-62,-536,584]]},{type:"Polygon",properties:{name:"Uganda"},id:"UGA",arcs:[[-537,-197,-549,-395,-585]]},{type:"Polygon",properties:{name:"Ukraine"},id:"UKR",arcs:[[-530,585,-514,-433,-513,-332,-565,-504,-96]]},{type:"Polygon",properties:{name:"Uruguay"},id:"URY",arcs:[[-113,586,-28]]},{type:"MultiPolygon",properties:{name:"United States of America"},id:"USA",arcs:[[[587]],[[588]],[[589]],[[590]],[[591]],[[592,-438,593,-139]],[[594]],[[595]],[[596]],[[-141,597]]]},{type:"Polygon",properties:{name:"Uzbekistan"},id:"UZB",arcs:[[-576,-388,-399,-574,-2]]},{type:"Polygon",properties:{name:"Venezuela"},id:"VEN",arcs:[[598,-320,-108,-210]]},{type:"Polygon",properties:{name:"Vietnam"},id:"VNM",arcs:[[599,-402,-413,-171]]},{type:"MultiPolygon",properties:{name:"Vanuatu"},id:"VUT",arcs:[[[600]],[[601]]]},{type:"Polygon",properties:{name:"West Bank"},id:"PSE",arcs:[[-384,-371]]},{type:"Polygon",properties:{name:"Yemen"},id:"YEM",arcs:[[602,-542,-483]]},{type:"Polygon",properties:{name:"South Africa"},id:"ZAF",arcs:[[-467,-118,603,-452,-568,-450,604],[-424]]},{type:"Polygon",properties:{name:"Zambia"},id:"ZMB",arcs:[[-459,-454,605,-120,-466,-7,-200,-584]]},{type:"Polygon",properties:{name:"Zimbabwe"},id:"ZWE",arcs:[[-604,-121,-606,-453]]}]}},arcs:[[[6700,7164],[28,-23],[21,8],[6,27],[22,9],[15,18],[6,47],[23,11],[5,21],[13,-15],[8,-2]],[[6847,7265],[16,-1],[20,-12]],[[6883,7252],[9,-7],[20,19],[9,-12],[9,27],[17,-1],[4,9],[3,24],[12,20],[15,-13],[-3,-18],[9,-3],[-3,-50],[11,-19],[10,12],[12,6],[17,27],[19,-5],[29,0]],[[7082,7268],[5,-17]],[[7087,7251],[-16,-6],[-14,-11],[-32,-7],[-30,-13],[-16,-25],[6,-25],[4,-30],[-14,-25],[1,-22],[-8,-22],[-26,2],[11,-39],[-18,-15],[-12,-35],[2,-36],[-11,-16],[-10,5],[-22,-8],[-3,-16],[-20,0],[-16,-34],[-1,-50],[-36,-24],[-19,5],[-6,-13],[-16,7],[-28,-8],[-47,30]],[[6690,6820],[25,53],[-2,38],[-21,10],[-2,38],[-9,47],[12,32],[-12,9],[7,43],[12,74]],[[5664,4412],[3,-18],[-4,-29],[5,-28],[-4,-22],[3,-20],[-58,1],[-2,-188],[19,-49],[18,-37]],[[5644,4022],[-51,-24],[-67,9],[-19,28],[-113,-3],[-4,-4],[-17,27],[-18,2],[-16,-10],[-14,-12]],[[5325,4035],[-2,38],[4,51],[9,55],[2,25],[9,53],[6,24],[16,39],[9,26],[3,44],[-1,34],[-9,21],[-7,36],[-7,35],[2,12],[8,24],[-8,57],[-6,39],[-14,38],[3,11]],[[5342,4697],[11,8],[8,-1],[10,7],[82,-1],[7,-44],[8,-35],[6,-19],[11,-31],[18,5],[9,8],[16,-8],[4,14],[7,35],[17,2],[2,10],[14,1],[-3,-22],[34,1],[1,-37],[5,-23],[-4,-36],[2,-36],[9,-22],[-1,-70],[7,5],[12,-1],[17,8],[13,-3]],[[5338,4715],[-8,45]],[[5330,4760],[12,25],[8,10],[10,-20]],[[5360,4775],[-10,-12],[-4,-16],[-1,-25],[-7,-7]],[[5571,7530],[-3,-20],[4,-25],[11,-15]],[[5583,7470],[0,-15],[-9,-9],[-2,-19],[-13,-29]],[[5559,7398],[-5,5],[0,13],[-15,19],[-3,29],[2,40],[4,18],[-4,10]],[[5538,7532],[-2,18],[12,29],[1,-11],[8,6]],[[5557,7574],[6,-16],[7,-6],[1,-22]],[[6432,6490],[5,3],[1,-16],[22,9],[23,-2],[17,-1],[19,39],[20,38],[18,37]],[[6557,6597],[5,-20]],[[6562,6577],[4,-47]],[[6566,6530],[-14,0],[-3,-39],[5,-8],[-12,-12],[0,-24],[-8,-24],[-1,-24]],[[6533,6399],[-6,-12],[-83,29],[-11,60],[-1,14]],[[3140,1814],[-17,2],[-30,0],[0,132]],[[3093,1948],[11,-27],[14,-45],[36,-35],[39,-15],[-13,-30],[-26,-2],[-14,20]],[[3258,3743],[51,-96],[23,-9],[34,-44],[29,-23],[4,-26],[-28,-90],[28,-16],[32,-9],[22,10],[25,45],[4,52]],[[3482,3537],[14,11],[14,-34],[-1,-47],[-23,-33],[-19,-24],[-31,-57],[-37,-81]],[[3399,3272],[-7,-47],[-7,-61],[0,-58],[-6,-14],[-2,-38]],[[3377,3054],[-2,-31],[35,-50],[-4,-41],[18,-26],[-2,-29],[-26,-75],[-42,-32],[-55,-12],[-31,6],[6,-36],[-6,-44],[5,-30],[-16,-20],[-29,-8],[-26,21],[-11,-15],[4,-59],[18,-18],[16,19],[8,-31],[-26,-18],[-22,-37],[-4,-59],[-7,-32],[-26,0],[-22,-31],[-8,-44],[28,-43],[26,-12],[-9,-53],[-33,-33],[-18,-70],[-25,-23],[-12,-28],[9,-61],[19,-34],[-12,3]],[[3095,1968],[-26,9],[-67,8],[-11,34],[0,45],[-18,-4],[-10,21],[-3,63],[22,26],[9,37],[-4,30],[15,51],[10,78],[-3,35],[12,11],[-3,22],[-13,12],[10,25],[-13,22],[-6,68],[11,12],[-5,72],[7,61],[7,52],[17,22],[-9,58],[0,54],[21,38],[-1,50],[16,57],[0,55],[-7,11],[-13,102],[17,60],[-2,58],[10,53],[18,56],[20,36],[-9,24],[6,19],[-1,98],[30,29],[10,62],[-3,14]],[[3136,3714],[23,54],[36,-15],[16,-42],[11,47],[32,-2],[4,-13]],[[6210,7485],[39,9]],[[6249,7494],[5,-15],[11,-10],[-6,-15],[15,-21],[-8,-18],[12,-16],[13,-10],[0,-41]],[[6291,7348],[-10,-2]],[[6281,7346],[-11,34],[0,10],[-12,-1],[-9,16],[-5,-1]],[[6244,7404],[-11,17],[-21,15],[3,28],[-5,21]],[[3345,329],[-8,-30],[-8,-27],[-59,8],[-62,-3],[-34,20],[0,2],[-16,17],[63,-2],[60,-6],[20,24],[15,21],[29,-24]],[[577,361],[-53,-8],[-36,21],[-17,21],[-1,3],[-18,16],[17,22],[52,-9],[28,-18],[21,-21],[7,-27]],[[3745,447],[35,-26],[12,-36],[3,-25],[1,-30],[-43,-19],[-45,-15],[-52,-14],[-59,-11],[-65,3],[-37,20],[5,24],[59,16],[24,20],[18,26],[12,22],[17,20],[18,25],[14,0],[41,12],[42,-12]],[[1633,715],[36,-9],[33,10],[-16,-20],[-26,-15],[-39,4],[-27,21],[6,20],[33,-11]],[[1512,716],[43,-23],[-17,3],[-36,5],[-38,17],[20,12],[28,-14]],[[2250,808],[31,-8],[30,7],[17,-34],[-22,5],[-34,-2],[-34,2],[-38,-4],[-28,12],[-15,24],[18,11],[35,-8],[40,-5]],[[3098,866],[4,-27],[-5,-23],[-8,-22],[-33,-8],[-31,-12],[-36,1],[14,24],[-33,-9],[-31,-8],[-21,18],[-2,24],[30,23],[20,7],[32,-2],[8,30],[1,22],[0,47],[16,28],[25,9],[15,-22],[6,-22],[12,-26],[10,-26],[7,-26]],[[3371,1268],[-11,-13],[-21,9],[-23,-6],[-19,-14],[-20,-15],[-14,-17],[-4,-23],[2,-22],[13,-20],[-19,-14],[-26,-4],[-15,-20],[-17,-19],[-17,-25],[-4,-22],[9,-24],[15,-19],[23,-14],[21,-18],[12,-23],[6,-22],[8,-24],[13,-19],[8,-22],[4,-55],[8,-22],[2,-23],[9,-23],[-4,-31],[-15,-24],[-17,-20],[-37,-8],[-12,-21],[-17,-20],[-42,-22],[-37,-9],[-35,-13],[-37,-13],[-22,-24],[-45,-2],[-49,2],[-44,-4],[-47,0],[9,-24],[42,-10],[31,-16],[18,-21],[-31,-19],[-48,6],[-40,-15],[-2,-24],[-1,-23],[33,-20],[6,-22],[35,-22],[59,-9],[50,-16],[40,-19],[50,-18],[70,-10],[68,-16],[47,-17],[52,-20],[27,-28],[13,-22],[34,21],[46,17],[48,19],[58,15],[49,16],[69,1],[68,-8],[56,-14],[18,26],[39,17],[70,1],[55,13],[52,13],[58,8],[62,10],[43,15],[-20,21],[-12,21],[0,22],[-54,-2],[-57,-10],[-54,0],[-8,22],[4,44],[12,13],[40,14],[47,14],[34,17],[33,18],[25,23],[38,10],[38,8],[19,5],[43,2],[41,8],[34,12],[34,14],[30,14],[39,18],[24,20],[26,17],[9,24],[-30,13],[10,25],[18,18],[29,12],[31,14],[28,18],[22,23],[13,28],[21,16],[33,-3],[13,-20],[34,-2],[1,22],[14,23],[30,-6],[7,-22],[33,-3],[36,10],[35,7],[31,-3],[12,-25],[31,20],[28,10],[31,9],[31,8],[29,14],[31,9],[24,13],[17,20],[20,-15],[29,8],[20,-27],[16,-21],[32,11],[12,24],[28,16],[37,-4],[11,-22],[22,22],[30,7],[33,3],[29,-2],[31,-7],[30,-3],[13,-20],[18,-17],[31,10],[32,3],[32,0],[31,1],[28,8],[29,7],[25,16],[26,11],[28,5],[21,17],[15,32],[16,20],[29,-10],[11,-21],[24,-13],[29,4],[19,-21],[21,-15],[28,14],[10,26],[25,10],[29,20],[27,8],[33,11],[22,13],[22,14],[22,13],[26,-7],[25,21],[18,16],[26,-1],[23,14],[6,21],[23,16],[23,11],[28,10],[25,4],[25,-3],[26,-6],[22,-16],[3,-26],[24,-19],[17,-17],[33,-7],[19,-16],[23,-16],[26,-3],[23,11],[24,24],[26,-12],[27,-7],[26,-7],[27,-5],[28,0],[23,-61],[-1,-15],[-4,-27],[-26,-15],[-22,-22],[4,-23],[31,1],[-4,-23],[-14,-22],[-13,-24],[21,-19],[32,-6],[32,11],[15,23],[10,22],[15,18],[17,18],[7,21],[15,29],[18,5],[31,3],[28,7],[28,9],[14,23],[8,22],[19,22],[27,15],[23,12],[16,19],[15,11],[21,9],[27,-6],[25,6],[28,7],[30,-4],[20,17],[14,39],[11,-16],[13,-28],[23,-12],[27,-4],[26,7],[29,-5],[26,-1],[17,6],[24,-4],[21,-12],[25,8],[30,0],[25,8],[29,-8],[19,19],[14,20],[19,16],[35,44],[18,-8],[21,-16],[18,-21],[36,-36],[27,-1],[25,0],[30,7],[30,8],[23,16],[19,18],[31,2],[21,13],[22,-12],[14,-18],[19,-19],[31,2],[19,-15],[33,-15],[35,-5],[29,4],[21,19],[19,18],[25,5],[25,-8],[29,-6],[26,9],[25,0],[24,-6],[26,-5],[25,10],[30,9],[28,3],[32,0],[25,5],[25,5],[8,29],[1,24],[17,-16],[5,-27],[10,-24],[11,-20],[23,-10],[32,4],[36,1],[25,3],[37,0],[26,1],[36,-2],[31,-5],[20,-18],[-5,-22],[18,-18],[30,-13],[31,-15],[35,-11],[38,-9],[28,-9],[32,-2],[18,20],[24,-16],[21,-19],[25,-13],[34,-6],[32,-7],[13,-23],[32,-14],[21,-21],[31,-9],[32,1],[30,-4],[33,1],[34,-4],[31,-8],[28,-14],[29,-12],[20,-17],[-3,-23],[-15,-21],[-13,-27],[-9,-21],[-14,-24],[-36,-9],[-16,-21],[-36,-13],[-13,-23],[-19,-22],[-20,-18],[-11,-25],[-7,-22],[-3,-26],[0,-22],[16,-23],[6,-22],[13,-21],[52,-8],[11,-26],[-50,-9],[-43,-13],[-52,-2],[-24,-34],[-5,-27],[-12,-22],[-14,-22],[37,-20],[14,-24],[24,-22],[33,-20],[39,-19],[42,-18],[64,-19],[14,-29],[80,-12],[5,-5],[21,-17],[77,15],[63,-19],[48,-14],[-9997,-1],[24,35],[50,-19],[3,2],[30,19],[4,0],[3,-1],[40,-25],[35,25],[7,3],[81,11],[27,-14],[13,-7],[41,-20],[79,-15],[63,-18],[107,-14],[80,16],[118,-11],[67,-19],[73,17],[78,17],[6,27],[-110,3],[-89,14],[-24,23],[-74,12],[5,27],[10,24],[10,22],[-5,25],[-46,16],[-22,21],[-43,18],[68,-3],[64,9],[40,-20],[50,18],[45,22],[23,19],[-10,25],[-36,16],[-41,17],[-57,4],[-50,8],[-54,6],[-18,22],[-36,18],[-21,21],[-9,67],[14,-6],[25,-18],[45,6],[44,8],[23,-26],[44,6],[37,13],[35,16],[32,20],[41,5],[-1,22],[-9,22],[8,21],[36,11],[16,-20],[42,12],[32,15],[40,1],[38,6],[37,13],[30,13],[34,13],[22,-4],[19,-4],[41,8],[37,-10],[38,1],[37,8],[37,-6],[41,-6],[39,3],[40,-2],[42,-1],[38,3],[28,17],[34,9],[35,-13],[33,11],[30,21],[18,-19],[9,-21],[18,-19],[29,17],[33,-22],[38,-7],[32,-16],[39,3],[36,11],[41,-3],[38,-8],[38,-10],[15,25],[-18,20],[-14,21],[-36,5],[-15,22],[-6,22],[-10,43],[21,-8],[36,-3],[36,3],[33,-9],[28,-17],[12,-21],[38,-4],[36,9],[38,11],[34,7],[28,-14],[37,5],[24,45],[23,-27],[32,-10],[34,6],[23,-23],[37,-3],[33,-7],[34,-12],[21,22],[11,20],[28,-23],[38,6],[28,-13],[19,-19],[37,5],[29,13],[29,15],[33,8],[39,7],[36,8],[27,13],[16,19],[7,25],[-3,24],[-9,24],[-10,23],[-9,23],[-7,21],[-1,23],[2,23],[13,22],[11,24],[5,23],[-6,26],[-3,23],[14,27],[15,17],[18,22],[19,19],[22,17],[11,25],[15,17],[18,15],[26,3],[18,19],[19,11],[23,7],[20,15],[16,19],[22,7],[16,-15],[-10,-20],[-29,-17]],[[6914,2185],[18,-19],[26,-7],[1,-11],[-7,-27],[-43,-4],[-1,31],[4,25],[2,12]],[[9038,2648],[27,-21],[15,8],[22,12],[16,-4],[2,-70],[-9,-21],[-3,-47],[-10,16],[-19,-41],[-6,3],[-17,2],[-17,50],[-4,39],[-16,52],[1,27],[18,-5]],[[8987,4244],[10,-46],[18,22],[9,-25],[13,-23],[-3,-26],[6,-51],[5,-29],[7,-7],[7,-51],[-3,-30],[9,-40],[31,-31],[19,-28],[19,-26],[-4,-14],[16,-37],[11,-64],[11,13],[11,-26],[7,9],[5,-63],[19,-36],[13,-22],[22,-48],[8,-48],[1,-33],[-2,-37],[13,-50],[-2,-52],[-5,-28],[-7,-52],[1,-34],[-6,-43],[-12,-53],[-21,-29],[-10,-46],[-9,-29],[-8,-51],[-11,-30],[-7,-44],[-4,-41],[2,-18],[-16,-21],[-31,-2],[-26,-24],[-13,-23],[-17,-26],[-23,27],[-17,10],[5,31],[-15,-11],[-25,-43],[-24,16],[-15,9],[-16,4],[-27,17],[-18,37],[-5,45],[-7,30],[-13,24],[-27,7],[9,28],[-7,44],[-13,-41],[-25,-11],[14,33],[5,34],[10,29],[-2,44],[-22,-50],[-18,-21],[-10,-47],[-22,25],[1,31],[-18,43],[-14,22],[5,14],[-36,35],[-19,2],[-27,29],[-50,-6],[-36,-21],[-31,-20],[-27,4],[-29,-30],[-24,-14],[-6,-31],[-10,-24],[-23,-1],[-18,-5],[-24,10],[-20,-6],[-19,-3],[-17,-31],[-8,2],[-14,-16],[-13,-19],[-21,2],[-18,0],[-30,38],[-15,11],[1,34],[14,8],[4,14],[-1,21],[4,41],[-3,35],[-15,60],[-4,33],[1,34],[-11,38],[-1,18],[-12,23],[-4,47],[-16,46],[-4,26],[13,-26],[-10,55],[14,-17],[8,-23],[0,30],[-14,47],[-3,18],[-6,18],[3,34],[6,15],[4,29],[-3,35],[11,42],[2,-45],[12,41],[22,20],[14,25],[21,22],[13,4],[7,-7],[22,22],[17,6],[4,13],[8,6],[15,-2],[29,18],[15,26],[7,31],[17,30],[1,24],[1,32],[19,50],[12,-51],[12,12],[-10,28],[9,29],[12,-13],[3,45],[15,29],[7,23],[14,10],[0,17],[13,-7],[0,15],[12,8],[14,8],[20,-27],[16,-35],[17,0],[18,-6],[-6,33],[13,47],[13,15],[-5,15],[12,34],[17,21],[14,-7],[24,11],[-1,30],[-20,19],[15,9],[18,-15],[15,-24],[23,-15],[8,6],[17,-18],[17,17],[10,-5],[7,11],[12,-29],[-7,-32],[-11,-24],[-9,-2],[3,-23],[-8,-30],[-10,-29],[2,-17],[22,-32],[21,-19],[15,-20],[20,-35],[8,0],[14,-15],[4,-19],[27,-20],[18,20],[6,32],[5,26],[4,33],[8,47],[-4,28],[2,17],[-3,34],[4,45],[5,12],[-4,20],[7,31],[5,32],[1,17],[10,22],[8,-29],[2,-37],[7,-7],[1,-25],[10,-30],[2,-33],[-1,-22]],[[5471,7900],[-2,-24],[-16,0],[6,-13],[-9,-38]],[[5450,7825],[-6,-10],[-24,-1],[-14,-13],[-23,4]],[[5383,7805],[-40,15],[-6,21],[-27,-10],[-4,-12],[-16,9]],[[5290,7828],[-15,1],[-12,11],[4,15],[-1,10]],[[5266,7865],[8,3],[14,-16],[4,16],[25,-3],[20,11],[13,-2],[9,-12],[2,10],[-4,38],[10,8],[10,27]],[[5377,7945],[21,-19],[15,24],[10,5],[22,-18],[13,3],[13,-12]],[[5471,7928],[-3,-7],[3,-21]],[[6281,7346],[-19,8],[-14,27],[-4,23]],[[6349,7527],[15,-31],[14,-42],[13,-2],[8,-16],[-23,-5],[-5,-46],[-4,-21],[-11,-13],[1,-30]],[[6357,7321],[-7,-3],[-17,31],[10,30],[-9,17],[-10,-4],[-33,-44]],[[6249,7494],[6,10],[21,-17],[15,-4],[4,7],[-14,32],[7,9]],[[6288,7531],[8,-2],[19,-36],[13,-4],[4,15],[17,23]],[[5814,4792],[-1,71],[-7,27]],[[5806,4890],[17,-5],[8,34],[15,-4]],[[5846,4915],[1,-23],[6,-14],[1,-19],[-7,-12],[-11,-31],[-10,-22],[-12,-2]],[[5092,8091],[20,-5],[26,12],[17,-25],[16,-14]],[[5171,8059],[-4,-40]],[[5167,8019],[-7,-2],[-3,-33]],[[5157,7984],[-24,26],[-14,-4],[-20,28],[-13,23],[-13,1],[-4,21]],[[5069,8079],[23,12]],[[5074,5427],[-23,-7]],[[5051,5420],[-7,41],[2,136],[-6,12],[-1,29],[-10,21],[-8,17],[3,31]],[[5024,5707],[10,7],[6,26],[13,5],[6,18]],[[5059,5763],[10,17],[10,0],[21,-34]],[[5100,5746],[-1,-19],[6,-35],[-6,-24],[3,-16],[-13,-37],[-9,-18],[-5,-37],[1,-38],[-2,-95]],[[4921,5627],[-19,15],[-13,-2],[-10,-15],[-12,13],[-5,19],[-13,13]],[[4849,5670],[-1,34],[7,26],[-1,20],[23,48],[4,41],[7,14],[14,-8],[11,12],[4,16],[22,26],[5,19],[26,24],[15,9],[7,-12],[18,0]],[[5010,5939],[-2,-28],[3,-27],[16,-39],[1,-28],[32,-14],[-1,-40]],[[5024,5707],[-24,1]],[[5e3,5708],[-13,5],[-9,-9],[-12,4],[-48,-3],[-1,-33],[4,-45]],[[7573,6360],[0,-43],[-10,9],[2,-47]],[[7565,6279],[-8,30],[-1,31],[-6,28],[-11,34],[-26,3],[3,-25],[-9,-32],[-12,12],[-4,-11],[-8,6],[-11,5]],[[7472,6360],[-4,49],[-10,45],[5,35],[-17,16],[6,22],[18,22],[-20,31],[9,40],[22,-26],[14,-3],[2,-41],[26,-8],[26,1],[16,-10],[-13,-50],[-12,-3],[-9,-34],[16,-31],[4,38],[8,0],[14,-93]],[[5629,7671],[8,-25],[11,5],[21,-9],[41,-4],[13,16],[33,13],[20,-21],[17,-6]],[[5793,7640],[-15,-25],[-10,-42],[9,-34]],[[5777,7539],[-24,8],[-28,-18]],[[5725,7529],[0,-30],[-26,-5],[-19,20],[-22,-16],[-21,2]],[[5637,7500],[-2,39],[-14,19]],[[5621,7558],[5,8],[-3,7],[4,19],[11,18],[-14,26],[-2,21],[7,14]],[[2846,6461],[-7,-3],[-7,34],[-10,17],[6,38],[8,-3],[10,-49],[0,-34]],[[2838,6628],[-30,-10],[-2,22],[13,5],[18,-2],[1,-15]],[[2861,6628],[-5,-42],[-5,8],[0,31],[-12,23],[0,7],[22,-27]],[[5527,7708],[10,0],[-7,-26],[14,-23],[-4,-28],[-7,-2]],[[5533,7629],[-5,-6],[-9,-13],[-4,-33]],[[5515,7577],[-25,23],[-10,24],[-11,13],[-12,22],[-6,19],[-14,27],[6,25],[10,-14],[6,12],[13,2],[24,-10],[19,1],[12,-13]],[[5652,8242],[27,0],[30,22],[6,34],[23,19],[-3,26]],[[5735,8343],[17,10],[30,23]],[[5782,8376],[29,-15],[4,-15],[15,7],[27,-14],[3,-27],[-6,-16],[17,-39],[12,-11],[-2,-11],[19,-10],[8,-16],[-11,-13],[-23,2],[-5,-5],[7,-20],[6,-37]],[[5882,8136],[-23,-4],[-9,-13],[-2,-30],[-11,6],[-25,-3],[-7,14],[-11,-10],[-10,8],[-22,1],[-31,15],[-28,4],[-22,-1],[-15,-16],[-13,-2]],[[5653,8105],[-1,26],[-8,27],[17,12],[0,24],[-8,22],[-1,26]],[[2524,6110],[-1,8],[4,3],[5,-7],[10,36],[5,0]],[[2547,6150],[0,-8],[5,-1],[0,-16],[-5,-25],[3,-9],[-3,-21],[2,-6],[-4,-30],[-5,-16],[-5,-1],[-6,-21]],[[2529,5996],[-8,0],[2,67],[1,47]],[[3136,3714],[-20,-8],[-11,82],[-15,66],[9,57],[-15,25],[-4,43],[-13,40]],[[3067,4019],[17,64],[-12,49],[7,20],[-5,22],[10,30],[1,50],[1,41],[6,20],[-24,96]],[[3068,4411],[21,-5],[14,1],[6,18],[25,24],[14,22],[37,10],[-3,-44],[3,-23],[-2,-40],[30,-53],[31,-9],[11,-23],[19,-11],[11,-17],[18,0],[16,-17],[1,-34],[6,-18],[0,-25],[-8,-1],[11,-69],[53,-2],[-4,-35],[3,-23],[15,-16],[6,-37],[-4,-47],[-8,-26],[3,-33],[-9,-12]],[[3384,3866],[-1,18],[-25,30],[-26,1],[-49,-17],[-13,-52],[-1,-32],[-11,-71]],[[3482,3537],[6,34],[3,35],[1,32],[-10,11],[-11,-9],[-10,2],[-4,23],[-2,54],[-5,18],[-19,16],[-11,-12],[-30,11],[2,81],[-8,33]],[[3068,4411],[-15,-11],[-13,7],[2,90],[-23,-35],[-24,2],[-11,31],[-18,4],[5,25],[-15,36],[-11,53],[7,11],[0,25],[17,17],[-3,32],[7,20],[2,28],[32,40],[22,11],[4,9],[25,-2]],[[3058,4804],[13,162],[0,25],[-4,34],[-12,22],[0,42],[15,10],[6,-6],[1,23],[-16,6],[-1,37],[54,-2],[10,21],[7,-19],[6,-35],[5,8]],[[3142,5132],[15,-32],[22,4],[5,18],[21,14],[11,10],[4,25],[19,17],[-1,12],[-24,5],[-3,37],[1,40],[-13,15],[5,6],[21,-8],[22,-15],[8,14],[20,9],[31,23],[10,22],[-3,17]],[[3313,5365],[14,2],[7,-13],[-4,-26],[9,-9],[7,-28],[-8,-20],[-4,-51],[7,-30],[2,-27],[17,-28],[14,-3],[3,12],[8,3],[13,10],[9,16],[15,-5],[7,2]],[[3429,5170],[15,-5],[3,12],[-5,12],[3,17],[11,-5],[13,6],[16,-13]],[[3485,5194],[12,-12],[9,16],[6,-3],[4,-16],[13,4],[11,22],[8,44],[17,54]],[[3565,5303],[9,3],[7,-33],[16,-103],[14,-10],[1,-41],[-21,-48],[9,-18],[49,-9],[1,-60],[21,39],[35,-21],[46,-36],[14,-35],[-5,-32],[33,18],[54,-32],[41,3],[41,-49],[36,-66],[21,-17],[24,-3],[10,-18],[9,-76],[5,-35],[-11,-98],[-14,-39],[-39,-82],[-18,-67],[-21,-51],[-7,-1],[-7,-43],[2,-111],[-8,-91],[-3,-39],[-9,-23],[-5,-79],[-28,-77],[-5,-61],[-22,-26],[-7,-35],[-30,0],[-44,-23],[-19,-26],[-31,-18],[-33,-47],[-23,-58],[-5,-44],[5,-33],[-5,-60],[-6,-28],[-20,-33],[-31,-104],[-24,-47],[-19,-27],[-13,-57],[-18,-33]],[[3517,3063],[-8,33],[13,28],[-16,40],[-22,33],[-29,38],[-10,-2],[-28,46],[-18,-7]],[[8172,5325],[11,22],[23,32]],[[8206,5379],[-1,-29],[-2,-37],[-13,1],[-6,-20],[-12,31]],[[7546,6698],[12,-19],[-2,-36],[-23,-2],[-23,4],[-18,-9],[-25,22],[-1,12]],[[7466,6670],[19,44],[15,15],[20,-14],[14,-1],[12,-16]],[[5817,3752],[-39,-43],[-25,-44],[-10,-40],[-8,-22],[-15,-4],[-5,-29],[-3,-18],[-17,-14],[-23,3],[-13,17],[-12,7],[-14,-14],[-6,-28],[-14,-18],[-13,-26],[-20,-6],[-6,20],[2,36],[-16,56],[-8,9]],[[5552,3594],[0,173],[27,2],[1,210],[21,2],[43,21],[10,-24],[18,23],[9,0],[15,13]],[[5696,4014],[5,-4]],[[5701,4010],[11,-48],[5,-10],[9,-34],[32,-65],[12,-7],[0,-20],[8,-38],[21,-9],[18,-27]],[[5424,5496],[23,4],[5,16],[5,-2],[7,-13],[34,23],[12,23],[15,20],[-3,21],[8,6],[27,-4],[26,27],[20,65],[14,24],[18,10]],[[5635,5716],[3,-26],[16,-36],[0,-25],[-5,-24],[2,-18],[10,-18]],[[5661,5569],[21,-25]],[[5682,5544],[15,-24],[0,-19],[19,-31],[12,-26],[7,-35],[20,-24],[5,-18]],[[5760,5367],[-9,-7],[-18,2],[-21,6],[-10,-5],[-5,-14],[-9,-2],[-10,12],[-31,-29],[-13,6],[-4,-5],[-8,-35],[-21,11],[-20,6],[-18,22],[-23,20],[-15,-19],[-10,-30],[-3,-41]],[[5512,5265],[-18,3],[-19,10],[-16,-32],[-15,-55]],[[5444,5191],[-3,18],[-1,27],[-13,19],[-10,30],[-2,21],[-13,31],[2,18],[-3,25],[2,45],[7,11],[14,60]],[[3231,7808],[20,-8],[26,1],[-14,-24],[-10,-4],[-35,25],[-7,20],[10,18],[10,-28]],[[3283,7958],[-14,-1],[-36,19],[-26,28],[10,5],[37,-15],[28,-25],[1,-11]],[[1569,7923],[-14,-8],[-46,27],[-8,21],[-25,21],[-5,16],[-28,11],[-11,32],[2,14],[30,-13],[17,-9],[26,-6],[9,-21],[14,-28],[28,-24],[11,-33]],[[3440,8052],[-18,-52],[18,20],[19,-12],[-10,-21],[25,-16],[12,14],[28,-18],[-8,-43],[19,10],[4,-32],[8,-36],[-11,-52],[-13,-2],[-18,11],[6,48],[-8,8],[-32,-52],[-17,2],[20,28],[-27,14],[-30,-3],[-54,2],[-4,17],[17,21],[-12,16],[24,36],[28,94],[18,33],[24,21],[13,-3],[-6,-16],[-15,-37]],[[1313,8250],[27,5],[-8,-67],[24,-48],[-11,0],[-17,27],[-10,27],[-14,19],[-5,26],[1,19],[13,-8]],[[2798,8730],[-11,-31],[-12,5],[-8,17],[2,4],[10,18],[12,-1],[7,-12]],[[2725,8762],[-33,-32],[-19,1],[-6,16],[20,27],[38,0],[0,-12]],[[2634,8936],[5,-26],[15,9],[16,-15],[30,-20],[32,-19],[2,-28],[21,5],[20,-20],[-25,-18],[-43,14],[-16,26],[-27,-31],[-40,-31],[-9,35],[-38,-6],[24,30],[4,46],[9,54],[20,-5]],[[2892,9024],[-31,-3],[-7,29],[12,34],[26,8],[21,-17],[1,-25],[-4,-8],[-18,-18]],[[2343,9140],[-17,-21],[-38,18],[-22,-6],[-38,26],[24,19],[19,25],[30,-16],[17,-11],[8,-11],[17,-23]],[[3135,7724],[-18,33],[0,81],[-13,17],[-18,-10],[-10,16],[-21,-45],[-8,-46],[-10,-27],[-12,-9],[-9,-3],[-3,-15],[-51,0],[-42,0],[-12,-11],[-30,-42],[-3,-5],[-9,-23],[-26,0],[-27,0],[-12,-10],[4,-11],[2,-18],[0,-6],[-36,-30],[-29,-9],[-32,-31],[-7,0],[-10,9],[-3,8],[1,6],[6,21],[13,33],[8,35],[-5,51],[-6,53],[-29,28],[3,11],[-4,7],[-8,0],[-5,9],[-2,14],[-5,-6],[-7,2],[1,6],[-6,6],[-3,15],[-21,19],[-23,20],[-27,23],[-26,21],[-25,-17],[-9,0],[-34,15],[-23,-8],[-27,19],[-28,9],[-19,4],[-9,10],[-5,32],[-9,0],[-1,-23],[-57,0],[-95,0],[-94,0],[-84,0],[-83,0],[-82,0],[-85,0],[-27,0],[-82,0],[-79,0]],[[1588,7952],[-4,0],[-54,58],[-20,26],[-50,24],[-15,53],[3,36],[-35,25],[-5,48],[-34,43],[0,30]],[[1374,8295],[15,29],[0,37],[-48,37],[-28,68],[-17,42],[-26,27],[-19,24],[-14,31],[-28,-20],[-27,-33],[-25,39],[-19,26],[-27,16],[-28,2],[0,337],[1,219]],[[1084,9176],[51,-14],[44,-29],[29,-5],[24,24],[34,19],[41,-7],[42,26],[45,14],[20,-24],[20,14],[6,27],[20,-6],[47,-53],[37,40],[3,-45],[34,10],[11,17],[34,-3],[42,-25],[65,-22],[38,-10],[28,4],[37,-30],[-39,-29],[50,-13],[75,7],[24,11],[29,-36],[31,30],[-29,25],[18,20],[34,3],[22,6],[23,-14],[28,-32],[31,5],[49,-27],[43,9],[40,-1],[-3,37],[25,10],[43,-20],[0,-56],[17,47],[23,-1],[12,59],[-30,36],[-32,24],[2,65],[33,43],[37,-9],[28,-26],[38,-67],[-25,-29],[52,-12],[-1,-60],[38,46],[33,-38],[-9,-44],[27,-40],[29,43],[21,51],[1,65],[40,-5],[41,-8],[37,-30],[2,-29],[-21,-31],[20,-32],[-4,-29],[-54,-41],[-39,-9],[-29,18],[-8,-30],[-27,-50],[-8,-26],[-32,-40],[-40,-4],[-22,-25],[-2,-38],[-32,-7],[-34,-48],[-30,-67],[-11,-46],[-1,-69],[40,-10],[13,-55],[13,-45],[39,12],[51,-26],[28,-22],[20,-28],[35,-17],[29,-24],[46,-4],[30,-6],[-4,-51],[8,-59],[21,-66],[41,-56],[21,19],[15,61],[-14,93],[-20,31],[45,28],[31,41],[16,41],[-3,40],[-19,50],[-33,44],[32,62],[-12,54],[-9,92],[19,14],[48,-16],[29,-6],[23,15],[25,-20],[35,-34],[8,-23],[50,-4],[-1,-50],[9,-74],[25,-10],[21,-35],[40,33],[26,65],[19,28],[21,-53],[36,-75],[31,-71],[-11,-37],[37,-33],[25,-34],[44,-15],[18,-19],[11,-50],[22,-8],[11,-22],[2,-67],[-20,-22],[-20,-21],[-46,-21],[-35,-48],[-47,-10],[-59,13],[-42,0],[-29,-4],[-23,-43],[-35,-26],[-40,-78],[-32,-54],[23,9],[45,78],[58,49],[42,6],[24,-29],[-26,-40],[9,-63],[9,-45],[36,-29],[46,8],[28,67],[2,-43],[17,-22],[-34,-38],[-61,-36],[-28,-23],[-31,-43],[-21,4],[-1,50],[48,49],[-44,-2],[-31,-7]],[[1829,9377],[-14,-27],[61,17],[39,-29],[31,30],[26,-20],[23,-58],[14,25],[-20,60],[24,9],[28,-9],[31,-24],[17,-58],[9,-41],[47,-30],[50,-28],[-3,-26],[-46,-4],[18,-23],[-9,-22],[-51,9],[-48,16],[-32,-3],[-52,-20],[-70,-9],[-50,-6],[-15,28],[-38,16],[-24,-6],[-35,47],[19,6],[43,10],[39,-3],[36,11],[-54,13],[-59,-4],[-39,1],[-15,22],[64,23],[-42,-1],[-49,16],[23,44],[20,24],[74,36],[29,-12]],[[2097,9395],[-24,-39],[-44,41],[10,9],[37,2],[21,-13]],[[2879,9376],[3,-16],[-30,2],[-30,1],[-30,-8],[-8,3],[-31,32],[1,21],[14,4],[63,-6],[48,-33]],[[2595,9379],[22,-36],[26,47],[70,24],[48,-61],[-4,-38],[55,17],[26,23],[62,-30],[38,-28],[3,-25],[52,13],[29,-38],[67,-23],[24,-24],[26,-55],[-51,-28],[66,-38],[44,-13],[40,-55],[44,-3],[-9,-42],[-49,-69],[-34,26],[-44,57],[-36,-8],[-3,-34],[29,-34],[38,-27],[11,-16],[18,-58],[-9,-43],[-35,16],[-70,47],[39,-51],[29,-35],[5,-21],[-76,24],[-59,34],[-34,29],[10,17],[-42,30],[-40,29],[0,-18],[-80,-9],[-23,20],[18,44],[52,1],[57,7],[-9,21],[10,30],[36,57],[-8,27],[-11,20],[-42,29],[-57,20],[18,15],[-29,36],[-25,4],[-22,20],[-14,-18],[-51,-7],[-101,13],[-59,17],[-45,9],[-23,21],[29,27],[-39,0],[-9,60],[21,53],[29,24],[72,16],[-21,-39]],[[2212,9420],[33,-12],[50,7],[7,-17],[-26,-28],[42,-26],[-5,-53],[-45,-23],[-27,5],[-19,23],[-69,45],[0,19],[57,-7],[-31,38],[33,29]],[[2411,9357],[-30,-45],[-32,3],[-17,52],[1,29],[14,25],[28,16],[58,-2],[53,-14],[-42,-53],[-33,-11]],[[1654,9275],[-73,-29],[-15,26],[-64,31],[12,25],[19,43],[24,39],[-27,36],[94,10],[39,-13],[71,-3],[27,-17],[30,-25],[-35,-15],[-68,-41],[-34,-42],[0,-25]],[[2399,9487],[-15,-23],[-40,5],[-34,15],[15,27],[40,16],[24,-21],[10,-19]],[[2264,9590],[21,-27],[1,-31],[-13,-44],[-46,-6],[-30,10],[1,34],[-45,-4],[-2,45],[30,-2],[41,21],[40,-4],[2,8]],[[1994,9559],[11,-21],[25,10],[29,-2],[5,-29],[-17,-28],[-94,-10],[-70,-25],[-43,-2],[-3,20],[57,26],[-125,-7],[-39,10],[38,58],[26,17],[78,-20],[50,-35],[48,-5],[-40,57],[26,21],[29,-7],[9,-28]],[[2370,9612],[30,-19],[55,0],[24,-19],[-6,-22],[32,-14],[17,-14],[38,-2],[40,-5],[44,13],[57,5],[45,-5],[30,-22],[6,-24],[-17,-16],[-42,-13],[-35,8],[-80,-10],[-57,-1],[-45,8],[-74,19],[-9,32],[-4,29],[-27,26],[-58,7],[-32,19],[10,24],[58,-4]],[[1772,9645],[-4,-46],[-21,-20],[-26,-3],[-52,-26],[-44,-9],[-38,13],[47,44],[57,39],[43,-1],[38,9]],[[2393,9637],[-13,-2],[-52,4],[-7,17],[56,-1],[19,-11],[-3,-7]],[[1939,9648],[-52,-17],[-41,19],[23,19],[40,6],[39,-10],[-9,-17]],[[1954,9701],[-34,-11],[-46,0],[0,8],[29,18],[14,-3],[37,-12]],[[2338,9669],[-41,-12],[-23,13],[-12,23],[-2,24],[36,-2],[16,-4],[33,-21],[-7,-21]],[[2220,9685],[11,-25],[-45,7],[-46,19],[-62,2],[27,18],[-34,14],[-2,22],[55,-8],[75,-21],[21,-28]],[[2583,9764],[33,-20],[-38,-17],[-51,-45],[-50,-4],[-57,8],[-30,24],[0,21],[22,16],[-50,0],[-31,19],[-18,27],[20,26],[19,18],[28,4],[-12,14],[65,3],[35,-32],[47,-12],[46,-11],[22,-39]],[[3097,9967],[74,-4],[60,-8],[51,-16],[-2,-16],[-67,-25],[-68,-12],[-25,-14],[61,1],[-66,-36],[-45,-17],[-48,-48],[-57,-10],[-18,-12],[-84,-6],[39,-8],[-20,-10],[23,-29],[-26,-21],[-43,-16],[-13,-24],[-39,-17],[4,-14],[48,3],[0,-15],[-74,-35],[-73,16],[-81,-9],[-42,7],[-52,3],[-4,29],[52,13],[-14,43],[17,4],[74,-26],[-38,38],[-45,11],[23,23],[49,14],[8,21],[-39,23],[-12,31],[76,-3],[22,-6],[43,21],[-62,7],[-98,-4],[-49,20],[-23,24],[-32,17],[-6,21],[41,11],[32,2],[55,9],[41,22],[34,-3],[30,-16],[21,32],[37,9],[50,7],[85,2],[14,-6],[81,10],[60,-4],[60,-4]],[[5290,7828],[-3,-24],[-12,-10],[-20,7],[-6,-24],[-14,-2],[-5,10],[-15,-20],[-13,-3],[-12,13]],[[5190,7775],[-10,25],[-13,-9],[0,27],[21,33],[-1,15],[12,-5],[8,10]],[[5207,7871],[24,-1],[5,13],[30,-18]],[[3140,1814],[-10,-24],[-23,-18],[-14,2],[-16,5],[-21,18],[-29,8],[-35,33],[-28,32],[-38,66],[23,-12],[39,-40],[36,-21],[15,27],[9,41],[25,24],[20,-7]],[[3095,1968],[-25,0],[-13,-14],[-25,-22],[-5,-55],[-11,-1],[-32,19],[-32,41],[-34,34],[-9,37],[8,35],[-14,39],[-4,101],[12,57],[30,45],[-43,18],[27,52],[9,98],[31,-21],[15,123],[-19,15],[-9,-73],[-17,8],[9,84],[9,110],[13,40],[-8,58],[-2,66],[11,2],[17,96],[20,94],[11,88],[-6,89],[8,49],[-3,72],[16,73],[5,114],[9,123],[9,132],[-2,96],[-6,84]],[[3045,3974],[14,15],[8,30]],[[8064,6161],[-24,-28],[-23,18],[0,51],[13,26],[31,17],[16,-1],[6,-23],[-12,-26],[-7,-34]],[[8628,7562],[-18,35],[-11,-33],[-43,-26],[4,-31],[-24,2],[-13,19],[-19,-42],[-30,-32],[-23,-38]],[[8451,7416],[-39,-17],[-20,-27],[-30,-17],[15,28],[-6,23],[22,40],[-15,30],[-24,-20],[-32,-41],[-17,-39],[-27,-2],[-14,-28],[15,-40],[22,-10],[1,-26],[22,-17],[31,42],[25,-23],[18,-2],[4,-31],[-39,-16],[-13,-32],[-27,-30],[-14,-41],[30,-33],[11,-58],[17,-54],[18,-45],[0,-44],[-17,-16],[6,-32],[17,-18],[-5,-48],[-7,-47],[-15,-5],[-21,-64],[-22,-78],[-26,-70],[-38,-55],[-39,-50],[-31,-6],[-17,-27],[-10,20],[-15,-30],[-39,-29],[-29,-9],[-10,-63],[-15,-3],[-8,43],[7,22],[-37,19],[-13,-9]],[[8001,6331],[-28,15],[-14,24],[5,34],[-26,11],[-13,22],[-24,-31],[-27,-7],[-22,0],[-15,-14]],[[7837,6385],[-14,-9],[4,-68],[-15,2],[-2,14]],[[7810,6324],[-1,24],[-20,-17],[-12,11],[-21,22],[8,49],[-18,12],[-6,54],[-30,-10],[4,70],[26,50],[1,48],[-1,46],[-12,14],[-9,35],[-16,-5]],[[7703,6727],[-30,9],[9,25],[-13,36],[-20,-24],[-23,14],[-32,-37],[-25,-44],[-23,-8]],[[7466,6670],[-2,47],[-17,-13]],[[7447,6704],[-32,6],[-32,14],[-22,26],[-22,11],[-9,29],[-16,8],[-28,39],[-22,18],[-12,-14]],[[7252,6841],[-38,41],[-28,37],[-7,65],[20,-7],[1,30],[-12,30],[3,48],[-30,69]],[[7161,7154],[-45,24],[-8,46],[-21,27]],[[7082,7268],[-4,34],[1,23],[-17,13],[-9,-6],[-7,55]],[[7046,7387],[8,13],[-4,14],[26,28],[20,12],[29,-8],[11,38],[35,7],[10,23],[44,32],[4,13]],[[7229,7559],[-2,34],[19,15],[-25,103],[55,24],[14,13],[20,106],[55,-20],[15,27],[2,59],[23,6],[21,39]],[[7426,7965],[11,5]],[[7437,7970],[7,-41],[23,-32],[40,-22],[19,-47],[-10,-70],[10,-25],[33,-10],[37,-8],[33,-37],[18,-7],[12,-54],[17,-35],[30,1],[58,-13],[36,8],[28,-9],[41,-36],[34,0],[12,-18],[32,32],[45,20],[42,2],[32,21],[20,32],[20,20],[-5,19],[-9,23],[15,38],[15,-5],[29,-12],[28,31],[42,23],[20,39],[20,17],[40,8],[22,-7],[3,21],[-25,41],[-22,19],[-22,-22],[-27,10],[-16,-8],[-7,24],[20,59],[13,45]],[[8240,8005],[34,-23],[39,38],[-1,26],[26,62],[15,19],[0,33],[-16,14],[23,29],[35,11],[37,2],[41,-18],[25,-22],[17,-59],[10,-26],[10,-36],[10,-58],[49,-19],[32,-42],[12,-55],[42,0],[24,23],[46,17],[-15,-53],[-11,-21],[-9,-65],[-19,-58],[-33,11],[-24,-21],[7,-51],[-4,-69],[-14,-2],[0,-30]],[[4920,5353],[-12,-1],[-20,12],[-18,-1],[-33,-10],[-19,-18],[-27,-21],[-6,1]],[[4785,5315],[2,49],[3,7],[-1,24],[-12,24],[-8,4],[-8,17],[6,26],[-3,28],[1,18]],[[4765,5512],[5,0],[1,25],[-2,12],[3,8],[10,7],[-7,47],[-6,25],[2,20],[5,4]],[[4776,5660],[4,6],[8,-9],[21,-1],[5,18],[5,-1],[8,6],[4,-25],[7,7],[11,9]],[[4921,5627],[7,-84],[-11,-50],[-8,-66],[12,-51],[-1,-23]],[[5363,5191],[-4,4],[-16,-8],[-17,8],[-13,-4]],[[5313,5191],[-45,1]],[[5268,5192],[4,47],[-11,39],[-13,10],[-6,27],[-7,8],[1,16]],[[5236,5339],[7,42],[13,57],[8,1],[17,34],[10,1],[16,-24],[19,20],[2,25],[7,23],[4,30],[15,25],[5,41],[6,13],[4,31],[7,37],[24,46],[1,20],[3,10],[-11,24]],[[5393,5795],[1,19],[8,3]],[[5402,5817],[11,-38],[2,-39],[-1,-39],[15,-54],[-15,1],[-8,-4],[-13,6],[-6,-28],[16,-35],[13,-10],[3,-24],[9,-41],[-4,-16]],[[5444,5191],[-2,-31],[-22,14],[-22,15],[-35,2]],[[5856,5265],[-2,-69],[11,-8],[-9,-21],[-10,-16],[-11,-31],[-6,-27],[-1,-48],[-7,-22],[0,-45]],[[5821,4978],[-8,-16],[-1,-35],[-4,-5],[-2,-32]],[[5814,4792],[5,-55],[-2,-30],[5,-35],[16,-33],[15,-74]],[[5853,4565],[-11,6],[-37,-10],[-7,-7],[-8,-38],[6,-26],[-5,-70],[-3,-59],[7,-11],[19,-23],[8,11],[2,-64],[-21,1],[-11,32],[-10,25],[-22,9],[-6,31],[-17,-19],[-22,8],[-10,27],[-17,6],[-13,-2],[-2,19],[-9,1]],[[5342,4697],[-4,18]],[[5360,4775],[8,-6],[9,23],[15,-1],[2,-17],[11,-10],[16,37],[16,29],[7,19],[-1,48],[12,58],[13,30],[18,29],[3,18],[1,22],[5,21],[-2,33],[4,52],[5,37],[8,32],[2,36]],[[5760,5367],[17,-49],[12,-7],[8,10],[12,-4],[16,12],[6,-25],[25,-39]],[[5330,4760],[-22,62]],[[5308,4822],[21,33],[-11,39],[10,15],[19,7],[2,26],[15,-28],[24,-2],[9,27],[3,40],[-3,46],[-13,35],[12,68],[-7,12],[-21,-5],[-7,31],[2,25]],[[2906,5049],[-12,14],[-14,19],[-7,-9],[-24,8],[-7,25],[-5,-1],[-28,34]],[[2809,5139],[-3,18],[10,5],[-1,29],[6,22],[14,4],[12,37],[10,31],[-10,14],[5,34],[-6,54],[6,16],[-4,50],[-12,31]],[[2836,5484],[4,29],[9,-4],[5,17],[-6,35],[3,9]],[[2851,5570],[14,-2],[21,41],[12,6],[0,20],[5,50],[16,27],[17,1],[3,13],[21,-5],[22,30],[11,13],[14,28],[9,-3],[8,-16],[-6,-20]],[[3018,5753],[-18,-10],[-7,-29],[-10,-17],[-8,-22],[-4,-42],[-8,-35],[15,-4],[3,-27],[6,-13],[3,-24],[-4,-22],[1,-12],[7,-5],[7,-20],[36,5],[16,-7],[19,-51],[11,6],[20,-3],[16,7],[10,-10],[-5,-32],[-6,-20],[-2,-42],[5,-40],[8,-17],[1,-13],[-14,-30],[10,-13],[8,-21],[8,-58]],[[3058,4804],[-14,31],[-8,1],[18,61],[-21,27],[-17,-5],[-10,10],[-15,-15],[-21,7],[-16,62],[-13,15],[-9,28],[-19,28],[-7,-5]],[[2695,5543],[-15,14],[-6,12],[4,10],[-1,13],[-8,14],[-11,12],[-10,8],[-1,17],[-8,10],[2,-17],[-5,-14],[-7,17],[-9,5],[-4,12],[1,18],[3,19],[-8,8],[7,12]],[[2619,5713],[4,7],[18,-15],[7,7],[9,-5],[4,-12],[8,-4],[7,13]],[[2676,5704],[7,-32],[11,-24],[13,-25]],[[2707,5623],[-11,-6],[0,-23],[6,-9],[-4,-7],[1,-11],[-2,-12],[-2,-12]],[[2715,6427],[23,-4],[22,0],[26,-21],[11,-21],[26,6],[10,-13],[24,-37],[17,-27],[9,1],[17,-12],[-2,-17],[20,-2],[21,-24],[-3,-14],[-19,-7],[-18,-3],[-19,4],[-40,-5],[18,32],[-11,16],[-18,4],[-9,17],[-7,33],[-16,-2],[-26,16],[-8,12],[-36,10],[-10,11],[11,15],[-28,3],[-20,-31],[-11,-1],[-4,-14],[-14,-7],[-12,6],[15,18],[6,22],[13,13],[14,11],[21,6],[7,6]],[[5909,7133],[2,1],[4,14],[20,-1],[25,18],[-19,-25],[2,-11]],[[5943,7129],[-3,2],[-5,-5],[-4,1],[-2,-2],[0,6],[-2,4],[-6,0],[-7,-5],[-5,3]],[[5943,7129],[1,-5],[-28,-24],[-14,8],[-7,23],[14,2]],[[5377,7945],[-16,25],[-14,15],[-3,25],[-5,17],[21,13],[10,15],[20,11],[7,11],[7,-6],[13,6]],[[5417,8077],[13,-19],[21,-5],[-2,-17],[15,-12],[4,15],[19,-6],[3,-19],[20,-3],[13,-29]],[[5523,7982],[-8,0],[-4,-11],[-7,-3],[-2,-13],[-5,-3],[-1,-5],[-9,-7],[-12,1],[-4,-13]],[[5275,8306],[1,-23],[28,-14],[-1,-21],[29,11],[15,16],[32,-23],[13,-19]],[[5392,8233],[6,-30],[-8,-16],[11,-21],[6,-31],[-2,-21],[12,-37]],[[5207,7871],[3,42],[14,40],[-40,11],[-13,16]],[[5171,7980],[2,26],[-6,13]],[[5171,8059],[-5,62],[17,0],[7,22],[6,54],[-5,20]],[[5191,8217],[6,13],[23,3],[5,-13],[19,29],[-6,22],[-2,34]],[[5236,8305],[21,-8],[18,9]],[[6196,5808],[7,-19],[-1,-24],[-16,-14],[12,-16]],[[6198,5735],[-10,-32]],[[6188,5703],[-7,11],[-6,-5],[-16,1],[0,18],[-2,17],[9,27],[10,26]],[[6176,5798],[12,-5],[8,15]],[[5352,8343],[-17,-48],[-29,33],[-4,25],[41,19],[9,-29]],[[5236,8305],[-11,32],[-1,61],[5,16],[8,17],[24,4],[10,16],[22,17],[-1,-30],[-8,-20],[4,-16],[15,-9],[-7,-22],[-8,6],[-20,-42],[7,-29]],[[3008,6222],[3,10],[22,0],[16,-15],[8,1],[5,-21],[15,1],[-1,-17],[12,-2],[14,-22],[-10,-24],[-14,13],[-12,-3],[-9,3],[-5,-11],[-11,-3],[-4,14],[-10,-8],[-11,-41],[-7,10],[-1,17]],[[3008,6124],[0,16],[-7,17],[7,10],[2,23],[-2,32]],[[5333,6444],[-95,-112],[-81,-117],[-39,-26]],[[5118,6189],[-31,-6],[0,38],[-13,10],[-17,16],[-7,28],[-94,129],[-93,129]],[[4863,6533],[-105,143]],[[4758,6676],[1,11],[0,4]],[[4759,6691],[0,70],[44,44],[28,9],[23,16],[11,29],[32,24],[1,44],[16,5],[13,22],[36,9],[5,23],[-7,13],[-10,62],[-1,36],[-11,38]],[[4939,7135],[27,32],[30,11],[17,24],[27,18],[47,11],[46,4],[14,-8],[26,23],[30,0],[11,-13],[19,3]],[[5233,7240],[-5,-30],[4,-56],[-6,-49],[-18,-33],[3,-45],[23,-35],[0,-14],[17,-24],[12,-106]],[[5263,6848],[9,-52],[1,-28],[-5,-48],[2,-27],[-3,-32],[2,-37],[-11,-25],[17,-43],[1,-25],[10,-33],[13,11],[22,-28],[12,-37]],[[2769,4856],[15,45],[-6,25],[-11,-27],[-16,26],[5,16],[-4,54],[9,9],[5,37],[11,38],[-2,24],[15,13],[19,23]],[[2906,5049],[4,-45],[-9,-39],[-30,-62],[-33,-23],[-17,-51],[-6,-40],[-15,-24],[-12,29],[-11,7],[-12,-5],[-1,22],[8,14],[-3,24]],[[5969,6800],[-7,-23],[-6,-45],[-8,-31],[-6,-10],[-10,19],[-12,26],[-20,85],[-3,-5],[12,-63],[17,-59],[21,-92],[10,-32],[9,-34],[25,-65],[-6,-10],[1,-39],[33,-53],[4,-12]],[[6023,6357],[-110,0],[-107,0],[-112,0]],[[5694,6357],[0,218],[0,210],[-8,47],[7,37],[-5,25],[10,29]],[[5698,6923],[37,0],[27,-15],[28,-18],[13,-9],[21,19],[11,17],[25,5],[20,-8],[7,-29],[7,19],[22,-14],[22,-3],[13,15]],[[5951,6902],[18,-102]],[[6176,5798],[-10,20],[-11,34],[-12,19],[-8,21],[-24,23],[-19,1],[-7,12],[-16,-14],[-17,27],[-8,-44],[-33,13]],[[6011,5910],[-3,23],[12,87],[3,39],[9,18],[20,10],[14,34]],[[6066,6121],[16,-69],[8,-54],[15,-29],[38,-55],[16,-34],[15,-34],[8,-20],[14,-18]],[[4749,7532],[1,42],[-11,25],[39,43],[34,-11],[37,1],[30,-10],[23,3],[45,-2]],[[4947,7623],[11,-23],[51,-27],[10,13],[31,-27],[32,8]],[[5082,7567],[2,-35],[-26,-39],[-36,-12],[-2,-20],[-18,-33],[-10,-48],[11,-34],[-16,-26],[-6,-39],[-21,-11],[-20,-46],[-35,-1],[-27,1],[-17,-21],[-11,-22],[-13,5],[-11,20],[-8,34],[-26,9]],[[4792,7249],[-2,20],[10,22],[4,16],[-9,17],[7,39],[-11,36],[12,5],[1,27],[5,9],[0,46],[13,16],[-8,30],[-16,2],[-5,-8],[-16,0],[-7,29],[-11,-8],[-10,-15]],[[5675,8472],[3,35],[-10,-8],[-18,21],[-2,34],[35,17],[35,8],[30,-10],[29,2]],[[5777,8571],[4,-10],[-20,-34],[8,-55],[-12,-19]],[[5757,8453],[-22,0],[-24,22],[-13,7],[-23,-10]],[[6188,5703],[-6,-21],[10,-32],[10,-29],[11,-21],[90,-70],[24,0]],[[6327,5530],[-79,-177],[-36,-3],[-25,-41],[-17,-1],[-8,-19]],[[6162,5289],[-19,0],[-11,20],[-26,-25],[-8,-24],[-18,4],[-6,7],[-7,-1],[-9,0],[-35,50],[-19,0],[-10,20],[0,33],[-14,10]],[[5980,5383],[-17,64],[-12,14],[-5,23],[-14,29],[-17,4],[9,34],[15,2],[4,18]],[[5943,5571],[0,53]],[[5943,5624],[8,62],[13,16],[3,24],[12,45],[17,30],[11,58],[4,51]],[[5794,9138],[-4,-42],[42,-39],[-26,-45],[33,-67],[-19,-51],[25,-43],[-11,-39],[41,-40],[-11,-31],[-25,-34],[-60,-75]],[[5779,8632],[-50,-5],[-49,-21],[-45,-13],[-16,32],[-27,20],[6,58],[-14,53],[14,35],[25,37],[63,64],[19,12],[-3,25],[-39,28]],[[5663,8957],[-9,23],[-1,91],[-43,40],[-37,29]],[[5573,9140],[17,16],[30,-32],[37,3],[30,-14],[26,26],[14,44],[43,20],[35,-24],[-11,-41]],[[9954,4033],[9,-17],[-4,-31],[-17,-8],[-16,7],[-2,26],[10,21],[13,-8],[7,10]],[[0,4079],[9981,-14],[-17,-13],[-4,23],[14,12],[9,3],[-9983,18]],[[0,4108],[0,-29]],[[0,4108],[6,3],[-4,-28],[-2,-4]],[[3300,1994],[33,36],[24,-15],[16,24],[22,-27],[-8,-21],[-37,-17],[-13,20],[-23,-26],[-14,26]],[[5265,7548],[-9,-46],[-13,12],[-6,40],[5,22],[18,22],[5,-50]],[[5157,7984],[6,-6],[8,2]],[[5190,7775],[-2,-17],[9,-22],[-10,-18],[7,-46],[15,-8],[-3,-25]],[[5206,7639],[-25,-34],[-55,16],[-40,-19],[-4,-35]],[[4947,7623],[14,35],[5,118],[-28,62],[-21,30],[-42,23],[-3,43],[36,12],[47,-15],[-9,67],[26,-25],[65,46],[8,48],[24,12]],[[3485,5194],[7,25],[3,27]],[[3495,5246],[4,26],[-10,34]],[[3489,5306],[-3,41],[15,51]],[[3501,5398],[9,-7],[21,-14],[29,-50],[5,-24]],[[5308,4822],[-29,60],[-18,49],[-17,61],[1,19],[6,19],[7,43],[5,44]],[[5263,5117],[10,4],[40,-1],[0,71]],[[4827,8240],[-21,12],[-17,-1],[6,32],[-6,32]],[[4789,8315],[23,2],[30,-37],[-15,-40]],[[4916,8521],[-30,-63],[29,8],[30,-1],[-7,-48],[-25,-53],[29,-4],[2,-6],[25,-69],[19,-10],[17,-67],[8,-24],[33,-11],[-3,-38],[-14,-17],[11,-30],[-25,-31],[-37,0],[-48,-16],[-13,12],[-18,-28],[-26,7],[-19,-23],[-15,12],[41,62],[25,13],[-1,0],[-43,9],[-8,24],[29,18],[-15,32],[5,39],[42,-6],[4,35],[-19,36],[0,1],[-34,10],[-7,16],[10,27],[-9,16],[-15,-28],[-1,57],[-14,30],[10,61],[21,48],[23,-4],[33,4]],[[6154,7511],[4,26],[-7,40],[-16,22],[-16,6],[-10,19]],[[6109,7624],[4,6],[23,-10],[41,-9],[38,-28],[5,-11],[17,9],[25,-13],[9,-24],[17,-13]],[[6210,7485],[-27,29],[-29,-3]],[[5029,5408],[-44,-35],[-15,-20],[-25,-17],[-25,17]],[[5e3,5708],[-2,-18],[12,-30],[0,-43],[2,-47],[7,-21],[-6,-54],[2,-29],[8,-37],[6,-21]],[[4765,5512],[-8,1],[-5,-24],[-8,1],[-6,12],[2,24],[-11,36],[-8,-7],[-6,-1]],[[4715,5554],[-7,-3],[0,21],[-4,16],[0,17],[-6,25],[-7,21],[-23,0],[-6,-11],[-8,-1],[-4,-13],[-4,-17],[-14,-26]],[[4632,5583],[-13,35],[-10,24],[-8,7],[-6,12],[-4,26],[-4,13],[-8,10]],[[4579,5710],[13,29],[8,-2],[7,10],[6,0],[5,8],[-3,20],[3,6],[1,20]],[[4619,5801],[13,-1],[20,-14],[6,1],[3,7],[15,-5],[4,4]],[[4680,5793],[1,-22],[5,0],[7,8],[5,-2],[7,-15],[12,-5],[8,13],[9,8],[6,8],[6,-1],[6,-13],[3,-17],[12,-24],[-6,-16],[-1,-19],[6,6],[3,-7],[-1,-17],[8,-18]],[[4532,5834],[3,27]],[[4535,5861],[31,1],[6,14],[9,1],[11,-14],[8,-1],[9,10],[6,-17],[-12,-13],[-12,1],[-12,13],[-10,-14],[-5,-1],[-7,-8],[-25,1]],[[4579,5710],[-15,24],[-11,4],[-7,17],[1,9],[-9,13],[-2,12]],[[4536,5789],[15,10],[9,-2],[8,7],[51,-3]],[[5263,5117],[-5,9],[10,66]],[[5658,7167],[15,-20],[22,3],[20,-4],[0,-10],[15,7],[-4,-18],[-40,-5],[1,10],[-34,12],[5,25]],[[5723,7469],[-17,2],[-14,6],[-34,-16],[19,-33],[-14,-10],[-15,0],[-15,31],[-5,-13],[6,-36],[14,-27],[-10,-13],[15,-27],[14,-18],[0,-33],[-25,16],[8,-30],[-18,-7],[11,-52],[-19,-1],[-23,26],[-10,47],[-5,40],[-11,27],[-14,34],[-2,16]],[[5583,7470],[18,6],[11,13],[15,-2],[5,11],[5,2]],[[5725,7529],[13,-16],[-8,-37],[-7,-7]],[[3701,9939],[93,35],[97,-2],[36,21],[98,6],[222,-7],[174,-47],[-52,-23],[-106,-3],[-150,-5],[14,-11],[99,7],[83,-21],[54,18],[23,-21],[-30,-34],[71,22],[135,23],[83,-12],[15,-25],[-113,-42],[-16,-14],[-88,-10],[64,-3],[-32,-43],[-23,-38],[1,-66],[33,-38],[-43,-3],[-46,-19],[52,-31],[6,-50],[-30,-6],[36,-50],[-61,-5],[32,-24],[-9,-20],[-39,-10],[-39,0],[35,-40],[0,-26],[-55,24],[-14,-15],[37,-15],[37,-36],[10,-48],[-49,-11],[-22,22],[-34,34],[10,-40],[-33,-31],[73,-2],[39,-3],[-75,-52],[-75,-46],[-81,-21],[-31,0],[-29,-23],[-38,-62],[-60,-42],[-19,-2],[-37,-15],[-40,-13],[-24,-37],[0,-41],[-15,-39],[-45,-47],[11,-47],[-12,-48],[-14,-58],[-39,-4],[-41,49],[-56,0],[-27,32],[-18,58],[-49,73],[-14,39],[-3,53],[-39,54],[10,44],[-18,21],[27,69],[42,22],[11,25],[6,46],[-32,-21],[-15,-9],[-25,-8],[-34,19],[-2,40],[11,31],[25,1],[57,-15],[-48,37],[-24,20],[-28,-8],[-23,15],[31,55],[-17,22],[-22,41],[-34,62],[-35,23],[0,25],[-74,34],[-59,5],[-74,-3],[-68,-4],[-32,19],[-49,37],[73,19],[56,3],[-119,15],[-62,24],[3,23],[106,28],[101,29],[11,21],[-75,22],[24,23],[97,41],[40,7],[-12,26],[66,16],[86,9],[85,1],[30,-19],[74,33],[66,-22],[39,-5],[58,-19],[-66,32],[4,25]],[[2497,5869],[-14,10],[-17,1],[-13,12],[-15,24]],[[2438,5916],[1,18],[3,13],[-4,12],[13,48],[36,0],[1,20],[-5,4],[-3,12],[-10,14],[-11,20],[13,0],[0,33],[26,0],[26,0]],[[2529,5996],[10,-11],[2,9],[8,-7]],[[2549,5987],[-13,-23],[-13,-16],[-2,-12],[2,-11],[-5,-15]],[[2518,5910],[-7,-4],[2,-7],[-6,-6],[-9,-15],[-1,-9]],[[3340,5552],[18,-22],[17,-38],[1,-31],[10,-1],[15,-29],[11,-21]],[[3412,5410],[-4,-53],[-17,-15],[1,-14],[-5,-31],[13,-42],[9,-1],[3,-33],[17,-51]],[[3313,5365],[-19,45],[7,16],[0,27],[17,10],[7,11],[-10,22],[3,21],[22,35]],[[2574,5825],[-5,18],[-8,5]],[[2561,5848],[2,24],[-4,6],[-6,4],[-12,-7],[-1,8],[-8,10],[-6,12],[-8,5]],[[2549,5987],[3,-3],[6,11],[8,1],[3,-5],[4,3],[13,-6],[13,2],[9,6],[3,7],[9,-3],[6,-4],[8,1],[5,5],[13,-8],[4,-1],[9,-11],[8,-13],[10,-9],[7,-17]],[[2690,5943],[-9,2],[-4,-8],[-10,-8],[-7,0],[-6,-8],[-6,3],[-4,9],[-3,-2],[-4,-14],[-3,1],[0,-12],[-10,-17],[-5,-7],[-3,-7],[-8,12],[-6,-16],[-6,1],[-6,-2],[0,-29],[-4,0],[-3,-14],[-9,-2]],[[5522,7770],[7,-23],[9,-17],[-11,-22]],[[5515,7577],[-3,-10]],[[5512,7567],[-26,22],[-16,21],[-26,18],[-23,43],[6,5],[-13,25],[-1,19],[-17,10],[-9,-26],[-8,20],[0,21],[1,1]],[[5380,7746],[20,-2],[5,9],[9,-9],[11,-1],[0,16],[10,6],[2,24],[23,16]],[[5460,7805],[8,-7],[21,-26],[23,-11],[10,9]],[[3008,6124],[-19,10],[-13,-5],[-17,5],[-13,-11],[-15,18],[3,19],[25,-8],[21,-5],[10,13],[-12,26],[0,23],[-18,9],[7,16],[17,-3],[24,-9]],[[5471,7900],[14,-15],[10,-6],[24,7],[2,12],[11,2],[14,9],[3,-4],[13,8],[6,13],[9,4],[30,-18],[6,6]],[[5613,7918],[15,-16],[2,-16]],[[5630,7886],[-17,-12],[-13,-40],[-17,-40],[-22,-11]],[[5561,7783],[-17,2],[-22,-15]],[[5460,7805],[-6,20],[-4,0]],[[8352,4453],[-11,-2],[-37,42],[26,11],[14,-18],[10,-17],[-2,-16]],[[8471,4532],[2,-11],[1,-18]],[[8474,4503],[-18,-45],[-24,-13],[-3,8],[2,20],[12,36],[28,23]],[[8274,4579],[10,-16],[17,5],[7,-25],[-32,-12],[-19,-8],[-15,1],[10,34],[15,0],[7,21]],[[8413,4579],[-4,-32],[-42,-17],[-37,7],[0,22],[22,12],[18,-18],[18,5],[25,21]],[[8017,4657],[53,-6],[6,25],[51,-29],[10,-38],[42,-11],[34,-35],[-31,-23],[-31,24],[-25,-1],[-29,4],[-26,11],[-32,22],[-21,6],[-11,-7],[-51,24],[-5,25],[-25,5],[19,56],[34,-3],[22,-23],[12,-5],[4,-21]],[[8741,4690],[-14,-40],[-3,45],[5,21],[6,20],[7,-17],[-1,-29]],[[8534,4853],[-11,-19],[-19,10],[-5,26],[28,3],[7,-20]],[[8623,4875],[10,-45],[-23,24],[-23,5],[-16,-4],[-19,2],[6,33],[35,2],[30,-17]],[[8916,4904],[0,-193],[1,-192]],[[8917,4519],[-25,48],[-28,12],[-7,-17],[-35,-1],[12,48],[17,16],[-7,64],[-14,50],[-53,50],[-23,5],[-42,54],[-8,-28],[-11,-5],[-6,21],[0,26],[-21,29],[29,21],[20,-1],[-2,16],[-41,0],[-11,35],[-25,11],[-11,29],[37,14],[14,20],[45,-25],[4,-22],[8,-95],[29,-35],[23,62],[32,36],[25,0],[23,-21],[21,-21],[30,-11]],[[8478,5141],[-22,-58],[-21,-12],[-27,12],[-46,-3],[-24,-8],[-4,-45],[24,-53],[15,27],[52,20],[-2,-27],[-12,9],[-12,-35],[-25,-23],[27,-76],[-5,-20],[25,-68],[-1,-39],[-14,-17],[-11,20],[13,49],[-27,-23],[-7,16],[3,23],[-20,35],[3,57],[-19,-18],[2,-69],[1,-84],[-17,-9],[-12,18],[8,54],[-4,57],[-12,1],[-9,40],[12,39],[4,47],[14,89],[5,24],[24,44],[22,-18],[35,-8],[32,3],[27,43],[5,-14]],[[8574,5124],[-2,-51],[-14,6],[-4,-36],[11,-32],[-8,-7],[-11,38],[-8,75],[6,47],[9,22],[2,-32],[16,-5],[3,-25]],[[8045,5176],[5,-39],[19,-34],[18,12],[18,-4],[16,30],[13,5],[26,-17],[23,13],[14,82],[11,21],[10,67],[32,0],[24,-10]],[[8274,5302],[-16,-53],[20,-56],[-5,-28],[32,-54],[-33,-7],[-10,-40],[2,-54],[-27,-40],[-1,-59],[-10,-91],[-5,21],[-31,-26],[-11,36],[-20,3],[-14,19],[-33,-21],[-10,29],[-18,-4],[-23,7],[-4,79],[-14,17],[-13,50],[-4,52],[3,55],[16,39]],[[7939,4712],[-31,-1],[-24,49],[-35,48],[-12,36],[-21,48],[-14,44],[-21,83],[-24,49],[-9,51],[-10,46],[-25,37],[-14,51],[-21,33],[-29,65],[-3,30],[18,-2],[43,-12],[25,-57],[21,-40],[16,-25],[26,-63],[28,-1],[23,-41],[16,-49],[22,-27],[-12,-49],[16,-20],[10,-2],[5,-41],[10,-33],[20,-5],[14,-37],[-7,-74],[-1,-91]],[[7252,6841],[-17,-27],[-11,-55],[27,-23],[26,-29],[36,-33],[38,-8],[16,-30],[22,-5],[33,-14],[23,1],[4,23],[-4,38],[2,25]],[[7703,6727],[2,-22],[-10,-11],[2,-36],[-19,10],[-36,-41],[0,-33],[-15,-50],[-1,-29],[-13,-48],[-21,13],[-1,-61],[-7,-20],[3,-25],[-14,-14]],[[7472,6360],[-4,-21],[-19,1],[-34,-13],[2,-44],[-15,-35],[-40,-40],[-31,-69],[-21,-38],[-28,-38],[0,-27],[-13,-15],[-26,-21],[-12,-3],[-9,-45],[6,-77],[1,-49],[-11,-56],[0,-101],[-15,-2],[-12,-46],[8,-19],[-25,-17],[-10,-40],[-11,-17],[-26,55],[-13,83],[-11,60],[-9,28],[-15,56],[-7,74],[-5,37],[-25,81],[-12,115],[-8,75],[0,72],[-5,55],[-41,-35],[-19,7],[-36,71],[13,22],[-8,23],[-33,50]],[[6893,6457],[19,40],[61,-1],[-6,51],[-15,30],[-4,46],[-18,26],[31,62],[32,-4],[29,61],[18,60],[27,60],[-1,42],[24,34],[-23,29],[-9,40],[-10,52],[14,25],[42,-14],[31,9],[26,49]],[[4827,8240],[5,-42],[-21,-53],[-49,-35],[-40,9],[23,62],[-15,60],[38,46],[21,28]],[[6497,7255],[25,12],[19,33],[19,-1],[12,11],[20,-6],[31,-30],[22,-6],[31,-53],[21,-2],[3,-49]],[[6690,6820],[14,-31],[11,-36],[27,-26],[1,-52],[13,-10],[2,-27],[-40,-30],[-10,-69]],[[6708,6539],[-53,18],[-30,13],[-31,8],[-12,73],[-13,10],[-22,-11],[-28,-28],[-34,20],[-28,45],[-27,17],[-18,56],[-21,79],[-15,-10],[-17,20],[-11,-24]],[[6348,6825],[-15,32],[0,31],[-9,0],[5,43],[-15,45],[-34,32],[-19,56],[6,46],[14,21],[-2,34],[-18,18],[-18,70]],[[6243,7253],[-15,48],[5,18],[-8,68],[19,17]],[[6357,7321],[9,-43],[26,-13],[20,-29],[39,-10],[44,15],[2,14]],[[6348,6825],[-16,3]],[[6332,6828],[-19,5],[-20,-56]],[[6293,6777],[-52,4],[-78,119],[-41,41],[-34,16]],[[6088,6957],[-11,72]],[[6077,7029],[61,62],[11,71],[-3,43],[16,15],[14,37]],[[6176,7257],[12,9],[32,-8],[10,-15],[13,10]],[[4597,8984],[-7,-39],[31,-40],[-36,-45],[-80,-41],[-24,-10],[-36,8],[-78,19],[28,26],[-61,29],[49,12],[-1,17],[-58,14],[19,38],[42,9],[43,-40],[42,32],[35,-17],[45,32],[47,-4]],[[5992,6990],[-5,-19]],[[5987,6971],[-10,8],[-6,-39],[7,-7],[-7,-8],[-1,-15],[13,8]],[[5983,6918],[0,-23],[-14,-95]],[[5951,6902],[8,19],[-2,4],[8,27],[5,45],[4,15],[1,0]],[[5975,7012],[9,0],[3,11],[7,0]],[[5994,7023],[1,-24],[-4,-9],[1,0]],[[5431,7316],[-10,-46],[4,-19],[-6,-30],[-21,22],[-14,7],[-39,30],[4,30],[32,-6],[28,7],[22,5]],[[5255,7492],[17,-42],[-4,-78],[-13,4],[-11,-20],[-10,16],[-2,71],[-6,34],[15,-3],[14,18]],[[5383,7805],[-3,-29],[7,-25]],[[5387,7751],[-22,8],[-23,-20],[1,-30],[-3,-17],[9,-30],[26,-29],[14,-49],[31,-48],[22,0],[7,-13],[-8,-11],[25,-22],[20,-18],[24,-30],[3,-11],[-5,-22],[-16,28],[-24,10],[-12,-39],[20,-21],[-3,-31],[-11,-4],[-15,-50],[-12,-5],[0,18],[6,32],[6,12],[-11,35],[-8,29],[-12,8],[-8,25],[-18,11],[-12,24],[-21,4],[-21,26],[-26,39],[-19,34],[-8,58],[-14,7],[-23,20],[-12,-8],[-16,-28],[-12,-4]],[[2845,6150],[19,-5],[14,-15],[5,-16],[-19,-1],[-9,-10],[-15,10],[-16,21],[3,14],[12,4],[6,-2]],[[5992,6990],[31,-24],[54,63]],[[6088,6957],[-5,-8],[-56,-30],[28,-59],[-9,-10],[-5,-20],[-21,-8],[-7,-21],[-12,-19],[-31,10]],[[5970,6792],[-1,8]],[[5983,6918],[4,17],[0,36]],[[8739,7075],[4,-20],[-16,-36],[-11,19],[-15,-14],[-7,-34],[-18,16],[0,28],[15,36],[16,-7],[12,25],[20,-13]],[[8915,7252],[-10,-47],[4,-30],[-14,-42],[-35,-27],[-49,-4],[-40,-67],[-19,22],[-1,44],[-48,-13],[-33,-27],[-32,-2],[28,-43],[-19,-101],[-18,-24],[-13,23],[7,53],[-18,17],[-11,41],[26,18],[15,37],[28,30],[20,41],[55,17],[30,-12],[29,105],[19,-28],[40,59],[16,23],[18,72],[-5,67],[11,37],[30,11],[15,-82],[-1,-48],[-25,-59],[0,-61]],[[8997,7667],[19,-12],[20,25],[6,-67],[-41,-16],[-25,-59],[-43,41],[-15,-65],[-31,-1],[-4,59],[14,46],[29,3],[8,82],[9,46],[32,-62],[22,-20]],[[6970,7554],[-15,-10],[-37,-42],[-12,-42],[-11,0],[-7,28],[-36,2],[-5,48],[-14,0],[2,60],[-33,43],[-48,-5],[-32,-8],[-27,53],[-22,22],[-43,43],[-6,5],[-71,-35],[1,-218]],[[6554,7498],[-14,-3],[-20,46],[-18,17],[-32,-12],[-12,-20]],[[6458,7526],[-2,14],[7,25],[-5,21],[-32,20],[-13,53],[-15,15],[-1,19],[27,-6],[1,44],[23,9],[25,-9],[5,58],[-5,36],[-28,-2],[-24,14],[-32,-26],[-26,-12]],[[6363,7799],[-14,9],[3,31],[-18,39],[-20,-2],[-24,40],[16,45],[-8,12],[22,65],[29,-34],[3,43],[58,64],[43,2],[61,-41],[33,-24],[30,25],[44,1],[35,-30],[8,17],[39,-2],[7,28],[-45,40],[27,29],[-5,16],[26,15],[-20,41],[13,20],[104,21],[13,14],[70,22],[25,24],[50,-12],[9,-61],[29,14],[35,-20],[-2,-32],[27,3],[69,56],[-10,-19],[35,-46],[62,-150],[15,31],[39,-34],[39,16],[16,-11],[13,-34],[20,-12],[11,-25],[36,8],[15,-36]],[[7229,7559],[-17,9],[-14,21],[-42,6],[-46,2],[-10,-6],[-39,24],[-16,-12],[-4,-35],[-46,21],[-18,-9],[-7,-26]],[[6155,4958],[-20,-24],[-7,-24],[-10,-4],[-4,-42],[-9,-24],[-5,-39],[-12,-20]],[[6088,4781],[-40,59],[-1,35],[-101,120],[-5,6]],[[5941,5001],[0,63],[8,24],[14,39],[10,43],[-13,68],[-3,30],[-13,41]],[[5944,5309],[17,35],[19,39]],[[6162,5289],[-24,-67],[0,-215],[17,-49]],[[7046,7387],[-53,-9],[-34,19],[-30,-4],[3,34],[30,-10],[10,18]],[[6972,7435],[21,-6],[36,43],[-33,31],[-20,-15],[-21,22],[24,39],[-9,5]],[[7849,5777],[-7,72],[18,49],[36,11],[26,-8]],[[7922,5901],[23,-23],[12,40],[25,-21]],[[7982,5897],[6,-40],[-3,-71],[-47,-45],[13,-36],[-30,-4],[-24,-24]],[[7897,5677],[-23,9],[-11,30],[-14,61]],[[8564,7339],[24,-70],[7,-38],[0,-68],[-10,-33],[-25,-11],[-22,-25],[-25,-5],[-3,32],[5,45],[-13,61],[21,10],[-19,51]],[[8504,7288],[2,5],[12,-2],[11,27],[20,2],[11,4],[4,15]],[[5557,7574],[5,13]],[[5562,7587],[7,4],[4,20],[5,3],[4,-8],[5,-4],[3,-10],[5,-2],[5,-11],[4,0],[-3,-14],[-3,-7],[1,-5]],[[5599,7553],[-6,-2],[-17,-9],[-1,-12],[-4,0]],[[6332,6828],[6,-26],[-3,-13],[9,-45]],[[6344,6744],[-19,-1],[-7,28],[-25,6]],[[7922,5901],[9,26],[1,50],[-22,52],[-2,58],[-21,48],[-21,4],[-6,-20],[-16,-2],[-8,10],[-30,-35],[0,53],[7,62],[-19,3],[-2,36],[-12,18]],[[7780,6264],[6,21],[24,39]],[[7837,6385],[17,-47],[12,-54],[34,0],[11,-52],[-18,-15],[-8,-21],[34,-36],[23,-70],[17,-52],[21,-41],[7,-41],[-5,-59]],[[5975,7012],[10,49],[14,41],[0,2]],[[5999,7104],[13,-3],[4,-23],[-15,-22],[-7,-33]],[[4785,5315],[-7,0],[-29,28],[-25,45],[-24,32],[-18,38]],[[4682,5458],[6,19],[2,17],[12,33],[13,27]],[[5412,6408],[-20,-22],[-15,33],[-44,25]],[[5263,6848],[13,14],[3,25],[-3,24],[19,23],[8,19],[14,17],[2,45]],[[5319,7015],[32,-20],[12,5],[23,-10],[37,-26],[13,-53],[25,-11],[39,-25],[30,-29],[13,15],[13,27],[-6,45],[9,29],[20,28],[19,8],[37,-12],[10,-27],[10,0],[9,-10],[28,-7],[6,-19]],[[5694,6357],[0,-118],[-32,0],[0,-25]],[[5662,6214],[-111,113],[-111,113],[-28,-32]],[[7271,5502],[-4,-62],[-12,-16],[-24,-14],[-13,47],[-5,85],[13,96],[19,-33],[13,-42],[13,-61]],[[5804,3347],[10,-18],[-9,-29],[-4,-19],[-16,-9],[-5,-19],[-10,-6],[-21,46],[15,37],[15,23],[13,12],[12,-18]],[[5631,8267],[-2,15],[3,16],[-13,10],[-29,10]],[[5590,8318],[-6,50]],[[5584,8368],[32,18],[47,-4],[27,6],[4,-12],[15,-4],[26,-29]],[[5652,8242],[-7,19],[-14,6]],[[5584,8368],[1,44],[14,37],[26,20],[22,-44],[22,1],[6,46]],[[5757,8453],[14,-14],[2,-28],[9,-35]],[[4759,6691],[-4,0],[0,-31],[-17,-2],[-9,-14],[-13,0],[-10,8],[-23,-6],[-9,-46],[-9,-5],[-13,-74],[-38,-64],[-9,-81],[-12,-27],[-3,-21],[-63,-5]],[[4527,6323],[1,27],[11,17],[9,30],[-2,20],[10,42],[15,38],[9,9],[8,35],[0,31],[10,37],[19,21],[18,60],[0,1],[14,23],[26,6],[22,41],[14,16],[23,49],[-7,73],[10,51],[4,31],[18,40],[28,27],[21,25],[18,61],[9,36],[20,0],[17,-25],[26,4],[29,-13],[12,-1]],[[5739,7906],[6,9],[19,6],[20,-19],[12,-2],[12,-16],[-2,-20],[11,-9],[4,-25],[9,-15],[-2,-9],[5,-6],[-7,-4],[-16,1],[-3,9],[-6,-5],[2,-11],[-7,-19],[-5,-20],[-7,-6]],[[5784,7745],[-5,27],[3,25],[-1,26],[-16,35],[-9,25],[-9,17],[-8,6]],[[6376,4321],[7,-25],[7,-39],[4,-71],[7,-28],[-2,-28],[-5,-18],[-10,35],[-5,-18],[5,-43],[-2,-25],[-8,-14],[-1,-50],[-11,-69],[-14,-81],[-17,-112],[-11,-82],[-12,-69],[-23,-14],[-24,-25],[-16,15],[-22,21],[-8,31],[-2,53],[-10,47],[-2,42],[5,43],[13,10],[0,20],[13,45],[2,37],[-6,28],[-5,38],[-2,54],[9,33],[4,38],[14,2],[15,12],[11,10],[12,1],[16,34],[23,36],[8,30],[-4,25],[12,-7],[15,41],[1,36],[9,26],[10,-25]],[[2301,6586],[-10,-52],[-5,-43],[-2,-79],[-3,-29],[5,-32],[9,-29],[5,-45],[19,-44],[6,-34],[11,-29],[29,-16],[12,-25],[24,17],[21,6],[21,11],[18,10],[17,24],[7,34],[2,50],[5,17],[19,16],[29,13],[25,-2],[17,5],[6,-12],[-1,-29],[-15,-35],[-6,-36],[5,-10],[-4,-26],[-7,-46],[-7,15],[-6,-1]],[[2438,5916],[-32,64],[-14,19],[-23,16],[-15,-5],[-22,-22],[-14,-6],[-20,16],[-21,11],[-26,27],[-21,8],[-31,28],[-23,28],[-7,16],[-16,3],[-28,19],[-12,27],[-30,34],[-14,37],[-6,29],[9,5],[-3,17],[7,16],[0,20],[-10,27],[-2,23],[-9,30],[-25,59],[-28,46],[-13,37],[-24,24],[-5,14],[4,37],[-14,13],[-17,29],[-7,41],[-14,5],[-17,31],[-13,29],[-1,19],[-15,44],[-10,45],[1,23],[-20,23],[-10,-2],[-15,16],[-5,-24],[5,-28],[2,-45],[10,-24],[21,-41],[4,-14],[4,-4],[4,-20],[5,1],[6,-38],[8,-15],[6,-21],[17,-30],[10,-55],[8,-26],[8,-28],[1,-31],[13,-2],[12,-27],[10,-26],[-1,-11],[-12,-21],[-5,0],[-7,36],[-18,33],[-20,29],[-14,15],[1,43],[-5,32],[-13,19],[-19,26],[-4,-8],[-7,16],[-17,14],[-16,34],[2,5],[11,-4],[11,22],[1,27],[-22,42],[-16,17],[-10,36],[-11,39],[-12,47],[-12,54]],[[1746,6980],[32,4],[35,7],[-2,-12],[41,-29],[64,-41],[55,0],[22,0],[0,24],[48,0],[10,-20],[15,-19],[16,-26],[9,-31],[7,-32],[15,-18],[23,-18],[17,47],[23,1],[19,-24],[14,-40],[10,-35],[16,-34],[6,-41],[8,-28],[22,-18],[20,-13],[10,2]],[[5599,7553],[9,4],[13,1]],[[4661,5921],[10,11],[4,35],[9,1],[20,-16],[15,11],[11,-4],[4,13],[112,1],[6,42],[-5,7],[-13,255],[-14,255],[43,1]],[[5118,6189],[0,-136],[-15,-39],[-2,-37],[-25,-9],[-38,-5],[-10,-21],[-18,-3]],[[4680,5793],[1,18],[-2,23],[-11,16],[-5,34],[-2,37]],[[7737,5644],[-3,44],[9,45],[-10,35],[3,65],[-12,30],[-9,71],[-5,75],[-12,49],[-18,-30],[-32,-42],[-15,5],[-17,14],[9,73],[-6,56],[-21,68],[3,21],[-16,7],[-20,49]],[[7780,6264],[-16,-14],[-16,-26],[-20,-2],[-12,-64],[-12,-11],[14,-52],[17,-43],[12,-39],[-11,-51],[-9,-11],[6,-30],[19,-47],[3,-33],[0,-27],[11,-54],[-16,-55],[-13,-61]],[[5538,7532],[-6,4],[-8,19],[-12,12]],[[5533,7629],[8,-10],[4,-9],[9,-6],[10,-12],[-2,-5]],[[7437,7970],[29,10],[53,51],[42,28],[24,-18],[29,-1],[19,-28],[28,-2],[40,-15],[27,41],[-11,35],[28,61],[31,-24],[26,-7],[32,-15],[6,-44],[39,-25],[26,11],[36,7],[27,-7],[28,-29],[16,-30],[26,1],[35,-10],[26,15],[36,9],[41,42],[17,-6],[14,-20],[33,5]],[[5959,4377],[21,5],[34,-17],[7,8],[19,1],[10,18],[17,-1],[30,23],[22,34]],[[6119,4448],[5,-26],[-1,-59],[3,-52],[1,-92],[5,-29],[-8,-43],[-11,-41],[-18,-36],[-25,-23],[-31,-28],[-32,-64],[-10,-11],[-20,-42],[-11,-13],[-3,-42],[14,-45],[5,-35],[0,-17],[5,3],[-1,-58],[-4,-28],[6,-10],[-4,-25],[-11,-21],[-23,-20],[-34,-32],[-12,-21],[3,-25],[7,-4],[-3,-31]],[[5911,3478],[-21,0]],[[5890,3478],[-2,26],[-4,27]],[[5884,3531],[-3,21],[5,66],[-7,42],[-13,83]],[[5866,3743],[29,67],[7,43],[5,5],[3,35],[-5,17],[1,44],[6,41],[0,75],[-15,19],[-13,4],[-6,15],[-13,12],[-23,-1],[-2,22]],[[5840,4141],[-2,42],[84,49]],[[5922,4232],[16,-28],[8,5],[11,-15],[1,-23],[-6,-28],[2,-42],[19,-36],[8,41],[12,12],[-2,76],[-12,43],[-10,19],[-10,-1],[-7,77],[7,45]],[[4661,5921],[-18,41],[-17,43],[-18,16],[-13,17],[-16,-1],[-13,-12],[-14,5],[-10,-19]],[[4542,6011],[-2,32],[8,29],[3,55],[-3,59],[-3,29],[2,30],[-7,28],[-14,25]],[[4526,6298],[6,20],[108,-1],[-5,86],[7,30],[26,5],[-1,152],[91,-4],[0,90]],[[5922,4232],[-15,15],[9,55],[9,21],[-6,49],[6,48],[5,16],[-7,50],[-14,26]],[[5909,4512],[28,-11],[5,-16],[10,-28],[7,-80]],[[7836,5425],[7,-5],[16,-36],[12,-40],[2,-39],[-3,-27],[2,-21],[2,-35],[10,-16],[11,-52],[-1,-20],[-19,-4],[-27,44],[-32,47],[-4,30],[-16,39],[-4,49],[-10,32],[4,43],[-7,25]],[[7779,5439],[5,11],[23,-26],[2,-30],[18,7],[9,24]],[[8045,5176],[21,-20],[21,11],[6,50],[12,11],[33,13],[20,47],[14,37]],[[8206,5379],[22,41],[14,47],[11,0],[14,-30],[1,-26],[19,-16],[23,-18],[-2,-23],[-19,-3],[5,-29],[-20,-20]],[[5453,3369],[-20,45],[-11,43],[-6,58],[-7,42],[-9,91],[-1,71],[-3,32],[-11,25],[-15,48],[-14,71],[-6,37],[-23,58],[-2,45]],[[5644,4022],[23,14],[18,-4],[11,-13],[0,-5]],[[5552,3594],[0,-218],[-25,-30],[-15,-4],[-17,11],[-13,4],[-4,25],[-11,17],[-14,-30]],[[9604,3812],[23,-36],[14,-28],[-10,-14],[-16,16],[-19,27],[-18,31],[-19,42],[-4,20],[12,-1],[16,-20],[12,-20],[9,-17]],[[5412,6408],[7,-92],[10,-15],[1,-19],[11,-20],[-6,-25],[-11,-120],[-1,-77],[-35,-56],[-12,-78],[11,-22],[0,-38],[18,-1],[-3,-28]],[[5393,5795],[-5,-1],[-19,64],[-6,3],[-22,-33],[-21,17],[-15,3],[-8,-8],[-17,2],[-16,-25],[-14,-2],[-34,31],[-13,-15],[-14,1],[-10,23],[-28,22],[-30,-7],[-7,-13],[-4,-34],[-8,-24],[-2,-53]],[[5236,5339],[-29,-21],[-11,3],[-10,-13],[-23,1],[-15,37],[-9,43],[-19,39],[-21,-1],[-25,0]],[[2619,5713],[-10,18],[-13,24],[-6,20],[-12,19],[-13,26],[3,9],[4,-9],[2,5]],[[2690,5943],[-2,-5],[-2,-13],[3,-22],[-6,-20],[-3,-24],[-1,-26],[1,-15],[1,-27],[-4,-6],[-3,-25],[2,-15],[-6,-16],[2,-16],[4,-9]],[[5092,8091],[14,16],[24,87],[38,25],[23,-2]],[[5863,9167],[-47,-24],[-22,-5]],[[5573,9140],[-17,-2],[-4,-39],[-53,9],[-7,-33],[-27,1],[-18,-42],[-28,-66],[-43,-83],[10,-20],[-10,-24],[-27,1],[-18,-55],[2,-79],[17,-29],[-9,-70],[-23,-40],[-12,-34]],[[5306,8535],[-19,36],[-55,-69],[-37,-13],[-38,30],[-10,63],[-9,137],[26,38],[73,49],[55,61],[51,82],[66,115],[47,44],[76,74],[61,26],[46,-3],[42,49],[51,-3],[50,12],[87,-43],[-36,-16],[30,-37]],[[5686,9657],[-62,-24],[-49,13],[19,16],[-16,19],[57,11],[11,-22],[40,-13]],[[5506,9766],[92,-44],[-70,-23],[-15,-44],[-25,-11],[-13,-49],[-34,-2],[-59,36],[25,21],[-42,17],[-54,50],[-21,46],[75,21],[16,-20],[39,0],[11,21],[40,2],[35,-21]],[[5706,9808],[55,-21],[-41,-32],[-81,-7],[-82,10],[-5,16],[-40,1],[-30,27],[86,17],[40,-14],[28,17],[70,-14]],[[9805,2640],[6,-24],[20,24],[8,-25],[0,-25],[-10,-27],[-18,-44],[-14,-24],[10,-28],[-22,-1],[-23,-22],[-8,-39],[-16,-60],[-21,-26],[-14,-17],[-26,1],[-18,20],[-30,4],[-5,22],[15,43],[35,59],[18,11],[20,22],[24,31],[16,31],[13,44],[10,15],[5,33],[19,27],[6,-25]],[[9849,2922],[20,-63],[1,41],[13,-16],[4,-45],[22,-19],[19,-5],[16,22],[14,-6],[-7,-53],[-8,-34],[-22,1],[-7,-18],[3,-25],[-4,-11],[-11,-32],[-14,-41],[-21,-23],[-5,15],[-12,9],[16,48],[-9,33],[-30,23],[1,22],[20,20],[5,46],[-1,38],[-12,40],[1,10],[-13,25],[-22,52],[-12,42],[11,4],[15,-33],[21,-15],[8,-52]],[[6475,6041],[-9,41],[-22,98]],[[6444,6180],[83,59],[19,118],[-13,42]],[[6566,6530],[12,-40],[16,-22],[20,-8],[17,-10],[12,-34],[8,-20],[10,-7],[0,-13],[-10,-36],[-5,-16],[-12,-19],[-10,-41],[-13,3],[-5,-14],[-5,-30],[4,-39],[-3,-7],[-13,0],[-17,-22],[-3,-29],[-6,-12],[-18,0],[-10,-15],[0,-24],[-14,-16],[-15,5],[-19,-19],[-12,-4]],[[6557,6597],[8,20],[3,-5],[-2,-25],[-4,-10]],[[6893,6457],[-20,15],[-9,43],[-21,45],[-51,-12],[-45,-1],[-39,-8]],[[2836,5484],[-9,17],[-6,32],[7,16],[-7,4],[-5,20],[-14,16],[-12,-4],[-6,-20],[-11,-15],[-6,-2],[-3,-13],[13,-32],[-7,-7],[-4,-9],[-13,-3],[-5,35],[-4,-10],[-9,4],[-5,24],[-12,3],[-7,7],[-12,0],[-1,-13],[-3,9]],[[2707,5623],[10,-22],[-1,-12],[11,-3],[3,5],[8,-14],[13,4],[12,15],[17,12],[9,17],[16,-3],[-1,-6],[15,-2],[12,-10],[10,-18],[10,-16]],[[3045,3974],[-28,33],[-2,25],[-55,59],[-50,65],[-22,36],[-11,49],[4,17],[-23,77],[-28,109],[-26,118],[-11,27],[-9,43],[-21,39],[-20,24],[9,26],[-14,57],[9,41],[22,37]],[[8510,5555],[2,-40],[2,-33],[-9,-54],[-11,60],[-13,-30],[9,-43],[-8,-28],[-32,35],[-8,42],[8,28],[-17,28],[-9,-24],[-13,2],[-21,-33],[-4,17],[11,50],[17,17],[15,22],[10,-27],[21,17],[5,26],[19,1],[-1,46],[22,-28],[3,-30],[2,-21]],[[8443,5665],[-10,-20],[-9,-37],[-8,-17],[-17,40],[5,16],[7,17],[3,36],[16,4],[-5,-40],[21,57],[-3,-56]],[[8291,5608],[-37,-56],[14,41],[20,37],[16,41],[15,58],[5,-48],[-18,-33],[-15,-40]],[[8385,5760],[16,-18],[18,0],[0,-25],[-13,-25],[-18,-18],[-1,28],[2,30],[-4,28]],[[8485,5776],[8,-66],[-21,16],[0,-20],[7,-37],[-13,-13],[-1,42],[-9,3],[-4,36],[16,-5],[0,22],[-17,45],[27,-1],[7,-22]],[[8375,5830],[-7,-51],[-12,29],[-15,45],[24,-2],[10,-21]],[[8369,6151],[17,-17],[9,15],[2,-15],[-4,-24],[9,-43],[-7,-49],[-16,-19],[-5,-48],[7,-47],[14,-7],[13,7],[34,-32],[-2,-32],[9,-15],[-3,-27],[-22,29],[-10,31],[-7,-22],[-18,36],[-25,-9],[-14,13],[1,25],[9,15],[-8,13],[-4,-21],[-14,34],[-4,26],[-1,56],[11,-19],[3,92],[9,54],[17,0]],[[9329,4655],[-8,-6],[-12,22],[-12,38],[-6,45],[4,6],[3,-18],[8,-13],[14,-38],[13,-20],[-4,-16]],[[9221,4734],[-15,-5],[-4,-17],[-15,-14],[-15,-14],[-14,0],[-23,18],[-16,16],[2,18],[25,-8],[15,4],[5,29],[4,1],[2,-31],[16,4],[8,20],[16,21],[-4,35],[17,1],[6,-9],[-1,-33],[-9,-36]],[[8916,4904],[48,-41],[51,-34],[19,-30],[16,-30],[4,-34],[46,-37],[7,-31],[-25,-7],[6,-39],[25,-39],[18,-62],[15,2],[-1,-27],[22,-10],[-9,-11],[30,-25],[-3,-17],[-18,-4],[-7,16],[-24,6],[-28,9],[-22,38],[-16,32],[-14,52],[-36,26],[-24,-17],[-17,-20],[4,-43],[-22,-20],[-16,9],[-28,3]],[[9253,4792],[-9,-16],[-5,35],[-6,23],[-13,19],[-16,25],[-20,18],[8,14],[15,-17],[9,-13],[12,-14],[11,-25],[11,-19],[3,-30]],[[5392,8233],[19,18],[43,27],[35,20],[28,-10],[2,-14],[27,-1]],[[5546,8273],[34,-7],[51,1]],[[5653,8105],[14,-52],[-3,-17],[-14,-6],[-25,-50],[7,-26],[-6,3]],[[5626,7957],[-26,23],[-20,-8],[-13,6],[-17,-13],[-14,21],[-11,-8],[-2,4]],[[3159,6151],[14,-5],[5,-12],[-7,-15],[-21,1],[-17,-2],[-1,25],[4,9],[23,-1]],[[8628,7562],[4,-10]],[[8632,7552],[-11,3],[-12,-20],[-8,-20],[1,-42],[-14,-13],[-5,-11],[-11,-17],[-18,-10],[-12,-16],[-1,-25],[-3,-7],[11,-9],[15,-26]],[[8504,7288],[-13,11],[-4,-11],[-8,-5],[-1,11],[-7,5],[-8,10],[8,26],[7,7],[-3,11],[7,31],[-2,10],[-16,7],[-13,15]],[[4792,7249],[-11,-15],[-14,8],[-15,-6],[5,46],[-3,36],[-12,6],[-7,22],[2,39],[11,21],[2,24],[6,36],[-1,25],[-5,21],[-1,20]],[[6411,6520],[-2,43],[7,31],[8,6],[8,-18],[1,-35],[-6,-35]],[[6427,6512],[-8,-4],[-8,12]],[[5630,7886],[12,13],[17,-7],[18,0],[13,-14],[10,9],[20,5],[7,14],[12,0]],[[5784,7745],[12,-11],[13,9],[13,-10]],[[5822,7733],[0,-15],[-13,-13],[-9,6],[-7,-71]],[[5629,7671],[-5,10],[6,10],[-7,7],[-8,-13],[-17,17],[-2,25],[-17,14],[-3,18],[-15,24]],[[8989,8056],[28,-105],[-41,19],[-17,-85],[27,-61],[-1,-41],[-21,36],[-18,-46],[-5,50],[3,57],[-3,64],[6,45],[2,79],[-17,58],[3,80],[25,28],[-11,27],[13,8],[7,-39],[10,-57],[-1,-58],[11,-59]],[[5546,8273],[6,26],[38,19]],[[0,9132],[68,-45],[73,-59],[-3,-37],[19,-15],[-6,43],[75,-8],[55,-56],[-28,-26],[-46,-6],[0,-57],[-11,-13],[-26,2],[-22,21],[-36,17],[-7,26],[-28,9],[-31,-7],[-16,20],[6,22],[-33,-14],[13,-28],[-16,-25]],[[0,8896],[0,236]],[[0,9282],[9999,-40],[-30,-3],[-5,19],[-9964,24]],[[0,9282],[4,3],[23,0],[40,-17],[-2,-8],[-29,-14],[-36,-4],[0,40]],[[8988,9383],[-42,-1],[-57,7],[-5,3],[27,23],[34,6],[40,-23],[3,-15]],[[9186,9493],[-32,-23],[-44,5],[-52,23],[7,20],[51,-9],[70,-16]],[[9029,9522],[-22,-44],[-102,1],[-46,-14],[-55,39],[15,40],[37,11],[73,-2],[100,-31]],[[6598,9235],[-17,-5],[-91,8],[-7,26],[-50,16],[-4,32],[28,13],[-1,32],[55,50],[-25,7],[66,52],[-7,27],[62,31],[91,38],[93,11],[48,22],[54,8],[19,-23],[-19,-19],[-98,-29],[-85,-28],[-86,-57],[-42,-57],[-43,-57],[5,-49],[54,-49]],[[0,8896],[9963,-26],[-36,4],[25,-31],[17,-49],[13,-16],[3,-24],[-7,-16],[-52,13],[-78,-44],[-25,-7],[-42,-42],[-40,-36],[-11,-27],[-39,41],[-73,-46],[-12,22],[-27,-26],[-37,8],[-9,-38],[-33,-58],[1,-24],[31,-13],[-4,-86],[-25,-2],[-12,-49],[11,-26],[-48,-30],[-10,-67],[-41,-15],[-9,-60],[-40,-55],[-10,41],[-12,86],[-15,131],[13,82],[23,35],[2,28],[43,13],[50,75],[47,60],[50,48],[23,83],[-34,-5],[-17,-49],[-70,-65],[-23,73],[-72,-20],[-69,-99],[23,-36],[-62,-16],[-43,-6],[2,43],[-43,9],[-35,-29],[-85,10],[-91,-18],[-90,-115],[-106,-139],[43,-8],[14,-37],[27,-13],[18,30],[30,-4],[40,-65],[1,-50],[-21,-59],[-3,-71],[-12,-94],[-42,-86],[-9,-41],[-38,-69],[-38,-68],[-18,-35],[-37,-34],[-17,-1],[-17,29],[-38,-44],[-4,-19]],[[6363,7799],[-12,-35],[-27,-10],[-28,-61],[25,-56],[-2,-40],[30,-70]],[[6109,7624],[-35,49],[-32,23],[-24,34],[20,10],[23,49],[-15,24],[41,24],[-1,13],[-25,-10]],[[6061,7840],[1,26],[14,17],[27,4],[5,20],[-7,33],[12,30],[-1,18],[-41,19],[-16,-1],[-17,28],[-21,-9],[-35,20],[0,12],[-10,26],[-22,3],[-2,18],[7,12],[-18,33],[-29,-5],[-8,3],[-7,-14],[-11,3]],[[5777,8571],[31,33],[-29,28]],[[5863,9167],[29,20],[46,-35],[76,-14],[105,-67],[21,-28],[2,-40],[-31,-31],[-45,-15],[-124,44],[-21,-7],[45,-43],[2,-28],[2,-60],[36,-18],[22,-15],[3,28],[-17,26],[18,22],[67,-37],[24,15],[-19,43],[65,58],[25,-4],[26,-20],[16,40],[-23,35],[14,36],[-21,36],[78,-18],[16,-34],[-35,-7],[0,-33],[22,-20],[43,13],[7,38],[58,28],[97,50],[20,-3],[-27,-35],[35,-7],[19,21],[52,1],[42,25],[31,-36],[32,39],[-29,35],[14,19],[82,-18],[39,-18],[100,-68],[19,31],[-28,31],[-1,13],[-34,6],[10,28],[-15,46],[-1,19],[51,53],[18,54],[21,11],[74,-15],[5,-33],[-26,-48],[17,-19],[9,-41],[-6,-81],[31,-36],[-12,-40],[-55,-84],[32,-8],[11,21],[31,15],[7,29],[24,29],[-16,33],[13,39],[-31,5],[-6,33],[22,59],[-36,48],[50,40],[-7,42],[14,2],[15,-33],[-11,-57],[29,-11],[-12,43],[46,23],[58,3],[51,-34],[-25,49],[-2,63],[48,12],[67,-2],[60,7],[-23,31],[33,39],[31,2],[54,29],[74,8],[9,16],[73,6],[23,-14],[62,32],[51,-1],[8,25],[26,25],[66,25],[48,-19],[-38,-15],[63,-9],[7,-29],[25,14],[82,-1],[62,-29],[23,-22],[-7,-30],[-31,-18],[-73,-33],[-21,-17],[35,-8],[41,-15],[25,11],[14,-38],[12,15],[44,10],[90,-10],[6,-28],[116,-9],[2,46],[59,-11],[44,1],[45,-32],[13,-37],[-17,-25],[35,-47],[44,-24],[27,62],[44,-26],[48,16],[53,-18],[21,16],[45,-8],[-20,55],[37,25],[251,-38],[24,-35],[72,-45],[112,11],[56,-10],[23,-24],[-4,-44],[35,-16],[37,12],[49,1],[52,-11],[53,6],[49,-52],[34,19],[-23,37],[13,27],[88,-17],[58,4],[80,-29],[-9960,-25]],[[7918,9684],[-157,-23],[51,77],[23,7],[21,-4],[70,-33],[-8,-24]],[[6420,9816],[-37,-8],[-25,-4],[-4,-10],[-33,-10],[-30,14],[16,19],[-62,2],[54,10],[43,1],[5,-16],[16,14],[26,10],[42,-13],[-11,-9]],[[7775,9718],[-60,-8],[-78,17],[-46,23],[-21,42],[-38,12],[72,40],[60,14],[54,-30],[64,-57],[-7,-53]],[[5844,4990],[11,-33],[-1,-35],[-8,-7]],[[5821,4978],[7,-6],[16,18]],[[4526,6298],[1,25]],[[6188,6023],[-4,26],[-8,17],[-2,24],[-15,21],[-15,50],[-7,48],[-20,40],[-12,10],[-18,56],[-4,41],[2,35],[-16,66],[-13,23],[-15,12],[-10,34],[2,13],[-8,31],[-8,13],[-11,44],[-17,48],[-14,40],[-14,0],[5,33],[1,20],[3,24]],[[6344,6744],[11,-51],[14,-13],[5,-21],[18,-25],[2,-24],[-3,-20],[4,-20],[8,-16],[4,-20],[4,-14]],[[6427,6512],[5,-22]],[[6444,6180],[-80,-23],[-26,-26],[-20,-62],[-13,-10],[-7,20],[-11,-3],[-27,6],[-5,5],[-32,-1],[-7,-5],[-12,15],[-7,-29],[3,-25],[-12,-19]],[[5943,5617],[-4,1],[0,29],[-3,20],[-14,24],[-4,42],[4,44],[-13,4],[-2,-13],[-17,-3],[7,-17],[2,-36],[-15,-32],[-14,-43],[-14,-6],[-23,34],[-11,-12],[-3,-17],[-14,-11],[-1,-12],[-28,0],[-3,12],[-20,2],[-10,-10],[-8,5],[-14,34],[-5,17],[-20,-9],[-8,-27],[-7,-53],[-10,-11],[-8,-6]],[[5663,5567],[-2,2]],[[5635,5716],[0,14],[-10,17],[-1,35],[-5,23],[-10,-4],[3,22],[7,25],[-3,24],[9,18],[-6,14],[7,36],[13,44],[24,-4],[-1,234]],[[6023,6357],[9,-58],[-6,-10],[4,-61],[11,-71],[10,-14],[15,-22]],[[5943,5624],[0,-7]],[[5943,5617],[0,-46]],[[5944,5309],[-17,-28],[-20,1],[-22,-14],[-18,13],[-11,-16]],[[5682,5544],[-19,23]],[[4535,5861],[-11,46],[-14,21],[12,11],[14,41],[6,31]],[[4536,5789],[-4,45]],[[9502,4438],[8,-20],[-19,0],[-11,37],[17,-15],[5,-2]],[[9467,4474],[-11,-1],[-17,6],[-5,9],[1,23],[19,-9],[9,-12],[4,-16]],[[9490,4490],[-4,-11],[-21,52],[-5,35],[9,0],[10,-47],[11,-29]],[[9440,4565],[1,-12],[-22,25],[-15,21],[-10,20],[4,6],[13,-14],[23,-27],[6,-19]],[[9375,4623],[-5,-3],[-13,14],[-11,24],[1,10],[17,-25],[11,-20]],[[4682,5458],[-8,5],[-20,24],[-14,31],[-5,22],[-3,43]],[[2561,5848],[-3,-14],[-16,1],[-10,6],[-12,12],[-15,3],[-8,13]],[[6198,5735],[9,-11],[5,-25],[13,-24],[14,-1],[26,16],[30,7],[25,18],[13,4],[10,11],[16,2]],[[6359,5732],[0,-1],[0,-25],[0,-59],[0,-31],[-13,-36],[-19,-50]],[[6359,5732],[9,1],[13,9],[14,6],[14,20],[10,0],[1,-16],[-3,-35],[0,-31],[-6,-21],[-7,-64],[-14,-66],[-17,-75],[-24,-87],[-23,-66],[-33,-81],[-28,-48],[-42,-58],[-25,-45],[-31,-72],[-6,-31],[-6,-14]],[[3412,5410],[34,-11],[2,10],[23,4],[30,-15]],[[3489,5306],[10,-35],[-4,-25]],[[5626,7957],[-8,-15],[-5,-24]],[[5380,7746],[7,5]],[[5663,8957],[-47,-17],[-27,-41],[4,-36],[-44,-48],[-54,-50],[-20,-84],[20,-41],[26,-33],[-25,-67],[-29,-14],[-11,-99],[-15,-55],[-34,6],[-16,-47],[-32,-3],[-9,56],[-23,67],[-21,84]],[[5890,3478],[-5,-26],[-17,-6],[-16,32],[0,20],[7,22],[3,17],[8,5],[14,-11]],[[5999,7104],[-2,45],[7,25]],[[6004,7174],[7,13],[7,13],[2,33],[9,-12],[31,17],[14,-12],[23,1],[32,22],[15,-1],[32,9]],[[5051,5420],[-22,-12]],[[7849,5777],[-25,28],[-24,-2],[4,47],[-24,0],[-2,-65],[-15,-87],[-10,-52],[2,-43],[18,-2],[12,-53],[5,-52],[15,-33],[17,-7],[14,-31]],[[7779,5439],[-11,23],[-4,29],[-15,34],[-14,28],[-4,-35],[-5,33],[3,37],[8,56]],[[6883,7252],[16,60],[-6,44],[-20,14],[7,26],[23,-3],[13,33],[9,38],[37,13],[-6,-27],[4,-17],[12,2]],[[6497,7255],[-5,42],[4,62],[-22,20],[8,40],[-19,4],[6,49],[26,-14],[25,19],[-20,35],[-8,34],[-23,-15],[-3,-43],[-8,38]],[[6554,7498],[31,1],[-4,29],[24,21],[23,34],[37,-31],[3,-47],[11,-12],[30,2],[9,-10],[14,-61],[32,-41],[18,-28],[29,-29],[37,-25],[-1,-36]],[[8471,4532],[3,14],[24,13],[19,2],[9,8],[10,-8],[-10,-16],[-29,-25],[-23,-17]],[[3286,5693],[16,8],[6,-2],[-1,-44],[-23,-7],[-5,6],[8,16],[-1,23]],[[5233,7240],[31,24],[19,-7],[-1,-30],[24,22],[2,-12],[-14,-29],[0,-27],[9,-15],[-3,-51],[-19,-29],[6,-33],[14,-1],[7,-28],[11,-9]],[[6004,7174],[-11,27],[11,22],[-17,-5],[-23,13],[-19,-34],[-43,-6],[-22,31],[-30,2],[-6,-24],[-20,-7],[-26,31],[-31,-1],[-16,59],[-21,33],[14,46],[-18,28],[31,56],[43,3],[12,45],[53,-8],[33,38],[32,17],[46,1],[49,-42],[40,-22],[32,9],[24,-6],[33,31]],[[5777,7539],[3,-23],[25,-19],[-5,-14],[-33,-3],[-12,-19],[-23,-31],[-9,27],[0,12]],[[8382,6499],[-17,-95],[-12,-49],[-14,50],[-4,44],[17,58],[22,45],[13,-18],[-5,-35]],[[6088,4781],[-12,-73],[1,-33],[18,-22],[1,-15],[-8,-36],[2,-18],[-2,-28],[10,-37],[11,-58],[10,-13]],[[5909,4512],[-15,18],[-18,10],[-11,10],[-12,15]],[[5844,4990],[10,8],[31,-1],[56,4]],[[6061,7840],[-22,-5],[-18,-19],[-26,-3],[-24,-22],[1,-37],[14,-14],[28,4],[-5,-21],[-31,-11],[-37,-34],[-16,12],[6,28],[-30,17],[5,12],[26,19],[-8,14],[-43,15],[-2,22],[-25,-8],[-11,-32],[-21,-44]],[[3517,3063],[-12,-38],[-31,-32],[-21,11],[-15,-6],[-26,25],[-18,-1],[-17,32]],[[679,6185],[-4,-10],[-7,8],[1,17],[-4,21],[1,7],[5,10],[-2,11],[1,6],[3,-1],[10,-10],[5,-5],[5,-8],[7,-21],[-1,-3],[-11,-13],[-9,-9]],[[664,6277],[-9,-4],[-5,12],[-3,5],[0,4],[3,5],[9,-6],[8,-9],[-3,-7]],[[646,6309],[-1,-7],[-15,2],[2,7],[14,-2]],[[621,6317],[-2,-3],[-2,1],[-9,2],[-4,13],[-1,2],[7,8],[3,-3],[8,-20]],[[574,6356],[-4,-6],[-9,11],[1,4],[5,6],[6,-1],[1,-14]],[[3135,7724],[5,-19],[-30,-29],[-29,-20],[-29,-18],[-15,-35],[-4,-13],[-1,-31],[10,-32],[11,-1],[-3,21],[8,-13],[-2,-17],[-19,-9],[-13,1],[-20,-10],[-12,-3],[-17,-3],[-23,-17],[41,11],[8,-11],[-39,-18],[-17,0],[0,7],[-8,-16],[8,-3],[-6,-43],[-20,-45],[-2,15],[-6,3],[-9,15],[5,-32],[7,-10],[1,-23],[-9,-23],[-16,-47],[-2,3],[8,40],[-14,22],[-3,49],[-5,-25],[5,-38],[-18,10],[19,-19],[1,-57],[8,-4],[3,-20],[4,-59],[-17,-44],[-29,-18],[-18,-34],[-14,-4],[-14,-22],[-4,-20],[-31,-38],[-16,-28],[-13,-35],[-4,-42],[5,-41],[9,-51],[13,-41],[0,-26],[13,-69],[-1,-39],[-1,-23],[-7,-36],[-8,-8],[-14,7],[-4,26],[-11,14],[-15,51],[-13,45],[-4,23],[6,39],[-8,33],[-22,49],[-10,9],[-28,-27],[-5,3],[-14,28],[-17,14],[-32,-7],[-24,7],[-21,-5],[-12,-9],[5,-15],[0,-24],[5,-12],[-5,-8],[-10,9],[-11,-11],[-20,2],[-20,31],[-25,-8],[-20,14],[-17,-4],[-24,-14],[-25,-44],[-27,-25],[-16,-28],[-6,-27],[0,-41],[1,-28],[5,-20]],[[1746,6980],[-4,30],[-18,34],[-13,7],[-3,17],[-16,3],[-10,16],[-26,6],[-7,9],[-3,32],[-27,60],[-23,82],[1,14],[-13,19],[-21,50],[-4,48],[-15,32],[6,49],[-1,51],[-8,45],[10,56],[4,53],[3,54],[-5,79],[-9,51],[-8,27],[4,12],[40,-20],[15,-56],[7,15],[-5,49],[-9,48]],[[750,8432],[-28,-23],[-14,15],[-4,28],[25,21],[15,9],[18,-4],[12,-18],[-24,-28]],[[401,8597],[-18,-9],[-18,11],[-17,16],[28,10],[22,-6],[3,-22]],[[230,8826],[17,-12],[17,6],[23,-15],[27,-8],[-2,-7],[-21,-12],[-21,13],[-11,11],[-24,-4],[-7,5],[2,23]],[[1374,8295],[-15,22],[-25,19],[-8,52],[-36,47],[-15,56],[-26,4],[-44,2],[-33,17],[-57,61],[-27,11],[-49,21],[-38,-5],[-55,27],[-33,25],[-30,-12],[5,-41],[-15,-4],[-32,-12],[-25,-20],[-30,-13],[-4,35],[12,58],[30,18],[-8,15],[-35,-33],[-19,-39],[-40,-42],[20,-29],[-26,-42],[-30,-25],[-28,-18],[-7,-26],[-43,-31],[-9,-28],[-32,-25],[-20,5],[-25,-17],[-29,-20],[-23,-20],[-47,-16],[-5,9],[31,28],[27,18],[29,33],[35,6],[14,25],[38,35],[6,12],[21,21],[5,44],[14,35],[-32,-18],[-9,11],[-15,-22],[-18,30],[-8,-21],[-10,29],[-28,-23],[-17,0],[-3,35],[5,21],[-17,22],[-37,-12],[-23,28],[-19,14],[0,34],[-22,25],[11,34],[23,33],[10,30],[22,4],[19,-9],[23,28],[20,-5],[21,19],[-5,27],[-16,10],[21,23],[-17,-1],[-30,-13],[-8,-13],[-22,13],[-39,-6],[-41,14],[-12,24],[-35,34],[39,25],[62,29],[23,0],[-4,-30],[59,2],[-23,37],[-34,23],[-20,29],[-26,25],[-38,19],[15,31],[49,2],[35,27],[7,29],[28,28],[28,6],[52,27],[26,-4],[42,31],[42,-12],[21,-27],[12,11],[47,-3],[-2,-14],[43,-10],[28,6],[59,-18],[53,-6],[21,-8],[37,10],[42,-18],[31,-8]],[[3018,5753],[-1,-14],[-16,-7],[9,-26],[0,-31],[-12,-35],[10,-47],[12,4],[6,43],[-8,21],[-2,45],[35,24],[-4,27],[10,19],[10,-41],[19,-1],[18,-33],[1,-20],[25,0],[30,6],[16,-27],[21,-7],[16,18],[0,15],[34,4],[34,1],[-24,-18],[10,-28],[22,-4],[21,-29],[4,-48],[15,2],[11,-14]],[[8001,6331],[-37,-51],[-24,-56],[-6,-41],[22,-62],[25,-77],[26,-37],[17,-47],[12,-109],[-3,-104],[-24,-39],[-31,-38],[-23,-49],[-35,-55],[-10,37],[8,40],[-21,34]],[[9661,4085],[-9,-8],[-9,26],[1,16],[17,-34]],[[9641,4175],[4,-47],[-7,7],[-6,-3],[-4,16],[0,45],[13,-18]],[[6475,6041],[-21,-16],[-5,-26],[-1,-20],[-27,-25],[-45,-28],[-24,-41],[-13,-3],[-8,3],[-16,-25],[-18,-11],[-23,-3],[-7,-3],[-6,-16],[-8,-4],[-4,-15],[-14,1],[-9,-8],[-19,3],[-7,35],[1,32],[-5,17],[-5,44],[-8,24],[5,3],[-2,27],[3,12],[-1,25]],[[5817,3752],[11,0],[14,-10],[9,7],[15,-6]],[[5911,3478],[-7,-43],[-3,-49],[-7,-27],[-19,-30],[-5,-8],[-12,-30],[-8,-31],[-16,-42],[-31,-61],[-20,-36],[-21,-26],[-29,-23],[-14,-3],[-3,-17],[-17,9],[-14,-11],[-30,11],[-17,-7],[-12,3],[-28,-23],[-24,-10],[-17,-22],[-13,-1],[-11,21],[-10,1],[-12,26],[-1,-8],[-4,16],[0,34],[-9,40],[9,11],[0,45],[-19,55],[-14,50],[0,1],[-20,76]],[[5840,4141],[-21,-8],[-15,-23],[-4,-21],[-10,-4],[-24,-49],[-15,-38],[-10,-2],[-9,7],[-31,7]]],
transform:{scale:[.036003600360036005,.016927109510951093],translate:[-180,-85.609038]}},p.prototype.abwTopo="__ABW__",p.prototype.afgTopo="__AFG__",p.prototype.agoTopo="__AGO__",p.prototype.aiaTopo="__AIA__",p.prototype.albTopo="__ALB__",p.prototype.aldTopo="__ALD__",p.prototype.andTopo="__AND__",p.prototype.areTopo="__ARE__",p.prototype.argTopo="__ARG__",p.prototype.armTopo="__ARM__",p.prototype.asmTopo="__ASM__",p.prototype.ataTopo="__ATA__",p.prototype.atcTopo="__ATC__",p.prototype.atfTopo="__ATF__",p.prototype.atgTopo="__ATG__",p.prototype.ausTopo="__AUS__",p.prototype.autTopo="__AUT__",p.prototype.azeTopo="__AZE__",p.prototype.bdiTopo="__BDI__",p.prototype.belTopo="__BEL__",p.prototype.benTopo="__BEN__",p.prototype.bfaTopo="__BFA__",p.prototype.bgdTopo="__BGD__",p.prototype.bgrTopo="__BGR__",p.prototype.bhrTopo="__BHR__",p.prototype.bhsTopo="__BHS__",p.prototype.bihTopo="__BIH__",p.prototype.bjnTopo="__BJN__",p.prototype.blmTopo="__BLM__",p.prototype.blrTopo="__BLR__",p.prototype.blzTopo="__BLZ__",p.prototype.bmuTopo="__BMU__",p.prototype.bolTopo="__BOL__",p.prototype.braTopo="__BRA__",p.prototype.brbTopo="__BRB__",p.prototype.brnTopo="__BRN__",p.prototype.btnTopo="__BTN__",p.prototype.norTopo="__NOR__",p.prototype.bwaTopo="__BWA__",p.prototype.cafTopo="__CAF__",p.prototype.canTopo="__CAN__",p.prototype.cheTopo="__CHE__",p.prototype.chlTopo="__CHL__",p.prototype.chnTopo="__CHN__",p.prototype.civTopo="__CIV__",p.prototype.clpTopo="__CLP__",p.prototype.cmrTopo="__CMR__",p.prototype.codTopo="__COD__",p.prototype.cogTopo="__COG__",p.prototype.cokTopo="__COK__",p.prototype.colTopo="__COL__",p.prototype.comTopo="__COM__",p.prototype.cpvTopo="__CPV__",p.prototype.criTopo="__CRI__",p.prototype.csiTopo="__CSI__",p.prototype.cubTopo="__CUB__",p.prototype.cuwTopo="__CUW__",p.prototype.cymTopo="__CYM__",p.prototype.cynTopo="__CYN__",p.prototype.cypTopo="__CYP__",p.prototype.czeTopo="__CZE__",p.prototype.deuTopo="__DEU__",p.prototype.djiTopo="__DJI__",p.prototype.dmaTopo="__DMA__",p.prototype.dnkTopo="__DNK__",p.prototype.domTopo="__DOM__",p.prototype.dzaTopo="__DZA__",p.prototype.ecuTopo="__ECU__",p.prototype.egyTopo="__EGY__",p.prototype.eriTopo="__ERI__",p.prototype.esbTopo="__ESB__",p.prototype.espTopo="__ESP__",p.prototype.estTopo="__EST__",p.prototype.ethTopo="__ETH__",p.prototype.finTopo="__FIN__",p.prototype.fjiTopo="__FJI__",p.prototype.flkTopo="__FLK__",p.prototype.fraTopo="__FRA__",p.prototype.froTopo="__FRO__",p.prototype.fsmTopo="__FSM__",p.prototype.gabTopo="__GAB__",p.prototype.psxTopo="__PSX__",p.prototype.gbrTopo="__GBR__",p.prototype.geoTopo="__GEO__",p.prototype.ggyTopo="__GGY__",p.prototype.ghaTopo="__GHA__",p.prototype.gibTopo="__GIB__",p.prototype.ginTopo="__GIN__",p.prototype.gmbTopo="__GMB__",p.prototype.gnbTopo="__GNB__",p.prototype.gnqTopo="__GNQ__",p.prototype.grcTopo="__GRC__",p.prototype.grdTopo="__GRD__",p.prototype.grlTopo="__GRL__",p.prototype.gtmTopo="__GTM__",p.prototype.gumTopo="__GUM__",p.prototype.guyTopo="__GUY__",p.prototype.hkgTopo="__HKG__",p.prototype.hmdTopo="__HMD__",p.prototype.hndTopo="__HND__",p.prototype.hrvTopo="__HRV__",p.prototype.htiTopo="__HTI__",p.prototype.hunTopo="__HUN__",p.prototype.idnTopo="__IDN__",p.prototype.imnTopo="__IMN__",p.prototype.indTopo="__IND__",p.prototype.ioaTopo="__IOA__",p.prototype.iotTopo="__IOT__",p.prototype.irlTopo="__IRL__",p.prototype.irnTopo="__IRN__",p.prototype.irqTopo="__IRQ__",p.prototype.islTopo="__ISL__",p.prototype.isrTopo="__ISR__",p.prototype.itaTopo="__ITA__",p.prototype.jamTopo="__JAM__",p.prototype.jeyTopo="__JEY__",p.prototype.jorTopo="__JOR__",p.prototype.jpnTopo="__JPN__",p.prototype.kabTopo="__KAB__",p.prototype.kasTopo="__KAS__",p.prototype.kazTopo="__KAZ__",p.prototype.kenTopo="__KEN__",p.prototype.kgzTopo="__KGZ__",p.prototype.khmTopo="__KHM__",p.prototype.kirTopo="__KIR__",p.prototype.knaTopo="__KNA__",p.prototype.korTopo="__KOR__",p.prototype.kosTopo="__KOS__",p.prototype.kwtTopo="__KWT__",p.prototype.laoTopo="__LAO__",p.prototype.lbnTopo="__LBN__",p.prototype.lbrTopo="__LBR__",p.prototype.lbyTopo="__LBY__",p.prototype.lcaTopo="__LCA__",p.prototype.lieTopo="__LIE__",p.prototype.lkaTopo="__LKA__",p.prototype.lsoTopo="__LSO__",p.prototype.ltuTopo="__LTU__",p.prototype.luxTopo="__LUX__",p.prototype.lvaTopo="__LVA__",p.prototype.macTopo="__MAC__",p.prototype.mafTopo="__MAF__",p.prototype.marTopo="__MAR__",p.prototype.mcoTopo="__MCO__",p.prototype.mdaTopo="__MDA__",p.prototype.mdgTopo="__MDG__",p.prototype.mdvTopo="__MDV__",p.prototype.mexTopo="__MEX__",p.prototype.mhlTopo="__MHL__",p.prototype.mkdTopo="__MKD__",p.prototype.mliTopo="__MLI__",p.prototype.mltTopo="__MLT__",p.prototype.mmrTopo="__MMR__",p.prototype.mneTopo="__MNE__",p.prototype.mngTopo="__MNG__",p.prototype.mnpTopo="__MNP__",p.prototype.mozTopo="__MOZ__",p.prototype.mrtTopo="__MRT__",p.prototype.msrTopo="__MSR__",p.prototype.musTopo="__MUS__",p.prototype.mwiTopo="__MWI__",p.prototype.mysTopo="__MYS__",p.prototype.namTopo="__NAM__",p.prototype.nclTopo="__NCL__",p.prototype.nerTopo="__NER__",p.prototype.nfkTopo="__NFK__",p.prototype.ngaTopo="__NGA__",p.prototype.nicTopo="__NIC__",p.prototype.niuTopo="__NIU__",p.prototype.nldTopo="__NLD__",p.prototype.nplTopo="__NPL__",p.prototype.nruTopo="__NRU__",p.prototype.nulTopo="__NUL__",p.prototype.nzlTopo="__NZL__",p.prototype.omnTopo="__OMN__",p.prototype.pakTopo="__PAK__",p.prototype.panTopo="__PAN__",p.prototype.pcnTopo="__PCN__",p.prototype.perTopo="__PER__",p.prototype.pgaTopo="__PGA__",p.prototype.phlTopo="__PHL__",p.prototype.plwTopo="__PLW__",p.prototype.pngTopo="__PNG__",p.prototype.polTopo="__POL__",p.prototype.priTopo="__PRI__",p.prototype.prkTopo="__PRK__",p.prototype.prtTopo="__PRT__",p.prototype.pryTopo="__PRY__",p.prototype.pyfTopo="__PYF__",p.prototype.qatTopo="__QAT__",p.prototype.rouTopo="__ROU__",p.prototype.rusTopo="__RUS__",p.prototype.rwaTopo="__RWA__",p.prototype.sahTopo="__SAH__",p.prototype.sauTopo="__SAU__",p.prototype.scrTopo="__SCR__",p.prototype.sdnTopo="__SDN__",p.prototype.sdsTopo="__SDS__",p.prototype.senTopo="__SEN__",p.prototype.serTopo="__SER__",p.prototype.sgpTopo="__SGP__",p.prototype.sgsTopo="__SGS__",p.prototype.shnTopo="__SHN__",p.prototype.slbTopo="__SLB__",p.prototype.sleTopo="__SLE__",p.prototype.slvTopo="__SLV__",p.prototype.smrTopo="__SMR__",p.prototype.solTopo="__SOL__",p.prototype.somTopo="__SOM__",p.prototype.spmTopo="__SPM__",p.prototype.srbTopo="__SRB__",p.prototype.stpTopo="__STP__",p.prototype.surTopo="__SUR__",p.prototype.svkTopo="__SVK__",p.prototype.svnTopo="__SVN__",p.prototype.sweTopo="__SWE__",p.prototype.swzTopo="__SWZ__",p.prototype.sxmTopo="__SXM__",p.prototype.sycTopo="__SYC__",p.prototype.syrTopo="__SYR__",p.prototype.tcaTopo="__TCA__",p.prototype.tcdTopo="__TCD__",p.prototype.tgoTopo="__TGO__",p.prototype.thaTopo="__THA__",p.prototype.tjkTopo="__TJK__",p.prototype.tkmTopo="__TKM__",p.prototype.tlsTopo="__TLS__",p.prototype.tonTopo="__TON__",p.prototype.ttoTopo="__TTO__",p.prototype.tunTopo="__TUN__",p.prototype.turTopo="__TUR__",p.prototype.tuvTopo="__TUV__",p.prototype.twnTopo="__TWN__",p.prototype.tzaTopo="__TZA__",p.prototype.ugaTopo="__UGA__",p.prototype.ukrTopo="__UKR__",p.prototype.umiTopo="__UMI__",p.prototype.uryTopo="__URY__",p.prototype.usaTopo={type:"Topology",transform:{scale:[.03514630243024302,.005240860686068607],translate:[-178.123152,18.948267]},objects:{usa:{type:"GeometryCollection",geometries:[{type:"Polygon",id:"AL",arcs:[[0,1,2,3,4]],properties:{name:"Alabama"}},{type:"MultiPolygon",id:"AK",arcs:[[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]]],properties:{name:"Alaska"}},{type:"Polygon",id:"AZ",arcs:[[44,45,46,47,48]],properties:{name:"Arizona"}},{type:"Polygon",id:"AR",arcs:[[49,50,51,52,53,54]],properties:{name:"Arkansas"}},{type:"Polygon",id:"CA",arcs:[[55,-47,56,57]],properties:{name:"California"}},{type:"Polygon",id:"CO",arcs:[[58,59,60,61,62,63]],properties:{name:"Colorado"}},{type:"Polygon",id:"CT",arcs:[[64,65,66,67]],properties:{name:"Connecticut"}},{type:"Polygon",id:"DE",arcs:[[68,69,70,71]],properties:{name:"Delaware"}},{type:"Polygon",id:"DC",arcs:[[72,73]],properties:{name:"District of Columbia"}},{type:"Polygon",id:"FL",arcs:[[74,75,-2]],properties:{name:"Florida"}},{type:"Polygon",id:"GA",arcs:[[76,77,-75,-1,78,79]],properties:{name:"Georgia"}},{type:"MultiPolygon",id:"HI",arcs:[[[80]],[[81]],[[82]],[[83]],[[84]]],properties:{name:"Hawaii"}},{type:"Polygon",id:"ID",arcs:[[85,86,87,88,89,90,91]],properties:{name:"Idaho"}},{type:"Polygon",id:"IL",arcs:[[92,93,94,95,96,97]],properties:{name:"Illinois"}},{type:"Polygon",id:"IN",arcs:[[98,99,-95,100,101]],properties:{name:"Indiana"}},{type:"Polygon",id:"IA",arcs:[[102,-98,103,104,105,106]],properties:{name:"Iowa"}},{type:"Polygon",id:"KS",arcs:[[107,108,-60,109]],properties:{name:"Kansas"}},{type:"Polygon",id:"KY",arcs:[[110,111,112,113,-96,-100,114]],properties:{name:"Kentucky"}},{type:"Polygon",id:"LA",arcs:[[115,116,117,-52]],properties:{name:"Louisiana"}},{type:"Polygon",id:"ME",arcs:[[118,119]],properties:{name:"Maine"}},{type:"MultiPolygon",id:"MD",arcs:[[[120]],[[-71,121,122,123,124,-74,125,126,127]]],properties:{name:"Maryland"}},{type:"Polygon",id:"MA",arcs:[[128,129,130,131,-68,132,133,134]],properties:{name:"Massachusetts"}},{type:"MultiPolygon",id:"MI",arcs:[[[-102,135,136]],[[137]],[[138,139]],[[140]]],properties:{name:"Michigan"}},{type:"Polygon",id:"MN",arcs:[[-107,141,142,143,144]],properties:{name:"Minnesota"}},{type:"Polygon",id:"MS",arcs:[[-4,145,-116,-51,146]],properties:{name:"Mississippi"}},{type:"Polygon",id:"MO",arcs:[[-97,-114,147,-55,148,-108,149,-104]],properties:{name:"Missouri"}},{type:"Polygon",id:"MT",arcs:[[150,151,-92,152,153]],properties:{name:"Montana"}},{type:"Polygon",id:"NE",arcs:[[-105,-150,-110,-59,154,155]],properties:{name:"Nebraska"}},{type:"Polygon",id:"NV",arcs:[[156,-48,-56,157,-88]],properties:{name:"Nevada"}},{type:"Polygon",id:"NH",arcs:[[-135,158,159,-120,160]],properties:{name:"New Hampshire"}},{type:"Polygon",id:"NJ",arcs:[[161,-69,162,163]],properties:{name:"New Jersey"}},{type:"Polygon",id:"NM",arcs:[[164,165,166,-45,-62]],properties:{name:"New Mexico"}},{type:"Polygon",id:"NY",arcs:[[-133,-67,167,-164,168,169,170]],properties:{name:"New York"}},{type:"Polygon",id:"NC",arcs:[[171,172,-80,173,174]],properties:{name:"North Carolina"}},{type:"Polygon",id:"ND",arcs:[[175,-154,176,-143]],properties:{name:"North Dakota"}},{type:"Polygon",id:"OH",arcs:[[177,-115,-99,-137,178,179]],properties:{name:"Ohio"}},{type:"Polygon",id:"OK",arcs:[[-149,-54,180,-165,-61,-109]],properties:{name:"Oklahoma"}},{type:"Polygon",id:"OR",arcs:[[-89,-158,-58,181,182]],properties:{name:"Oregon"}},{type:"Polygon",id:"PA",arcs:[[-163,-72,-128,183,-180,184,-169]],properties:{name:"Pennsylvania"}},{type:"MultiPolygon",id:"RI",arcs:[[[185,-130]],[[186,-65,-132]]],properties:{name:"Rhode Island"}},{type:"Polygon",id:"SC",arcs:[[187,-77,-173]],properties:{name:"South Carolina"}},{type:"Polygon",id:"SD",arcs:[[-142,-106,-156,188,-151,-176]],properties:{name:"South Dakota"}},{type:"Polygon",id:"TN",arcs:[[189,-174,-79,-5,-147,-50,-148,-113]],properties:{name:"Tennessee"}},{type:"Polygon",id:"TX",arcs:[[-53,-118,190,-166,-181]],properties:{name:"Texas"}},{type:"Polygon",id:"UT",arcs:[[191,-63,-49,-157,-87]],properties:{name:"Utah"}},{type:"Polygon",id:"VT",arcs:[[-134,-171,192,-159]],properties:{name:"Vermont"}},{type:"MultiPolygon",id:"VA",arcs:[[[193,-123]],[[120]],[[-126,-73,-125,194,-175,-190,-112,195]]],properties:{name:"Virginia"}},{type:"MultiPolygon",id:"WA",arcs:[[[-183,196,-90]],[[197]],[[198]]],properties:{name:"Washington"}},{type:"Polygon",id:"WV",arcs:[[-184,-127,-196,-111,-178]],properties:{name:"West Virginia"}},{type:"Polygon",id:"WI",arcs:[[199,-93,-103,-145,200,-140]],properties:{name:"Wisconsin"}},{type:"Polygon",id:"WY",arcs:[[-189,-155,-64,-192,-86,-152]],properties:{name:"Wyoming"}}]}},arcs:[[[2632,3060],[5,-164],[7,-242],[4,-53],[3,-30],[-2,-19],[4,-11],[-5,-25],[0,-24],[-2,-32],[2,-57],[-2,-51],[3,-52]],[[2649,2300],[-14,-1],[-59,0],[-1,-25],[6,-37],[-1,-31],[2,-16],[-4,-28]],[[2578,2162],[-4,-6],[-7,31],[-1,47],[-2,6],[-3,-36],[-1,-34],[-7,9]],[[2553,2179],[-2,291],[6,363],[4,209],[-3,20]],[[2558,3062],[24,1],[50,-3]],[[1324,6901],[1,32],[6,-19],[-1,-32],[-8,4],[2,15]],[[1317,6960],[5,-23],[-3,-33],[-2,11],[0,45]],[[1285,7153],[6,5],[3,-8],[-1,-28],[-6,-6],[-5,17],[3,20]],[[1267,7137],[12,-7],[3,-36],[13,-41],[4,-25],[0,-21],[3,-4],[1,-27],[5,-27],[0,-25],[3,8],[2,-19],[1,-74],[-3,-17],[-7,3],[-3,38],[-2,-3],[-6,28],[-2,-10],[-5,10],[1,-28],[5,7],[3,-10],[-2,-39],[-5,4],[-9,49],[-2,25],[1,26],[-7,-2],[0,20],[5,2],[5,18],[-2,31],[-6,7],[-1,50],[-2,25],[-4,-18],[-2,28],[4,14],[-3,32],[2,8]],[[1263,6985],[5,-12],[4,15],[4,-7],[-4,-28],[-6,8],[-3,24]],[[1258,7247],[-4,19],[5,13],[15,-18],[7,1],[5,-36],[9,-29],[-1,-22],[-5,-11],[-6,5],[-5,-14],[-6,9],[-7,-9],[-1,45],[0,30],[-5,1],[-1,16]],[[1252,7162],[-4,14],[-4,32],[0,24],[3,11],[4,-11],[0,20],[12,-35],[1,-33],[-4,-5],[-3,-37],[3,-11],[-3,-43],[-5,9],[0,-27],[-3,13],[-2,54],[5,25]],[[1207,7331],[8,38],[3,-16],[7,-13],[6,-2],[0,-30],[6,-99],[0,-85],[-1,-22],[-4,13],[-10,84],[-7,25],[3,20],[-3,48],[-8,39]],[[1235,7494],[10,-15],[5,2],[0,-14],[8,-52],[-5,8],[-2,-18],[6,-27],[2,-48],[-6,-13],[-2,-16],[-10,-35],[-3,1],[-1,37],[2,22],[-1,32],[-3,40],[0,21],[-2,51],[-4,22],[-1,38],[7,-36]],[[1203,7324],[4,0],[4,-35],[-2,-24],[-6,-5],[0,38],[0,26]],[[1207,7331],[-5,7],[-3,26],[-6,18],[-5,37],[-6,17],[1,30],[4,10],[1,26],[3,-11],[8,-1],[6,17],[8,-23],[-5,-26],[2,-9],[4,28],[10,-9],[5,-21],[-3,-38],[3,-3],[3,-50],[-7,-7],[-14,41],[0,-42],[-4,-17]],[[883,7871],[-12,-48],[-1,-19],[-9,-12],[2,29],[10,30],[7,34],[3,-14]],[[870,7943],[-2,-39],[-4,-41],[-6,14],[5,47],[7,19]],[[863,9788],[3,-8],[15,-9],[8,5],[10,0],[12,-7],[7,4],[7,-15],[12,-18],[16,-4],[5,10],[11,6],[4,14],[12,2],[0,-9],[7,5],[15,-15],[9,-24],[10,-11],[2,-11],[8,-2],[8,-18],[1,-11],[5,9],[6,-7],[0,-1783],[13,-16],[2,17],[14,-24],[8,30],[18,4],[-3,-52],[4,-17],[10,-17],[2,-27],[29,-101],[4,-63],[6,17],[12,31],[7,1],[3,23],[0,34],[5,0],[1,31],[9,7],[13,26],[13,-45],[-1,-27],[3,-27],[7,-7],[10,-40],[-1,-12],[4,-22],[12,-25],[19,-110],[3,-29],[6,-29],[8,-65],[9,-55],[-3,-23],[9,-9],[-2,-33],[7,-14],[1,-38],[7,2],[14,-40],[9,-7],[5,-19],[4,-5],[1,-19],[9,-5],[3,-23],[-4,-43],[1,-36],[4,-58],[-4,-15],[-6,-53],[-10,-39],[-3,20],[-4,-6],[-3,39],[1,17],[-3,20],[7,21],[-2,7],[-7,-26],[-3,17],[-4,-10],[-12,42],[4,46],[-8,-15],[0,-23],[-6,17],[-1,22],[4,24],[-1,24],[-6,-19],[-6,42],[-3,-8],[-2,36],[5,23],[6,0],[-2,28],[3,36],[-5,-1],[-9,32],[-6,37],[-15,27],[0,77],[-4,9],[1,31],[-5,9],[-8,42],[-2,22],[-12,7],[-14,56],[-6,132],[-3,-30],[1,-27],[6,-53],[-1,-8],[3,-43],[0,-28],[-6,6],[-4,31],[-6,6],[-8,-9],[0,45],[-5,38],[-5,-12],[-17,40],[-2,-11],[10,-13],[7,-31],[3,-1],[1,-25],[4,-30],[-10,-16],[-5,10],[0,-26],[-8,20],[-2,14],[-5,0],[-13,38],[-10,33],[-1,20],[-5,30],[-14,21],[-9,21],[-14,26],[-9,24],[1,26],[2,-9],[3,17],[-3,38],[4,21],[-2,9],[-7,-40],[-14,-26],[-18,10],[-14,24],[-1,18],[-7,-4],[-7,14],[-17,12],[-9,1],[-21,-10],[-8,-7],[-10,27],[-12,12],[-3,17],[-2,28],[-8,-2],[-3,-25],[-15,34],[-2,14],[-15,-27],[-7,-32],[-3,30],[3,17],[4,-5],[14,22],[-2,17],[-6,-8],[-3,22],[-6,3],[-6,55],[-3,-13],[-8,-8],[-3,8],[-3,-18],[-11,6],[-1,-20],[-7,-5],[-3,7],[2,36],[-3,-1],[-5,-38],[7,-12],[1,-27],[4,-30],[-3,-31],[-5,10],[-2,-15],[6,-7],[3,-41],[-8,-9],[-4,9],[-7,-12],[-3,10],[-9,-2],[0,16],[-4,-10],[-3,-20],[-3,18],[-5,-25],[2,-12],[-6,-15],[-6,-2],[-3,-20],[-6,-17],[-4,6],[-5,-21],[-4,1],[-8,-43],[-9,-3],[-3,14],[-5,-23],[-11,17],[2,33],[8,11],[4,-2],[2,13],[8,25],[0,21],[-11,-28],[-9,16],[-1,12],[5,48],[8,34],[1,29],[2,5],[1,30],[-4,34],[10,12],[19,48],[4,-19],[6,-5],[9,20],[-10,26],[-4,20],[-7,-2],[-5,9],[-2,-8],[-9,-14],[-4,-26],[-9,-6],[-9,-30],[-1,-20],[-7,-11],[-2,-22],[-5,-13],[-2,-39],[-10,-25],[5,-20],[-4,-29],[-9,-5],[-1,-38],[-8,-13],[-3,15],[-4,-29],[-5,-1],[1,-21],[-11,-13],[-2,-57],[12,-3],[10,-16],[3,-19],[-4,-30],[-7,-19],[-6,-1],[0,-17],[-4,-6],[1,-21],[-4,-31],[-9,-29],[-5,0],[-5,-11],[-5,2],[-4,-11],[2,-16],[-7,-8],[-2,-23],[-5,14],[-5,-45],[-9,4],[1,-24],[-6,6],[-3,-11],[0,-32],[-6,-50],[-10,-6],[-7,-23],[-2,-13],[-5,18],[-8,-48],[-2,13],[-5,-4],[-1,-27],[-5,-10],[-6,4],[-4,-27],[8,-9],[-9,-60],[-25,-20],[-6,-54],[-2,12],[1,33],[-5,6],[-6,-13],[-1,-14],[-10,-22],[-4,-25],[-1,18],[-2,-21],[-6,14],[-10,-33],[-8,2],[1,25],[-4,24],[-3,-20],[1,-21],[-11,-64],[-3,16],[-1,-24],[-8,4],[-1,38],[-4,8],[-2,-14],[4,-16],[-2,-27],[-5,-13],[-5,29],[-5,2],[-1,-11],[5,-17],[-9,-27],[6,-7],[0,-13],[-5,9],[-7,-25],[-15,1],[-7,-16],[0,-13],[-8,-15],[-6,6],[-2,35],[6,12],[4,43],[6,1],[13,28],[10,1],[4,-27],[3,20],[-1,23],[6,10],[7,0],[8,50],[10,45],[12,40],[15,18],[6,-9],[6,12],[1,-17],[-3,-19],[4,-14],[1,23],[7,2],[2,-15],[5,-5],[0,18],[-8,15],[0,11],[5,49],[6,28],[9,27],[15,24],[10,35],[5,-13],[4,5],[-1,22],[1,21],[8,44],[11,28],[8,38],[0,21],[7,148],[11,40],[-1,31],[-27,-45],[-8,6],[-2,18],[-5,9],[-1,21],[-4,-10],[-3,-32],[5,-41],[-6,-18],[-5,7],[-9,64],[-6,33],[-4,0],[-2,-24],[-3,-4],[-4,19],[-5,4],[-2,32],[-16,-37],[-13,-26],[-1,-14],[-11,-22],[-6,20],[5,23],[-1,54],[-4,57],[7,24],[-6,49],[-5,27],[-4,39],[-6,17],[-2,-34],[-7,-8],[-12,-22],[-14,-9],[-7,2],[-7,12],[-1,30],[-5,9],[-9,42],[-8,8],[-8,46],[6,21],[1,39],[-5,-8],[0,24],[2,19],[-6,18],[0,-19],[-7,8],[-1,32],[-6,4],[-3,22],[0,27],[-5,-12],[-1,26],[7,6],[-6,30],[10,2],[0,35],[2,24],[18,77],[4,23],[3,-5],[-2,33],[7,55],[6,22],[11,9],[8,-9],[12,-33],[8,4],[11,32],[11,49],[6,6],[1,-13],[13,0],[12,10],[11,52],[0,12],[-5,48],[-1,28],[-8,31],[-3,26],[8,-7],[8,22],[0,20],[-10,39],[-8,-30],[-7,5],[-6,-17],[-8,-4],[-2,-11],[-9,-17],[-2,-28],[-5,-12],[-2,34],[-5,7],[-4,-26],[-2,12],[-10,19],[-20,-1],[-14,-21],[-6,-3],[-11,13],[-22,14],[-6,12],[-3,19],[2,26],[-8,22],[2,24],[5,12],[-2,31],[-8,0],[-6,8],[-13,6],[-7,16],[-10,16],[-1,19],[16,27],[20,43],[15,27],[8,-15],[8,-3],[2,21],[-5,3],[-1,18],[20,29],[22,22],[12,2],[7,-7],[-4,-32],[2,-22],[-3,-15],[4,-26],[8,5],[10,-5],[11,6],[4,-10],[7,-2],[7,10],[8,-11],[9,42],[5,2],[5,-8],[2,24],[-12,11],[-11,-9],[1,31],[-8,34],[-10,10],[-2,30],[7,8],[9,-31],[-1,-24],[4,-18],[10,-22],[2,23],[-11,30],[5,54],[-4,10],[-11,-12],[-11,3],[-2,10],[-6,-10],[-24,23],[0,24],[-7,54],[-6,19],[-9,17],[-19,46],[-9,18],[-8,4],[-13,31],[-12,18],[-1,6],[9,10],[4,29],[1,59],[25,-4],[31,13],[8,11],[12,29],[12,45],[3,45],[5,38],[10,33],[5,24],[13,38],[2,-10],[11,-3],[16,20],[10,21],[24,64],[9,4],[1,-10],[9,7],[9,-2],[18,9],[17,28],[17,58],[7,13],[2,-10],[26,-24],[2,-17],[-9,-22],[-4,-1],[0,-29],[14,9],[0,16],[6,14],[2,-8],[5,33],[13,-30],[-2,-23],[8,-6],[5,-14],[7,22],[13,1],[7,7],[18,-7],[10,-8],[-5,-45],[17,-12],[2,-11],[16,-20],[1,9],[12,13],[11,-1],[0,-11],[7,-1],[7,15],[11,2],[9,-6],[11,-16],[5,3],[7,-22],[4,9],[7,-7],[5,-13]],[[717,7456],[-1,-8],[-9,13],[7,49],[6,4],[4,45],[5,-40],[4,14],[8,-22],[0,-31],[-11,-4],[-5,-13],[-8,-7]],[[688,7363],[8,25],[-8,6],[0,22],[6,14],[5,-10],[0,-22],[3,15],[0,32],[5,-15],[1,21],[5,-12],[5,0],[5,11],[7,-20],[0,-55],[9,4],[-6,-37],[-11,15],[4,-24],[-3,-20],[-6,10],[0,-38],[-8,-10],[-3,-16],[-5,15],[-6,-40],[-4,-4],[-5,-18],[-2,43],[-6,-23],[-1,13],[-6,14],[0,39],[-6,15],[4,45],[11,28],[7,-2],[1,-21]],[[671,7185],[-6,-39],[-2,6],[8,33]],[[640,7055],[4,-2],[-1,-40],[-8,6],[-1,13],[6,23]],[[519,6933],[-2,-41],[-9,-33],[5,51],[2,-5],[4,28]],[[501,6947],[5,0],[0,-20],[-5,-23],[-5,15],[-3,-14],[-2,35],[2,12],[8,-5]],[[451,6875],[1,-16],[-3,-11],[-3,18],[5,9]],[[447,8527],[-4,-19],[-2,16],[6,3]],[[436,6781],[6,-7],[-1,-16],[-5,1],[0,22]],[[358,6745],[2,-22],[-5,-10],[-1,23],[4,9]],[[352,6718],[-8,-21],[-2,14],[3,19],[7,-12]],[[335,7902],[6,7],[2,-14],[5,3],[6,-12],[1,-54],[-3,-18],[-7,-11],[-2,-18],[-11,20],[-5,-1],[-10,28],[-4,0],[-6,15],[-3,25],[4,7],[10,-7],[5,20],[5,2],[3,14],[4,-6]],[[334,6690],[5,-14],[-10,-36],[1,-6],[12,26],[0,-15],[-5,-17],[-8,-12],[-1,-18],[-8,-18],[-7,-1],[-5,-18],[-9,-16],[-5,17],[9,20],[3,-3],[8,16],[-2,19],[4,20],[6,-9],[1,12],[-7,4],[-4,14],[4,23],[11,13],[2,-26],[5,25]],[[266,6527],[10,37],[1,16],[4,17],[7,9],[3,-10],[1,-25],[-12,-27],[-6,-40],[-6,-13],[-2,36]],[[238,6477],[2,-19],[-8,-1],[-1,13],[7,7]],[[227,7303],[-4,-18],[-1,18],[5,0]],[[212,6440],[2,-18],[-5,-13],[-1,19],[4,12]],[[182,8542],[22,-28],[13,24],[6,-2],[5,-14],[2,-23],[11,-12],[4,-12],[15,-5],[8,-8],[-4,-28],[-7,6],[-8,-5],[-4,-13],[-4,-28],[-5,26],[-6,18],[-6,2],[-3,20],[-15,25],[-6,1],[-11,-22],[-7,11],[-4,23],[4,44]],[[162,6381],[0,-22],[-5,-4],[1,19],[4,7]],[[128,6335],[4,-8],[10,1],[1,-7],[-13,-9],[-2,23]],[[108,6360],[0,19],[4,7],[6,-19],[-2,-17],[-4,1],[1,-20],[-5,-2],[-12,-21],[-6,6],[2,15],[7,-2],[9,33]],[[47,6279],[5,3],[0,-24],[-6,3],[-8,-28],[-4,37],[4,1],[0,29],[5,1],[0,-21],[4,-1]],[[28,6296],[3,-9],[-2,-32],[-5,-10],[0,20],[4,31]],[[0,6291],[5,-1],[4,-23],[-4,-27],[-5,51]],[[9993,6496],[6,-13],[0,-19],[-11,-12],[-8,31],[0,15],[13,-2]],[[1966,3444],[-1,-1081]],[[1965,2363],[-57,0],[-34,71],[-73,150],[3,43]],[[1804,2627],[6,8],[1,16],[-1,36],[-4,1],[-2,71],[6,27],[0,28],[-1,45],[4,34],[4,12],[4,25],[-6,27],[-4,51],[-5,31],[0,24]],[[1806,3063],[2,26],[0,36],[-3,36],[-2,112],[11,7],[3,-23],[3,1],[3,33],[0,153]],[[1823,3444],[101,2],[42,-2]],[[2515,3253],[-1,-35],[-4,-11],[-1,-29],[-5,-31],[0,-46],[-3,-34],[-3,-5]],[[2498,3062],[2,-17],[-4,-14],[-2,-33],[-3,-8],[0,-38],[-5,-10],[0,-13],[-6,-31],[2,-21],[-5,-30],[-5,-59],[5,-25],[-2,-16],[1,-39],[-2,-26]],[[2474,2682],[-69,3],[-13,0]],[[2392,2685],[0,101],[-4,8],[-5,-9],[-3,18]],[[2380,2803],[1,335],[-5,211]],[[2376,3349],[4,0],[123,-1],[2,-36],[-4,-23],[-4,-36],[18,0]],[[1654,4398],[0,-331],[0,-241],[36,-171],[35,-169],[27,-137],[20,-101],[34,-185]],[[1804,2627],[-38,-18],[-30,-16],[-4,25],[0,40],[-2,47],[-4,33],[-9,46],[-12,43],[-2,-12],[-4,8],[1,18],[-5,39],[-7,-8],[-12,28],[-2,23],[-8,28],[-9,-1],[-7,13],[-10,-6],[-5,26],[1,53],[-1,8],[1,38],[-8,28],[0,39],[-3,2],[-4,33],[-4,8],[-1,20],[-11,79],[-5,23],[-1,61],[2,-5],[2,37],[-4,33],[-5,-4],[-7,30],[-2,24],[0,23],[-3,31],[0,50],[5,0],[-2,70],[-2,-7],[-1,-35],[-5,-7],[-7,26],[-1,45],[-4,35],[-6,22],[-3,25],[-9,50],[2,14],[-4,64],[2,35],[-3,54],[-7,52],[-7,29],[-2,35],[7,83],[2,29],[-2,22],[3,57],[-2,52],[-3,13],[1,42]],[[1534,4399],[28,1],[24,1],[38,-3],[30,0]],[[2107,4208],[57,0],[0,-191]],[[2164,4017],[1,-574]],[[2165,3443],[-28,1]],[[2137,3444],[-38,-1],[-72,0],[-15,1],[-46,0]],[[1966,3444],[0,223],[-1,21],[0,162],[0,357]],[[1965,4207],[32,1],[63,-1],[47,1]],[[3025,4400],[0,-113],[-2,-18]],[[3023,4269],[-2,3],[-12,-14],[-15,4],[-7,-26],[-7,-9],[-8,-22]],[[2972,4205],[-2,22],[7,21],[-2,16],[2,144]],[[2977,4408],[12,-2],[36,-3],[0,-3]],[[2922,3980],[-2,-23]],[[2920,3957],[-3,-13],[0,-30],[5,-29],[1,-47],[6,-49],[3,-2],[1,-66]],[[2933,3721],[-19,2],[-2,241]],[[2912,3964],[5,21],[5,-5]],[[2876,3786],[-2,27]],[[2874,3813],[2,12],[4,-19],[-4,-20]],[[2649,2300],[4,-55],[39,-13],[37,-14],[1,-41],[4,1],[1,39],[-1,35],[2,15],[7,-16],[8,-7]],[[2751,2244],[1,-83],[4,-93],[8,-122],[13,-131],[-2,-9],[1,-61],[5,-68],[8,-137],[2,-42],[0,-44],[-3,-158],[-3,-3],[-3,-49],[1,-16],[-5,-36],[-2,9],[-6,-15],[-9,-8],[-2,20],[1,29],[-7,85],[-5,15],[-4,-11],[-3,47],[-1,38],[-6,43],[-2,28],[1,41],[-3,8],[1,-24],[-3,-7],[-9,104],[-4,26],[9,76],[-6,-4],[-4,-24],[-3,38],[5,104],[1,87],[-4,21],[-1,28],[-5,6],[-7,46],[-5,19],[0,28],[-4,11],[-3,31],[-11,42],[-9,-10],[0,-29],[-3,5],[-12,-35],[-12,-9],[0,21],[-3,25],[-15,57],[-10,24],[-10,6],[-8,-4],[-17,-18]],[[2703,3063],[-6,-41],[0,-20],[9,-40],[3,3],[5,-42],[1,-22],[4,-40],[7,-24],[3,-35],[8,-33],[0,-22],[5,-35],[7,-29],[2,-32],[1,-40],[3,-14],[5,-51],[0,-33],[7,-16]],[[2767,2497],[-7,-65],[-2,-34],[-3,-29],[0,-30],[-3,-14],[-1,-81]],[[2632,3060],[37,1]],[[2669,3061],[20,-1],[14,3]],[[640,0],[-7,17],[-1,16],[1,43],[-5,73],[4,24],[2,34],[-2,22],[1,23],[8,-27],[9,-20],[5,-29],[0,-26],[8,-40],[-5,-34],[-8,-15],[-7,-25],[-3,-36]],[[613,397],[3,-26],[4,11],[9,-30],[-1,-27],[-9,-14],[-2,6],[-1,33],[-5,7],[-1,19],[3,21]],[[602,432],[-3,-20],[-7,0],[2,22],[8,-2]],[[574,525],[3,-45],[-2,-26],[-6,-5],[-4,54],[4,1],[5,21]],[[531,626],[3,-2],[2,-20],[-1,-28],[-4,-18],[-9,22],[1,31],[8,15]],[[1908,4871],[0,-472]],[[1908,4399],[-31,-1],[-54,0]],[[1823,4398],[-85,1]],[[1738,4399],[0,349],[4,62],[-2,16],[-6,3],[-2,26],[6,68],[3,6],[3,29],[-1,17],[4,23],[1,34],[6,56],[-2,26],[-7,14],[-4,32]],[[1741,5160],[0,34],[-3,33],[0,16],[0,255],[0,236]],[[1738,5734],[28,0]],[[1766,5734],[0,-195],[9,-54],[1,-52],[5,-23],[6,-8],[0,-14],[11,-51],[1,-21],[8,-20],[0,-12],[8,1],[-4,-71],[-1,-45],[3,-29],[-5,-21],[2,-20],[-1,-21],[6,-20],[7,26],[3,21],[5,-19],[-1,-15],[3,-37],[5,-39],[3,-13],[0,-37],[3,-16],[6,-2],[4,-61],[3,-11],[3,18],[9,-1],[7,17],[3,-10],[7,9],[2,-11],[5,8],[7,39],[4,-33],[5,-20]],[[2489,4496],[53,-3],[28,0]],[[2570,4493],[-1,-37],[4,-43],[5,-70]],[[2578,4343],[0,-450],[-3,-35],[3,-40],[1,-34],[-4,-27],[-1,-25],[-5,-41],[-3,-3],[0,-24],[-2,-9],[-1,-45],[0,-13]],[[2563,3597],[-3,-27],[2,-34],[-11,-17],[-1,-20],[2,-25],[-3,-16],[-11,29],[-3,-2],[-4,-33],[1,-11]],[[2532,3441],[-5,2],[-6,55],[2,12],[-2,37],[0,29],[-9,41],[-3,-4],[-3,25],[-9,38],[0,31],[5,49],[-1,18],[3,23],[-4,13],[-6,9],[-3,-18],[-3,11],[-1,63],[-10,41],[-9,49],[-3,58],[-1,39],[3,27]],[[2467,4089],[0,35],[8,21],[1,29],[4,19],[0,33],[-4,27],[2,34],[11,9],[9,24],[0,29],[4,13],[1,37],[0,24],[-7,18],[-1,20],[-6,35]],[[2655,4340],[0,-228],[0,-266]],[[2655,3846],[-2,-9],[2,-52],[-5,-1],[-5,-18],[-8,9],[1,-38],[-5,-16],[-2,-24],[-5,-9],[-3,-48],[-3,-13],[-6,18],[-1,22],[-7,-24],[1,-21],[-7,-7],[-1,19],[-8,-19],[-2,-20],[-7,28],[-4,-6],[-2,13],[-3,-13],[-7,-2],[-3,-18]],[[2578,4343],[3,-12],[8,0],[9,22]],[[2598,4353],[23,0],[34,0],[0,-13]],[[2473,4685],[0,-28],[4,-19],[-3,-23],[1,-43],[2,-30],[10,-22],[2,-24]],[[2467,4089],[-3,7],[-6,38],[-3,-1],[-40,-5],[-39,-2],[-33,3]],[[2343,4129],[-3,25],[2,49],[-3,43],[0,48],[-5,17],[-1,26],[2,23],[-2,33],[-4,13],[-5,86]],[[2324,4492],[-5,41],[2,29],[1,37],[2,14],[-3,19],[1,33],[-2,16],[4,4]],[[2324,4685],[144,0],[5,0]],[[2356,4017],[3,-18],[9,-14],[-6,-56],[4,-18],[4,-45],[6,-10],[0,-412]],[[2376,3444],[-156,0],[-55,-1]],[[2164,4017],[5,0],[187,0]],[[2718,3716],[-1,-57],[4,-37],[4,-28],[2,-22],[5,-22],[4,-3]],[[2736,3547],[-11,-51],[-11,-29],[0,-14],[-4,-13],[0,-16],[-6,-8],[-1,-21],[-16,-27]],[[2687,3368],[0,-3],[-24,2],[-22,6],[-5,-2],[-32,8],[-36,-5],[-6,9],[1,-35],[-36,2],[-3,-2]],[[2524,3348],[1,24],[5,-8],[2,77]],[[2655,3846],[11,0],[5,-40],[1,-17],[9,-7],[6,-26],[5,13],[10,-14],[4,19],[4,6],[1,-32],[3,-6],[4,-26]],[[2474,2682],[3,-22],[-2,-9],[-1,-38],[5,-24],[0,-57],[-3,-44],[-7,-27],[-2,-43],[-2,4],[-1,-70],[-3,-2],[2,-37],[-2,-14],[54,0],[-3,-63],[4,-41],[1,-32],[4,-20]],[[2521,2143],[-9,-26],[0,-19],[7,-12],[3,30],[6,-30],[-1,-24],[-3,-11],[-7,10],[1,-18],[-2,-27],[5,-24],[9,-7],[3,-29],[3,-4],[-5,-32],[-5,6],[-4,33],[-10,18],[0,33],[-6,-11],[1,-27],[-3,-25],[-3,-4],[-3,28],[-7,1],[-2,-29],[-4,-9],[-5,18],[-4,2],[-3,47],[-7,21],[-2,-3],[-3,40],[-7,-5],[0,24],[-8,-23],[1,-18],[-5,-17],[-9,8],[-10,27],[-7,11],[-16,-9],[-2,-8]],[[2398,2049],[-2,19],[6,68],[-2,37],[2,20],[-1,26],[3,19],[3,50],[0,40],[-8,78],[0,41],[-7,42],[0,196]],[[3046,5029],[12,26],[-2,13],[5,30],[4,13],[-1,12],[5,18],[-1,33],[2,50],[5,17],[1,53],[22,147],[6,-7],[0,-35],[4,-13],[9,21],[6,0],[4,14],[8,-31],[4,-25],[1,-214],[-1,-51],[10,-14],[-2,-22],[3,-21],[-2,-18],[4,-30],[5,7],[5,-68],[-6,-31],[-3,12],[-3,-21],[-4,5],[0,-18],[-6,2],[-8,-40],[-2,28],[-3,2],[1,-30],[-6,-15],[-2,24],[-3,-12],[-7,0],[0,28],[-5,-6],[1,-20],[-4,-42],[1,-12],[-6,-23],[-5,9],[-3,-24],[-4,-3],[-4,-20],[-4,4],[-1,21],[-7,-34],[2,-21],[-5,-7],[0,-18],[-5,-22],[-5,-50]],[[3056,4600],[-3,14],[0,19],[-4,22],[-2,250],[-1,124]],[[2904,3626],[2,0],[-1,0],[-1,0]],[[2933,3721],[-6,-80]],[[2927,3641],[-4,-3],[-8,-12]],[[2915,3626],[-6,-8],[0,31],[-2,13],[3,13],[-4,32],[-2,-14],[-6,3],[-2,35],[2,0],[0,45],[2,18],[-2,60],[3,36],[5,6],[0,37],[-3,-5],[0,-18],[-8,-25],[-2,-21],[0,-56],[-3,-26],[1,-44],[4,-30],[-1,-23],[3,-23],[-2,-16],[-6,30],[-10,15],[-2,29],[-6,-16],[-2,23],[5,29]],[[2874,3756],[2,30]],[[2874,3813],[-4,18],[-6,10],[0,28],[-3,15],[-4,4]],[[2857,3888],[-4,53],[-4,0],[-5,18],[-3,-15],[-5,1],[-1,-21],[-8,14],[-6,-28],[-3,6],[-6,-33],[-6,-17],[1,98]],[[2807,3964],[105,0]],[[3053,4565],[1,-34],[-1,-27],[-5,-25],[0,-29],[6,-4],[4,-31],[0,-24],[3,-6],[0,-22],[8,-19],[9,18],[-2,-26],[-13,-23],[-5,-1],[-3,18],[-5,-6],[0,-13],[-5,-9]],[[3045,4302],[-3,35]],[[3042,4337],[0,6]],[[3042,4343],[-3,14],[-2,45],[-4,0],[-8,-2]],[[2977,4408],[0,7],[6,126]],[[2983,4541],[23,-3]],[[3006,4538],[34,-7],[3,18],[7,19],[3,-3]],[[2598,4353],[5,25],[4,43],[4,26],[3,36],[1,52],[0,57],[-9,111],[3,42],[-2,50],[6,51],[2,43],[-1,23],[5,9],[0,31],[8,9],[5,34],[0,-69],[3,-3],[3,35],[1,58],[2,15],[8,9],[-3,41],[5,35],[7,2],[7,-22],[7,-3],[3,-28],[6,-2],[9,-25],[3,1],[4,-41],[-3,-21],[3,-29],[2,-32],[-2,-71],[-6,-18],[-1,-37],[-7,-12],[-4,-44],[2,-17],[6,-15],[6,24],[6,49],[10,19],[5,-15],[3,-27],[3,-80],[0,-39],[3,-48],[-3,-69],[-4,-11],[-1,25],[-3,-7],[-3,-58],[-6,-21],[-2,-44],[-7,-37],[0,-16]],[[2694,4347],[-39,-7]],[[2635,5110],[1,-23],[-4,-4],[1,33],[2,-6]],[[2496,5270],[11,20],[5,23],[12,9],[8,29],[4,1],[3,20],[9,28],[4,24],[7,15],[6,-13],[-11,-59],[-2,-19],[0,-36],[5,27],[10,-4],[8,-19],[7,-52],[3,-10],[7,9],[2,-12],[7,-6],[16,44],[8,4],[10,-2],[7,15],[6,1],[1,-54],[5,-7],[6,8],[2,-12],[4,16],[8,5],[1,-67],[3,-28],[6,-8],[1,19],[5,0],[3,-20],[-3,-14],[-15,12],[-8,-8],[-8,23],[-2,-21],[1,-18],[-4,4],[-5,27],[-9,15],[-5,1],[-4,-25],[-8,-6],[-8,5],[-3,-10],[-1,-21],[-9,-18],[1,25],[-4,5],[-2,-26],[-6,-1],[-3,-11],[-5,-45],[-8,-58],[1,-5]],[[2576,4989],[-4,20],[2,27],[-7,4],[3,26],[0,34],[-5,23],[-4,24],[-12,19],[-4,-7],[-12,29],[-29,38],[-3,33],[-5,11]],[[2541,5539],[-7,-24],[-4,-3],[1,19],[18,45],[-4,-31],[-4,-6]],[[2324,4685],[0,343],[-7,22],[-5,36],[8,41],[1,22]],[[2321,5149],[-1,76],[-4,20],[-2,42],[0,51],[-1,8],[-1,123],[-5,65],[-3,36],[0,77],[1,27],[-3,60]],[[2302,5734],[59,0],[0,73],[5,-2],[4,-14],[4,-100],[3,-11],[9,-3],[1,-10],[11,-4],[1,-21],[10,5],[0,9],[7,10],[6,-4],[8,-16],[2,-19],[4,2],[4,-43],[2,18],[7,8],[1,-18],[9,-12],[0,-17],[4,-14],[8,8],[5,18],[8,12],[2,-28],[5,6],[6,-6],[6,4],[8,-24],[7,4],[0,-10],[-10,-24],[-13,-19],[-9,-20],[-12,-49],[-5,-31],[-8,-34],[-13,-46],[2,-16]],[[2450,5296],[-2,9],[-6,-16],[0,-113],[-2,-11],[-8,-16],[-6,-41],[-1,-27],[3,-2],[4,-24],[-3,-29],[0,-33],[-2,-70],[8,-34],[6,-3],[3,-21],[8,-21],[2,-25],[8,-33],[5,-7],[5,-42],[-1,-30],[2,-22]],[[2553,2179],[-3,-8],[-7,4],[-3,12],[-7,-8],[-9,-22],[-3,-14]],[[2498,3062],[53,0],[7,0]],[[2524,3348],[-2,0],[-2,0],[1,-47],[-6,-48]],[[2376,3349],[0,95]],[[2356,4017],[-7,50],[-6,62]],[[2108,5151],[0,-181],[-1,0]],[[2107,4970],[-53,1],[-90,0],[-56,0],[0,-100]],[[1766,5734],[130,-1],[58,1],[154,0]],[[2108,5734],[0,-217],[0,-366]],[[2107,4208],[0,382]],[[2107,4590],[21,0],[49,-1],[88,0],[1,-10],[15,-34],[4,19],[4,-4],[13,0],[15,-36],[2,-27],[5,-5]],[[1823,4398],[0,-954]],[[1654,4398],[37,-1],[47,2]],[[3006,4538],[-2,14],[0,28],[3,11],[-1,27],[3,81],[5,37],[2,43],[3,16],[-1,47],[10,17],[5,33],[-3,31],[4,32],[0,18]],[[3034,4973],[4,49],[6,-5],[2,12]],[[3056,4600],[-3,-35]],[[2962,4152],[-5,-13],[-2,-29],[8,-14],[0,-22],[-3,-103],[-9,-76],[-6,-22],[-5,-48],[-3,31],[-8,16],[-10,42],[-1,28],[0,4],[2,11]],[[2922,3980],[8,15],[0,15],[9,31],[2,17],[-9,39],[0,24],[-3,6],[-1,22],[5,33],[-3,20],[7,40],[2,21],[4,13]],[[2943,4276],[13,-41],[9,-28],[-3,-55]],[[2137,3444],[0,-95]],[[2137,3349],[-1,0],[0,-474],[0,-193],[0,-192],[-101,0],[-1,-18],[3,-22]],[[2037,2450],[-48,0],[0,-87],[-24,0]],[[2972,4205],[13,-15],[2,11],[10,0],[6,6],[8,31],[1,-22],[5,-10],[-11,-28],[-22,-42],[-9,-8],[-6,2],[-5,-9],[-2,31]],[[2943,4276],[-2,14],[-4,1],[-5,32],[1,29],[-4,22],[-2,-2],[-3,27],[-125,0],[0,48],[0,3]],[[2799,4450],[17,54],[3,26],[5,18],[-2,32],[-2,7],[-2,52],[17,22],[15,-1],[6,-5],[6,-21],[4,8],[12,-1],[8,14],[8,34],[5,1],[0,52],[3,31],[-7,21],[2,24],[11,32],[4,28],[14,64],[13,32],[19,-5],[23,4]],[[2981,4973],[1,-39],[-2,-36],[3,-34],[-1,-37],[-3,-39],[2,-52],[-1,-16],[4,-31],[-1,-132],[0,-16]],[[2909,3359],[4,-77],[-8,8],[-1,-10],[-10,-11],[-1,-11],[-7,-3],[0,-13],[8,9],[1,-8],[9,9],[3,-18],[5,8],[2,-46],[-2,-22],[-3,-2],[-8,-47],[-9,-2],[-2,-33],[4,-32],[4,-6],[-6,-54],[-6,7],[-9,-6],[-6,-11],[-10,-37],[-7,-48],[-4,-60],[-6,13],[-11,-12]],[[2833,2844],[-32,181],[-32,4],[1,21],[-5,33],[-3,-12],[0,20],[-35,10],[-8,-8],[-6,-17],[-10,-13]],[[2669,3061],[1,45],[5,4],[3,31],[7,29],[7,1],[7,29],[8,10],[6,43],[4,13],[1,-19],[11,37],[5,-8],[4,36],[5,9],[1,45]],[[2744,3366],[20,-5],[19,-3],[23,-1],[103,2]],[[2321,5149],[-213,2]],[[2108,5734],[194,0]],[[2777,4138],[-4,-10],[2,-21],[0,-29],[-4,-46],[-3,-70],[-11,-62],[-3,-8],[-4,12],[-3,-27],[-3,1],[-4,-36],[1,-22],[-3,-18],[-4,29],[-5,-46],[1,-29],[-3,-11],[-1,-25],[-8,-4]],[[2694,4347],[11,-26],[3,-15],[3,14],[6,-30],[4,-9],[14,25],[7,-6],[9,36],[12,34],[14,24]],[[2777,4394],[0,-256]],[[2380,2803],[-11,21],[-3,22],[-7,18],[-2,-16],[-8,1],[-1,10],[-7,-19],[-3,11],[-6,-10],[-5,-29],[-2,17],[-6,14],[-7,0],[-2,21],[-7,-42],[-2,24],[-3,-8],[-3,16],[-7,15],[-5,-25],[-2,26],[-4,3],[-2,21],[-6,8],[-3,-18],[-3,16],[-5,-2],[-6,17],[-6,-2],[-2,36],[-9,2],[-4,-6],[-6,37],[-2,-3],[0,370],[-52,0],[-34,0]],[[1534,4399],[-4,22],[-2,61],[0,43],[-4,33],[3,32],[2,51],[4,54],[2,48],[3,162],[0,22],[3,71],[1,99],[-2,54],[1,32],[12,29]],[[1553,5212],[5,-22],[4,5],[3,2],[6,-20],[3,-23],[1,-57],[15,-21],[12,30],[8,3],[9,-10],[1,-13],[16,27],[3,-9],[9,5],[7,19],[12,17],[12,4],[4,12],[58,-1]],[[2807,3964],[-30,0],[0,174]],[[2777,4394],[5,11],[17,45]],[[3045,4302],[-6,-4],[3,39]],[[3042,4343],[-4,3],[-3,-28],[-1,-40],[-11,-9]],[[2833,2844],[-5,-10],[-6,-31],[-6,-49],[-1,-40],[-5,-31],[-6,0],[-2,-23],[-6,-25],[-4,-28],[-6,-11],[-6,-29],[-1,-14],[-6,-16],[-6,-40]],[[2107,4590],[0,380]],[[2687,3368],[57,-2]],[[2398,2049],[-5,-1],[-14,-26],[-6,15],[-1,31],[-3,-22],[-3,5],[-1,-27],[3,-11],[0,-36],[-5,-37],[-9,-47],[-17,-51],[-2,9],[-5,-13],[0,12],[-7,-9],[-3,24],[-2,-5],[7,-49],[-5,-16],[-5,10],[-1,-35],[-7,-35],[-6,-66],[-4,-69],[-3,5],[-1,-25],[3,6],[-2,-50],[-2,-2],[0,-28],[3,-16],[1,-57],[3,-20],[0,-37],[3,-32],[-9,-20],[-3,25],[-7,10],[-9,-3],[-8,32],[-5,3],[-5,25],[-6,8],[-4,24],[-2,58],[-5,34],[0,30],[-2,31],[1,27],[-4,30],[-3,4],[-5,27],[-1,34],[-5,32],[-6,26],[-3,57],[-2,16],[-4,46],[-1,38],[-4,27],[-6,24],[-1,16],[-6,15],[-4,42],[-13,9],[-7,-2],[-7,15],[-1,-20],[-7,-6],[-5,-40],[-3,-64],[-2,-1],[-4,-37],[-5,-1],[-7,29],[-17,47],[-4,25],[-6,24],[-5,54],[-1,49],[-4,40],[-2,35],[-3,22],[-11,32],[-6,44],[-4,15],[-6,38],[-7,20],[-5,50],[-4,11]],[[1908,4399],[0,-192],[57,0]],[[2981,4973],[30,-2],[23,2]],[[2927,3641],[-4,-32],[-3,-12],[-3,-44],[-6,-71],[-5,-15],[-1,27],[2,58],[8,74]],[[2874,3756],[-4,-8],[-2,-28],[1,-19],[8,6],[1,-31],[10,-12],[3,-24],[8,-26],[-4,-54],[4,-41],[-4,-20],[-1,-24],[4,-15],[-4,-23],[-6,30],[-1,-10],[5,-22],[14,-5],[3,-71]],[[2736,3547],[-1,-16],[4,-32],[5,-16],[4,1],[5,25],[4,-20],[7,11],[13,36],[1,-11],[5,17],[0,34],[4,30],[5,29],[2,34],[6,36],[2,44],[5,-27],[4,-8],[3,16],[6,68],[4,-17],[13,77],[2,57],[15,-64],[3,37]],[[1553,5212],[-5,7],[-4,-12],[-6,17],[1,26],[4,14],[-6,40],[-4,103],[-2,14],[-3,73],[-6,28],[-2,56],[3,38],[6,-18],[11,-24],[8,1],[8,-9],[8,9],[3,-16],[7,1],[5,-42],[3,3],[1,-56],[2,-52],[3,6],[-3,43],[1,43],[4,44],[-3,18],[-1,31],[-3,35],[2,25],[-2,29],[-5,4],[-4,22],[1,21],[163,0]],[[1576,5602],[4,9],[0,-39],[-5,15],[1,15]],[[1568,5655],[3,25],[4,-30],[-1,-27],[-7,8],[1,24]],[[2576,4989],[-1,-23],[-6,-4],[-4,-44],[-2,-30],[3,-6],[5,20],[4,38],[6,15],[5,48],[6,10],[-1,-25],[-4,-23],[-8,-79],[-2,-44],[0,-32],[-3,-10],[-2,-43],[1,-37],[-3,-24],[-3,-59],[0,-47],[4,-42],[-1,-55]],[[2450,5296],[6,-2],[20,33],[8,17],[2,-13],[-4,-25],[9,-33],[5,-3]]]
},p.prototype.usgTopo="__USG__",p.prototype.uzbTopo="__UZB__",p.prototype.vatTopo="__VAT__",p.prototype.vctTopo="__VCT__",p.prototype.venTopo="__VEN__",p.prototype.vgbTopo="__VGB__",p.prototype.virTopo="__VIR__",p.prototype.vnmTopo="__VNM__",p.prototype.vutTopo="__VUT__",p.prototype.wlfTopo="__WLF__",p.prototype.wsbTopo="__WSB__",p.prototype.wsmTopo="__WSM__",p.prototype.yemTopo="__YEM__",p.prototype.zafTopo="__ZAF__",p.prototype.zmbTopo="__ZMB__",p.prototype.zweTopo="__ZWE__",p.prototype.latLngToXY=function(a,b){return this.projection([b,a])},p.prototype.addLayer=function(a,b,c){var d;return d=c?this.svg.insert("g",":first-child"):this.svg.append("g"),d.attr("id",b||"").attr("class",a||"")},p.prototype.updateChoropleth=function(a,b){var c=this.svg;b&&b.reset===!0&&c.selectAll(".datamaps-subunit").attr("data-info",function(){return"{}"}).transition().style("fill",this.options.fills.defaultFill);for(var d in a)if(a.hasOwnProperty(d)){var e,f=a[d];if(!d)continue;if(e="string"==typeof f?f:"string"==typeof f.color?f.color:"string"==typeof f.fillColor?f.fillColor:this.options.fills[f.fillKey],f===Object(f)){this.options.data[d]=o(f,this.options.data[d]||{});this.svg.select("."+d).attr("data-info",JSON.stringify(this.options.data[d]))}c.selectAll("."+d).transition().style("fill",e)}},p.prototype.updatePopup=function(a,b,c){var d=this;a.on("mousemove",null),a.on("mousemove",function(){var e=q.mouse(d.options.element);q.select(d.svg[0][0].parentNode).select(".datamaps-hoverover").style("top",e[1]+30+"px").html(function(){var d=JSON.parse(a.attr("data-info"));try{return c.popupTemplate(b,d)}catch(e){return""}}).style("left",e[0]+"px")}),q.select(d.svg[0][0].parentNode).select(".datamaps-hoverover").style("display","block")},p.prototype.addPlugin=function(a,b){var c=this;"undefined"==typeof p.prototype[a]&&(p.prototype[a]=function(d,e,f,g){var h;"undefined"==typeof g&&(g=!1),"function"==typeof e&&(f=e,e=void 0),e=o(e||{},c.options[a+"Config"]),!g&&this.options[a+"Layer"]?(h=this.options[a+"Layer"],e=e||this.options[a+"Options"]):(h=this.addLayer(a),this.options[a+"Layer"]=h,this.options[a+"Options"]=e),b.apply(this,[h,d,e]),f&&f(h)})},"object"==typeof c?(q=a("d3"),r=a("topojson"),b.exports=p):"function"==typeof define&&define.amd?define("datamaps",["require","d3","topojson"],function(a){return q=a("d3"),r=a("topojson"),p}):window.Datamap=window.Datamaps=p,window.jQuery&&(window.jQuery.fn.datamaps=function(a,b){a=a||{},a.element=this[0];var c=new p(a);return"function"==typeof b&&b(c,a),this})}()},{d3:231,topojson:232}],231:[function(a,b,c){!function(){function a(a){return a&&(a.ownerDocument||a.document||a).documentElement}function c(a){return a&&(a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView)}function d(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function e(a){return null===a?NaN:+a}function f(a){return!isNaN(a)}function g(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function h(a){return a.length}function i(a){for(var b=1;a*b%1;)b*=10;return b}function j(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function k(){this._=Object.create(null)}function l(a){return(a+="")===vg||a[0]===wg?wg+a:a}function m(a){return(a+="")[0]===wg?a.slice(1):a}function n(a){return l(a)in this._}function o(a){return(a=l(a))in this._&&delete this._[a]}function p(){var a=[];for(var b in this._)a.push(m(b));return a}function q(){var a=0;for(var b in this._)++a;return a}function r(){for(var a in this._)return!1;return!0}function s(){this._=Object.create(null)}function t(a){return a}function u(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function v(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=xg.length;c<d;++c){var e=xg[c]+b;if(e in a)return e}}function w(){}function x(){}function y(a){function b(){for(var b,d=c,e=-1,f=d.length;++e<f;)(b=d[e].on)&&b.apply(this,arguments);return a}var c=[],d=new k;return b.on=function(b,e){var f,g=d.get(b);return arguments.length<2?g&&g.on:(g&&(g.on=null,c=c.slice(0,f=c.indexOf(g)).concat(c.slice(f+1)),d.remove(b)),e&&c.push(d.set(b,{on:e})),a)},b}function z(){ig.event.preventDefault()}function A(){for(var a,b=ig.event;a=b.sourceEvent;)b=a;return b}function B(a){for(var b=new x,c=0,d=arguments.length;++c<d;)b[arguments[c]]=y(b);return b.of=function(c,d){return function(e){try{var f=e.sourceEvent=ig.event;e.target=a,ig.event=e,b[e.type].apply(c,d)}finally{ig.event=f}}},b}function C(a){return zg(a,Dg),a}function D(a){return"function"==typeof a?a:function(){return Ag(a,this)}}function E(a){return"function"==typeof a?a:function(){return Bg(a,this)}}function F(a,b){function c(){this.removeAttribute(a)}function d(){this.removeAttributeNS(a.space,a.local)}function e(){this.setAttribute(a,b)}function f(){this.setAttributeNS(a.space,a.local,b)}function g(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}function h(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}return a=ig.ns.qualify(a),null==b?a.local?d:c:"function"==typeof b?a.local?h:g:a.local?f:e}function G(a){return a.trim().replace(/\s+/g," ")}function H(a){return new RegExp("(?:^|\\s+)"+ig.requote(a)+"(?:\\s+|$)","g")}function I(a){return(a+"").trim().split(/^|\s+/)}function J(a,b){function c(){for(var c=-1;++c<e;)a[c](this,b)}function d(){for(var c=-1,d=b.apply(this,arguments);++c<e;)a[c](this,d)}a=I(a).map(K);var e=a.length;return"function"==typeof b?d:c}function K(a){var b=H(a);return function(c,d){if(e=c.classList)return d?e.add(a):e.remove(a);var e=c.getAttribute("class")||"";d?(b.lastIndex=0,b.test(e)||c.setAttribute("class",G(e+" "+a))):c.setAttribute("class",G(e.replace(b," ")))}}function L(a,b,c){function d(){this.style.removeProperty(a)}function e(){this.style.setProperty(a,b,c)}function f(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}return null==b?d:"function"==typeof b?f:e}function M(a,b){function c(){delete this[a]}function d(){this[a]=b}function e(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}return null==b?c:"function"==typeof b?e:d}function N(a){function b(){var b=this.ownerDocument,c=this.namespaceURI;return c===Eg&&b.documentElement.namespaceURI===Eg?b.createElement(a):b.createElementNS(c,a)}function c(){return this.ownerDocument.createElementNS(a.space,a.local)}return"function"==typeof a?a:(a=ig.ns.qualify(a)).local?c:b}function O(){var a=this.parentNode;a&&a.removeChild(this)}function P(a){return{__data__:a}}function Q(a){return function(){return Cg(this,a)}}function R(a){return arguments.length||(a=d),function(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}}function S(a,b){for(var c=0,d=a.length;c<d;c++)for(var e,f=a[c],g=0,h=f.length;g<h;g++)(e=f[g])&&b(e,g,c);return a}function T(a){return zg(a,Gg),a}function U(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b<i;);return g}}function V(a,b,c){function d(){var b=this[g];b&&(this.removeEventListener(a,b,b.$),delete this[g])}function e(){var e=i(b,kg(arguments));d.call(this),this.addEventListener(a,this[g]=e,e.$=c),e._=b}function f(){var b,c=new RegExp("^__on([^.]+)"+ig.requote(a)+"$");for(var d in this)if(b=d.match(c)){var e=this[d];this.removeEventListener(b[1],e,e.$),delete this[d]}}var g="__on"+a,h=a.indexOf("."),i=W;h>0&&(a=a.slice(0,h));var j=Hg.get(a);return j&&(a=j,i=X),h?b?e:d:b?w:f}function W(a,b){return function(c){var d=ig.event;ig.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{ig.event=d}}}function X(a,b){var c=W(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function Y(b){var d=".dragsuppress-"+ ++Jg,e="click"+d,f=ig.select(c(b)).on("touchmove"+d,z).on("dragstart"+d,z).on("selectstart"+d,z);if(null==Ig&&(Ig=!("onselectstart"in b)&&v(b.style,"userSelect")),Ig){var g=a(b).style,h=g[Ig];g[Ig]="none"}return function(a){if(f.on(d,null),Ig&&(g[Ig]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){z(),b()},!0),setTimeout(b,0)}}}function Z(a,b){b.changedTouches&&(b=b.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(Kg<0){var f=c(a);if(f.scrollX||f.scrollY){d=ig.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Kg=!(g.f||g.e),d.remove()}}return Kg?(e.x=b.pageX,e.y=b.pageY):(e.x=b.clientX,e.y=b.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[b.clientX-h.left-a.clientLeft,b.clientY-h.top-a.clientTop]}function $(){return ig.event.changedTouches[0].identifier}function _(a){return a>0?1:a<0?-1:0}function aa(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function ba(a){return a>1?0:a<-1?Ng:Math.acos(a)}function ca(a){return a>1?Qg:a<-1?-Qg:Math.asin(a)}function da(a){return((a=Math.exp(a))-1/a)/2}function ea(a){return((a=Math.exp(a))+1/a)/2}function fa(a){return((a=Math.exp(2*a))-1)/(a+1)}function ga(a){return(a=Math.sin(a/2))*a}function ha(){}function ia(a,b,c){return this instanceof ia?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ia?new ia(a.h,a.s,a.l):wa(""+a,xa,ia):new ia(a,b,c)}function ja(a,b,c){function d(a){return a>360?a-=360:a<0&&(a+=360),a<60?f+(g-f)*a/60:a<180?g:a<240?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,g=c<=.5?c*(1+b):c+b-c*b,f=2*c-g,new sa(e(a+120),e(a),e(a-120))}function ka(a,b,c){return this instanceof ka?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ka?new ka(a.h,a.c,a.l):a instanceof ma?oa(a.l,a.a,a.b):oa((a=ya((a=ig.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ka(a,b,c)}function la(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new ma(c,Math.cos(a*=Rg)*b,Math.sin(a)*b)}function ma(a,b,c){return this instanceof ma?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof ma?new ma(a.l,a.a,a.b):a instanceof ka?la(a.h,a.c,a.l):ya((a=sa(a)).r,a.g,a.b):new ma(a,b,c)}function na(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=pa(e)*ah,d=pa(d)*bh,f=pa(f)*ch,new sa(ra(3.2404542*e-1.5371385*d-.4985314*f),ra(-.969266*e+1.8760108*d+.041556*f),ra(.0556434*e-.2040259*d+1.0572252*f))}function oa(a,b,c){return a>0?new ka(Math.atan2(c,b)*Sg,Math.sqrt(b*b+c*c),a):new ka(NaN,NaN,a)}function pa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function qa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function ra(a){return Math.round(255*(a<=.00304?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function sa(a,b,c){return this instanceof sa?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof sa?new sa(a.r,a.g,a.b):wa(""+a,sa,ja):new sa(a,b,c)}function ta(a){return new sa(a>>16,a>>8&255,255&a)}function ua(a){return ta(a)+""}function va(a){return a<16?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function wa(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/.exec(a=a.toLowerCase()))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(Aa(e[0]),Aa(e[1]),Aa(e[2]))}return(f=fh.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function xa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=i<.5?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(b<c?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=NaN,e=i>0&&i<1?0:d),new ia(d,e,i)}function ya(a,b,c){a=za(a),b=za(b),c=za(c);var d=qa((.4124564*a+.3575761*b+.1804375*c)/ah),e=qa((.2126729*a+.7151522*b+.072175*c)/bh),f=qa((.0193339*a+.119192*b+.9503041*c)/ch);return ma(116*e-16,500*(d-e),200*(e-f))}function za(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function Aa(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Ba(a){return"function"==typeof a?a:function(){return a}}function Ca(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Da(b,c,a,d)}}function Da(a,b,c,d){function e(){var a,b=i.status;if(!b&&Fa(i)||b>=200&&b<300||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=ig.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=ig.event;ig.event=a;try{g.progress.call(f,i)}finally{ig.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(kg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},ig.rebind(f,g,"on"),null==d?f:f.get(Ea(d))}function Ea(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Fa(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Ga(a,b,c){var d=arguments.length;d<2&&(b=0),d<3&&(c=Date.now());var e=c+b,f={c:a,t:e,n:null};return hh?hh.n=f:gh=f,hh=f,ih||(jh=clearTimeout(jh),ih=1,kh(Ha)),f}function Ha(){var a=Ia(),b=Ja()-a;b>24?(isFinite(b)&&(clearTimeout(jh),jh=setTimeout(Ha,b)),ih=0):(ih=1,kh(Ha))}function Ia(){for(var a=Date.now(),b=gh;b;)a>=b.t&&b.c(a-b.t)&&(b.c=null),b=b.n;return a}function Ja(){for(var a,b=gh,c=1/0;b;)b.c?(b.t<c&&(c=b.t),b=(a=b).n):b=a?a.n=b.n:gh=b.n;return hh=a,c}function Ka(a,b){return b-(a?Math.ceil(Math.log(a)/Math.LN10):1)}function La(a,b){var c=Math.pow(10,3*ug(8-b));return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ma(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:t;return function(a){var c=mh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):"e"!=n&&"f"!=n||(m=Math.max(0,Math.min(20,m)))),n=nh.get(n)||Na;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=a<0||0===a&&1/a<0?(a=-a,"-"):"-"===h?"":h;if(o<0){var i=ig.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(w<0){var x=s?a.lastIndexOf("e"):-1;x<0?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=y<k?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function Na(a){return a+""}function Oa(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Pa(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){return b(c=a(new ph(c-1)),1),c}function f(a,c){return b(a=new ph((+a)),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;g<d;)c(g)%f||h.push(new Date((+g))),b(g,1);else for(;g<d;)h.push(new Date((+g))),b(g,1);return h}function h(a,b,c){try{ph=Oa;var d=new Oa;return d._=a,g(d,b,c)}finally{ph=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Qa(a);return i.floor=i,i.round=Qa(d),i.ceil=Qa(e),i.offset=Qa(f),i.range=h,a}function Qa(a){return function(b,c){try{ph=Oa;var d=new Oa;return d._=b,a(d,c)._}finally{ph=Date}}}function Ra(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++h<d;)37===a.charCodeAt(h)&&(g.push(a.slice(i,h)),null!=(e=rh[c=a.charAt(++h)])&&(c=a.charAt(++h)),(f=C[c])&&(c=f(b,null==e?"e"===c?" ":"0":e)),g.push(c),i=h+1);return g.push(a.slice(i,h)),g.join("")}var d=a.length;return b.parse=function(b){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},e=c(d,a,b,0);if(e!=b.length)return null;"p"in d&&(d.H=d.H%12+12*d.p);var f=null!=d.Z&&ph!==Oa,g=new(f?Oa:ph);return"j"in d?g.setFullYear(d.y,0,d.j):"W"in d||"U"in d?("w"in d||(d.w="W"in d?1:0),g.setFullYear(d.y,0,1),g.setFullYear(d.y,0,"W"in d?(d.w+6)%7+7*d.W-(g.getDay()+5)%7:d.w+7*d.U-(g.getDay()+6)%7)):g.setFullYear(d.y,d.m,d.d),g.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L),f?g._:g},b.toString=function(){return a},b}function c(a,b,c,d){for(var e,f,g,h=0,i=b.length,j=c.length;h<i;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in rh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{ph=Oa;var b=new ph;return b._=a,d(b)}finally{ph=Date}}var d=b(a);return c.parse=function(a){try{ph=Oa;var b=d.parse(a);return b&&b._}finally{ph=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=jb;var t=ig.map(),u=Ta(p),v=Ua(p),w=Ta(q),x=Ua(q),y=Ta(r),z=Ua(r),A=Ta(s),B=Ua(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Sa(a.getDate(),b,2)},e:function(a,b){return Sa(a.getDate(),b,2)},H:function(a,b){return Sa(a.getHours(),b,2)},I:function(a,b){return Sa(a.getHours()%12||12,b,2)},j:function(a,b){return Sa(1+oh.dayOfYear(a),b,3)},L:function(a,b){return Sa(a.getMilliseconds(),b,3)},m:function(a,b){return Sa(a.getMonth()+1,b,2)},M:function(a,b){return Sa(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Sa(a.getSeconds(),b,2)},U:function(a,b){return Sa(oh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Sa(oh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Sa(a.getFullYear()%100,b,2)},Y:function(a,b){return Sa(a.getFullYear()%1e4,b,4)},Z:hb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:bb,e:bb,H:db,I:db,j:cb,L:gb,m:ab,M:eb,p:k,S:fb,U:Wa,w:Va,W:Xa,x:i,X:j,y:Za,Y:Ya,Z:$a,"%":ib};return b}function Sa(a,b,c){var d=a<0?"-":"",e=(d?-a:a)+"",f=e.length;return d+(f<c?new Array(c-f+1).join(b)+e:e)}function Ta(a){return new RegExp("^(?:"+a.map(ig.requote).join("|")+")","i")}function Ua(a){for(var b=new k,c=-1,d=a.length;++c<d;)b.set(a[c].toLowerCase(),c);return b}function Va(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+1));return d?(a.w=+d[0],c+d[0].length):-1}function Wa(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c));return d?(a.U=+d[0],c+d[0].length):-1}function Xa(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c));return d?(a.W=+d[0],c+d[0].length):-1}function Ya(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+4));return d?(a.y=+d[0],c+d[0].length):-1}function Za(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.y=_a(+d[0]),c+d[0].length):-1}function $a(a,b,c){return/^[+-]\d{4}$/.test(b=b.slice(c,c+5))?(a.Z=-b,c+5):-1}function _a(a){return a+(a>68?1900:2e3)}function ab(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function bb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function cb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function db(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function eb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function fb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function gb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function hb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=ug(b)/60|0,e=ug(b)%60;return c+Sa(d,"0",2)+Sa(e,"0",2)}function ib(a,b,c){th.lastIndex=0;var d=th.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function jb(a){for(var b=a.length,c=-1;++c<b;)a[c][0]=this(a[c][0]);return function(b){for(var c=0,d=a[c];!d[1](b);)d=a[++c];return d[0](b)}}function kb(){}function lb(a,b,c){var d=c.s=a+b,e=d-a,f=d-e;c.t=a-f+(b-e)}function mb(a,b){a&&xh.hasOwnProperty(a.type)&&xh[a.type](a,b)}function nb(a,b,c){var d,e=-1,f=a.length-c;for(b.lineStart();++e<f;)d=a[e],b.point(d[0],d[1],d[2]);b.lineEnd()}function ob(a,b){var c=-1,d=a.length;for(b.polygonStart();++c<d;)nb(a[c],b,1);b.polygonEnd()}function pb(){function a(a,b){a*=Rg,b=b*Rg/2+Ng/4;var c=a-d,g=c>=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);zh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;Ah.point=function(g,h){Ah.point=a,d=(b=g)*Rg,e=Math.cos(h=(c=h)*Rg/2+Ng/4),f=Math.sin(h)},Ah.lineEnd=function(){a(b,c)}}function qb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function rb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function sb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function tb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function ub(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function vb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function wb(a){return[Math.atan2(a[1],a[0]),ca(a[2])]}function xb(a,b){return ug(a[0]-b[0])<Lg&&ug(a[1]-b[1])<Lg}function yb(a,b){a*=Rg;var c=Math.cos(b*=Rg);zb(c*Math.cos(a),c*Math.sin(a),Math.sin(b))}function zb(a,b,c){++Bh,Dh+=(a-Dh)/Bh,Eh+=(b-Eh)/Bh,Fh+=(c-Fh)/Bh}function Ab(){function a(a,e){a*=Rg;var f=Math.cos(e*=Rg),g=f*Math.cos(a),h=f*Math.sin(a),i=Math.sin(e),j=Math.atan2(Math.sqrt((j=c*i-d*h)*j+(j=d*g-b*i)*j+(j=b*h-c*g)*j),b*g+c*h+d*i);Ch+=j,Gh+=j*(b+(b=g)),Hh+=j*(c+(c=h)),Ih+=j*(d+(d=i)),zb(b,c,d)}var b,c,d;Mh.point=function(e,f){e*=Rg;var g=Math.cos(f*=Rg);b=g*Math.cos(e),c=g*Math.sin(e),d=Math.sin(f),Mh.point=a,zb(b,c,d)}}function Bb(){Mh.point=yb}function Cb(){function a(a,b){a*=Rg;var c=Math.cos(b*=Rg),g=c*Math.cos(a),h=c*Math.sin(a),i=Math.sin(b),j=e*i-f*h,k=f*g-d*i,l=d*h-e*g,m=Math.sqrt(j*j+k*k+l*l),n=d*g+e*h+f*i,o=m&&-ba(n)/m,p=Math.atan2(m,n);Jh+=o*j,Kh+=o*k,Lh+=o*l,Ch+=p,Gh+=p*(d+(d=g)),Hh+=p*(e+(e=h)),Ih+=p*(f+(f=i)),zb(d,e,f)}var b,c,d,e,f;Mh.point=function(g,h){b=g,c=h,Mh.point=a,g*=Rg;var i=Math.cos(h*=Rg);d=i*Math.cos(g),e=i*Math.sin(g),f=Math.sin(h),zb(d,e,f)},Mh.lineEnd=function(){a(b,c),Mh.lineEnd=Bb,Mh.point=yb}}function Db(a,b){function c(c,d){return c=a(c,d),b(c[0],c[1])}return a.invert&&b.invert&&(c.invert=function(c,d){return c=b.invert(c,d),c&&a.invert(c[0],c[1])}),c}function Eb(){return!0}function Fb(a,b,c,d,e){var f=[],g=[];if(a.forEach(function(a){if(!((b=a.length-1)<=0)){var b,c=a[0],d=a[b];if(xb(c,d)){e.lineStart();for(var h=0;h<b;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Hb(c,a,null,(!0)),j=new Hb(c,null,i,(!1));i.o=j,f.push(i),g.push(j),i=new Hb(d,a,null,(!1)),j=new Hb(d,null,i,(!0)),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Gb(f),Gb(g),f.length){for(var h=0,i=c,j=g.length;h<j;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;h<j;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Gb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d<b;)e.n=c=a[d],c.p=e,e=c;e.n=c=a[0],c.p=e}}function Hb(a,b,c,d){this.x=a,this.z=b,this.o=c,this.e=d,this.v=!1,this.n=this.p=null}function Ib(a,b,c,d){return function(e,f){function g(b,c){var d=e(b,c);a(b=d[0],c=d[1])&&f.point(b,c)}function h(a,b){var c=e(a,b);q.point(c[0],c[1])}function i(){s.point=h,q.lineStart()}function j(){s.point=g,q.lineEnd()}function k(a,b){p.push([a,b]);var c=e(a,b);u.point(c[0],c[1])}function l(){u.lineStart(),p=[]}function m(){k(p[0][0],p[0][1]),u.lineEnd();var a,b=u.clean(),c=t.buffer(),d=c.length;if(p.pop(),o.push(p),p=null,d)if(1&b){a=c[0];var e,d=a.length-1,g=-1;if(d>0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g<d;)f.point((e=a[g])[0],e[1]);f.lineEnd()}}else d>1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Jb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=ig.merge(n);var a=Pb(r,o);n.length?(v||(f.polygonStart(),v=!0),Fb(n,Lb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Kb(),u=b(t),v=!1;return s}}function Jb(a){return a.length>1}function Kb(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:w,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Lb(a,b){return((a=a.x)[0]<0?a[1]-Qg-Lg:Qg-a[1])-((b=b.x)[0]<0?b[1]-Qg-Lg:Qg-b[1])}function Mb(a){var b,c=NaN,d=NaN,e=NaN;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Ng:-Ng,i=ug(f-c);ug(i-Ng)<Lg?(a.point(c,d=(d+g)/2>0?Qg:-Qg),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Ng&&(ug(c-e)<Lg&&(c-=e*Lg),ug(f-h)<Lg&&(f-=h*Lg),d=Nb(c,d,f,g),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),b=0),a.point(c=f,d=g),e=h},lineEnd:function(){a.lineEnd(),c=d=NaN},clean:function(){return 2-b}}}function Nb(a,b,c,d){var e,f,g=Math.sin(a-c);return ug(g)>Lg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Ob(a,b,c,d){var e;if(null==a)e=c*Qg,d.point(-Ng,e),d.point(0,e),d.point(Ng,e),d.point(Ng,0),d.point(Ng,-e),d.point(0,-e),d.point(-Ng,-e),d.point(-Ng,0),d.point(-Ng,e);else if(ug(a[0]-b[0])>Lg){var f=a[0]<b[0]?Ng:-Ng;e=c*f/2,d.point(-f,e),d.point(0,e),d.point(f,e)}else d.point(b[0],b[1])}function Pb(a,b){var c=a[0],d=a[1],e=[Math.sin(c),-Math.cos(c),0],f=0,g=0;zh.reset();for(var h=0,i=b.length;h<i;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Ng/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Ng/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Ng,z=o*t;if(zh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Og:v,y^m>=c^r>=c){var A=sb(qb(l),qb(a));vb(A);var B=sb(e,A);vb(B);var C=(y^v>=0?-1:1)*ca(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(f<-Lg||f<Lg&&zh<-Lg)^1&g}function Qb(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(l<0?Ng:-Ng),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(xb(c,n)||xb(o,n))&&(o[0]+=Lg,o[1]+=Lg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&xb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=qb(a),e=qb(b),g=[1,0,0],h=sb(d,e),i=rb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=sb(g,h),o=ub(g,l),p=ub(h,m);tb(o,p);var q=n,r=rb(o,q),s=rb(q,q),t=r*r-s*(rb(o,o)-1);if(!(t<0)){var u=Math.sqrt(t),v=ub(q,(-r-u)/s);if(tb(v,o),v=wb(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];y<x&&(w=x,x=y,y=w);var B=y-x,C=ug(B-Ng)<Lg,D=C||B<Lg;if(!C&&A<z&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(ug(v[0]-x)<Lg?z:A):z<=v[1]&&v[1]<=A:B>Ng^(x<=v[0]&&v[0]<=y)){var E=ub(q,(-r+u)/s);return tb(E,o),[v,wb(E)]}}}function e(b,c){var d=g?a:Ng-a,e=0;return b<-d?e|=1:b>d&&(e|=2),c<-d?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=ug(f)>Lg,i=pc(a,6*Rg);return Ib(b,c,i,g?[0,-a]:[-Ng,a-Ng])}function Rb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,o<0){if(f<m)return;f<n&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(f<0)){if(f/=o,o<0){if(f>n)return;f>m&&(m=f)}else if(o>0){if(f<m)return;f<n&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,p<0){if(f<m)return;f<n&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(f<0)){if(f/=p,p<0){if(f>n)return;f>m&&(m=f)}else if(p>0){if(f<m)return;f<n&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),n<1&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Sb(a,b,c,d){function e(d,e){return ug(d[0]-a)<Lg?e>0?0:3:ug(d[0]-c)<Lg?e>0?2:1:ug(d[1]-b)<Lg?e>0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;e<c;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];g<i;++g)f=h[g],j[1]<=d?f[1]>d&&aa(j,f,a)>0&&++b:f[1]<=d&&aa(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return a<=e&&e<=c&&b<=f&&f<=d}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Oh,Math.min(Oh,a)),b=Math.max(-Oh,Math.min(Oh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Kb(),C=Rb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){
h=A,p=ig.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Fb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Tb(a){var b=0,c=Ng/3,d=hc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Ng/180,c=a[1]*Ng/180):[b/Ng*180,c/Ng*180]},e}function Ub(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ca((f-(a*a+c*c)*e*e)/(2*e))]},c}function Vb(){function a(a,b){Qh+=e*a-d*b,d=a,e=b}var b,c,d,e;Vh.point=function(f,g){Vh.point=a,b=d=f,c=e=g},Vh.lineEnd=function(){a(b,c)}}function Wb(a,b){a<Rh&&(Rh=a),a>Th&&(Th=a),b<Sh&&(Sh=b),b>Uh&&(Uh=b)}function Xb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Yb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Yb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Yb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Zb(a,b){Dh+=a,Eh+=b,++Fh}function $b(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);Gh+=g*(b+a)/2,Hh+=g*(c+d)/2,Ih+=g,Zb(b=a,c=d)}var b,c;Xh.point=function(d,e){Xh.point=a,Zb(b=d,c=e)}}function _b(){Xh.point=Zb}function ac(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);Gh+=g*(d+a)/2,Hh+=g*(e+b)/2,Ih+=g,g=e*a-d*b,Jh+=g*(d+a),Kh+=g*(e+b),Lh+=3*g,Zb(d=a,e=b)}var b,c,d,e;Xh.point=function(f,g){Xh.point=a,Zb(b=d=f,c=e=g)},Xh.lineEnd=function(){a(b,c)}}function bc(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Og)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:w};return h}function cc(a){function b(a){return(h?d:c)(a)}function c(b){return fc(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=qb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=ug(ug(x)-1)<Lg||ug(d-m)<Lg?(d+m)/2:Math.atan2(w,v),B=a(A,z),C=B[0],D=B[1],E=C-b,F=D-c,G=t*E-s*F;(G*G/u>f||ug((s*E+t*F)/u-.5)>.3||h*n+i*o+j*p<g)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Rg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function dc(a){var b=cc(function(b,c){return a([b*Sg,c*Sg])});return function(a){return ic(b(a))}}function ec(a){this.stream=a}function fc(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function gc(a){return hc(function(){return a})()}function hc(a){function b(a){return a=h(a[0]*Rg,a[1]*Rg),[a[0]*m+i,j-a[1]*m]}function c(a){return a=h.invert((a[0]-i)/m,(j-a[1])/m),a&&[a[0]*Sg,a[1]*Sg]}function d(){h=Db(g=lc(r,s,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=cc(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,s=0,u=0,v=Nh,w=t,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=ic(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Nh):Qb((x=+a)*Rg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Sb(a[0][0],a[0][1],a[1][0],a[1][1]):t,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Rg,q=a[1]%360*Rg,d()):[p*Sg,q*Sg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Rg,s=a[1]%360*Rg,u=a.length>2?a[2]%360*Rg:0,d()):[r*Sg,s*Sg,u*Sg]},ig.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function ic(a){return fc(a,function(b,c){a.point(b*Rg,c*Rg)})}function jc(a,b){return[a,b]}function kc(a,b){return[a>Ng?a-Og:a<-Ng?a+Og:a,b]}function lc(a,b,c){return a?b||c?Db(nc(a),oc(b,c)):nc(a):b||c?oc(b,c):kc}function mc(a){return function(b,c){return b+=a,[b>Ng?b-Og:b<-Ng?b+Og:b,c]}}function nc(a){var b=mc(a);return b.invert=mc(-a),b}function oc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ca(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ca(k*d-h*e)]},c}function pc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=qc(c,e),f=qc(c,f),(g>0?e<f:e>f)&&(e+=g*Og)):(e=a+g*Og,f=a-.5*i);for(var j,k=e;g>0?k>f:k<f;k-=i)h.point((j=wb([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function qc(a,b){var c=qb(b);c[0]-=a,vb(c);var d=ba(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Lg)%(2*Math.PI)}function rc(a,b,c){var d=ig.range(a,b-Lg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function sc(a,b,c){var d=ig.range(a,b-Lg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function tc(a){return a.source}function uc(a){return a.target}function vc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(ga(d-b)+e*g*ga(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Sg,Math.atan2(g,Math.sqrt(d*d+e*e))*Sg]}:function(){return[a*Sg,b*Sg]};return o.distance=m,o}function wc(){function a(a,e){var f=Math.sin(e*=Rg),g=Math.cos(e),h=ug((a*=Rg)-b),i=Math.cos(h);Yh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Zh.point=function(e,f){b=e*Rg,c=Math.sin(f*=Rg),d=Math.cos(f),Zh.point=a},Zh.lineEnd=function(){Zh.point=Zh.lineEnd=w}}function xc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function yc(a,b){function c(a,b){g>0?b<-Qg+Lg&&(b=-Qg+Lg):b>Qg-Lg&&(b=Qg-Lg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Ng/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=_(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Qg]},c):Ac}function zc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return ug(e)<Lg?jc:(c.invert=function(a,b){var c=f-b;return[Math.atan2(a,c)/e,f-_(e)*Math.sqrt(a*a+c*c)]},c)}function Ac(a,b){return[a,Math.log(Math.tan(Ng/4+b/2))]}function Bc(a){var b,c=gc(a),d=c.scale,e=c.translate,f=c.clipExtent;return c.scale=function(){var a=d.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.translate=function(){var a=e.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.clipExtent=function(a){var g=f.apply(c,arguments);if(g===c){if(b=null==a){var h=Ng*d(),i=e();f([[i[0]-h,i[1]-h],[i[0]+h,i[1]+h]])}}else b&&(g=null);return g},c.clipExtent(null)}function Cc(a,b){return[Math.log(Math.tan(Ng/4+b/2)),-a]}function Dc(a){return a[0]}function Ec(a){return a[1]}function Fc(a){for(var b=a.length,c=[0,1],d=2,e=2;e<b;e++){for(;d>1&&aa(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Gc(a,b){return a[0]-b[0]||a[1]-b[1]}function Hc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Ic(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Jc(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Kc(){dd(this),this.edge=this.site=this.circle=null}function Lc(a){var b=ji.pop()||new Kc;return b.site=a,b}function Mc(a){Wc(a),gi.remove(a),ji.push(a),dd(a)}function Nc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Mc(a);for(var i=f;i.circle&&ug(c-i.circle.x)<Lg&&ug(d-i.circle.cy)<Lg;)f=i.P,h.unshift(i),Mc(i),i=f;h.unshift(i),Wc(i);for(var j=g;j.circle&&ug(c-j.circle.x)<Lg&&ug(d-j.circle.cy)<Lg;)g=j.N,h.push(j),Mc(j),j=g;h.push(j),Wc(j);var k,l=h.length;for(k=1;k<l;++k)j=h[k],i=h[k-1],ad(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=$c(i.site,j.site,null,e),Vc(i),Vc(j)}function Oc(a){for(var b,c,d,e,f=a.x,g=a.y,h=gi._;h;)if(d=Pc(h,g)-f,d>Lg)h=h.L;else{if(e=f-Qc(h,g),!(e>Lg)){d>-Lg?(b=h.P,c=h):e>-Lg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Lc(a);if(gi.insert(b,i),b||c){if(b===c)return Wc(b),c=Lc(b.site),gi.insert(i,c),i.edge=c.edge=$c(b.site,i.site),Vc(b),void Vc(c);if(!c)return void(i.edge=$c(b.site,i.site));Wc(b),Wc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};ad(c.edge,j,o,u),i.edge=$c(j,a,null,u),c.edge=$c(a,o,null,u),Vc(b),Vc(c)}}function Pc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Qc(a,b){var c=a.N;if(c)return Pc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Rc(a){this.site=a,this.edges=[]}function Sc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=fi,q=p.length;q--;)if(f=p[q],f&&f.prepare())for(h=f.edges,i=h.length,g=0;g<i;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(ug(d-b)>Lg||ug(e-c)>Lg)&&(h.splice(g,0,new bd(_c(f.site,k,ug(d-l)<Lg&&o-e>Lg?{x:l,y:ug(b-l)<Lg?c:o}:ug(e-o)<Lg&&m-d>Lg?{x:ug(c-o)<Lg?b:m,y:o}:ug(d-m)<Lg&&e-n>Lg?{x:m,y:ug(b-m)<Lg?c:n}:ug(e-n)<Lg&&d-l>Lg?{x:ug(c-n)<Lg?b:l,y:n}:null),f.site,null)),++i)}function Tc(a,b){return b.angle-a.angle}function Uc(){dd(this),this.x=this.y=this.arc=this.site=this.cy=null}function Vc(a){var b=a.P,c=a.N;if(b&&c){var d=b.site,e=a.site,f=c.site;if(d!==f){var g=e.x,h=e.y,i=d.x-g,j=d.y-h,k=f.x-g,l=f.y-h,m=2*(i*l-j*k);if(!(m>=-Mg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=ki.pop()||new Uc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=ii._;t;)if(r.y<t.y||r.y===t.y&&r.x<=t.x){if(!t.L){s=t.P;break}t=t.L}else{if(!t.R){s=t;break}t=t.R}ii.insert(s,r),s||(hi=r)}}}}function Wc(a){var b=a.circle;b&&(b.P||(hi=b.N),ii.remove(b),ki.push(b),dd(b),a.circle=null)}function Xc(a){for(var b,c=ei,d=Rb(a[0][0],a[0][1],a[1][0],a[1][1]),e=c.length;e--;)b=c[e],(!Yc(b,a)||!d(b)||ug(b.a.x-b.b.x)<Lg&&ug(b.a.y-b.b.y)<Lg)&&(b.a=b.b=null,c.splice(e,1))}function Yc(a,b){var c=a.b;if(c)return!0;var d,e,f=a.a,g=b[0][0],h=b[1][0],i=b[0][1],j=b[1][1],k=a.l,l=a.r,m=k.x,n=k.y,o=l.x,p=l.y,q=(m+o)/2,r=(n+p)/2;if(p===n){if(q<g||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.y<i)return}else f={x:q,y:j};c={x:q,y:i}}}else if(d=(m-o)/(p-n),e=r-d*q,d<-1||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.y<i)return}else f={x:(j-e)/d,y:j};c={x:(i-e)/d,y:i}}else if(n<p){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.x<g)return}else f={x:h,y:d*h+e};c={x:g,y:d*g+e}}return a.a=f,a.b=c,!0}function Zc(a,b){this.l=a,this.r=b,this.a=this.b=null}function $c(a,b,c,d){var e=new Zc(a,b);return ei.push(e),c&&ad(e,a,b,c),d&&ad(e,b,a,d),fi[a.i].edges.push(new bd(e,a,b)),fi[b.i].edges.push(new bd(e,b,a)),e}function _c(a,b,c){var d=new Zc(a,null);return d.a=b,d.b=c,ei.push(d),d}function ad(a,b,c,d){a.a||a.b?a.l===c?a.b=d:a.a=d:(a.a=d,a.l=b,a.r=c)}function bd(a,b,c){var d=a.a,e=a.b;this.edge=a,this.site=b,this.angle=c?Math.atan2(c.y-b.y,c.x-b.x):a.l===b?Math.atan2(e.x-d.x,d.y-e.y):Math.atan2(d.x-e.x,e.y-d.y)}function cd(){this._=null}function dd(a){a.U=a.C=a.L=a.R=a.P=a.N=null}function ed(a,b){var c=b,d=b.R,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.R=d.L,c.R&&(c.R.U=c),d.L=c}function fd(a,b){var c=b,d=b.L,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.L=d.R,c.L&&(c.L.U=c),d.R=c}function gd(a){for(;a.L;)a=a.L;return a}function hd(a,b){var c,d,e,f=a.sort(id).pop();for(ei=[],fi=new Array(a.length),gi=new cd,ii=new cd;;)if(e=hi,f&&(!e||f.y<e.y||f.y===e.y&&f.x<e.x))f.x===c&&f.y===d||(fi[f.i]=new Rc(f),Oc(f),c=f.x,d=f.y),f=a.pop();else{if(!e)break;Nc(e.arc)}b&&(Xc(b),Sc(b));var g={cells:fi,edges:ei};return gi=ii=ei=fi=null,g}function id(a,b){return b.y-a.y||b.x-a.x}function jd(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}function kd(a){return a.x}function ld(a){return a.y}function md(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function nd(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=.5*(c+e),h=.5*(d+f),i=b.nodes;i[0]&&nd(a,i[0],c,d,g,h),i[1]&&nd(a,i[1],g,d,e,h),i[2]&&nd(a,i[2],c,h,g,f),i[3]&&nd(a,i[3],g,h,e,f)}}function od(a,b,c,d,e,f,g){var h,i=1/0;return function j(a,k,l,m,n){if(!(k>f||l>g||m<d||n<e)){if(o=a.point){var o,p=b-a.x,q=c-a.y,r=p*p+q*q;if(r<i){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=a.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;y<z;++y)if(a=t[3&y])switch(3&y){case 0:j(a,k,l,u,v);break;case 1:j(a,u,l,m,v);break;case 2:j(a,k,v,u,n);break;case 3:j(a,u,v,m,n)}}}(a,d,e,f,g),h}function pd(a,b){a=ig.rgb(a),b=ig.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+va(Math.round(c+f*a))+va(Math.round(d+g*a))+va(Math.round(e+h*a))}}function qd(a,b){var c,d={},e={};for(c in a)c in b?d[c]=td(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function rd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function sd(a,b){var c,d,e,f=mi.lastIndex=ni.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=mi.exec(a))&&(d=ni.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:rd(c,d)})),f=ni.lastIndex;return f<b.length&&(e=b.slice(f),h[g]?h[g]+=e:h[++g]=e),h.length<2?i[0]?(b=i[0].x,function(a){return b(a)+""}):function(){return b}:(b=i.length,function(a){for(var c,d=0;d<b;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function td(a,b){for(var c,d=ig.interpolators.length;--d>=0&&!(c=ig.interpolators[d](a,b)););return c}function ud(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;c<h;++c)d.push(td(a[c],b[c]));for(;c<f;++c)e[c]=a[c];for(;c<g;++c)e[c]=b[c];return function(a){for(c=0;c<h;++c)e[c]=d[c](a);return e}}function vd(a){return function(b){return b<=0?0:b>=1?1:a(b)}}function wd(a){return function(b){return 1-a(1-b)}}function xd(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function yd(a){return a*a}function zd(a){return a*a*a}function Ad(a){if(a<=0)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(a<.5?c:3*(a-b)+c-.75)}function Bd(a){return function(b){return Math.pow(b,a)}}function Cd(a){return 1-Math.cos(a*Qg)}function Dd(a){return Math.pow(2,10*(a-1))}function Ed(a){return 1-Math.sqrt(1-a*a)}function Fd(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Og*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Og/b)}}function Gd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Hd(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Id(a,b){a=ig.hcl(a),b=ig.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return la(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){a=ig.hsl(a),b=ig.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ja(c+f*a,d+g*a,e+h*a)+""}}function Kd(a,b){a=ig.lab(a),b=ig.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return na(c+f*a,d+g*a,e+h*a)+""}}function Ld(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Md(a){var b=[a.a,a.b],c=[a.c,a.d],d=Od(b),e=Nd(b,c),f=Od(Pd(c,b,-e))||0;b[0]*c[1]<c[0]*b[1]&&(b[0]*=-1,b[1]*=-1,d*=-1,e*=-1),this.rotate=(d?Math.atan2(b[1],b[0]):Math.atan2(-c[0],c[1]))*Sg,this.translate=[a.e,a.f],this.scale=[d,f],this.skew=f?Math.atan2(e,f)*Sg:0}function Nd(a,b){return a[0]*b[0]+a[1]*b[1]}function Od(a){var b=Math.sqrt(Nd(a,a));return b&&(a[0]/=b,a[1]/=b),b}function Pd(a,b,c){return a[0]+=c*b[0],a[1]+=c*b[1],a}function Qd(a){return a.length?a.pop()+",":""}function Rd(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push("translate(",null,",",null,")");d.push({i:e-4,x:rd(a[0],b[0])},{i:e-2,x:rd(a[1],b[1])})}else(b[0]||b[1])&&c.push("translate("+b+")")}function Sd(a,b,c,d){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),d.push({i:c.push(Qd(c)+"rotate(",null,")")-2,x:rd(a,b)})):b&&c.push(Qd(c)+"rotate("+b+")")}function Td(a,b,c,d){a!==b?d.push({i:c.push(Qd(c)+"skewX(",null,")")-2,x:rd(a,b)}):b&&c.push(Qd(c)+"skewX("+b+")")}function Ud(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push(Qd(c)+"scale(",null,",",null,")");d.push({i:e-4,x:rd(a[0],b[0])},{i:e-2,x:rd(a[1],b[1])})}else 1===b[0]&&1===b[1]||c.push(Qd(c)+"scale("+b+")")}function Vd(a,b){var c=[],d=[];return a=ig.transform(a),b=ig.transform(b),Rd(a.translate,b.translate,c,d),Sd(a.rotate,b.rotate,c,d),Td(a.skew,b.skew,c,d),Ud(a.scale,b.scale,c,d),a=b=null,function(a){for(var b,e=-1,f=d.length;++e<f;)c[(b=d[e]).i]=b.x(a);return c.join("")}}function Wd(a,b){return b=(b-=a=+a)||1/b,function(c){return(c-a)/b}}function Xd(a,b){return b=(b-=a=+a)||1/b,function(c){return Math.max(0,Math.min(1,(c-a)/b))}}function Yd(a){for(var b=a.source,c=a.target,d=$d(b,c),e=[b];b!==d;)b=b.parent,e.push(b);for(var f=e.length;c!==d;)e.splice(f,0,c),c=c.parent;return e}function Zd(a){for(var b=[],c=a.parent;null!=c;)b.push(a),a=c,c=c.parent;return b.push(a),b}function $d(a,b){if(a===b)return a;for(var c=Zd(a),d=Zd(b),e=c.pop(),f=d.pop(),g=null;e===f;)g=e,e=c.pop(),f=d.pop();return g}function _d(a){a.fixed|=2}function ae(a){a.fixed&=-7}function be(a){a.fixed|=4,a.px=a.x,a.py=a.y}function ce(a){a.fixed&=-5}function de(a,b,c){var d=0,e=0;if(a.charge=0,!a.leaf)for(var f,g=a.nodes,h=g.length,i=-1;++i<h;)f=g[i],null!=f&&(de(f,b,c),a.charge+=f.charge,d+=f.charge*f.cx,e+=f.charge*f.cy);if(a.point){a.leaf||(a.point.x+=Math.random()-.5,a.point.y+=Math.random()-.5);var j=b*c[a.point.index];a.charge+=a.pointCharge=j,d+=j*a.point.x,e+=j*a.point.y}a.cx=d/a.charge,a.cy=e/a.charge}function ee(a,b){return ig.rebind(a,b,"sort","children","value"),a.nodes=a,a.links=ke,a}function fe(a,b){for(var c=[a];null!=(a=c.pop());)if(b(a),(e=a.children)&&(d=e.length))for(var d,e;--d>=0;)c.push(e[d])}function ge(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++g<e;)c.push(f[g]);for(;null!=(a=d.pop());)b(a)}function he(a){return a.children}function ie(a){return a.value}function je(a,b){return b.value-a.value}function ke(a){return ig.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function le(a){return a.x}function me(a){return a.y}function ne(a,b,c){a.y0=b,a.y=c}function oe(a){return ig.range(a.length)}function pe(a){for(var b=-1,c=a[0].length,d=[];++b<c;)d[b]=0;return d}function qe(a){for(var b,c=1,d=0,e=a[0][1],f=a.length;c<f;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function re(a){return a.reduce(se,0)}function se(a,b){return a+b[1]}function te(a,b){return ue(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ue(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function ve(a){return[ig.min(a),ig.max(a)]}function we(a,b){return a.value-b.value}function xe(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function ye(a,b){a._pack_next=b,b._pack_prev=a}function ze(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function Ae(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(Be),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],Ee(d,e,f),b(f),xe(d,f),d._pack_prev=f,xe(f,e),e=d._pack_next,g=3;g<j;g++){Ee(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(ze(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!ze(i,f);i=i._pack_prev,q++);o?(p<q||p==q&&e.r<d.r?ye(d,e=h):ye(d=i,e),g--):(xe(d,f),e=f,b(f))}var r=(k+l)/2,s=(m+n)/2,t=0;for(g=0;g<j;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(Ce)}}function Be(a){a._pack_next=a._pack_prev=a}function Ce(a){delete a._pack_next,delete a._pack_prev}function De(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f<g;)De(e[f],b,c,d)}function Ee(a,b,c){var d=a.r+c.r,e=b.x-a.x,f=b.y-a.y;if(d&&(e||f)){var g=b.r+c.r,h=e*e+f*f;g*=g,d*=d;var i=.5+(d-g)/(2*h),j=Math.sqrt(Math.max(0,2*g*(d+h)-(d-=h)*d-g*g))/(2*h);c.x=a.x+i*e+j*f,c.y=a.y+i*f-j*e}else c.x=a.x+d,c.y=a.y}function Fe(a,b){return a.parent==b.parent?1:2}function Ge(a){var b=a.children;return b.length?b[0]:a.t}function He(a){var b,c=a.children;return(b=c.length)?c[b-1]:a.t}function Ie(a,b,c){var d=c/(b.i-a.i);b.c-=d,b.s+=c,a.c+=d,b.z+=c,b.m+=c}function Je(a){for(var b,c=0,d=0,e=a.children,f=e.length;--f>=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function Ke(a,b,c){return a.a.parent===b.parent?a.a:c}function Le(a){return 1+ig.max(a,function(a){return a.y})}function Me(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Ne(a){var b=a.children;return b&&b.length?Ne(b[0]):a}function Oe(a){var b,c=a.children;return c&&(b=c.length)?Oe(c[b-1]):a}function Pe(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Qe(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Re(a){var b=a[0],c=a[a.length-1];return b<c?[b,c]:[c,b]}function Se(a){return a.rangeExtent?a.rangeExtent():Re(a.range())}function Te(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Ue(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return g<f&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Ve(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:yi}function We(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());++g<=h;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=ig.bisect(a,b,1,h)-1;return f[c](e[c](b))}}function Xe(a,b,c,d){function e(){var e=Math.min(a.length,b.length)>2?We:Te,i=d?Xd:Wd;return g=e(a,b,i,c),h=e(b,a,i,td),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Ld)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return _e(a,b)},f.tickFormat=function(b,c){return af(a,b,c)},f.nice=function(b){return Ze(a,b),e()},f.copy=function(){return Xe(a,b,c,d)},e()}function Ye(a,b){return ig.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Ze(a,b){return Ue(a,Ve($e(a,b)[2])),Ue(a,Ve($e(a,b)[2])),a}function $e(a,b){null==b&&(b=10);var c=Re(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function _e(a,b){return ig.range.apply(ig,$e(a,b))}function af(a,b,c){var d=$e(a,b);if(c){var e=mh.exec(c);if(e.shift(),"s"===e[8]){var f=ig.formatPrefix(Math.max(ug(d[0]),ug(d[1])));return e[7]||(e[7]="."+bf(f.scale(d[2]))),e[8]="f",c=ig.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+cf(e[8],d)),c=e.join("")}else c=",."+bf(d[2])+"f";return ig.format(c)}function bf(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function cf(a,b){var c=bf(b[2]);return a in zi?Math.abs(c-bf(Math.max(ug(b[0]),ug(b[1]))))+ +("e"!==a):c-2*("%"===a)}function df(a,b,c,d){function e(a){return(c?Math.log(a<0?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Ue(d.map(e),c?Math:Bi);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Re(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;j<k;j++)for(var m=1;m<l;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++<k;)for(var m=l-1;m>0;m--)g.push(f(j)*m);for(j=0;g[j]<h;j++);for(k=g.length;g[k-1]>i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,c){if(!arguments.length)return Ai;arguments.length<2?c=Ai:"function"!=typeof c&&(c=ig.format(c));var d=Math.max(1,b*a/g.ticks().length);return function(a){var g=a/f(Math.round(e(a)));return g*b<b-.5&&(g*=b),g<=d?c(a):""}},g.copy=function(){return df(a.copy(),b,c,d)},Ye(g,a)}function ef(a,b,c){function d(b){return a(e(b))}var e=ff(b),f=ff(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return _e(c,a)},d.tickFormat=function(a,b){return af(c,a,b)},d.nice=function(a){return d.domain(Ze(c,a))},d.exponent=function(g){return arguments.length?(e=ff(b=g),f=ff(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return ef(a.copy(),b,c)},Ye(d,a)}function ff(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function gf(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return ig.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new k;for(var f,g=-1,h=d.length;++g<h;)e.has(f=d[g])||e.set(f,a.push(f));return c[b.t].apply(c,b.a)},c.range=function(a){return arguments.length?(f=a,g=0,b={t:"range",a:arguments},c):f},c.rangePoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=(i+j)/2,0):(j-i)/(a.length-1+h);return f=d(i+k*h/2,k),g=0,b={t:"rangePoints",a:arguments},c},c.rangeRoundPoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=j=Math.round((i+j)/2),0):(j-i)/(a.length-1+h)|0;return f=d(i+Math.round(k*h/2+(j-i-(a.length-1+h)*k)/2),k),g=0,b={t:"rangeRoundPoints",a:arguments},c},c.rangeBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=(l-k)/(a.length-h+2*i);return f=d(k+m*i,m),j&&f.reverse(),g=m*(1-h),b={t:"rangeBands",a:arguments},c},c.rangeRoundBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=Math.floor((l-k)/(a.length-h+2*i));return f=d(k+Math.round((l-k-(a.length-h)*m)/2),m),j&&f.reverse(),g=Math.round(m*(1-h)),b={t:"rangeRoundBands",a:arguments},c},c.rangeBand=function(){return g},c.rangeExtent=function(){return Re(b.a[0])},c.copy=function(){return gf(a,b)},c.domain(a)}function hf(a,b){function c(){var c=0,d=b.length;for(h=[];++c<d;)h[c-1]=ig.quantile(a,c/d);return g}function g(a){if(!isNaN(a=+a))return b[ig.bisect(h,a)]}var h;return g.domain=function(b){return arguments.length?(a=b.map(e).filter(f).sort(d),c()):a},g.range=function(a){return arguments.length?(b=a,c()):b},g.quantiles=function(){return h},g.invertExtent=function(c){return c=b.indexOf(c),c<0?[NaN,NaN]:[c>0?h[c-1]:a[0],c<h.length?h[c]:a[a.length-1]]},g.copy=function(){return hf(a,b)},c()}function jf(a,b,c){function d(b){return c[Math.max(0,Math.min(g,Math.floor(f*(b-a))))]}function e(){return f=c.length/(b-a),g=c.length-1,d}var f,g;return d.domain=function(c){return arguments.length?(a=+c[0],b=+c[c.length-1],e()):[a,b]},d.range=function(a){return arguments.length?(c=a,e()):c},d.invertExtent=function(b){return b=c.indexOf(b),b=b<0?NaN:b/f+a,[b,b+1/f]},d.copy=function(){return jf(a,b,c)},e()}function kf(a,b){function c(c){if(c<=c)return b[ig.bisect(a,c)]}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return kf(a,b)},c}function lf(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return _e(a,b)},b.tickFormat=function(b,c){return af(a,b,c)},b.copy=function(){return lf(a)},b}function mf(){return 0}function nf(a){return a.innerRadius}function of(a){return a.outerRadius}function pf(a){return a.startAngle}function qf(a){return a.endAngle}function rf(a){return a&&a.padAngle}function sf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function tf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(r<0?-1:1)*Math.sqrt(Math.max(0,t*t*s-u*u)),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function uf(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Ba(c),o=Ba(d);++l<m;)e.call(this,i=b[l],l)?k.push([+n.call(this,i,l),+o.call(this,i,l)]):k.length&&(g(),k=[]);return k.length&&g(),j.length?j.join(""):null}var c=Dc,d=Ec,e=Eb,f=vf,g=f.key,h=.7;return b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b.defined=function(a){return arguments.length?(e=a,b):e},b.interpolate=function(a){return arguments.length?(g="function"==typeof a?f=a:(f=Hi.get(a)||vf).key,b):g},b.tension=function(a){return arguments.length?(h=a,b):h},b}function vf(a){return a.length>1?a.join("L"):a+"Z"}function wf(a){return a.join("L")+"Z"}function xf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d[0]+(d=a[b])[0])/2,"V",d[1]);return c>1&&e.push("H",d[0]),e.join("")}function yf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("V",(d=a[b])[1],"H",d[0]);return e.join("")}function zf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d=a[b])[0],"V",d[1]);return e.join("")}function Af(a,b){return a.length<4?vf(a):a[1]+Df(a.slice(1,-1),Ef(a,b))}function Bf(a,b){return a.length<3?wf(a):a[0]+Df((a.push(a[0]),a),Ef([a[a.length-2]].concat(a,[a[1]]),b))}function Cf(a,b){return a.length<3?vf(a):a[0]+Df(a,Ef(a,b));
}function Df(a,b){if(b.length<1||a.length!=b.length&&a.length!=b.length+2)return vf(a);var c=a.length!=b.length,d="",e=a[0],f=a[1],g=b[0],h=g,i=1;if(c&&(d+="Q"+(f[0]-2*g[0]/3)+","+(f[1]-2*g[1]/3)+","+f[0]+","+f[1],e=a[1],i=2),b.length>1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j<b.length;j++,i++)f=a[i],h=b[j],d+="S"+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1]}if(c){var k=a[i];d+="Q"+(f[0]+2*h[0]/3)+","+(f[1]+2*h[1]/3)+","+k[0]+","+k[1]}return d}function Ef(a,b){for(var c,d=[],e=(1-b)/2,f=a[0],g=a[1],h=1,i=a.length;++h<i;)c=f,f=g,g=a[h],d.push([e*(g[0]-c[0]),e*(g[1]-c[1])]);return d}function Ff(a){if(a.length<3)return vf(a);var b=1,c=a.length,d=a[0],e=d[0],f=d[1],g=[e,e,e,(d=a[1])[0]],h=[f,f,f,d[1]],i=[e,",",f,"L",Jf(Ki,g),",",Jf(Ki,h)];for(a.push(a[c-1]);++b<=c;)d=a[b],g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),Kf(i,g,h);return a.pop(),i.push("L",d),i.join("")}function Gf(a){if(a.length<4)return vf(a);for(var b,c=[],d=-1,e=a.length,f=[0],g=[0];++d<3;)b=a[d],f.push(b[0]),g.push(b[1]);for(c.push(Jf(Ki,f)+","+Jf(Ki,g)),--d;++d<e;)b=a[d],f.shift(),f.push(b[0]),g.shift(),g.push(b[1]),Kf(c,f,g);return c.join("")}function Hf(a){for(var b,c,d=-1,e=a.length,f=e+4,g=[],h=[];++d<4;)c=a[d%e],g.push(c[0]),h.push(c[1]);for(b=[Jf(Ki,g),",",Jf(Ki,h)],--d;++d<f;)c=a[d%e],g.shift(),g.push(c[0]),h.shift(),h.push(c[1]),Kf(b,g,h);return b.join("")}function If(a,b){var c=a.length-1;if(c)for(var d,e,f=a[0][0],g=a[0][1],h=a[c][0]-f,i=a[c][1]-g,j=-1;++j<=c;)d=a[j],e=j/c,d[0]=b*d[0]+(1-b)*(f+e*h),d[1]=b*d[1]+(1-b)*(g+e*i);return Ff(a)}function Jf(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function Kf(a,b,c){a.push("C",Jf(Ii,b),",",Jf(Ii,c),",",Jf(Ji,b),",",Jf(Ji,c),",",Jf(Ki,b),",",Jf(Ki,c))}function Lf(a,b){return(b[1]-a[1])/(b[0]-a[0])}function Mf(a){for(var b=0,c=a.length-1,d=[],e=a[0],f=a[1],g=d[0]=Lf(e,f);++b<c;)d[b]=(g+(g=Lf(e=f,f=a[b+1])))/2;return d[b]=g,d}function Nf(a){for(var b,c,d,e,f=[],g=Mf(a),h=-1,i=a.length-1;++h<i;)b=Lf(a[h],a[h+1]),ug(b)<Lg?g[h]=g[h+1]=0:(c=g[h]/b,d=g[h+1]/b,e=c*c+d*d,e>9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function Of(a){return a.length<3?vf(a):a[0]+Df(a,Nf(a))}function Pf(a){for(var b,c,d,e=-1,f=a.length;++e<f;)b=a[e],c=b[0],d=b[1]-Qg,b[0]=c*Math.cos(d),b[1]=c*Math.sin(d);return a}function Qf(a){function b(b){function i(){p.push("M",h(a(r),l),k,j(a(q.reverse()),l),"Z")}for(var m,n,o,p=[],q=[],r=[],s=-1,t=b.length,u=Ba(c),v=Ba(e),w=c===d?function(){return n}:Ba(d),x=e===f?function(){return o}:Ba(f);++s<t;)g.call(this,m=b[s],s)?(q.push([n=+u.call(this,m,s),o=+v.call(this,m,s)]),r.push([+w.call(this,m,s),+x.call(this,m,s)])):q.length&&(i(),q=[],r=[]);return q.length&&i(),p.length?p.join(""):null}var c=Dc,d=Dc,e=0,f=Ec,g=Eb,h=vf,i=h.key,j=h,k="L",l=.7;return b.x=function(a){return arguments.length?(c=d=a,b):d},b.x0=function(a){return arguments.length?(c=a,b):c},b.x1=function(a){return arguments.length?(d=a,b):d},b.y=function(a){return arguments.length?(e=f=a,b):f},b.y0=function(a){return arguments.length?(e=a,b):e},b.y1=function(a){return arguments.length?(f=a,b):f},b.defined=function(a){return arguments.length?(g=a,b):g},b.interpolate=function(a){return arguments.length?(i="function"==typeof a?h=a:(h=Hi.get(a)||vf).key,j=h.reverse||h,k=h.closed?"M":"L",b):i},b.tension=function(a){return arguments.length?(l=a,b):l},b}function Rf(a){return a.radius}function Sf(a){return[a.x,a.y]}function Tf(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]-Qg;return[c*Math.cos(d),c*Math.sin(d)]}}function Uf(){return 64}function Vf(){return"circle"}function Wf(a){var b=Math.sqrt(a/Ng);return"M0,"+b+"A"+b+","+b+" 0 1,1 0,"+-b+"A"+b+","+b+" 0 1,1 0,"+b+"Z"}function Xf(a){return function(){var b,c,d;(b=this[a])&&(d=b[c=b.active])&&(d.timer.c=null,d.timer.t=NaN,--b.count?delete b[c]:delete this[a],b.active+=.5,d.event&&d.event.interrupt.call(this,this.__data__,d.index))}}function Yf(a,b,c){return zg(a,Ri),a.namespace=b,a.id=c,a}function Zf(a,b,c,d){var e=a.id,f=a.namespace;return S(a,"function"==typeof c?function(a,g,h){a[f][e].tween.set(b,d(c.call(a,a.__data__,g,h)))}:(c=d(c),function(a){a[f][e].tween.set(b,c)}))}function $f(a){return null==a&&(a=""),function(){this.textContent=a}}function _f(a){return null==a?"__transition__":"__transition_"+a+"__"}function ag(a,b,c,d,e){function f(a){var b=p.delay;return j.t=b+i,b<=a?g(a-b):void(j.c=g)}function g(c){var e=o.active,f=o[e];f&&(f.timer.c=null,f.timer.t=NaN,--o.count,delete o[e],f.event&&f.event.interrupt.call(a,a.__data__,f.index));for(var g in o)if(+g<d){var k=o[g];k.timer.c=null,k.timer.t=NaN,--o.count,delete o[g]}j.c=h,Ga(function(){return j.c&&h(c||1)&&(j.c=null,j.t=NaN),1},0,i),o.active=d,p.event&&p.event.start.call(a,a.__data__,b),n=[],p.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&n.push(d)}),m=p.ease,l=p.duration}function h(e){for(var f=e/l,g=m(f),h=n.length;h>0;)n[--h].call(a,g);if(f>=1)return p.event&&p.event.end.call(a,a.__data__,b),--o.count?delete o[d]:delete a[c],1}var i,j,l,m,n,o=a[c]||(a[c]={active:0,count:0}),p=o[d];p||(i=e.time,j=Ga(f,0,i),p=o[d]={tween:new k,time:i,timer:j,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++o.count)}function bg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function cg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function dg(a){return a.toISOString()}function eg(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=ig.bisect($i,e);return f==$i.length?[b.year,$e(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/$i[f-1]<$i[f]/e?f-1:f]:[bj,$e(a,c)[2]]}return d.invert=function(b){return fg(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain(b),d):a.domain().map(fg)},d.nice=function(a,b){function c(c){return!isNaN(c)&&!a.range(c,fg(+c+1),b).length}var f=d.domain(),g=Re(f),h=null==a?e(g,10):"number"==typeof a&&e(g,a);return h&&(a=h[0],b=h[1]),d.domain(Ue(f,b>1?{floor:function(b){for(;c(b=a.floor(b));)b=fg(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=fg(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Re(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],fg(+c[1]+1),b<1?1:b)},d.tickFormat=function(){return c},d.copy=function(){return eg(a.copy(),b,c)},Ye(d,a)}function fg(a){return new Date(a)}function gg(a){return JSON.parse(a.responseText)}function hg(a){var b=lg.createRange();return b.selectNode(lg.body),b.createContextualFragment(a.responseText)}var ig={version:"3.5.17"},jg=[].slice,kg=function(a){return jg.call(a)},lg=this.document;if(lg)try{kg(lg.documentElement.childNodes)[0].nodeType}catch(mg){kg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),lg)try{lg.createElement("DIV").style.setProperty("opacity",0,"")}catch(ng){var og=this.Element.prototype,pg=og.setAttribute,qg=og.setAttributeNS,rg=this.CSSStyleDeclaration.prototype,sg=rg.setProperty;og.setAttribute=function(a,b){pg.call(this,a,b+"")},og.setAttributeNS=function(a,b,c){qg.call(this,a,b,c+"")},rg.setProperty=function(a,b,c){sg.call(this,a,b+"",c)}}ig.ascending=d,ig.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN},ig.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&c>d&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&c>d&&(c=d)}return c},ig.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&d>c&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&d>c&&(c=d)}return c},ig.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f<g;)if(null!=(d=a[f])&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=a[f])&&(c>d&&(c=d),e<d&&(e=d))}else{for(;++f<g;)if(null!=(d=b.call(a,a[f],f))&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=b.call(a,a[f],f))&&(c>d&&(c=d),e<d&&(e=d))}return[c,e]},ig.sum=function(a,b){var c,d=0,e=a.length,g=-1;if(1===arguments.length)for(;++g<e;)f(c=+a[g])&&(d+=c);else for(;++g<e;)f(c=+b.call(a,a[g],g))&&(d+=c);return d},ig.mean=function(a,b){var c,d=0,g=a.length,h=-1,i=g;if(1===arguments.length)for(;++h<g;)f(c=e(a[h]))?d+=c:--i;else for(;++h<g;)f(c=e(b.call(a,a[h],h)))?d+=c:--i;if(i)return d/i},ig.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=+a[d-1],f=c-d;return f?e+f*(a[d]-e):e},ig.median=function(a,b){var c,g=[],h=a.length,i=-1;if(1===arguments.length)for(;++i<h;)f(c=e(a[i]))&&g.push(c);else for(;++i<h;)f(c=e(b.call(a,a[i],i)))&&g.push(c);if(g.length)return ig.quantile(g.sort(d),.5)},ig.variance=function(a,b){var c,d,g=a.length,h=0,i=0,j=-1,k=0;if(1===arguments.length)for(;++j<g;)f(c=e(a[j]))&&(d=c-h,h+=d/++k,i+=d*(c-h));else for(;++j<g;)f(c=e(b.call(a,a[j],j)))&&(d=c-h,h+=d/++k,i+=d*(c-h));if(k>1)return i/(k-1)},ig.deviation=function(){var a=ig.variance.apply(this,arguments);return a?Math.sqrt(a):a};var tg=g(d);ig.bisectLeft=tg.left,ig.bisect=ig.bisectRight=tg.right,ig.bisector=function(a){return g(1===a.length?function(b,c){return d(a(b),c)}:a)},ig.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,f<2&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},ig.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},ig.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(d<0?0:d);c<d;)f[c]=[b=e,e=a[++c]];return f},ig.transpose=function(a){if(!(e=a.length))return[];for(var b=-1,c=ig.min(a,h),d=new Array(c);++b<c;)for(var e,f=-1,g=d[b]=new Array(e);++f<e;)g[f]=a[f][b];return d},ig.zip=function(){return ig.transpose(arguments)},ig.keys=function(a){var b=[];for(var c in a)b.push(c);return b},ig.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},ig.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},ig.merge=function(a){for(var b,c,d,e=a.length,f=-1,g=0;++f<e;)g+=a[f].length;for(c=new Array(g);--e>=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var ug=Math.abs;ig.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=i(ug(c)),g=-1;if(a*=f,b*=f,c*=f,c<0)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)<b;)e.push(d/f);return e},ig.map=function(a,b){var c=new k;if(a instanceof k)a.forEach(function(a,b){c.set(a,b)});else if(Array.isArray(a)){var d,e=-1,f=a.length;if(1===arguments.length)for(;++e<f;)c.set(e,a[e]);else for(;++e<f;)c.set(b.call(a,d=a[e],e),d)}else for(var g in a)c.set(g,a[g]);return c};var vg="__proto__",wg="\0";j(k,{has:n,get:function(a){return this._[l(a)]},set:function(a,b){return this._[l(a)]=b},remove:o,keys:p,values:function(){var a=[];for(var b in this._)a.push(this._[b]);return a},entries:function(){var a=[];for(var b in this._)a.push({key:m(b),value:this._[b]});return a},size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b),this._[b])}}),ig.nest=function(){function a(b,g,h){if(h>=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,j,l,m,n=-1,o=g.length,p=f[h++],q=new k;++n<o;)(m=q.get(i=p(j=g[n])))?m.push(j):q.set(i,[j]);return b?(j=b(),l=function(c,d){j.set(c,a(b,d,h))}):(j={},l=function(c,d){j[c]=a(b,d,h)}),q.forEach(l),j}function b(a,c){if(c>=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(ig.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},ig.set=function(a){var b=new s;if(a)for(var c=0,d=a.length;c<d;++c)b.add(a[c]);return b},j(s,{has:n,add:function(a){return this._[l(a+="")]=!0,a},remove:o,values:p,size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b))}}),ig.behavior={},ig.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d<e;)a[c=arguments[d]]=u(a,b,b[c]);return a};var xg=["webkit","ms","moz","Moz","o","O"];ig.dispatch=function(){for(var a=new x,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=y(a);return a},x.prototype.on=function(a,b){var c=a.indexOf("."),d="";if(c>=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},ig.event=null,ig.requote=function(a){return a.replace(yg,"\\$&")};var yg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,zg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},Ag=function(a,b){return b.querySelector(a)},Bg=function(a,b){return b.querySelectorAll(a)},Cg=function(a,b){var c=a.matches||a[v(a,"matchesSelector")];return(Cg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(Ag=function(a,b){return Sizzle(a,b)[0]||null},Bg=Sizzle,Cg=Sizzle.matchesSelector),ig.selection=function(){return ig.select(lg.documentElement)};var Dg=ig.selection.prototype=[];Dg.select=function(a){var b,c,d,e,f=[];a=D(a);for(var g=-1,h=this.length;++g<h;){f.push(b=[]),b.parentNode=(d=this[g]).parentNode;for(var i=-1,j=d.length;++i<j;)(e=d[i])?(b.push(c=a.call(e,e.__data__,i,g)),c&&"__data__"in e&&(c.__data__=e.__data__)):b.push(null)}return C(f)},Dg.selectAll=function(a){var b,c,d=[];a=E(a);for(var e=-1,f=this.length;++e<f;)for(var g=this[e],h=-1,i=g.length;++h<i;)(c=g[h])&&(d.push(b=kg(a.call(c,c.__data__,h,e))),b.parentNode=c);return C(d)};var Eg="http://www.w3.org/1999/xhtml",Fg={svg:"http://www.w3.org/2000/svg",xhtml:Eg,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ig.ns={prefix:Fg,qualify:function(a){var b=a.indexOf(":"),c=a;return b>=0&&"xmlns"!==(c=a.slice(0,b))&&(a=a.slice(b+1)),Fg.hasOwnProperty(c)?{space:Fg[c],local:a}:a}},Dg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=ig.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(F(b,a[b]));return this}return this.each(F(a,b))},Dg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=I(a)).length,e=-1;if(b=c.classList){for(;++e<d;)if(!b.contains(a[e]))return!1}else for(b=c.getAttribute("class");++e<d;)if(!H(a[e]).test(b))return!1;return!0}for(b in a)this.each(J(b,a[b]));return this}return this.each(J(a,b))},Dg.style=function(a,b,d){var e=arguments.length;if(e<3){if("string"!=typeof a){e<2&&(b="");for(d in a)this.each(L(d,a[d],b));return this}if(e<2){var f=this.node();return c(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(L(a,b,d))},Dg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(M(b,a[b]));return this}return this.each(M(a,b))},Dg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},Dg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},Dg.append=function(a){return a=N(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},Dg.insert=function(a,b){return a=N(a),b=D(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},Dg.remove=function(){return this.each(O)},Dg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new k,s=new Array(g);for(d=-1;++d<g;)(e=a[d])&&(r.has(q=b.call(e,e.__data__,d))?p[d]=e:r.set(q,e),s[d]=q);for(d=-1;++d<l;)(e=r.get(q=b.call(c,f=c[d],d)))?e!==!0&&(n[d]=e,e.__data__=f):o[d]=P(f),r.set(q,!0);for(d=-1;++d<g;)d in s&&r.get(s[d])!==!0&&(p[d]=a[d])}else{for(d=-1;++d<m;)e=a[d],f=c[d],e?(e.__data__=f,n[d]=e):o[d]=P(f);for(;d<l;++d)o[d]=P(c[d]);for(;d<g;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),j.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++f<g;)(e=d[f])&&(a[f]=e.__data__);return a}var h=T([]),i=C([]),j=C([]);if("function"==typeof a)for(;++f<g;)c(d=this[f],a.call(d,d.parentNode.__data__,f));else for(;++f<g;)c(d=this[f],a);return i.enter=function(){return h},i.exit=function(){return j},i},Dg.datum=function(a){return arguments.length?this.property("__data__",a):this.property("__data__")},Dg.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return C(e)},Dg.order=function(){for(var a=-1,b=this.length;++a<b;)for(var c,d=this[a],e=d.length-1,f=d[e];--e>=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},Dg.sort=function(a){a=R.apply(this,arguments);for(var b=-1,c=this.length;++b<c;)this[b].sort(a);return this.order()},Dg.each=function(a){return S(this,function(b,c,d){a.call(b,b.__data__,c,d)})},Dg.call=function(a){var b=kg(arguments);return a.apply(b[0]=this,b),this},Dg.empty=function(){return!this.node()},Dg.node=function(){for(var a=0,b=this.length;a<b;a++)for(var c=this[a],d=0,e=c.length;d<e;d++){var f=c[d];if(f)return f}return null},Dg.size=function(){var a=0;return S(this,function(){++a}),a};var Gg=[];ig.selection.enter=T,ig.selection.enter.prototype=Gg,Gg.append=Dg.append,Gg.empty=Dg.empty,Gg.node=Dg.node,Gg.call=Dg.call,Gg.size=Dg.size,Gg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++h<i;){d=(e=this[h]).update,g.push(b=[]),b.parentNode=e.parentNode;for(var j=-1,k=e.length;++j<k;)(f=e[j])?(b.push(d[j]=c=a.call(e.parentNode,f.__data__,j,h)),c.__data__=f.__data__):b.push(null)}return C(g)},Gg.insert=function(a,b){return arguments.length<2&&(b=U(this)),Dg.insert.call(this,a,b)},ig.select=function(b){var c;return"string"==typeof b?(c=[Ag(b,lg)],c.parentNode=lg.documentElement):(c=[b],c.parentNode=a(b)),C([c])},ig.selectAll=function(a){var b;return"string"==typeof a?(b=kg(Bg(a,lg)),b.parentNode=lg.documentElement):(b=kg(a),b.parentNode=null),C([b])},Dg.on=function(a,b,c){var d=arguments.length;if(d<3){if("string"!=typeof a){d<2&&(b=!1);for(c in a)this.each(V(c,a[c],b));return this}if(d<2)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(V(a,b,c))};var Hg=ig.map({mouseenter:"mouseover",mouseleave:"mouseout"});lg&&Hg.forEach(function(a){"on"+a in lg&&Hg.remove(a)});var Ig,Jg=0;ig.mouse=function(a){return Z(a,A())};var Kg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ig.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=A().changedTouches),b)for(var d,e=0,f=b.length;e<f;++e)if((d=b[e]).identifier===c)return Z(a,d)},ig.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function b(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o),n({type:"dragend"}))}var j,k=this,l=ig.event.target.correspondingElement||ig.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=ig.select(c(l)).on(f+q,h).on(g+q,i),s=Y(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=B(a,"drag","dragstart","dragend"),e=null,f=b(w,ig.mouse,c,"mousemove","mouseup"),g=b($,ig.touch,t,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},ig.rebind(a,d,"on")},ig.touches=function(a,b){return arguments.length<2&&(b=A().touches),b?kg(b).map(function(b){var c=Z(a,b);return c.identifier=b.identifier,c}):[]};var Lg=1e-6,Mg=Lg*Lg,Ng=Math.PI,Og=2*Ng,Pg=Og-Lg,Qg=Ng/2,Rg=Ng/180,Sg=180/Ng,Tg=Math.SQRT2,Ug=2,Vg=4;ig.interpolateZoom=function(a,b){var c,d,e=a[0],f=a[1],g=a[2],h=b[0],i=b[1],j=b[2],k=h-e,l=i-f,m=k*k+l*l;if(m<Mg)d=Math.log(j/g)/Tg,c=function(a){return[e+a*k,f+a*l,g*Math.exp(Tg*a*d)]};else{var n=Math.sqrt(m),o=(j*j-g*g+Vg*m)/(2*g*Ug*n),p=(j*j-g*g-Vg*m)/(2*j*Ug*n),q=Math.log(Math.sqrt(o*o+1)-o),r=Math.log(Math.sqrt(p*p+1)-p);d=(r-q)/Tg,c=function(a){var b=a*d,c=ea(q),h=g/(Ug*n)*(c*fa(Tg*b+q)-da(q));return[e+h*k,f+h*l,g*c/ea(Tg*b+q)]}}return c.duration=1e3*d,c},ig.behavior.zoom=function(){function a(a){a.on(F,l).on(Xg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function b(a){return[(a[0]-y.x)/y.k,(a[1]-y.y)/y.k]}function d(a){return[a[0]*y.k+y.x,a[1]*y.k+y.y]}function e(a){y.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),y.x+=a[0]-b[0],y.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:y.x,y:y.y,k:y.k},e(Math.pow(2,g)),f(q=c,d),b=ig.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-y.x)/y.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-y.y)/y.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function k(a){--E||(a({type:"zoomend"}),q=null)}function l(){function a(){h=1,f(ig.mouse(e),m),j(g)}function d(){l.on(G,null).on(H,null),n(h),k(g)}var e=this,g=J.of(e,arguments),h=0,l=ig.select(c(e)).on(G,a).on(H,d),m=b(ig.mouse(e)),n=Y(e);Qi.call(e),i(g)}function m(){function a(){var a=ig.touches(o);return n=y.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=b(a))}),a}function c(){var b=ig.event.target;ig.select(b).on(u,d).on(v,h),w.push(b);for(var c=ig.event.changedTouches,e=0,f=c.length;e<f;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(j-t<500){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),z()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=ig.touches(o);Qi.call(o);for(var h=0,i=g.length;h<i;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(ig.event.touches.length){for(var b=ig.event.changedTouches,c=0,d=b.length;c<d;++c)delete q[b[c].identifier];for(var e in q)return void a()}ig.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+ig.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=ig.select(o),A=Y(o);c(),i(p),x.on(F,null).on(I,c)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(Qi.call(this),p=b(q=r||ig.mouse(this)),i(a)),s=setTimeout(function(){s=null,k(a)},50),z(),e(Math.pow(2,.002*Wg())*y.k),f(q,p),j(a)}function o(){var a=ig.mouse(this),c=Math.log(y.k)/Math.LN2;g(this,a,b(a),ig.event.shiftKey?Math.ceil(c)-1:Math.floor(c)+1)}var p,q,r,s,t,u,v,w,x,y={x:0,y:0,k:1},A=[960,500],C=Yg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=B(a,"zoomstart","zoom","zoomend");return Xg||(Xg="onwheel"in lg?(Wg=function(){return-ig.event.deltaY*(ig.event.deltaMode?120:1)},"wheel"):"onmousewheel"in lg?(Wg=function(){return ig.event.wheelDelta},"mousewheel"):(Wg=function(){return-ig.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=y;Oi?ig.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=A[0],d=A[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=ig.interpolateZoom([(e-y.x)/y.k,(f-y.y)/y.k,c/y.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=y={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=y,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(y={x:+b[0],y:+b[1],k:y.k},h(),a):[y.x,y.y]},a.scale=function(b){return arguments.length?(y={x:y.x,y:y.y,k:null},e(+b),h(),a):y.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Yg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(A=b&&[+b[0],+b[1]],a):A},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),y={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),y={x:0,y:0,k:1},a):x},ig.rebind(a,J,"on")};var Wg,Xg,Yg=[0,1/0];ig.color=ha,ha.prototype.toString=function(){return this.rgb()+""},ig.hsl=ia;var Zg=ia.prototype=new ha;Zg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,this.l/a)},Zg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,a*this.l)},Zg.rgb=function(){return ja(this.h,this.s,this.l)},ig.hcl=ka;var $g=ka.prototype=new ha;$g.brighter=function(a){return new ka(this.h,this.c,Math.min(100,this.l+_g*(arguments.length?a:1)))},$g.darker=function(a){return new ka(this.h,this.c,Math.max(0,this.l-_g*(arguments.length?a:1)))},$g.rgb=function(){return la(this.h,this.c,this.l).rgb()},ig.lab=ma;var _g=18,ah=.95047,bh=1,ch=1.08883,dh=ma.prototype=new ha;dh.brighter=function(a){return new ma(Math.min(100,this.l+_g*(arguments.length?a:1)),this.a,this.b)},dh.darker=function(a){return new ma(Math.max(0,this.l-_g*(arguments.length?a:1)),this.a,this.b)},dh.rgb=function(){return na(this.l,this.a,this.b)},ig.rgb=sa;var eh=sa.prototype=new ha;eh.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&b<e&&(b=e),c&&c<e&&(c=e),d&&d<e&&(d=e),new sa(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new sa(e,e,e)},eh.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new sa(a*this.r,a*this.g,a*this.b)},eh.hsl=function(){return xa(this.r,this.g,this.b)},eh.toString=function(){return"#"+va(this.r)+va(this.g)+va(this.b)};var fh=ig.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});fh.forEach(function(a,b){fh.set(a,ta(b))}),ig.functor=Ba,ig.xhr=Ca(t),ig.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Da(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++<j;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;++c}k=c+2;var d=a.charCodeAt(c+1);return 13===d?(e=!0,10===a.charCodeAt(c+2)&&++k):10===d&&(e=!0),a.slice(b+1,c).replace(/""/g,'"')}for(;k<j;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new s,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},ig.csv=ig.dsv(",","text/csv"),ig.tsv=ig.dsv("\t","text/tab-separated-values");var gh,hh,ih,jh,kh=this[v(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};ig.timer=function(){Ga.apply(this,arguments)},ig.timer.flush=function(){Ia(),Ja()},ig.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var lh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(La);ig.formatPrefix=function(a,b){var c=0;return(a=+a)&&(a<0&&(a*=-1),b&&(a=ig.round(a,Ka(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),lh[8+c/3]};var mh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nh=ig.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=ig.round(a,Ka(a,b))).toFixed(Math.max(0,Math.min(20,Ka(a*(1+1e-15),b))));
}}),oh=ig.time={},ph=Date;Oa.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){qh.setUTCDate.apply(this._,arguments)},setDay:function(){qh.setUTCDay.apply(this._,arguments)},setFullYear:function(){qh.setUTCFullYear.apply(this._,arguments)},setHours:function(){qh.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){qh.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){qh.setUTCMinutes.apply(this._,arguments)},setMonth:function(){qh.setUTCMonth.apply(this._,arguments)},setSeconds:function(){qh.setUTCSeconds.apply(this._,arguments)},setTime:function(){qh.setTime.apply(this._,arguments)}};var qh=Date.prototype;oh.year=Pa(function(a){return a=oh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),oh.years=oh.year.range,oh.years.utc=oh.year.utc.range,oh.day=Pa(function(a){var b=new ph(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),oh.days=oh.day.range,oh.days.utc=oh.day.utc.range,oh.dayOfYear=function(a){var b=oh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=oh[a]=Pa(function(a){return(a=oh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=oh.year(a).getDay();return Math.floor((oh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});oh[a+"s"]=c.range,oh[a+"s"].utc=c.utc.range,oh[a+"OfYear"]=function(a){var c=oh.year(a).getDay();return Math.floor((oh.dayOfYear(a)+(c+b)%7)/7)}}),oh.week=oh.sunday,oh.weeks=oh.sunday.range,oh.weeks.utc=oh.sunday.utc.range,oh.weekOfYear=oh.sundayOfYear;var rh={"-":"",_:" ",0:"0"},sh=/^\s*\d+/,th=/^%/;ig.locale=function(a){return{numberFormat:Ma(a),timeFormat:Ra(a)}};var uh=ig.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ig.format=uh.numberFormat,ig.geo={},kb.prototype={s:0,t:0,add:function(a){lb(a,this.t,vh),lb(vh.s,this.s,this),this.s?this.t+=vh.t:this.s=vh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var vh=new kb;ig.geo.stream=function(a,b){a&&wh.hasOwnProperty(a.type)?wh[a.type](a,b):mb(a,b)};var wh={Feature:function(a,b){mb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++d<e;)mb(c[d].geometry,b)}},xh={Sphere:function(a,b){b.sphere()},Point:function(a,b){a=a.coordinates,b.point(a[0],a[1],a[2])},MultiPoint:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)a=c[d],b.point(a[0],a[1],a[2])},LineString:function(a,b){nb(a.coordinates,b,0)},MultiLineString:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)nb(c[d],b,0)},Polygon:function(a,b){ob(a.coordinates,b)},MultiPolygon:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)ob(c[d],b)},GeometryCollection:function(a,b){for(var c=a.geometries,d=-1,e=c.length;++d<e;)mb(c[d],b)}};ig.geo.area=function(a){return yh=0,ig.geo.stream(a,Ah),yh};var yh,zh=new kb,Ah={sphere:function(){yh+=4*Ng},point:w,lineStart:w,lineEnd:w,polygonStart:function(){zh.reset(),Ah.lineStart=pb},polygonEnd:function(){var a=2*zh;yh+=a<0?4*Ng+a:a,Ah.lineStart=Ah.lineEnd=Ah.point=w}};ig.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),b<l&&(l=b),b>n&&(n=b)}function b(b,c){var d=qb([b*Rg,c*Rg]);if(r){var e=sb(r,d),f=[e[1],-e[0],0],g=sb(f,e);vb(g),g=wb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Sg*j,q=ug(i)>180;if(q^(j*o<p&&p<j*b)){var s=g[1]*Sg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(j*o<p&&p<j*b)){var s=-g[1]*Sg;s<l&&(l=s)}else c<l&&(l=c),c>n&&(n=c);q?b<o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(b<k&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=ug(d)>180?d+(d>0?360:-360):d}else p=a,q=c;Ah.point(a,c),b(a,c)}function f(){Ah.lineStart()}function g(){e(p,q),Ah.lineEnd(),ug(s)>Lg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:a<b[0]||b[1]<a}var k,l,m,n,o,p,q,r,s,t,u,v={point:a,lineStart:c,lineEnd:d,polygonStart:function(){v.point=e,v.lineStart=f,v.lineEnd=g,s=0,Ah.polygonStart()},polygonEnd:function(){Ah.polygonEnd(),v.point=a,v.lineStart=c,v.lineEnd=d,zh<0?(k=-(m=180),l=-(n=90)):s>Lg?n=90:s<-Lg&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],ig.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];d<b;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];d<=b;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),ig.geo.centroid=function(a){Bh=Ch=Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=Lh=0,ig.geo.stream(a,Mh);var b=Jh,c=Kh,d=Lh,e=b*b+c*c+d*d;return e<Mg&&(b=Gh,c=Hh,d=Ih,Ch<Lg&&(b=Dh,c=Eh,d=Fh),e=b*b+c*c+d*d,e<Mg)?[NaN,NaN]:[Math.atan2(c,b)*Sg,ca(d/Math.sqrt(e))*Sg]};var Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh={sphere:w,point:yb,lineStart:Ab,lineEnd:Bb,polygonStart:function(){Mh.lineStart=Cb},polygonEnd:function(){Mh.lineStart=Ab}},Nh=Ib(Eb,Mb,Ob,[-Ng,-Ng/2]),Oh=1e9;ig.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Sb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(ig.geo.conicEqualArea=function(){return Tb(Ub)}).raw=Ub,ig.geo.albers=function(){return ig.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ig.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=ig.geo.albers(),g=ig.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=ig.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&e<.234&&d>=-.425&&d<-.214?g:e>=.166&&e<.234&&d>=-.214&&d<-.115?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Lg,l+.12*j+Lg],[k-.214*j-Lg,l+.234*j-Lg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Lg,l+.166*j+Lg],[k-.115*j-Lg,l+.234*j-Lg]]).stream(i).point,a},a.scale(1070)};var Ph,Qh,Rh,Sh,Th,Uh,Vh={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Qh=0,Vh.lineStart=Vb},polygonEnd:function(){Vh.lineStart=Vh.lineEnd=Vh.point=w,Ph+=ug(Qh/2)}},Wh={point:Wb,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Xh={point:Zb,lineStart:$b,lineEnd:_b,polygonStart:function(){Xh.lineStart=ac},polygonEnd:function(){Xh.point=Zb,Xh.lineStart=$b,Xh.lineEnd=_b}};ig.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),ig.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Ph=0,ig.geo.stream(a,e(Vh)),Ph},a.centroid=function(a){return Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=Lh=0,ig.geo.stream(a,e(Xh)),Lh?[Jh/Lh,Kh/Lh]:Ih?[Gh/Ih,Hh/Ih]:Fh?[Dh/Fh,Eh/Fh]:[NaN,NaN]},a.bounds=function(a){return Th=Uh=-(Rh=Sh=1/0),ig.geo.stream(a,e(Wh)),[[Rh,Sh],[Th,Uh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||dc(a):t,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Xb:new bc(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(ig.geo.albersUsa()).context(null)},ig.geo.transform=function(a){return{stream:function(b){var c=new ec(b);for(var d in a)c[d]=a[d];return c}}},ec.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ig.geo.projection=gc,ig.geo.projectionMutator=hc,(ig.geo.equirectangular=function(){return gc(jc)}).raw=jc.invert=jc,ig.geo.rotation=function(a){function b(b){return b=a(b[0]*Rg,b[1]*Rg),b[0]*=Sg,b[1]*=Sg,b}return a=lc(a[0]%360*Rg,a[1]*Rg,a.length>2?a[2]*Rg:0),b.invert=function(b){return b=a.invert(b[0]*Rg,b[1]*Rg),b[0]*=Sg,b[1]*=Sg,b},b},kc.invert=jc,ig.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=lc(-a[0]*Rg,-a[1]*Rg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Sg,a[1]*=Sg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=pc((b=+d)*Rg,e*Rg),a):b},a.precision=function(d){return arguments.length?(c=pc(b*Rg,(e=+d)*Rg),a):e},a.angle(90)},ig.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Rg,e=a[1]*Rg,f=b[1]*Rg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},ig.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return ig.range(Math.ceil(f/q)*q,e,q).map(m).concat(ig.range(Math.ceil(j/r)*r,i,r).map(n)).concat(ig.range(Math.ceil(d/o)*o,c,o).filter(function(a){return ug(a%q)>Lg}).map(k)).concat(ig.range(Math.ceil(h/p)*p,g,p).filter(function(a){return ug(a%r)>Lg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=rc(h,g,90),l=sc(d,c,s),m=rc(j,i,90),n=sc(f,e,s),a):s},a.majorExtent([[-180,-90+Lg],[180,90-Lg]]).minorExtent([[-180,-80-Lg],[180,80+Lg]])},ig.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=tc,e=uc;return a.distance=function(){return ig.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},ig.geo.interpolate=function(a,b){return vc(a[0]*Rg,a[1]*Rg,b[0]*Rg,b[1]*Rg)},ig.geo.length=function(a){return Yh=0,ig.geo.stream(a,Zh),Yh};var Yh,Zh={sphere:w,point:w,lineStart:wc,lineEnd:w,polygonStart:w,polygonEnd:w},$h=xc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(ig.geo.azimuthalEqualArea=function(){return gc($h)}).raw=$h;var _h=xc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},t);(ig.geo.azimuthalEquidistant=function(){return gc(_h)}).raw=_h,(ig.geo.conicConformal=function(){return Tb(yc)}).raw=yc,(ig.geo.conicEquidistant=function(){return Tb(zc)}).raw=zc;var ai=xc(function(a){return 1/a},Math.atan);(ig.geo.gnomonic=function(){return gc(ai)}).raw=ai,Ac.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Qg]},(ig.geo.mercator=function(){return Bc(Ac)}).raw=Ac;var bi=xc(function(){return 1},Math.asin);(ig.geo.orthographic=function(){return gc(bi)}).raw=bi;var ci=xc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(ig.geo.stereographic=function(){return gc(ci)}).raw=ci,Cc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Qg]},(ig.geo.transverseMercator=function(){var a=Bc(Cc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Cc,ig.geom={},ig.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Ba(c),f=Ba(d),g=a.length,h=[],i=[];for(b=0;b<g;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Gc),b=0;b<g;b++)i.push([h[b][0],-h[b][1]]);var j=Fc(h),k=Fc(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b<k.length-m;++b)n.push(a[h[k[b]][2]]);return n}var c=Dc,d=Ec;return arguments.length?b(a):(b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b)},ig.geom.polygon=function(a){return zg(a,di),a};var di=ig.geom.polygon.prototype=[];di.area=function(){for(var a,b=-1,c=this.length,d=this[c-1],e=0;++b<c;)a=d,d=this[b],e+=a[1]*d[0]-a[0]*d[1];return.5*e},di.centroid=function(a){var b,c,d=-1,e=this.length,f=0,g=0,h=this[e-1];for(arguments.length||(a=-1/(6*this.area()));++d<e;)b=h,h=this[d],c=b[0]*h[1]-h[0]*b[1],f+=(b[0]+h[0])*c,g+=(b[1]+h[1])*c;return[f*a,g*a]},di.clip=function(a){for(var b,c,d,e,f,g,h=Jc(a),i=-1,j=this.length-Jc(this),k=this[j-1];++i<j;){for(b=a.slice(),a.length=0,e=this[i],f=b[(d=b.length-h)-1],c=-1;++c<d;)g=b[c],Hc(g,k,e)?(Hc(f,k,e)||a.push(Ic(f,g,k,e)),a.push(g)):Hc(f,k,e)&&a.push(Ic(f,g,k,e)),f=g;h&&a.push(a[0]),k=e}return a};var ei,fi,gi,hi,ii,ji=[],ki=[];Rc.prototype.prepare=function(){for(var a,b=this.edges,c=b.length;c--;)a=b[c].edge,a.b&&a.a||b.splice(c,1);return b.sort(Tc),b.length},bd.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},cd.prototype={insert:function(a,b){var c,d,e;if(a){if(b.P=a,b.N=a.N,a.N&&(a.N.P=b),a.N=b,a.R){for(a=a.R;a.L;)a=a.L;a.L=b}else a.R=b;c=a}else this._?(a=gd(this._),b.P=null,b.N=a,a.P=a.L=b,c=a):(b.P=b.N=null,this._=b,c=null);for(b.L=b.R=null,b.U=c,b.C=!0,a=b;c&&c.C;)d=c.U,c===d.L?(e=d.R,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.R&&(ed(this,c),a=c,c=a.U),c.C=!1,d.C=!0,fd(this,d))):(e=d.L,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.L&&(fd(this,c),a=c,c=a.U),c.C=!1,d.C=!0,ed(this,d))),c=a.U;this._.C=!1},remove:function(a){a.N&&(a.N.P=a.P),a.P&&(a.P.N=a.N),a.N=a.P=null;var b,c,d,e=a.U,f=a.L,g=a.R;if(c=f?g?gd(g):f:g,e?e.L===a?e.L=c:e.R=c:this._=c,f&&g?(d=c.C,c.C=a.C,c.L=f,f.U=c,c!==g?(e=c.U,c.U=a.U,a=c.R,e.L=a,c.R=g,g.U=c):(c.U=e,e=c,a=c.R)):(d=a.C,a=c),a&&(a.U=e),!d){if(a&&a.C)return void(a.C=!1);do{if(a===this._)break;if(a===e.L){if(b=e.R,b.C&&(b.C=!1,e.C=!0,ed(this,e),b=e.R),b.L&&b.L.C||b.R&&b.R.C){b.R&&b.R.C||(b.L.C=!1,b.C=!0,fd(this,b),b=e.R),b.C=e.C,e.C=b.R.C=!1,ed(this,e),a=this._;break}}else if(b=e.L,b.C&&(b.C=!1,e.C=!0,fd(this,e),b=e.L),b.L&&b.L.C||b.R&&b.R.C){b.L&&b.L.C||(b.R.C=!1,b.C=!0,ed(this,b),b=e.L),b.C=e.C,e.C=b.L.C=!1,fd(this,e),a=this._;break}b.C=!0,a=e,e=e.U}while(!a.C);a&&(a.C=!1)}}},ig.geom.voronoi=function(a){function b(a){var b=new Array(a.length),d=h[0][0],e=h[0][1],f=h[1][0],g=h[1][1];return hd(c(a),h).cells.forEach(function(c,h){var i=c.edges,j=c.site,k=b[h]=i.length?i.map(function(a){var b=a.start();return[b.x,b.y]}):j.x>=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[];k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Lg)*Lg,y:Math.round(g(a,b)/Lg)*Lg,i:b}})}var d=Dc,e=Ec,f=d,g=e,h=li;return a?b(a):(b.links=function(a){return hd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return hd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Tc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i<j;)e=k,f=l,k=h[i].edge,l=k.l===g?k.r:k.l,d<f.i&&d<l.i&&jd(g,f,l)<0&&b.push([a[d],a[f.i],a[l.i]])}),b},b.x=function(a){return arguments.length?(f=Ba(d=a),b):d},b.y=function(a){return arguments.length?(g=Ba(e=a),b):e},b.clipExtent=function(a){return arguments.length?(h=null==a?li:a,b):h===li?null:h},b.size=function(a){return arguments.length?b.clipExtent(a&&[[0,0],a]):h===li?null:h&&h[1]},b)};var li=[[-1e6,-1e6],[1e6,1e6]];ig.geom.delaunay=function(a){return ig.geom.voronoi().triangles(a)},ig.geom.quadtree=function(a,b,c,d,e){function f(a){function f(a,b,c,d,e,f,g,h){if(!isNaN(c)&&!isNaN(d))if(a.leaf){var i=a.x,k=a.y;if(null!=i)if(ug(i-c)+ug(k-d)<.01)j(a,b,c,d,e,f,g,h);else{var l=a.point;a.x=a.y=a.point=null,j(a,l,i,k,e,f,g,h),j(a,b,c,d,e,f,g,h)}else a.x=c,a.y=d,a.point=b}else j(a,b,c,d,e,f,g,h)}function j(a,b,c,d,e,g,h,i){var j=.5*(e+h),k=.5*(g+i),l=c>=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=md()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Ba(h),u=Ba(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;n<o;++n)k=a[n],k.x<p&&(p=k.x),k.y<q&&(q=k.y),k.x>r&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;n<o;++n){var v=+t(k=a[n],n),w=+u(k,n);v<p&&(p=v),w<q&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=md();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){nd(a,z,p,q,r,s)},z.find=function(a){return od(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n<o;)f(z,a[n],l[n],m[n],p,q,r,s);--n}else a.forEach(z.add);return l=m=a=k=null,z}var g,h=Dc,i=Ec;return(g=arguments.length)?(h=kd,i=ld,3===g&&(e=c,d=b,c=b=0),f(a)):(f.x=function(a){return arguments.length?(h=a,f):h},f.y=function(a){return arguments.length?(i=a,f):i},f.extent=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=+a[0][0],c=+a[0][1],d=+a[1][0],e=+a[1][1]),f):null==b?null:[[b,c],[d,e]]},f.size=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=c=0,d=+a[0],e=+a[1]),f):null==b?null:[d-b,e-c]},f)},ig.interpolateRgb=pd,ig.interpolateObject=qd,ig.interpolateNumber=rd,ig.interpolateString=sd;var mi=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ni=new RegExp(mi.source,"g");ig.interpolate=td,ig.interpolators=[function(a,b){var c=typeof b;return("string"===c?fh.has(b.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(b)?pd:sd:b instanceof ha?pd:Array.isArray(b)?ud:"object"===c&&isNaN(b)?qd:rd)(a,b)}],ig.interpolateArray=ud;var oi=function(){return t},pi=ig.map({linear:oi,poly:Bd,quad:function(){return yd},cubic:function(){return zd},sin:function(){return Cd},exp:function(){return Dd},circle:function(){return Ed},elastic:Fd,back:Gd,bounce:function(){return Hd}}),qi=ig.map({"in":t,out:wd,"in-out":xd,"out-in":function(a){return xd(wd(a))}});ig.ease=function(a){var b=a.indexOf("-"),c=b>=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=pi.get(c)||oi,d=qi.get(d)||t,vd(d(c.apply(null,jg.call(arguments,1))))},ig.interpolateHcl=Id,ig.interpolateHsl=Jd,ig.interpolateLab=Kd,ig.interpolateRound=Ld,ig.transform=function(a){var b=lg.createElementNS(ig.ns.prefix.svg,"g");return(ig.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Md(c?c.matrix:ri)})(a)},Md.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ri={a:1,b:0,c:0,d:1,e:0,f:0};ig.interpolateTransform=Vd,ig.layout={},ig.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++c<d;)b.push(Yd(a[c]));return b}},ig.layout.chord=function(){function a(){var a,j,l,m,n,o={},p=[],q=ig.range(f),r=[];for(c=[],d=[],a=0,m=-1;++m<f;){for(j=0,n=-1;++n<f;)j+=e[m][n];p.push(j),r.push(ig.range(f)),a+=j}for(g&&q.sort(function(a,b){return g(p[a],p[b])}),h&&r.forEach(function(a,b){a.sort(function(a,c){return h(e[b][a],e[b][c])})}),a=(Og-k*f)/a,j=0,m=-1;++m<f;){for(l=j,n=-1;++n<f;){var s=q[m],t=r[s][n],u=e[s][t],v=j,w=j+=u*a;o[s+"-"+t]={index:s,subindex:t,startAngle:v,endAngle:w,value:u}}d[s]={index:s,startAngle:l,endAngle:j,value:p[s]},j+=k}for(m=-1;++m<f;)for(n=m-1;++n<f;){var x=o[m+"-"+n],y=o[n+"-"+m];(x.value||y.value)&&c.push(x.value<y.value?{source:y,target:x}:{source:x,target:y})}i&&b()}function b(){c.sort(function(a,b){return i((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}var c,d,e,f,g,h,i,j={},k=0;return j.matrix=function(a){return arguments.length?(f=(e=a)&&e.length,c=d=null,j):e},j.padding=function(a){return arguments.length?(k=a,c=d=null,j):k},j.sortGroups=function(a){return arguments.length?(g=a,c=d=null,j):g},j.sortSubgroups=function(a){return arguments.length?(h=a,c=null,j):h},j.sortChords=function(a){return arguments.length?(i=a,c&&b(),j):i},j.chords=function(){return c||a(),c},j.groups=function(){return d||a(),d},j},ig.layout.force=function(){function a(a){return function(b,c,d,e){if(b.point!==a){var f=b.cx-a.x,g=b.cy-a.y,h=e-c,i=f*f+g*g;if(h*h/r<i){if(i<p){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&i<p){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=ig.event.x,a.py=ig.event.y,i.resume()}var c,d,e,f,g,h,i={},j=ig.dispatch("start","tick","end"),k=[1,1],l=.9,m=si,n=ti,o=-30,p=ui,q=.1,r=.64,s=[],u=[];return i.tick=function(){if((e*=.99)<.005)return c=null,j.end({type:"end",alpha:e=0}),!0;var b,d,i,m,n,p,r,t,v,w=s.length,x=u.length;for(d=0;d<x;++d)i=u[d],m=i.source,n=i.target,t=n.x-m.x,v=n.y-m.y,(p=t*t+v*v)&&(p=e*g[d]*((p=Math.sqrt(p))-f[d])/p,t*=p,v*=p,n.x-=t*(r=m.weight+n.weight?m.weight/(m.weight+n.weight):.5),n.y-=v*r,m.x+=t*(r=1-r),m.y+=v*r);if((r=e*q)&&(t=k[0]/2,v=k[1]/2,d=-1,r))for(;++d<w;)i=s[d],i.x+=(t-i.x)*r,i.y+=(v-i.y)*r;if(o)for(de(b=ig.geom.quadtree(s),e,h),d=-1;++d<w;)(i=s[d]).fixed||b.visit(a(i));for(d=-1;++d<w;)i=s[d],i.fixed?(i.x=i.px,i.y=i.py):(i.x-=(i.px-(i.px=i.x))*l,i.y-=(i.py-(i.py=i.y))*l);j.tick({type:"tick",alpha:e})},i.nodes=function(a){return arguments.length?(s=a,i):s},i.links=function(a){return arguments.length?(u=a,i):u},i.size=function(a){return arguments.length?(k=a,i):k},i.linkDistance=function(a){return arguments.length?(m="function"==typeof a?a:+a,i):m},i.distance=i.linkDistance,i.linkStrength=function(a){return arguments.length?(n="function"==typeof a?a:+a,i):n},i.friction=function(a){return arguments.length?(l=+a,i):l},i.charge=function(a){return arguments.length?(o="function"==typeof a?a:+a,i):o},i.chargeDistance=function(a){return arguments.length?(p=a*a,i):Math.sqrt(p)},i.gravity=function(a){return arguments.length?(q=+a,i):q},i.theta=function(a){return arguments.length?(r=a*a,i):Math.sqrt(r)},i.alpha=function(a){return arguments.length?(a=+a,e?a>0?e=a:(c.c=null,c.t=NaN,c=null,j.end({type:"end",alpha:e=0})):a>0&&(j.start({type:"start",alpha:e=a}),c=Ga(i.tick)),i):e},i.start=function(){function a(a,d){if(!c){for(c=new Array(e),i=0;i<e;++i)c[i]=[];for(i=0;i<j;++i){var f=u[i];c[f.source.index].push(f.target),c[f.target.index].push(f.source)}}for(var g,h=c[b],i=-1,k=h.length;++i<k;)if(!isNaN(g=h[i][a]))return g;return Math.random()*d}var b,c,d,e=s.length,j=u.length,l=k[0],p=k[1];for(b=0;b<e;++b)(d=s[b]).index=b,d.weight=0;for(b=0;b<j;++b)d=u[b],"number"==typeof d.source&&(d.source=s[d.source]),"number"==typeof d.target&&(d.target=s[d.target]),++d.source.weight,++d.target.weight;for(b=0;b<e;++b)d=s[b],isNaN(d.x)&&(d.x=a("x",l)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(f=[],"function"==typeof m)for(b=0;b<j;++b)f[b]=+m.call(this,u[b],b);else for(b=0;b<j;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;b<j;++b)g[b]=+n.call(this,u[b],b);else for(b=0;b<j;++b)g[b]=n;if(h=[],"function"==typeof o)for(b=0;b<e;++b)h[b]=+o.call(this,s[b],b);else for(b=0;b<e;++b)h[b]=o;return i.resume()},i.resume=function(){return i.alpha(.1)},i.stop=function(){return i.alpha(0)},i.drag=function(){return d||(d=ig.behavior.drag().origin(t).on("dragstart.force",_d).on("drag.force",b).on("dragend.force",ae)),arguments.length?void this.on("mouseover.force",be).on("mouseout.force",ce).call(d):d},ig.rebind(i,j,"on")};var si=20,ti=1,ui=1/0;ig.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return ge(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=je,c=he,d=ie;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(fe(b,function(a){a.children&&(a.value=0)}),ge(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},ig.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++j<g;)a(h=f[j],c,i=h.value*d,e),c+=i}}function b(a){var c=a.children,d=0;if(c&&(e=c.length))for(var e,f=-1;++f<e;)d=Math.max(d,b(c[f]));return 1+d}function c(c,f){var g=d.call(this,c,f);return a(g[0],0,e[0],e[1]/b(g[0])),g}var d=ig.layout.hierarchy(),e=[1,1];return c.size=function(a){return arguments.length?(e=a,c):e},ee(c,d)},ig.layout.pie=function(){function a(g){var h,i=g.length,j=g.map(function(c,d){return+b.call(a,c,d)}),k=+("function"==typeof d?d.apply(this,arguments):d),l=("function"==typeof e?e.apply(this,arguments):e)-k,m=Math.min(Math.abs(l)/i,+("function"==typeof f?f.apply(this,arguments):f)),n=m*(l<0?-1:1),o=ig.sum(j),p=o?(l-i*n)/o:0,q=ig.range(i),r=[];return null!=c&&q.sort(c===vi?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),q.forEach(function(a){r[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*p+n,padAngle:m}}),r}var b=Number,c=vi,d=0,e=Og,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var vi={};ig.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=ig.permute(j,l),k=ig.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;o<r;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;n<m;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=t,c=oe,d=pe,e=ne,f=le,g=me;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:wi.get(b)||oe,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:xi.get(b)||pe,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var wi=ig.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(qe),f=a.map(re),g=ig.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;b<d;++b)c=g[b],h<i?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return ig.range(a.length).reverse()},"default":oe}),xi=ig.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;c<f;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;c<m;++c){for(b=0,e=0;b<k;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];b<k;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);d<b;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,i<j&&(j=i)}for(c=0;c<m;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];if(d)for(b=0;b<e;b++)a[b][c][1]/=d;else for(b=0;b<e;b++)a[b][c][1]=g}for(c=0;c<f;++c)h[c]=0;return h},zero:pe});ig.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f<n;)g=i[f]=[],g.dx=l[f+1]-(g.x=l[f]),g.y=0;if(n>0)for(f=-1;++f<m;)h=j[f],h>=k[0]&&h<=k[1]&&(g=i[ig.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=ve,e=te;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Ba(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ue(a,b)}:Ba(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},ig.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,ge(h,function(a){a.r=+k(a.value)}),ge(h,Ae),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;ge(h,function(a){a.r+=l}),ge(h,Ae),ge(h,function(a){a.r-=l})}return De(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=ig.layout.hierarchy().sort(we),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},ee(a,c)},ig.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(ge(m,c),m.parent.m=-m.z,fe(m,d),j)fe(l,f);else{var n=l,o=l,p=l;fe(l,function(a){a.x<n.x&&(n=a),a.x>o.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);fe(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;g<h;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],
A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Je(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=He(g),e=Ge(e),g&&e;)i=Ge(i),f=He(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Ie(Ke(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!He(f)&&(f.t=g,f.m+=l-k),e&&!Ge(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=ig.layout.hierarchy().sort(null).value(null),h=Fe,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},ee(a,g)},ig.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;ge(i,function(a){var b=a.children;b&&b.length?(a.x=Me(b),a.y=Le(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Ne(i),l=Oe(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return ge(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=ig.layout.hierarchy().sort(null).value(null),c=Fe,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},ee(a,b)},ig.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++e<f;)d=(c=a[e]).value*(b<0?0:b),c.area=isNaN(d)||d<=0?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++g<h;)(c=a[g].area)&&(c<f&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++f<g;)e=a[f],e.x=h,e.y=j,e.dy=k,h+=e.dx=Math.min(c.x+c.dx-h,k?i(e.area/k):0);e.z=!0,e.dx+=c.x+c.dx-h,c.y+=k,c.dy-=k}else{for((d||k>c.dx)&&(k=c.dx);++f<g;)e=a[f],e.x=h,e.y=j,e.dx=k,j+=e.dy=Math.min(c.y+c.dy-j,k?i(e.area/k):0);e.z=!1,e.dy+=c.y+c.dy-j,c.x+=k,c.dx-=k}}function f(d){var e=g||h(d),f=e[0];return f.x=f.y=0,f.value?(f.dx=j[0],f.dy=j[1]):f.dx=f.dy=0,g&&h.revalue(f),a([f],f.dx*f.dy/f.value),(g?c:b)(f),m&&(g=e),e}var g,h=ig.layout.hierarchy(),i=Math.round,j=[1,1],k=null,l=Pe,m=!1,n="squarify",o=.5*(1+Math.sqrt(5));return f.size=function(a){return arguments.length?(j=a,f):j},f.padding=function(a){function b(b){var c=a.call(f,b,b.depth);return null==c?Pe(b):Qe(b,"number"==typeof c?[c,c,c,c]:c)}function c(b){return Qe(b,a)}if(!arguments.length)return k;var d;return l=null==(k=a)?Pe:"function"==(d=typeof a)?b:"number"===d?(a=[a,a,a,a],c):c,f},f.round=function(a){return arguments.length?(i=a?Math.round:Number,f):i!=Number},f.sticky=function(a){return arguments.length?(m=a,g=null,f):m},f.ratio=function(a){return arguments.length?(o=a,f):o},f.mode=function(a){return arguments.length?(n=a+"",f):n},ee(f,h)},ig.random={normal:function(a,b){var c=arguments.length;return c<2&&(b=1),c<1&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=ig.random.normal.apply(ig,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=ig.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;c<a;c++)b+=Math.random();return b}}},ig.scale={};var yi={floor:t,ceil:t};ig.scale.linear=function(){return Xe([0,1],[0,1],td,!1)};var zi={s:1,g:1,p:1,r:1,e:1};ig.scale.log=function(){return df(ig.scale.linear().domain([0,1]),10,!0,[1,10])};var Ai=ig.format(".0e"),Bi={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};ig.scale.pow=function(){return ef(ig.scale.linear(),1,[0,1])},ig.scale.sqrt=function(){return ig.scale.pow().exponent(.5)},ig.scale.ordinal=function(){return gf([],{t:"range",a:[[]]})},ig.scale.category10=function(){return ig.scale.ordinal().range(Ci)},ig.scale.category20=function(){return ig.scale.ordinal().range(Di)},ig.scale.category20b=function(){return ig.scale.ordinal().range(Ei)},ig.scale.category20c=function(){return ig.scale.ordinal().range(Fi)};var Ci=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ua),Di=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ua),Ei=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ua),Fi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ua);ig.scale.quantile=function(){return hf([],[])},ig.scale.quantize=function(){return jf(0,1,[0,1])},ig.scale.threshold=function(){return kf([.5],[0,1])},ig.scale.identity=function(){return lf([0,1])},ig.svg={},ig.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Qg,l=h.apply(this,arguments)-Qg,m=Math.abs(l-k),n=k>l?0:1;if(j<a&&(o=j,j=a,a=o),m>=Pg)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===Gi?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ca(q/j*Math.sin(r))),a&&(A=ca(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Ng?0:1;if(B&&sf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Ng?0:1;if(A&&sf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if(m>Lg&&(o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=a<j^n?0:1;var H=o,I=o;if(m<Ng){var J=null==y?[w,x]:null==u?[s,t]:Ic([s,t],[y,z],[u,v],[w,x]),K=s-J[0],L=t-J[1],M=u-J[0],N=v-J[1],O=1/Math.sin(Math.acos((K*M+L*N)/(Math.sqrt(K*K+L*L)*Math.sqrt(M*M+N*N)))/2),P=Math.sqrt(J[0]*J[0]+J[1]*J[1]);I=Math.min(o,(a-P)/(O-1)),H=Math.min(o,(j-P)/(O+1))}if(null!=u){var Q=tf(null==y?[w,x]:[y,z],[s,t],j,H,n),R=tf([u,v],[w,x],j,H,n);o===H?C.push("M",Q[0],"A",H,",",H," 0 0,",p," ",Q[1],"A",j,",",j," 0 ",1-n^sf(Q[1][0],Q[1][1],R[1][0],R[1][1]),",",n," ",R[1],"A",H,",",H," 0 0,",p," ",R[0]):C.push("M",Q[0],"A",H,",",H," 0 1,",p," ",R[0])}else C.push("M",s,",",t);if(null!=y){var S=tf([s,t],[y,z],a,-I,n),T=tf([w,x],null==u?[s,t]:[u,v],a,-I,n);o===I?C.push("L",T[0],"A",I,",",I," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^sf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",I,",",I," 0 0,",p," ",S[0]):C.push("L",T[0],"A",I,",",I," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=nf,d=of,e=mf,f=Gi,g=pf,h=qf,i=rf;return a.innerRadius=function(b){return arguments.length?(c=Ba(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Ba(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Ba(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==Gi?Gi:Ba(b),a):f},a.startAngle=function(b){return arguments.length?(g=Ba(b),a):g},a.endAngle=function(b){return arguments.length?(h=Ba(b),a):h},a.padAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Qg;return[Math.cos(b)*a,Math.sin(b)*a]},a};var Gi="auto";ig.svg.line=function(){return uf(t)};var Hi=ig.map({linear:vf,"linear-closed":wf,step:xf,"step-before":yf,"step-after":zf,basis:Ff,"basis-open":Gf,"basis-closed":Hf,bundle:If,cardinal:Cf,"cardinal-open":Af,"cardinal-closed":Bf,monotone:Of});Hi.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Ii=[0,2/3,1/3,0],Ji=[0,1/3,2/3,0],Ki=[0,1/6,2/3,1/6];ig.svg.line.radial=function(){var a=uf(Pf);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},yf.reverse=zf,zf.reverse=yf,ig.svg.area=function(){return Qf(t)},ig.svg.area.radial=function(){var a=Qf(Pf);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},ig.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Qg,k=j.call(a,e,d)-Qg;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Ng)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=tc,g=uc,h=Rf,i=pf,j=qf;return a.radius=function(b){return arguments.length?(h=Ba(b),a):h},a.source=function(b){return arguments.length?(f=Ba(b),a):f},a.target=function(b){return arguments.length?(g=Ba(b),a):g},a.startAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.endAngle=function(b){return arguments.length?(j=Ba(b),a):j},a},ig.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=tc,c=uc,d=Sf;return a.source=function(c){return arguments.length?(b=Ba(c),a):b},a.target=function(b){return arguments.length?(c=Ba(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},ig.svg.diagonal.radial=function(){var a=ig.svg.diagonal(),b=Sf,c=a.projection;return a.projection=function(a){return arguments.length?c(Tf(b=a)):b},a},ig.svg.symbol=function(){function a(a,d){return(Li.get(b.call(this,a,d))||Wf)(c.call(this,a,d))}var b=Vf,c=Uf;return a.type=function(c){return arguments.length?(b=Ba(c),a):b},a.size=function(b){return arguments.length?(c=Ba(b),a):c},a};var Li=ig.map({circle:Wf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Ni)),c=b*Ni;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Mi),c=b*Mi/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Mi),c=b*Mi/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});ig.svg.symbolTypes=Li.keys();var Mi=Math.sqrt(3),Ni=Math.tan(30*Rg);Dg.transition=function(a){for(var b,c,d=Oi||++Si,e=_f(a),f=[],g=Pi||{time:Date.now(),ease:Ad,delay:0,duration:250},h=-1,i=this.length;++h<i;){f.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(c=j[k])&&ag(c,k,e,d,g),b.push(c)}return Yf(f,e,d)},Dg.interrupt=function(a){return this.each(null==a?Qi:Xf(_f(a)))};var Oi,Pi,Qi=Xf(_f()),Ri=[],Si=0;Ri.call=Dg.call,Ri.empty=Dg.empty,Ri.node=Dg.node,Ri.size=Dg.size,ig.transition=function(a,b){return a&&a.transition?Oi?a.transition(b):a:ig.selection().transition(a)},ig.transition.prototype=Ri,Ri.select=function(a){var b,c,d,e=this.id,f=this.namespace,g=[];a=D(a);for(var h=-1,i=this.length;++h<i;){g.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(d=j[k])&&(c=a.call(d,d.__data__,k,h))?("__data__"in d&&(c.__data__=d.__data__),ag(c,k,f,e,d[f][e]),b.push(c)):b.push(null)}return Yf(g,f,e)},Ri.selectAll=function(a){var b,c,d,e,f,g=this.id,h=this.namespace,i=[];a=E(a);for(var j=-1,k=this.length;++j<k;)for(var l=this[j],m=-1,n=l.length;++m<n;)if(d=l[m]){f=d[h][g],c=a.call(d,d.__data__,m,j),i.push(b=[]);for(var o=-1,p=c.length;++o<p;)(e=c[o])&&ag(e,o,h,g,f),b.push(e)}return Yf(i,h,g)},Ri.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Yf(e,this.namespace,this.id)},Ri.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):S(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Ri.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Vd:td,h=ig.ns.qualify(a);return Zf(this,"attr."+a,b,h.local?f:e)},Ri.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=ig.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Ri.style=function(a,b,d){function e(){this.style.removeProperty(a)}function f(b){return null==b?e:(b+="",function(){var e,f=c(this).getComputedStyle(this,null).getPropertyValue(a);return f!==b&&(e=td(f,b),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(g<3){if("string"!=typeof a){g<2&&(b="");for(d in a)this.style(d,a[d],b);return this}d=""}return Zf(this,"style."+a,b,f)},Ri.styleTween=function(a,b,d){function e(e,f){var g=b.call(this,e,f,c(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Ri.text=function(a){return Zf(this,"text",a,$f)},Ri.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Ri.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=ig.ease.apply(ig,arguments)),S(this,function(d){d[c][b].ease=a}))},Ri.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:S(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Ri.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:S(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Ri.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Pi,f=Oi;try{Oi=c,S(this,function(b,e,f){Pi=b[d][c],a.call(b,b.__data__,e,f)})}finally{Pi=e,Oi=f}}else S(this,function(e){var f=e[d][c];(f.event||(f.event=ig.dispatch("start","end","interrupt"))).on(a,b)});return this},Ri.transition=function(){for(var a,b,c,d,e=this.id,f=++Si,g=this.namespace,h=[],i=0,j=this.length;i<j;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;k<l;k++)(c=b[k])&&(d=c[g][e],ag(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Yf(h,g,f)},ig.svg.axis=function(){function a(a){a.each(function(){var a,j=ig.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):t:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Lg),q=ig.transition(o.exit()).style("opacity",Lg).remove(),r=ig.transition(o.order()).style("opacity",1),s=Math.max(e,0)+g,u=Se(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),ig.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=bg,x="x",z="y",y="x2",A="y2",D.attr("dy",G<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=cg,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",G<0?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*s),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*s),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=ig.scale.linear(),d=Ti,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Ui?b+"":Ti,a):d},a.ticks=function(){return arguments.length?(h=kg(arguments),a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Ti="bottom",Ui={top:1,right:1,bottom:1,left:1};ig.svg.brush=function(){function a(c){c.each(function(){var c=ig.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=c.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),c.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=c.selectAll(".resize").data(p,t);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Vi[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=ig.transition(c),m=ig.transition(g);j&&(i=Se(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Se(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),b(l)})}function b(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==ig.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),z())}function p(){32==ig.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,z())}function q(){var a=ig.mouse(v),c=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(ig.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]<t[0])],F[1]=m[+(a[1]<t[1])]):t=null),B&&r(a,j,0)&&(d(y),c=!0),C&&r(a,k,1)&&(e(y),c=!0),c&&(b(y),x({type:"brush",mode:D?"move":"resize"}))}function r(a,b,c){var d,e,f=Se(b),i=f[0],j=f[1],k=F[c],p=c?m:l,q=p[1]-p[0];if(D&&(i-=k,j-=q+k),d=(c?o:n)?Math.max(i,Math.min(j,a[c])):a[c],D?e=(d+=k)+q:(t&&(k=Math.max(i,Math.min(j,2*t[c]-d))),k<d?(e=d,d=k):e=k),p[0]!=d||p[1]!=e)return c?h=null:g=null,p[0]=d,p[1]=e,!0}function s(){q(),y.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),ig.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=ig.select(ig.event.target),x=i.of(v,arguments),y=ig.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=Y(v),F=ig.mouse(v),G=ig.select(c(v)).on("keydown.brush",f).on("keyup.brush",p);if(ig.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),y.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else ig.event.altKey&&(t=F.slice());y.style("pointer-events","none").selectAll(".resize").style("display",null),ig.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=B(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Wi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Oi?ig.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=ud(l,b.x),d=ud(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Wi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Wi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),d<c&&(i=c,c=d,d=i),c==l[0]&&d==l[1]||(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),f<e&&(i=e,e=f,f=i),e==m[0]&&f==m[1]||(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),d<c&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),f<e&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},ig.rebind(a,i,"on")};var Vi={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Wi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xi=oh.format=uh.timeFormat,Yi=Xi.utc,Zi=Yi("%Y-%m-%dT%H:%M:%S.%LZ");Xi.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?dg:Zi,dg.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},dg.toString=Zi.toString,oh.second=Pa(function(a){return new ph(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),oh.seconds=oh.second.range,oh.seconds.utc=oh.second.utc.range,oh.minute=Pa(function(a){return new ph(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),oh.minutes=oh.minute.range,oh.minutes.utc=oh.minute.utc.range,oh.hour=Pa(function(a){var b=a.getTimezoneOffset()/60;return new ph(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),oh.hours=oh.hour.range,oh.hours.utc=oh.hour.utc.range,oh.month=Pa(function(a){return a=oh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),oh.months=oh.month.range,oh.months.utc=oh.month.utc.range;var $i=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],_i=[[oh.second,1],[oh.second,5],[oh.second,15],[oh.second,30],[oh.minute,1],[oh.minute,5],[oh.minute,15],[oh.minute,30],[oh.hour,1],[oh.hour,3],[oh.hour,6],[oh.hour,12],[oh.day,1],[oh.day,2],[oh.week,1],[oh.month,1],[oh.month,3],[oh.year,1]],aj=Xi.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Eb]]),bj={range:function(a,b,c){return ig.range(Math.ceil(a/c)*c,+b,c).map(fg)},floor:t,ceil:t};_i.year=oh.year,oh.scale=function(){return eg(ig.scale.linear(),_i,aj)};var cj=_i.map(function(a){return[a[0].utc,a[1]]}),dj=Yi.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Eb]]);cj.year=oh.year.utc,oh.scale.utc=function(){return eg(ig.scale.linear(),cj,dj)},ig.text=Ca(function(a){return a.responseText}),ig.json=function(a,b){return Da(a,"application/json",gg,b)},ig.html=function(a,b){return Da(a,"text/html",hg,b)},ig.xml=Ca(function(a){return a.responseXML}),"function"==typeof define&&define.amd?(this.d3=ig,define(ig)):"object"==typeof b&&b.exports?b.exports=ig:this.d3=ig}()},{}],232:[function(a,b,c){!function(a,d){"object"==typeof c&&"undefined"!=typeof b?d(c):"function"==typeof define&&define.amd?define(["exports"],d):d(a.topojson=a.topojson||{})}(this,function(a){"use strict";function b(){}function c(a){if(!a)return b;var c,d,e=a.scale[0],f=a.scale[1],g=a.translate[0],h=a.translate[1];return function(a,b){b||(c=d=0),a[0]=(c+=a[0])*e+g,a[1]=(d+=a[1])*f+h}}function d(a){if(!a)return b;var c,d,e=a.scale[0],f=a.scale[1],g=a.translate[0],h=a.translate[1];return function(a,b){b||(c=d=0);var i=Math.round((a[0]-g)/e),j=Math.round((a[1]-h)/f);a[0]=i-c,a[1]=j-d,c=i,d=j}}function e(a,b){for(var c,d=a.length,e=d-b;e<--d;)c=a[e],a[e++]=a[d],a[d]=c}function f(a,b){for(var c=0,d=a.length;c<d;){var e=c+d>>>1;a[e]<b?c=e+1:d=e}return c}function g(a,b){return"GeometryCollection"===b.type?{type:"FeatureCollection",features:b.geometries.map(function(b){return h(a,b)})}:h(a,b)}function h(a,b){var c={type:"Feature",id:b.id,properties:b.properties||{},geometry:i(a,b)};return null==b.id&&delete c.id,c}function i(a,b){function d(a,b){b.length&&b.pop();for(var c,d=l[a<0?~a:a],f=0,g=d.length;f<g;++f)b.push(c=d[f].slice()),k(c,f);a<0&&e(b,g)}function f(a){return a=a.slice(),k(a,0),a}function g(a){for(var b=[],c=0,e=a.length;c<e;++c)d(a[c],b);return b.length<2&&b.push(b[0].slice()),b}function h(a){for(var b=g(a);b.length<4;)b.push(b[0].slice());return b}function i(a){return a.map(h)}function j(a){var b=a.type;return"GeometryCollection"===b?{type:b,geometries:a.geometries.map(j)}:b in m?{type:b,coordinates:m[b](a)}:null}var k=c(a.transform),l=a.arcs,m={Point:function(a){return f(a.coordinates)},MultiPoint:function(a){return a.coordinates.map(f)},LineString:function(a){return g(a.arcs)},MultiLineString:function(a){return a.arcs.map(g)},Polygon:function(a){return i(a.arcs)},MultiPolygon:function(a){return a.arcs.map(i)}};return j(b)}function j(a,b){function c(b){var c,d=a.arcs[b<0?~b:b],e=d[0];return a.transform?(c=[0,0],d.forEach(function(a){c[0]+=a[0],c[1]+=a[1]})):c=d[d.length-1],b<0?[c,e]:[e,c]}function d(a,b){for(var c in a){var d=a[c];delete b[d.start],delete d.start,delete d.end,d.forEach(function(a){e[a<0?~a:a]=1}),h.push(d)}}var e={},f={},g={},h=[],i=-1;return b.forEach(function(c,d){var e,f=a.arcs[c<0?~c:c];f.length<3&&!f[1][0]&&!f[1][1]&&(e=b[++i],b[i]=c,b[d]=e)}),b.forEach(function(a){var b,d,e=c(a),h=e[0],i=e[1];if(b=g[h])if(delete g[b.end],b.push(a),b.end=i,d=f[i]){delete f[d.start];var j=d===b?b:b.concat(d);f[j.start=b.start]=g[j.end=d.end]=j}else f[b.start]=g[b.end]=b;else if(b=f[i])if(delete f[b.start],b.unshift(a),b.start=h,d=g[h]){delete g[d.end];var k=d===b?b:d.concat(b);f[k.start=d.start]=g[k.end=b.end]=k}else f[b.start]=g[b.end]=b;else b=[a],f[b.start=h]=g[b.end=i]=b}),d(g,f),d(f,g),b.forEach(function(a){e[a<0?~a:a]||h.push([a])}),h}function k(a){return i(a,l.apply(this,arguments))}function l(a,b,c){function d(a){var b=a<0?~a:a;(k[b]||(k[b]=[])).push({i:a,g:i})}function e(a){a.forEach(d)}function f(a){a.forEach(e)}function g(a){"GeometryCollection"===a.type?a.geometries.forEach(g):a.type in l&&(i=a,l[a.type](a.arcs))}var h=[];if(arguments.length>1){var i,k=[],l={LineString:e,MultiLineString:f,Polygon:f,MultiPolygon:function(a){a.forEach(f)}};g(b),k.forEach(arguments.length<3?function(a){h.push(a[0].i)}:function(a){c(a[0].g,a[a.length-1].g)&&h.push(a[0].i)})}else for(var m=0,n=a.arcs.length;m<n;++m)h.push(m);return{type:"MultiLineString",arcs:j(a,h)}}function m(a){var b=a[0],c=a[1],d=a[2];return Math.abs((b[0]-d[0])*(c[1]-b[1])-(b[0]-c[0])*(d[1]-b[1]))}function n(a){for(var b,c=-1,d=a.length,e=a[d-1],f=0;++c<d;)b=e,e=a[c],f+=b[0]*e[1]-b[1]*e[0];return f/2}function o(a){return i(a,p.apply(this,arguments))}function p(a,b){function c(a){a.forEach(function(b){b.forEach(function(b){(e[b=b<0?~b:b]||(e[b]=[])).push(a)})}),f.push(a)}function d(b){return Math.abs(n(i(a,{type:"Polygon",arcs:[b]}).coordinates[0]))}var e={},f=[],g=[];return b.forEach(function(a){"Polygon"===a.type?c(a.arcs):"MultiPolygon"===a.type&&a.arcs.forEach(c)}),f.forEach(function(a){if(!a._){var b=[],c=[a];for(a._=1,g.push(b);a=c.pop();)b.push(a),a.forEach(function(a){a.forEach(function(a){e[a<0?~a:a].forEach(function(a){a._||(a._=1,c.push(a))})})})}}),f.forEach(function(a){delete a._}),{type:"MultiPolygon",arcs:g.map(function(b){var c,f=[];if(b.forEach(function(a){a.forEach(function(a){a.forEach(function(a){e[a<0?~a:a].length<2&&f.push(a)})})}),f=j(a,f),(c=f.length)>1)for(var g,h,i=1,k=d(f[0]);i<c;++i)(g=d(f[i]))>k&&(h=f[0],f[0]=f[i],f[i]=h,k=g);return f})}}function q(a){function b(a,b){a.forEach(function(a){a<0&&(a=~a);var c=e[a];c?c.push(b):e[a]=[b]})}function c(a,c){a.forEach(function(a){b(a,c)})}function d(a,b){"GeometryCollection"===a.type?a.geometries.forEach(function(a){d(a,b)}):a.type in h&&h[a.type](a.arcs,b)}var e={},g=a.map(function(){return[]}),h={LineString:b,MultiLineString:c,Polygon:c,MultiPolygon:function(a,b){a.forEach(function(a){c(a,b)})}};a.forEach(d);for(var i in e)for(var j=e[i],k=j.length,l=0;l<k;++l)for(var m=l+1;m<k;++m){var n,o=j[l],p=j[m];(n=g[o])[i=f(n,p)]!==p&&n.splice(i,0,p),(n=g[p])[i=f(n,o)]!==o&&n.splice(i,0,o)}return g}function r(a,b){return a[1][2]-b[1][2]}function s(){function a(a,b){for(;b>0;){var c=(b+1>>1)-1,e=d[c];if(r(a,e)>=0)break;d[e._=b]=e,d[a._=b=c]=a}}function b(a,b){for(;;){var c=b+1<<1,f=c-1,g=b,h=d[g];if(f<e&&r(d[f],h)<0&&(h=d[g=f]),c<e&&r(d[c],h)<0&&(h=d[g=c]),g===b)break;d[h._=b]=h,d[a._=b=g]=a}}var c={},d=[],e=0;return c.push=function(b){return a(d[b._=e]=b,e++),e},c.pop=function(){if(!(e<=0)){var a,c=d[0];return--e>0&&(a=d[e],b(d[a._=0]=a,0)),c}},c.remove=function(c){var f,g=c._;if(d[g]===c)return g!==--e&&(f=d[e],(r(f,c)<0?a:b)(d[f._=g]=f,g)),g},c}function t(a,b){function e(a){h.remove(a),a[1][2]=b(a),h.push(a)}var f=c(a.transform),g=d(a.transform),h=s();
return b||(b=m),a.arcs.forEach(function(a){var c,d,i,j,k=[],l=0;for(d=0,i=a.length;d<i;++d)j=a[d],f(a[d]=[j[0],j[1],1/0],d);for(d=1,i=a.length-1;d<i;++d)c=a.slice(d-1,d+2),c[1][2]=b(c),k.push(c),h.push(c);for(d=0,i=k.length;d<i;++d)c=k[d],c.previous=k[d-1],c.next=k[d+1];for(;c=h.pop();){var m=c.previous,n=c.next;c[1][2]<l?c[1][2]=l:l=c[1][2],m&&(m.next=n,m[2]=c[2],e(m)),n&&(n.previous=m,n[0]=c[0],e(n))}a.forEach(g)}),a}var u="1.6.27";a.version=u,a.mesh=k,a.meshArcs=l,a.merge=o,a.mergeArcs=p,a.feature=g,a.neighbors=q,a.presimplify=t,Object.defineProperty(a,"__esModule",{value:!0})})},{}],233:[function(a,b,c){(function(d){!function(a){if("object"==typeof c&&"undefined"!=typeof b)b.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof d?d:"undefined"!=typeof self?self:this,e.jade=a()}}(function(){return function b(c,d,e){function f(h,i){if(!d[h]){if(!c[h]){var j="function"==typeof a&&a;if(!i&&j)return j(h,!0);if(g)return g(h,!0);var k=new Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k}var l=d[h]={exports:{}};c[h][0].call(l.exports,function(a){var b=c[h][1][a];return f(b?b:a)},l,l.exports,b,c,d,e)}return d[h].exports}for(var g="function"==typeof a&&a,h=0;h<e.length;h++)f(e[h]);return f}({1:[function(a,b,c){"use strict";function d(a){return null!=a&&""!==a}function e(a){return(Array.isArray(a)?a.map(e):a&&"object"==typeof a?Object.keys(a).filter(function(b){return a[b]}):[a]).filter(d).join(" ")}function f(a){return h[a]||a}function g(a){var b=String(a).replace(i,f);return b===""+a?a:b}c.merge=function j(a,b){if(1===arguments.length){for(var c=a[0],e=1;e<a.length;e++)c=j(c,a[e]);return c}var f=a["class"],g=b["class"];(f||g)&&(f=f||[],g=g||[],Array.isArray(f)||(f=[f]),Array.isArray(g)||(g=[g]),a["class"]=f.concat(g).filter(d));for(var h in b)"class"!=h&&(a[h]=b[h]);return a},c.joinClasses=e,c.cls=function(a,b){for(var d=[],f=0;f<a.length;f++)b&&b[f]?d.push(c.escape(e([a[f]]))):d.push(e(a[f]));var g=e(d);return g.length?' class="'+g+'"':""},c.style=function(a){return a&&"object"==typeof a?Object.keys(a).map(function(b){return b+":"+a[b]}).join(";"):a},c.attr=function(a,b,d,e){return"style"===a&&(b=c.style(b)),"boolean"==typeof b||null==b?b?" "+(e?a:a+'="'+a+'"'):"":0==a.indexOf("data")&&"string"!=typeof b?(JSON.stringify(b).indexOf("&")!==-1&&console.warn("Since Jade 2.0.0, ampersands (`&`) in data attributes will be escaped to `&amp;`"),b&&"function"==typeof b.toISOString&&console.warn("Jade will eliminate the double quotes around dates in ISO form after 2.0.0")," "+a+"='"+JSON.stringify(b).replace(/'/g,"&apos;")+"'"):d?(b&&"function"==typeof b.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+a+'="'+c.escape(b)+'"'):(b&&"function"==typeof b.toISOString&&console.warn("Jade will stringify dates in ISO form after 2.0.0")," "+a+'="'+b+'"')},c.attrs=function(a,b){var d=[],f=Object.keys(a);if(f.length)for(var g=0;g<f.length;++g){var h=f[g],i=a[h];"class"==h?(i=e(i))&&d.push(" "+h+'="'+i+'"'):d.push(c.attr(h,i,!1,b))}return d.join("")};var h={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"},i=/[&<>"]/g;c.escape=g,c.rethrow=function k(b,c,d,e){if(!(b instanceof Error))throw b;if(!("undefined"==typeof window&&c||e))throw b.message+=" on line "+d,b;try{e=e||a("fs").readFileSync(c,"utf8")}catch(f){k(b,null,d)}var g=3,h=e.split("\n"),i=Math.max(d-g,0),j=Math.min(h.length,d+g),g=h.slice(i,j).map(function(a,b){var c=b+i+1;return(c==d?"  > ":"    ")+c+"| "+a}).join("\n");throw b.path=c,b.message=(c||"Jade")+":"+d+"\n"+g+"\n\n"+b.message,b},c.DebugItem=function(a,b){this.lineno=a,this.filename=b}},{fs:2}],2:[function(a,b,c){},{}]},{},[1])(1)})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{fs:2}],234:[function(a,b,c){var d=a("lodash");d.defaults;b.exports=d.partialRight(d.merge,function e(a,b){return d.isArray(arguments[0])||d.isDate(arguments[0])?arguments[0]:d.merge(a,b,e)})},{lodash:235}],235:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d<e;)if(a[d]===b)return d;return-1}function e(a,b){var c=typeof b;if(a=a.cache,"boolean"==c||null==b)return a[b]?0:-1;"number"!=c&&"string"!=c&&(c="object");var e="number"==c?b:u+b;return a=(a=a[c])&&a[e],"object"==c?a&&d(a,b)>-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:u+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){return a.charCodeAt(0)}function h(a,b){for(var c=a.criteria,d=b.criteria,e=-1,f=c.length;++e<f;){var g=c[e],h=d[e];if(g!==h){if(g>h||"undefined"==typeof g)return 1;if(g<h||"undefined"==typeof h)return-1}}return a.index-b.index}function i(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=l();h["false"]=h["null"]=h["true"]=h.undefined=!1;var i=l();for(i.array=a,i.cache=h,i.push=f;++b<c;)i.push(a[b]);return i}function j(a){return"\\"+Y[a]}function k(){return r.pop()||[]}function l(){return s.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function m(a){a.length=0,r.length<w&&r.push(a)}function n(a){var b=a.cache;b&&n(b),a.array=a.cache=a.criteria=a.object=a.number=a.string=a.value=null,s.length<w&&s.push(a)}function o(a,b,c){b||(b=0),"undefined"==typeof c&&(c=a?a.length:0);for(var d=-1,e=c-b||0,f=Array(e<0?0:e);++d<e;)f[d]=a[b+d];return f}function p(a){function b(a){return a&&"object"==typeof a&&!Zc(a)&&Hc.call(a,"__wrapped__")?a:new c(a)}function c(a,b){this.__chain__=!!b,this.__wrapped__=a}function f(a){function b(){if(d){var a=o(d);Ic.apply(a,arguments)}if(this instanceof b){var f=s(c.prototype),g=c.apply(f,a||arguments);return Ea(g)?g:f}return c.apply(e,a||arguments)}var c=a[0],d=a[2],e=a[4];return Yc(b,a),b}function r(a,b,c,d,e){if(c){var f=c(a);if("undefined"!=typeof f)return f}var g=Ea(a);if(!g)return a;var h=Ac.call(a);if(!U[h])return a;var i=Wc[h];switch(h){case N:case O:return new i((+a));case Q:case T:return new i(a);case S:return f=i(a.source,C.exec(a)),f.lastIndex=a.lastIndex,f}var j=Zc(a);if(b){var l=!d;d||(d=k()),e||(e=k());for(var n=d.length;n--;)if(d[n]==a)return e[n];f=j?i(a.length):{}}else f=j?o(a):ed({},a);return j&&(Hc.call(a,"index")&&(f.index=a.index),Hc.call(a,"input")&&(f.input=a.input)),b?(d.push(a),e.push(f),(j?Ya:hd)(a,function(a,g){f[g]=r(a,b,c,d,e)}),l&&(m(d),m(e)),f):f}function s(a,b){return Ea(a)?Nc(a):{}}function w(a,b,c){if("function"!=typeof a)return Zb;if("undefined"==typeof b||!("prototype"in a))return a;var d=a.__bindData__;if("undefined"==typeof d&&(Xc.funcNames&&(d=!a.name),d=d||!Xc.funcDecomp,!d)){var e=Fc.call(a);Xc.funcNames||(d=!D.test(e)),d||(d=H.test(e),Yc(a,d))}if(d===!1||d!==!0&&1&d[1])return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)}}return Ib(a,b)}function Y(a){function b(){var a=i?g:this;if(e){var n=o(e);Ic.apply(n,arguments)}if((f||k)&&(n||(n=o(arguments)),f&&Ic.apply(n,f),k&&n.length<h))return d|=16,Y([c,l?d:d&-4,n,null,g,h]);if(n||(n=arguments),j&&(c=a[m]),this instanceof b){a=s(c.prototype);var p=c.apply(a,n);return Ea(p)?p:a}return c.apply(a,n)}var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=1&d,j=2&d,k=4&d,l=8&d,m=c;return Yc(b,a),b}function $(a,b){var c=-1,f=ia(),g=a?a.length:0,h=g>=v&&f===d,j=[];if(h){var k=i(b);k?(f=e,b=k):h=!1}for(;++c<g;){var l=a[c];f(b,l)<0&&j.push(l)}return h&&n(b),j}function _(a,b,c,d){for(var e=(d||0)-1,f=a?a.length:0,g=[];++e<f;){var h=a[e];if(h&&"object"==typeof h&&"number"==typeof h.length&&(Zc(h)||ma(h))){b||(h=_(h,b,c));var i=-1,j=h.length,k=g.length;for(g.length+=j;++i<j;)g[k++]=h[i]}else c||g.push(h)}return g}function aa(a,b,c,d,e,f){if(c){var g=c(a,b);if("undefined"!=typeof g)return!!g}if(a===b)return 0!==a||1/a==1/b;var h=typeof a,i=typeof b;if(!(a!==a||a&&X[h]||b&&X[i]))return!1;if(null==a||null==b)return a===b;var j=Ac.call(a),l=Ac.call(b);if(j==L&&(j=R),l==L&&(l=R),j!=l)return!1;switch(j){case N:case O:return+a==+b;case Q:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case S:case T:return a==vc(b)}var n=j==M;if(!n){var o=Hc.call(a,"__wrapped__"),p=Hc.call(b,"__wrapped__");if(o||p)return aa(o?a.__wrapped__:a,p?b.__wrapped__:b,c,d,e,f);if(j!=R)return!1;var q=a.constructor,r=b.constructor;if(q!=r&&!(Da(q)&&q instanceof q&&Da(r)&&r instanceof r)&&"constructor"in a&&"constructor"in b)return!1}var s=!e;e||(e=k()),f||(f=k());for(var t=e.length;t--;)if(e[t]==a)return f[t]==b;var u=0;if(g=!0,e.push(a),f.push(b),n){if(t=a.length,u=b.length,g=u==t,g||d)for(;u--;){var v=t,w=b[u];if(d)for(;v--&&!(g=aa(a[v],w,c,d,e,f)););else if(!(g=aa(a[u],w,c,d,e,f)))break}}else gd(b,function(b,h,i){if(Hc.call(i,h))return u++,g=Hc.call(a,h)&&aa(a[h],b,c,d,e,f)}),g&&!d&&gd(a,function(a,b,c){if(Hc.call(c,b))return g=--u>-1});return e.pop(),f.pop(),s&&(m(e),m(f)),g}function ba(a,b,c,d,e){(Zc(b)?Ya:hd)(b,function(b,f){var g,h,i=b,j=a[f];if(b&&((h=Zc(b))||id(b))){for(var k=d.length;k--;)if(g=d[k]==b){j=e[k];break}if(!g){var l;c&&(i=c(j,b),(l="undefined"!=typeof i)&&(j=i)),l||(j=h?Zc(j)?j:[]:id(j)?j:{}),d.push(b),e.push(j),l||ba(j,b,c,d,e)}}else c&&(i=c(j,b),"undefined"==typeof i&&(i=b)),"undefined"!=typeof i&&(j=i);a[f]=j})}function da(a,b){return a+Ec(Vc()*(b-a+1))}function ea(a,b,c){var f=-1,g=ia(),h=a?a.length:0,j=[],l=!b&&h>=v&&g===d,o=c||l?k():j;if(l){var p=i(o);g=e,o=p}for(;++f<h;){var q=a[f],r=c?c(q,f,a):q;(b?!f||o[o.length-1]!==r:g(o,r)<0)&&((c||l)&&o.push(r),j.push(q))}return l?(m(o.array),n(o)):c&&m(o),j}function fa(a){return function(c,d,e){var f={};d=b.createCallback(d,e,3);var g=-1,h=c?c.length:0;if("number"==typeof h)for(;++g<h;){var i=c[g];a(f,i,d(i,g,c),c)}else hd(c,function(b,c,e){a(f,b,d(b,c,e),e)});return f}}function ga(a,b,c,d,e,g){var h=1&b,i=2&b,j=4&b,k=16&b,l=32&b;if(!i&&!Da(a))throw new wc;k&&!c.length&&(b&=-17,k=c=!1),l&&!d.length&&(b&=-33,l=d=!1);var m=a&&a.__bindData__;if(m&&m!==!0)return m=o(m),m[2]&&(m[2]=o(m[2])),m[3]&&(m[3]=o(m[3])),!h||1&m[1]||(m[4]=e),!h&&1&m[1]&&(b|=8),!j||4&m[1]||(m[5]=g),k&&Ic.apply(m[2]||(m[2]=[]),c),l&&Lc.apply(m[3]||(m[3]=[]),d),m[1]|=b,ga.apply(null,m);var n=1==b||17===b?f:Y;return n([a,b,c,d,e,g])}function ha(a){return ad[a]}function ia(){var a=(a=b.indexOf)===rb?d:a;return a}function ja(a){return"function"==typeof a&&Bc.test(a)}function ka(a){var b,c;return!!(a&&Ac.call(a)==R&&(b=a.constructor,!Da(b)||b instanceof b))&&(gd(a,function(a,b){c=b}),"undefined"==typeof c||Hc.call(a,c))}function la(a){return bd[a]}function ma(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Ac.call(a)==L||!1}function na(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c=b,b=!1),r(a,b,"function"==typeof c&&w(c,d,1))}function oa(a,b,c){return r(a,!0,"function"==typeof b&&w(b,c,1))}function pa(a,b){var c=s(a);return b?ed(c,b):c}function qa(a,c,d){var e;return c=b.createCallback(c,d,3),hd(a,function(a,b,d){if(c(a,b,d))return e=b,!1}),e}function ra(a,c,d){var e;return c=b.createCallback(c,d,3),ta(a,function(a,b,d){if(c(a,b,d))return e=b,!1}),e}function sa(a,b,c){var d=[];gd(a,function(a,b){d.push(b,a)});var e=d.length;for(b=w(b,c,3);e--&&b(d[e--],d[e],a)!==!1;);return a}function ta(a,b,c){var d=_c(a),e=d.length;for(b=w(b,c,3);e--;){var f=d[e];if(b(a[f],f,a)===!1)break}return a}function ua(a){var b=[];return gd(a,function(a,c){Da(a)&&b.push(c)}),b.sort()}function va(a,b){return!!a&&Hc.call(a,b)}function wa(a){for(var b=-1,c=_c(a),d=c.length,e={};++b<d;){var f=c[b];e[a[f]]=f}return e}function xa(a){return a===!0||a===!1||a&&"object"==typeof a&&Ac.call(a)==N||!1}function ya(a){return a&&"object"==typeof a&&Ac.call(a)==O||!1}function za(a){return a&&1===a.nodeType||!1}function Aa(a){var b=!0;if(!a)return b;var c=Ac.call(a),d=a.length;return c==M||c==T||c==L||c==R&&"number"==typeof d&&Da(a.splice)?!d:(hd(a,function(){return b=!1}),b)}function Ba(a,b,c,d){return aa(a,b,"function"==typeof c&&w(c,d,2))}function Ca(a){return Pc(a)&&!Qc(parseFloat(a))}function Da(a){return"function"==typeof a}function Ea(a){return!(!a||!X[typeof a])}function Fa(a){return Ha(a)&&a!=+a}function Ga(a){return null===a}function Ha(a){return"number"==typeof a||a&&"object"==typeof a&&Ac.call(a)==Q||!1}function Ia(a){return a&&"object"==typeof a&&Ac.call(a)==S||!1}function Ja(a){return"string"==typeof a||a&&"object"==typeof a&&Ac.call(a)==T||!1}function Ka(a){return"undefined"==typeof a}function La(a,c,d){var e={};return c=b.createCallback(c,d,3),hd(a,function(a,b,d){e[b]=c(a,b,d)}),e}function Ma(a){var b=arguments,c=2;if(!Ea(a))return a;if("number"!=typeof b[2]&&(c=b.length),c>3&&"function"==typeof b[c-2])var d=w(b[--c-1],b[c--],2);else c>2&&"function"==typeof b[c-1]&&(d=b[--c]);for(var e=o(arguments,1,c),f=-1,g=k(),h=k();++f<c;)ba(a,e[f],d,g,h);return m(g),m(h),a}function Na(a,c,d){var e={};if("function"!=typeof c){var f=[];gd(a,function(a,b){f.push(b)}),f=$(f,_(arguments,!0,!1,1));for(var g=-1,h=f.length;++g<h;){var i=f[g];e[i]=a[i]}}else c=b.createCallback(c,d,3),gd(a,function(a,b,d){c(a,b,d)||(e[b]=a)});return e}function Oa(a){for(var b=-1,c=_c(a),d=c.length,e=nc(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function Pa(a,c,d){var e={};if("function"!=typeof c)for(var f=-1,g=_(arguments,!0,!1,1),h=Ea(a)?g.length:0;++f<h;){var i=g[f];i in a&&(e[i]=a[i])}else c=b.createCallback(c,d,3),gd(a,function(a,b,d){c(a,b,d)&&(e[b]=a)});return e}function Qa(a,c,d,e){var f=Zc(a);if(null==d)if(f)d=[];else{var g=a&&a.constructor,h=g&&g.prototype;d=s(h)}return c&&(c=b.createCallback(c,e,4),(f?Ya:hd)(a,function(a,b,e){return c(d,a,b,e)})),d}function Ra(a){for(var b=-1,c=_c(a),d=c.length,e=nc(d);++b<d;)e[b]=a[c[b]];return e}function Sa(a){for(var b=arguments,c=-1,d=_(b,!0,!1,1),e=b[2]&&b[2][b[1]]===a?1:d.length,f=nc(e);++c<e;)f[c]=a[d[c]];return f}function Ta(a,b,c){var d=-1,e=ia(),f=a?a.length:0,g=!1;return c=(c<0?Sc(0,f+c):c)||0,Zc(a)?g=e(a,b,c)>-1:"number"==typeof f?g=(Ja(a)?a.indexOf(b,c):e(a,b,c))>-1:hd(a,function(a){if(++d>=c)return!(g=a===b)}),g}function Ua(a,c,d){var e=!0;c=b.createCallback(c,d,3);var f=-1,g=a?a.length:0;if("number"==typeof g)for(;++f<g&&(e=!!c(a[f],f,a)););else hd(a,function(a,b,d){return e=!!c(a,b,d)});return e}function Va(a,c,d){var e=[];c=b.createCallback(c,d,3);var f=-1,g=a?a.length:0;if("number"==typeof g)for(;++f<g;){var h=a[f];c(h,f,a)&&e.push(h)}else hd(a,function(a,b,d){c(a,b,d)&&e.push(a)});return e}function Wa(a,c,d){c=b.createCallback(c,d,3);var e=-1,f=a?a.length:0;if("number"!=typeof f){var g;return hd(a,function(a,b,d){if(c(a,b,d))return g=a,!1}),g}for(;++e<f;){var h=a[e];if(c(h,e,a))return h}}function Xa(a,c,d){var e;return c=b.createCallback(c,d,3),Za(a,function(a,b,d){if(c(a,b,d))return e=a,!1}),e}function Ya(a,b,c){var d=-1,e=a?a.length:0;if(b=b&&"undefined"==typeof c?b:w(b,c,3),"number"==typeof e)for(;++d<e&&b(a[d],d,a)!==!1;);else hd(a,b);return a}function Za(a,b,c){var d=a?a.length:0;if(b=b&&"undefined"==typeof c?b:w(b,c,3),"number"==typeof d)for(;d--&&b(a[d],d,a)!==!1;);else{var e=_c(a);d=e.length,hd(a,function(a,c,f){return c=e?e[--d]:--d,b(f[c],c,f)})}return a}function $a(a,b){var c=o(arguments,2),d=-1,e="function"==typeof b,f=a?a.length:0,g=nc("number"==typeof f?f:0);return Ya(a,function(a){g[++d]=(e?b:a[b]).apply(a,c)}),g}function _a(a,c,d){var e=-1,f=a?a.length:0;if(c=b.createCallback(c,d,3),"number"==typeof f)for(var g=nc(f);++e<f;)g[e]=c(a[e],e,a);else g=[],hd(a,function(a,b,d){g[++e]=c(a,b,d)});return g}function ab(a,c,d){var e=-(1/0),f=e;if("function"!=typeof c&&d&&d[c]===a&&(c=null),null==c&&Zc(a))for(var h=-1,i=a.length;++h<i;){var j=a[h];j>f&&(f=j)}else c=null==c&&Ja(a)?g:b.createCallback(c,d,3),Ya(a,function(a,b,d){var g=c(a,b,d);g>e&&(e=g,f=a)});return f}function bb(a,c,d){var e=1/0,f=e;if("function"!=typeof c&&d&&d[c]===a&&(c=null),null==c&&Zc(a))for(var h=-1,i=a.length;++h<i;){var j=a[h];j<f&&(f=j)}else c=null==c&&Ja(a)?g:b.createCallback(c,d,3),Ya(a,function(a,b,d){var g=c(a,b,d);g<e&&(e=g,f=a)});return f}function cb(a,c,d,e){if(!a)return d;var f=arguments.length<3;c=b.createCallback(c,e,4);var g=-1,h=a.length;if("number"==typeof h)for(f&&(d=a[++g]);++g<h;)d=c(d,a[g],g,a);else hd(a,function(a,b,e){d=f?(f=!1,a):c(d,a,b,e)});return d}function db(a,c,d,e){var f=arguments.length<3;return c=b.createCallback(c,e,4),Za(a,function(a,b,e){d=f?(f=!1,a):c(d,a,b,e)}),d}function eb(a,c,d){return c=b.createCallback(c,d,3),Va(a,function(a,b,d){return!c(a,b,d)})}function fb(a,b,c){if(a&&"number"!=typeof a.length&&(a=Ra(a)),null==b||c)return a?a[da(0,a.length-1)]:q;var d=gb(a);return d.length=Tc(Sc(0,b),d.length),d}function gb(a){var b=-1,c=a?a.length:0,d=nc("number"==typeof c?c:0);return Ya(a,function(a){var c=da(0,++b);d[b]=d[c],d[c]=a}),d}function hb(a){var b=a?a.length:0;return"number"==typeof b?b:_c(a).length}function ib(a,c,d){var e;c=b.createCallback(c,d,3);var f=-1,g=a?a.length:0;if("number"==typeof g)for(;++f<g&&!(e=c(a[f],f,a)););else hd(a,function(a,b,d){return!(e=c(a,b,d))});return!!e}function jb(a,c,d){var e=-1,f=Zc(c),g=a?a.length:0,i=nc("number"==typeof g?g:0);for(f||(c=b.createCallback(c,d,3)),Ya(a,function(a,b,d){var g=i[++e]=l();f?g.criteria=_a(c,function(b){return a[b]}):(g.criteria=k())[0]=c(a,b,d),g.index=e,g.value=a}),g=i.length,i.sort(h);g--;){var j=i[g];i[g]=j.value,f||m(j.criteria),n(j)}return i}function kb(a){return a&&"number"==typeof a.length?o(a):Ra(a)}function lb(a){for(var b=-1,c=a?a.length:0,d=[];++b<c;){var e=a[b];e&&d.push(e)}return d}function mb(a){return $(a,_(arguments,!0,!0,1))}function nb(a,c,d){var e=-1,f=a?a.length:0;for(c=b.createCallback(c,d,3);++e<f;)if(c(a[e],e,a))return e;return-1}function ob(a,c,d){var e=a?a.length:0;for(c=b.createCallback(c,d,3);e--;)if(c(a[e],e,a))return e;return-1}function pb(a,c,d){var e=0,f=a?a.length:0;if("number"!=typeof c&&null!=c){var g=-1;for(c=b.createCallback(c,d,3);++g<f&&c(a[g],g,a);)e++}else if(e=c,null==e||d)return a?a[0]:q;return o(a,0,Tc(Sc(0,e),f))}function qb(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c="function"!=typeof b&&d&&d[b]===a?null:b,b=!1),null!=c&&(a=_a(a,c,d)),_(a,b)}function rb(a,b,c){if("number"==typeof c){var e=a?a.length:0;c=c<0?Sc(0,e+c):c||0}else if(c){var f=Ab(a,b);return a[f]===b?f:-1}return d(a,b,c)}function sb(a,c,d){var e=0,f=a?a.length:0;if("number"!=typeof c&&null!=c){var g=f;for(c=b.createCallback(c,d,3);g--&&c(a[g],g,a);)e++}else e=null==c||d?1:c||e;return o(a,0,Tc(Sc(0,f-e),f))}function tb(){for(var a=[],b=-1,c=arguments.length,f=k(),g=ia(),h=g===d,j=k();++b<c;){var l=arguments[b];(Zc(l)||ma(l))&&(a.push(l),f.push(h&&l.length>=v&&i(b?a[b]:j)))}var o=a[0],p=-1,q=o?o.length:0,r=[];a:for(;++p<q;){var s=f[0];if(l=o[p],(s?e(s,l):g(j,l))<0){for(b=c,(s||j).push(l);--b;)if(s=f[b],(s?e(s,l):g(a[b],l))<0)continue a;r.push(l)}}for(;c--;)s=f[c],s&&n(s);return m(f),m(j),r}function ub(a,c,d){var e=0,f=a?a.length:0;if("number"!=typeof c&&null!=c){var g=f;for(c=b.createCallback(c,d,3);g--&&c(a[g],g,a);)e++}else if(e=c,null==e||d)return a?a[f-1]:q;return o(a,Sc(0,f-e))}function vb(a,b,c){var d=a?a.length:0;for("number"==typeof c&&(d=(c<0?Sc(0,d+c):Tc(c,d-1))+1);d--;)if(a[d]===b)return d;return-1}function wb(a){for(var b=arguments,c=0,d=b.length,e=a?a.length:0;++c<d;)for(var f=-1,g=b[c];++f<e;)a[f]===g&&(Kc.call(a,f--,1),e--);return a}function xb(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Sc(0,Cc((b-a)/(c||1))),f=nc(e);++d<e;)f[d]=a,a+=c;return f}function yb(a,c,d){var e=-1,f=a?a.length:0,g=[];for(c=b.createCallback(c,d,3);++e<f;){var h=a[e];c(h,e,a)&&(g.push(h),Kc.call(a,e--,1),f--)}return g}function zb(a,c,d){if("number"!=typeof c&&null!=c){var e=0,f=-1,g=a?a.length:0;for(c=b.createCallback(c,d,3);++f<g&&c(a[f],f,a);)e++}else e=null==c||d?1:Sc(0,c);return o(a,e)}function Ab(a,c,d,e){var f=0,g=a?a.length:f;for(d=d?b.createCallback(d,e,1):Zb,c=d(c);f<g;){var h=f+g>>>1;d(a[h])<c?f=h+1:g=h}return f}function Bb(){return ea(_(arguments,!0,!0))}function Cb(a,c,d,e){return"boolean"!=typeof c&&null!=c&&(e=d,d="function"!=typeof c&&e&&e[c]===a?null:c,c=!1),null!=d&&(d=b.createCallback(d,e,3)),ea(a,c,d)}function Db(a){return $(a,o(arguments,1))}function Eb(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(Zc(c)||ma(c))var d=d?ea($(d,c).concat($(c,d))):c}return d||[]}function Fb(){for(var a=arguments.length>1?arguments:arguments[0],b=-1,c=a?ab(md(a,"length")):0,d=nc(c<0?0:c);++b<c;)d[b]=md(a,b);return d}function Gb(a,b){var c=-1,d=a?a.length:0,e={};for(b||!d||Zc(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function Hb(a,b){if(!Da(b))throw new wc;return function(){if(--a<1)return b.apply(this,arguments)}}function Ib(a,b){return arguments.length>2?ga(a,17,o(arguments,2),null,b):ga(a,1,null,null,b)}function Jb(a){for(var b=arguments.length>1?_(arguments,!0,!1,1):ua(a),c=-1,d=b.length;++c<d;){var e=b[c];a[e]=ga(a[e],1,null,null,a)}return a}function Kb(a,b){return arguments.length>2?ga(b,19,o(arguments,2),null,a):ga(b,3,null,null,a)}function Lb(){for(var a=arguments,b=a.length;b--;)if(!Da(a[b]))throw new wc;return function(){for(var b=arguments,c=a.length;c--;)b=[a[c].apply(this,b)];return b[0]}}function Mb(a,b){return b="number"==typeof b?b:+b||a.length,ga(a,4,null,null,null,b)}function Nb(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!Da(a))throw new wc;if(b=Sc(0,b)||0,c===!0){var n=!0;m=!1}else Ea(c)&&(n=c.leading,l="maxWait"in c&&(Sc(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(od()-g);if(c<=0){e&&Dc(e);var l=j;e=i=j=q,l&&(k=od(),f=a.apply(h,d),i||e||(d=h=null))}else i=Jc(o,c)},p=function(){i&&Dc(i),e=i=j=q,(m||l!==b)&&(k=od(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=od(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=q<=0;r?(e&&(e=Dc(e)),k=g,f=a.apply(h,d)):e||(e=Jc(p,q))}return r&&i?i=Dc(i):i||b===l||(i=Jc(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function Ob(a){if(!Da(a))throw new wc;var b=o(arguments,1);return Jc(function(){a.apply(q,b)},1)}function Pb(a,b){if(!Da(a))throw new wc;var c=o(arguments,2);return Jc(function(){a.apply(q,c)},b)}function Qb(a,b){if(!Da(a))throw new wc;var c=function(){var d=c.cache,e=b?b.apply(this,arguments):u+arguments[0];return Hc.call(d,e)?d[e]:d[e]=a.apply(this,arguments)};return c.cache={},c}function Rb(a){var b,c;if(!Da(a))throw new wc;return function(){return b?c:(b=!0,c=a.apply(this,arguments),a=null,c)}}function Sb(a){return ga(a,16,o(arguments,1))}function Tb(a){return ga(a,32,null,o(arguments,1))}function Ub(a,b,c){var d=!0,e=!0;if(!Da(a))throw new wc;return c===!1?d=!1:Ea(c)&&(d="leading"in c?c.leading:d,e="trailing"in c?c.trailing:e),V.leading=d,V.maxWait=b,V.trailing=e,Nb(a,b,V)}function Vb(a,b){return ga(b,16,[a])}function Wb(a){return function(){return a}}function Xb(a,b,c){var d=typeof a;if(null==a||"function"==d)return w(a,b,c);if("object"!=d)return bc(a);var e=_c(a),f=e[0],g=a[f];return 1!=e.length||g!==g||Ea(g)?function(b){for(var c=e.length,d=!1;c--&&(d=aa(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Yb(a){return null==a?"":vc(a).replace(dd,ha)}function Zb(a){return a}function $b(a,d,e){var f=!0,g=d&&ua(d);d&&(e||g.length)||(null==e&&(e=d),h=c,d=a,a=b,g=ua(d)),e===!1?f=!1:Ea(e)&&"chain"in e&&(f=e.chain);var h=a,i=Da(h);Ya(g,function(b){var c=a[b]=d[b];i&&(h.prototype[b]=function(){var b=this.__chain__,d=this.__wrapped__,e=[d];Ic.apply(e,arguments);var g=c.apply(a,e);if(f||b){if(d===g&&Ea(g))return this;g=new h(g),g.__chain__=b}return g})})}function _b(){return a._=zc,this}function ac(){}function bc(a){return function(b){return b[a]}}function cc(a,b,c){var d=null==a,e=null==b;if(null==c&&("boolean"==typeof a&&e?(c=a,a=1):e||"boolean"!=typeof b||(c=b,e=!0)),d&&e&&(b=1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=Vc();return Tc(a+f*(b-a+parseFloat("1e-"+((f+"").length-1))),b)}return da(a,b)}function dc(a,b){if(a){var c=a[b];return Da(c)?a[b]():c}}function ec(a,c,d){var e=b.templateSettings;a=vc(a||""),d=fd({},d,e);var f,g=fd({},d.imports,e.imports),h=_c(g),i=Ra(g),k=0,l=d.interpolate||G,m="__p += '",n=uc((d.escape||G).source+"|"+l.source+"|"+(l===E?B:G).source+"|"+(d.evaluate||G).source+"|$","g");a.replace(n,function(b,c,d,e,g,h){return d||(d=e),m+=a.slice(k,h).replace(I,j),c&&(m+="' +\n__e("+c+") +\n'"),g&&(f=!0,m+="';\n"+g+";\n__p += '"),d&&(m+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),k=h+b.length,b}),m+="';\n";var o=d.variable,p=o;p||(o="obj",m="with ("+o+") {\n"+m+"\n}\n"),m=(f?m.replace(y,""):m).replace(z,"$1").replace(A,"$1;"),m="function("+o+") {\n"+(p?"":o+" || ("+o+" = {});\n")+"var __t, __p = '', __e = _.escape"+(f?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+m+"return __p\n}";var r="\n/*\n//# sourceURL="+(d.sourceURL||"/lodash/template/source["+K++ +"]")+"\n*/";try{var s=qc(h,"return "+m+r).apply(q,i)}catch(t){throw t.source=m,t}return c?s(c):(s.source=m,s)}function fc(a,b,c){a=(a=+a)>-1?a:0;var d=-1,e=nc(a);for(b=w(b,c,1);++d<a;)e[d]=b(d);return e}function gc(a){return null==a?"":vc(a).replace(cd,la)}function hc(a){var b=++t;return vc(null==a?"":a)+b}function ic(a){return a=new c(a),a.__chain__=!0,a}function jc(a,b){return b(a),a}function kc(){return this.__chain__=!0,this}function lc(){return vc(this.__wrapped__)}function mc(){return this.__wrapped__}a=a?ca.defaults(Z.Object(),a,ca.pick(Z,J)):Z;var nc=a.Array,oc=a.Boolean,pc=a.Date,qc=a.Function,rc=a.Math,sc=a.Number,tc=a.Object,uc=a.RegExp,vc=a.String,wc=a.TypeError,xc=[],yc=tc.prototype,zc=a._,Ac=yc.toString,Bc=uc("^"+vc(Ac).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Cc=rc.ceil,Dc=a.clearTimeout,Ec=rc.floor,Fc=qc.prototype.toString,Gc=ja(Gc=tc.getPrototypeOf)&&Gc,Hc=yc.hasOwnProperty,Ic=xc.push,Jc=a.setTimeout,Kc=xc.splice,Lc=xc.unshift,Mc=function(){try{var a={},b=ja(b=tc.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Nc=ja(Nc=tc.create)&&Nc,Oc=ja(Oc=nc.isArray)&&Oc,Pc=a.isFinite,Qc=a.isNaN,Rc=ja(Rc=tc.keys)&&Rc,Sc=rc.max,Tc=rc.min,Uc=a.parseInt,Vc=rc.random,Wc={};Wc[M]=nc,Wc[N]=oc,Wc[O]=pc,Wc[P]=qc,Wc[R]=tc,Wc[Q]=sc,Wc[S]=uc,Wc[T]=vc,c.prototype=b.prototype;var Xc=b.support={};Xc.funcDecomp=!ja(a.WinRTError)&&H.test(p),Xc.funcNames="string"==typeof qc.name,b.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:E,variable:"",imports:{_:b}},Nc||(s=function(){function b(){}return function(c){if(Ea(c)){b.prototype=c;var d=new b;b.prototype=null}return d||a.Object()}}());var Yc=Mc?function(a,b){W.value=b,Mc(a,"__bindData__",W),W.value=null}:ac,Zc=Oc||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Ac.call(a)==M||!1},$c=function(a){var b,c=a,d=[];if(!c)return d;if(!X[typeof a])return d;for(b in c)Hc.call(c,b)&&d.push(b);return d},_c=Rc?function(a){return Ea(a)?Rc(a):[]}:$c,ad={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},bd=wa(ad),cd=uc("("+_c(bd).join("|")+")","g"),dd=uc("["+_c(ad).join("")+"]","g"),ed=function(a,b,c){var d,e=a,f=e;if(!e)return f;var g=arguments,h=0,i="number"==typeof c?2:g.length;if(i>3&&"function"==typeof g[i-2])var j=w(g[--i-1],g[i--],2);else i>2&&"function"==typeof g[i-1]&&(j=g[--i]);for(;++h<i;)if(e=g[h],e&&X[typeof e])for(var k=-1,l=X[typeof e]&&_c(e),m=l?l.length:0;++k<m;)d=l[k],f[d]=j?j(f[d],e[d]):e[d];return f},fd=function(a,b,c){var d,e=a,f=e;if(!e)return f;for(var g=arguments,h=0,i="number"==typeof c?2:g.length;++h<i;)if(e=g[h],e&&X[typeof e])for(var j=-1,k=X[typeof e]&&_c(e),l=k?k.length:0;++j<l;)d=k[j],"undefined"==typeof f[d]&&(f[d]=e[d]);return f},gd=function(a,b,c){var d,e=a,f=e;if(!e)return f;if(!X[typeof e])return f;b=b&&"undefined"==typeof c?b:w(b,c,3);for(d in e)if(b(e[d],d,a)===!1)return f;return f},hd=function(a,b,c){var d,e=a,f=e;if(!e)return f;if(!X[typeof e])return f;b=b&&"undefined"==typeof c?b:w(b,c,3);for(var g=-1,h=X[typeof e]&&_c(e),i=h?h.length:0;++g<i;)if(d=h[g],b(e[d],d,a)===!1)return f;return f},id=Gc?function(a){if(!a||Ac.call(a)!=R)return!1;var b=a.valueOf,c=ja(b)&&(c=Gc(b))&&Gc(c);return c?a==c||Gc(a)==c:ka(a)}:ka,jd=fa(function(a,b,c){Hc.call(a,c)?a[c]++:a[c]=1}),kd=fa(function(a,b,c){(Hc.call(a,c)?a[c]:a[c]=[]).push(b)}),ld=fa(function(a,b,c){a[c]=b}),md=_a,nd=Va,od=ja(od=pc.now)&&od||function(){return(new pc).getTime()},pd=8==Uc(x+"08")?Uc:function(a,b){return Uc(Ja(a)?a.replace(F,""):a,b||0)};return b.after=Hb,b.assign=ed,b.at=Sa,b.bind=Ib,b.bindAll=Jb,b.bindKey=Kb,b.chain=ic,b.compact=lb,b.compose=Lb,b.constant=Wb,b.countBy=jd,b.create=pa,b.createCallback=Xb,b.curry=Mb,b.debounce=Nb,b.defaults=fd,b.defer=Ob,b.delay=Pb,b.difference=mb,b.filter=Va,b.flatten=qb,b.forEach=Ya,b.forEachRight=Za,b.forIn=gd,b.forInRight=sa,b.forOwn=hd,b.forOwnRight=ta,b.functions=ua,b.groupBy=kd,b.indexBy=ld,b.initial=sb,b.intersection=tb,b.invert=wa,b.invoke=$a,b.keys=_c,b.map=_a,b.mapValues=La,b.max=ab,b.memoize=Qb,b.merge=Ma,b.min=bb,b.omit=Na,b.once=Rb,b.pairs=Oa,b.partial=Sb,b.partialRight=Tb,b.pick=Pa,b.pluck=md,b.property=bc,b.pull=wb,b.range=xb,b.reject=eb,b.remove=yb,b.rest=zb,b.shuffle=gb,b.sortBy=jb,b.tap=jc,b.throttle=Ub,b.times=fc,b.toArray=kb,b.transform=Qa,b.union=Bb,b.uniq=Cb,b.values=Ra,b.where=nd,b.without=Db,b.wrap=Vb,b.xor=Eb,b.zip=Fb,b.zipObject=Gb,b.collect=_a,b.drop=zb,b.each=Ya,b.eachRight=Za,b.extend=ed,b.methods=ua,b.object=Gb,b.select=Va,b.tail=zb,b.unique=Cb,b.unzip=Fb,$b(b),b.clone=na,b.cloneDeep=oa,b.contains=Ta,b.escape=Yb,b.every=Ua,b.find=Wa,b.findIndex=nb,b.findKey=qa,b.findLast=Xa,b.findLastIndex=ob,b.findLastKey=ra,b.has=va,b.identity=Zb,b.indexOf=rb,b.isArguments=ma,b.isArray=Zc,b.isBoolean=xa,b.isDate=ya,b.isElement=za,b.isEmpty=Aa,b.isEqual=Ba,b.isFinite=Ca,b.isFunction=Da,b.isNaN=Fa,b.isNull=Ga,b.isNumber=Ha,b.isObject=Ea,b.isPlainObject=id,b.isRegExp=Ia,b.isString=Ja,b.isUndefined=Ka,b.lastIndexOf=vb,b.mixin=$b,b.noConflict=_b,b.noop=ac,b.now=od,b.parseInt=pd,b.random=cc,b.reduce=cb,b.reduceRight=db,b.result=dc,b.runInContext=p,b.size=hb,b.some=ib,b.sortedIndex=Ab,b.template=ec,b.unescape=gc,b.uniqueId=hc,b.all=Ua,b.any=ib,b.detect=Wa,b.findWhere=Wa,b.foldl=cb,b.foldr=db,b.include=Ta,b.inject=cb,$b(function(){var a={};return hd(b,function(c,d){b.prototype[d]||(a[d]=c)}),a}(),!1),b.first=pb,b.last=ub,b.sample=fb,b.take=pb,b.head=pb,hd(b,function(a,d){var e="sample"!==d;b.prototype[d]||(b.prototype[d]=function(b,d){var f=this.__chain__,g=a(this.__wrapped__,b,d);return f||null!=b&&(!d||e&&"function"==typeof b)?new c(g,f):g})}),b.VERSION="2.4.2",b.prototype.chain=kc,b.prototype.toString=lc,b.prototype.value=mc,b.prototype.valueOf=mc,Ya(["join","pop","shift"],function(a){var d=xc[a];b.prototype[a]=function(){var a=this.__chain__,b=d.apply(this.__wrapped__,arguments);return a?new c(b,a):b}}),Ya(["push","reverse","sort","unshift"],function(a){var c=xc[a];b.prototype[a]=function(){return c.apply(this.__wrapped__,arguments),this}}),Ya(["concat","slice","splice"],function(a){var d=xc[a];b.prototype[a]=function(){return new c(d.apply(this.__wrapped__,arguments),this.__chain__)}}),b}var q,r=[],s=[],t=0,u=+new Date+"",v=75,w=40,x=" \t\x0B\f \ufeff\n\r\u2028\u2029 ᠎             　",y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,A=/(__e\(.*?\)|\b__t\)) \+\n'';/g,B=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,D=/^\s*function[ \n\r\t]+\w/,E=/<%=([\s\S]+?)%>/g,F=RegExp("^["+x+"]*0+(?=.$)"),G=/($^)/,H=/\bthis\b/,I=/['\n\r\t\u2028\u2029\\]/g,J=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],K=0,L="[object Arguments]",M="[object Array]",N="[object Boolean]",O="[object Date]",P="[object Function]",Q="[object Number]",R="[object Object]",S="[object RegExp]",T="[object String]",U={};U[P]=!1,U[L]=U[M]=U[N]=U[O]=U[Q]=U[R]=U[S]=U[T]=!0;var V={leading:!1,maxWait:0,trailing:!1
},W={configurable:!1,enumerable:!1,value:null,writable:!1},X={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof window]&&window||this,$=X[typeof c]&&c&&!c.nodeType&&c,_=X[typeof b]&&b&&!b.nodeType&&b,aa=_&&_.exports===$&&$,ba=X[typeof a]&&a;!ba||ba.global!==ba&&ba.window!==ba||(Z=ba);var ca=p();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Z._=ca,define(function(){return ca})):$&&_?aa?(_.exports=ca)._=ca:$._=ca:Z._=ca}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],236:[function(a,b,c){(function(){var c,d,e,f,g,h,i;h=1e3,g=6e4,e=36e5,c=864e5,i=6048e5,d={seconds:{"short":"s","long":" sec"},minutes:{"short":"m","long":" min"},hours:{"short":"h","long":" hr"},days:{"short":"d","long":" day"}},f=function(a){var b;return b=function(b){var f,j,k,l;if(f=Math.abs(this.diff(a())),k=null,j=null,f<=h)k="seconds",j=1;else if(f<g)k="seconds";else if(f<e)k="minutes";else if(f<c)k="hours";else{if("short"!==b)return this.format("MMM D");if(!(f<i))return this.format("M/D/YY");k="days"}return j&&k||(j=a.duration(f)[k]()),l=k=d[k][b],"long"===b&&j>1&&(l+="s"),j+l},a.fn.twitterLong=function(){return b.call(this,"long")},a.fn.twitter=a.fn.twitterShort=function(){return b.call(this,"short")},a},"function"==typeof define&&define.amd?define("moment-twitter",["moment"],function(a){return this.moment=f(a)}):"undefined"!=typeof b?b.exports=f(a("moment")):"undefined"!=typeof window&&window.moment&&(this.moment=f(this.moment))}).call(this)},{moment:237}],237:[function(a,b,c){
//! moment.js
//! version : 2.4.0
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
(function(c){function d(a,b){return function(c){return k(a.call(this,c),b)}}function e(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function f(){}function g(a){w(a),i(this,a)}function h(a){var b=q(a),c=b.year||0,d=b.month||0,e=b.week||0,f=b.day||0,g=b.hour||0,h=b.minute||0,i=b.second||0,j=b.millisecond||0;this._input=a,this._milliseconds=+j+1e3*i+6e4*h+36e5*g,this._days=+f+7*e,this._months=+d+12*c,this._data={},this._bubble()}function i(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function j(a){return a<0?Math.ceil(a):Math.floor(a)}function k(a,b){for(var c=a+"";c.length<b;)c="0"+c;return c}function l(a,b,c,d){var e,f,g=b._milliseconds,h=b._days,i=b._months;g&&a._d.setTime(+a._d+g*c),(h||i)&&(e=a.minute(),f=a.hour()),h&&a.date(a.date()+h*c),i&&a.month(a.month()+i*c),g&&!d&&da.updateOffset(a),(h||i)&&(a.minute(e),a.hour(f))}function m(a){return"[object Array]"===Object.prototype.toString.call(a)}function n(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function o(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&s(a[d])!==s(b[d]))&&g++;return g+f}function p(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Ma[a]||Na[b]||b}return a}function q(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=p(c),b&&(d[b]=a[c]));return d}function r(a){var b,d;if(0===a.indexOf("week"))b=7,d="day";else{if(0!==a.indexOf("month"))return;b=12,d="month"}da[a]=function(e,f){var g,h,i=da.fn._lang[a],j=[];if("number"==typeof e&&(f=e,e=c),h=function(a){var b=da().utc().set(d,a);return i.call(da.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;g<b;g++)j.push(h(g));return j}}function s(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function t(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function u(a){return v(a)?366:365}function v(a){return a%4===0&&a%100!==0||a%400===0}function w(a){var b;a._a&&a._pf.overflow===-2&&(b=a._a[ia]<0||a._a[ia]>11?ia:a._a[ja]<1||a._a[ja]>t(a._a[ha],a._a[ia])?ja:a._a[ka]<0||a._a[ka]>23?ka:a._a[la]<0||a._a[la]>59?la:a._a[ma]<0||a._a[ma]>59?ma:a._a[na]<0||a._a[na]>999?na:-1,a._pf._overflowDayOfYear&&(b<ha||b>ja)&&(b=ja),a._pf.overflow=b)}function x(a){a._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function y(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function z(a){return a?a.toLowerCase().replace("_","-"):a}function A(a,b){return b.abbr=a,oa[a]||(oa[a]=new f),oa[a].set(b),oa[a]}function B(a){delete oa[a]}function C(b){var c,d,e,f,g=0,h=function(b){if(!oa[b]&&pa)try{a("./lang/"+b)}catch(c){}return oa[b]};if(!b)return da.fn._lang;if(!m(b)){if(d=h(b))return d;b=[b]}for(;g<b.length;){for(f=z(b[g]).split("-"),c=f.length,e=z(b[g+1]),e=e?e.split("-"):null;c>0;){if(d=h(f.slice(0,c).join("-")))return d;if(e&&e.length>=c&&o(f,e,!0)>=c-1)break;c--}g++}return da.fn._lang}function D(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function E(a){var b,c,d=a.match(ta);for(b=0,c=d.length;b<c;b++)Ra[d[b]]?d[b]=Ra[d[b]]:d[b]=D(d[b]);return function(e){var f="";for(b=0;b<c;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function F(a,b){return a.isValid()?(b=G(b,a.lang()),Oa[b]||(Oa[b]=E(b)),Oa[b](a)):a.lang().invalidDate()}function G(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(ua.lastIndex=0;d>=0&&ua.test(a);)a=a.replace(ua,c),ua.lastIndex=0,d-=1;return a}function H(a,b){var c;switch(a){case"DDDD":return xa;case"YYYY":case"GGGG":case"gggg":return ya;case"YYYYY":case"GGGGG":case"ggggg":return za;case"S":case"SS":case"SSS":case"DDD":return wa;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ba;case"a":case"A":return C(b._l)._meridiemParse;case"X":return Ea;case"Z":case"ZZ":return Ca;case"T":return Da;case"SSSS":return Aa;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"ww":case"W":case"WW":case"e":case"E":return va;default:return c=new RegExp(P(O(a.replace("\\","")),"i"))}}function I(a){var b=(Ca.exec(a)||[])[0],c=(b+"").match(Ja)||["-",0,0],d=+(60*c[1])+s(c[2]);return"+"===c[0]?-d:d}function J(a,b,c){var d,e=c._a;switch(a){case"M":case"MM":null!=b&&(e[ia]=s(b)-1);break;case"MMM":case"MMMM":d=C(c._l).monthsParse(b),null!=d?e[ia]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[ja]=s(b));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=s(b));break;case"YY":e[ha]=s(b)+(s(b)>68?1900:2e3);break;case"YYYY":case"YYYYY":e[ha]=s(b);break;case"a":case"A":c._isPm=C(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[ka]=s(b);break;case"m":case"mm":e[la]=s(b);break;case"s":case"ss":e[ma]=s(b);break;case"S":case"SS":case"SSS":case"SSSS":e[na]=s(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=I(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function K(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=M(a),a._w&&null==a._a[ja]&&null==a._a[ia]&&(f=function(b){return b?b.length<3?parseInt(b,10)>68?"19"+b:"20"+b:b:null==a._a[ha]?da().weekYear():a._a[ha]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=Z(f(g.GG),g.W||1,g.E,4,1):(i=C(a._l),j=null!=g.d?V(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&j<i._week.dow&&k++,h=Z(f(g.gg),k,j,i._week.doy,i._week.dow)),a._a[ha]=h.year,a._dayOfYear=h.dayOfYear),a._dayOfYear&&(e=null==a._a[ha]?d[ha]:a._a[ha],a._dayOfYear>u(e)&&(a._pf._overflowDayOfYear=!0),c=U(e,0,a._dayOfYear),a._a[ia]=c.getUTCMonth(),a._a[ja]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;b<7;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[ka]+=s((a._tzm||0)/60),l[la]+=s((a._tzm||0)%60),a._d=(a._useUTC?U:T).apply(null,l)}}function L(a){var b;a._d||(b=q(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],K(a))}function M(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function N(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=C(a._l),h=""+a._i,i=h.length,j=0;for(d=G(a._f,g).match(ta)||[],b=0;b<d.length;b++)e=d[b],c=(H(e,a).exec(h)||[])[0],c&&(f=h.substr(0,h.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),Ra[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),J(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[ka]<12&&(a._a[ka]+=12),a._isPm===!1&&12===a._a[ka]&&(a._a[ka]=0),K(a),w(a)}function O(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function P(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(a){var b,c,d,e,f;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=i({},a),x(b),b._f=a._f[e],N(b),y(b)&&(f+=b._pf.charsLeftOver,f+=10*b._pf.unusedTokens.length,b._pf.score=f,(null==d||f<d)&&(d=f,c=b));i(a,c||b)}function R(a){var b,c=a._i,d=Fa.exec(c);if(d){for(a._pf.iso=!0,b=4;b>0;b--)if(d[b]){a._f=Ha[b-1]+(d[6]||" ");break}for(b=0;b<4;b++)if(Ia[b][1].exec(c)){a._f+=Ia[b][0];break}Ca.exec(c)&&(a._f+="Z"),N(a)}else a._d=new Date(c)}function S(a){var b=a._i,d=qa.exec(b);b===c?a._d=new Date:d?a._d=new Date((+d[1])):"string"==typeof b?R(a):m(b)?(a._a=b.slice(0),K(a)):n(b)?a._d=new Date((+b)):"object"==typeof b?L(a):a._d=new Date(b)}function T(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<1970&&h.setFullYear(a),h}function U(a){var b=new Date(Date.UTC.apply(null,arguments));return a<1970&&b.setUTCFullYear(a),b}function V(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function W(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function X(a,b,c){var d=ga(Math.abs(a)/1e3),e=ga(d/60),f=ga(e/60),g=ga(f/24),h=ga(g/365),i=d<45&&["s",d]||1===e&&["m"]||e<45&&["mm",e]||1===f&&["h"]||f<22&&["hh",f]||1===g&&["d"]||g<=25&&["dd",g]||g<=45&&["M"]||g<345&&["MM",ga(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,W.apply({},i)}function Y(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),f<e-7&&(f+=7),d=da(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function Z(a,b,c,d,e){var f,g,h=new Date(Date.UTC(a,0)).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:u(a-1)+g}}function $(a){var b=a._i,c=a._f;return"undefined"==typeof a._pf&&x(a),null===b?da.invalid({nullInput:!0}):("string"==typeof b&&(a._i=b=C().preparse(b)),da.isMoment(b)?(a=i({},b),a._d=new Date((+b._d))):c?m(c)?Q(a):N(a):S(a),new g(a))}function _(a,b){da.fn[a]=da.fn[a+"s"]=function(a){var c=this._isUTC?"UTC":"";return null!=a?(this._d["set"+c+b](a),da.updateOffset(this),this):this._d["get"+c+b]()}}function aa(a){da.duration.fn[a]=function(){return this._data[a]}}function ba(a,b){da.duration.fn["as"+a]=function(){return+this/b}}function ca(a){var b=!1,c=da;"undefined"==typeof ender&&(a?this.moment=function(){return!b&&console&&console.warn&&(b=!0,console.warn("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.")),c.apply(null,arguments)}:this.moment=da)}for(var da,ea,fa="2.4.0",ga=Math.round,ha=0,ia=1,ja=2,ka=3,la=4,ma=5,na=6,oa={},pa="undefined"!=typeof b&&b.exports,qa=/^\/?Date\((\-?\d+)/i,ra=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,sa=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,ta=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,ua=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,va=/\d\d?/,wa=/\d{1,3}/,xa=/\d{3}/,ya=/\d{1,4}/,za=/[+\-]?\d{1,6}/,Aa=/\d+/,Ba=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ca=/Z|[\+\-]\d\d:?\d\d/i,Da=/T/i,Ea=/[\+\-]?\d+(\.\d{1,3})?/,Fa=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d:?\d\d|Z)?)?$/,Ga="YYYY-MM-DDTHH:mm:ssZ",Ha=["YYYY-MM-DD","GGGG-[W]WW","GGGG-[W]WW-E","YYYY-DDD"],Ia=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Ja=/([\+\-]|\d\d)/gi,Ka="Date|Hours|Minutes|Seconds|Milliseconds".split("|"),La={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},Ma={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},Na={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},Oa={},Pa="DDD w W M D d".split(" "),Qa="M D H h m s w W".split(" "),Ra={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return k(this.year()%100,2)},YYYY:function(){return k(this.year(),4)},YYYYY:function(){return k(this.year(),5)},gg:function(){return k(this.weekYear()%100,2)},gggg:function(){return this.weekYear()},ggggg:function(){return k(this.weekYear(),5)},GG:function(){return k(this.isoWeekYear()%100,2)},GGGG:function(){return this.isoWeekYear()},GGGGG:function(){return k(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return s(this.milliseconds()/100)},SS:function(){return k(s(this.milliseconds()/10),2)},SSS:function(){return k(this.milliseconds(),3)},SSSS:function(){return k(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+k(s(a/60),2)+":"+k(s(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return a<0&&(a=-a,b="-"),b+k(s(10*a/6),4)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()}},Sa=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];Pa.length;)ea=Pa.pop(),Ra[ea+"o"]=e(Ra[ea],ea);for(;Qa.length;)ea=Qa.pop(),Ra[ea+ea]=d(Ra[ea],2);for(Ra.DDDD=d(Ra.DDD,3),i(f.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;b<12;b++)if(this._monthsParse[b]||(c=da.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;b<7;b++)if(this._weekdaysParse[b]||(c=da([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return Y(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),da=function(a,b,d,e){return"boolean"==typeof d&&(e=d,d=c),$({_i:a,_f:b,_l:d,_strict:e,_isUTC:!1})},da.utc=function(a,b,d,e){var f;return"boolean"==typeof d&&(e=d,d=c),f=$({_useUTC:!0,_isUTC:!0,_l:d,_i:a,_f:b,_strict:e}).utc()},da.unix=function(a){return da(1e3*a)},da.duration=function(a,b){var c,d,e,f=da.isDuration(a),g="number"==typeof a,i=f?a._input:g?{}:a,j=null;return g?b?i[b]=a:i.milliseconds=a:(j=ra.exec(a))?(c="-"===j[1]?-1:1,i={y:0,d:s(j[ja])*c,h:s(j[ka])*c,m:s(j[la])*c,s:s(j[ma])*c,ms:s(j[na])*c}):(j=sa.exec(a))&&(c="-"===j[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},i={y:e(j[2]),M:e(j[3]),d:e(j[4]),h:e(j[5]),m:e(j[6]),s:e(j[7]),w:e(j[8])}),d=new h(i),f&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},da.version=fa,da.defaultFormat=Ga,da.updateOffset=function(){},da.lang=function(a,b){var c;return a?(b?A(z(a),b):null===b?(B(a),a="en"):oa[a]||C(a),c=da.duration.fn._lang=da.fn._lang=C(a),c._abbr):da.fn._lang._abbr},da.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),C(a)},da.isMoment=function(a){return a instanceof g},da.isDuration=function(a){return a instanceof h},ea=Sa.length-1;ea>=0;--ea)r(Sa[ea]);for(da.normalizeUnits=function(a){return p(a)},da.invalid=function(a){var b=da.utc(NaN);return null!=a?i(b._pf,a):b._pf.userInvalidated=!0,b},da.parseZone=function(a){return da(a).parseZone()},i(da.fn=g.prototype,{clone:function(){return da(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date((+this)):this._d},toISOString:function(){return F(da(this).utc(),"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return y(this)},isDSTShifted:function(){return!!this._a&&(this.isValid()&&o(this._a,(this._isUTC?da.utc(this._a):da(this._a)).toArray())>0)},parsingFlags:function(){return i({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=F(this,a||da.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?da.duration(+b,a):da.duration(a,b),l(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?da.duration(+b,a):da.duration(a,b),l(this,c,-1),this},diff:function(a,b,c){var d,e,f=this._isUTC?da(a).zone(this._offset||0):da(a).local(),g=6e4*(this.zone()-f.zone());return b=p(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-da(this).startOf("month")-(f-da(f).startOf("month")))/d,e-=6e4*(this.zone()-da(this).startOf("month").zone()-(f.zone()-da(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:j(e)},from:function(a,b){return da.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(da(),a)},calendar:function(){var a=this.diff(da().zone(this.zone()).startOf("day"),"days",!0),b=a<-6?"sameElse":a<-1?"lastWeek":a<0?"lastDay":a<1?"sameDay":a<2?"nextDay":a<7?"nextWeek":"sameElse";return this.format(this.lang().calendar(b,this))},isLeapYear:function(){return v(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=V(a,this.lang()),this.add({d:a-b})):b},month:function(a){var b,c=this._isUTC?"UTC":"";return null!=a?"string"==typeof a&&(a=this.lang().monthsParse(a),"number"!=typeof a)?this:(b=this.date(),this.date(1),this._d["set"+c+"Month"](a),this.date(Math.min(b,this.daysInMonth())),da.updateOffset(this),this):this._d["get"+c+"Month"]()},startOf:function(a){switch(a=p(a)){case"year":this.month(0);case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),this},endOf:function(a){return a=p(a),this.startOf(a).add("isoWeek"===a?"week":a,1).subtract("ms",1)},isAfter:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)>+da(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+da(a).startOf(b)},isSame:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)===+da(a).startOf(b)},min:function(a){return a=da.apply(null,arguments),a<this?this:a},max:function(a){return a=da.apply(null,arguments),a>this?this:a},zone:function(a){var b=this._offset||0;return null==a?this._isUTC?b:this._d.getTimezoneOffset():("string"==typeof a&&(a=I(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,b!==a&&l(this,da.duration(b-a,"m"),1,!0),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?da(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return t(this.year(),this.month())},dayOfYear:function(a){var b=ga((da(this).startOf("day")-da(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},weekYear:function(a){var b=Y(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=Y(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=Y(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},get:function(a){return a=p(a),this[a]()},set:function(a,b){return a=p(a),"function"==typeof this[a]&&this[a](b),this},lang:function(a){return a===c?this._lang:(this._lang=C(a),this)}}),ea=0;ea<Ka.length;ea++)_(Ka[ea].toLowerCase().replace(/s$/,""),Ka[ea]);_("year","FullYear"),da.fn.days=da.fn.day,da.fn.months=da.fn.month,da.fn.weeks=da.fn.week,da.fn.isoWeeks=da.fn.isoWeek,da.fn.toJSON=da.fn.toISOString,i(da.duration.fn=h.prototype,{_bubble:function(){var a,b,c,d,e=this._milliseconds,f=this._days,g=this._months,h=this._data;h.milliseconds=e%1e3,a=j(e/1e3),h.seconds=a%60,b=j(a/60),h.minutes=b%60,c=j(b/60),h.hours=c%24,f+=j(c/24),h.days=f%30,g+=j(f/30),h.months=g%12,d=j(g/12),h.years=d},weeks:function(){return j(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*s(this._months/12)},humanize:function(a){var b=+this,c=X(b,!a,this.lang());return a&&(c=this.lang().pastFuture(b,c)),this.lang().postformat(c)},add:function(a,b){var c=da.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=da.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=p(a),this[a.toLowerCase()+"s"]()},as:function(a){return a=p(a),this["as"+a.charAt(0).toUpperCase()+a.slice(1)+"s"]()},lang:da.fn.lang,toIsoString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}});for(ea in La)La.hasOwnProperty(ea)&&(ba(ea,La[ea]),aa(ea.toLowerCase()));ba("Weeks",6048e5),da.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},da.lang("en",{ordinal:function(a){var b=a%10,c=1===s(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),pa?(b.exports=da,ca(!0)):"function"==typeof define&&define.amd?define("moment",function(a,b,d){return d.config().noGlobal!==!0&&ca(d.config().noGlobal===c),da}):ca()}).call(this)},{}],238:[function(a,b,c){!function(a,d){"object"==typeof c&&"undefined"!=typeof b?b.exports=d():"function"==typeof define&&define.amd?define(d):a.moment=d()}(this,function(){"use strict";function c(){return qd.apply(null,arguments)}function d(a){qd=a}function e(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function f(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function g(a){var b;for(b in a)return!1;return!0}function h(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function i(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function j(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function k(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function l(a,b){for(var c in b)k(b,c)&&(a[c]=b[c]);return k(b,"toString")&&(a.toString=b.toString),k(b,"valueOf")&&(a.valueOf=b.valueOf),a}function m(a,b,c,d){return tb(a,b,c,d,!0).utc()}function n(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function o(a){return null==a._pf&&(a._pf=n()),a._pf}function p(a){if(null==a._isValid){var b=o(a),c=sd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function q(a){var b=m(NaN);return null!=a?l(o(b),a):o(b).userInvalidated=!0,b}function r(a){return void 0===a}function s(a,b){var c,d,e;if(r(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),r(b._i)||(a._i=b._i),r(b._f)||(a._f=b._f),r(b._l)||(a._l=b._l),r(b._strict)||(a._strict=b._strict),r(b._tzm)||(a._tzm=b._tzm),r(b._isUTC)||(a._isUTC=b._isUTC),r(b._offset)||(a._offset=b._offset),r(b._pf)||(a._pf=o(b)),r(b._locale)||(a._locale=b._locale),td.length>0)for(c in td)d=td[c],e=b[d],r(e)||(a[d]=e);return a}function t(a){s(this,a),this._d=new Date(null!=a._d?a._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),ud===!1&&(ud=!0,c.updateOffset(this),ud=!1)}function u(a){return a instanceof t||null!=a&&null!=a._isAMomentObject}function v(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function w(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=v(b)),c}function x(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&w(a[d])!==w(b[d]))&&g++;return g+f}function y(a){c.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function z(a,b){var d=!0;return l(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,a),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}y(a+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return b.apply(this,arguments)},b)}function A(a,b){null!=c.deprecationHandler&&c.deprecationHandler(a,b),vd[a]||(y(b),vd[a]=!0)}function B(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function C(a){var b,c;for(c in a)b=a[c],B(b)?this[c]=b:this["_"+c]=b;this._config=a,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function D(a,b){var c,d=l({},a);for(c in b)k(b,c)&&(f(a[c])&&f(b[c])?(d[c]={},l(d[c],a[c]),l(d[c],b[c])):null!=b[c]?d[c]=b[c]:delete d[c]);for(c in a)k(a,c)&&!k(b,c)&&f(a[c])&&(d[c]=l({},d[c]));return d}function E(a){null!=a&&this.set(a)}function F(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return B(d)?d.call(b,c):d}function G(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function H(){return this._invalidDate}function I(a){return this._ordinal.replace("%d",a)}function J(a,b,c,d){var e=this._relativeTime[c];return B(e)?e(a,b,c,d):e.replace(/%d/i,a)}function K(a,b){var c=this._relativeTime[a>0?"future":"past"];return B(c)?c(b):c.replace(/%s/i,b)}function L(a,b){var c=a.toLowerCase();Fd[c]=Fd[c+"s"]=Fd[b]=a}function M(a){return"string"==typeof a?Fd[a]||Fd[a.toLowerCase()]:void 0}function N(a){var b,c,d={};for(c in a)k(a,c)&&(b=M(c),b&&(d[b]=a[c]));return d}function O(a,b){Gd[a]=b}function P(a){var b=[];for(var c in a)b.push({unit:c,priority:Gd[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function Q(a,b){return function(d){return null!=d?(S(this,a,d),c.updateOffset(this,b),this):R(this,a)}}function R(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function S(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function T(a){return a=M(a),B(this[a])?this[a]():this}function U(a,b){if("object"==typeof a){a=N(a);for(var c=P(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=M(a),B(this[a]))return this[a](b);return this}function V(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function W(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Kd[a]=e),b&&(Kd[b[0]]=function(){return V(e.apply(this,arguments),b[1],b[2])}),c&&(Kd[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function X(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function Y(a){var b,c,d=a.match(Hd);for(b=0,c=d.length;b<c;b++)Kd[d[b]]?d[b]=Kd[d[b]]:d[b]=X(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}function Z(a,b){return a.isValid()?(b=$(b,a.localeData()),Jd[b]=Jd[b]||Y(b),Jd[b](a)):a.localeData().invalidDate()}function $(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Id.lastIndex=0;d>=0&&Id.test(a);)a=a.replace(Id,c),Id.lastIndex=0,d-=1;return a}function _(a,b,c){ae[a]=B(b)?b:function(a,d){return a&&c?c:b}}function aa(a,b){return k(ae,a)?ae[a](b._strict,b._locale):new RegExp(ba(a))}function ba(a){return ca(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function ca(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function da(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),h(b)&&(d=function(a,c){c[b]=w(a)}),c=0;c<a.length;c++)be[a[c]]=d}function ea(a,b){da(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function fa(a,b,c){null!=b&&k(be,a)&&be[a](b,c._a,c,a)}function ga(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function ha(a,b){return a?e(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||me).test(b)?"format":"standalone"][a.month()]:this._months}function ia(a,b){return a?e(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[me.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ja(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],
this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=m([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=le.call(this._shortMonthsParse,g),e!==-1?e:null):(e=le.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=le.call(this._shortMonthsParse,g),e!==-1?e:(e=le.call(this._longMonthsParse,g),e!==-1?e:null)):(e=le.call(this._longMonthsParse,g),e!==-1?e:(e=le.call(this._shortMonthsParse,g),e!==-1?e:null))}function ka(a,b,c){var d,e,f;if(this._monthsParseExact)return ja.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=m([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function la(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=w(b);else if(b=a.localeData().monthsParse(b),!h(b))return a;return c=Math.min(a.date(),ga(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ma(a){return null!=a?(la(this,a),c.updateOffset(this,!0),this):R(this,"Month")}function na(){return ga(this.year(),this.month())}function oa(a){return this._monthsParseExact?(k(this,"_monthsRegex")||qa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(k(this,"_monthsShortRegex")||(this._monthsShortRegex=pe),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function pa(a){return this._monthsParseExact?(k(this,"_monthsRegex")||qa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(k(this,"_monthsRegex")||(this._monthsRegex=qe),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function qa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=m([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=ca(d[b]),e[b]=ca(e[b]);for(b=0;b<24;b++)f[b]=ca(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function ra(a){return sa(a)?366:365}function sa(a){return a%4===0&&a%100!==0||a%400===0}function ta(){return sa(this.year())}function ua(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function va(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function wa(a,b,c){var d=7+b-c,e=(7+va(a,0,d).getUTCDay()-b)%7;return-e+d-1}function xa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=wa(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=ra(f)+j):j>ra(a)?(f=a+1,g=j-ra(a)):(f=a,g=j),{year:f,dayOfYear:g}}function ya(a,b,c){var d,e,f=wa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+za(e,b,c)):g>za(a.year(),b,c)?(d=g-za(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function za(a,b,c){var d=wa(a,b,c),e=wa(a+1,b,c);return(ra(a)-d+e)/7}function Aa(a){return ya(a,this._week.dow,this._week.doy).week}function Ba(){return this._week.dow}function Ca(){return this._week.doy}function Da(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ea(a){var b=ya(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Fa(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ga(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Ha(a,b){return a?e(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Ia(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ja(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ka(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=m([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=le.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=le.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=le.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=le.call(this._weekdaysParse,g),e!==-1?e:(e=le.call(this._shortWeekdaysParse,g),e!==-1?e:(e=le.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=le.call(this._shortWeekdaysParse,g),e!==-1?e:(e=le.call(this._weekdaysParse,g),e!==-1?e:(e=le.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=le.call(this._minWeekdaysParse,g),e!==-1?e:(e=le.call(this._weekdaysParse,g),e!==-1?e:(e=le.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function La(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ka.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=m([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ma(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Fa(a,this.localeData()),this.add(a-b,"d")):b}function Na(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Oa(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ga(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Pa(a){return this._weekdaysParseExact?(k(this,"_weekdaysRegex")||Sa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(k(this,"_weekdaysRegex")||(this._weekdaysRegex=we),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Qa(a){return this._weekdaysParseExact?(k(this,"_weekdaysRegex")||Sa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(k(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=xe),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ra(a){return this._weekdaysParseExact?(k(this,"_weekdaysRegex")||Sa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(k(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ye),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Sa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=m([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=ca(h[b]),i[b]=ca(i[b]),j[b]=ca(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ta(){return this.hours()%12||12}function Ua(){return this.hours()||24}function Va(a,b){W(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Wa(a,b){return b._meridiemParse}function Xa(a){return"p"===(a+"").toLowerCase().charAt(0)}function Ya(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Za(a){return a?a.toLowerCase().replace("_","-"):a}function $a(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Za(a[f]).split("-"),b=e.length,c=Za(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=_a(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&x(e,c,!0)>=b-1)break;b--}f++}return null}function _a(c){var d=null;if(!De[c]&&"undefined"!=typeof b&&b&&b.exports)try{d=ze._abbr,a("./locale/"+c),ab(d)}catch(e){}return De[c]}function ab(a,b){var c;return a&&(c=r(b)?db(a):bb(a,b),c&&(ze=c)),ze._abbr}function bb(a,b){if(null!==b){var c=Ce;if(b.abbr=a,null!=De[a])A("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."),c=De[a]._config;else if(null!=b.parentLocale){if(null==De[b.parentLocale])return Ee[b.parentLocale]||(Ee[b.parentLocale]=[]),Ee[b.parentLocale].push({name:a,config:b}),null;c=De[b.parentLocale]._config}return De[a]=new E(D(c,b)),Ee[a]&&Ee[a].forEach(function(a){bb(a.name,a.config)}),ab(a),De[a]}return delete De[a],null}function cb(a,b){if(null!=b){var c,d=Ce;null!=De[a]&&(d=De[a]._config),b=D(d,b),c=new E(b),c.parentLocale=De[a],De[a]=c,ab(a)}else null!=De[a]&&(null!=De[a].parentLocale?De[a]=De[a].parentLocale:null!=De[a]&&delete De[a]);return De[a]}function db(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return ze;if(!e(a)){if(b=_a(a))return b;a=[a]}return $a(a)}function eb(){return yd(De)}function fb(a){var b,c=a._a;return c&&o(a).overflow===-2&&(b=c[de]<0||c[de]>11?de:c[ee]<1||c[ee]>ga(c[ce],c[de])?ee:c[fe]<0||c[fe]>24||24===c[fe]&&(0!==c[ge]||0!==c[he]||0!==c[ie])?fe:c[ge]<0||c[ge]>59?ge:c[he]<0||c[he]>59?he:c[ie]<0||c[ie]>999?ie:-1,o(a)._overflowDayOfYear&&(b<ce||b>ee)&&(b=ee),o(a)._overflowWeeks&&b===-1&&(b=je),o(a)._overflowWeekday&&b===-1&&(b=ke),o(a).overflow=b),a}function gb(a){var b,c,d,e,f,g,h=a._i,i=Fe.exec(h)||Ge.exec(h);if(i){for(o(a).iso=!0,b=0,c=Ie.length;b<c;b++)if(Ie[b][1].exec(i[1])){e=Ie[b][0],d=Ie[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Je.length;b<c;b++)if(Je[b][1].exec(i[3])){f=(i[2]||" ")+Je[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!He.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),mb(a)}else a._isValid=!1}function hb(a){var b=Ke.exec(a._i);return null!==b?void(a._d=new Date((+b[1]))):(gb(a),void(a._isValid===!1&&(delete a._isValid,c.createFromInputFallback(a))))}function ib(a,b,c){return null!=a?a:null!=b?b:c}function jb(a){var b=new Date(c.now());return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function kb(a){var b,c,d,e,f=[];if(!a._d){for(d=jb(a),a._w&&null==a._a[ee]&&null==a._a[de]&&lb(a),a._dayOfYear&&(e=ib(a._a[ce],d[ce]),a._dayOfYear>ra(e)&&(o(a)._overflowDayOfYear=!0),c=va(e,0,a._dayOfYear),a._a[de]=c.getUTCMonth(),a._a[ee]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[fe]&&0===a._a[ge]&&0===a._a[he]&&0===a._a[ie]&&(a._nextDay=!0,a._a[fe]=0),a._d=(a._useUTC?va:ua).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[fe]=24)}}function lb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=ib(b.GG,a._a[ce],ya(ub(),1,4).year),d=ib(b.W,1),e=ib(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=ya(ub(),f,g);c=ib(b.gg,a._a[ce],j.year),d=ib(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>za(c,f,g)?o(a)._overflowWeeks=!0:null!=i?o(a)._overflowWeekday=!0:(h=xa(c,d,e,f,g),a._a[ce]=h.year,a._dayOfYear=h.dayOfYear)}function mb(a){if(a._f===c.ISO_8601)return void gb(a);a._a=[],o(a).empty=!0;var b,d,e,f,g,h=""+a._i,i=h.length,j=0;for(e=$(a._f,a._locale).match(Hd)||[],b=0;b<e.length;b++)f=e[b],d=(h.match(aa(f,a))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&o(a).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Kd[f]?(d?o(a).empty=!1:o(a).unusedTokens.push(f),fa(f,d,a)):a._strict&&!d&&o(a).unusedTokens.push(f);o(a).charsLeftOver=i-j,h.length>0&&o(a).unusedInput.push(h),a._a[fe]<=12&&o(a).bigHour===!0&&a._a[fe]>0&&(o(a).bigHour=void 0),o(a).parsedDateParts=a._a.slice(0),o(a).meridiem=a._meridiem,a._a[fe]=nb(a._locale,a._a[fe],a._meridiem),kb(a),fb(a)}function nb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function ob(a){var b,c,d,e,f;if(0===a._f.length)return o(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=s({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],mb(b),p(b)&&(f+=o(b).charsLeftOver,f+=10*o(b).unusedTokens.length,o(b).score=f,(null==d||f<d)&&(d=f,c=b));l(a,c||b)}function pb(a){if(!a._d){var b=N(a._i);a._a=j([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),kb(a)}}function qb(a){var b=new t(fb(rb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function rb(a){var b=a._i,c=a._f;return a._locale=a._locale||db(a._l),null===b||void 0===c&&""===b?q({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),u(b)?new t(fb(b)):(i(b)?a._d=b:e(c)?ob(a):c?mb(a):sb(a),p(a)||(a._d=null),a))}function sb(a){var b=a._i;void 0===b?a._d=new Date(c.now()):i(b)?a._d=new Date(b.valueOf()):"string"==typeof b?hb(a):e(b)?(a._a=j(b.slice(0),function(a){return parseInt(a,10)}),kb(a)):"object"==typeof b?pb(a):h(b)?a._d=new Date(b):c.createFromInputFallback(a)}function tb(a,b,c,d,h){var i={};return c!==!0&&c!==!1||(d=c,c=void 0),(f(a)&&g(a)||e(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=c,i._i=a,i._f=b,i._strict=d,qb(i)}function ub(a,b,c,d){return tb(a,b,c,d,!1)}function vb(a,b){var c,d;if(1===b.length&&e(b[0])&&(b=b[0]),!b.length)return ub();for(c=b[0],d=1;d<b.length;++d)b[d].isValid()&&!b[d][a](c)||(c=b[d]);return c}function wb(){var a=[].slice.call(arguments,0);return vb("isBefore",a)}function xb(){var a=[].slice.call(arguments,0);return vb("isAfter",a)}function yb(a){var b=N(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=db(),this._bubble()}function zb(a){return a instanceof yb}function Ab(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function Bb(a,b){W(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+V(~~(a/60),2)+b+V(~~a%60,2)})}function Cb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Oe)||["-",0,0],f=+(60*e[1])+w(e[2]);return 0===f?0:"+"===e[0]?f:-f}function Db(a,b){var d,e;return b._isUTC?(d=b.clone(),e=(u(a)||i(a)?a.valueOf():ub(a).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),c.updateOffset(d,!1),d):ub(a).local()}function Eb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Fb(a,b){var d,e=this._offset||0;if(!this.isValid())return null!=a?this:NaN;if(null!=a){if("string"==typeof a){if(a=Cb(Zd,a),null===a)return this}else Math.abs(a)<16&&(a=60*a);return!this._isUTC&&b&&(d=Eb(this)),this._offset=a,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==a&&(!b||this._changeInProgress?Vb(this,Qb(a-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?e:Eb(this)}function Gb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Hb(a){return this.utcOffset(0,a)}function Ib(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Eb(this),"m")),this}function Jb(){if(null!=this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=Cb(Yd,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Kb(a){return!!this.isValid()&&(a=a?ub(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Lb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Mb(){if(!r(this._isDSTShifted))return this._isDSTShifted;var a={};if(s(a,this),a=rb(a),a._a){var b=a._isUTC?m(a._a):ub(a._a);this._isDSTShifted=this.isValid()&&x(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Nb(){return!!this.isValid()&&!this._isUTC}function Ob(){return!!this.isValid()&&this._isUTC}function Pb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Qb(a,b){var c,d,e,f=a,g=null;return zb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:h(a)?(f={},b?f[b]=a:f.milliseconds=a):(g=Pe.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:w(g[ee])*c,h:w(g[fe])*c,m:w(g[ge])*c,s:w(g[he])*c,ms:w(Ab(1e3*g[ie]))*c}):(g=Qe.exec(a))?(c="-"===g[1]?-1:1,f={y:Rb(g[2],c),M:Rb(g[3],c),w:Rb(g[4],c),d:Rb(g[5],c),h:Rb(g[6],c),m:Rb(g[7],c),s:Rb(g[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Tb(ub(f.from),ub(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new yb(f),zb(a)&&k(a,"_locale")&&(d._locale=a._locale),d}function Rb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Sb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Tb(a,b){var c;return a.isValid()&&b.isValid()?(b=Db(b,a),a.isBefore(b)?c=Sb(a,b):(c=Sb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Ub(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(A(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Qb(c,d),Vb(this,e,a),this}}function Vb(a,b,d,e){var f=b._milliseconds,g=Ab(b._days),h=Ab(b._months);a.isValid()&&(e=null==e||e,f&&a._d.setTime(a._d.valueOf()+f*d),g&&S(a,"Date",R(a,"Date")+g*d),h&&la(a,R(a,"Month")+h*d),e&&c.updateOffset(a,g||h))}function Wb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Xb(a,b){var d=a||ub(),e=Db(d,this).startOf("day"),f=c.calendarFormat(this,e)||"sameElse",g=b&&(B(b[f])?b[f].call(this,d):b[f]);return this.format(g||this.localeData().calendar(f,this,ub(d)))}function Yb(){return new t(this)}function Zb(a,b){var c=u(a)?a:ub(a);return!(!this.isValid()||!c.isValid())&&(b=M(r(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function $b(a,b){var c=u(a)?a:ub(a);return!(!this.isValid()||!c.isValid())&&(b=M(r(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function _b(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function ac(a,b){var c,d=u(a)?a:ub(a);return!(!this.isValid()||!d.isValid())&&(b=M(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function bc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function cc(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function dc(a,b,c){var d,e,f,g;return this.isValid()?(d=Db(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=M(b),"year"===b||"month"===b||"quarter"===b?(g=ec(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:v(g)):NaN):NaN}function ec(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function fc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function gc(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?B(Date.prototype.toISOString)?this.toDate().toISOString():Z(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):Z(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function hc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function ic(a){a||(a=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var b=Z(this,a);return this.localeData().postformat(b)}function jc(a,b){return this.isValid()&&(u(a)&&a.isValid()||ub(a).isValid())?Qb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function kc(a){return this.from(ub(),a)}function lc(a,b){return this.isValid()&&(u(a)&&a.isValid()||ub(a).isValid())?Qb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.to(ub(),a)}function nc(a){var b;return void 0===a?this._locale._abbr:(b=db(a),null!=b&&(this._locale=b),this)}function oc(){return this._locale}function pc(a){switch(a=M(a)){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"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function qc(a){return a=M(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function rc(){return this._d.valueOf()-6e4*(this._offset||0)}function sc(){return Math.floor(this.valueOf()/1e3)}function tc(){return new Date(this.valueOf())}function uc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function vc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function wc(){return this.isValid()?this.toISOString():null}function xc(){return p(this)}function yc(){return l({},o(this))}function zc(){return o(this).overflow}function Ac(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Bc(a,b){W(0,[a,a.length],0,b)}function Cc(a){return Gc.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Dc(a){return Gc.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Ec(){return za(this.year(),1,4)}function Fc(){var a=this.localeData()._week;return za(this.year(),a.dow,a.doy)}function Gc(a,b,c,d,e){var f;return null==a?ya(this,d,e).year:(f=za(a,d,e),b>f&&(b=f),Hc.call(this,a,b,c,d,e))}function Hc(a,b,c,d,e){var f=xa(a,b,c,d,e),g=va(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Ic(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Jc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Kc(a,b){b[ie]=w(1e3*("0."+a))}function Lc(){return this._isUTC?"UTC":""}function Mc(){return this._isUTC?"Coordinated Universal Time":""}function Nc(a){return ub(1e3*a)}function Oc(){return ub.apply(null,arguments).parseZone()}function Pc(a){return a}function Qc(a,b,c,d){var e=db(),f=m().set(d,b);return e[c](f,a)}function Rc(a,b,c){if(h(a)&&(b=a,a=void 0),a=a||"",null!=b)return Qc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Qc(a,d,c,"month");return e}function Sc(a,b,c,d){"boolean"==typeof a?(h(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,h(b)&&(c=b,b=void 0),b=b||"");var e=db(),f=a?e._week.dow:0;if(null!=c)return Qc(b,(c+f)%7,d,"day");var g,i=[];for(g=0;g<7;g++)i[g]=Qc(b,(g+f)%7,d,"day");return i}function Tc(a,b){return Rc(a,b,"months")}function Uc(a,b){return Rc(a,b,"monthsShort")}function Vc(a,b,c){return Sc(a,b,c,"weekdays")}function Wc(a,b,c){return Sc(a,b,c,"weekdaysShort")}function Xc(a,b,c){return Sc(a,b,c,"weekdaysMin")}function Yc(){var a=this._data;return this._milliseconds=_e(this._milliseconds),this._days=_e(this._days),this._months=_e(this._months),a.milliseconds=_e(a.milliseconds),a.seconds=_e(a.seconds),a.minutes=_e(a.minutes),a.hours=_e(a.hours),a.months=_e(a.months),a.years=_e(a.years),this}function Zc(a,b,c,d){var e=Qb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function $c(a,b){return Zc(this,a,b,1)}function _c(a,b){return Zc(this,a,b,-1)}function ad(a){return a<0?Math.floor(a):Math.ceil(a)}function bd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*ad(dd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=v(f/1e3),i.seconds=a%60,b=v(a/60),i.minutes=b%60,c=v(b/60),i.hours=c%24,g+=v(c/24),e=v(cd(g)),h+=e,g-=ad(dd(e)),d=v(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function cd(a){return 4800*a/146097}function dd(a){return 146097*a/4800}function ed(a){var b,c,d=this._milliseconds;if(a=M(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+cd(b),"month"===a?c:c/12;switch(b=this._days+Math.round(dd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function fd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function gd(a){return function(){return this.as(a)}}function hd(a){return a=M(a),this[a+"s"]()}function id(a){return function(){return this._data[a]}}function jd(){return v(this.days()/7)}function kd(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function ld(a,b,c){var d=Qb(a).abs(),e=qf(d.as("s")),f=qf(d.as("m")),g=qf(d.as("h")),h=qf(d.as("d")),i=qf(d.as("M")),j=qf(d.as("y")),k=e<rf.s&&["s",e]||f<=1&&["m"]||f<rf.m&&["mm",f]||g<=1&&["h"]||g<rf.h&&["hh",g]||h<=1&&["d"]||h<rf.d&&["dd",h]||i<=1&&["M"]||i<rf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,kd.apply(null,k)}function md(a){return void 0===a?qf:"function"==typeof a&&(qf=a,!0)}function nd(a,b){return void 0!==rf[a]&&(void 0===b?rf[a]:(rf[a]=b,!0))}function od(a){var b=this.localeData(),c=ld(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function pd(){var a,b,c,d=sf(this._milliseconds)/1e3,e=sf(this._days),f=sf(this._months);a=v(d/60),b=v(a/60),d%=60,a%=60,c=v(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var qd,rd;rd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var sd=rd,td=c.momentProperties=[],ud=!1,vd={};c.suppressDeprecationWarnings=!1,c.deprecationHandler=null;var wd;wd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)k(a,b)&&c.push(b);return c};var xd,yd=wd,zd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ad={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Bd="Invalid date",Cd="%d",Dd=/\d{1,2}/,Ed={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Fd={},Gd={},Hd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Id=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Jd={},Kd={},Ld=/\d/,Md=/\d\d/,Nd=/\d{3}/,Od=/\d{4}/,Pd=/[+-]?\d{6}/,Qd=/\d\d?/,Rd=/\d\d\d\d?/,Sd=/\d\d\d\d\d\d?/,Td=/\d{1,3}/,Ud=/\d{1,4}/,Vd=/[+-]?\d{1,6}/,Wd=/\d+/,Xd=/[+-]?\d+/,Yd=/Z|[+-]\d\d:?\d\d/gi,Zd=/Z|[+-]\d\d(?::?\d\d)?/gi,$d=/[+-]?\d+(\.\d{1,3})?/,_d=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,ae={},be={},ce=0,de=1,ee=2,fe=3,ge=4,he=5,ie=6,je=7,ke=8;xd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var le=xd;W("M",["MM",2],"Mo",function(){return this.month()+1}),W("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),W("MMMM",0,0,function(a){return this.localeData().months(this,a)}),L("month","M"),O("month",8),_("M",Qd),_("MM",Qd,Md),_("MMM",function(a,b){return b.monthsShortRegex(a)}),_("MMMM",function(a,b){return b.monthsRegex(a)}),da(["M","MM"],function(a,b){b[de]=w(a)-1}),da(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[de]=e:o(c).invalidMonth=a});var me=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,ne="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),oe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),pe=_d,qe=_d;W("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),W(0,["YY",2],0,function(){return this.year()%100}),W(0,["YYYY",4],0,"year"),W(0,["YYYYY",5],0,"year"),W(0,["YYYYYY",6,!0],0,"year"),L("year","y"),O("year",1),_("Y",Xd),_("YY",Qd,Md),_("YYYY",Ud,Od),_("YYYYY",Vd,Pd),_("YYYYYY",Vd,Pd),da(["YYYYY","YYYYYY"],ce),da("YYYY",function(a,b){b[ce]=2===a.length?c.parseTwoDigitYear(a):w(a)}),da("YY",function(a,b){b[ce]=c.parseTwoDigitYear(a)}),da("Y",function(a,b){b[ce]=parseInt(a,10)}),c.parseTwoDigitYear=function(a){return w(a)+(w(a)>68?1900:2e3)};var re=Q("FullYear",!0);W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),O("week",5),O("isoWeek",5),_("w",Qd),_("ww",Qd,Md),_("W",Qd),_("WW",Qd,Md),ea(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=w(a)});var se={dow:0,doy:6};W("d",0,"do","day"),W("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),W("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),W("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),O("day",11),O("weekday",11),O("isoWeekday",11),_("d",Qd),_("e",Qd),_("E",Qd),_("dd",function(a,b){return b.weekdaysMinRegex(a)}),_("ddd",function(a,b){return b.weekdaysShortRegex(a)}),_("dddd",function(a,b){return b.weekdaysRegex(a)}),ea(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:o(c).invalidWeekday=a}),ea(["d","e","E"],function(a,b,c,d){b[d]=w(a)});var te="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ue="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ve="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),we=_d,xe=_d,ye=_d;
W("H",["HH",2],0,"hour"),W("h",["hh",2],0,Ta),W("k",["kk",2],0,Ua),W("hmm",0,0,function(){return""+Ta.apply(this)+V(this.minutes(),2)}),W("hmmss",0,0,function(){return""+Ta.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),W("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),W("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),Va("a",!0),Va("A",!1),L("hour","h"),O("hour",13),_("a",Wa),_("A",Wa),_("H",Qd),_("h",Qd),_("HH",Qd,Md),_("hh",Qd,Md),_("hmm",Rd),_("hmmss",Sd),_("Hmm",Rd),_("Hmmss",Sd),da(["H","HH"],fe),da(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),da(["h","hh"],function(a,b,c){b[fe]=w(a),o(c).bigHour=!0}),da("hmm",function(a,b,c){var d=a.length-2;b[fe]=w(a.substr(0,d)),b[ge]=w(a.substr(d)),o(c).bigHour=!0}),da("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[fe]=w(a.substr(0,d)),b[ge]=w(a.substr(d,2)),b[he]=w(a.substr(e)),o(c).bigHour=!0}),da("Hmm",function(a,b,c){var d=a.length-2;b[fe]=w(a.substr(0,d)),b[ge]=w(a.substr(d))}),da("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[fe]=w(a.substr(0,d)),b[ge]=w(a.substr(d,2)),b[he]=w(a.substr(e))});var ze,Ae=/[ap]\.?m?\.?/i,Be=Q("Hours",!0),Ce={calendar:zd,longDateFormat:Ad,invalidDate:Bd,ordinal:Cd,ordinalParse:Dd,relativeTime:Ed,months:ne,monthsShort:oe,week:se,weekdays:te,weekdaysMin:ve,weekdaysShort:ue,meridiemParse:Ae},De={},Ee={},Fe=/^\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)?)?$/,Ge=/^\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)?)?$/,He=/Z|[+-]\d\d(?::?\d\d)?/,Ie=[["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}/]],Je=[["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/]],Ke=/^\/?Date\((\-?\d+)/i;c.createFromInputFallback=z("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non 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(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),c.ISO_8601=function(){};var Le=z("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=ub.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:q()}),Me=z("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=ub.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:q()}),Ne=function(){return Date.now?Date.now():+new Date};Bb("Z",":"),Bb("ZZ",""),_("Z",Zd),_("ZZ",Zd),da(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Cb(Zd,a)});var Oe=/([\+\-]|\d\d)/gi;c.updateOffset=function(){};var Pe=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Qe=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Qb.fn=yb.prototype;var Re=Ub(1,"add"),Se=Ub(-1,"subtract");c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Te=z("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});W(0,["gg",2],0,function(){return this.weekYear()%100}),W(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Bc("gggg","weekYear"),Bc("ggggg","weekYear"),Bc("GGGG","isoWeekYear"),Bc("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),O("weekYear",1),O("isoWeekYear",1),_("G",Xd),_("g",Xd),_("GG",Qd,Md),_("gg",Qd,Md),_("GGGG",Ud,Od),_("gggg",Ud,Od),_("GGGGG",Vd,Pd),_("ggggg",Vd,Pd),ea(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=w(a)}),ea(["gg","GG"],function(a,b,d,e){b[e]=c.parseTwoDigitYear(a)}),W("Q",0,"Qo","quarter"),L("quarter","Q"),O("quarter",7),_("Q",Ld),da("Q",function(a,b){b[de]=3*(w(a)-1)}),W("D",["DD",2],"Do","date"),L("date","D"),O("date",9),_("D",Qd),_("DD",Qd,Md),_("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),da(["D","DD"],ee),da("Do",function(a,b){b[ee]=w(a.match(Qd)[0],10)});var Ue=Q("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),O("dayOfYear",4),_("DDD",Td),_("DDDD",Nd),da(["DDD","DDDD"],function(a,b,c){c._dayOfYear=w(a)}),W("m",["mm",2],0,"minute"),L("minute","m"),O("minute",14),_("m",Qd),_("mm",Qd,Md),da(["m","mm"],ge);var Ve=Q("Minutes",!1);W("s",["ss",2],0,"second"),L("second","s"),O("second",15),_("s",Qd),_("ss",Qd,Md),da(["s","ss"],he);var We=Q("Seconds",!1);W("S",0,0,function(){return~~(this.millisecond()/100)}),W(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,function(){return 10*this.millisecond()}),W(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),W(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),W(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),W(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),W(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),L("millisecond","ms"),O("millisecond",16),_("S",Td,Ld),_("SS",Td,Md),_("SSS",Td,Nd);var Xe;for(Xe="SSSS";Xe.length<=9;Xe+="S")_(Xe,Wd);for(Xe="S";Xe.length<=9;Xe+="S")da(Xe,Kc);var Ye=Q("Milliseconds",!1);W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var Ze=t.prototype;Ze.add=Re,Ze.calendar=Xb,Ze.clone=Yb,Ze.diff=dc,Ze.endOf=qc,Ze.format=ic,Ze.from=jc,Ze.fromNow=kc,Ze.to=lc,Ze.toNow=mc,Ze.get=T,Ze.invalidAt=zc,Ze.isAfter=Zb,Ze.isBefore=$b,Ze.isBetween=_b,Ze.isSame=ac,Ze.isSameOrAfter=bc,Ze.isSameOrBefore=cc,Ze.isValid=xc,Ze.lang=Te,Ze.locale=nc,Ze.localeData=oc,Ze.max=Me,Ze.min=Le,Ze.parsingFlags=yc,Ze.set=U,Ze.startOf=pc,Ze.subtract=Se,Ze.toArray=uc,Ze.toObject=vc,Ze.toDate=tc,Ze.toISOString=gc,Ze.inspect=hc,Ze.toJSON=wc,Ze.toString=fc,Ze.unix=sc,Ze.valueOf=rc,Ze.creationData=Ac,Ze.year=re,Ze.isLeapYear=ta,Ze.weekYear=Cc,Ze.isoWeekYear=Dc,Ze.quarter=Ze.quarters=Ic,Ze.month=ma,Ze.daysInMonth=na,Ze.week=Ze.weeks=Da,Ze.isoWeek=Ze.isoWeeks=Ea,Ze.weeksInYear=Fc,Ze.isoWeeksInYear=Ec,Ze.date=Ue,Ze.day=Ze.days=Ma,Ze.weekday=Na,Ze.isoWeekday=Oa,Ze.dayOfYear=Jc,Ze.hour=Ze.hours=Be,Ze.minute=Ze.minutes=Ve,Ze.second=Ze.seconds=We,Ze.millisecond=Ze.milliseconds=Ye,Ze.utcOffset=Fb,Ze.utc=Hb,Ze.local=Ib,Ze.parseZone=Jb,Ze.hasAlignedHourOffset=Kb,Ze.isDST=Lb,Ze.isLocal=Nb,Ze.isUtcOffset=Ob,Ze.isUtc=Pb,Ze.isUTC=Pb,Ze.zoneAbbr=Lc,Ze.zoneName=Mc,Ze.dates=z("dates accessor is deprecated. Use date instead.",Ue),Ze.months=z("months accessor is deprecated. Use month instead",ma),Ze.years=z("years accessor is deprecated. Use year instead",re),Ze.zone=z("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Gb),Ze.isDSTShifted=z("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Mb);var $e=E.prototype;$e.calendar=F,$e.longDateFormat=G,$e.invalidDate=H,$e.ordinal=I,$e.preparse=Pc,$e.postformat=Pc,$e.relativeTime=J,$e.pastFuture=K,$e.set=C,$e.months=ha,$e.monthsShort=ia,$e.monthsParse=ka,$e.monthsRegex=pa,$e.monthsShortRegex=oa,$e.week=Aa,$e.firstDayOfYear=Ca,$e.firstDayOfWeek=Ba,$e.weekdays=Ha,$e.weekdaysMin=Ja,$e.weekdaysShort=Ia,$e.weekdaysParse=La,$e.weekdaysRegex=Pa,$e.weekdaysShortRegex=Qa,$e.weekdaysMinRegex=Ra,$e.isPM=Xa,$e.meridiem=Ya,ab("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===w(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),c.lang=z("moment.lang is deprecated. Use moment.locale instead.",ab),c.langData=z("moment.langData is deprecated. Use moment.localeData instead.",db);var _e=Math.abs,af=gd("ms"),bf=gd("s"),cf=gd("m"),df=gd("h"),ef=gd("d"),ff=gd("w"),gf=gd("M"),hf=gd("y"),jf=id("milliseconds"),kf=id("seconds"),lf=id("minutes"),mf=id("hours"),nf=id("days"),of=id("months"),pf=id("years"),qf=Math.round,rf={s:45,m:45,h:22,d:26,M:11},sf=Math.abs,tf=yb.prototype;return tf.abs=Yc,tf.add=$c,tf.subtract=_c,tf.as=ed,tf.asMilliseconds=af,tf.asSeconds=bf,tf.asMinutes=cf,tf.asHours=df,tf.asDays=ef,tf.asWeeks=ff,tf.asMonths=gf,tf.asYears=hf,tf.valueOf=fd,tf._bubble=bd,tf.get=hd,tf.milliseconds=jf,tf.seconds=kf,tf.minutes=lf,tf.hours=mf,tf.days=nf,tf.weeks=jd,tf.months=of,tf.years=pf,tf.humanize=od,tf.toISOString=pd,tf.toString=pd,tf.toJSON=pd,tf.locale=nc,tf.localeData=oc,tf.toIsoString=z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",pd),tf.lang=Te,W("X",0,0,"unix"),W("x",0,0,"valueOf"),_("x",Xd),_("X",$d),da("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),da("x",function(a,b,c){c._d=new Date(w(a))}),c.version="2.17.1",d(ub),c.fn=Ze,c.min=wb,c.max=xb,c.now=Ne,c.utc=m,c.unix=Nc,c.months=Tc,c.isDate=i,c.locale=ab,c.invalid=q,c.duration=Qb,c.isMoment=u,c.weekdays=Vc,c.parseZone=Oc,c.localeData=db,c.isDuration=zb,c.monthsShort=Uc,c.weekdaysMin=Xc,c.defineLocale=bb,c.updateLocale=cb,c.locales=eb,c.weekdaysShort=Wc,c.normalizeUnits=M,c.relativeTimeRounding=md,c.relativeTimeThreshold=nd,c.calendarFormat=Wb,c.prototype=Ze,c})},{}],239:[function(a,b,c){(function(c){
//     MIT License - http://opensource.org/licenses/mit-license.php
!function(d){"use strict";function e(){var a=d.crypto||d.msCrypto;if(!k&&a&&a.getRandomValues)try{var b=new Uint8Array(16);n=k=function(){return a.getRandomValues(b),b},k()}catch(c){}if(!k){var e=new Array(16);l=k=function(){for(var a,b=0;b<16;b++)0===(3&b)&&(a=4294967296*Math.random()),e[b]=a>>>((3&b)<<3)&255;return e},"undefined"!=typeof console&&console.warn&&console.warn("[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()")}}function f(){if("function"==typeof a)try{var b=a("crypto").randomBytes;m=k=b&&function(){return b(16)},k()}catch(c){}}function g(a,b,c){var d=b&&c||0,e=0;for(b=b||[],a.toLowerCase().replace(/[0-9a-f]{2}/g,function(a){e<16&&(b[d+e++]=r[a])});e<16;)b[d+e++]=0;return b}function h(a,b){var c=b||0,d=q;return d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]}function i(a,b,c){var d=b&&c||0,e=b||[];a=a||{};var f=null!=a.clockseq?a.clockseq:v,g=null!=a.msecs?a.msecs:(new Date).getTime(),i=null!=a.nsecs?a.nsecs:x+1,j=g-w+(i-x)/1e4;if(j<0&&null==a.clockseq&&(f=f+1&16383),(j<0||g>w)&&null==a.nsecs&&(i=0),i>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");w=g,x=i,v=f,g+=122192928e5;var k=(1e4*(268435455&g)+i)%4294967296;e[d++]=k>>>24&255,e[d++]=k>>>16&255,e[d++]=k>>>8&255,e[d++]=255&k;var l=g/4294967296*1e4&268435455;e[d++]=l>>>8&255,e[d++]=255&l,e[d++]=l>>>24&15|16,e[d++]=l>>>16&255,e[d++]=f>>>8|128,e[d++]=255&f;for(var m=a.node||u,n=0;n<6;n++)e[d+n]=m[n];return b?b:h(e)}function j(a,b,c){var d=b&&c||0;"string"==typeof a&&(b="binary"===a?new p(16):null,a=null),a=a||{};var e=a.random||(a.rng||k)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,b)for(var f=0;f<16;f++)b[d+f]=e[f];return b||h(e)}var k,l,m,n,o;d?e():f();for(var p="function"==typeof c?c:Array,q=[],r={},s=0;s<256;s++)q[s]=(s+256).toString(16).substr(1),r[q[s]]=s;var t=k(),u=[1|t[0],t[1],t[2],t[3],t[4],t[5]],v=16383&(t[6]<<8|t[7]),w=0,x=0,y=j;y.v1=i,y.v4=j,y.parse=g,y.unparse=h,y.BufferClass=p,y._rng=k,y._mathRNG=l,y._nodeRNG=m,y._whatwgRNG=n,"undefined"!=typeof b&&b.exports?b.exports=y:"function"==typeof define&&define.amd?define(function(){return y}):(o=d.uuid,y.noConflict=function(){return d.uuid=o,y},d.uuid=y)}("undefined"!=typeof window?window:null)}).call(this,a("buffer").Buffer)},{buffer:3,crypto:7}],240:[function(a,b,c){(function(a){function d(a,b){if(a instanceof g)return a;if("string"!=typeof a)return null;if(a.length>X)return null;var c=b?Z[oa]:Z[la];if(!c.test(a))return null;try{return new g(a,b)}catch(d){return null}}function e(a,b){var c=d(a,b);return c?c.version:null}function f(a,b){var c=d(a.trim().replace(/^[=v]+/,""),b);return c?c.version:null}function g(a,b){if(a instanceof g){if(a.loose===b)return a;a=a.version}else if("string"!=typeof a)throw new TypeError("Invalid Version: "+a);if(a.length>X)throw new TypeError("version is longer than "+X+" characters");if(!(this instanceof g))return new g(a,b);W("SemVer",a,b),this.loose=b;var c=a.trim().match(b?Z[oa]:Z[la]);if(!c)throw new TypeError("Invalid Version: "+a);if(this.raw=a,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>Y||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Y||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Y||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(function(a){if(/^[0-9]+$/.test(a)){var b=+a;if(b>=0&&b<Y)return b}return a}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}function h(a,b,c,d){"string"==typeof c&&(d=c,c=void 0);try{return new g(a,c).inc(b,d).version}catch(e){return null}}function i(a,b){if(v(a,b))return null;var c=d(a),e=d(b);if(c.prerelease.length||e.prerelease.length){for(var f in c)if(("major"===f||"minor"===f||"patch"===f)&&c[f]!==e[f])return"pre"+f;return"prerelease"}for(var f in c)if(("major"===f||"minor"===f||"patch"===f)&&c[f]!==e[f])return f}function j(a,b){var c=Oa.test(a),d=Oa.test(b);return c&&d&&(a=+a,b=+b),c&&!d?-1:d&&!c?1:a<b?-1:a>b?1:0}function k(a,b){return j(b,a)}function l(a,b){return new g(a,b).major}function m(a,b){return new g(a,b).minor}function n(a,b){return new g(a,b).patch}function o(a,b,c){return new g(a,c).compare(b)}function p(a,b){return o(a,b,!0)}function q(a,b,c){return o(b,a,c)}function r(a,b){return a.sort(function(a,d){return c.compare(a,d,b)})}function s(a,b){return a.sort(function(a,d){return c.rcompare(a,d,b)})}function t(a,b,c){return o(a,b,c)>0}function u(a,b,c){return o(a,b,c)<0}function v(a,b,c){return 0===o(a,b,c)}function w(a,b,c){return 0!==o(a,b,c)}function x(a,b,c){return o(a,b,c)>=0}function y(a,b,c){return o(a,b,c)<=0}function z(a,b,c,d){var e;switch(b){case"===":"object"==typeof a&&(a=a.version),"object"==typeof c&&(c=c.version),e=a===c;break;case"!==":"object"==typeof a&&(a=a.version),"object"==typeof c&&(c=c.version),e=a!==c;break;case"":case"=":case"==":e=v(a,c,d);break;case"!=":e=w(a,c,d);break;case">":e=t(a,c,d);break;case">=":e=x(a,c,d);break;case"<":e=u(a,c,d);break;case"<=":e=y(a,c,d);break;default:throw new TypeError("Invalid operator: "+b)}return e}function A(a,b){if(a instanceof A){if(a.loose===b)return a;a=a.value}return this instanceof A?(W("comparator",a,b),this.loose=b,this.parse(a),this.semver===Pa?this.value="":this.value=this.operator+this.semver.version,void W("comp",this)):new A(a,b)}function B(a,b){if(a instanceof B&&a.loose===b)return a;if(!(this instanceof B))return new B(a,b);if(this.loose=b,this.raw=a,this.set=a.split(/\s*\|\|\s*/).map(function(a){return this.parseRange(a.trim())},this).filter(function(a){return a.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+a);this.format()}function C(a,b){return new B(a,b).set.map(function(a){return a.map(function(a){return a.value}).join(" ").trim().split(" ")})}function D(a,b){return W("comp",a),a=H(a,b),W("caret",a),a=F(a,b),W("tildes",a),a=J(a,b),W("xrange",a),a=L(a,b),W("stars",a),a}function E(a){return!a||"x"===a.toLowerCase()||"*"===a}function F(a,b){return a.trim().split(/\s+/).map(function(a){return G(a,b)}).join(" ")}function G(a,b){var c=b?Z[Aa]:Z[za];return a.replace(c,function(b,c,d,e,f){W("tilde",a,b,c,d,e,f);var g;return E(c)?g="":E(d)?g=">="+c+".0.0 <"+(+c+1)+".0.0":E(e)?g=">="+c+"."+d+".0 <"+c+"."+(+d+1)+".0":f?(W("replaceTilde pr",f),"-"!==f.charAt(0)&&(f="-"+f),g=">="+c+"."+d+"."+e+f+" <"+c+"."+(+d+1)+".0"):g=">="+c+"."+d+"."+e+" <"+c+"."+(+d+1)+".0",W("tilde return",g),g})}function H(a,b){return a.trim().split(/\s+/).map(function(a){return I(a,b)}).join(" ")}function I(a,b){W("caret",a,b);var c=b?Z[Fa]:Z[Ea];return a.replace(c,function(b,c,d,e,f){W("caret",a,b,c,d,e,f);var g;return E(c)?g="":E(d)?g=">="+c+".0.0 <"+(+c+1)+".0.0":E(e)?g="0"===c?">="+c+"."+d+".0 <"+c+"."+(+d+1)+".0":">="+c+"."+d+".0 <"+(+c+1)+".0.0":f?(W("replaceCaret pr",f),"-"!==f.charAt(0)&&(f="-"+f),g="0"===c?"0"===d?">="+c+"."+d+"."+e+f+" <"+c+"."+d+"."+(+e+1):">="+c+"."+d+"."+e+f+" <"+c+"."+(+d+1)+".0":">="+c+"."+d+"."+e+f+" <"+(+c+1)+".0.0"):(W("no pr"),g="0"===c?"0"===d?">="+c+"."+d+"."+e+" <"+c+"."+d+"."+(+e+1):">="+c+"."+d+"."+e+" <"+c+"."+(+d+1)+".0":">="+c+"."+d+"."+e+" <"+(+c+1)+".0.0"),W("caret return",g),g})}function J(a,b){return W("replaceXRanges",a,b),a.split(/\s+/).map(function(a){return K(a,b)}).join(" ")}function K(a,b){a=a.trim();var c=b?Z[va]:Z[ua];return a.replace(c,function(b,c,d,e,f,g){W("xRange",a,b,c,d,e,f,g);var h=E(d),i=h||E(e),j=i||E(f),k=j;return"="===c&&k&&(c=""),h?b=">"===c||"<"===c?"<0.0.0":"*":c&&k?(i&&(e=0),j&&(f=0),">"===c?(c=">=",i?(d=+d+1,e=0,f=0):j&&(e=+e+1,f=0)):"<="===c&&(c="<",i?d=+d+1:e=+e+1),b=c+d+"."+e+"."+f):i?b=">="+d+".0.0 <"+(+d+1)+".0.0":j&&(b=">="+d+"."+e+".0 <"+d+"."+(+e+1)+".0"),W("xRange return",b),b})}function L(a,b){return W("replaceStars",a,b),a.trim().replace(Z[Ma],"")}function M(a,b,c,d,e,f,g,h,i,j,k,l,m){return b=E(c)?"":E(d)?">="+c+".0.0":E(e)?">="+c+"."+d+".0":">="+b,h=E(i)?"":E(j)?"<"+(+i+1)+".0.0":E(k)?"<"+i+"."+(+j+1)+".0":l?"<="+i+"."+j+"."+k+"-"+l:"<="+h,(b+" "+h).trim()}function N(a,b){for(var c=0;c<a.length;c++)if(!a[c].test(b))return!1;if(b.prerelease.length){for(var c=0;c<a.length;c++)if(W(a[c].semver),a[c].semver!==Pa&&a[c].semver.prerelease.length>0){var d=a[c].semver;if(d.major===b.major&&d.minor===b.minor&&d.patch===b.patch)return!0}return!1}return!0}function O(a,b,c){try{b=new B(b,c)}catch(d){return!1}return b.test(a)}function P(a,b,c){return a.filter(function(a){return O(a,b,c)}).sort(function(a,b){return q(a,b,c)})[0]||null}function Q(a,b,c){return a.filter(function(a){return O(a,b,c)}).sort(function(a,b){return o(a,b,c)})[0]||null}function R(a,b){try{return new B(a,b).range||"*"}catch(c){return null}}function S(a,b,c){return U(a,b,"<",c)}function T(a,b,c){return U(a,b,">",c)}function U(a,b,c,d){a=new g(a,d),b=new B(b,d);var e,f,h,i,j;switch(c){case">":e=t,f=y,h=u,i=">",j=">=";break;case"<":e=u,f=x,h=t,i="<",j="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(O(a,b,d))return!1;for(var k=0;k<b.set.length;++k){var l=b.set[k],m=null,n=null;if(l.forEach(function(a){a.semver===Pa&&(a=new A(">=0.0.0")),m=m||a,n=n||a,e(a.semver,m.semver,d)?m=a:h(a.semver,n.semver,d)&&(n=a)}),m.operator===i||m.operator===j)return!1;if((!n.operator||n.operator===i)&&f(a,n.semver))return!1;if(n.operator===j&&h(a,n.semver))return!1}return!0}function V(a,b){var c=d(a,b);return c&&c.prerelease.length?c.prerelease:null}c=b.exports=g;var W;W="object"==typeof a&&a.env&&a.env.NODE_DEBUG&&/\bsemver\b/i.test(a.env.NODE_DEBUG)?function(){var a=Array.prototype.slice.call(arguments,0);a.unshift("SEMVER"),console.log.apply(console,a)}:function(){},c.SEMVER_SPEC_VERSION="2.0.0";var X=256,Y=Number.MAX_SAFE_INTEGER||9007199254740991,Z=c.re=[],$=c.src=[],_=0,aa=_++;$[aa]="0|[1-9]\\d*";var ba=_++;$[ba]="[0-9]+";var ca=_++;$[ca]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var da=_++;$[da]="("+$[aa]+")\\.("+$[aa]+")\\.("+$[aa]+")";var ea=_++;$[ea]="("+$[ba]+")\\.("+$[ba]+")\\.("+$[ba]+")";var fa=_++;$[fa]="(?:"+$[aa]+"|"+$[ca]+")";var ga=_++;$[ga]="(?:"+$[ba]+"|"+$[ca]+")";var ha=_++;$[ha]="(?:-("+$[fa]+"(?:\\."+$[fa]+")*))";var ia=_++;$[ia]="(?:-?("+$[ga]+"(?:\\."+$[ga]+")*))";var ja=_++;$[ja]="[0-9A-Za-z-]+";var ka=_++;$[ka]="(?:\\+("+$[ja]+"(?:\\."+$[ja]+")*))";var la=_++,ma="v?"+$[da]+$[ha]+"?"+$[ka]+"?";$[la]="^"+ma+"$";var na="[v=\\s]*"+$[ea]+$[ia]+"?"+$[ka]+"?",oa=_++;$[oa]="^"+na+"$";var pa=_++;$[pa]="((?:<|>)?=?)";var qa=_++;$[qa]=$[ba]+"|x|X|\\*";var ra=_++;$[ra]=$[aa]+"|x|X|\\*";var sa=_++;$[sa]="[v=\\s]*("+$[ra]+")(?:\\.("+$[ra]+")(?:\\.("+$[ra]+")(?:"+$[ha]+")?"+$[ka]+"?)?)?";var ta=_++;$[ta]="[v=\\s]*("+$[qa]+")(?:\\.("+$[qa]+")(?:\\.("+$[qa]+")(?:"+$[ia]+")?"+$[ka]+"?)?)?";var ua=_++;$[ua]="^"+$[pa]+"\\s*"+$[sa]+"$";var va=_++;$[va]="^"+$[pa]+"\\s*"+$[ta]+"$";var wa=_++;$[wa]="(?:~>?)";var xa=_++;$[xa]="(\\s*)"+$[wa]+"\\s+",Z[xa]=new RegExp($[xa],"g");var ya="$1~",za=_++;$[za]="^"+$[wa]+$[sa]+"$";var Aa=_++;$[Aa]="^"+$[wa]+$[ta]+"$";var Ba=_++;$[Ba]="(?:\\^)";var Ca=_++;$[Ca]="(\\s*)"+$[Ba]+"\\s+",Z[Ca]=new RegExp($[Ca],"g");var Da="$1^",Ea=_++;$[Ea]="^"+$[Ba]+$[sa]+"$";var Fa=_++;$[Fa]="^"+$[Ba]+$[ta]+"$";var Ga=_++;$[Ga]="^"+$[pa]+"\\s*("+na+")$|^$";var Ha=_++;$[Ha]="^"+$[pa]+"\\s*("+ma+")$|^$";var Ia=_++;$[Ia]="(\\s*)"+$[pa]+"\\s*("+na+"|"+$[sa]+")",Z[Ia]=new RegExp($[Ia],"g");var Ja="$1$2$3",Ka=_++;$[Ka]="^\\s*("+$[sa]+")\\s+-\\s+("+$[sa]+")\\s*$";var La=_++;$[La]="^\\s*("+$[ta]+")\\s+-\\s+("+$[ta]+")\\s*$";var Ma=_++;$[Ma]="(<|>)?=?\\s*\\*";for(var Na=0;Na<_;Na++)W(Na,$[Na]),Z[Na]||(Z[Na]=new RegExp($[Na]));c.parse=d,c.valid=e,c.clean=f,c.SemVer=g,g.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},g.prototype.toString=function(){return this.version},g.prototype.compare=function(a){return W("SemVer.compare",this.version,this.loose,a),a instanceof g||(a=new g(a,this.loose)),this.compareMain(a)||this.comparePre(a)},g.prototype.compareMain=function(a){return a instanceof g||(a=new g(a,this.loose)),j(this.major,a.major)||j(this.minor,a.minor)||j(this.patch,a.patch)},g.prototype.comparePre=function(a){if(a instanceof g||(a=new g(a,this.loose)),this.prerelease.length&&!a.prerelease.length)return-1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;var b=0;do{var c=this.prerelease[b],d=a.prerelease[b];if(W("prerelease compare",b,c,d),void 0===c&&void 0===d)return 0;if(void 0===d)return 1;if(void 0===c)return-1;if(c!==d)return j(c,d)}while(++b)},g.prototype.inc=function(a,b){switch(a){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",b);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",b);break;case"prepatch":this.prerelease.length=0,this.inc("patch",b),this.inc("pre",b);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",b),this.inc("pre",b);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{for(var c=this.prerelease.length;--c>=0;)"number"==typeof this.prerelease[c]&&(this.prerelease[c]++,c=-2);c===-1&&this.prerelease.push(0)}b&&(this.prerelease[0]===b?isNaN(this.prerelease[1])&&(this.prerelease=[b,0]):this.prerelease=[b,0]);break;default:throw new Error("invalid increment argument: "+a)}return this.format(),this.raw=this.version,this},c.inc=h,c.diff=i,c.compareIdentifiers=j;var Oa=/^[0-9]+$/;c.rcompareIdentifiers=k,c.major=l,c.minor=m,c.patch=n,c.compare=o,c.compareLoose=p,c.rcompare=q,c.sort=r,c.rsort=s,c.gt=t,c.lt=u,c.eq=v,c.neq=w,c.gte=x,c.lte=y,c.cmp=z,c.Comparator=A;var Pa={};A.prototype.parse=function(a){var b=this.loose?Z[Ga]:Z[Ha],c=a.match(b);if(!c)throw new TypeError("Invalid comparator: "+a);this.operator=c[1],"="===this.operator&&(this.operator=""),c[2]?this.semver=new g(c[2],this.loose):this.semver=Pa},A.prototype.toString=function(){return this.value},A.prototype.test=function(a){return W("Comparator.test",a,this.loose),this.semver===Pa||("string"==typeof a&&(a=new g(a,this.loose)),z(a,this.operator,this.semver,this.loose))},c.Range=B,B.prototype.format=function(){return this.range=this.set.map(function(a){return a.join(" ").trim()}).join("||").trim(),this.range},B.prototype.toString=function(){return this.range},B.prototype.parseRange=function(a){var b=this.loose;a=a.trim(),W("range",a,b);var c=b?Z[La]:Z[Ka];a=a.replace(c,M),W("hyphen replace",a),a=a.replace(Z[Ia],Ja),W("comparator trim",a,Z[Ia]),a=a.replace(Z[xa],ya),a=a.replace(Z[Ca],Da),a=a.split(/\s+/).join(" ");var d=b?Z[Ga]:Z[Ha],e=a.split(" ").map(function(a){return D(a,b)}).join(" ").split(/\s+/);return this.loose&&(e=e.filter(function(a){return!!a.match(d)})),e=e.map(function(a){return new A(a,b)})},c.toComparators=C,B.prototype.test=function(a){if(!a)return!1;"string"==typeof a&&(a=new g(a,this.loose));for(var b=0;b<this.set.length;b++)if(N(this.set[b],a))return!0;return!1},c.satisfies=O,c.maxSatisfying=P,c.minSatisfying=Q,c.validRange=R,c.ltr=S,c.gtr=T,c.outside=U,c.prerelease=V}).call(this,a("_process"))},{_process:209}],241:[function(a,b,c){/*!
 * XRegExp v2.0.0
 * (c) 2007-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 */
var d;d=d||function(a){"use strict";function b(a,b,c){var d;for(d in l.prototype)l.prototype.hasOwnProperty(d)&&(a[d]=l.prototype[d]);return a.xregexp={captureNames:b,isNative:!!c},a}function d(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":"")}function e(a,c,e){if(!l.isRegExp(a))throw new TypeError("type RegExp expected");var f=p.replace.call(d(a)+(c||""),x,"");return e&&(f=p.replace.call(f,new RegExp("["+e+"]+","g"),"")),a=a.xregexp&&!a.xregexp.isNative?b(l(a.source,f),a.xregexp.captureNames?a.xregexp.captureNames.slice(0):null):b(new RegExp(a.source,f),null,!0)}function f(a,b){var c=a.length;if(Array.prototype.lastIndexOf)return a.lastIndexOf(b);for(;c--;)if(a[c]===b)return c;return-1}function g(a,b){return Object.prototype.toString.call(a).toLowerCase()==="[object "+b+"]"}function h(a){return a=a||{},"all"===a||a.all?a={natives:!0,extensibility:!0}:g(a,"string")&&(a=l.forEach(a,/[^\s,]+/,function(a){this[a]=!0},{})),a}function i(a,b,c,d){var e,f,g=s.length,h=null;B=!0;try{for(;g--;)if(f=s[g],("all"===f.scope||f.scope===c)&&(!f.trigger||f.trigger.call(d))&&(f.pattern.lastIndex=b,e=q.exec.call(f.pattern,a),e&&e.index===b)){h={output:f.handler.call(d,e,c),match:e};break}}catch(i){throw i}finally{B=!1}return h}function j(a){l.addToken=m[a?"on":"off"],o.extensibility=a}function k(a){RegExp.prototype.exec=(a?q:p).exec,RegExp.prototype.test=(a?q:p).test,String.prototype.match=(a?q:p).match,String.prototype.replace=(a?q:p).replace,String.prototype.split=(a?q:p).split,o.natives=a}var l,m,n,o={natives:!1,extensibility:!1},p={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},q={},r={},s=[],t="default",u="class",v={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},w=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,x=/([\s\S])(?=[\s\S]*\1)/g,y=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,z=p.exec.call(/()??/,"")[1]===a,A=RegExp.prototype.sticky!==a,B=!1,C="gim"+(A?"y":"");return l=function(c,d){if(l.isRegExp(c)){if(d!==a)throw new TypeError("can't supply flags when constructing one RegExp from another");return e(c)}if(B)throw new Error("can't call the XRegExp constructor within token definition functions");var f,g,h,j=[],k=t,m={hasNamedCapture:!1,captureNames:[],hasFlag:function(a){return d.indexOf(a)>-1}},n=0;if(c=c===a?"":String(c),d=d===a?"":String(d),p.match.call(d,x))throw new SyntaxError("invalid duplicate regular expression flag");for(c=p.replace.call(c,/^\(\?([\w$]+)\)/,function(a,b){if(p.test.call(/[gy]/,b))throw new SyntaxError("can't use flag g or y in mode modifier");return d=p.replace.call(d+b,x,""),""}),l.forEach(d,/[\s\S]/,function(a){if(C.indexOf(a[0])<0)throw new SyntaxError("invalid regular expression flag "+a[0])});n<c.length;)f=i(c,n,k,m),f?(j.push(f.output),n+=f.match[0].length||1):(g=p.exec.call(v[k],c.slice(n)),g?(j.push(g[0]),n+=g[0].length):(h=c.charAt(n),"["===h?k=u:"]"===h&&(k=t),j.push(h),++n));return b(new RegExp(j.join(""),p.replace.call(d,/[^gimy]+/g,"")),m.hasNamedCapture?m.captureNames:null)},m={on:function(a,b,c){c=c||{},a&&s.push({pattern:e(a,"g"+(A?"y":"")),handler:b,scope:c.scope||t,trigger:c.trigger||null}),c.customFlags&&(C=p.replace.call(C+c.customFlags,x,""))},off:function(){throw new Error("extensibility must be installed before using addToken")}},l.addToken=m.off,l.cache=function(a,b){var c=a+"/"+(b||"");return r[c]||(r[c]=l(a,b))},l.escape=function(a){return p.replace.call(a,/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},l.exec=function(a,b,c,d){var f,g=e(b,"g"+(d&&A?"y":""),d===!1?"y":"");return g.lastIndex=c=c||0,f=q.exec.call(g,a),d&&f&&f.index!==c&&(f=null),b.global&&(b.lastIndex=f?g.lastIndex:0),f},l.forEach=function(a,b,c,d){for(var e,f=0,g=-1;e=l.exec(a,b,f);)c.call(d,e,++g,a,b),f=e.index+(e[0].length||1);return d},l.globalize=function(a){return e(a,"g")},l.install=function(a){a=h(a),!o.natives&&a.natives&&k(!0),!o.extensibility&&a.extensibility&&j(!0)},l.isInstalled=function(a){return!!o[a]},l.isRegExp=function(a){return g(a,"regexp")},l.matchChain=function(a,b){return function c(a,d){var e,f=b[d].regex?b[d]:{regex:b[d]},g=[],h=function(a){g.push(f.backref?a[f.backref]||"":a[0])};for(e=0;e<a.length;++e)l.forEach(a[e],f.regex,h);return d!==b.length-1&&g.length?c(g,d+1):g}([a],0)},l.replace=function(b,c,d,f){var g,h=l.isRegExp(c),i=c;return h?(f===a&&c.global&&(f="all"),i=e(c,"all"===f?"g":"","all"===f?"":"g")):"all"===f&&(i=new RegExp(l.escape(String(c)),"g")),g=q.replace.call(String(b),i,d),h&&c.global&&(c.lastIndex=0),g},l.split=function(a,b,c){return q.split.call(a,b,c)},l.test=function(a,b,c,d){return!!l.exec(a,b,c,d)},l.uninstall=function(a){a=h(a),o.natives&&a.natives&&k(!1),o.extensibility&&a.extensibility&&j(!1)},l.union=function(a,b){var c,d,e,f,h=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,i=0,j=function(a,b,e){var f=d[i-c];if(b){if(++i,f)return"(?<"+f+">"}else if(e)return"\\"+(+e+c);return a},k=[];if(!g(a,"array")||!a.length)throw new TypeError("patterns must be a nonempty array");for(f=0;f<a.length;++f)e=a[f],l.isRegExp(e)?(c=i,d=e.xregexp&&e.xregexp.captureNames||[],k.push(l(e.source).source.replace(h,j))):k.push(l.escape(e));return l(k.join("|"),b)},l.version="2.0.0",q.exec=function(b){var c,e,g,h,i;if(this.global||(h=this.lastIndex),c=p.exec.apply(this,arguments)){if(!z&&c.length>1&&f(c,"")>-1&&(g=new RegExp(this.source,p.replace.call(d(this),"g","")),p.replace.call(String(b).slice(c.index),g,function(){var b;for(b=1;b<arguments.length-2;++b)arguments[b]===a&&(c[b]=a)})),this.xregexp&&this.xregexp.captureNames)for(i=1;i<c.length;++i)e=this.xregexp.captureNames[i-1],e&&(c[e]=c[i]);this.global&&!c[0].length&&this.lastIndex>c.index&&(this.lastIndex=c.index)}return this.global||(this.lastIndex=h),c},q.test=function(a){return!!q.exec.call(this,a)},q.match=function(a){if(l.isRegExp(a)){if(a.global){var b=p.match.apply(this,arguments);return a.lastIndex=0,b}}else a=new RegExp(a);return q.exec.call(a,this)},q.replace=function(a,b){var c,d,e,h,i=l.isRegExp(a);return i?(a.xregexp&&(c=a.xregexp.captureNames),a.global||(h=a.lastIndex)):a+="",g(b,"function")?d=p.replace.call(String(this),a,function(){var d,e=arguments;if(c)for(e[0]=new String(e[0]),d=0;d<c.length;++d)c[d]&&(e[0][c[d]]=e[d+1]);return i&&a.global&&(a.lastIndex=e[e.length-2]+e[0].length),b.apply(null,e)}):(e=String(this),d=p.replace.call(e,a,function(){var a=arguments;return p.replace.call(String(b),w,function(b,d,e){var g;if(d){if(g=+d,g<=a.length-3)return a[g]||"";if(g=c?f(c,d):-1,g<0)throw new SyntaxError("backreference to undefined group "+b);return a[g+1]||""}if("$"===e)return"$";if("&"===e||0===+e)return a[0];if("`"===e)return a[a.length-1].slice(0,a[a.length-2]);if("'"===e)return a[a.length-1].slice(a[a.length-2]+a[0].length);if(e=+e,!isNaN(e)){if(e>a.length-3)throw new SyntaxError("backreference to undefined group "+b);return a[e]||""}throw new SyntaxError("invalid token "+b)})})),i&&(a.global?a.lastIndex=0:a.lastIndex=h),d},q.split=function(b,c){if(!l.isRegExp(b))return p.split.apply(this,arguments);var d,e=String(this),f=b.lastIndex,g=[],h=0;return c=(c===a?-1:c)>>>0,l.forEach(e,b,function(a){a.index+a[0].length>h&&(g.push(e.slice(h,a.index)),a.length>1&&a.index<e.length&&Array.prototype.push.apply(g,a.slice(1)),d=a[0].length,h=a.index+d)}),h===e.length?p.test.call(b,"")&&!d||g.push(""):g.push(e.slice(h)),b.lastIndex=f,g.length>c?g.slice(0,c):g},n=m.on,n(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(a,b){if("B"===a[1]&&b===t)return a[0];throw new SyntaxError("invalid escape "+a[0])},{scope:"all"}),n(/\[(\^?)]/,function(a){return a[1]?"[\\s\\S]":"\\b\\B"}),n(/(?:\(\?#[^)]*\))+/,function(a){return p.test.call(y,a.input.slice(a.index+a[0].length))?"":"(?:)"}),n(/\\k<([\w$]+)>/,function(a){var b=isNaN(a[1])?f(this.captureNames,a[1])+1:+a[1],c=a.index+a[0].length;if(!b||b>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+a[0]);return"\\"+b+(c===a.input.length||isNaN(a.input.charAt(c))?"":"(?:)")}),n(/(?:\s+|#.*)+/,function(a){return p.test.call(y,a.input.slice(a.index+a[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),n(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),n(/\(\?P?<([\w$]+)>/,function(a){if(!isNaN(a[1]))throw new SyntaxError("can't use integer as capture name "+a[0]);return this.captureNames.push(a[1]),this.hasNamedCapture=!0,"("}),n(/\\(\d+)/,function(a,b){if(!(b===t&&/^[1-9]/.test(a[1])&&+a[1]<=this.captureNames.length)&&"0"!==a[1])throw new SyntaxError("can't use octal escape or backreference to undefined group "+a[0]);return a[0]},{scope:"all"}),n(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),"undefined"!=typeof c&&(c.XRegExp=l),l}(),/*!
 * XRegExp Unicode Base v1.0.0
 * (c) 2008-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Uses Unicode 6.1 <http://unicode.org/>
 */
function(a){"use strict";function b(a){return a.replace(/[- _]+/g,"").toLowerCase()}function c(a){return a.replace(/\w{4}/g,"\\u$&")}function d(a){for(;a.length<4;)a="0"+a;return a}function e(a){return parseInt(a,16)}function f(a){return parseInt(a,10).toString(16)}function g(b){var c,g=[],h=-1;return a.forEach(b,/\\u(\w{4})(?:-\\u(\w{4}))?/,function(a){c=e(a[1]),c>h+1&&(g.push("\\u"+d(f(h+1))),c>h+2&&g.push("-\\u"+d(f(c-1)))),h=e(a[2]||a[1])}),h<65535&&(g.push("\\u"+d(f(h+1))),h<65534&&g.push("-\\uFFFF")),g.join("")}function h(a){return i["^"+a]||(i["^"+a]=g(i[a]))}var i={};a.install("extensibility"),a.addUnicodePackage=function(d,e){var f;if(!a.isInstalled("extensibility"))throw new Error("extensibility must be installed before adding Unicode packages");if(d)for(f in d)d.hasOwnProperty(f)&&(i[b(f)]=c(d[f]));if(e)for(f in e)e.hasOwnProperty(f)&&(i[b(e[f])]=i[b(f)])},a.addUnicodePackage({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"},{L:"Letter"}),a.addToken(/\\([pP]){(\^?)([^}]*)}/,function(a,c){var d="P"===a[1]||a[2]?"^":"",e=b(a[3]);if("P"===a[1]&&a[2])throw new SyntaxError("invalid double negation \\P{^");if(!i.hasOwnProperty(e))throw new SyntaxError("invalid or unknown Unicode property "+a[0]);return"class"===c?d?h(e):i[e]:"["+d+i[e]+"]"},{scope:"all"})}(d),/*!
 * XRegExp Unicode Categories v1.2.0
 * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Uses Unicode 6.1 <http://unicode.org/>
 */
function(a){"use strict";if(!a.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");a.install("extensibility"),a.addUnicodePackage({Ll:"0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",Lo:"00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048920DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",So:"00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},{Ll:"Lowercase_Letter",Lu:"Uppercase_Letter",Lt:"Titlecase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",M:"Mark",Mn:"Nonspacing_Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pd:"Dash_Punctuation",Ps:"Open_Punctuation",Pe:"Close_Punctuation",Pi:"Initial_Punctuation",Pf:"Final_Punctuation",Pc:"Connector_Punctuation",Po:"Other_Punctuation",S:"Symbol",Sm:"Math_Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",So:"Other_Symbol",Z:"Separator",Zs:"Space_Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",C:"Other",Cc:"Control",Cf:"Format",Co:"Private_Use",Cs:"Surrogate",Cn:"Unassigned"})}(d),/*!
 * XRegExp Unicode Scripts v1.2.0
 * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Uses Unicode 6.1 <http://unicode.org/>
 */
function(a){"use strict";if(!a.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");a.install("extensibility"),a.addUnicodePackage({Arabic:"0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",Armenian:"0531-05560559-055F0561-0587058A058FFB13-FB17",Balinese:"1B00-1B4B1B50-1B7C",Bamum:"A6A0-A6F7",Batak:"1BC0-1BF31BFC-1BFF",Bengali:"0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",Bopomofo:"02EA02EB3105-312D31A0-31BA",Braille:"2800-28FF",Buginese:"1A00-1A1B1A1E1A1F",Buhid:"1740-1753",Canadian_Aboriginal:"1400-167F18B0-18F5",Cham:"AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",Cherokee:"13A0-13F4",Common:"0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",Coptic:"03E2-03EF2C80-2CF32CF9-2CFF",Cyrillic:"0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",Devanagari:"0900-09500953-09630966-09770979-097FA8E0-A8FB",Ethiopic:"1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",Georgian:"10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",Glagolitic:"2C00-2C2E2C30-2C5E",Greek:"0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",Gujarati:"0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",Gurmukhi:"0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",Han:"2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",Hangul:"1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Hanunoo:"1720-1734",Hebrew:"0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",Hiragana:"3041-3096309D-309F",Inherited:"0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",Javanese:"A980-A9CDA9CF-A9D9A9DEA9DF",Kannada:"0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",Katakana:"30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",Kayah_Li:"A900-A92F",Khmer:"1780-17DD17E0-17E917F0-17F919E0-19FF",Lao:"0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",Latin:"0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",Lepcha:"1C00-1C371C3B-1C491C4D-1C4F",Limbu:"1900-191C1920-192B1930-193B19401944-194F",Lisu:"A4D0-A4FF",Malayalam:"0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",Mandaic:"0840-085B085E",Meetei_Mayek:"AAE0-AAF6ABC0-ABEDABF0-ABF9",Mongolian:"1800180118041806-180E1810-18191820-18771880-18AA",Myanmar:"1000-109FAA60-AA7B",New_Tai_Lue:"1980-19AB19B0-19C919D0-19DA19DE19DF",Nko:"07C0-07FA",Ogham:"1680-169C",Ol_Chiki:"1C50-1C7F",Oriya:"0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",Phags_Pa:"A840-A877",Rejang:"A930-A953A95F",Runic:"16A0-16EA16EE-16F0",Samaritan:"0800-082D0830-083E",Saurashtra:"A880-A8C4A8CE-A8D9",Sinhala:"0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",Sundanese:"1B80-1BBF1CC0-1CC7",Syloti_Nagri:"A800-A82B",Syriac:"0700-070D070F-074A074D-074F",Tagalog:"1700-170C170E-1714",Tagbanwa:"1760-176C176E-177017721773",Tai_Le:"1950-196D1970-1974",Tai_Tham:"1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",Tai_Viet:"AA80-AAC2AADB-AADF",Tamil:"0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",Telugu:"0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",Thaana:"0780-07B1",Thai:"0E01-0E3A0E40-0E5B",Tibetan:"0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",Tifinagh:"2D30-2D672D6F2D702D7F",Vai:"A500-A62B",Yi:"A000-A48CA490-A4C6"})}(d),/*!
 * XRegExp Unicode Blocks v1.2.0
 * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Uses Unicode 6.1 <http://unicode.org/>
 */
function(a){"use strict";if(!a.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");a.install("extensibility"),a.addUnicodePackage({InBasic_Latin:"0000-007F",InLatin_1_Supplement:"0080-00FF",InLatin_Extended_A:"0100-017F",InLatin_Extended_B:"0180-024F",InIPA_Extensions:"0250-02AF",InSpacing_Modifier_Letters:"02B0-02FF",InCombining_Diacritical_Marks:"0300-036F",InGreek_and_Coptic:"0370-03FF",InCyrillic:"0400-04FF",InCyrillic_Supplement:"0500-052F",InArmenian:"0530-058F",InHebrew:"0590-05FF",InArabic:"0600-06FF",InSyriac:"0700-074F",InArabic_Supplement:"0750-077F",InThaana:"0780-07BF",InNKo:"07C0-07FF",InSamaritan:"0800-083F",InMandaic:"0840-085F",InArabic_Extended_A:"08A0-08FF",InDevanagari:"0900-097F",InBengali:"0980-09FF",InGurmukhi:"0A00-0A7F",InGujarati:"0A80-0AFF",InOriya:"0B00-0B7F",InTamil:"0B80-0BFF",InTelugu:"0C00-0C7F",InKannada:"0C80-0CFF",InMalayalam:"0D00-0D7F",InSinhala:"0D80-0DFF",InThai:"0E00-0E7F",InLao:"0E80-0EFF",InTibetan:"0F00-0FFF",InMyanmar:"1000-109F",InGeorgian:"10A0-10FF",InHangul_Jamo:"1100-11FF",InEthiopic:"1200-137F",InEthiopic_Supplement:"1380-139F",InCherokee:"13A0-13FF",InUnified_Canadian_Aboriginal_Syllabics:"1400-167F",InOgham:"1680-169F",InRunic:"16A0-16FF",InTagalog:"1700-171F",InHanunoo:"1720-173F",InBuhid:"1740-175F",InTagbanwa:"1760-177F",InKhmer:"1780-17FF",InMongolian:"1800-18AF",InUnified_Canadian_Aboriginal_Syllabics_Extended:"18B0-18FF",InLimbu:"1900-194F",InTai_Le:"1950-197F",InNew_Tai_Lue:"1980-19DF",InKhmer_Symbols:"19E0-19FF",InBuginese:"1A00-1A1F",InTai_Tham:"1A20-1AAF",InBalinese:"1B00-1B7F",InSundanese:"1B80-1BBF",InBatak:"1BC0-1BFF",InLepcha:"1C00-1C4F",InOl_Chiki:"1C50-1C7F",InSundanese_Supplement:"1CC0-1CCF",InVedic_Extensions:"1CD0-1CFF",InPhonetic_Extensions:"1D00-1D7F",InPhonetic_Extensions_Supplement:"1D80-1DBF",InCombining_Diacritical_Marks_Supplement:"1DC0-1DFF",InLatin_Extended_Additional:"1E00-1EFF",InGreek_Extended:"1F00-1FFF",InGeneral_Punctuation:"2000-206F",InSuperscripts_and_Subscripts:"2070-209F",InCurrency_Symbols:"20A0-20CF",InCombining_Diacritical_Marks_for_Symbols:"20D0-20FF",InLetterlike_Symbols:"2100-214F",InNumber_Forms:"2150-218F",InArrows:"2190-21FF",InMathematical_Operators:"2200-22FF",InMiscellaneous_Technical:"2300-23FF",InControl_Pictures:"2400-243F",InOptical_Character_Recognition:"2440-245F",InEnclosed_Alphanumerics:"2460-24FF",InBox_Drawing:"2500-257F",InBlock_Elements:"2580-259F",InGeometric_Shapes:"25A0-25FF",InMiscellaneous_Symbols:"2600-26FF",InDingbats:"2700-27BF",InMiscellaneous_Mathematical_Symbols_A:"27C0-27EF",InSupplemental_Arrows_A:"27F0-27FF",InBraille_Patterns:"2800-28FF",InSupplemental_Arrows_B:"2900-297F",InMiscellaneous_Mathematical_Symbols_B:"2980-29FF",InSupplemental_Mathematical_Operators:"2A00-2AFF",InMiscellaneous_Symbols_and_Arrows:"2B00-2BFF",InGlagolitic:"2C00-2C5F",InLatin_Extended_C:"2C60-2C7F",InCoptic:"2C80-2CFF",InGeorgian_Supplement:"2D00-2D2F",InTifinagh:"2D30-2D7F",InEthiopic_Extended:"2D80-2DDF",InCyrillic_Extended_A:"2DE0-2DFF",InSupplemental_Punctuation:"2E00-2E7F",InCJK_Radicals_Supplement:"2E80-2EFF",InKangxi_Radicals:"2F00-2FDF",InIdeographic_Description_Characters:"2FF0-2FFF",InCJK_Symbols_and_Punctuation:"3000-303F",InHiragana:"3040-309F",InKatakana:"30A0-30FF",InBopomofo:"3100-312F",InHangul_Compatibility_Jamo:"3130-318F",InKanbun:"3190-319F",InBopomofo_Extended:"31A0-31BF",InCJK_Strokes:"31C0-31EF",InKatakana_Phonetic_Extensions:"31F0-31FF",InEnclosed_CJK_Letters_and_Months:"3200-32FF",InCJK_Compatibility:"3300-33FF",InCJK_Unified_Ideographs_Extension_A:"3400-4DBF",InYijing_Hexagram_Symbols:"4DC0-4DFF",InCJK_Unified_Ideographs:"4E00-9FFF",InYi_Syllables:"A000-A48F",InYi_Radicals:"A490-A4CF",InLisu:"A4D0-A4FF",InVai:"A500-A63F",InCyrillic_Extended_B:"A640-A69F",InBamum:"A6A0-A6FF",InModifier_Tone_Letters:"A700-A71F",InLatin_Extended_D:"A720-A7FF",InSyloti_Nagri:"A800-A82F",InCommon_Indic_Number_Forms:"A830-A83F",InPhags_pa:"A840-A87F",InSaurashtra:"A880-A8DF",InDevanagari_Extended:"A8E0-A8FF",InKayah_Li:"A900-A92F",InRejang:"A930-A95F",InHangul_Jamo_Extended_A:"A960-A97F",InJavanese:"A980-A9DF",InCham:"AA00-AA5F",InMyanmar_Extended_A:"AA60-AA7F",InTai_Viet:"AA80-AADF",InMeetei_Mayek_Extensions:"AAE0-AAFF",InEthiopic_Extended_A:"AB00-AB2F",InMeetei_Mayek:"ABC0-ABFF",InHangul_Syllables:"AC00-D7AF",InHangul_Jamo_Extended_B:"D7B0-D7FF",InHigh_Surrogates:"D800-DB7F",InHigh_Private_Use_Surrogates:"DB80-DBFF",InLow_Surrogates:"DC00-DFFF",InPrivate_Use_Area:"E000-F8FF",InCJK_Compatibility_Ideographs:"F900-FAFF",InAlphabetic_Presentation_Forms:"FB00-FB4F",InArabic_Presentation_Forms_A:"FB50-FDFF",InVariation_Selectors:"FE00-FE0F",InVertical_Forms:"FE10-FE1F",InCombining_Half_Marks:"FE20-FE2F",InCJK_Compatibility_Forms:"FE30-FE4F",InSmall_Form_Variants:"FE50-FE6F",InArabic_Presentation_Forms_B:"FE70-FEFF",InHalfwidth_and_Fullwidth_Forms:"FF00-FFEF",InSpecials:"FFF0-FFFF"})}(d),/*!
 * XRegExp Unicode Properties v1.0.0
 * (c) 2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Uses Unicode 6.1 <http://unicode.org/>
 */
function(a){"use strict";if(!a.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");a.install("extensibility"),a.addUnicodePackage({Alphabetic:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Uppercase:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lowercase:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",White_Space:"0009-000D0020008500A01680180E2000-200A20282029202F205F3000",Noncharacter_Code_Point:"FDD0-FDEFFFFEFFFF",Default_Ignorable_Code_Point:"00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",Any:"0000-FFFF",Ascii:"0000-007F",Assigned:"0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"})}(d),/*!
 * XRegExp.matchRecursive v0.2.0
 * (c) 2009-2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 */
function(a){"use strict";function b(a,b,c,d){return{value:a,name:b,start:c,end:d}}a.matchRecursive=function(c,d,e,f,g){f=f||"",g=g||{};var h,i,j,k,l,m=f.indexOf("g")>-1,n=f.indexOf("y")>-1,o=f.replace(/y/g,""),p=g.escapeChar,q=g.valueNames,r=[],s=0,t=0,u=0,v=0;if(d=a(d,o),e=a(e,o),p){if(p.length>1)throw new SyntaxError("can't use more than one escape character");p=a.escape(p),l=new RegExp("(?:"+p+"[\\S\\s]|(?:(?!"+a.union([d,e]).source+")[^"+p+"])+)+",f.replace(/[^im]+/g,""))}for(;;){if(p&&(u+=(a.exec(c,l,u,"sticky")||[""])[0].length),j=a.exec(c,d,u),k=a.exec(c,e,u),j&&k&&(j.index<=k.index?k=null:j=null),j||k)t=(j||k).index,u=t+(j||k)[0].length;else if(!s)break;if(n&&!s&&t>v)break;if(j)s||(h=t,i=u),++s;else{if(!k||!s)throw new Error("string contains unbalanced delimiters");if(!--s&&(q?(q[0]&&h>v&&r.push(b(q[0],c.slice(v,h),v,h)),q[1]&&r.push(b(q[1],c.slice(h,i),h,i)),q[2]&&r.push(b(q[2],c.slice(i,t),i,t)),q[3]&&r.push(b(q[3],c.slice(t,u),t,u))):r.push(c.slice(i,t)),v=u,!m))break}t===u&&++u}return m&&!n&&q&&q[0]&&c.length>v&&r.push(b(q[0],c.slice(v),v,c.length)),r}}(d),/*!
 * XRegExp.build v0.1.0
 * (c) 2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 * Inspired by RegExp.create by Lea Verou <http://lea.verou.me/>
 */
function(a){"use strict";function b(a){var b=/^(?:\(\?:\))?\^/,c=/\$(?:\(\?:\))?$/;return c.test(a.replace(/\\[\s\S]/g,""))?a.replace(b,"").replace(c,""):a}function c(b){return a.isRegExp(b)?b.xregexp&&!b.xregexp.isNative?b:a(b.source):a(b)}var d=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,e=a.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,d],"g");a.build=function(f,g,h){var i,j,k,l,m=/^\(\?([\w$]+)\)/.exec(f),n={},o=0,p=0,q=[0];m&&(h=h||"",m[1].replace(/./g,function(a){h+=h.indexOf(a)>-1?"":a}));for(l in g)g.hasOwnProperty(l)&&(k=c(g[l]),n[l]={pattern:b(k.source),names:k.xregexp.captureNames||[]});return f=c(f),j=f.xregexp.captureNames||[],f=f.source.replace(e,function(a,b,c,e,f){var g,h,k=b||c;if(k){if(!n.hasOwnProperty(k))throw new ReferenceError("undefined property "+a);return b?(g=j[p],q[++p]=++o,h="(?<"+(g||k)+">"):h="(?:",i=o,h+n[k].pattern.replace(d,function(a,b,c){if(b){if(g=n[k].names[o-i],++o,g)return"(?<"+g+">"}else if(c)return"\\"+(+c+i);return a})+")"}if(e){if(g=j[p],q[++p]=++o,g)return"(?<"+g+">"}else if(f)return"\\"+q[+f];return a}),a(f,h)}}(d),/*!
 * XRegExp Prototype Methods v1.0.0
 * (c) 2012 Steven Levithan <http://xregexp.com/>
 * MIT License
 */
function(a){"use strict";function b(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])}b(a.prototype,{apply:function(a,b){return this.test(b[0])},call:function(a,b){return this.test(b)},forEach:function(b,c,d){return a.forEach(b,this,c,d)},globalize:function(){return a.globalize(this)},xexec:function(b,c,d){return a.exec(b,this,c,d)},xtest:function(b,c,d){return a.test(b,this,c,d)}})}(d)},{}],242:[function(a,b,c){"use strict";function d(a,b,c){this.$translate=a,this.hotspotAnalytics=b,this.hotspotAnalyticsUtils=c,this.chartConfig={dataProperty:"value",quantifyData:!1,type:"solid",label:{main:"?",secondary:a.instant("HOTSPOT_ANALYTICS_LABEL_AGE_TOTAL_PEOPLE")}},this.legendConfig={labelProperty:"ageRange",valueProperty:"value"},this.chartData=[],this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){var a=this.hotspotAnalytics.repositories.summary.collection.filter(function(a){return!!a.get("age")}).map(function(a){return a.get("age")}).reduce(function(a,b){return b.forEach(function(b){var c=this.hotspotAnalyticsUtils.formatAgeRange(b);a[c]=(a[c]||0)+b.count,a.total+=b.count}.bind(this)),a}.bind(this),{total:0});this.chartData=Object.keys(a).filter(function(a){return"total"!==a}).map(function(b){return{ageRange:b,value:a[b]}}),this.chartConfig.label.main=a.total},d.$inject=["$translate","hotspotAnalytics","hotspotAnalyticsUtils"],angular.module("app-unifi-hotspot").controller("AgeGraphController",d)},{}],243:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsAgeGraph"><div class="row verticalRhythmTop verticalRhythm"><div class="col--md5 col--mdOffset1 shelf unifiHotspotAnalyticsAgeGraph__chartContainer"><unifi-donut-chart-with-tooltip unifi-donut-chart-with-tooltip-config="ageGraphCtrl.chartConfig" unifi-donut-chart-with-tooltip-data="ageGraphCtrl.chartData"><div ng-class="cssTooltipPosition" class="appTooltip appTooltip--hint"><div class="appSubHeading appSubHeading--small">{{focusedData.ageRange}}</div><div class="noPaddingBottom">{{focusedData.value}}</div></div></unifi-donut-chart-with-tooltip></div><div class="col--md4 col--mdOffset1 unifiInventoryGraphPane"><unifi-chart-legend unifi-chart-legend-config="ageGraphCtrl.legendConfig" unifi-chart-legend-data="ageGraphCtrl.chartData"></unifi-chart-legend></div></div></div>'),b.join("")}},{"jade/runtime":233}],244:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiAgeGraph",[function(){return{controller:"AgeGraphController",controllerAs:"ageGraphCtrl",template:a("./ageGraph.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./ageGraph.jade":243}],245:[function(a,b,c){"use strict";function d(a,b){this.$translate=a,this.hotspotAnalytics=b,this.chartConfig={dataProperty:"count",quantifyData:!1,type:"solid",label:{main:"?",secondary:a.instant("HOTSPOT_ANALYTICS_LABEL_AUTH_METHOD_ALL_METHODS")}},this.legendConfig={labelProperty:"method",valueProperty:"count"},this.chartData=[],this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){var a=this.hotspotAnalytics.repositories.summary.collection.reduce(function(a,b){var c=b.get("auth_methods")||{};return Object.keys(c).forEach(function(b){var d=c[b];a[b]=(a[b]||0)+d,a.uniqueMethods.indexOf(b)===-1&&a.uniqueMethods.push(b)}),a},{uniqueMethods:[]});this.chartData=Object.keys(a).filter(function(a){return"uniqueMethods"!==a}).map(function(b){return{method:this.$translate.instant("HOTSPOT_ANALYTICS_AUTH_METHOD_"+b.toUpperCase()),count:a[b]}}.bind(this)),this.chartConfig.label.main=a.uniqueMethods.length},d.$inject=["$translate","hotspotAnalytics"],angular.module("app-unifi-hotspot").controller("AuthenticationMethodGraphController",d)},{}],246:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsAuthenticationMethodGraph"><div class="row verticalRhythmTop verticalRhythm"><div class="col--md5 col--mdOffset1 shelf unifiHotspotAnalyticsAuthenticationMethodGraph__chartContainer"><unifi-donut-chart-with-tooltip unifi-donut-chart-with-tooltip-config="authenticationMethodGraphCtrl.chartConfig" unifi-donut-chart-with-tooltip-data="authenticationMethodGraphCtrl.chartData"><div ng-class="cssTooltipPosition" class="appTooltip appTooltip--hint"><div class="appSubHeading appSubHeading--small">{{focusedData.method}}</div><div class="noPaddingBottom">{{focusedData.count}}</div></div></unifi-donut-chart-with-tooltip></div><div class="col--md5 unifiInventoryGraphPane"><unifi-chart-legend unifi-chart-legend-config="authenticationMethodGraphCtrl.legendConfig" unifi-chart-legend-data="authenticationMethodGraphCtrl.chartData"></unifi-chart-legend></div></div></div>'),b.join("")}},{"jade/runtime":233}],247:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiAuthenticationMethodGraph",[function(){return{controller:"AuthenticationMethodGraphController",controllerAs:"authenticationMethodGraphCtrl",template:a("./authenticationMethodGraph.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./authenticationMethodGraph.jade":246}],248:[function(a,b,c){"use strict";function d(a,b){this.$translate=a,this.hotspotAnalytics=b,this.legendConfig={labelProperty:"countryLabel",valueProperty:"count"},this.mapConfig={height:230},this.mapData=[],this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){var a=this.hotspotAnalytics.repositories.summary.collection.reduce(function(a,b){var c=b.get("countries")||{};return Object.keys(c).forEach(function(b){var d=c[b];a[b]=(a[b]||0)+d,a.uniqueCountries.indexOf(b)===-1&&a.uniqueCountries.push(b)}),a},{uniqueCountries:[]});this.mapData=Object.keys(a).filter(function(a){return"uniqueCountries"!==a}).map(function(b){return{countryCode:b,countryLabel:this.$translate.instant("COUNTRY_"+b),count:a[b]}}.bind(this))},d.$inject=["$translate","hotspotAnalytics"],angular.module("app-unifi-hotspot").controller("CountriesGraphController",d)},{}],249:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsCountriesGraph"><div class="row verticalRhythmTop verticalRhythm"><unifi-data-map unifi-data-map-config="countriesGraphCtrl.mapConfig" unifi-data-map-data="countriesGraphCtrl.mapData" class="col--md7 shelf unifiHotspotAnalyticsCountriesGraph__mapContainer"></unifi-data-map><unifi-chart-legend unifi-chart-legend-config="countriesGraphCtrl.legendConfig" unifi-chart-legend-data="countriesGraphCtrl.mapData" class="col--md4 col--mdOffset1 unifiInventoryGraphPane"></unifi-chart-legend></div></div>'),b.join("")}},{"jade/runtime":233}],250:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiCountriesGraph",[function(){return{controller:"CountriesGraphController",controllerAs:"countriesGraphCtrl",template:a("./countriesGraph.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./countriesGraph.jade":249}],251:[function(a,b,c){"use strict";function d(b,c,d,e,f){this.$compile=b,this.Datamap=c,this.mergeDefaults=d,this.CHART_COLORS=e,this.COUNTRY_ALPHA3_MAP=f,this.TOOLTIP_TEMPLATE=a("./dataMapTooltip.jade")(),this.dataMapConfig={scope:"world",responsive:!0,fills:{defaultFill:"#dddddd"},geographyConfig:{highlightOnHover:!1,highlightBorderWidth:0,popupTemplate:function(a,b){return this.tooltipScope.count=b.count,this.tooltipScope.countryLabel=b.countryLabel,this.tooltipScope.$apply(),this.tooltipElement.html()}.bind(this)}},this.datamap=null,this.data=[]}d.prototype.initialize=function(a,b){var c=this.mergeDefaults({element:b},a.config);this.updateConfig(c),this.datamap=new this.Datamap(this.dataMapConfig),this.resize=this.datamap.resize.bind(this.datamap),this.tooltipScope=a.$new(),this.tooltipElement=this.$compile(this.TOOLTIP_TEMPLATE)(this.tooltipScope)},d.prototype.updateConfig=function(a){this.dataMapConfig=this.mergeDefaults(a,this.dataMapConfig)},d.prototype.updateData=function(a){var b=a.reduce(function(a,b,c){var d=this.COUNTRY_ALPHA3_MAP[b.countryCode];return d&&(a[d]={countryLabel:b.countryLabel,count:b.count,color:this.CHART_COLORS[c%this.CHART_COLORS.length]}),a}.bind(this),{});this.datamap.updateChoropleth(b,{reset:!0})},d.$inject=["$compile","Datamap","mergeDefaults","CHART_COLORS","COUNTRY_ALPHA3_MAP"],angular.module("app-unifi-hotspot").controller("DataMapController",d)},{"./dataMapTooltip.jade":254}],252:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiDataMap"></div>'),b.join("")}},{"jade/runtime":233}],253:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiDataMap",["$window","inhibitor",function(b,c){return{controller:"DataMapController",controllerAs:"dataMapCtrl",template:a("./dataMap.jade")(),replace:!0,scope:{config:"=unifiDataMapConfig",data:"=unifiDataMapData"},link:function(a,d,e,f){f.initialize(a,d[0]),f.updateData(a.data),a.$watch("config",function(b,c){b!==c&&f.updateConfig(a.config)}),a.$watch("data",function(a,b){a!==b&&f.updateData(a)});var g=c(f.resize);b.addEventListener("resize",g,!1),a.$on("$destroy",function(){b.removeEventListener("resize",g,!1)})}}}])},{"./dataMap.jade":252}],254:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div><div ng-if="count &gt; 0" class="appTooltip appTooltip--hint appTooltip--dataMap"><div class="appSubHeading appSubHeading--small">{{countryLabel}}</div><div class="noPaddingBottom">{{count}}</div></div></div>'),b.join("")}},{"jade/runtime":233}],255:[function(a,b,c){"use strict";function d(a,b,c){this.guestUtils=b,this.heyToasts=c,e.call(this,a)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.disconnect=function(){this.guestUtils.disconnect(this.model).then(function(a){this.heyToasts.pushSuccess(a)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))},d.prototype.isExpired=function(){return this.model&&this.model.get("expired")},d.$inject=["account","guestUtils","heyToasts"],angular.module("app-unifi-hotspot").controller("GuestButtonDisconnectController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],256:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<button ng-click="guestButtonDisconnectCtrl.disconnect($event)" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="guestButtonDisconnectCtrl.isExpired() || guestButtonDisconnectCtrl.isPending" title="{{\'GUEST_ACTIONS_DISCONNECT\' | translate}}" unifi-fix-disabled><span ng-class="guestButtonDisconnectCtrl.isPending ? \'ubnt-icon--clock-2\' : \'ubnt-icon--link-broken\'" class="button__icon icon"></span><span translate="GUEST_ACTIONS_DISCONNECT" class="button__label"></span></button>'),b.join("")}},{"jade/runtime":233}],257:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiGuestButtonDisconnect",[function(){return{scope:{model:"=unifiGuestButtonDisconnect",isResponsive:"=unifiGuestButtonDisconnectIsResponsive"},controller:"GuestButtonDisconnectController",controllerAs:"guestButtonDisconnectCtrl",template:a("./guestButtonDisconnect.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./guestButtonDisconnect.jade":256}],258:[function(a,b,c){"use strict";function d(a,b,c){this.guestUtils=b,this.heyToasts=c,e.call(this,a)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.extend=function(){this.guestUtils.extend(this.model).then(function(a){this.heyToasts.pushSuccess(a)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))},d.$inject=["account","guestUtils","heyToasts"],angular.module("app-unifi-hotspot").controller("GuestButtonExtendController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],259:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<button ng-click="guestButtonExtendCtrl.extend($event)" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="guestButtonExtendCtrl.isPending" title="{{\'GUEST_ACTIONS_EXTEND\' | translate}}" unifi-fix-disabled><span ng-class="guestButtonExtendCtrl.isPending ? \'ubnt-icon--clock-2\' : \'ubnt-icon--refresh-2\'" class="button__icon icon"></span><span translate="GUEST_ACTIONS_EXTEND" class="button__label"></span></button>'),b.join("")}},{"jade/runtime":233}],260:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiGuestButtonExtend",[function(){return{scope:{model:"=unifiGuestButtonExtend",isResponsive:"=unifiGuestButtonExtendIsResponsive"},controller:"GuestButtonExtendController",controllerAs:"guestButtonExtendCtrl",template:a("./guestButtonExtend.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./guestButtonExtend.jade":259}],261:[function(a,b,c){"use strict";function d(a,b,c,d,f){this.guests=d,this.filter=new f,this.defaultSortBy="start",this.defaultSortDesc=!0,e.call(this,a,b,c)}var e=a("../../../base-unifi/controllers/BasePaginatedListController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.initFilters=function(){this.isFiltered=this.filter.isFiltered.bind(this.filter)},d.prototype.getCollection=function(){return this.guests.repository.collection},d.prototype.getWithin=function(){return this.guests.getWithin()},d.prototype.onUpdateWithin=function(a){this.listState.addFilter("within",a),this.guests.updateWithin(a)},d.$inject=["$injector","CollectionView","preferences","guests","GuestFilter"],angular.module("app-unifi-hotspot").controller("GuestListController",d)},{"../../../base-unifi/controllers/BasePaginatedListController":503}],262:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appView appView--panelLayout"><div class="appViewCenterPanel flexFlag flexFlag--vertical"><div class="appActionBar appActionBar--cozy appActionBar--flexible appActionBar--centerPanel"><div class="appActionBar__inner"><div class="appActionBar__left"><div class="appActionBarFilters"><div class="appActionBarFilter"><unifi-time-filter-dropdown unifi-time-filter-dropdown-default-hours="guestListCtrl.getWithin()" unifi-time-filter-dropdown-callback="guestListCtrl.onUpdateWithin(hours)"></unifi-time-filter-dropdown></div></div></div><div class="appActionBar__right"><div class="appActionBarFilter appActionBarFilter--search"><unifi-search unifi-search-on-change="guestListCtrl.onSearchQueryChange(searchQuery)" unifi-search-is-cozy="true" unifi-search-is-busy="guestListCtrl.view.isRefreshing()"></unifi-search></div></div></div></div><div class="appScrollable appScrollable--centerPanel flexFlag__body"><table id="guestsTable" collection-view-sort="guestListCtrl.view" unifi-condensed="appTable--condensed" class="unifiGuestsTable verticalRhythmTop--cozy appTable appTable--noWrap appTable--light appTable--hoverable appTable--flexible appTable--striped"><thead><tr><th collection-view-sort-by="name" class="guestName"><span translate="GUEST_TABLE_HEADER_NAME"></span></th><th collection-view-sort-by="package" class="guestPackage visible--mdUp"><span translate="GUEST_TABLE_HEADER_PACKAGE"></span></th><th collection-view-sort-by="amount" class="guestAmount visible--mdUp"><span translate="GUEST_TABLE_HEADER_AMOUNT"></span></th><th class="guestAuthorizedBy visible--smUp"><span translate="GUEST_TABLE_HEADER_AUTHORIZED_BY"></span></th><th collection-view-sort-by="tx_bytes" class="guestDownload visible--lgUp"><span translate="GUEST_TABLE_HEADER_DOWNLOAD"></span></th><th collection-view-sort-by="rx_bytes" class="guestUpload visible--lgUp"><span translate="GUEST_TABLE_HEADER_UPLOAD"></span></th><th collection-view-sort-by="start" class="guestStart visible--mdUp"><span translate="GUEST_TABLE_HEADER_START"></span></th><th collection-view-sort-by="expired" class="guestStatus visible--smUp"><span translate="GUEST_TABLE_HEADER_STATUS"></span></th><th unifi-if-role-writeable class="guestActions"><span translate="GUEST_TABLE_HEADER_ACTIONS"></span></th></tr></thead><tfoot ng-if="guestListCtrl.view.getModels().length"><tr><td colspan="8"><unifi-list-pagination unifi-list-pagination-current-page="guestListCtrl.currentPage" unifi-list-pagination-rows-per-page="guestListCtrl.rowsPerPage" unifi-list-pagination-total-rows="guestListCtrl.view.getModels().length" unifi-list-pagination-total-links="5"></unifi-list-pagination></td></tr></tfoot><tbody><tr collection-view-repeat="model in guestListCtrl.view.getModels(),              startFrom (guestListCtrl.currentPage - 1) * guestListCtrl.rowsPerPage,              limitTo guestListCtrl.rowsPerPage" data-id="{{::model.id}}"><td ng-attr-title="{{::model.get(\'mac\')}}" class="guestName">{{::model.getDisplayName()}}</td><td class="guestPackage visible--mdUp">{{::model.get(\'package\')}}</td><td class="guestAmount visible--mdUp">{{::model | currency}}</td><td class="guestAuthorizedBy visible--smUp">{{::model | guestAuthorization}}</td><td class="guestDownload visible--lgUp">{{::model.get(\'tx_bytes\') | bytes}}</td><td class="guestUpload visible--lgUp">{{::model.get(\'rx_bytes\') | bytes}}</td><td class="guestUpload visible--lgUp">{{::model.get(\'start\') * 1000 | moment: \'format\': \'datetime\'}}</td><td class="guestStatus visible--smUp"><span ng-if="model.get(\'expired\')" translate="GUEST_STATUS_EXPIRED"></span><span ng-if="!model.get(\'expired\')">{{\'GUEST_STATUS_VALID_UNTIL\' | translate:\'{date: "\' + model.getValidUntil() + \'"}\'}}</span></td><td unifi-if-role-writeable class="guestActions appTableCell--actions"><button unifi-guest-button-extend="model" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button><button unifi-guest-button-disconnect="model" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button></td></tr></tbody></table><div ng-if="guestListCtrl.view.getModels().length === 0" class="container container--responsive container--centered"><div class="row--comfy"><div class="col--xs12"><div unifi-condensed="appInfoBox--cozy" unifi-condensed-off="appInfoBox--responsiveMdDown" class="appInfoBox verticalRhythmTop--breezy"><div class="appInfoBox__icon icon ubnt-icon--info"></div><div class="appInfoBox__content"><div translate="GUEST_TABLE_EMPTY_HEADER" class="appInfoBox__header"></div><div class="appInfoBox__body"><p ng-if="guestListCtrl.isFiltered()" translate="GUEST_TABLE_EMPTY_NO_MATCHES" class="noMarginBottom"></p><p ng-if="!guestListCtrl.isFiltered()" translate="GUEST_TABLE_EMPTY_NO_GUESTS" class="noMarginBottom"></p></div></div></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],263:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiGuestList",["PaginatedListDirective",function(b){return new b("guest",a("./guestList.jade")())}])},{"./guestList.jade":262}],264:[function(a,b,c){"use strict";function d(a,b){this.hotspotAnalytics=a,this.hotspotAnalyticsUtils=b,this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){},d.$inject=["hotspotAnalytics","hotspotAnalyticsUtils"],angular.module("app-unifi-hotspot").controller("HotspotAnalyticsOverviewController",d)},{}],265:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsOverview"><div class="container container--centered"><div class="row row--comfy verticalRhythmTop--cozy"><div class="col--xs12 col--smash"><div class="alignCenter">TODO</div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],266:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiHotspotAnalyticsOverview",[function(){return{controller:"HotspotAnalyticsOverviewController",controllerAs:"hotspotAnalyticsOverviewCtrl",template:a("./hotspotAnalyticsOverview.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./hotspotAnalyticsOverview.jade":265}],267:[function(a,b,c){"use strict";function d(a,b){this.$translate=a,this.hotspotAnalytics=b,this.chartConfig={dataProperty:"value",quantifyData:!1,type:"solid",label:{main:"?",secondary:a.instant("HOTSPOT_ANALYTICS_LABEL_NEW_VS_RETURNING_AUTHORIZED_GUESTS")}},this.legendConfig={labelProperty:"key",valueProperty:"value"},this.chartData=[],this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){var a=this.hotspotAnalytics.repositories.summary.collection.reduce(function(a,b){return a["new"]+=b.get("new_guests")||0,a.returning+=b.get("returning_guests")||0,a.total+=b.get("authorized_guests")||0,a},{"new":0,returning:0,total:0});this.chartData=Object.keys(a).filter(function(a){return"total"!==a}).map(function(b){return{key:this.$translate.instant("HOTSPOT_ANALYTICS_LABEL_NEW_VS_RETURNING_"+b.toUpperCase()),value:a[b]}}.bind(this)),this.chartConfig.label.main=a.total},d.$inject=["$translate","hotspotAnalytics"],angular.module("app-unifi-hotspot").controller("NewVsReturningGraphController",d)},{}],268:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsNewVsReturningGraph"><div class="row verticalRhythmTop verticalRhythm"><div class="col--md5 col--mdOffset1 shelf unifiHotspotAnalyticsNewVsReturningGraph__chartContainer"><unifi-donut-chart-with-tooltip unifi-donut-chart-with-tooltip-config="newVsReturningGraphCtrl.chartConfig" unifi-donut-chart-with-tooltip-data="newVsReturningGraphCtrl.chartData"><div ng-class="cssTooltipPosition" class="appTooltip appTooltip--hint"><div class="appSubHeading appSubHeading--small">{{focusedData.key}}</div><div class="noPaddingBottom">{{focusedData.value}}</div></div></unifi-donut-chart-with-tooltip></div><div class="col--md5 unifiInventoryGraphPane"><unifi-chart-legend unifi-chart-legend-config="newVsReturningGraphCtrl.legendConfig" unifi-chart-legend-data="newVsReturningGraphCtrl.chartData"></unifi-chart-legend></div></div></div>'),b.join("")}},{"jade/runtime":233}],269:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiNewVsReturningGraph",[function(){return{controller:"NewVsReturningGraphController",controllerAs:"newVsReturningGraphCtrl",template:a("./newVsReturningGraph.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./newVsReturningGraph.jade":268}],270:[function(a,b,c){"use strict";function d(a,b,c,d,f){this.$translate=a,this.frame=c,this.heyToasts=d,this.operators=f,e.call(this,b)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.remove=function(a){return a.preventDefault(),a.stopPropagation(),this.frame.show("confirm",{title:function(){return this.$translate.instant("OPERATOR_ACTIONS_DELETE_CONFIRM_TITLE",{name:this.model.get("name")})}.bind(this),message:function(){return this.$translate.instant("OPERATOR_ACTIONS_DELETE_CONFIRM_MESSAGE",{name:this.model.get("name")})}.bind(this),options:angular.noop}).then(function(){return this.isPending=!0,this.operators.remove(this.model).then(function(a){this.heyToasts.pushSuccess(a)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.$inject=["$translate","account","frame","heyToasts","operators"],angular.module("app-unifi-hotspot").controller("OperatorButtonDeleteController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],271:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-click="operatorButtonDeleteCtrl.remove($event)" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="operatorButtonDeleteCtrl.isPending" title="{{\'OPERATOR_ACTIONS_DELETE\' | translate}}" unifi-fix-disabled><span ng-class="operatorButtonDeleteCtrl.isPending ? \'ubnt-icon--clock-2\' : \'ubnt-icon--trashcan\'" class="button__icon icon"></span><span translate="OPERATOR_ACTIONS_DELETE" class="button__label"></span></div>'),b.join("")}},{"jade/runtime":233}],272:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiOperatorButtonDelete",[function(){return{scope:{model:"=unifiOperatorButtonDelete",isResponsive:"=unifiOperatorButtonDeleteIsResponsive"},controller:"OperatorButtonDeleteController",controllerAs:"operatorButtonDeleteCtrl",template:a("./operatorButtonDelete.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./operatorButtonDelete.jade":271}],273:[function(a,b,c){"use strict";function d(a,b,c,d,f,g,h){this.operators=d,this.site=g,this.filter=new f,this.defaultSortBy="name",this.defaultSortDesc=!1,this.UseWebrtc=h,e.call(this,a,b,c)}var e=a("../../../base-unifi/controllers/BasePaginatedListController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.initFilters=function(){this.isFiltered=this.filter.isFiltered.bind(this.filter)},d.prototype.getCollection=function(){return this.operators.repository.collection},d.prototype.isWebrtc=function(){return this.UseWebrtc},d.prototype.getOperatorLoginUrl=function(){return["hotspot","account","login",this.site.getActiveSite()].join("/")},d.$inject=["$injector","CollectionView","preferences","operators","OperatorFilter","site","UseWebrtc"],angular.module("app-unifi-hotspot").controller("OperatorListController",d)},{"../../../base-unifi/controllers/BasePaginatedListController":503}],274:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appView appView--panelLayout"><div class="appViewCenterPanel flexFlag flexFlag--vertical"><div class="appActionBar appActionBar--cozy appActionBar--flexible appActionBar--centerPanel"><div class="appActionBar__inner"><div class="appActionBar__left"><div title="{{\'OPERATOR_ACTIONS_CREATE_NEW_OPERATOR\' | translate}}" frame-show="createOperator" class="appMainButton appMainButton--primary appMainButton--cozy"><span class="button__icon icon ubnt-icon--plus"></span><span translate="OPERATOR_ACTIONS_CREATE_NEW_OPERATOR"></span></div><a ng-if="!operatorListCtrl.isWebrtc()" ng-href="{{operatorListCtrl.getOperatorLoginUrl()}}" title="{{\'OPERATOR_ACTIONS_OPEN_LOGIN\' | translate}}" target="_blank" class="appMainButton appMainButton--primary appMainButton--cozy visible--smUp"><span class="button__icon icon ubnt-icon--key"></span><span translate="OPERATOR_ACTIONS_OPEN_LOGIN"></span></a></div><div class="appActionBar__right"><div class="appActionBarFilter appActionBarFilter--search"><unifi-search unifi-search-on-change="operatorListCtrl.onSearchQueryChange(searchQuery)" unifi-search-is-cozy="true" unifi-search-is-busy="operatorListCtrl.view.isRefreshing()"></unifi-search></div></div></div></div><div class="appScrollable appScrollable--centerPanel flexFlag__body"><table id="operatorsTable" collection-view-sort="operatorListCtrl.view" unifi-condensed="appTable--condensed" class="unifiOperatorsTable verticalRhythmTop--cozy appTable appTable--noWrap appTable--light appTable--hoverable appTable--flexible appTable--striped"><thead><tr><th collection-view-sort-by="name" class="operatorName"><span translate="OPERATOR_TABLE_HEADER_NAME"></span></th><th collection-view-sort-by="x_password" class="operatorPassword"><span translate="OPERATOR_TABLE_HEADER_PASSWORD"></span></th><th collection-view-sort-by="note" class="operatorNotes visible--smUp"><span translate="OPERATOR_TABLE_HEADER_NOTES"></span></th><th class="operatorActions"><span translate="OPERATOR_TABLE_HEADER_ACTIONS"></span></th></tr></thead><tfoot ng-if="operatorListCtrl.view.getModels().length"><tr><td colspan="9"><unifi-list-pagination unifi-list-pagination-current-page="operatorListCtrl.currentPage" unifi-list-pagination-rows-per-page="operatorListCtrl.rowsPerPage" unifi-list-pagination-total-rows="operatorListCtrl.view.getModels().length" unifi-list-pagination-total-links="5"></unifi-list-pagination></td></tr></tfoot><tbody><tr collection-view-repeat="model in operatorListCtrl.view.getModels(),              startFrom (operatorListCtrl.currentPage - 1) * operatorListCtrl.rowsPerPage,              limitTo operatorListCtrl.rowsPerPage" data-id="{{::model.id}}"><td class="operatorName">{{::model.get(\'name\')}}</td><td class="operatorPassword">{{::model.get(\'x_password\')}}</td><td class="operatorNotes visible--smUp">{{::model.get(\'note\')}}</td><td class="operatorActions appTableCell--actions"><button unifi-operator-button-delete="::model" unifi-operator-button-delte-is-labeled="true" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button></td></tr></tbody></table><div ng-if="operatorListCtrl.view.getModels().length === 0" class="container container--responsive container--centered"><div class="row--comfy"><div class="col--xs12"><div unifi-condensed="appInfoBox--cozy" unifi-condensed-off="appInfoBox--responsiveMdDown" class="appInfoBox verticalRhythmTop--breezy"><div class="appInfoBox__icon icon ubnt-icon--info"></div><div class="appInfoBox__content"><div translate="OPERATOR_TABLE_EMPTY_HEADER" class="appInfoBox__header"></div><div class="appInfoBox__body"><p ng-if="operatorListCtrl.isFiltered()" translate="OPERATOR_TABLE_EMPTY_NO_MATCHES" class="noMarginBottom"></p><p ng-if="!operatorListCtrl.isFiltered()" translate="OPERATOR_TABLE_EMPTY_NO_OPERATORS" class="noMarginBottom"></p></div></div></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],275:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiOperatorList",["PaginatedListDirective",function(b){return new b("operator",a("./operatorList.jade")())}])},{"./operatorList.jade":274}],276:[function(a,b,c){"use strict";function d(a,b,c,d,f){this.$translate=a,this.frame=c,this.heyToasts=d,this.paymentUtils=f,e.call(this,b)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.isVoided=function(){return this.model&&"paid"!==this.model.get("status");
},d.prototype.refund=function(a){return a.preventDefault(),a.stopPropagation(),this.frame.show("confirm",{title:function(){return this.$translate.instant("PAYMENT_ACTIONS_REFUND_CONFIRM_TITLE")}.bind(this),message:function(){return this.$translate.instant("PAYMENT_ACTIONS_REFUND_CONFIRM_MESSAGE")}.bind(this),options:angular.noop}).then(function(){return this.isPending=!0,this.paymentUtils.refund(this.model).then(function(a){this.heyToasts.pushSuccess(a)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.$inject=["$translate","account","frame","heyToasts","paymentUtils"],angular.module("app-unifi-hotspot").controller("PaymentButtonRefundController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],277:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<button ng-click="paymentButtonRefundCtrl.refund($event)" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="paymentButtonRefundCtrl.isVoided() || paymentButtonRefundCtrl.isPending" title="{{\'PAYMENT_ACTIONS_REFUND\' | translate}}" unifi-fix-disabled><span ng-class="paymentButtonRefundCtrl.isPending ? \'ubnt-icon--clock-2\' : \'ubnt-icon--arrow-drag\'" class="button__icon icon"></span><span translate="PAYMENT_ACTIONS_REFUND" class="button__label"></span></button>'),b.join("")}},{"jade/runtime":233}],278:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiPaymentButtonRefund",[function(){return{scope:{model:"=unifiPaymentButtonRefund",isResponsive:"=unifiPaymentButtonRefundIsResponsive"},controller:"PaymentButtonRefundController",controllerAs:"paymentButtonRefundCtrl",template:a("./paymentButtonRefund.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./paymentButtonRefund.jade":277}],279:[function(a,b,c){"use strict";function d(a,b,c,d,e,f,g,h,i,j,k,l){this.$filter=a,this.$q=b,this.$scope=c,this.$state=d,this.$translate=e,this.currencyUtils=f,this.hotspotAnalytics=g,this.hotspotPackages=h,this.statsUtils=j,this.preferences=i,this.REPORT_DEFAULTS=k,this.TIME_INTERVALS=l,this.isNumber=angular.isNumber,this.getCurrency=this.hotspotAnalytics.getCurrency.bind(g),this.isCurrencyDropdownVisible=!1,this.chartData=[],this.availableCurrencies=g.getAllConfiguredCurrencies(h.repository.collection),this.initConfig(),this.prepareCharts()}var e=a("moment");d.prototype.setCurrency=function(a){if(this.hotspotAnalytics.setCurrency(a),this.prepareCharts(),a!==this.$state.params.currency){var b=angular.extend({},this.$state.params,{currency:a});this.$state.go(this.$state.current.name,b,{notify:!1})}},d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.revenue.collection.on("sync",this.prepareCharts,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.revenue.collection.off("sync",this.prepareCharts,this)},d.prototype.initConfig=function(){var a=this.$translate;this.chartConfig={margin:{left:45,top:20,bottom:25,right:30},xProperty:"x",left:{continuous:!0,type:"area",yProperty:"amount",unit:"",yAxisFormat:function(){var a;return function(b){var c=Math.floor(b).toFixed(0),d=c!==a?c:"";return a=c,d}}(),yAxisLabel:function(){return[a.instant("HOTSPOT_ANALYTICS_LABEL_AMOUNT")," [",this.unit,"]"].join("")}},right:{yAxisFormat:function(){return""}},xAxisFormat:function(a){var b=this.hotspotAnalytics.getInterval();switch(b){case this.TIME_INTERVALS.DAILY:return e(a,"x").format(this.preferences.model.get("use24HourTime")?"H:mm":"hA");case this.TIME_INTERVALS.WEEKLY:return e.utc(a,"x").add(1,"day").format("dddd");case this.TIME_INTERVALS.MONTHLY:return e.utc(a,"x").add(1,"day").format("Do")}}.bind(this),shadedBackgroundFilter:function(a,b){var c=this.hotspotAnalytics.getInterval();switch(c){case this.TIME_INTERVALS.DAILY:return Math.floor(b/6)%2;case this.TIME_INTERVALS.WEEKLY:return e(a).dayOfYear()%2;case this.TIME_INTERVALS.MONTHLY:return e(a).format("w")%2}}.bind(this)}},d.prototype.updateConfig=function(){var a=this.hotspotAnalytics.getInterval(),b=this.hotspotAnalytics.getStart(),c=this.hotspotAnalytics.getEnd();this.chartConfig.xAxisTickResolution=a.grain,this.chartConfig.xScaleDomain=[b,c]},d.prototype.prepareCharts=function(){var a=this.hotspotAnalytics.repositories.revenue.collection;this.prepareData(a),this.updateConfig()},d.prototype.tooltipShownCallback=function(a){this.focusedData=a},d.prototype.getFocusedData=function(){return this.focusedData},d.prototype.prepareData=function(a){var b=this.hotspotAnalytics.getCurrency(),c=this.currencyUtils.findCurrencySymbol(b),d=[];a.each(function(a){var c=a.get("time"),e=a.get("per_currency"),f=e[b];f&&d.push({x:this.statsUtils.normalizeTime(c,this.hotspotAnalytics.getInterval()),amount:f.amount||0,currency:b,transactions:f.transactions})}.bind(this));var f=this.hotspotAnalytics.getInterval(),g=this.hotspotAnalytics.getStart(),h=Math.min(this.hotspotAnalytics.getEnd(),e().endOf("hour").format("x"));this.chartData=this.statsUtils.fillWithPaddingDataPoints(d,f,g,h),this.chartConfig.left.unit=c},d.$inject=["$filter","$q","$scope","$state","$translate","currencyUtils","hotspotAnalytics","hotspotPackages","preferences","statsUtils","REPORT_DEFAULTS","TIME_INTERVALS"],angular.module("app-unifi-hotspot").controller("RevenueChartController",d)},{moment:238}],280:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsRevenue"><form autocomplete="off" class="shelf verticalRhythmTop--condensed"><div class="growable"><div class="appInputGroup--cozy"><div ng-if="revenueChartCtrl.availableCurrencies.length &gt; 1" ng-click="revenueChartCtrl.isCurrencyDropdownVisible = !revenueChartCtrl.isCurrencyDropdownVisible" on-outside-element-click="revenueChartCtrl.isCurrencyDropdownVisible = false" class="appMainButton appMainButton--filter appMainButton--cozy appMainButton--withDropdown"><span>{{revenueChartCtrl.getCurrency()}}</span><span class="button__icon button__icon--right icon ubnt-icon--pointer-down"></span><ul ng-class="{\'is-dropdown-visible\': revenueChartCtrl.isCurrencyDropdownVisible}" class="appDropdown appDropdown--left appDropdown--inButton"><li ng-repeat="currency in revenueChartCtrl.availableCurrencies" ng-click="revenueChartCtrl.setCurrency(currency)" class="appDropdown__item">{{currency}}</li></ul></div></div></div><div class="inflexible"><span>{{\'HOTSPOT_ANALYTICS_LABEL_REVENUE\' | translate}}</span><div class="unifiLegendLine unifiLegendLine--solid"></div></div></form><div class="verticalRhythmTop--cozy"><unifi-line-chart-with-tooltip unifi-line-chart-with-tooltip-config="revenueChartCtrl.chartConfig" unifi-line-chart-with-tooltip-data="revenueChartCtrl.chartData" unifi-line-chart-with-tooltip-callback="revenueChartCtrl.tooltipShownCallback(data)" class="unifiHotspotAnalyticsRevenue__chartColor"><div ng-if="revenueChartCtrl.hotspotAnalytics.getInterval() === revenueChartCtrl.TIME_INTERVALS.DAILY" class="unifiChartTooltipHeader">{{revenueChartCtrl.getFocusedData().x | moment: \'format\': \'time\'}}</div><div ng-if="[revenueChartCtrl.TIME_INTERVALS.MONTHLY, revenueChartCtrl.TIME_INTERVALS.WEEKLY].indexOf(revenueChartCtrl.hotspotAnalytics.getInterval()) !== -1" class="unifiChartTooltipHeader">{{revenueChartCtrl.getFocusedData().x | moment: [\'utc\', \'format\']: \'date\'}}</div><div class="unifiChartTooltipBody"><div ng-if="revenueChartCtrl.getFocusedData().amount === undefined" class="appInfoBox appInfoBox--warning appInfoBox--cozy appInfoBox--noBorder"><div class="appInfoBox__icon icon ubnt-icon--info"></div><div class="appInfoBox__content"><div class="appInfoBox__body"><p translate="HOTSPOT_ANALYTICS_NO_DATA_AVAILABLE" class="noMarginBottom"></p></div></div></div><div ng-if="revenueChartCtrl.getFocusedData().amount !== undefined"><div class="verticalRhythmQuarter"><div class="unifiChartTooltipBody__title">{{\'HOTSPOT_ANALYTICS_LABEL_REVENUE\' | translate}}</div></div><div class="verticalRhythmQuarter"><div class="unifiChartTooltipBody__number"><strong>{{revenueChartCtrl.getFocusedData() | currency}}</strong></div></div><div class="verticalRhythmQuarter"><div class="unifiChartTooltipBody__title">{{\'HOTSPOT_ANALYTICS_LABEL_TRANSACTIONS\' | translate}}</div></div><div class="verticalRhythmQuarter"><div class="unifiChartTooltipBody__number"><strong>{{revenueChartCtrl.getFocusedData().transactions}}</strong></div></div></div></div></unifi-line-chart-with-tooltip></div></div>'),b.join("")}},{"jade/runtime":233}],281:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiRevenueChart",[function(){return{controller:"RevenueChartController",controllerAs:"revenueChartCtrl",template:a("./revenueChart.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./revenueChart.jade":280}],282:[function(a,b,c){"use strict";function d(a,b){this.$translate=a,this.hotspotAnalytics=b,this.chartConfig={dataProperty:"value",quantifyData:!1,type:"solid",label:{main:"?",secondary:a.instant("HOTSPOT_ANALYTICS_LABEL_SEX_TOTAL_PEOPLE")}},this.legendConfig={labelProperty:"sex",valueProperty:"value"},this.chartData=[],this.collectData()}d.prototype.addEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.on("sync",this.collectData,this)},d.prototype.removeEventHandlers=function(){this.hotspotAnalytics.repositories.summary.collection.off("sync",this.collectData,this)},d.prototype.collectData=function(){var a=this.hotspotAnalytics.repositories.summary.collection.filter(function(a){return!!a.get("sex")}).map(function(a){return a.get("sex")}).reduce(function(a,b){return Object.keys(b).forEach(function(c){a[c]=(a[c]||0)+b[c],a.total+=b[c]}),a},{total:0});this.chartData=Object.keys(a).filter(function(a){return"total"!==a}).map(function(b){return{sex:this.$translate.instant("HOTSPOT_ANALYTICS_LABEL_SEX_"+b.toUpperCase()),value:a[b]}}.bind(this)),this.chartConfig.label.main=a.total},d.$inject=["$translate","hotspotAnalytics"],angular.module("app-unifi-hotspot").controller("SexGraphController",d)},{}],283:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiHotspotAnalyticsSexGraph"><div class="row verticalRhythmTop verticalRhythm"><div class="col--md5 col--mdOffset1 shelf unifiHotspotAnalyticsSexGraph__chartContainer"><unifi-donut-chart-with-tooltip unifi-donut-chart-with-tooltip-config="sexGraphCtrl.chartConfig" unifi-donut-chart-with-tooltip-data="sexGraphCtrl.chartData"><div ng-class="cssTooltipPosition" class="appTooltip appTooltip--hint"><div class="appSubHeading appSubHeading--small">{{focusedData.sex}}</div><div class="noPaddingBottom">{{focusedData.value}}</div></div></unifi-donut-chart-with-tooltip></div><div class="col--md4 col--mdOffset1 unifiInventoryGraphPane"><unifi-chart-legend unifi-chart-legend-config="sexGraphCtrl.legendConfig" unifi-chart-legend-data="sexGraphCtrl.chartData"></unifi-chart-legend></div></div></div>'),b.join("")}},{"jade/runtime":233}],284:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiSexGraph",[function(){return{controller:"SexGraphController",controllerAs:"sexGraphCtrl",template:a("./sexGraph.jade")(),replace:!0,link:function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./sexGraph.jade":283}],285:[function(a,b,c){"use strict";function d(){this.tabItems=this.tabItems||[],this.preSelectTab()}d.prototype.preSelectTab=function(){var a=this.tabItems.find(function(a){return!!a.preSelected});a&&this.selectTab(a)},d.prototype.selectTab=function(a){this.selectedTab=a},d.$inject=[],angular.module("app-unifi-hotspot").controller("SubtabsController",d)},{}],286:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<ul ng-class="{\'appSubtabs--responsive\': subtabsCtrl.isResponsive}" class="appSubtabs verticalRhythmTop--condensed"><li ng-repeat="tab in subtabsCtrl.tabItems" ng-class="{\'is-tab-selected\': tab.id === subtabsCtrl.selectedTab.id}" ng-click="subtabsCtrl.selectTab(tab)" class="tabs__item"><span ng-if="!!tab.iconClass" ng-class="tab.iconClass" ng-attr-title="{{tab.label | translate}}" class="icon"></span><span class="appSubtabs__label">{{tab.label | translate}}</span></li></ul>'),b.join("")}},{"jade/runtime":233}],287:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiSubtabs",[function(){return{controller:"SubtabsController",controllerAs:"subtabsCtrl",template:a("./subtabs.jade")(),replace:!0,bindToController:!0,scope:{tabItems:"=unifiSubtabsItems",selectedTab:"=unifiSubtabsSelectedTab",isResponsive:"=unifiSubtabsIsResponsive"}}}])},{"./subtabs.jade":286}],288:[function(a,b,c){"use strict";function d(a,b,c,d,f,g){this.transactions=d,this.columnGroup=null,this.filter=new f,this.defaultSortBy="datetime",this.defaultSortDesc=!0,this.columnStore=g,this.isColumnVisible=this.columnStore.isColumnVisible.bind(this.columnStore),this.isCustomized=this.columnStore.getCustomized.bind(this.columnStore),e.call(this,a,b,c)}var e=a("../../../base-unifi/controllers/BasePaginatedListController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.initView=function(){e.prototype.initView.call(this),this.transactions.repository.collection.on("add remove change reset",this.setFilterCounts,this),this.setFilterCounts()},d.prototype.initFilters=function(){var a=this.listState.getFilter("transactionType");"all"!==a&&(this.columnGroup=a,this.filter.setTransactionTypeFilter(a)),this.isFiltered=this.filter.isFiltered.bind(this.filter),this.initFilterView()},d.prototype.initFilterView=function(){this.filterViewGroups=[{id:"transactionType",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE",items:[{id:"all",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_ALL",excludeFromSummary:!0,getCount:function(){return this.counts.payment+this.counts.social}.bind(this),isSelected:function(){return!this.filter.hasTransactionTypeFilter()}.bind(this),onSelect:function(){return this.clearTransactionTypeFilter()}.bind(this)},{id:"payment",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_PAYMENTS",getCount:function(){return this.counts.payment}.bind(this),isSelected:function(){return"payments"===this.filter.getTransactionTypeFilter()}.bind(this),onSelect:function(){return this.setTransactionTypeFilter("payments")}.bind(this)},{id:"social",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_SOCIAL",getCount:function(){return this.counts.social}.bind(this),isSelected:function(){return"social"===this.filter.getTransactionTypeFilter()}.bind(this),onSelect:function(){return this.setTransactionTypeFilter("social")}.bind(this)}]}]},d.prototype.getCollection=function(){return this.transactions.repository.collection},d.prototype.getWithin=function(){return this.transactions.getWithin()},d.prototype.onUpdateWithin=function(a){this.listState.addFilter("within",a),this.transactions.updateWithin(a)},d.prototype.setFilterCounts=function(){this.counts={payment:0,social:0},this.transactions.repository.collection.each(function(a){a.isSocial()?++this.counts.social:++this.counts.payment}.bind(this))},d.prototype.clearTransactionTypeFilter=function(){this.beginStateChange(),this.columnGroup=null,this.listState.removeFilter("transactionType"),this.filter.clearTransactionTypeFilter(),this.commitStateChange()},d.prototype.setTransactionTypeFilter=function(a){this.beginStateChange(),this.columnGroup=a,this.listState.addFilter("transactionType",a),this.filter.setTransactionTypeFilter(a),this.commitStateChange()},d.prototype.refreshColumns=function(){this.isStateChanging()||(this.columnStore.setColumnGroup(this.columnGroup),this.columnStore.setColumns())},d.prototype.refresh=function(a){return this.refreshColumns(),e.prototype.refresh.call(this,a)},d.prototype.commitStateChange=function(){e.prototype.commitStateChange.call(this).then(function(){this.setFilterCounts()}.bind(this))},d.$inject=["$injector","CollectionView","preferences","transactions","TransactionFilter","transactionListColumnStore"],angular.module("app-unifi-hotspot").controller("TransactionListController",d)},{"../../../base-unifi/controllers/BasePaginatedListController":503}],289:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appView appView--panelLayout"><div class="appViewCenterPanel flexFlag flexFlag--vertical"><div class="appActionBar appActionBar--cozy appActionBar--flexible appActionBar--centerPanel"><div class="appActionBar__inner"><div class="appActionBar__left"><div class="appActionBarFilters"><div class="appActionBarFilter"><unifi-time-filter-dropdown unifi-time-filter-dropdown-default-hours="transactionListCtrl.getWithin()" unifi-time-filter-dropdown-callback="transactionListCtrl.onUpdateWithin(hours)"></unifi-time-filter-dropdown></div><div unifi-feature-flag-enable="enableSocialAuth"><unifi-ui-list-filter-buttons unifi-ui-list-filter-buttons-config="transactionListCtrl.filterViewGroups" class="visible--lgUp"></unifi-ui-list-filter-buttons><unifi-ui-list-filter-dropdown unifi-ui-list-filter-dropdown-config="transactionListCtrl.filterViewGroups" unifi-ui-list-filter-dropdown-filter-by-label="{{\'COMMON_LABEL_FILTER_BY\' | translate}}" unifi-ui-list-filter-dropdown-filter-by-all-label="{{\'COMMON_LABEL_FILTER_ALL\' | translate}}" class="visible--mdDown"></unifi-ui-list-filter-dropdown></div></div></div><div class="appActionBar__right"><div class="appActionBarFilter appActionBarFilter--search"><unifi-search unifi-search-on-change="transactionListCtrl.onSearchQueryChange(searchQuery)" unifi-search-is-cozy="true" unifi-search-is-busy="transactionListCtrl.view.isRefreshing()"></unifi-search></div></div></div></div><div class="appScrollable appScrollable--centerPanel flexFlag__body"><table id="transactionsTable" collection-view-sort="transactionListCtrl.view" unifi-condensed="appTable--condensed" class="unifiTransactionsTable verticalRhythmTop--cozy appTable appTable--noWrap appTable--light appTable--hoverable appTable--flexible appTable--striped"><thead><tr><th ng-if="transactionListCtrl.isColumnVisible(\'datetime\')" collection-view-sort-by="datetime" class="transactionTime visible--smUp"><span translate="PAYMENT_TABLE_HEADER_TIME"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'last_name\')" collection-view-sort-by="last_name" class="transactionLastName"><span translate="PAYMENT_TABLE_HEADER_LAST_NAME"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'first_name\')" collection-view-sort-by="first_name" class="transactionFirstName"><span translate="PAYMENT_TABLE_HEADER_FIRST_NAME"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'email\')" collection-view-sort-by="email" class="transactionEmail"><span translate="PAYMENT_TABLE_HEADER_EMAIL"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'package\')" collection-view-sort-by="package" class="transactionPackage visible--mdUp"><span translate="PAYMENT_TABLE_HEADER_PACKAGE"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'amount\')" collection-view-sort-by="amount" class="transactionAmount"><span translate="PAYMENT_TABLE_HEADER_AMOUNT"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'info\')" class="transactionExtraInfo visible--lgUp"><span translate="PAYMENT_TABLE_HEADER_EXTRA_INFO"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'gateway\')" collection-view-sort-by="gateway" class="transactionGateway"><span translate="PAYMENT_TABLE_HEADER_GATEWAY"></span></th><th ng-if="transactionListCtrl.isColumnVisible(\'status\')" collection-view-sort-by="status" class="transactionStatus visible--lgUp"><span translate="PAYMENT_TABLE_HEADER_STATUS"></span></th><th class="transactionActions appTableCell--withAction"><div ng-if="transactionListCtrl.isColumnVisible(\'actions\')"><span translate="PAYMENT_TABLE_HEADER_ACTIONS" unifi-if-role-writeable></span></div><unifi-list-column-selector unifi-feature-flag-enable="enableSocialAuth" unifi-list-column-selector-column-store="transactionListCtrl.columnStore"></unifi-list-column-selector></th></tr></thead><tfoot ng-if="transactionListCtrl.view.getModels().length"><tr><td colspan="8"><unifi-list-pagination unifi-list-pagination-current-page="transactionListCtrl.currentPage" unifi-list-pagination-rows-per-page="transactionListCtrl.rowsPerPage" unifi-list-pagination-total-rows="transactionListCtrl.view.getModels().length" unifi-list-pagination-total-links="5"></unifi-list-pagination></td></tr></tfoot><tbody><tr collection-view-repeat="model in transactionListCtrl.view.getModels(),              startFrom (transactionListCtrl.currentPage - 1) * transactionListCtrl.rowsPerPage,              limitTo transactionListCtrl.rowsPerPage" collection-view-repeat-watch="transactionListCtrl.columnStore.getColumns()" data-id="{{::model.id}}"><td ng-if="::transactionListCtrl.isColumnVisible(\'datetime\')" class="transactionTime visible--smUp">{{::model.get(\'datetime\') | moment: \'format\': \'datetime\'}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'last_name\')" class="transactionLastName">{{::model.get(\'last_name\')}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'first_name\')" class="transactionFirstName">{{::model.get(\'first_name\')}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'email\')" class="transactionEmail">{{::model.get(\'email\')}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'package\')" class="transactionPackage visible--mdUp">{{::model.get(\'package\')}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'amount\')" class="transactionAmount">{{::model | currency}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'info\')" class="transactionExtraInfo visible--lgUp">{{::model.get(\'info\')}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'gateway\')" class="transactionGateway">{{::model.get(\'gateway\') | transactionGateway}}</td><td ng-if="::transactionListCtrl.isColumnVisible(\'status\')" class="transactionStatus visible--lgUp">{{::model.get(\'status\') | paymentStatus}}</td><td unifi-if-role-writeable class="transactionActions appTableCell--actions"><div ng-if="::transactionListCtrl.isColumnVisible(\'actions\')"><button ng-if="::!model.isSocial()" unifi-payment-button-refund="model" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button></div></td></tr></tbody></table><div ng-if="transactionListCtrl.view.getModels().length === 0" class="container container--responsive container--centered"><div class="row--comfy"><div class="col--xs12"><div unifi-condensed="appInfoBox--cozy" unifi-condensed-off="appInfoBox--responsiveMdDown" class="appInfoBox verticalRhythmTop--breezy"><div class="appInfoBox__icon icon ubnt-icon--info"></div><div class="appInfoBox__content"><div translate="PAYMENT_TABLE_EMPTY_HEADER" class="appInfoBox__header"></div><div class="appInfoBox__body"><p ng-if="transactionListCtrl.isFiltered()" translate="PAYMENT_TABLE_EMPTY_NO_MATCHES" class="noMarginBottom"></p><p ng-if="!transactionListCtrl.isFiltered()" translate="PAYMENT_TABLE_EMPTY_NO_TRANSACTIONS" class="noMarginBottom"></p></div></div></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],290:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiTransactionList",["PaginatedListDirective",function(b){return new b("transaction",a("./transactionList.jade")())}])},{"./transactionList.jade":289}],291:[function(a,b,c){"use strict";function d(a,b){this.heyToasts=a,this.vouchers=b,this.isPending=!1}d.prototype.printAllVouchers=function(){this.isPending=!0,this.vouchers.printVouchers()["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.$inject=["heyToasts","vouchers"],angular.module("app-unifi-hotspot").controller("VoucherButtonPrintAllController",d)},{}],292:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-click="voucherButtonPrintAllCtrl.printAllVouchers()" ng-class="{\'is-responsive\': isResponsive}" title="{{\'VOUCHER_ACTIONS_PRINT_ALL_UNUSED\' | translate}}" ng-disabled="voucherButtonPrintAllCtrl.isPending" unifi-fix-disabled><span class="button__icon icon ubnt-icon--printer"></span><span translate="VOUCHER_ACTIONS_PRINT_ALL_UNUSED" class="button__label"></span></div>'),b.join("")}},{"jade/runtime":233}],293:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiVoucherButtonPrintAll",[function(){return{scope:{isResponsive:"=unifiVoucherButtonPrintAllIsResponsive"},controller:"VoucherButtonPrintAllController",controllerAs:"voucherButtonPrintAllCtrl",template:a("./voucherButtonPrintAll.jade")(),replace:!0}}])},{"./voucherButtonPrintAll.jade":292}],294:[function(a,b,c){"use strict";function d(a,b,c){this.heyToasts=b,this.vouchers=c,this.isPending=!1,e.call(this,a)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.print=function(){this.isPending=!0,this.vouchers.printVouchers({_id:this.model.id})["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.prototype.isValid=function(){return this.model&&0===this.model.get("used")},d.$inject=["account","heyToasts","vouchers"],angular.module("app-unifi-hotspot").controller("VoucherButtonPrintOneController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],295:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<button ng-click="voucherButtonPrintOneCtrl.print()" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="!voucherButtonPrintOneCtrl.isValid() || voucherButtonPrintOneCtrl.isPending" title="{{\'VOUCHER_ACTIONS_PRINT_ONE\' | translate}}"><span ng-class="voucherButtonPrintOneCtrl.isPending &amp;&amp; isLabeled ? \'ubnt-icon--clock-2\' : \'ubnt-icon--printer\'" class="button__icon icon"></span><span ng-if="::isLabeled" translate="VOUCHER_ACTIONS_PRINT_ONE" class="button__label"></span></button>'),b.join("")}},{"jade/runtime":233}],296:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiVoucherButtonPrintOne",[function(){return{scope:{model:"=unifiVoucherButtonPrintOne",isLabeled:"=unifiVoucherButtonPrintOneIsLabeled",isResponsive:"=unifiVoucherButtonPrintOneIsResponsive"},controller:"VoucherButtonPrintOneController",controllerAs:"voucherButtonPrintOneCtrl",template:a("./voucherButtonPrintOne.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./voucherButtonPrintOne.jade":295}],297:[function(a,b,c){"use strict";function d(a,b,c,d,f,g){this.$translate=a,this.frame=c,this.heyToasts=d,this.vouchers=f,this.voucherUtils=g,e.call(this,b)}var e=a("../../../base-unifi/controllers/BaseButtonController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onModelChange=function(){},d.prototype.revoke=function(a){return a.preventDefault(),a.stopPropagation(),this.frame.show("confirm",{title:function(){return this.$translate.instant("VOUCHER_ACTIONS_REVOKE_CONFIRM_TITLE",{code:this.voucherUtils.formatCode(this.model.get("code"))})}.bind(this),message:function(){return this.$translate.instant("VOUCHER_ACTIONS_REVOKE_CONFIRM_MESSAGE",{code:this.voucherUtils.formatCode(this.model.get("code"))})}.bind(this),options:angular.noop}).then(function(){return this.isPending=!0,this.vouchers.revoke(this.model).then(function(a){this.heyToasts.pushSuccess(a)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.$inject=["$translate","account","frame","heyToasts","vouchers","voucherUtils"],angular.module("app-unifi-hotspot").controller("VoucherButtonRevokeController",d)},{"../../../base-unifi/controllers/BaseButtonController":493}],298:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-click="voucherButtonRevokeCtrl.revoke($event)" ng-class="{\'is-responsive\': isResponsive}" ng-disabled="voucherButtonRevokeCtrl.isPending" title="{{\'VOUCHER_ACTIONS_REVOKE\' | translate}}" unifi-fix-disabled><span ng-class="voucherButtonRevokeCtrl.isPending &amp;&amp; isLabeled ? \'ubnt-icon--clock-2\' : \'ubnt-icon--trashcan\'" class="button__icon icon"></span><span ng-if="::isLabeled" translate="VOUCHER_ACTIONS_REVOKE" class="button__label"></span></div>'),b.join("")}},{"jade/runtime":233}],299:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiVoucherButtonRevoke",[function(){return{scope:{model:"=unifiVoucherButtonRevoke",isLabeled:"=unifiVoucherButtonRevokeIsLabeled",isResponsive:"=unifiVoucherButtonRevokeIsResponsive"},controller:"VoucherButtonRevokeController",controllerAs:"voucherButtonRevokeCtrl",template:a("./voucherButtonRevoke.jade")(),replace:!0,link:function(a,b,c,d){a.$watch("model",function(a){d.updateModel(a)}),a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./voucherButtonRevoke.jade":298}],300:[function(a,b,c){"use strict";function d(a,b){this.heyToasts=a,this.vouchers=b,this.isPending=!1}d.prototype.getBatches=function(){return this.vouchers.batches},d.prototype.printBatch=function(a){this.isPending=!0,this.vouchers.printVouchers({create_time:a})["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isPending=!1}.bind(this))},d.$inject=["heyToasts","vouchers"],angular.module("app-unifi-hotspot").controller("VoucherDropdownPrintBatchController",d)},{}],301:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div on-outside-element-click="voucherDropdownPrintBatchCtrl.printBatchDropdownVisible = false" ng-click="voucherDropdownPrintBatchCtrl.printBatchDropdownVisible = !voucherDropdownPrintBatchCtrl.printBatchDropdownVisible" ng-disabled="voucherDropdownPrintBatchCtrl.isPending"><span class="button__icon icon ubnt-icon--printer"></span><span translate="VOUCHER_ACTIONS_PRINT_BATCH"></span><span class="button__icon button__icon--right icon ubnt-icon--pointer-down"></span><ul ng-class="voucherDropdownPrintBatchCtrl.printBatchDropdownVisible ? \'is-dropdown-visible\' : \'\'" class="appDropdown appDropdown--inButton appDropdown--left appDropdown--scrollable appDropdown--medium"><li ng-repeat="batch in voucherDropdownPrintBatchCtrl.getBatches()" ng-click="voucherDropdownPrintBatchCtrl.printBatch(batch.createTime)" class="appDropdown__item">{{ batch.name }}</li></ul></div>'),b.join("")}},{"jade/runtime":233}],302:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiVoucherDropdownPrintBatch",[function(){return{controller:"VoucherDropdownPrintBatchController",controllerAs:"voucherDropdownPrintBatchCtrl",template:a("./voucherDropdownPrintBatch.jade")(),replace:!0}}])},{"./voucherDropdownPrintBatch.jade":301}],303:[function(a,b,c){"use strict";function d(a,b,c,d,f){this.vouchers=d,this.filter=new f,this.defaultSortBy="create_time",this.defaultSortDesc=!0,e.call(this,a,b,c)}var e=a("../../../base-unifi/controllers/BasePaginatedListController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.initFilters=function(){this.isFiltered=this.filter.isFiltered.bind(this.filter)},d.prototype.getCollection=function(){return this.vouchers.repository.collection},d.prototype.getBytesFromMbytes=function(a){return a?1024*a*1024:""},d.prototype.getBytesFromKbytes=function(a){return a?1024*a:""},d.$inject=["$injector","CollectionView","preferences","vouchers","VoucherFilter"],angular.module("app-unifi-hotspot").controller("VoucherListController",d)},{"../../../base-unifi/controllers/BasePaginatedListController":503
}],304:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appView appView--panelLayout"><div class="appViewCenterPanel flexFlag flexFlag--vertical"><div class="appActionBar appActionBar--cozy appActionBar--flexible appActionBar--centerPanel"><div class="appActionBar__inner"><div class="appActionBar__left"><div unifi-if-role-writeable frame-show="createVouchers" title="{{\'VOUCHER_ACTIONS_CREATE_VOUCHERS\' | translate}}" class="appMainButton appMainButton--primary appMainButton--cozy"><span class="button__icon icon ubnt-icon--plus"></span><span translate="VOUCHER_ACTIONS_CREATE_VOUCHERS"></span></div><div ng-if="voucherListCtrl.getCollection().length" unifi-voucher-button-print-all class="appMainButton appMainButton--primary appMainButton--cozy"></div><div ng-if="voucherListCtrl.getCollection().length" unifi-voucher-dropdown-print-batch class="appMainButton appMainButton--primary appMainButton--cozy appMainButton--withDropdown visible--mdUp"></div></div><div class="appActionBar__right"><div class="appActionBarFilter appActionBarFilter--search"><unifi-search unifi-search-on-change="voucherListCtrl.onSearchQueryChange(searchQuery)" unifi-search-is-cozy="true" unifi-search-is-busy="voucherListCtrl.view.isRefreshing()"></unifi-search></div></div></div></div><div class="appScrollable appScrollable--centerPanel flexFlag__body"><table id="vouchersTable" collection-view-sort="voucherListCtrl.view" unifi-condensed="appTable--condensed" class="unifiVouchersTable verticalRhythmTop--cozy appTable appTable--noWrap appTable--light appTable--hoverable appTable--flexible appTable--striped"><thead><tr><th collection-view-sort-by="code" class="voucherCode"><span translate="VOUCHER_TABLE_HEADER_CODE"></span></th><th collection-view-sort-by="create_time" class="voucherCreateTime visible--smUp"><span translate="VOUCHER_TABLE_HEADER_CREATE_TIME"></span></th><th collection-view-sort-by="qos_rate_max_down" class="voucherDown visible--lgUp"><span translate="VOUCHER_TABLE_HEADER_DOWN"></span></th><th collection-view-sort-by="qos_rate_max_up" class="voucherUp visible--lgUp"><span translate="VOUCHER_TABLE_HEADER_UP"></span></th><th collection-view-sort-by="qos_usage_quota" class="voucherByteQuota visible--lgUp"><span translate="VOUCHER_TABLE_HEADER_BYTE_QUOTA"></span></th><th collection-view-sort-by="note" class="voucherNotes visible--mdUp"><span translate="VOUCHER_TABLE_HEADER_NOTES"></span></th><th collection-view-sort-by="duration" class="voucherDuration visible--mdUp"><span translate="VOUCHER_TABLE_HEADER_DURATION"></span></th><th class="voucherStatus"><span translate="VOUCHER_TABLE_HEADER_STATUS"></span></th><th class="voucherActions"><span translate="VOUCHER_TABLE_HEADER_ACTIONS"></span></th></tr></thead><tfoot ng-if="voucherListCtrl.view.getModels().length"><tr><td colspan="9"><unifi-list-pagination unifi-list-pagination-current-page="voucherListCtrl.currentPage" unifi-list-pagination-rows-per-page="voucherListCtrl.rowsPerPage" unifi-list-pagination-total-rows="voucherListCtrl.view.getModels().length" unifi-list-pagination-total-links="5"></unifi-list-pagination></td></tr></tfoot><tbody><tr collection-view-repeat="model in voucherListCtrl.view.getModels(),              startFrom (voucherListCtrl.currentPage - 1) * voucherListCtrl.rowsPerPage,              limitTo voucherListCtrl.rowsPerPage" data-id="{{::model.id}}"><td class="voucherCode">{{::model.get(\'code\') | voucherCode}}</td><td class="voucherCreateTime visible--smUp">{{::model.get(\'create_time\') * 1000 | moment: \'format\': \'datetime\'}}</td><td class="voucherDown visible--lgUp">{{::voucherListCtrl.getBytesFromKbytes(model.get(\'qos_rate_max_down\')) | bps:{isBits: true} }}</td><td class="voucherUp visible--lgUp">{{::voucherListCtrl.getBytesFromKbytes(model.get(\'qos_rate_max_up\')) | bps:{isBits: true} }}</td><td class="voucherByteQuota visible--lgUp">{{::voucherListCtrl.getBytesFromMbytes(model.get(\'qos_usage_quota\')) | bytes}}</td><td class="voucherNotes visible--mdUp">{{::model.get(\'note\')}}</td><td class="voucherDuration visible--mdUp">{{::model.get(\'duration\') * 60 | seconds}}</td><td class="voucherStatus">{{::model | voucherStatus}}</td><td class="voucherActions appTableCell--actions"><button unifi-voucher-button-print-one="::model" unifi-voucher-button-print-one-is-labeled="true" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button><button unifi-if-role-writeable unifi-voucher-button-revoke="::model" unifi-voucher-button-revoke-is-labeled="true" unifi-condensed="appMainButton--condensed" unifi-condensed-off="appMainButton--cozy" class="appMainButton appMainButton--tertiary"></button></td></tr></tbody></table><div ng-if="voucherListCtrl.view.getModels().length === 0" class="container container--responsive container--centered"><div class="row--comfy"><div class="col--xs12"><div unifi-condensed="appInfoBox--cozy" unifi-condensed-off="appInfoBox--responsiveMdDown" class="appInfoBox verticalRhythmTop--breezy"><div class="appInfoBox__icon icon ubnt-icon--info"></div><div class="appInfoBox__content"><div translate="VOUCHER_TABLE_EMPTY_HEADER" class="appInfoBox__header"></div><div class="appInfoBox__body"><p ng-if="voucherListCtrl.isFiltered()" translate="VOUCHER_TABLE_EMPTY_NO_MATCHES" class="noMarginBottom"></p><p ng-if="!voucherListCtrl.isFiltered()" translate="VOUCHER_TABLE_EMPTY_NO_VOUCHERS" class="noMarginBottom"></p></div></div></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],305:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").directive("unifiVoucherList",["PaginatedListDirective",function(b){return new b("voucher",a("./voucherList.jade")())}])},{"./voucherList.jade":304}],306:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("FLAGS",{enableAnalytics:!1,enableSocialAuth:">=5.4.0"})},{}],307:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").config(["frameProvider",function(b){b.when("createVouchers",{layout:"createVouchersLayout",controller:"VouchersCreateController",controllerAs:"vouchersCreateCtrl",template:a("../views/frames/vouchersCreate.jade")()}).when("createOperator",{layout:"createOperatorLayout",controller:"OperatorCreateController",controllerAs:"operatorCreateCtrl",template:a("../views/frames/operatorCreate.jade")()})}])},{"../views/frames/operatorCreate.jade":360,"../views/frames/vouchersCreate.jade":361}],308:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").config(["$urlRouterProvider","$locationProvider",function(a,b){a.otherwise("/hotspot/"),b.html5Mode(!0)}])},{}],309:[function(a,b,c){"use strict";var d=a("../lib/resolve"),e=a("moment");angular.module("app-unifi-hotspot").config(["$stateProvider",function(b){var c=["routeDeps",function(a){a.onEnterCallback&&a.onEnterCallback(a.onEnterArgs)}],f=["routeDeps",function(a){a.onExitCallback&&a.onExitCallback(a.onExitArgs)}];b.state("hotspot",{"abstract":!0,url:"/hotspot",template:a("../views/index.jade")(),resolve:d.hotspot}).state("hotspot.home",{controller:"HomeController",controllerAs:" homeCtrl",url:"/",template:a("../views/home.jade")(),resolve:d.home}).state("hotspot.account",{controller:"AccountController",controllerAs:"accountCtrl",url:"/account",template:a("../../base-unifi/views/account.jade")(),resolve:d.account}).state("hotspot.account.login",{controller:"LoginController",controllerAs:"loginCtrl",url:"/login/{site}?redirect",template:a("../../base-unifi/views/login.jade")(),params:{site:{value:"default"},redirect:{value:null,squash:!0}}}).state("hotspot.site",{controller:"SiteController",controllerAs:"siteCtrl",url:"/site/:site",template:a("../views/hotspotSite.jade")(),resolve:d.site,"abstract":!0}).state("hotspot.site.analytics",{url:"/analytics/:interval/:start/:currency",controller:"AnalyticsController",controllerAs:"analyticsCtrl",template:a("../views/site/analytics.jade")(),resolve:d.analytics,params:{interval:{value:"monthly"},start:{value:e().subtract(1,"month").startOf("day").format("x")},currency:{value:"",squash:!0}},onEnter:c,onExit:f}).state("hotspot.site.guests",{controller:"GuestsController",controllerAs:"guestsCtrl",url:"/guests/{within:[0-9]+}/{page:[0-9]+}/{pageSize:[0-9]+}",template:a("../views/site/guests.jade")(),resolve:d.guests,params:{within:{value:"24"},pageSize:["preferences",function(a){return(a.model.getRowsPerPage("guest")||a.model.getRowsPerPage()).toString()}],page:{value:"1",squash:!1}},onEnter:c,onExit:f}).state("hotspot.site.operators",{controller:"OperatorsController",controllerAs:"operatorsController",url:"/operators/{page:[0-9]+}/{pageSize:[0-9]+}",template:a("../views/site/operators.jade")(),resolve:d.operators,params:{pageSize:["preferences",function(a){return(a.model.getRowsPerPage("operator")||a.model.getRowsPerPage()).toString()}],page:{value:"1",squash:!1}},onEnter:c,onExit:f}).state("hotspot.site.transactions",{controller:"TransactionsController",controllerAs:"transactionsController",url:"/transactions/{within:[0-9]+}/{page:[0-9]+}/{pageSize:[0-9]+}/:transactionType",template:a("../views/site/transactions.jade")(),resolve:d.transactions,params:{within:{value:"24"},pageSize:["preferences",function(a){return(a.model.getRowsPerPage("transaction")||a.model.getRowsPerPage()).toString()}],page:{value:"1",squash:!1},transactionType:{value:null,squash:!0}},onEnter:c,onExit:f}).state("hotspot.site.vouchers",{controller:"VouchersController",controllerAs:"vouchersCtrl",url:"/vouchers/{page:[0-9]+}/{pageSize:[0-9]+}",template:a("../views/site/vouchers.jade")(),resolve:d.vouchers,params:{pageSize:["preferences",function(a){return(a.model.getRowsPerPage("voucher")||a.model.getRowsPerPage()).toString()}],page:{value:"1",squash:!1}},onEnter:c,onExit:f}).state("hotspot.fatal",{controller:"FatalController",controllerAs:"fatalCtrl",url:"/fatal/:error",template:a("../../base-unifi/views/fatal.jade")(),resolve:d.fatal,params:{error:{value:"400",squash:!0}}})}])},{"../../base-unifi/views/account.jade":631,"../../base-unifi/views/fatal.jade":632,"../../base-unifi/views/login.jade":635,"../lib/resolve":331,"../views/home.jade":362,"../views/hotspotSite.jade":363,"../views/index.jade":364,"../views/site/analytics.jade":365,"../views/site/guests.jade":366,"../views/site/operators.jade":367,"../views/site/transactions.jade":368,"../views/site/vouchers.jade":369,moment:238}],310:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("ANALYTICS_SUBTABS",{DEMOGRAPHY:[{id:"countries",label:"HOTSPOT_ANALYTICS_SUBSECTION_COUNTRIES",iconClass:"ubnt-icon--world",preSelected:!0},{id:"age",label:"HOTSPOT_ANALYTICS_SUBSECTION_AGE",iconClass:"fa fa-child"},{id:"sex",label:"HOTSPOT_ANALYTICS_SUBSECTION_SEX",iconClass:"fa fa-transgender"},{id:"languages",label:"HOTSPOT_ANALYTICS_SUBSECTION_LANGUAGES",iconClass:"fa fa-language"}],TECHNICAL:[{id:"devices",label:"HOTSPOT_ANALYTICS_SUBSECTION_DEVICES",iconClass:"ubnt-icon--mobile-phone",preSelected:!0},{id:"browsers",label:"HOTSPOT_ANALYTICS_SUBSECTION_BROWSERS",iconClass:"fa fa-code"},{id:"os",label:"HOTSPOT_ANALYTICS_SUBSECTION_OS",iconClass:"ubnt-icon--apple"}]})},{}],311:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("CHART_COLORS",["#00a0df","#13bb72","#89d23a","#fee902","#f09300","#f8640b","#ff3516","#c1456e","#8355c5","#427bd2"])},{}],312:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("COUNTRY_ALPHA3_MAP",{AD:"AND",AF:"AFG",AG:"ATG",AI:"AIA",AL:"ALB",AO:"AGO",AQ:"ATA",AM:"ARM",AR:"ARG",AX:"ALA",AS:"ASM",AT:"AUT",AU:"AUS",AW:"ABW",BB:"BRB",BY:"BLR",BD:"BGD",BS:"BHS",BH:"BHR",AZ:"AZE",DZ:"DZA",BE:"BEL",BZ:"BLZ",BJ:"BEN",BM:"BMU",BT:"BTN",BO:"BOL",BQ:"BES",BA:"BIH",BW:"BWA",BV:"BVT",BR:"BRA",IO:"IOT",BN:"BRN",BG:"BGR",BF:"BFA",BI:"BDI",CV:"CPV",KH:"KHM",CM:"CMR",CA:"CAN",KY:"CYM",CF:"CAF",TD:"TCD",CL:"CHL",CN:"CHN",CX:"CXR",CC:"CCK",CO:"COL",KM:"COM",CG:"COG",CD:"COD",CK:"COK",CR:"CRI",CI:"CIV",HR:"HRV",CU:"CUB",CW:"CUW",CY:"CYP",CZ:"CZE",DK:"DNK",DJ:"DJI",DM:"DMA",DO:"DOM",EC:"ECU",EG:"EGY",SV:"SLV",GQ:"GNQ",ER:"ERI",EE:"EST",ET:"ETH",FK:"FLK",FO:"FRO",FJ:"FJI",FI:"FIN",FR:"FRA",GF:"GUF",PF:"PYF",TF:"ATF",GA:"GAB",GM:"GMB",GE:"GEO",DE:"DEU",GH:"GHA",GI:"GIB",GR:"GRC",GL:"GRL",GD:"GRD",GP:"GLP",GU:"GUM",GT:"GTM",GG:"GGY",GN:"GIN",GW:"GNB",GY:"GUY",HT:"HTI",HM:"HMD",VA:"VAT",HN:"HND",HK:"HKG",HU:"HUN",IS:"ISL",IN:"IND",ID:"IDN",IR:"IRN",IQ:"IRQ",IE:"IRL",IM:"IMN",IL:"ISR",IT:"ITA",JM:"JAM",JP:"JPN",JE:"JEY",JO:"JOR",KZ:"KAZ",KE:"KEN",KI:"KIR",KP:"PRK",KR:"KOR",KW:"KWT",KG:"KGZ",LA:"LAO",LV:"LVA",LB:"LBN",LS:"LSO",LR:"LBR",LY:"LBY",LI:"LIE",LT:"LTU",LU:"LUX",MO:"MAC",MK:"MKD",MG:"MDG",MW:"MWI",MY:"MYS",MV:"MDV",ML:"MLI",MT:"MLT",MH:"MHL",MQ:"MTQ",MR:"MRT",MU:"MUS",YT:"MYT",MX:"MEX",FM:"FSM",MD:"MDA",MC:"MCO",MN:"MNG",ME:"MNE",MS:"MSR",MA:"MAR",MZ:"MOZ",MM:"MMR",NA:"NAM",NR:"NRU",NP:"NPL",NL:"NLD",NC:"NCL",NZ:"NZL",NI:"NIC",NE:"NER",NG:"NGA",NU:"NIU",NF:"NFK",MP:"MNP",NO:"NOR",OM:"OMN",PK:"PAK",PW:"PLW",PS:"PSE",PA:"PAN",PG:"PNG",PY:"PRY",PE:"PER",PH:"PHL",PN:"PCN",PL:"POL",PT:"PRT",PR:"PRI",QA:"QAT",RE:"REU",RO:"ROU",RU:"RUS",RW:"RWA",BL:"BLM",SH:"SHN",KN:"KNA",LC:"LCA",MF:"MAF",PM:"SPM",VC:"VCT",WS:"WSM",SM:"SMR",ST:"STP",SA:"SAU",SN:"SEN",RS:"SRB",SC:"SYC",SL:"SLE",SG:"SGP",SX:"SXM",SK:"SVK",SI:"SVN",SB:"SLB",SO:"SOM",ZA:"ZAF",GS:"SGS",SS:"SSD",ES:"ESP",LK:"LKA",SD:"SDN",SR:"SUR",SJ:"SJM",SZ:"SWZ",SE:"SWE",CH:"CHE",SY:"SYR",TW:"TWN",TJ:"TJK",TZ:"TZA",TH:"THA",TL:"TLS",TG:"TGO",TK:"TKL",TO:"TON",TT:"TTO",TN:"TUN",TR:"TUR",TM:"TKM",TC:"TCA",TV:"TUV",UG:"UGA",UA:"UKR",AE:"ARE",GB:"GBR",US:"USA",UM:"UMI",UY:"URY",UZ:"UZB",VU:"VUT",VE:"VEN",VN:"VNM",VG:"VGB",VI:"VIR",WF:"WLF",EH:"ESH",YE:"YEM",ZM:"ZMB",ZW:"ZWE"})},{}],313:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("ENV",{APP:"app-unifi-hotspot",APP_STATE_PREFIX:"hotspot.",LOGIN_STATE:"hotspot.account.login",HOME_STATE:"hotspot.home",FATAL_STATE:"hotspot.fatal",STORE_ACTIVE_SITE:!1})},{}],314:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").constant("VOUCHER_QUOTA",{ONE_TIME:"1",MULTI_USE:"0"})},{}],315:[function(a,b,c){"use strict";function d(a,b,c,d){this.$state=a,this.dateIntervalUtils=b,this.hotspotAnalytics=c,this.ANALYTICS_SUBTABS=d}d.prototype.updateDateInterval=function(a,b){this.hotspotAnalytics.setDateInterval(a,b),this.dateIntervalUtils.updateStateWithNewInterval(a,this.hotspotAnalytics.getInterval()).then(this.hotspotAnalytics.refreshAll.bind(this.hotspotAnalytics))},d.$inject=["$state","dateIntervalUtils","hotspotAnalytics","ANALYTICS_SUBTABS"],angular.module("app-unifi-hotspot").controller("AnalyticsController",d)},{}],316:[function(a,b,c){"use strict";function d(){}d.$inject=[],angular.module("app-unifi-hotspot").controller("GuestsController",d)},{}],317:[function(a,b,c){"use strict";function d(a,b,c,d,e,f,g){this.$state=a,this.$q=b,this.account=c,this.featureFlag=d,this.site=e,this.UseWebrtc=f,this.ENV=g,this.redirectToGuests()}d.prototype.redirectToGuests=function(){var a=this.site.getActiveSite();a?this.$state.go(this.featureFlag.isEnabled("enableAnalytics")?"hotspot.site.analytics":"hotspot.site.guests",{site:a}):this.UseWebrtc?this.$state.go(this.ENV.FATAL_STATE):this.account.logout(!0).then(function(){this.$state.go(this.ENV.LOGIN_STATE,{site:"default"},{reload:!0})}.bind(this))},d.$inject=["$state","$q","account","featureFlag","site","UseWebrtc","ENV"],angular.module("app-unifi-hotspot").controller("HomeController",d)},{}],318:[function(a,b,c){"use strict";function d(a,b,c){this.site=b,this.ENV=c,a.fetchPreferences()}d.$inject=["preferences","site","ENV","queryString"],angular.module("app-unifi-hotspot").controller("HotspotController",d)},{}],319:[function(a,b,c){"use strict";function d(a,b,c,d,f,g,h,i){e.call(this,a,b,c,f,g,h,i),this.featureFlag=d,this.remember=g.isRememberMeEnabled(!0)}var e=a("../../base-unifi/controllers/BaseLoginController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype._appLogin=function(a,b,c){return this.account.loginToHotspot(a,b,c,this.$stateParams.site)},d.prototype._appRedirect=function(){return this.$state.go(this.featureFlag.isEnabled("enableAnalytics")?"hotspot.site.analytics":"hotspot.site.guests",{site:this.$stateParams.site})},d.$inject=["$state","$stateParams","$location","featureFlag","queryString","account","frame","ENV"],angular.module("app-unifi-hotspot").controller("LoginController",d)},{"../../base-unifi/controllers/BaseLoginController":501}],320:[function(a,b,c){"use strict";function d(a,b,c,d){this.frame=a,this.heyToasts=b,this.operators=c,this.operator=new d,this.isSaving=!1,this.showValidation=!1}d.prototype.cancel=function(){return this.frame.getLayout("createOperatorLayout").reject()},d.prototype.save=function(){this.isSaving=!0,this.operators.save(this.operator).then(function(a){return this.heyToasts.pushSuccess(a),this.frame.getLayout("createOperatorLayout").resolve()}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isSaving=!1}.bind(this))},d.$inject=["frame","heyToasts","operators","OperatorModel"],angular.module("app-unifi-hotspot").controller("OperatorCreateController",d)},{}],321:[function(a,b,c){"use strict";function d(){}d.$inject=[],angular.module("app-unifi-hotspot").controller("OperatorsController",d)},{}],322:[function(a,b,c){"use strict";function d(a,b,c,d){this.$state=a,this.account=b,this.site=c,this.ENV=d,this.validateSite()}d.prototype.validateSite=function(){this.site.getActiveSite()||this.$state.go(this.ENV.FATAL_STATE,{error:404})},d.$inject=["$state","account","site","ENV"],angular.module("app-unifi-hotspot").controller("SiteController",d)},{}],323:[function(a,b,c){"use strict";function d(){}d.$inject=[],angular.module("app-unifi-hotspot").controller("TransactionsController",d)},{}],324:[function(a,b,c){"use strict";function d(){}d.$inject=[],angular.module("app-unifi-hotspot").controller("VouchersController",d)},{}],325:[function(a,b,c){"use strict";function d(a,b,c,d,e){this.$rootScope=a,this.frame=b,this.heyToasts=c,this.vouchers=d,this.VOUCHER_QUOTA=e,this.isSaving=!1,this.showValidation=!1,this.voucherAttrs={n:10,quota:e.ONE_TIME,expire:1440,expire_number:1,expire_unit:1440},this.limits={isDownload:!1,isUpload:!1,isByteQuota:!1};var f=a.$on("$frameClose:createVouchers",function(){this.removeEventHandlers(),f()}.bind(this));this.addEventHandlers()}d.prototype.addEventHandlers=function(){this.removeEventHandlers(),this.events=[this.$rootScope.$on("keypress:enter",this.save.bind(this))]},d.prototype.removeEventHandlers=function(){this.events&&angular.forEach(this.events,function(a){a()})},d.prototype.cancel=function(){return this.frame.getLayout("createVouchersLayout").reject()},d.prototype.save=function(){this.form.$valid&&(this.isSaving=!0,this.limits.isDownload||delete this.voucherAttrs.down,this.limits.isUpload||delete this.voucherAttrs.up,this.limits.isByteQuota||delete this.voucherAttrs.bytes,this.vouchers.save(this.voucherAttrs).then(function(a){return this.heyToasts.pushSuccess(a),this.frame.getLayout("createVouchersLayout").resolve()}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isSaving=!1}.bind(this)))},d.$inject=["$rootScope","frame","heyToasts","vouchers","VOUCHER_QUOTA"],angular.module("app-unifi-hotspot").controller("VouchersCreateController",d)},{}],326:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("Datamap",function(){return a("datamaps")})},{datamaps:230}],327:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").filter("paymentStatus",["$translate",function(a){return function(b){switch(b){case"authorized":return a.instant("PAYMENT_STATUS_AUTHORIZED");case"paid":return a.instant("PAYMENT_STATUS_PAID");case"void":return a.instant("PAYMENT_STATUS_VOID");default:return""}}}])},{}],328:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").filter("transactionGateway",["$translate",function(a){return function(b){switch(b){case"authorize":case"facebook":case"google":case"ippay":case"merchantwarrior":case"paypal":case"quickpay":case"stripe":return a.instant("PAYMENT_GATEWAY_"+b.toUpperCase());default:return b}}}])},{}],329:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").filter("voucherCode",["voucherUtils",function(a){return function(b){return a.formatCode(b)}}])},{}],330:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").filter("voucherStatus",["voucherUtils",function(a){return function(b){return a.getStatusText(b)}}])},{}],331:[function(a,b,c){"use strict";var d={};d.guests=a("./routeInitializers/initializeGuests"),d.hotspotAnalytics=a("./routeInitializers/initializeHotspotAnalytics"),d.transactions=a("./routeInitializers/initializeTransactions");var e={};e.allowAdminAccess=a("../../base-unifi/lib/routeResolvers/resolveAllowAdminAccess"),e.login=a("../../base-unifi/lib/routeResolvers/resolveLogin"),b.exports={},b.exports.account={routeDeps:["$injector","$q",function(a,b){return a.get("hotspotResolver").resolve().then(function(){return b.all([a.get("translateResolver").resolve("account"),a.get("status").repository.model.fetch()])})}]},b.exports.analytics={routeDeps:["repositoryUtils","$injector","$stateParams","$q",function(a,b,c,e){var f=["hotspotPackages"],g=[{service:"hotspotAnalytics",repository:"summary"},{service:"hotspotAnalytics",repository:"revenue"}];return b.get("hotspotResolver").resolve().then(function(){return e.all(f.map(function(b){return a.getRepository(b).fetch()}))}).then(function(){return d.hotspotAnalytics(b,c)}).then(function(){return e.all(g.map(function(b){return a.getRepository(b).fetch()}).concat(b.get("translateResolver").resolve("hotspotAnalytics","countries")))}).then(function(){return{onEnterCallback:a.registerGroup,onEnterArgs:f.concat(g),onExitCallback:a.unregisterGroup,onExitArgs:f.concat(g)}})}]},b.exports.fatal={routeDeps:["$injector",function(a){return a.get("translateResolver").resolve("fatal")}]},b.exports.guests={routeDeps:["repositoryUtils","$injector","$stateParams","$q",function(a,b,c,e){var f=["guests"];return b.get("hotspotResolver").resolve().then(function(){return d.guests(b,c)}).then(function(){return e.all(f.map(function(b){return a.getRepository(b).fetch()}).concat(b.get("translateResolver").resolve("guests")))}).then(function(){return{onEnterCallback:a.registerGroup,onEnterArgs:f,onExitCallback:a.unregisterGroup,onExitArgs:f}})}]},b.exports.home={routeDeps:["$injector",function(a){return a.get("hotspotResolver").resolve().then(function(){return e.login(a)})}]},b.exports.hotspot={routeDeps:["$injector",function(a){return a.get("translateResolver").resolve("common")}]},b.exports.operators={routeDeps:["repositoryUtils","$injector","$q",function(a,b,c){var d=["operators"];return b.get("hotspotResolver").resolve().then(function(){return e.login(b).then(function(){return e.allowAdminAccess(b)})}).then(function(){return c.all(d.map(function(b){return a.getRepository(b).fetch()}).concat(b.get("translateResolver").resolve("operators")))}).then(function(){return{onEnterCallback:a.registerGroup,onEnterArgs:d,onExitCallback:a.unregisterGroup,onExitArgs:d}})}]},b.exports.transactions={routeDeps:["repositoryUtils","$injector","$stateParams","$q",function(a,b,c,e){var f=["transactions"];return b.get("hotspotResolver").resolve().then(function(){return d.transactions(b,c)}).then(function(){return e.all(f.map(function(b){return a.getRepository(b).fetch()}).concat(b.get("translateResolver").resolve("transactions")))}).then(function(){return{onEnterCallback:a.registerGroup,onEnterArgs:f,onExitCallback:a.unregisterGroup,onExitArgs:f}})}]},b.exports.site={routeDeps:["$injector","repositoryUtils","$q",function(a,b,c){var d=[];return a.get("hotspotResolver").resolve().then(function(){return e.login(a)}).then(function(){return b.getRepository("system").fetch().then(function(){d.push("system")})["catch"](function(a){if(403===a.status)return c.when()})}).then(function(){return{onEnterCallback:b.registerGroup,onEnterArgs:d,onExitCallback:b.unregisterGroup,onExitArgs:d}})}]},b.exports.vouchers={routeDeps:["repositoryUtils","$injector","$q",function(a,b,c){var d=["vouchers"];return b.get("hotspotResolver").resolve().then(function(){return c.all(d.map(function(b){return a.getRepository(b).fetch()}).concat(b.get("translateResolver").resolve("vouchers")))}).then(function(){return{onEnterCallback:a.registerGroup,onEnterArgs:d,onExitCallback:a.unregisterGroup,onExitArgs:d}})}]},b.exports.initializers=d,b.exports.resolvers=e},{"../../base-unifi/lib/routeResolvers/resolveAllowAdminAccess":520,"../../base-unifi/lib/routeResolvers/resolveLogin":521,"./routeInitializers/initializeGuests":332,"./routeInitializers/initializeHotspotAnalytics":333,"./routeInitializers/initializeTransactions":334}],332:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.get("$q"),d=a.get("guests"),e=parseInt(b.within);return d.updateWithin(e),c.when()}},{}],333:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.get("$q"),d=a.get("_"),e=a.get("hotspotAnalytics"),f=a.get("hotspotPackages"),g=a.get("dateIntervalUtils"),h=a.get("TIME_INTERVALS"),i=d.find(h,function(a){return a.name===b.interval})||h.MONTHLY,j=b.start,k=g.calculateEnd(j,i);e.setInterval(i),e.setDateInterval(j,k);var l=e.getAllConfiguredCurrencies(f.repository.collection);return e.setCurrency(b.currency||l[0]),c.when()}},{}],334:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.get("$q"),d=a.get("transactions"),e=parseInt(b.within);return d.updateWithin(e),c.when()}},{}],335:[function(a,b,c){"use strict";a("../base-unifi/main"),angular.module("app-unifi-hotspot",["base-unifi","ng-unifi-charts","pikaday"]),a("./components/ageGraph/AgeGraphController.js"),a("./components/ageGraph/ageGraph.js"),a("./components/authenticationMethodGraph/AuthenticationMethodGraphController.js"),a("./components/authenticationMethodGraph/authenticationMethodGraph.js"),a("./components/countriesGraph/CountriesGraphController.js"),a("./components/countriesGraph/countriesGraph.js"),a("./components/dataMap/DataMapController.js"),a("./components/dataMap/dataMap.js"),a("./components/guestButtonDisconnect/GuestButtonDisconnectController.js"),a("./components/guestButtonDisconnect/guestButtonDisconnect.js"),a("./components/guestButtonExtend/GuestButtonExtendController.js"),a("./components/guestButtonExtend/guestButtonExtend.js"),a("./components/guestList/GuestListController.js"),a("./components/guestList/guestList.js"),a("./components/hotspotAnalyticsOverview/HotspotAnalyticsOverviewController.js"),a("./components/hotspotAnalyticsOverview/hotspotAnalyticsOverview.js"),a("./components/newVsReturningGraph/NewVsReturningGraphController.js"),a("./components/newVsReturningGraph/newVsReturningGraph.js"),a("./components/operatorButtonDelete/OperatorButtonDeleteController.js"),a("./components/operatorButtonDelete/operatorButtonDelete.js"),a("./components/operatorList/OperatorListController.js"),a("./components/operatorList/operatorList.js"),a("./components/paymentButtonRefund/PaymentButtonRefundController.js"),a("./components/paymentButtonRefund/paymentButtonRefund.js"),a("./components/revenueChart/RevenueChartController.js"),a("./components/revenueChart/revenueChart.js"),a("./components/sexGraph/SexGraphController.js"),a("./components/sexGraph/sexGraph.js"),a("./components/subtabs/SubtabsController.js"),a("./components/subtabs/subtabs.js"),a("./components/transactionList/TransactionListController.js"),a("./components/transactionList/transactionList.js"),a("./components/voucherButtonPrintAll/VoucherButtonPrintAllController.js"),a("./components/voucherButtonPrintAll/voucherButtonPrintAll.js"),a("./components/voucherButtonPrintOne/VoucherButtonPrintOneController.js"),a("./components/voucherButtonPrintOne/voucherButtonPrintOne.js"),a("./components/voucherButtonRevoke/VoucherButtonRevokeController.js"),a("./components/voucherButtonRevoke/voucherButtonRevoke.js"),a("./components/voucherDropdownPrintBatch/VoucherDropdownPrintBatchController.js"),a("./components/voucherDropdownPrintBatch/voucherDropdownPrintBatch.js"),a("./components/voucherList/VoucherListController.js"),a("./components/voucherList/voucherList.js"),a("./config/flags.js"),a("./config/frames.js"),a("./config/routes.js"),a("./config/states.js"),a("./constants/ANALYTICS_SUBTABS.js"),a("./constants/CHART_COLORS.js"),a("./constants/COUNTRY_ALPHA3_MAP.js"),a("./constants/ENV.js"),a("./constants/VOUCHER_QUOTA.js"),a("./controllers/AnalyticsController.js"),a("./controllers/GuestsController.js"),a("./controllers/HomeController.js"),a("./controllers/HotspotController.js"),a("./controllers/LoginController.js"),a("./controllers/OperatorCreateController.js"),a("./controllers/OperatorsController.js"),a("./controllers/SiteController.js"),a("./controllers/TransactionsController.js"),a("./controllers/VouchersController.js"),a("./controllers/VouchersCreateController.js"),a("./factories/DatamapDependencyFactory.js"),a("./filters/paymentStatus.js"),a("./filters/transactionGateway.js"),a("./filters/voucherCode.js"),a("./filters/voucherStatus.js"),a("./lib/resolve.js"),a("./lib/routeInitializers/initializeGuests.js"),a("./lib/routeInitializers/initializeHotspotAnalytics.js"),a("./lib/routeInitializers/initializeTransactions.js"),a("./services/collections/GuestCollection.js"),a("./services/collections/OperatorCollection.js"),a("./services/collections/TransactionCollection.js"),a("./services/collections/VoucherCollection.js"),a("./services/filters/GuestFilter.js"),a("./services/filters/OperatorFilter.js"),a("./services/filters/TransactionFilter.js"),a("./services/filters/VoucherFilter.js"),a("./services/guestUtils.js"),a("./services/guests.js"),a("./services/hotspotAnalytics.js"),a("./services/hotspotAnalyticsUtils.js"),a("./services/hotspotPackageUtils.js"),a("./services/models/GuestModel.js"),a("./services/models/OperatorModel.js"),a("./services/models/PrintHotspotVouchersModel.js"),a("./services/models/TransactionModel.js"),a("./services/models/VoucherModel.js"),a("./services/operators.js"),a("./services/paymentUtils.js"),a("./services/resolvers/hotspotResolver.js"),a("./services/transactionListColumnStore.js"),a("./services/transactions.js"),a("./services/vouchers.js")},{"../base-unifi/main":523,"./components/ageGraph/AgeGraphController.js":242,"./components/ageGraph/ageGraph.js":244,"./components/authenticationMethodGraph/AuthenticationMethodGraphController.js":245,"./components/authenticationMethodGraph/authenticationMethodGraph.js":247,"./components/countriesGraph/CountriesGraphController.js":248,"./components/countriesGraph/countriesGraph.js":250,"./components/dataMap/DataMapController.js":251,"./components/dataMap/dataMap.js":253,"./components/guestButtonDisconnect/GuestButtonDisconnectController.js":255,"./components/guestButtonDisconnect/guestButtonDisconnect.js":257,"./components/guestButtonExtend/GuestButtonExtendController.js":258,"./components/guestButtonExtend/guestButtonExtend.js":260,"./components/guestList/GuestListController.js":261,"./components/guestList/guestList.js":263,"./components/hotspotAnalyticsOverview/HotspotAnalyticsOverviewController.js":264,"./components/hotspotAnalyticsOverview/hotspotAnalyticsOverview.js":266,"./components/newVsReturningGraph/NewVsReturningGraphController.js":267,"./components/newVsReturningGraph/newVsReturningGraph.js":269,"./components/operatorButtonDelete/OperatorButtonDeleteController.js":270,"./components/operatorButtonDelete/operatorButtonDelete.js":272,"./components/operatorList/OperatorListController.js":273,"./components/operatorList/operatorList.js":275,"./components/paymentButtonRefund/PaymentButtonRefundController.js":276,"./components/paymentButtonRefund/paymentButtonRefund.js":278,"./components/revenueChart/RevenueChartController.js":279,"./components/revenueChart/revenueChart.js":281,"./components/sexGraph/SexGraphController.js":282,"./components/sexGraph/sexGraph.js":284,
"./components/subtabs/SubtabsController.js":285,"./components/subtabs/subtabs.js":287,"./components/transactionList/TransactionListController.js":288,"./components/transactionList/transactionList.js":290,"./components/voucherButtonPrintAll/VoucherButtonPrintAllController.js":291,"./components/voucherButtonPrintAll/voucherButtonPrintAll.js":293,"./components/voucherButtonPrintOne/VoucherButtonPrintOneController.js":294,"./components/voucherButtonPrintOne/voucherButtonPrintOne.js":296,"./components/voucherButtonRevoke/VoucherButtonRevokeController.js":297,"./components/voucherButtonRevoke/voucherButtonRevoke.js":299,"./components/voucherDropdownPrintBatch/VoucherDropdownPrintBatchController.js":300,"./components/voucherDropdownPrintBatch/voucherDropdownPrintBatch.js":302,"./components/voucherList/VoucherListController.js":303,"./components/voucherList/voucherList.js":305,"./config/flags.js":306,"./config/frames.js":307,"./config/routes.js":308,"./config/states.js":309,"./constants/ANALYTICS_SUBTABS.js":310,"./constants/CHART_COLORS.js":311,"./constants/COUNTRY_ALPHA3_MAP.js":312,"./constants/ENV.js":313,"./constants/VOUCHER_QUOTA.js":314,"./controllers/AnalyticsController.js":315,"./controllers/GuestsController.js":316,"./controllers/HomeController.js":317,"./controllers/HotspotController.js":318,"./controllers/LoginController.js":319,"./controllers/OperatorCreateController.js":320,"./controllers/OperatorsController.js":321,"./controllers/SiteController.js":322,"./controllers/TransactionsController.js":323,"./controllers/VouchersController.js":324,"./controllers/VouchersCreateController.js":325,"./factories/DatamapDependencyFactory.js":326,"./filters/paymentStatus.js":327,"./filters/transactionGateway.js":328,"./filters/voucherCode.js":329,"./filters/voucherStatus.js":330,"./lib/resolve.js":331,"./lib/routeInitializers/initializeGuests.js":332,"./lib/routeInitializers/initializeHotspotAnalytics.js":333,"./lib/routeInitializers/initializeTransactions.js":334,"./services/collections/GuestCollection.js":336,"./services/collections/OperatorCollection.js":337,"./services/collections/TransactionCollection.js":338,"./services/collections/VoucherCollection.js":339,"./services/filters/GuestFilter.js":340,"./services/filters/OperatorFilter.js":341,"./services/filters/TransactionFilter.js":342,"./services/filters/VoucherFilter.js":343,"./services/guestUtils.js":344,"./services/guests.js":345,"./services/hotspotAnalytics.js":346,"./services/hotspotAnalyticsUtils.js":347,"./services/hotspotPackageUtils.js":348,"./services/models/GuestModel.js":349,"./services/models/OperatorModel.js":350,"./services/models/PrintHotspotVouchersModel.js":351,"./services/models/TransactionModel.js":352,"./services/models/VoucherModel.js":353,"./services/operators.js":354,"./services/paymentUtils.js":355,"./services/resolvers/hotspotResolver.js":356,"./services/transactionListColumnStore.js":357,"./services/transactions.js":358,"./services/vouchers.js":359}],336:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("GuestCollection",["CORSCollection","GuestModel","siteUrlMixin","siteUrlWithinMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f,g){return a.extend(c).extend(d).extend(e).extend(f).extend(g).extend({model:b,siteUrl:"stat/guest"})}])},{}],337:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("OperatorCollection",["CORSCollection","OperatorModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(c).extend(d).extend(e).extend(f).extend({model:b,siteUrl:"rest/hotspotop"})}])},{}],338:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("TransactionCollection",["CORSCollection","resolveMixin","siteUrlMixin","siteUrlWithinMixin","structureMixin","TransactionModel","webrtcMixin",function(a,b,c,d,e,f,g){return a.extend(c).extend(d).extend(e).extend(b).extend(g).extend({model:f,siteUrl:"stat/payment"})}])},{}],339:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("VoucherCollection",["CORSCollection","VoucherModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(c).extend(d).extend(e).extend(f).extend({model:b,siteUrl:"stat/voucher"})}])},{}],340:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("GuestFilter",["$filter","BaseSearchableModelFilter",function(a,b){var c=function(){b.call(this),this.searchableAttributes=["name","hostname","mac","package"]};return c.prototype=Object.create(b.prototype),c.prototype.constructor=c,c.prototype.test=function(b){if(this.search(b))return!0;var c=this.searchQuery?this.searchQuery.toLowerCase().split(" "):[];return!c.length||(!!this.testPhrase(a("guestAuthorization")(b),c)||(!!this.testPhrase(a("bps")(b.get("tx_bytes")),c)||!!this.testPhrase(a("bps")(b.get("rx_bytes")),c)))},c}])},{}],341:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("OperatorFilter",["BaseSearchableModelFilter",function(a){var b=function(){a.call(this),this.searchableAttributes=["name","note"]};return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}])},{}],342:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("TransactionFilter",["$filter","BaseSearchableModelFilter",function(a,b){var c=function(){b.call(this),this.transactionTypeFilter=null,this.searchableAttributes=["last_name","first_name","package","info"]};return c.prototype=Object.create(b.prototype),c.prototype.constructor=c,c.prototype.test=function(b){var c=this.transactionTypeFilter;if(null!==c){if("payments"===c&&b.isSocial())return!1;if("social"===c&&!b.isSocial())return!1}if(this.search(b))return!0;var d=this.searchQuery?this.searchQuery.toLowerCase().split(" "):[];return!d.length||(!!this.testPhrase(a("moment")(b.get("datetime"),"format","datetime"),d)||(!!this.testPhrase(a("currency")(b),d)||!!this.testPhrase(a("paymentStatus")(b.get("status")),d)))},c.prototype.getTransactionTypeFilter=function(){return this.transactionTypeFilter},c.prototype.hasTransactionTypeFilter=function(){return null!==this.transactionTypeFilter},c.prototype.setTransactionTypeFilter=function(a){this.transactionTypeFilter=a},c.prototype.clearTransactionTypeFilter=function(){this.transactionTypeFilter=null},c.prototype.isFiltered=function(){return this.searchQuery.length>0||null!==this.transactionTypeFilter},c}])},{}],343:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("VoucherFilter",["$filter","BaseSearchableModelFilter",function(a,b){var c=function(){b.call(this),this.searchableAttributes=["code","note"]};return c.prototype=Object.create(b.prototype),c.prototype.constructor=c,c.prototype.test=function(b){if(this.search(b))return!0;var c=this.searchQuery?this.searchQuery.toLowerCase().split(" "):[];if(c.length){if(this.testPhrase(a("voucherCode")(b.get("code")),c))return!0;if(this.testPhrase(a("moment")(1e3*b.get("create_time"),"format","datetime"),c))return!0;var d=b.get("qos_rate_max_down");if(d&&this.testPhrase(a("bps")(1024*d,{isBits:!0}),c))return!0;var e=b.get("qos_rate_max_up");if(e&&this.testPhrase(a("bps")(1024*e,{isBits:!0}),c))return!0;var f=b.get("qos_usage_quota");if(f&&this.testPhrase(a("bytes")(1024*f*1024),c))return!0;var g=b.get("duration");return!(!g||!this.testPhrase(a("seconds")(60*g),c))||!!this.testPhrase(a("voucherStatus")(b),c)}return!0},c}])},{}],344:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("guestUtils",["$q","$translate","apiResults","guests","HotspotMgrModel",function(a,b,c,d,e){this.disconnect=function(a){return this._executeCommand("terminate",a,"GUEST_ACTIONS_DISCONNECT_SUCCESS","GUEST_ACTIONS_DISCONNECT_ERROR")},this.extend=function(a){return this._executeCommand("extend",a,"GUEST_ACTIONS_EXTEND_SUCCESS","GUEST_ACTIONS_EXTEND_ERROR")},this._executeCommand=function(f,g,h,i){var j=new e;return j.save({_id:g.id,cmd:f}).then(function(){return d.refresh().then(function(){return a.when(b.instant(h))})})["catch"](function(d){return a.reject(c.appendErrorMsg(b.instant(i),d))})}}])},{}],345:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("guests",["$translate","BaseCollectionRepository","GuestCollection",function(a,b,c){this.repository=new b(new c),this.refresh=this.repository.refresh.bind(this.repository),this.updateWithin=function(a){this.repository.collection.setWithin(a),this.repository.isRegistered()&&this.repository.refresh()},this.getWithin=function(){return this.repository.collection.getWithin()}}])},{}],346:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("hotspotAnalytics",["_","$q","BaseCollectionRepository","hotspotPackages","hotspotPackageUtils","ReportCollection",function(a,b,c,d,e,f){this.repositories={revenue:new c(new f("hotspotrevenue")),summary:new c(new f("hotspotsummary"))},this.getAllConfiguredCurrencies=e.getAllConfiguredCurrencies.bind(e),this.currency=null,this.interval=null,this.start=null,this.end=null,this.refreshAll=function(){return b.all(a.values(this.repositories).map(function(a){return a.refresh()}))},this.getCurrency=function(){return this.currency},this.setCurrency=function(a){this.currency=a},this.setInterval=function(a){this.interval=a,Object.keys(this.repositories).forEach(function(b){this.repositories[b].collection.setInterval(a)}.bind(this))},this.setDateInterval=function(a,b){this.start=a,this.end=b,Object.keys(this.repositories).forEach(function(c){this.repositories[c].collection.setDateInterval(a,b)}.bind(this))},this.getInterval=function(){return this.interval},this.getStart=function(){return this.start},this.getEnd=function(){return this.end}}])},{}],347:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("hotspotAnalyticsUtils",["$translate",function(a){this.formatAgeRange=function(b){var c;return b.min&&b.max?c="HOTSPOT_ANALYTICS_VALUE_AGE_BETWEEN":b.min?c="HOTSPOT_ANALYTICS_VALUE_AGE_MIN":b.max&&(c="HOTSPOT_ANALYTICS_VALUE_AGE_MAX"),c?a.instant(c,{min:b.min,max:b.max}):""}}])},{}],348:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("hotspotPackageUtils",[function(){this.getAllConfiguredCurrencies=function(a){return a.models.map(function(a){return a.get("currency")}).filter(function(a,b,c){return!!a&&c.indexOf(a)===b})}}])},{}],349:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("GuestModel",["$filter","CORSAssociatedModel","siteUrlMixin","deepCopyMixin","getNestedMixin","webrtcMixin",function(a,b,c,d,e,f){return b.extend(c).extend(d).extend(e).extend(f).extend({idAttribute:"_id",siteUrl:"rest/guest",getDisplayName:function(){return this.get("hostname")||this.get("mac")},getValidUntil:function(){return a("moment")(1e3*this.get("end"),"format","datetime")}})}])},{}],350:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("OperatorModel",["CORSAssociatedModel","siteUrlMixin","deepCopyMixin","getNestedMixin","webrtcMixin",function(a,b,c,d,e){return a.extend(b).extend(c).extend(d).extend(e).extend({idAttribute:"_id",siteUrl:"rest/hotspotop"})}])},{}],351:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("PrintHotspotVouchers",["CORSModel","site","UnifiPrintBasePath","webrtcMixin",function(a,b,c,d){return a.extend(d).extend({idAttribute:"_id",dataType:"html",url:function(){var a=b.getActiveSite();if(!a)throw new Error("Cannot call without a site name");var d=[c,"hotspot/vouchers","s",a].join("/"),e=this.get("create_time");return e?d+="?create_time="+e:this.id&&(d+="?id="+this.id),d}})}])},{}],352:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("TransactionModel",["$filter","CORSAssociatedModel","siteUrlMixin","deepCopyMixin","getNestedMixin","webrtcMixin",function(a,b,c,d,e,f){return b.extend(c).extend(d).extend(e).extend(f).extend({idAttribute:"_id",siteUrl:"rest/payment",isSocial:function(){return["facebook"].indexOf(this.get("gateway"))!==-1}})}])},{}],353:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").factory("VoucherModel",["CORSAssociatedModel","siteUrlMixin","deepCopyMixin","getNestedMixin","webrtcMixin",function(a,b,c,d,e){return a.extend(b).extend(c).extend(d).extend(e).extend({idAttribute:"_id",siteUrl:"stat/voucher"})}])},{}],354:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("operators",["$q","$translate","BaseCollectionRepository","OperatorCollection","apiResults",function(a,b,c,d,e){this.repository=new c(new d),this.batches=[],this.save=function(c){return c.save().then(function(){return this.repository.refresh().then(function(){return a.when(b.instant("OPERATOR_ACTIONS_CREATE_SUCCESS"))})}.bind(this))["catch"](function(c){return a.reject(e.appendErrorMsg(b.instant("OPERATOR_ACTIONS_CREATE_ERROR"),c))})},this.remove=function(c){return c.destroy({wait:!0}).then(function(){return a.when(b.instant("OPERATOR_ACTIONS_DELETE_SUCCESS",{name:c.get("name")}))})["catch"](function(d){return a.reject(e.appendErrorMsg(b.instant("OPERATOR_ACTIONS_DELETE_ERROR",{name:c.get("name")}),d))})}}])},{}],355:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("paymentUtils",["$q","$translate","apiResults","HotspotMgrModel","transactions",function(a,b,c,d,e){this.refund=function(f){var g=new d;return g.save({_id:f.id,cmd:"refund"}).then(function(){return e.refresh().then(function(){return a.when(b.instant("PAYMENT_ACTIONS_REFUND_SUCCESS"))})})["catch"](function(d){return a.reject(c.appendErrorMsg(b.instant("PAYMENT_ACTIONS_REFUND_ERROR"),d))})}}])},{}],356:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("hotspotResolver",["$q","translateResolver","webrtcResolver",function(a,b,c){this.resolve=function(){return a.all([b.resolve("modules","hotspot"),c.resolve()])}}])},{}],357:[function(a,b,c){"use strict";function d(a,b,c){this.localStorageKey="columnStore:transactions",this.columnOptions=[{id:"datetime",translationKey:"PAYMENT_TABLE_HEADER_TIME"},{id:"last_name",translationKey:"PAYMENT_TABLE_HEADER_LAST_NAME"},{id:"first_name",translationKey:"PAYMENT_TABLE_HEADER_FIRST_NAME"},{id:"email",translationKey:"PAYMENT_TABLE_HEADER_EMAIL"},{id:"gateway",translationKey:"PAYMENT_TABLE_HEADER_GATEWAY"},{id:"package",translationKey:"PAYMENT_TABLE_HEADER_PACKAGE"},{id:"amount",translationKey:"PAYMENT_TABLE_HEADER_AMOUNT"},{id:"info",translationKey:"PAYMENT_TABLE_HEADER_EXTRA_INFO"},{id:"status",translationKey:"PAYMENT_TABLE_HEADER_STATUS"},{id:"actions",translationKey:"PAYMENT_TABLE_HEADER_ACTIONS"}],this.columnPresets=[{id:"all",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_ALL"},{id:"payments",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_PAYMENTS"},{id:"social",translationKey:"PAYMENT_FILTER_TRANSACTION_TYPE_SOCIAL"}],this.views={all:["datetime","last_name","first_name","package","amount","info","gateway","status","actions"],payments:["datetime","last_name","first_name","package","amount","info","status","actions"],social:["datetime","last_name","first_name","email","status"]},e.call(this,a,b,c)}var e=a("../../base-unifi/services/BaseListColumnStore");d.prototype=Object.create(e.prototype),d.constructor=d,d.prototype.setColumnGroup=function(a){this.columnGroup=a},d.prototype.getPredefinedColumns=function(){return this.columnGroup?this.views[this.columnGroup]:this.views.all},d.prototype.setColumns=function(){this.isCustomized?e.prototype.setColumns.call(this):this.columns=this.getPredefinedColumns()},d.prototype.setColumnPreset=function(a){var b="allColumns"===a?this.getAllColumns():this.views[a];b&&b.length&&(this.clearSelectedColumns(),this.columns=b,this.setCustomized(!0),this.saveColumns())},d.$inject=["localStorageFailSafe","LocalStorageObjectValue","LocalStorageBooleanValue"],angular.module("app-unifi-hotspot").service("transactionListColumnStore",d)},{"../../base-unifi/services/BaseListColumnStore":536}],358:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("transactions",["BaseCollectionRepository","TransactionCollection",function(a,b){this.repository=new a(new b),this.refresh=this.repository.refresh.bind(this.repository),this.updateWithin=function(a){this.repository.collection.setWithin(a),this.repository.isRegistered()&&this.repository.refresh()},this.getWithin=function(){return this.repository.collection.getWithin()}}])},{}],359:[function(a,b,c){"use strict";angular.module("app-unifi-hotspot").service("vouchers",["_","$filter","$translate","$q","$window","BaseCollectionRepository","HotspotMgrModel","PrintHotspotVouchers","VoucherCollection","voucherUtils","apiResults",function(a,b,c,d,e,f,g,h,i,j,k){this.repository=new f(new i),this.batches=[],this.repository.fetch=function(a){return f.prototype.fetch.call(this.repository,a).then(this._calculateBatches.bind(this))}.bind(this),this.revoke=function(a){var b=new g;return b.save({_id:a.id,cmd:"delete-voucher"}).then(function(){return this.repository.collection.remove(a),this._calculateBatches(),d.when(c.instant("VOUCHER_ACTIONS_REVOKE_SUCCESS",{code:j.formatCode(a.get("code"))}))}.bind(this))["catch"](function(b){return d.reject(k.appendErrorMsg(c.instant("VOUCHER_ACTIONS_REVOKE_ERROR",{code:j.formatCode(a.get("code"))}),b))})},this.save=function(a){var b=new g({cmd:"create-voucher"});return b.save(a).then(function(){return this.repository.refresh().then(function(){return d.when(c.instant("VOUCHER_ACTIONS_CREATE_SUCCESS"))})}.bind(this))["catch"](function(a){return d.reject(k.appendErrorMsg(c.instant("VOUCHER_ACTIONS_CREATE_ERROR"),a))})},this.printVouchers=function(b){return new h(b).fetch().then(function(b){var c=b.data&&a.isArray(b.data.data)?b.data.data[0]:b.data,d=new e.Blob([c],{type:"text/html"}),f=e.URL.createObjectURL(d);e.open(f)})["catch"](function(){return d.reject(c.instant("VOUCHER_ACTIONS_PRINT_ERROR"))})},this._calculateBatches=function(){var c=a.uniq(this.repository.collection.toArray(),!1,function(a){return a.get("create_time")});this.batches=c.map(function(a){var c=a.get("create_time");return{createTime:c,name:b("moment")(1e3*c,"format","datetime")}})}}])},{}],360:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="blackout unifiOperatorCreate"><div id="operatorCreateModal" class="appControlModal appControlModal--tiny"><div frame-close="createOperator" class="appControlModal__close"><div class="icon ubnt-icon--x"></div></div><div translate="OPERATOR_CREATE_MODAL_TITLE" class="appControlModal__header"></div><div class="appControlModal__content"><form novalidate autocomplete="off" name="operatorCreateCtrl.form" ng-class="{          \'is-form-validation-visible\': operatorCreateCtrl.showValidation,          \'is-validation-hidden\': !operatorCreateCtrl.showValidation        }" ng-submit="operatorCreateCtrl.form.$valid &amp;&amp; operatorCreateCtrl.save()" class="appForm appForm--cozy appForm--dark"><div class="container container--centered container--fixed"><div class="row"><div class="col--xs4 label--right"><label translate="OPERATOR_CREATE_LABEL_NAME" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><input type="text" name="name" ng-model="operatorCreateCtrl.operator.attributes.name" required autofocus class="input--full"></div></div><div class="row"><div class="col--xs4 label--right"><label translate="OPERATOR_CREATE_LABEL_PASSWORD" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><input type="text" name="x_password" ng-model="operatorCreateCtrl.operator.attributes.x_password" required class="input--full"></div></div><div class="row row--comfy"><div class="col--xs4 label--right"><label translate="OPERATOR_CREATE_LABEL_NOTES" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><input type="text" ng-model="operatorCreateCtrl.operator.attributes.note" class="input--full"></div></div><div class="row"><div class="col--xs12 alignRight"><span class="appInputGroup"><button type="button" ng-click="operatorCreateCtrl.cancel()" class="appMainButton appMainButton--cozy appMainButton--transparentDark">{{\'COMMON_ACTIONS_CANCEL\' | translate}}</button><button ng-click="operatorCreateCtrl.showValidation = true" busy-toggle="operatorCreateCtrl.isSaving" busy-toggle-spinner-classes="[\'appSpinner appSpinner--light appSpinner--centered appSpinner--small\']" class="appMainButton appMainButton--cozy appMainButton--primary">{{\'COMMON_ACTIONS_SAVE\' | translate}}</button></span></div></div></div></form></div></div></div>'),b.join("")}},{"jade/runtime":233}],361:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="blackout unifiVouchersCreate"><div id="vouchersCreateModal" class="appControlModal appControlModal--small"><div frame-close="createVouchers" class="appControlModal__close"><div class="icon ubnt-icon--x"></div></div><div translate="VOUCHER_CREATE_MODAL_TITLE" class="appControlModal__header"></div><div class="appControlModal__content"><form novalidate autocomplete="off" name="vouchersCreateCtrl.form" ng-class="{          \'is-form-validation-visible\': vouchersCreateCtrl.showValidation,          \'is-validation-hidden\': !vouchersCreateCtrl.showValidation        }" ng-submit="vouchersCreateCtrl.form.$valid &amp;&amp; vouchersCreateCtrl.save()" class="appForm appForm--cozy appForm--dark"><div class="container container--centered container--fixed"><div class="row"><div class="col--xs4 label--right"><label translate="VOUCHER_CREATE_LABEL_CREATE" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="number" name="number" size="5" title="{{\'VOUCHER_CREATE_TITLE_NUMBER_OF_VOUCHERS\' | translate}}" ng-model="vouchersCreateCtrl.voucherAttrs.n" min="1" max="10000" required autofocus></div><div class="appInputGroup appInputGroup--cozy inlineBlock"><select name="quota" ng-model="vouchersCreateCtrl.voucherAttrs.quota"><option value="1" translate="VOUCHER_CREATE_OPTION_QUOTA_ONE_TIME"></option><option value="0" translate="VOUCHER_CREATE_OPTION_QUOTA_MULTI_USE"></option></select></div></div><div ng-show="vouchersCreateCtrl.form.number.$invalid &amp;&amp; vouchersCreateCtrl.showValidation" translate="VOUCHER_CREATE_INPUT_FEEDBACK_COUNT" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs4 label--right"><label translate="VOUCHER_CREATE_LABEL_EXPIRATION_TIME" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div class="appInputGroup appInputGroup--cozy inlineBlock"><select name="expire" ng-model="vouchersCreateCtrl.voucherAttrs.expire"><option value="480"><span>{{ \'DATETIME_HOURS_FULL_PARAMETERIZED\' | translate:{hours: 8} }}</span></option><option value="1440"><span>{{ \'DATETIME_HOURS_FULL_PARAMETERIZED\' | translate:{hours: 24} }}</span></option><option value="2880"><span>{{ \'DATETIME_DAYS_FULL_PARAMETERIZED\' | translate:{days: 2} }}</span></option><option value="4320"><span>{{ \'DATETIME_DAYS_FULL_PARAMETERIZED\' | translate:{days: 3} }}</span></option><option value="5760"><span>{{ \'DATETIME_DAYS_FULL_PARAMETERIZED\' | translate:{days: 4} }}</span></option><option value="10080"><span>{{ \'DATETIME_DAYS_FULL_PARAMETERIZED\' | translate:{days: 7} }}</span></option><option value="custom"><span>{{ \'VOUCHER_CREATE_OPTION_CUSTOM\' | translate }}</span></option></select></div><div ng-if="vouchersCreateCtrl.voucherAttrs.expire === \'custom\'" class="appInputGroup appInputGroup--cozy inlineBlock"><input type="number" name="expire_number" title="{{\'VOUCHER_CREATE_TITLE_NUMBER\' | translate}}" ng-model="vouchersCreateCtrl.voucherAttrs.expire_number" ng-required="vouchersCreateCtrl.voucherAttrs.expire === \'custom\'" min="1" max="1000000"></div><div ng-if="vouchersCreateCtrl.voucherAttrs.expire === \'custom\'" class="appInputGroup appInputGroup--cozy inlineBlock"><select name="expire_unit" ng-model="vouchersCreateCtrl.voucherAttrs.expire_unit"><option value="1" translate="DATETIME_MINUTES_FULL"></option><option value="60" translate="DATETIME_HOURS_FULL"></option><option value="1440" translate="DATETIME_DAYS_FULL"></option></select></div></div><div ng-show="vouchersCreateCtrl.form.expire_number.$invalid &amp;&amp; vouchersCreateCtrl.showValidation" translate="VOUCHER_CREATE_INPUT_FEEDBACK_EXPIRATION" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs4 label--right"><label for="limitDownload" translate="VOUCHER_CREATE_LABEL_LIMIT_DOWNLOAD" class="appLabel--primary"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="checkbox" id="limitDownload" ng-model="vouchersCreateCtrl.limits.isDownload"><label for="limitDownload" translate="VOUCHER_CREATE_LABEL_LIMITED_TO"></label></div><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="number" name="down" min="{{vouchersCreateCtrl.limits.isDownload ? 2 : \'\'}}" max="{{vouchersCreateCtrl.limits.isDownload ? 102400 : \'\'}}" ng-model="vouchersCreateCtrl.voucherAttrs.down" ng-disabled="!vouchersCreateCtrl.limits.isDownload" ng-required="vouchersCreateCtrl.limits.isDownload" class="unifiVouchers__limitInput"><label ng-class="{\'is-label-disabled\': !vouchersCreateCtrl.limits.isDownload}">Kbps</label></div></div><div ng-show="vouchersCreateCtrl.form.down.$invalid &amp;&amp; vouchersCreateCtrl.showValidation" translate="VOUCHER_CREATE_INPUT_FEEDBACK_DOWNLOAD" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs4 label--right"><label for="limitUpload" translate="VOUCHER_CREATE_LABEL_LIMIT_UPLOAD" class="appLabel--primary"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="checkbox" id="limitUpload" ng-model="vouchersCreateCtrl.limits.isUpload"><label for="limitUpload" translate="VOUCHER_CREATE_LABEL_LIMITED_TO"></label></div><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="number" name="up" min="{{vouchersCreateCtrl.limits.isUpload ? 2 : \'\'}}" max="{{vouchersCreateCtrl.limits.isUpload ? 102400 : \'\'}}" ng-model="vouchersCreateCtrl.voucherAttrs.up" ng-disabled="!vouchersCreateCtrl.limits.isUpload" ng-required="vouchersCreateCtrl.limits.isUpload" class="unifiVouchers__limitInput"><label ng-class="{\'is-label-disabled\': !vouchersCreateCtrl.limits.isUpload}">Kbps</label></div></div><div ng-show="vouchersCreateCtrl.form.up.$invalid &amp;&amp; vouchersCreateCtrl.showValidation" translate="VOUCHER_CREATE_INPUT_FEEDBACK_UPLOAD" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs4 label--right"><label for="byteQuota" translate="VOUCHER_CREATE_LABEL_BYTE_QUOTA" class="appLabel--primary"></label></div><div class="col--xs8 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="checkbox" id="byteQuota" ng-model="vouchersCreateCtrl.limits.isByteQuota"><label for="byteQuota" translate="VOUCHER_CREATE_LABEL_LIMITED_TO"></label></div><div class="appInputGroup appInputGroup--cozy inlineBlock"><input type="number" name="byteQuota" min="{{vouchersCreateCtrl.limits.isByteQuota ? 1 : \'\'}}" max="{{vouchersCreateCtrl.limits.isByteQuota ? 1048576 : \'\'}}" ng-model="vouchersCreateCtrl.voucherAttrs.bytes" ng-disabled="!vouchersCreateCtrl.limits.isByteQuota" ng-required="vouchersCreateCtrl.limits.isByteQuota" class="unifiVouchers__limitInput"><label ng-class="{\'is-label-disabled\': !vouchersCreateCtrl.limits.isByteQuota}">MBytes</label></div></div><div ng-show="vouchersCreateCtrl.form.byteQuota.$invalid &amp;&amp; vouchersCreateCtrl.showValidation" translate="VOUCHER_CREATE_INPUT_FEEDBACK_BYTE_QUOTA" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row row--comfy"><div class="col--xs4 label--right"><label translate="VOUCHER_CREATE_LABEL_NOTES" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs8 col--sm6 appFormGroup appFormGroup--cozy"><input type="text" ng-model="vouchersCreateCtrl.voucherAttrs.note" class="input--full"></div></div><div class="row"><div class="col--xs12 alignRight"><div class="appInputGroup"><button type="button" ng-click="vouchersCreateCtrl.cancel()" class="appMainButton appMainButton--cozy appMainButton--transparentDark">{{\'COMMON_ACTIONS_CANCEL\' | translate}}</button><button ng-click="vouchersCreateCtrl.showValidation = true" busy-toggle="vouchersCreateCtrl.isSaving" busy-toggle-spinner-classes="[\'appSpinner appSpinner--light appSpinner--centered appSpinner--small\']" class="appMainButton appMainButton--cozy appMainButton--primary">{{\'COMMON_ACTIONS_SAVE\' | translate}}</button></div></div></div></div></form></div></div></div>'),b.join("")}},{"jade/runtime":233}],362:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.join("")}},{"jade/runtime":233}],363:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div id="contentContainer" class="appView"><ui-view></ui-view></div>'),b.join("")}},{"jade/runtime":233}],364:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<ui-view></ui-view><unifi-browser-warning></unifi-browser-warning>"),b.join("")}},{"jade/runtime":233}],365:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appView appView--panelLayout"><div class="appViewCenterPanel flexFlag flexFlag--vertical"><div class="appActionBar appActionBar--cozy appActionBar--flexible appActionBar--centerPanel"><div class="appActionBar__inner"><div class="appActionBar__left"><div class="appActionBarFilters"><div class="appActionBarFilter"><unifi-time-interval-selector unifi-time-interval-selector-init-value="analyticsCtrl.hotspotAnalytics.getInterval()" unifi-time-interval-selector-on-change="analyticsCtrl.hotspotAnalytics.setInterval(interval)"></unifi-time-interval-selector></div><div class="appActionBarFilter appActionBarFilter--noBorder"><unifi-date-interval-selector unifi-date-interval-selector-value="analyticsCtrl.hotspotAnalytics.interval.value" unifi-date-interval-selector-unit="analyticsCtrl.hotspotAnalytics.interval.unit" unifi-date-interval-selector-start="analyticsCtrl.hotspotAnalytics.start" unifi-date-interval-selector-end="analyticsCtrl.hotspotAnalytics.end" unifi-date-interval-selector-on-change="analyticsCtrl.updateDateInterval(start, end)"></unifi-date-interval-selector></div></div></div></div></div><div class="appScrollable appScrollable--centerPanel flexFlag__body"><unifi-loading-status unifi-loading-status-is-loading="analyticsCtrl.hotspotAnalytics.isLoading &amp;&amp; analyticsCtrl.showLoader" unifi-loading-status-is-medium="true"></unifi-loading-status><div class="unifiSmartMarginContainer verticalRhythmTop--cozy unifiHotspotAnalyticsContainer"><div class="container"><div class="row row--comfy"><div class="col--md4"><div class="appSubHeading appSubHeading--standalone">{{\'HOTSPOT_ANALYTICS_SECTION_NEW_VS_RETURNING\' | translate}}</div><unifi-new-vs-returning-graph></unifi-new-vs-returning-graph></div><div class="col--md4"><div class="appSubHeading appSubHeading--standalone">{{\'HOTSPOT_ANALYTICS_SECTION_AUTH_METHOD\' | translate}}</div><unifi-authentication-method-graph></unifi-authentication-method-graph></div><div class="col--md4"><div class="appSubHeading appSubHeading--standalone">{{\'HOTSPOT_ANALYTICS_SECTION_OVERVIEW\' | translate}}</div><unifi-hotspot-analytics-overview></unifi-hotspot-analytics-overview></div></div><!-- Revenue--><div class="row row--comfy"><div class="col--md12"><div class="appSubHeading appSubHeading--standalone">{{\'HOTSPOT_ANALYTICS_SECTION_REVENUE\' | translate}}</div><unifi-revenue-chart></unifi-revenue-chart></div></div><!-- Demography--><div class="row row--comfy"><div class="col--md6"><div class="appSubHeading">{{\'HOTSPOT_ANALYTICS_SECTION_DEMOGRAPHY\' | translate}}</div><unifi-subtabs unifi-subtabs-items="analyticsCtrl.ANALYTICS_SUBTABS.DEMOGRAPHY" unifi-subtabs-selected-tab="analyticsCtrl.demographySubTab" unifi-subtabs-is-responsive="true"></unifi-subtabs><div ng-switch="analyticsCtrl.demographySubTab.id"><unifi-countries-graph ng-switch-when="countries"></unifi-countries-graph><unifi-age-graph ng-switch-when="age"></unifi-age-graph><unifi-sex-graph ng-switch-when="sex"></unifi-sex-graph><unifi-languages-table ng-switch-when="languages"></unifi-languages-table></div></div><div class="col--md6"><div class="appSubHeading">{{\'HOTSPOT_ANALYTICS_SECTION_TECHNICAL\' | translate}}</div><unifi-subtabs unifi-subtabs-items="analyticsCtrl.ANALYTICS_SUBTABS.TECHNICAL" unifi-subtabs-selected-tab="analyticsCtrl.technicalSubTab" unifi-subtabs-is-responsive="true"></unifi-subtabs></div></div></div></div></div></div></div>'),
b.join("")}},{"jade/runtime":233}],366:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<unifi-guest-list></unifi-guest-list>"),b.join("")}},{"jade/runtime":233}],367:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<unifi-operator-list></unifi-operator-list>"),b.join("")}},{"jade/runtime":233}],368:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<unifi-transaction-list></unifi-transaction-list>"),b.join("")}},{"jade/runtime":233}],369:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<unifi-voucher-list></unifi-voucher-list>"),b.join("")}},{"jade/runtime":233}],370:[function(a,b,c){"use strict";angular.module("base-unifi").directive("autofocus",["$timeout",function(a){return{restrict:"A",link:function(b,c){a(function(){c[0].focus()},0)}}}])},{}],371:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div dialog-layout="{{layout}}" class="blackout"><div frame-close-prevent-bubble="{{layout}}" frame-close-enable-esc="{{layout}}" class="blackout__inner"><div dialog-window class="frame appModal"><div dialog-content class="modal__content"></div><div dialog-placeholder class="modal__content"><div class="modal__loading"><div class="appSpinner appSpinner--medium appSpinner--centered"></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],372:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiBlackoutModal",["$compile",function(b){return{scope:{layout:"@unifiBlackoutModalLayout"},replace:!0,template:"<div></div>",link:function(c,d){var e=a("./blackoutModal.jade")();e=e.replace(/{{layout}}/g,c.layout),d.html(e),b(d.contents())(c)}}}])},{"./blackoutModal.jade":371}],373:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiBowser",["bowser",function(a){return{restrict:"A",link:function(b,c){a.msie&&c.addClass("is-msie"),a.safari&&c.addClass("is-safari"),a.mobile&&c.addClass("is-mobile"),a.tablet&&c.addClass("is-tablet"),a.mobile||a.tablet||c.addClass("is-desktop")}}}])},{}],374:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiBrowserWarning",["$translate","bowser","bypass","heyToasts",function(a,b,c,d){return{link:function(){var e="bypassBrowserWarning",f=0,g=b.chrome||b.firefox;g||c.isEnabled(e)||d.pushWarning(a.instant("COMMON_TOAST_NOT_SUPPORTED_BROWSER_WARNING"),f).then(function(){c.enable(e,!0)})}}}])},{}],375:[function(a,b,c){"use strict";function d(a,b,c){this.$timeout=a,this.bypass=b,this.preferences=c}d.prototype.updateBypassPreferences=function(){this.bypassFlag&&(this.enableBypass?this.bypass.enable(this.bypassFlag):this.bypass.disable(this.bypassFlag)).then(function(){this.onSuccess()}.bind(this))},d.prototype.onSuccess=function(){this.clearNotification&&this.$timeout.cancel(this.clearNotification),this.isSaveSuccessful=!0,this.clearNotification=this.$timeout(function(){this.isSaveSuccessful=void 0}.bind(this),800)},d.$inject=["$timeout","bypass","preferences"],angular.module("base-unifi").controller("BypassConfirmController",d)},{}],376:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<form ng-if="bypassConfirmCtrl.bypassFlag" ng-class="::{    \'appForm--dark\': bypassConfirmCtrl.isDark  }" novalidate class="appForm appForm--cozy"><div class="appInputGroup iconText appIconText"><input type="checkbox" name="enableBypass" id="enableBypass{{directiveId}}" ng-model="bypassConfirmCtrl.enableBypass" ng-change="bypassConfirmCtrl.updateBypassPreferences()"><label for="enableBypass{{directiveId}}" class="iconText__text noMarginRight">{{ bypassConfirmCtrl.label || \'COMMON_VALUE_BYPASS_CONFIRM\' | translate }}</label><icon ng-if="bypassConfirmCtrl.isSaveSuccessful" class="iconText__icon ubnt-icon--check-circle-fill success"></icon></div></form>'),b.join("")}},{"jade/runtime":233}],377:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiBypassConfirm",[function(){return{scope:{bypassFlag:"=unifiBypassConfirm",isDark:"=?unifiBypassConfirmIsDark",label:"=?unifiBypassConfirmLabel"},controller:"BypassConfirmController",controllerAs:"bypassConfirmCtrl",bindToController:!0,template:a("./bypassConfirm.jade")(),link:function(a){a.directiveId=a.$id}}}])},{"./bypassConfirm.jade":376}],378:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiCollapsibleTableIcon",["localStorageFailSafe","LocalStorageBooleanValue",function(b,c){return{template:a("./collapsibleTableIcon.jade")(),link:function(a,d,e){var f=a.$eval(e.unifiCollapsibleTableIcon);a.storage=new c(b,f),a.storage.hydrate(),d.on("click",function(b){b.preventDefault(),a.storage.setValue(!a.storage.getValue())})}}}]),angular.module("base-unifi").directive("unifiCollapsibleTableCell",["localStorageFailSafe","LocalStorageBooleanValue",function(a,b){return{link:function(c,d,e){var f=c.$eval(e.unifiCollapsibleTableCell),g=c.$eval(e.unifiCollapsibleTableCellBindOnce);c.storage=new b(a,f);var h=c.$watch(function(){return c.storage.hydrate(),c.storage.getValue()},function(a){a?d.addClass("is-collapsed"):d.removeClass("is-collapsed"),g&&(h(),delete c.storage)})}}}])},{"./collapsibleTableIcon.jade":379}],379:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<div ng-attr-title=\"{{storage.getValue() ? 'COMMON_LIST_COLUMN_ACTION_EXPAND' : 'COMMON_LIST_COLUMN_ACTION_COLLAPSE' | translate}}\" class=\"appTable__collapseIcon icon ubnt-icon--arrows-range\"></div>"),b.join("")}},{"jade/runtime":233}],380:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiCondensed",["preferences",function(a){return{restrict:"A",link:function(b,c,d){var e=function(a){a?(c.removeClass(d.unifiCondensedOff),c.addClass(d.unifiCondensed)):(c.removeClass(d.unifiCondensed),c.addClass(d.unifiCondensedOff))};b.$watch(function(){return a.model.get("isCondensed")},e)}}}])},{}],381:[function(a,b,c){"use strict";function d(a,b,c){this.addEventListeners(a,b),this.addEventListeners(a,c),a.$on("$stateChangeSuccess",function(){this.status=null}.bind(this))}d.prototype.addEventListeners=function(a,b){Object.keys(b).forEach(function(c){var d=b[c];a.$on(d,function(){this.status="CONNECTION_STATUS_"+d}.bind(this))}.bind(this))},d.$inject=["$scope","UNIFI_WEBRTC_EVENTS","WEBRTC_EVENTS"],angular.module("base-unifi").controller("ConnectionStatusController",d)},{}],382:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<p ng-show="connectionStatusCtrl.status" translate="{{connectionStatusCtrl.status}}" class="verticalRhythmTop--cozy"></p>'),b.join("")}},{"jade/runtime":233}],383:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiConnectionStatus",[function(){return{controller:"ConnectionStatusController",controllerAs:"connectionStatusCtrl",template:a("./connectionStatus.jade")(),replace:!0,bindToController:!0}}])},{"./connectionStatus.jade":382}],384:[function(a,b,c){"use strict";function d(a){this.scope=a}d.prototype.setElement=function(a){this.element=a},d.prototype.setElementCoords=function(a){this.elementCoords=a},d.prototype.setContainer=function(a){if(!a)throw new Error("Invalid container");this.container=a},d.prototype.setContainerCoords=function(a){a.width||(a.width=a.right-a.left),a.height||(a.height=a.bottom-a.top),this.containerCoords=a},d.prototype.getBoundingClientRect=function(a){var b=a.getBoundingClientRect();return{top:Math.floor(b.top),right:Math.floor(b.right),bottom:Math.floor(b.bottom),left:Math.floor(b.left),width:Math.floor(b.width),height:Math.floor(b.height)}},d.prototype.addWatchers=function(){this.watchBoundingRects=this.scope.$watch(function(){return{element:this.getBoundingClientRect(this.element[0]),container:this.container?this.getBoundingClientRect(this.container):void 0}}.bind(this),function(a){a.container&&this.setContainerCoords(a.container),this.setElementCoords(a.element),this.constrainPosition()}.bind(this),!0)},d.prototype.removeWatchers=function(){this.watchBoundingRects&&this.watchBoundingRects()},d.prototype.constrainPosition=function(){var a,b;this.elementCoords.right>this.containerCoords.right?a=this.elementCoords.width<=this.containerCoords.width?this.containerCoords.right-this.elementCoords.right:this.containerCoords.left-this.elementCoords.left:this.elementCoords.left<this.containerCoords.left&&(a=this.containerCoords.left-this.elementCoords.left),this.elementCoords.bottom>this.containerCoords.bottom?b=this.elementCoords.height<=this.containerCoords.height?this.containerCoords.bottom-this.elementCoords.bottom:this.containerCoords.top-this.elementCoords.top:this.elementCoords.top<this.containerCoords.top&&(b=this.containerCoords.top-this.elementCoords.top),(a||b)&&this.element.css({left:parseInt(this.element.css("left"),10)+(a||0)+"px",top:parseInt(this.element.css("top"),10)+(b||0)+"px"})},d.$inject=["$scope"],angular.module("base-unifi").controller("ConstrainPositionController",d)},{}],385:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiConstrainPosition",["$timeout","$document",function(a,b){return{priority:10,controller:"ConstrainPositionController",controllerAs:"constrainPositionCtrl",link:function(c,d,e,f){a(function(){f.setElement(d),e.unifiConstrainPositionSelector?f.setContainer(b.find("body")[0].querySelector(e.unifiConstrainPositionSelector)):f.setContainerCoords({top:parseInt(e.unifiConstrainPositionTop,10),right:parseInt(e.unifiConstrainPositionRight,10),bottom:parseInt(e.unifiConstrainPositionBottom,10),left:parseInt(e.unifiConstrainPositionLeft,10)}),c.$watch(e.unifiConstrainPositionIsDisabled,function(b){b?f.removeWatchers():a(function(){f.addWatchers()},100)})},0)}}}])},{}],386:[function(a,b,c){"use strict";function d(a){this.displayFormat||(this.displayFormat=a.model.get("dateFormat")||"YYYY/MMM/DD"),this.applyStartDate()}var e=a("moment");d.prototype.MODEL_DATE_FORMAT="x",d.prototype.parseInt=parseInt,Object.defineProperty(d.prototype,"start",{get:function(){return this.preventFuture(),this.pikadayStart},set:function(a){this.pikadayStart=a,this.applyStartDate()}}),Object.defineProperty(d.prototype,"end",{get:function(){return this.preventFuture(),void 0!==this.intervalValue?e(this.pikadayStart,this.MODEL_DATE_FORMAT).add(this.intervalValue,this.intervalUnit).format(this.MODEL_DATE_FORMAT):this.pikadayEnd},set:function(a){this.pikadayEnd=a,this.preventFuture()}}),Object.defineProperty(d.prototype,"intervalValue",{get:function(){return this._intervalValue},set:function(a){this._intervalValue=a,this.applyStartDate()}}),Object.defineProperty(d.prototype,"intervalUnit",{get:function(){return this._intervalUnit},set:function(a){this._intervalUnit=a,this.applyStartDate()}}),d.prototype.applyStartDate=function(){void 0!==this.intervalValue&&void 0!==this.pikadayStart&&(this.endDateEnabled=e.duration(this.intervalValue,this.intervalUnit).subtract(1,"day").as("seconds")>0,this.pikadayEnd=e(this.pikadayStart,this.MODEL_DATE_FORMAT).add(this.intervalValue,this.intervalUnit).format(this.MODEL_DATE_FORMAT),this.preventFuture())},d.prototype.preventFuture=function(){var a=e().add(1,"day").startOf("day").format(this.MODEL_DATE_FORMAT);this.endDateEnabled&&this.pikadayEnd>a&&(this.pikadayEnd=a,this.applyEndDate())},d.prototype.applyEndDate=function(){void 0!==this.intervalValue&&void 0!==this.pikadayEnd&&(this.pikadayStart=e(this.pikadayEnd,this.MODEL_DATE_FORMAT).subtract(this.intervalValue,this.intervalUnit).format(this.MODEL_DATE_FORMAT))},d.prototype.shiftTimeSlotForward=function(){this._shiftTimeSlot("add"),this.preventFuture()},d.prototype.shiftTimeSlotBackward=function(){this._shiftTimeSlot("subtract")},d.prototype._shiftTimeSlot=function(a){this.pikadayStart=e(this.pikadayStart,this.MODEL_DATE_FORMAT)[a](1,"day").format(this.MODEL_DATE_FORMAT),void 0!==this.intervalValue&&(this.pikadayEnd=e(this.pikadayStart,this.MODEL_DATE_FORMAT).add(this.intervalValue,this.intervalUnit).format(this.MODEL_DATE_FORMAT))},d.$inject=["preferences"],angular.module("base-unifi").controller("DateIntervalSelectorController",d)},{moment:238}],387:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<ul class="unifiDateIntervalSelector buttonGroup buttonGroup--shrink appMainButtonGroup appMainButtonGroup--filter appMainButtonGroup--cozy appDateIntervalInput"><li ng-click="dateIntervalSelectorCtrl.shiftTimeSlotBackward()" class="button appMainButton appMainButton--cozy noPaddingRight is-button-selected">&lt;</li><li class="button appMainButton appMainButton--cozy is-button-selected"><span class="button__icon icon ubnt-icon--calendar-3"></span><div class="appForm--dark appForm--cozy inlineBlock unifiDateIntervalSelector__pikadayContainer"><input type="text" ng-model="dateIntervalSelectorCtrl.pikadayStart" ng-change="dateIntervalSelectorCtrl.applyStartDate()" pikaday pikaday-format="dateIntervalSelectorCtrl.MODEL_DATE_FORMAT" pikaday-class="\'appPikaday\'" class="button appMainButton appMainButton--cozy appDateIntervalInputButton unifiDateIntervalSelector__pikadayButton"><input type="text" value="{{ dateIntervalSelectorCtrl.parseInt(dateIntervalSelectorCtrl.pikadayStart) | moment: (dateIntervalSelectorCtrl.useUtc ? [\'utc\', \'format\'] : \'format\' ): dateIntervalSelectorCtrl.displayFormat }}" class="button appMainButton appMainButton--cozy appDateIntervalInputButton noPointerEvents"></div><div ng-if="dateIntervalSelectorCtrl.endDateEnabled" class="appForm--dark appForm--cozy inlineBlock unifiDateIntervalSelector__pikadayContainer"><input type="text" ng-model="dateIntervalSelectorCtrl.pikadayEnd" ng-change="dateIntervalSelectorCtrl.applyEndDate()" pikaday pikaday-format="dateIntervalSelectorCtrl.MODEL_DATE_FORMAT" pikaday-class="\'appPikaday\'" class="button appMainButton appMainButton--cozy appDateIntervalInputButton unifiDateIntervalSelector__pikadayButton"><input type="text" value="{{ dateIntervalSelectorCtrl.parseInt(dateIntervalSelectorCtrl.pikadayEnd) | moment: (dateIntervalSelectorCtrl.useUtc ? [\'utc\', \'format\'] : \'format\' ): dateIntervalSelectorCtrl.displayFormat }}" class="button appMainButton appMainButton--cozy appDateIntervalInputButton noPointerEvents"></div></li><li ng-click="dateIntervalSelectorCtrl.shiftTimeSlotForward()" class="button appMainButton appMainButton--cozy noPaddingLeft is-button-selected">&gt;</li></ul>'),b.join("")}},{"jade/runtime":233}],388:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDateIntervalSelector",[function(){return{controller:"DateIntervalSelectorController",controllerAs:"dateIntervalSelectorCtrl",template:a("./dateIntervalSelector.jade")(),restrict:"E",scope:{start:"=unifiDateIntervalSelectorStart",end:"=unifiDateIntervalSelectorEnd",intervalValue:"=unifiDateIntervalSelectorValue",intervalUnit:"=unifiDateIntervalSelectorUnit",onChange:"&unifiDateIntervalSelectorOnChange",displayFormat:"@unifiDateIntervalSelectorDisplayFormat",useUtc:"=unifiDateIntervalSelectorUseUtc"},bindToController:!0,replace:!0,link:function(a,b,c,d){d.onChange&&a.$watchGroup(["dateIntervalSelectorCtrl.start","dateIntervalSelectorCtrl.end"],function(a,b){var c=a[0],e=b[0],f=a[1],g=b[1];c===e&&f===g||d.onChange({start:c,end:f})})}}}])},{"./dateIntervalSelector.jade":387}],389:[function(a,b,c){"use strict";function d(a,b,c,d,e){this.$http=a,this.$scope=b,this.$translate=c,this.UnifiAPIBasePath=e,this.activeTab="websocket",this.cacheFilter="",this.isEnabled=!1,this.isLogging=!1,this.messages=[];try{this.FLAGS=d.get("FLAGS")}catch(f){this.FLAGS={}}}d.prototype.closePanel=function(){this.isEnabled=!1},d.prototype.togglePanel=function(){this.isEnabled=!this.isEnabled},d.prototype.toggleLogging=function(){this.isLogging=!this.isLogging,this.isLogging?this.registerWsMessageListener():this.unregisterWsMessageListener()},d.prototype.registerWsMessageListener=function(){this.wsMessageListenerOff=this.$scope.$on("ws-message",function(a,b){this.logMessageHandler(b)}.bind(this))},d.prototype.unregisterWsMessageListener=function(){angular.isFunction(this.wsMessageListenerOff)&&this.wsMessageListenerOff()},d.prototype.logMessageHandler=function(a){this.isLogging&&this.messages.unshift({heading:a.message,action_id:a.action_id,body:JSON.stringify(a,null,4),messageObj:a})},d.prototype.clearMessages=function(){this.messages=[]},d.prototype.searchCache=function(){return this.$http.post(this.UnifiAPIBasePath+"/cache_query",this.cacheFilter,{withWebRTC:!0,withCredentials:!0}).then(function(a){this.cache=a.data.data[0]}.bind(this))},d.$inject=["$http","$scope","$translate","$injector","UnifiAPIBasePath"],angular.module("base-unifi").controller("DebugPanelController",d)},{}],390:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-show="debugPanelCtrl.isEnabled" class="blackout unifiDebugPanel"><div class="appControlModal appControlModal--wide appControlModal--light"><div ng-click="debugPanelCtrl.closePanel()" class="appControlModal__close"><div class="icon ubnt-icon--x"></div></div><div class="appControlModal__content noHorizontalPadding noPaddingBottom"><ul class="appTabs appTabs--cozy"><li ng-repeat="item in [\'websocket\', \'cache\', \'flags\']" ng-click="debugPanelCtrl.activeTab = item" ng-class="{\'is-tab-selected\': debugPanelCtrl.activeTab === item}" translate="{{ \'DEBUG_PANEL_TAB_\' + item | uppercase }}" class="tabs__item"></li></ul></div><div ng-show="debugPanelCtrl.activeTab === \'websocket\'" class="unifiDebugPanel__tab"><div class="appControlModal__content noPadding unifiDebugPanel__controls"><form class="appForm appForm--cozy"><div class="appActionBar appActionBar--cozy appActionBar--flexible noBorder"><div class="appActionBar__inner"><div class="appActionBar__left"><button id="unifiDebugPanelLogButton" type="button" ng-click="debugPanelCtrl.toggleLogging()" class="appMainButton appMainButton--primary appMainButton--cozy">{{ debugPanelCtrl.isLogging ? \'DEBUG_PANEL_ACTION_STOP\' : \'DEBUG_PANEL_ACTION_START\' | translate}}</button><button id="unifiDebugPanelClearButton" type="button" ng-click="debugPanelCtrl.clearMessages()" translate="DEBUG_PANEL_ACTION_CLEAR" class="appMainButton appMainButton--cozy"></button></div><div class="appActionBar__right"><div class="appInputGroup"><div class="appIconInput appIconInput--right appIconInput--comfy"><div class="appIconInput__icon icon ubnt-icon--search-2"></div><input ng-model="filterWebsocketBy" type="text" placeholder="{{ \'DEBUG_PANEL_FILTER_BY_PLACEHOLDER\' | translate }}" class="appIconInput__input"></div></div></div></div></div></form></div><div class="appControlModal__content appControlModalScrollableContent unifiDebugPanel__content"><accordion close-others="false" class="appAccordion"><accordion-group ng-repeat="message in debugPanelCtrl.messages | regex:\'body\':filterWebsocketBy" is-open="isOpen"><accordion-heading><span ng-class="{\'is-open\': isOpen}" class="unifiDebugPanel__toggler"></span><span class="unifiDebugPanel__title">{{ message.heading }}</span><span ng-if="message.action_id" class="unifiDebugPanel__id">{{ message.action_id }}</span></accordion-heading><div class="unifiDebugPanel__message"><div class="unifiDebugPanel__messageBody"><json-formatter json="message.messageObj" ng-show="message.messageObj" open="3" class="json-formatter"></json-formatter></div></div></accordion-group></accordion></div></div><div ng-show="debugPanelCtrl.activeTab === \'cache\'" class="unifiDebugPanel__tab"><div class="appControlModal__content noPadding unifiDebugPanel__controls"><form class="appForm appForm--cozy"><div class="appActionBar appActionBar--cozy appActionBar--flexible noBorder"><div class="appActionBar__inner"><div class="appActionBar__left"></div><div class="appActionBar__right"><div class="appInputGroup"><div class="appIconInput appIconInput--right appIconInput--comfy"><div class="appIconInput__icon icon ubnt-icon--search-2"></div><input ng-model="debugPanelCtrl.cacheFilter" type="text" placeholder="{{ \'COMMON_SEARCH_PLACEHOLDER\' | translate }}" class="appIconInput__input"></div><div class="inlineBlock"><button id="unifiDebugPanelLogButton" ng-click="debugPanelCtrl.searchCache()" translate="DEBUG_PANEL_ACTION_SEARCH" class="appMainButton appMainButton--cozy"></button></div></div></div></div></div></form></div><div class="appControlModal__content appControlModalScrollableContent unifiDebugPanel__content"><div class="unifiDebugPanel__message"><div class="unifiDebugPanel__messageBody"><json-formatter json="debugPanelCtrl.cache" ng-show="debugPanelCtrl.cache" open="1" class="json-formatter"></json-formatter></div></div></div></div><div ng-show="debugPanelCtrl.activeTab === \'flags\'" class="unifiDebugPanel__tab"><div class="appControlModal__content noPadding unifiDebugPanel__controls"><div class="appActionBar appActionBar--cozy appActionBar--flexible noBorder"></div></div><div class="appControlModal__content appControlModalScrollableContent unifiDebugPanel__content"><div class="unifiDebugPanel__message"><form class="appForm appForm--cozy"><div class="unifiDebugPanel__flags"><div ng-repeat="(flagName, flagValue) in debugPanelCtrl.FLAGS track by $index" class="row"><div class="col--xs5 col--xsOffset1 label--right"><label for="flagsToggle_{{flagName}}" class="appLabel--primary appLabel--toggleAlign">{{flagName}}</label></div><div class="col--xs5 appFormGroup appFormGroup--cozy"><div class="appInputGroup"><div data-on="{{ \'COMMON_TOGGLE_ON\' | translate }}" data-off="{{ \'COMMON_TOGGLE_OFF\' | translate }}" class="toggle appToggle"><input id="flagsToggle_{{flagName}}" type="checkbox" ng-model="debugPanelCtrl.FLAGS[flagName]"><label for="flagsToggle_{{flagName}}"></label></div></div></div></div></div></form></div></div></div><div class="appControlModal__content"><div class="container container--centered container--comfy"><div class="row"><div class="col--xs12 alignRight noPadding"><div class="appInputGroup"><button id="unifiDebugPanelCloseButton" type="button" ng-click="debugPanelCtrl.closePanel()" translate="COMMON_ACTIONS_CLOSE" class="appMainButton appMainButton--cozy"></button></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],391:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDebugPanel",["$rootScope","$window",function(b,c){return{restrict:"EA",replace:!0,scope:{},controller:"DebugPanelController",controllerAs:"debugPanelCtrl",bindToController:!0,template:a("./debugPanel.jade")(),link:function(a,b,d,e){c.openDebugPanel=function(){e.togglePanel(),a.$apply()}}}}])},{"./debugPanel.jade":390}],392:[function(a,b,c){"use strict";function d(a,b,c){this.$document=a,this.$timeout=b,this.classes=this.classes||{isDragover:"is-dnd-dragover",isDraggingSource:"is-dnd-dragging-source",isDragging:"is-dnd-dragging"},this.onDockDragOver=this.onDockDragOver.bind(this),this.onDockDragLeave=this.onDockDragLeave.bind(this),this.onDockDrop=this.onDockDrop.bind(this),this.onItemDragStart=this.onItemDragStart.bind(this),this.onItemDragEnd=this.onItemDragEnd.bind(this),this.onDocumentDragOver=this.onDocumentDragOver.bind(this),this.onDocumentDrop=this.onDocumentDrop.bind(this),this.placeholder=angular.element(c.get(this.placeholderSrc)),this.itemDragging=null}d.prototype.onDockDragOver=function(a){if(a=a.originalEvent||a,!this.isDropAllowed(a))return!0;var b=angular.element(a.currentTarget);return b.addClass(this.classes.isDragover),this.insertPlaceholder(a),a.stopPropagation(),a.preventDefault(),!1},d.prototype.onDockDragLeave=function(a){a=a.originalEvent||a,this.stopDragOver(a.currentTarget)},d.prototype.onDockDrop=function(a){if(this.removeDocumentHandlers(),a=a.originalEvent||a,!this.isDropAllowed(a))return!0;a.preventDefault();var b=a.currentTarget,c=a.dataTransfer.getData("Text"),d=this.getPlaceholderIndex(b);return this.getItemIndex(b,this.itemDragging.element[0])<=d&&--d,this.stopDragOver(b,!0),this.itemDragging=null,this.onDropInside&&this.onDropInside({event:a,itemId:c,index:d}),a.stopPropagation(),!1},d.prototype.isDropAllowed=function(){if(this.itemDragging){if(!this.allowedItemClasses)return!0;for(var a in this.allowedItemClasses)if(this.itemDragging.element.hasClass(this.allowedItemClasses[a]))return!0}},d.prototype.stopDragOver=function(a,b){a=angular.element(a),a.removeClass(this.classes.isDragover),this.$timeout(function(){!a.hasClass(this.classes.isDragover)&&this.placeholder&&this.placeholder.remove()}.bind(this),b?0:100)},d.prototype.onItemDragStart=function(a,b){if(a=a.originalEvent||a,!a.currentTarget.draggable)return a.preventDefault(),!1;this.addDocumentHandlers(),a.dataTransfer.setData("Text",b),a.dataTransfer.effectAllowed="move";var c=angular.element(a.currentTarget),d=c[0].getBoundingClientRect();c.addClass(this.classes.isDragging),this.$timeout(function(){c.addClass(this.classes.isDraggingSource)}.bind(this),0),this.itemDragging={element:c,startX:d.left,startY:d.top,mouseX:a.pageX-d.left,mouseY:a.pageY-d.top},a.stopPropagation()},d.prototype.onItemDragEnd=function(a,b){this.removeDocumentHandlers(),a=a.originalEvent||a;var c=a.currentTarget;angular.element(c).removeClass([this.classes.isDragging,this.classes.isDraggingSource].join(" ")),this.itemDragging&&this.canDropOutside&&this.onDropOutside&&this.onDropOutside({event:a,itemId:b,x:this.itemDragging.endX-this.itemDragging.mouseX,y:this.itemDragging.endY-this.itemDragging.mouseY}),this.itemDragging=null,a.stopPropagation()},d.prototype.addDocumentHandlers=function(){this.canDropOutside&&(this.$document.on("dragover",this.onDocumentDragOver),this.$document.on("drop",this.onDocumentDrop))},d.prototype.removeDocumentHandlers=function(){this.canDropOutside&&(this.$document.off("dragover",this.onDocumentDragOver),this.$document.off("drop",this.onDocumentDrop))},d.prototype.onDocumentDragOver=function(a){return a.stopPropagation(),a.preventDefault(),!1},d.prototype.onDocumentDrop=function(a){return a=a.originalEvent||a,this.itemDragging.endX=a.pageX,this.itemDragging.endY=a.pageY,a.stopPropagation(),a.preventDefault(),!1},d.prototype.isMouseInFirstHalf=function(a,b){var c=b.getBoundingClientRect(),d=this.isHorizontal?c.width:c.height,e=this.isHorizontal?c.left:c.top,f=this.isHorizontal?a.pageX:a.pageY;return f<=e+d/2},d.prototype.insertPlaceholder=function(a){var b=angular.element(a.currentTarget);this.placeholder[0].parentNode!==b[0]&&b.append(this.placeholder);var c=a.target;if(c!==b[0]){for(;c.parentNode!==b[0]&&c.parentNode;)c=c.parentNode;c.parentNode===b[0]&&c!==this.placeholder[0]&&(this.isMouseInFirstHalf(a,c)?b[0].insertBefore(this.placeholder[0],c):b[0].insertBefore(this.placeholder[0],c.nextSibling))}},d.prototype.getPlaceholderIndex=function(a){return Array.prototype.indexOf.call(a.children,this.placeholder[0])},d.prototype.getItemIndex=function(a,b){return Array.prototype.indexOf.call(a.children,b)},d.prototype.hideGhostImage=function(a){var b=document.createElement("img");b.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",a.dataTransfer.setDragImage(b,0,0)},d.$inject=["$document","$timeout","$templateCache"],angular.module("base-unifi").controller("DndDockController",d)},{}],393:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDndDock",[function(){return{scope:{items:"=unifiDndDockItems",onDropInside:"&unifiDndDockOnDropInside",onDropOutside:"&unifiDndDockOnDropOutside",canDropOutside:"=?unifiDndDockCanDropOutside",placeholderSrc:"@unifiDndDockPlaceholderSrc",allowedItemClasses:"=unifiDndDockAllowedItemClasses",isHorizontal:"=?unifiDndDockIsHorizontal"},controller:"DndDockController",controllerAs:"dndDockCtrl",bindToController:!0,link:function(a,b,c,d){b.on("dragover",d.onDockDragOver),b.on("dragleave",d.onDockDragLeave),b.on("drop",d.onDockDrop),a.$on("$destroy",function(){b.off("dragover",d.onDockDragOver),b.off("dragleave",d.onDockDragLeave),b.off("drop",d.onDockDrop)})}}}])},{}],394:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDndDockItem",["$parse",function(a){return{require:"^unifiDndDock",link:function(b,c,d,e){var f=b.$eval(d.unifiDndDockItem),g=function(a){c.attr("draggable",!a)},h=function(){if(!a(d.unifiDndDockItemIsDisabled)(b)&&this.dragDrop)return this.dragDrop(),!1},i=function(e){!a(d.unifiDndDockItemIsDisabled)(b)&&d.unifiDndDockItemHandle&&(e.target.matchesSelector(d.unifiDndDockItemHandle)||"select"===e.target.nodeName.toLowerCase()||(g(!0),c.one("mouseup",function(){g(!1)})))},j=function(a){e.onItemDragStart(a,f)},k=function(a){e.onItemDragEnd(a,f),b.$apply()};b.$watch(d.unifiDndDockItemIsDisabled,g),c.on("selectstart",h),c.on("mousedown",i),c.on("dragstart",j),c.on("dragend",k),b.$on("$destroy",function(){c.off("selectstart",h),c.off("mousedown",i),c.off("dragstart",j),c.off("dragend",k)})}}}])},{}],395:[function(a,b,c){"use strict";function d(){}d.prototype.setIsUndocked=function(a){this.isUndocked=a},d.$inject=[],angular.module("base-unifi").controller("DockableItemController",d)},{}],396:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDockableItem",[function(){return{controller:"DockableItemController",controllerAs:"dockedItemCtrl",link:function(a,b,c,d){a.$watch(c.unifiDockableItemIsUndocked,function(a){d.setIsUndocked(a)})}}}])},{}],397:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("../../controllers/BaseDraggableController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onMouseDown=function(a){this.offsetLeft=a.currentTarget.offsetLeft,this.offsetTop=a.currentTarget.offsetTop,this.element=angular.element(a.currentTarget),e.prototype.onMouseDown.call(this,a)},d.prototype.onMouseMove=function(a){e.prototype.onMouseMove.call(this,a),this.element.css({left:this.distanceX+this.offsetLeft+"px",top:this.distanceY+this.offsetTop+"px"})},d.prototype.onDragStopAttrs=function(a){var b=e.prototype.onDragStopAttrs.call(this,a);return angular.extend(b,{elementX:this.distanceX+this.offsetLeft,elementY:this.distanceY+this.offsetTop})},d.$inject=["$document"],angular.module("base-unifi").controller("DraggableItemController",d)},{"../../controllers/BaseDraggableController":498}],398:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiDraggableItem",["$parse",function(a){return{controller:"DraggableItemController",controllerAs:"draggableItemCtrl",link:function(b,c,d,e){e.setDragHandleSelector(d.unifiDraggableItemHandle),e.setDragStartCallback(function(){a(d.unifiDraggableItemOnDragStart)(b,arguments[0]),b.$apply()}),e.setDragStopCallback(function(){a(d.unifiDraggableItemOnDragStop)(b,arguments[0])}),b.$watch(d.unifiDraggableItemIsDisabled,function(a){a?e.removeEventHandlers(c):e.addEventHandlers(c)}),b.$on("$destroy",function(){e.documentCleanUp(),e.removeEventHandlers(c)})}}}])},{}],399:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiFeatureFlagEnable",["featureFlag","ngIfDirective",function(a,b){var c=b[0];return{transclude:c.transclude,priority:c.priority,terminal:c.terminal,restrict:c.restrict,$$tlb:c.$$tlb,link:function(b,d,e){var f=a.isEnabled(e.unifiFeatureFlagEnable);e.ngIf=function(){var a=b.$eval(e.unifiFeatureFlagAnd);return f&&(void 0===e.unifiFeatureFlagAnd||a)},c.link.apply(c,arguments)}}}]).directive("unifiFeatureFlagDisable",["featureFlag","ngIfDirective",function(a,b){var c=b[0];return{transclude:c.transclude,priority:c.priority,terminal:c.terminal,restrict:c.restrict,$$tlb:c.$$tlb,link:function(b,d,e){var f=!a.isEnabled(e.unifiFeatureFlagDisable);e.ngIf=function(){var a=b.$eval(e.unifiFeatureFlagAnd);return f&&(void 0===e.unifiFeatureFlagAnd||a)},c.link.apply(c,arguments)}}}])},{}],400:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiFixDisabled",[function(){return{link:function(a,b){b[0].addEventListener("click",function(a){"disabled"===b.attr("disabled")&&(a.stopPropagation(),a.preventDefault())},!0)}}}])},{}],401:[function(a,b,c){"use strict";var d="ng-hide";angular.module("base-unifi").directive("unifiIfApp",["$parse","$animate","ENV",function(a,b,c){
return{link:function(b,e,f){var g=a(f.unifiIfApp)(b);angular.isArray(g)?g.indexOf(c.APP)===-1&&e.addClass(d):c.APP!==g&&e.addClass(d)}}}])},{}],402:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiIfRoleAdmin",["account","sites","ngIfDirective",function(a,b,c){var d=c[0];return{transclude:d.transclude,priority:d.priority,terminal:d.terminal,restrict:d.restrict,$$tlb:d.$$tlb,link:function(c,e,f){f.ngIf=function(){var d;if(f.unifiIfRoleAdminWithSite){var e=b.repository.collection.findWhere({name:c.$eval(f.unifiIfRoleAdminWithSite)});d=!!e&&"admin"===e.get("role")}else d=a.isAdmin();var g=c.$eval(f.unifiIfRoleAdmin)===!1,h=c.$eval(f.unifiIfRoleAdminAnd);return(g?!d:d)&&(void 0===f.unifiIfRoleAdminAnd||h)},d.link.apply(d,arguments)}}}])},{}],403:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiIfRoleSuperAdmin",["account","ngIfDirective",function(a,b){var c=b[0];return{transclude:c.transclude,priority:c.priority,terminal:c.terminal,restrict:c.restrict,$$tlb:c.$$tlb,link:function(b,d,e){e.ngIf=function(){var c=a.isSuperAdmin(),d=b.$eval(e.unifiIfRoleSuperAdmin)===!1,f=b.$eval(e.unifiIfRoleSuperAdminAnd);return(d?!c:c)&&(void 0===e.unifiIfRoleSuperAdminAnd||f)},c.link.apply(c,arguments)}}}])},{}],404:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiIfRoleWriteable",["account","ngIfDirective",function(a,b){var c=b[0];return{transclude:c.transclude,priority:c.priority,terminal:c.terminal,restrict:c.restrict,$$tlb:c.$$tlb,link:function(b,d,e){e.ngIf=function(){return!a.isReadOnly()},c.link.apply(c,arguments)}}}])},{}],405:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiInitializeWhen",["ngIfDirective",function(a){var b=a[0];return{transclude:b.transclude,priority:b.priority,terminal:b.terminal,restrict:b.restrict,$$tlb:b.$$tlb,link:function(a,c,d){var e=!1;d.ngIf=function(){if(e||a.$eval(d.unifiInitializeWhen))return e=!0},b.link.apply(b,arguments)}}}])},{}],406:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiKeyPressEvents",["$rootScope","$document","KEY_PRESS_EVENTS",function(a,b,c){return{link:function(){b.bind("keypress",function(b){var d=b.which||b.keyCode;angular.forEach(c,function(c){if(c.keyCode===d)return a.$broadcast(c.broadcastEvent,b)})})}}}])},{}],407:[function(a,b,c){"use strict";function d(){this.isSelectorVisible=!1}d.prototype.updateColumnStore=function(a){this.columnStore=a,this.getColumnOptions=a.getColumnOptions.bind(a),this.isColumnSelected=a.isColumnSelected.bind(a),this.getBatchEditable=a.getBatchEditable.bind(a),this.getCustomized=a.getCustomized.bind(a),this.getColumnPresets=a.getColumnPresets.bind(a),this.setColumnPreset=a.setColumnPreset.bind(a)},d.prototype.openSelector=function(){this.isSelectorVisible=!0},d.prototype.closeSelector=function(){this.isSelectorVisible=!1},d.prototype.toggleSelector=function(){this.isSelectorVisible=!this.isSelectorVisible},d.prototype.toggleBatchEditable=function(){this.columnStore.setBatchEditable(!this.columnStore.isBatchEditable)},d.prototype.toggleCustomized=function(){this.columnStore.setCustomized(!this.columnStore.isCustomized)},d.prototype.toggleColumn=function(a){this.columnStore.toggleColumn(a),this.preset=null},d.$inject=[],angular.module("base-unifi").controller("ListColumnSelectorController",d)},{}],408:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div on-outside-element-click="listColumnSelectorCtrl.closeSelector()" class="appTableHeaderActionIconContainer"><div class="appPopoverContainer"><div ng-click="listColumnSelectorCtrl.toggleSelector()" ng-class="{\'success\': listColumnSelectorCtrl.getCustomized()}" class="appTableHeaderActionIcon icon ubnt-icon--gears clickable"></div><div ng-if="listColumnSelectorCtrl.isSelectorVisible" class="appPopover appPopover--narrow appPopover--withHeader appPopover--leftDown appPopover--scrollable"><div class="appPopover__inner"><div class="appPopover__header"><div class="appForm appForm--cozy"><div unifi-if-role-admin unifi-if-role-admin-and="withBatchEdit" ng-init="inputId = [directiveId, \'group\'].join(\'-\')" class="appInputGroup fullWidth verticalRhythm--condensed"><input type="checkbox" name="enableBatchEdit" ng-attr-id="{{::inputId}}" ng-checked="listColumnSelectorCtrl.getBatchEditable()" ng-click="listColumnSelectorCtrl.toggleBatchEditable(); $event.stopPropagation();"><label for="{{::inputId}}">{{\'COMMON_LIST_COLUMN_SELECTOR_VALUE_ENABLE_GROUP_CONFIG\' | translate}}</label></div><div ng-init="inputId = [directiveId, \'customize\'].join(\'-\')" class="appInputGroup fullWidth"><input type="checkbox" name="enableCustomColumns" ng-attr-id="{{::inputId}}" ng-checked="listColumnSelectorCtrl.getCustomized()" ng-click="listColumnSelectorCtrl.toggleCustomized(); $event.stopPropagation();"><label for="{{::inputId}}">{{\'COMMON_LIST_COLUMN_SELECTOR_VALUE_CUSTOM_COLUMNS\' | translate}}</label></div></div></div><div ng-show="listColumnSelectorCtrl.columnStore.isCustomized" class="appPopover__content"><div class="appForm appForm--cozy"><ul class="list"><li ng-repeat="column in listColumnSelectorCtrl.getColumnOptions()" ng-if="!column.isPermanent"><div ng-init="inputId = [directiveId, column.id].join(\'-\')" class="appInputGroup fullWidth"><input type="checkbox" name="{{::inputId}}" ng-attr-id="{{::inputId}}" ng-checked="listColumnSelectorCtrl.isColumnSelected(column.id)" ng-click="listColumnSelectorCtrl.toggleColumn(column.id); $event.stopPropagation();"><label for="{{::inputId}}">{{column.translationKey | translate}}</label></div></li></ul></div><div ng-if="listColumnSelectorCtrl.getColumnPresets().length" class="appForm appForm--cozy verticalRhythmTop--cozy"><select ng-model="listColumnSelectorCtrl.preset" ng-options="preset.id as preset.translationKey | translate for preset in listColumnSelectorCtrl.getColumnPresets()" class="select--full"><option unifi-option-placeholder="COMMON_LIST_COLUMN_SELECTOR_VALUE_RESET_COLUMNS"></option></select></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],409:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiListColumnSelector",[function(){return{scope:{withBatchEdit:"=unifiListColumnSelectorWithBatchEdit",columnStore:"=unifiListColumnSelectorColumnStore"},controller:"ListColumnSelectorController",controllerAs:"listColumnSelectorCtrl",template:a("./listColumnSelector.jade")(),link:function(a,b,c,d){a.directiveId=a.$id,a.$watch("columnStore",function(a){a&&d.updateColumnStore(a)}),a.$watch(function(){return d.preset},function(a){a&&d.setColumnPreset(a)})}}}])},{"./listColumnSelector.jade":408}],410:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<pagination pagination-current-page="currentPage" pagination-page-size-options="pageSizeOptions" pagination-rows-per-page="rowsPerPage" pagination-total-rows="totalRows()" pagination-total-links="totalLinks()" ng-class="{\'appPagination--dark appForm--dark\': isDark}" class="appPagination"><pagination-state class="appPagination__currentState"><span translate="PAGINATION_SHOWING_ROWS" translate-values="{        \'startRow\': pageStart,        \'endRow\': pageEnd,        \'totalRows\': totalRows,        \'rowType\': \'{{\'PAGINATION_DEFAULT_ROW_TYPE\' | translate}}\'      }"></span></pagination-state><pagination-page-size class="appPagination__pageSize appForm--cozy visible--mdUp"><label>{{\'PAGINATION_ITEMS_PER_PAGE\' | translate}}:</label><select name="size" ng-model="rowsPerPage" ng-options="size as size for size in ($parent.$parent.pageSizeOptions || [10, 25, 50, 100, 200])" ng-change="setRowsPerPage(rowsPerPage)">{{size}}</select></pagination-page-size><div pagination-has-pages class="appPaginationPages"><label>{{\'PAGINATION_PAGES\' | translate}}:</label><pagination-previous class="appPaginationPages__previous"><span ng-class="{\'is-disabled\': isPreviousDisabled}"><div class="icon icon--inline ubnt-icon--pointer-left"></div><span translate="PAGINATION_PREVIOUS_PAGE"></span></span></pagination-previous><pagination-pages class="appPaginationPages__list"></pagination-pages><pagination-next class="appPaginationPages__next"><span ng-class="{\'is-disabled\': isNextDisabled}"><span translate="PAGINATION_NEXT_PAGE"></span><div class="icon icon--inline ubnt-icon--pointer-right"></div></span></pagination-next></div></pagination>'),b.join("")}},{"jade/runtime":233}],411:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiListPagination",[function(){return{scope:{currentPage:"=unifiListPaginationCurrentPage",pageSizeOptions:"=unifiListPaginationPageSizeOptions",rowsPerPage:"=unifiListPaginationRowsPerPage",totalRows:"&unifiListPaginationTotalRows",totalLinks:"&unifiListPaginationTotalLinks",isDark:"=unifiListPaginationIsDark"},restrict:"E",template:a("./listPagination.jade")()}}])},{"./listPagination.jade":410}],412:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-class="{\'is-working\': isSubmitting}" title="{{\'COMMON_USER_MENU_OPTION_LOGOUT\' | translate}}" class="unifiActionIcon unifiActionIcon--logout"><div class="icon ubnt-icon--logout"></div></div>'),b.join("")}},{"jade/runtime":233}],413:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiLogoutButton",["$state","account","site","ENV",function(b,c,d,e){return{replace:!0,template:a("./logoutButton.jade")(),link:function(a,f){f.on("click",function(){a.isSubmitting=!0,c.logout().then(function(){b.go(e.LOGIN_STATE,{site:d.getActiveSite()})})["finally"](function(){a.isSubmitting=!1})})}}}])},{"./logoutButton.jade":412}],414:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<pagination pagination-current-page="currentPage" pagination-rows-per-page="rowsPerPage" pagination-total-rows="totalRows()" ng-class="{\'appPagination--dark\': isDark}" class="appPagination"><pagination-state class="appPagination__currentState"><span translate="PAGINATION_SHOWING_ROWS" translate-values="{        \'startRow\': pageStart,        \'endRow\': pageEnd,        \'totalRows\': totalRows,        \'rowType\': \'{{\'PAGINATION_DEFAULT_ROW_TYPE\' | translate}}\'      }"></span></pagination-state><div pagination-has-pages class="appPaginationPages"><pagination-previous class="appPaginationPages__previous"><span ng-class="{\'is-disabled\': isPreviousDisabled}"><div class="icon icon--inline ubnt-icon--pointer-left"></div><span translate="PAGINATION_PREVIOUS_PAGE"></span></span></pagination-previous><pagination-next class="appPaginationPages__next"><span ng-class="{\'is-disabled\': isNextDisabled}"><span translate="PAGINATION_NEXT_PAGE"></span><div class="icon icon--inline ubnt-icon--pointer-right"></div></span></pagination-next></div></pagination>'),b.join("")}},{"jade/runtime":233}],415:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiMicroPagination",[function(){return{scope:{currentPage:"=unifiMicroPaginationCurrentPage",rowsPerPage:"=unifiMicroPaginationRowsPerPage",totalRows:"&unifiMicroPaginationTotalRows",isDark:"=unifiMicroPaginationIsDark"},restrict:"E",template:a("./microPagination.jade")()}}])},{"./microPagination.jade":414}],416:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiMobileSafeHover",[function(){return{link:function(a,b){b.addClass("is-native-hover-disabled"),b.on("mouseenter touchstart",function(){b.addClass("hover")}),b.on("mouseleave touchmove click",function(){b.removeClass("hover")}),a.$on("$stateChangeSuccess",function(){b.removeClass("hover")})}}}])},{}],417:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("../../controllers/BaseFormController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.updateForm=function(a){this.form=a},d.$inject=["modelDivergence"],angular.module("base-unifi").controller("ModelFormController",d)},{"../../controllers/BaseFormController":499}],418:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiModelForm",[function(){return{scope:!0,controller:"ModelFormController",controllerAs:"modelFormCtrl",require:"^form",link:function(a,b,c,d){var e=a.modelFormCtrl;e.updateForm(d),a.$watch(c.unifiModelForm,function(a){e.updateModel(a)}),a.$watch(function(){return e.modelCopy},function(a){d.modelCopy=a}),a.$watch(function(){return d?d.$error.divergent:void 0},function(){c.unifiModelFormAutoResolveDivergence&&a.modelFormCtrl.resolveDivergence()}),a.$on("$destroy",function(){e.removeEventHandlers()})}}}])},{}],419:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push("<option disabled value=\"\">{{(translationKey || 'COMMON_LABEL_CHOOSE_ONE') | translate}}</option>"),b.join("")}},{"jade/runtime":233}],420:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiOptionPlaceholder",[function(){return{template:a("./optionPlaceholder.jade")(),replace:!0,scope:{translationKey:"@unifiOptionPlaceholder"}}}])},{"./optionPlaceholder.jade":419}],421:[function(a,b,c){"use strict";var d="block-pause-children-watchers";angular.module("base-unifi").directive("unifiPauseChildrenWatchers",["$timeout",function(a){return{priority:100,link:function(b,c,e){function f(a,b,c){angular.forEach(a.children(),function(e){var i=angular.element(e);g(i,b,!1),g(i,b,!0),(++c<h||!h)&&(a.data(d)||f(i,b,c))})}function g(a,b,c){var d=a.data(),e=c?"$isolateScope":"$scope",f="_bk_$$watchers_"+e;d.hasOwnProperty(e)&&d[e].hasOwnProperty("$$watchers")&&d[e].$$watchers&&(b?(d[f]=[],angular.forEach(d[e].$$watchers,function(a){try{d[f].push(angular.copy(a))}catch(b){}}),d[e].$$watchers=[]):d.hasOwnProperty(f)&&angular.forEach(d[f],function(a){d[e].$$watchers.push(angular.copy(a))}))}var h=e.unifiPauseChildrenWatchersMaxRecursion;a(function(){b.$watch(e.unifiPauseChildrenWatchers,function(a){void 0!==a&&(a?f(c,!0,0):f(c,!1,0))})},0,!0)}}}]),angular.module("base-unifi").directive("unifiPauseChildrenWatchersAndCreateScope",[function(){return{priority:200,transclude:!0,link:function(a,b,c,d,e){e(a.$new(),function(a,c){b.append(a),b.on("$destroy",function(){a.remove(),c.$destroy()})})}}}]),angular.module("base-unifi").directive("unifiBlockPauseChildrenWatchers",[function(){return{link:function(a,b){b.data(d,!0)}}}])},{}],422:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiPositionAlerts",["preferences",function(a){return{link:function(b,c){var d={top_left:"appToastContainer--topLeft",top_center:"appToastContainer--topCenter",top_right:"appToastContainer--topRight",bottom_left:"appToastContainer--bottomLeft",bottom_center:"appToastContainer--bottomCenter",bottom_right:"appToastContainer--bottomRight"},e=Object.keys(d).map(function(a){return d[a]}).join(" ");b.$watch(function(){return a.model.get("alertsPosition")},function(a){c.removeClass(e),c.addClass(d[a])})}}}])},{}],423:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiPreventFocusZoom",["bowser","$document","$timeout",function(a,b,c){return{scope:!0,restrict:"A",link:function(d,e){var f,g=e.attr("content"),h=[g,"user-scalable=0"].join(", "),i=a.ios,j=!1,k=function(){j&&(e.attr("content",g),j=!1)},l=function(){j||(c.cancel(f),e.attr("content",h),j=!0)};i&&c(function(){angular.element(b[0].body).on("touchstart",function(a){["input","select","textarea","output"].indexOf(a.target.nodeName.toLowerCase())!==-1&&l()}).on("touchend",function(){f=c(k,500)})},0)}}}])},{}],424:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-class="{\'is-working\': isRefreshing}" title="{{\'COMMON_ACTIONS_REFRESH\' | translate}}" class="unifiActionIcon unifiActionIcon--refresh"><div class="icon ubnt-icon--sync"></div></div>'),b.join("")}},{"jade/runtime":233}],425:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiRefreshButton",["$timeout","refresh",function(b,c){return{replace:!0,template:a("./refreshButton.jade")(),link:function(a,d){d.on("click",function(){c.refresh()}),a.$watch(function(){return c.isRefreshing},function(c){c?a.isRefreshing=!0:b(function(){a.isRefreshing=!1,a.$digest()},500,!1)})}}}])},{"./refreshButton.jade":424}],426:[function(a,b,c){"use strict";function d(a,b){this.refresh=a,this.REFRESH_RATES=b,this.isDropdownVisible=!1}d.prototype.toggleDropdown=function(){this.isDropdownVisible=!this.isDropdownVisible},d.prototype.closeDropdown=function(){this.isDropdownVisible=!1},d.prototype.setRefreshRate=function(a){this.refresh.updateRefreshRate(a)},d.prototype.getRefreshRate=function(){return this.refresh.getRefreshRate()},d.$inject=["refresh","REFRESH_RATES"],angular.module("base-unifi").controller("RefreshSwitcherController",d)},{}],427:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div on-outside-element-click="refreshSwitcherCtrl.closeDropdown()" class="appOrgSwitcher appOrgSwitcher--narrow appOrgSwitcher--withTitle"><div ng-click="refreshSwitcherCtrl.toggleDropdown()" class="appOrgSwitcher__trigger"><div translate="COMMON_REFRESH_RATE_MENU_TITLE" class="appOrgSwitcher__title visible--mdUp"></div><div translate="COMMON_REFRESH_RATE_MOBILE_MENU_TITLE" class="appOrgSwitcher__title visible--smDown"></div><span class="appOrgSwitcher__label visible--smUp">{{refreshSwitcherCtrl.getRefreshRate().translationKey | translate}}</span><span class="appOrgSwitcher__label visible--xs">{{refreshSwitcherCtrl.getRefreshRate().mobileTranslationKey | translate}}</span><span class="appOrgSwitcher__arrow icon ubnt-icon--pointer-down"></span></div><div ng-show="refreshSwitcherCtrl.isDropdownVisible" class="appOrgSwitcher__dropdown"><ul class="appOrgSwitcher__list"><li ng-repeat="rate in refreshSwitcherCtrl.REFRESH_RATES" class="appOrgSwitcher__item"><a ng-click="refreshSwitcherCtrl.closeDropdown(); refreshSwitcherCtrl.setRefreshRate(rate.id)" class="truncate">{{rate.translationKey | translate }}</a></li><li class="appOrgSwitcher__item appOrgSwitcher__add visible--xs"><a ng-click="refreshSwitcherCtrl.refresh.refresh()" ng-disabled="refreshSwitcherCtrl.refresh.isRefreshing"><div ng-class="{\'appIconAnimated--rotate\': refreshSwitcherCtrl.refresh.isRefreshing}" class="appOrgSwitcher__addIcon icon ubnt-icon--sync"></div><span translate="COMMON_ACTIONS_REFRESH"></span></a></li></ul></div></div>'),b.join("")}},{"jade/runtime":233}],428:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiRefreshSwitcher",[function(){return{controller:"RefreshSwitcherController",controllerAs:"refreshSwitcherCtrl",replace:!0,restrict:"E",template:a("./refreshSwitcher.jade")()}}])},{"./refreshSwitcher.jade":427}],429:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiRequiresSiteContext",["site","account","ngIfDirective",function(a,b,c){var d=c[0];return{transclude:d.transclude,priority:d.priority,terminal:d.terminal,restrict:d.restrict,$$tlb:d.$$tlb,link:function(c,e,f){f.ngIf=function(){return b.isLoggedIn()&&!!a.getActiveSite()},d.link.apply(d,arguments)}}}])},{}],430:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("../../controllers/BaseDraggableController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.setElement=function(a){this.element=a},d.prototype.getResizedWidth=function(){return Math.max(0,this.distanceX+this.startWidth)},d.prototype.getResizedHeight=function(){return Math.max(0,this.distanceY+this.startHeight)},d.prototype.onMouseDown=function(a){a.preventDefault(),a.stopPropagation();var b=angular.element(a.currentTarget);this.canResizeHorizontally=b.hasClass("is-resizable-horizontally"),this.canResizeVertically=b.hasClass("is-resizable-vertically"),this.startWidth=this.element[0].offsetWidth,this.startHeight=this.element[0].offsetHeight,e.prototype.onMouseDown.call(this,a)},d.prototype.onMouseMove=function(a){e.prototype.onMouseMove.call(this,a);var b={};this.canResizeHorizontally&&(b.width=this.getResizedWidth()+"px"),this.canResizeVertically&&(b.height=this.getResizedHeight()+"px"),this.element.css(b)},d.prototype.onDragStopAttrs=function(a){var b=e.prototype.onDragStopAttrs.call(this,a);return angular.extend(b,{width:this.getResizedWidth(),height:this.getResizedHeight()})},d.$inject=["$document"],angular.module("base-unifi").controller("ResizableItemController",d)},{"../../controllers/BaseDraggableController":498}],431:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiResizableItem",["$parse",function(a){return{controller:"ResizableItemController",controllerAs:"resizableItemCtrl",link:function(b,c,d,e){e.setElement(c);var f=function(){var a=b.$eval(d.unifiResizableItemDirection),f=!a||a.indexOf("right")!==-1,g=!a||a.indexOf("bottom")!==-1;f&&(c.append('<div class="resizeHandleRight is-resizable-horizontally" />'),e.addEventHandlers(c.find(".resizeHandleRight"))),g&&(c.append('<div class="resizeHandleBottom is-resizable-vertically" />'),e.addEventHandlers(c.find(".resizeHandleBottom"))),f&&g&&(c.append('<div class="resizeHandleBottomRight is-resizable-vertically is-resizable-horizontally" />'),e.addEventHandlers(c.find(".resizeHandleBottomRight")))},g=function(){angular.forEach([".resizeHandleRight",".resizeHandleBottom",".resizeHandleBottomRight"],function(a){var b=c.find(a);e.removeEventHandlers(b),b.remove()})};e.setDragStartCallback(function(){a(d.unifiResizableItemOnResizeStart)(b,arguments[0]),b.$apply()}),e.setDragStopCallback(function(){a(d.unifiResizableItemOnResizeStop)(b,arguments[0])}),b.$watch(d.unifiResizableItemIsDisabled,function(a){a?g():f()}),b.$on("$destroy",function(){e.documentCleanUp(),g()})}}}])},{}],432:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<ng-form name="searchForm" ng-class="::{    \'appForm--cozy\': isCozy,    \'appForm--dark\': isDark  }" autocomplete="off" class="appForm"><div class="appInputGroup"><div ng-class="{        \'appIconInput--left\': leftIcon,        \'fullWidth\': isFullWidth      }" class="appIconInput appIconInput--right appIconInput--comfy"><div ng-if="leftIcon" ng-class="leftIcon" class="appIconInput__icon appIconInput__icon--left icon"></div><div ng-if="!searchQuery.length &amp;&amp; !isBusy" class="appIconInput__icon appIconInput__icon--right icon ubnt-icon--search-2"></div><div ng-if="searchQuery.length &amp;&amp; !isBusy" ng-click="clear($event)" class="appIconInput__icon appIconInput__icon--right icon ubnt-icon--x-circle clickable clearSearch"></div><div ng-if="isBusy" class="appIconInput__icon appIconInput__icon--right appIconAnimated--rotate icon ubnt-icon--sync"></div><input type="text" name="search" placeholder="{{placeholder || \'COMMON_SEARCH_PLACEHOLDER\' | translate}}" ng-model="searchQuery" ng-model-options="{ debounce: 700 }" ng-change="onSearchQueryChange({searchQuery: searchQuery})" class="input--full appIconInput__input"></div></div></ng-form>'),b.join("")}},{"jade/runtime":233}],433:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiSearch",[function(){return{scope:{isCozy:"=?unifiSearchIsCozy",isDark:"=?unifiSearchIsDark",isBusy:"=?unifiSearchIsBusy",isFullWidth:"=?unifiSearchIsFullWidth",onSearchQueryChange:"&?unifiSearchOnChange",searchQuery:"=?unifiSearchQuery",placeholder:"=?unifiSearchPlaceholder",leftIcon:"=?unifiSearchLeftIcon"},replace:!0,restrict:"E",template:a("./search.jade")(),link:function(a){a.searchQuery=a.searchQuery||"",a.clear=function(b){b.stopPropagation(),a.searchQuery="",a.onSearchQueryChange&&a.onSearchQueryChange({searchQuery:a.searchQuery})}}}}])},{"./search.jade":432}],434:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiSidePanelStickyTitle",["$document","$timeout",function(a,b){return{scope:{type:"@unifiSidePanelStickyTitleType",dataAttr:"@unifiSidePanelStickyTitleDataAttr",panels:"=unifiSidePanelStickyTitlePanels",containerSelector:"@unifiSidePanelStickyTitleContainerSelector",itemSelector:"@unifiSidePanelStickyTitleItemSelector",offsetAdjust:"@?unifiSidePanelStickyTitleOffsetAdjust"},replace:!0,templateUrl:function(a,b){return"partials/"+b.unifiSidePanelStickyTitleType+"PanelStickyTitle.html"},link:function(c){function d(a){var b,d;return angular.forEach(g[0].querySelectorAll(c.itemSelector),function(e){var f=e.offsetTop-(c.offsetAdjust?c.offsetAdjust:0);f<a&&(angular.isUndefined(b)||a-f<b)&&(d=e,b=a-f)}),d?angular.element(d).data(c.dataAttr||"id"):void 0}function e(){var a=g.scrollTop(),b=a>0,e=b?d(a):void 0;b===c.attrs.isVisible&&e===c.attrs.itemId||(c.attrs.isVisible=b,e?(c.attrs.itemId=e,c.attrs.itemType=c.panels.getItemTypeById(e),c.panels.getItemById(e).then(function(a){c.attrs.model=a})):(c.attrs.itemId=void 0,c.attrs.itemType=void 0,c.attrs.model=void 0),c.$digest())}function f(b){g&&g.off("scroll",e),g=angular.element(a.find("body")[0].querySelector(b)),g.on("scroll",e),c.$on("$destroy",function(){g.off("scroll",e)})}var g;c.attrs={isVisible:!1,itemId:void 0,model:void 0},c.$watch("containerSelector",f),b(e,0,!1)}}}])},{}],435:[function(a,b,c){"use strict";function d(a,b,c,d,f,g){this.$state=a,this.featureFlag=b,this.frame=c,this.sites=d,this.siteUtils=f,this.EVENTS=g,this.isDropdownVisible=!1,e.call(this),this.updateCollection(d.repository.collection)}var e=a("../../../base-unifi/controllers/BaseCollectionController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.onCollectionChange=function(){this.siteOptions=this.collection?this.collection.sortBy(function(a){return a.get("desc")}):[]},d.prototype.toggleDropdown=function(){this.isDropdownVisible=!this.isDropdownVisible},d.prototype.closeDropdown=function(){this.isDropdownVisible=!1},d.prototype.setActiveSite=function(a){return this.$state.go(this.$state.current.name,{site:a.get("name")})},d.prototype.getActiveSite=function(){return this.siteUtils.getActiveSite()},d.prototype.addSite=function(){this.closeDropdown(),this.frame.show("addSite")},d.prototype.importSite=function(){this.closeDropdown(),this.frame.show("importSite")},d.prototype.openSitesOverview=function(){this.closeDropdown(),this.frame.show("sitesOverview")},d.$inject=["$state","featureFlag","frame","sites","siteUtils","EVENTS"],angular.module("base-unifi").controller("SiteSwitcherController",d)},{"../../../base-unifi/controllers/BaseCollectionController":495}],436:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div on-outside-element-click="siteSwitcherCtrl.closeDropdown()" ng-show="siteSwitcherCtrl.siteOptions.length" class="appOrgSwitcher appOrgSwitcher--withTitle"><div ng-click="siteSwitcherCtrl.toggleDropdown()" class="appOrgSwitcher__trigger"><div translate="COMMON_SITE_MENU_TITLE" class="appOrgSwitcher__title"></div><span class="appOrgSwitcher__label">{{siteSwitcherCtrl.getActiveSite().get(\'desc\')}}</span><span class="appOrgSwitcher__arrow icon ubnt-icon--pointer-down"></span></div><div ng-show="siteSwitcherCtrl.isDropdownVisible" class="appOrgSwitcher__dropdown"><ul class="appOrgSwitcher__list"><li ng-repeat="site in siteSwitcherCtrl.siteOptions" class="appOrgSwitcher__item"><a ng-click="siteSwitcherCtrl.closeDropdown(); siteSwitcherCtrl.setActiveSite(site)" class="truncate">{{site.get(\'desc\')}}</a></li><li class="appOrgSwitcher__item appOrgSwitcher__add"><a ng-click="siteSwitcherCtrl.openSitesOverview()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--list-unordered"></div><span translate="COMMON_SITE_MENU_OPTION_OVERVIEW"></span></a></li><li unifi-if-role-super-admin class="appOrgSwitcher__item"><a ng-click="siteSwitcherCtrl.addSite()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--plus"></div><span translate="COMMON_SITE_MENU_OPTION_ADD_NEW"></span></a></li><li unifi-if-role-super-admin unifi-if-role-super-admin-and="siteSwitcherCtrl.featureFlag.isEnabled(\'enableSiteImportExport\')" class="appOrgSwitcher__item"><a ng-click="siteSwitcherCtrl.importSite()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--download-2"></div><span translate="COMMON_SITE_MENU_OPTION_IMPORT_SITE"></span></a></li></ul></div></div>'),b.join("")}},{"jade/runtime":233}],437:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiSiteSwitcher",[function(){return{controller:"SiteSwitcherController",controllerAs:"siteSwitcherCtrl",replace:!0,restrict:"E",template:a("./siteSwitcher.jade")(),link:function(a,b,c,d){a.$on("$destroy",function(){d.removeEventHandlers()})}}}])},{"./siteSwitcher.jade":436}],438:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiStylePreferences",["preferences",function(a){return{restrict:"A",link:function(b,c){b.$watch(function(){return a.model.get("isMinimal")},function(a){c[a?"removeClass":"addClass"]("withHeavyIcons")})}}}])},{}],439:[function(a,b,c){"use strict";function d(a){this.$translate=a,this.isDropdownVisible=!1,this.values=[],this.times=[{hours:1,translationKey:"DATETIME_HOUR_FULL_LAST",translationParameters:{}},{hours:8,translationKey:"DATETIME_HOURS_FULL_LAST",translationParameters:{hours:8}},{hours:12,translationKey:"DATETIME_HOURS_FULL_LAST",translationParameters:{hours:12}},{hours:24,translationKey:"DATETIME_HOURS_FULL_LAST",translationParameters:{hours:24}},{hours:48,translationKey:"DATETIME_HOURS_FULL_LAST",translationParameters:{hours:48}},{hours:72,translationKey:"DATETIME_DAYS_FULL_PARAMETERIZED",translationParameters:{days:3}},{hours:168,translationKey:"DATETIME_DAYS_FULL_PARAMETERIZED",translationParameters:{days:7}},{hours:336,translationKey:"DATETIME_WEEKS_FULL_PARAMETERIZED",translationParameters:{weeks:2}},{hours:720,translationKey:"DATETIME_DAYS_FULL_PARAMETERIZED",translationParameters:{days:30}},{hours:2880,translationKey:"DATETIME_DAYS_FULL_PARAMETERIZED",translationParameters:{days:120}},{hours:0,translationKey:"DATETIME_ALL",translationParameters:{}}]}d.prototype.toggleDropdown=function(){this.isDropdownVisible=!this.isDropdownVisible},d.prototype.closeDropdown=function(){this.isDropdownVisible=!1},d.prototype.setValues=function(a){this.values=a,this.timesCache=null},d.prototype.getTimes=function(){return this.timesCache||(this.timesCache=this.times.filter(function(a){return this.values.indexOf(a.hours)!==-1}.bind(this))),this.timesCache},d.prototype.setOnChangeCallback=function(a){this.callback=a},d.prototype.setHours=function(a){this.time=this.times.find(function(b){return b.hours===a})},d.prototype.changeHours=function(a){this.setHours(a),this.callback({hours:a})},d.prototype.getActiveTimeText=function(){return this.$translate.instant(this.time.translationKey,this.time.translationParameters)},d.$inject=["$translate"],angular.module("base-unifi").controller("TimeFilterDropdownController",d)},{}],440:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-click="timeFilterDropdownCtrl.toggleDropdown()" on-outside-element-click="timeFilterDropdownCtrl.closeDropdown()" class="appMainButton appMainButton--filter appMainButton--cozy appMainButton--withDropdown"><span class="button__icon button__icon--left icon ubnt-icon--clock-2 visible--xs"></span><span class="visible--smUp">{{\'COMMON_LABEL_SHOW\' | translate}}:&nbsp;</span><span>{{timeFilterDropdownCtrl.getActiveTimeText()}}</span><span class="button__icon button__icon--right icon ubnt-icon--pointer-down"></span><ul ng-class="{      \'appDropdown--dark\': isDark,      \'is-dropdown-visible\': timeFilterDropdownCtrl.isDropdownVisible    }" class="appDropdown appDropdown--left appDropdown--inButton appDropdown--scrollable"><li ng-repeat="time in timeFilterDropdownCtrl.getTimes()" ng-click="timeFilterDropdownCtrl.changeHours(time.hours)" class="appDropdown__item">{{time.translationKey | translate:time.translationParameters}}</li></ul></div>'),b.join("")}},{"jade/runtime":233}],441:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiTimeFilterDropdown",["TIME_FILTER_DEFAULTS",function(b){return{scope:{values:"=unifiTimeFilterDropdownValues",callback:"&unifiTimeFilterDropdownCallback",defaultHours:"=unifiTimeFilterDropdownDefaultHours",
isDark:"=unifiTimeFilterDropdownIsDark"},controller:"TimeFilterDropdownController",controllerAs:"timeFilterDropdownCtrl",replace:!0,template:a("./timeFilterDropdown.jade")(),link:function(a,c,d,e){e.setValues(a.values||b.DROPDOWN_VALUES),e.setHours(void 0===a.defaultHours?b.DEFAULT_VALUE:a.defaultHours),e.setOnChangeCallback(a.callback)}}}])},{"./timeFilterDropdown.jade":440}],442:[function(a,b,c){"use strict";function d(a){this.intervals=[a.DAILY,a.WEEKLY,a.MONTHLY],this.interval=this.initValue||this.intervals[0]}d.prototype.toggleDropdown=function(){this.isDropdownVisible=!this.isDropdownVisible},d.prototype.closeDropdown=function(){this.isDropdownVisible=!1},d.prototype.setInterval=function(a){this.onChange&&this.interval!==a&&this.onChange({interval:a}),this.interval=a},d.$inject=["TIME_INTERVALS"],angular.module("base-unifi").controller("TimeIntervalSelectorController",d)},{}],443:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div ng-click="timeIntervalSelectorCtrl.toggleDropdown()" on-outside-element-click="timeIntervalSelectorCtrl.closeDropdown()" class="appMainButton appMainButton--filter appMainButton--cozy appMainButton--withDropdown">{{timeIntervalSelectorCtrl.interval.translationKey | translate:timeIntervalSelectorCtrl.interval.translationParams}}<span class="button__icon button__icon--right icon ubnt-icon--pointer-down"></span><ul ng-class="{\'is-dropdown-visible\': timeIntervalSelectorCtrl.isDropdownVisible}" class="appDropdown appDropdown--left appDropdown--inButton"><li ng-repeat="interval in timeIntervalSelectorCtrl.intervals" ng-click="timeIntervalSelectorCtrl.setInterval(interval)" class="appDropdown__item">{{interval.translationKey | translate:interval.translationParams}}</li></ul></div>'),b.join("")}},{"jade/runtime":233}],444:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiTimeIntervalSelector",[function(){return{controller:"TimeIntervalSelectorController",controllerAs:"timeIntervalSelectorCtrl",template:a("./timeIntervalSelector.jade")(),restrict:"E",scope:{initValue:"=unifiTimeIntervalSelectorInitValue",onChange:"&unifiTimeIntervalSelectorOnChange"},bindToController:!0,replace:!0}}])},{"./timeIntervalSelector.jade":443}],445:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiTranslateLink",["$compile","$timeout","$translate",function(a,b,c){return{scope:{translate:"@unifiTranslateLinkTranslate",state:"&unifiTranslateLinkState"},link:function(d,e){b(function(){var b=c.instant(d.translate,{state:d.state()});e.html(a("<span>"+b+"</span>")(d))},0)}}}])},{}],446:[function(a,b,c){"use strict";function d(a,b,c,d,e,f){this.$state=a,this.account=b,this.site=c,this.frame=d,this.editAccountService=e,this.ENV=f,this.isDropdownVisible=!1}d.prototype.toggleDropdown=function(){this.isDropdownVisible=!this.isDropdownVisible},d.prototype.closeDropdown=function(){this.isDropdownVisible=!1},d.prototype.openPreferences=function(){this.closeDropdown(),this.frame.show("preferences")},d.prototype.editAccount=function(){this.closeDropdown(),this.editAccountService.editAccount()},d.prototype.logout=function(){return this.account.logout().then(function(){this.$state.go(this.ENV.LOGIN_STATE,{site:this.site.getActiveSite()})}.bind(this))},d.$inject=["$state","account","site","frame","editAccount","ENV"],angular.module("base-unifi").controller("UserMenuController",d)},{}],447:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div on-outside-element-click="userMenuCtrl.closeDropdown()" class="appOrgSwitcher appOrgSwitcher--withTitle"><div ng-click="userMenuCtrl.toggleDropdown()" class="appOrgSwitcher__trigger"><div translate="COMMON_USER_MENU_TITLE" class="appOrgSwitcher__title"></div><span class="appOrgSwitcher__label">{{userMenuCtrl.account.repository.model.get(\'name\')}}</span><span class="appOrgSwitcher__arrow icon ubnt-icon--pointer-down"></span></div><div ng-show="userMenuCtrl.isDropdownVisible" class="appOrgSwitcher__dropdown"><ul class="appOrgSwitcher__list"><li class="appOrgSwitcher__item"><a ng-click="userMenuCtrl.openPreferences()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--gears"></div><span translate="COMMON_USER_MENU_OPTION_PREFERENCES"></span></a><a ng-click="userMenuCtrl.editAccount()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--pencil"></div><span translate="COMMON_USER_MENU_OPTION_EDIT_ACCOUNT"></span></a><a ng-click="userMenuCtrl.logout()"><div class="appOrgSwitcher__addIcon icon ubnt-icon--logout"></div><span translate="COMMON_USER_MENU_OPTION_LOGOUT"></span></a></li></ul></div></div>'),b.join("")}},{"jade/runtime":233}],448:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiUserMenu",[function(){return{controller:"UserMenuController",controllerAs:"userMenuCtrl",bindToController:!0,template:a("./userMenu.jade")()}}])},{"./userMenu.jade":447}],449:[function(a,b,c){"use strict";function d(a){this.system=a}d.$inject=["system"],angular.module("base-unifi").controller("VersionHeaderController",d)},{}],450:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="appGlobalHeader__version"><div class="appGlobalHeader__versionItem">{{versionHeaderCtrl.system.repository.model.get(\'version\')}}</div></div>'),b.join("")}},{"jade/runtime":233}],451:[function(a,b,c){"use strict";angular.module("base-unifi").directive("unifiVersionHeader",[function(){return{controller:"VersionHeaderController",controllerAs:"versionHeaderCtrl",template:a("./versionHeader.jade")()}}])},{"./versionHeader.jade":450}],452:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$analyticsProvider",function(a){a.withBase(!0)}])},{}],453:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$animateProvider",function(a){a.classNameFilter(/ng-animatable/)}])},{}],454:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$compileProvider",function(a){a.aHrefSanitizationWhitelist(/^\s*(https?|blob):/),a.preAssignBindingsEnabled(!0)}])},{}],455:[function(a,b,c){"use strict";angular.module("base-unifi").config(["contextSwitchStatesProvider","EVENTS",function(a,b){a.setStart(b.SITE_CONTEXT_SWITCH_START).setSuccess(b.SITE_CONTEXT_SWITCH_SUCCESS).setFail(b.SITE_CONTEXT_SWITCH_FAIL)}])},{}],456:[function(a,b,c){"use strict";angular.module("base-unifi").config(["d3Provider",function(a){a.enableExtension("ubntSelection")}])},{}],457:[function(a,b,c){"use strict";angular.module("base-unifi").config(["deviceProvider",function(a){var b=document.location.search.substring(1).split("&"),c={};b.forEach(function(a){var b=a.split("=");c[decodeURIComponent(b[0])]=decodeURIComponent(b[1])}),c.d&&a.initActiveDevice(c.d)}])},{}],458:[function(a,b,c){"use strict";angular.forEach(window.unifiConfig,function(a,b){angular.module("base-unifi").value(b,a)}),angular.forEach(window.unifiConstant,function(a,b){angular.module("base-unifi").constant(b,a)}),angular.forEach(window.webrtcConfig,function(a,b){angular.module("base-unifi").value(b,a)})},{}],459:[function(a,b,c){"use strict";angular.module("base-unifi").config(["frameProvider",function(b){b.when("confirm",{controller:"ConfirmController",controllerAs:"confirmCtrl",template:a("../views/frames/confirm.jade")(),layout:"confirmLayout"}).when("editAccount",{controller:"EditAccountController",controllerAs:"editAccountCtrl",template:a("../views/frames/editAccount.jade")(),layout:"editAccountLayout"})}])},{"../views/frames/confirm.jade":633,"../views/frames/editAccount.jade":634}],460:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$httpProvider",function(a){a.useApplyAsync(!0),a.interceptors.push("accessHttpInterceptor"),a.interceptors.push("xhrHttpInterceptor")}])},{}],461:[function(a,b,c){"use strict";angular.module("base-unifi").config([function(){var b=a("moment-twitter");b.lang("en",{calendar:{lastDay:"[Yesterday]",sameDay:"[Today]",nextDay:"[Tomorrow]",lastWeek:"[last] dddd",nextWeek:"dddd",sameElse:"L"}})}])},{"moment-twitter":236}],462:[function(a,b,c){"use strict";angular.module("base-unifi").config(["preferencesProvider","DEFAULT_PREFERENCES",function(a,b){a.initDefaultPreferences({rowsPerPage:b.ROWS_PER_PAGE,rowsPerPropertyPanel:b.ROWS_PER_PROPERTY_PANEL,refreshRate:b.REFRESH_RATE,refreshRateRememberAll:b.REFRESH_RATE_REMEMBER_ALL,isSettingsDark:b.IS_SETTINGS_DARK,isCondensed:b.IS_CONDENSED,isMinimal:b.IS_MINIMAL,isResponsive:b.IS_RESPONSIVE,isPropertyPanelInline:b.IS_PROPERTY_PANEL_INLINE,alertsPosition:b.ALERTS_POSITION,use24HourTime:b.USE_24_HOUR_CLOCK,dateFormat:b.DATE_FORMAT,timeFormat:b.USE_24_HOUR_CLOCK?b.TIME_FORMAT_24HR:b.TIME_FORMAT_12HR,websocketEnabled:b.WEBSOCKET_ENABLED})}])},{}],463:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$qProvider",function(a){a.errorOnUnhandledRejections(!1)}])},{}],464:[function(a,b,c){"use strict";angular.module("base-unifi").config(["redirectUrlProvider",function(a){a.store(window.location.href)}])},{}],465:[function(a,b,c){"use strict";angular.module("base-unifi").config(["siteProvider",function(a){var b=window.location.pathname.split("/"),c=b.indexOf("site");c>=0&&b[c+1]&&a.initActiveSite(b[c+1])}])},{}],466:[function(a,b,c){"use strict";angular.module("base-unifi").config(["$translateProvider","$translatePartialLoaderProvider","translateDebugProvider","LANGUAGES",function(a,b,c,d){var e=window.unifiConfig.version,f=c.isEnabled();if(a.useSanitizeValueStrategy("escapeParameters").uniformLanguageTag("bcp47"),f){var g="debug";a.useLoader("$translatePartialLoader",{urlTemplate:"locales/debug.json"}).translations(g,{}).preferredLanguage(g)}else a.useLoader("$translatePartialLoader",{urlTemplate:"locales/{lang}/{part}.json?v="+e}).useStorage("i18nLocalStorage").addInterpolation("$translateMessageFormatInterpolation").registerAvailableLanguageKeys(d.supportedLanguagesList,d.supportedLanguagesMapping).determinePreferredLanguage().fallbackLanguage("en")}])},{}],467:[function(a,b,c){"use strict";angular.module("base-unifi").config(["versionProvider",function(a){a.readVersion(window.location.pathname)}])},{}],468:[function(a,b,c){"use strict";angular.module("base-unifi").config(["webRtcConnectorProvider",function(a){a.useConfigurationFactory("unifiWebRtcConfiguration")}])},{}],469:[function(a,b,c){"use strict";angular.module("base-unifi").constant("ANALYTICS_CATEGORIES",{WEBRTC:"V5_WEBRTC"})},{}],470:[function(a,b,c){"use strict";angular.module("base-unifi").constant("ANALYTICS_EVENTS",{WEBRTC_EVENT_PREFIX:"V5_WEBRTC_",WEBRTC_FATAL_ERROR:"V5_WEBRTC_FATAL_ERROR",WEBRTC_SUCCESS:"V5_WEBRTC_SUCCESS"})},{}],471:[function(a,b,c){"use strict";angular.module("base-unifi").constant("API_STRINGS",{"api.err.AlreadyAdopted":"API_ERROR_ALREADY_ADOPTED","api.err.AlreadyJoined":"API_ERROR_ALREADY_JOINED","api.err.BackupFailed":"API_ERROR_BACKUP_FAILED","api.err.BetaQuotaReached":"API_ERROR_BETA_QUOTA_REACHED","api.err.CannotAssignLicense":"API_ERROR_CANNOT_ASSIGN_LICENSE","api.err.CannotBeEmpty":"API_ERROR_CANNOT_BE_EMPTY","api.err.CannotCheckCredentials":"API_ERROR_CANNOT_CHECK_CREDENTIALS","api.err.CannotCreateLicense":"API_ERROR_CANNOT_CREATE_LICENSE","api.err.CannotRegisterDevice":"API_ERROR_CANNOT_REGISTER_DEVICE","api.err.CannotRevokeSelf":"API_ERROR_CANNOT_REVOKE_SELF","api.err.CannotUnassignLicense":"API_ERROR_CANNOT_UNASSIGN_LICENSE","api.err.ControllerBusy":"API_ERROR_CONTROLLER_BUSY","api.err.DeviceBusy":"API_ERROR_DEVICE_BUSY","api.err.DeviceStreaming":"API_ERROR_DEVICE_STREAMING","api.err.DownlinksNotUpgraded":"API_ERROR_DOWNLINKS_NOT_UPGRADED","api.err.DuplicateMemberDevice":"API_ERROR_DUPLICATE_MEMBER_DEVICE","api.err.DuplicateAccountName":"API_ERROR_DUPLICATE_ACCOUNT_NAME","api.err.DuplicateSiteName":"API_ERROR_DUPLICATE_SITE_NAME","api.err.DynamicDNSServiceExisted":"API_ERROR_DYNAMIC_DNS_SERVICE_EXISTED","api.err.E_WirelessUplinkDisabled":"API_ERROR_WIRELESS_UPLINK_DISABLED","api.err.EmailExisted":"API_ERROR_EMAIL_EXISTED","api.err.EmailNotEligible":"API_ERROR_EMAIL_NOT_ELIGIBLE","api.err.ExtensionExists":"API_ERROR_EXTENSION_EXISTS","api.err.IdInvalid":"API_ERROR_ID_INVALID","api.err.IdRequired":"API_ERROR_ID_REQUIRED","api.err.IncorrectIPAddress":"API_ERROR_INCORRECT_IP_ADDRESS","api.err.IncorrectIPRange":"API_ERROR_INCORRECT_IP_RANGE","api.err.IncorrectIPSubnetSpec":"API_ERROR_INCORRECT_IP_SUBNET_SPEC","api.err.IncorrectMultiportFwdPort":"API_ERROR_INCORRECT_MULTIPORT_FWD_PORT","api.err.IncorrectNetworkAddress":"API_ERROR_INCORRECT_NETWORK_ADDRESS","api.err.IncorrectNumberRange":"API_ERROR_INCORRECT_NUMBER_RANGE","api.err.IncorrectUbicCreds":"API_ERROR_INCORRECT_UBIC_CREDS","api.err.InternalServerError":"API_ERROR_INTERNAL_SERVER_ERROR","api.err.Invalid":"API_ERROR_INVALID","api.err.InvalidAdminName":"API_ERROR_INVALID_ADMIN_NAME","api.err.InvalidAggregateRange":"API_ERROR_INVALID_AGGREGATE_RANGE","api.err.InvalidArgs":"API_ERROR_INVALID_ARGS","api.err.InvalidBackup":"API_ERROR_INVALID_BACKUP","api.err.InvalidBackupVersion":"API_ERROR_INVALID_BACKUP_VERSION","api.err.InvalidDHCPRange":"API_ERROR_INVALID_DHCP_RANGE","api.err.InvalidEmail":"API_ERROR_INVALID_EMAIL","api.err.InvalidFirmwareUrl":"API_ERROR_INVALID_FIRMWARE_URL","api.err.InvalidFixedIP":"API_ERROR_INVALID_FIXED_IP","api.err.InvalidKey":"API_ERROR_INVALID_KEY","api.err.InvalidLogin":"API_ERROR_INVALID_LOGIN","api.err.InvalidMedia":"API_ERROR_INVALID_MEDIA","api.err.InvalidMediaFile":"API_ERROR_INVALID_MEDIA_FILE","api.err.InvalidMemberDevice":"API_ERROR_INVALID_MEMBER_DEVICE","api.err.InvalidMirroringPort":"API_ERROR_INVALID_MIRRORING_PORT","api.err.InvalidObject":"API_ERROR_INVALID_OBJECT","api.err.InvalidPayload":"API_ERROR_INVALID_PAYLOAD","api.err.InvalidPortConf":"API_ERROR_INVALID_PORT_CONF","api.err.InvalidRequest":"API_ERROR_INVALID_REQUEST","api.err.InvalidSampleAudio":"API_ERROR_INVALID_SAMPLE_AUDIO","api.err.InvalidSiteBackup":"API_ERROR_INVALID_SITE_BACKUP","api.err.InvalidSiteName":"API_ERROR_INVALID_SITE_NAME","api.err.InvalidTarget":"API_ERROR_INVALID_TARGET","api.err.InvalidTargetPort":"API_ERROR_INVALID_TARGET_PORT","api.err.InvalidValue":"API_ERROR_INVALID_VALUE","api.err.InvalidVerification":"API_ERROR_INVALID_VERIFICATION","api.err.IpsecDynamicRoutingRequiresLocalIPAddress":"API_ERROR_IPSEC_DYNAMIC_ROUTING_REQUIRES_LOCAL_IP_ADDRESS","api.err.LocalCommandException":"API_ERROR_LOCAL_COMMAND_EXCEPTION","api.err.LoginRequired":"API_ERROR_LOGIN_REQUIRED","api.err.MissingBroadcastGroup":"API_ERROR_MISSING_BROADCAST_GROUP","api.err.MissingDevices":"API_ERROR_MISSING_DEVICES","api.err.MissingStreamType":"API_ERROR_MISSING_STREAM_TYPE","api.err.NameExisted":"API_ERROR_NAME_EXISTED","api.err.NoDelete":"API_ERROR_NO_DELETE","api.err.NoEdit":"API_ERROR_NO_EDIT","api.err.NoLicense":"API_ERROR_NO_LICENSE","api.err.NoPermission":"API_ERROR_NO_PERMISSION","api.err.NoSecondGateway":"API_ERROR_NO_SECOND_GATEWAY","api.err.NoSecondRemoveUserVPN":"API_ERROR_NO_SECOND_REMOTE_USER_VPN","api.err.NoSiteContext":"API_ERROR_NO_SITE_CONTEXT","api.err.NoSuchCommand":"API_ERROR_NO_SUCH_COMMAND","api.err.NotCloudKey":"API_ERROR_NOT_CLOUD_KEY","api.err.NotCompatible":"API_ERROR_NOT_COMPATIBLE","api.err.NotFound":"API_ERROR_NOT_FOUND","api.err.NotImplemented":"API_ERROR_NOT_IMPLEMENTED","api.err.NotSupported":"API_ERROR_NOT_SUPPORTED","api.err.NoTunnelIpAvailable":"API_ERROR_NO_TUNNEL_IP_AVAILABLE","api.err.NoUBNTSso":"API_ERROR_NO_UBNT_SSO","api.err.ObjectReferredBy":"API_ERROR_OBJECT_REFERRED_BY","api.err.ObjectReferredByDevice":"API_ERROR_OBJECT_REFERRED_BY_DEVICE","api.err.ObjectReferredByWlanOverride":"API_ERROR_OBJECT_REFERRED_BY_WLAN_OVERRIDE","api.err.OpenvpnAddressReserved":"API_ERROR_OPENVPN_ADDRESS_RESERVED","api.err.OpenvpnAddressUsed":"API_ERROR_OPENVPN_ADDRESS_USED","api.err.OpenvpnPortReserved":"API_ERROR_OPENVPN_PORT_RESERVED","api.err.OpenvpnPortUsed":"API_ERROR_OPENVPN_PORT_USED","api.err.PasswordsDontMatch":"API_ERROR_PASSWORDS_DONT_MATCH","api.err.PortUnavailable":"API_ERROR_PORT_UNAVAILABLE","api.err.RefundError":"API_ERROR_REFUND_ERROR","api.err.RemoteSubnetOverlapped":"API_ERROR_REMOTE_SUBNET_OVERLAPPED","api.err.RemoteUserVpnRangeExceeded":"API_ERROR_REMOTE_USER_VPN_RANGE_EXCEEDED","api.err.SdnEnabled":"API_ERROR_SDN_ENABLED","api.err.SdnNotReady":"API_ERROR_SDN_NOT_READY","api.err.ServerBusy":"API_ERROR_SERVER_BUSY","api.err.SiteVpnSubnetOverlapped":"API_ERROR_SITE_VPN_SUBNET_OVERLAPPED","api.err.SmtpAuthFailed":"API_ERROR_SMTP_AUTH_FAILED","api.err.SmtpNotEnabled":"API_ERROR_SMTP_NOT_ENABLED","api.err.SmtpSendFailed":"API_ERROR_SMTP_SEND_FAILED","api.err.SmtpUnknownFailed":"API_ERROR_SMTP_UNKNOWN_FAILED","api.err.SpectrumScanInProgress":"API_ERROR_SPECTRUM_SCAN_IN_PROGRESS","api.err.StreamDoesNotExist":"API_ERROR_STREAM_DOES_NOT_EXIST","api.err.StreamNotReady":"API_ERROR_STREAM_NOT_READY","api.err.SubnetOverlapped":"API_ERROR_SUBNET_OVERLAPPED","api.err.TooManyAggregate":"API_ERROR_TOO_MANY_AGGREGATE","api.err.TooManyBlockedUser":"API_ERROR_TOO_MANY_BLOCKED_USER","api.err.TooManyDHCPLeases":"API_ERROR_TOO_MANY_DHCP_LEASES","api.err.TooManyFixedIpUser":"API_ERROR_TOO_MANY_FIXED_IP_USER","api.err.TooManyMirror":"API_ERROR_TOO_MANY_MIRROR","api.err.TooManyMultiportPorts":"API_ERROR_TOO_MANY_MULTIPORT_PORTS","api.err.TooManyNetwork":"API_ERROR_TOO_MANY_NETWORK","api.err.TooManyQueries":"API_ERROR_TOO_MANY_QUERIES","api.err.TooManyStreams":"API_ERROR_TOO_MANY_STREAMS","api.err.TooManyVlanNetwork":"API_ERROR_TOO_MANY_VLAN_NETWORK","api.err.TooManyVpnClientNetwork":"API_ERROR_TOO_MANY_VPN_CLIENT_NETWORK","api.err.TooManyWirelessNetwork":"API_ERROR_TOO_MANY_WIRELESS_NETWORK","api.err.UbicUnreachable":"API_ERROR_UBIC_UNREACHABLE","api.err.UBNTSsoExisted":"API_ERROR_UBNT_SSO_EXISTED","api.err.UnknownDevice":"API_ERROR_UNKNOWN_DEVICE","api.err.UnknownGuest":"API_ERROR_UNKNOWN_GUEST","api.err.UnknownPayment":"API_ERROR_UNKNOWN_PAYMENT","api.err.UnknownPaymentGateway":"API_ERROR_UNKNOWN_PAYMENT_GATEWAY","api.err.UnknownStation":"API_ERROR_UNKNOWN_STATION","api.err.UnknownUpload":"API_ERROR_UNKNOWN_UPLOAD","api.err.UnknownUser":"API_ERROR_UNKNOWN_USER","api.err.UpgradeInProgress":"API_ERROR_UPGRADE_IN_PROGRESS","api.err.UplinkDeviceBusy":"API_ERROR_UPLINK_DEVICE_BUSY","api.err.VlanUsed":"API_ERROR_VLAN_USED","api.err.WirelessUplinkDisabled":"API_ERROR_WIRELESS_UPLINK_DISABLED"})},{}],472:[function(a,b,c){"use strict";angular.module("base-unifi").constant("BACKBONE_EVENTS",{COLLECTION_MODIFIED:"add remove change reset"})},{}],473:[function(a,b,c){"use strict";angular.module("base-unifi").constant("BACKUP_DEFAULTS",{MONTHLY_OCCURANCE:"0 0 1 * *"})},{}],474:[function(a,b,c){"use strict";angular.module("base-unifi").constant("DEFAULT_PREFERENCES",{ROWS_PER_PAGE:50,ROWS_PER_PROPERTY_PANEL:10,REFRESH_RATE:"2MIN",REFRESH_RATE_REMEMBER_ALL:!1,IS_SETTINGS_DARK:!0,IS_CONDENSED:!0,IS_MINIMAL:!1,IS_RESPONSIVE:!1,IS_PROPERTY_PANEL_INLINE:!0,ALERTS_POSITION:"top_right",USE_24_HOUR_CLOCK:!1,DATE_FORMAT:"MM/DD/YYYY",TIME_FORMAT_12HR:"h:mm a",TIME_FORMAT_24HR:"H:mm",WEBSOCKET_ENABLED:!0})},{}],475:[function(a,b,c){"use strict";angular.module("base-unifi").constant("DEFAULT_UCK_SSH_CREDENTIALS",{username:"root",password:"ubnt"})},{}],476:[function(a,b,c){"use strict";angular.module("base-unifi").constant("GUEST_AUTHORIZATION",{NONE:"none",PASSWORD:"password",API:"api",VOUCHER:"voucher",CREDIT:"credit",PAYPAL:"paypal",FACEBOOK:"facebook"})},{}],477:[function(a,b,c){"use strict";angular.module("base-unifi").constant("HOTSPOT_PACKAGES_DEFAULTS",[{amount:5.99,charged_as:"Hotspot 8-hour Wifi",currency:"USD",hours:8,name:"Basic 8HR"},{amount:8.99,charged_as:"Hotspot 1-dayWifi",currency:"USD",hours:24,name:"Premium Daypass"},{amount:0,hours:2,trial_reset:24,name:"Free Trial",limit_overwrite:!0,limit_down:4096,limit_up:1024,limit_quota:1024}])},{}],478:[function(a,b,c){"use strict";angular.module("base-unifi").constant("KEY_PRESS_EVENTS",[{keyCode:13,broadcastEvent:"keypress:enter"},{keyCode:27,broadcastEvent:"keypress:escape"}])},{}],479:[function(a,b,c){"use strict";angular.module("base-unifi").constant("LANGUAGES",{supportedLanguagesList:["en","ca","cs","de_DE","es_ES","nl","pl","pt_PT","sv","tr","zh_CN"],supportedLanguagesMapping:{en_US:"en",en_GB:"en",de:"de_DE",de_AT:"de_DE",de_CH:"de_DE",de_LI:"de_DE",de_LU:"de_DE",es:"es_ES",es_AR:"es_ES",es_BO:"es_ES",es_CL:"es_ES",es_CO:"es_ES",es_CR:"es_ES",es_DO:"es_ES",es_EC:"es_ES",es_ES:"es_ES",es_GT:"es_ES",es_HN:"es_ES",es_MX:"es_ES",es_NI:"es_ES",es_PA:"es_ES",es_PE:"es_ES",es_PR:"es_ES",es_PY:"es_ES",es_SV:"es_ES",es_UY:"es_ES",es_VE:"es_ES",nl_BE:"nl",nl_NL:"nl",pl_PL:"pl",pt:"pt_PT",pt_BR:"pt_PT",sv_SE:"sv",sv_FI:"sv",tr_TR:"tr",zh_CN:"zh_CN",zh:"zh_CN","*":"en"},translationKeys:{ca:"Català",cs:"Český",de_DE:"Deutsch",en:"English",es_ES:"Español",nl:"Nederlands",pl:"Polski",pt_PT:"Português",sv:"Svenska",tr:"Türkçe",zh_CN:"中文"},languagesAlpha3:{afr:"LANGUAGE_AF",ara:"LANGUAGE_AR",aze:"LANGUAGE_AZ",bel:"LANGUAGE_BE",bul:"LANGUAGE_BG",cat:"LANGUAGE_CA",cze:"LANGUAGE_CS",wel:"LANGUAGE_CY",dan:"LANGUAGE_DA",ger:"LANGUAGE_DE",div:"LANGUAGE_DV",gre:"LANGUAGE_EL",eng:"LANGUAGE_EN",epo:"LANGUAGE_EO",spa:"LANGUAGE_ES",est:"LANGUAGE_ET",eus:"LANGUAGE_EU",fas:"LANGUAGE_FA",fin:"LANGUAGE_FI",fao:"LANGUAGE_FO",fre:"LANGUAGE_FR",glg:"LANGUAGE_GL",guj:"LANGUAGE_GU",heb:"LANGUAGE_HE",hin:"LANGUAGE_HI",hrv:"LANGUAGE_HR",hun:"LANGUAGE_HU",hye:"LANGUAGE_HY",ind:"LANGUAGE_ID",isl:"LANGUAGE_IS",ita:"LANGUAGE_IT",jpn:"LANGUAGE_JA",kat:"LANGUAGE_KA",kaz:"LANGUAGE_KK",kan:"LANGUAGE_KN",kor:"LANGUAGE_KO",kok:"LANGUAGE_KOK",kir:"LANGUAGE_KY",lit:"LANGUAGE_LT",lav:"LANGUAGE_LV",mri:"LANGUAGE_MI",mkd:"LANGUAGE_MK",mon:"LANGUAGE_MN",mar:"LANGUAGE_MR",msa:"LANGUAGE_MS",mlt:"LANGUAGE_MT",nid:"LANGUAGE_NL",nso:"LANGUAGE_NS",pan:"LANGUAGE_PA",pol:"LANGUAGE_PL",pus:"LANGUAGE_PS",por:"LANGUAGE_PT",que:"LANGUAGE_QU",ron:"LANGUAGE_RO",rus:"LANGUAGE_RU",san:"LANGUAGE_SA",sme:"LANGUAGE_SE",slk:"LANGUAGE_SK",slv:"LANGUAGE_SL",sqi:"LANGUAGE_SQ",swe:"LANGUAGE_SV",swa:"LANGUAGE_SW",syr:"LANGUAGE_SYR",tam:"LANGUAGE_TA",tel:"LANGUAGE_TE",tha:"LANGUAGE_TH",tgl:"LANGUAGE_TL",tsn:"LANGUAGE_TN",tur:"LANGUAGE_TR",tat:"LANGUAGE_TT",tso:"LANGUAGE_TS",ukr:"LANGUAGE_UK",urd:"LANGUAGE_UR",uzb:"LANGUAGE_UZ",vie:"LANGUAGE_VI",xho:"LANGUAGE_XH",zho:"LANGUAGE_ZH",zul:"LANGUAGE_ZU"}})},{}],480:[function(a,b,c){"use strict";angular.module("base-unifi").constant("REFRESH_RATES",[{id:"15SEC",seconds:15,mobileTranslationKey:"COMMON_REFRESH_RATE_MOBILE_MENU_OPTION_15SEC",translationKey:"COMMON_REFRESH_RATE_MENU_OPTION_15SEC",isTemporary:!0},{id:"1MIN",seconds:60,mobileTranslationKey:"COMMON_REFRESH_RATE_MOBILE_MENU_OPTION_1MIN",translationKey:"COMMON_REFRESH_RATE_MENU_OPTION_1MIN"},{id:"2MIN",seconds:120,mobileTranslationKey:"COMMON_REFRESH_RATE_MOBILE_MENU_OPTION_2MIN",translationKey:"COMMON_REFRESH_RATE_MENU_OPTION_2MIN"},{id:"5MIN",seconds:300,mobileTranslationKey:"COMMON_REFRESH_RATE_MOBILE_MENU_OPTION_5MIN",translationKey:"COMMON_REFRESH_RATE_MENU_OPTION_5MIN"},{id:"NEVER",seconds:null,mobileTranslationKey:"COMMON_REFRESH_RATE_MOBILE_MENU_OPTION_NEVER",translationKey:"COMMON_REFRESH_RATE_MENU_OPTION_NEVER",isTemporary:!0}])},{}],481:[function(a,b,c){"use strict";var d=a("xregexp").XRegExp;angular.module("base-unifi").constant("REGEX_PATTERNS",{MAC_ADDRESS:/([0-9A-F]{2}[:-]){5}([0-9A-F]{2})/i,NAME:new d("^[\\p{L}\\p{Z}\\p{P}\\p{S}\\p{N}]{0,}$"),ACCOUNT_NAME:/^[_A-Z0-9][-_.A-Z0-9]*$/i,DEVICE_ACCOUNT_NAME:/^[_A-Z0-9][-\@_.A-Z0-9]*$/i,FIREWALL_GROUP_NAME:/^[^\"'\s]{1,128}$/,FIREWALL_RULE_NAME:/^.{1,128}$/,HOSTNAME:/^[A-Z0-9.-]+$/i,IP_ADDRESS:/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/,NETMASK:/^((128|192|224|240|248|252|254)\.0\.0\.0)|(255\.(((0|128|192|224|240|248|252|254)\.0\.0)|(255\.(((0|128|192|224|240|248|252|254)\.0)|255\.(0|128|192|224|240|248|252|254)))))$/,PASSWORD:/^([\x20-\x7E]){8,63}$/,PORT_NUMBER:/^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/,ROUTE_DISTANCE:/^([0-9][0-9]{0,1}|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/,SUBNET:/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$/,HOSTNAME_OR_SUBNET:/^([A-Z0-9.-]+)|((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2])))$/i,VLAN:/^([2-9]|[1-9][0-9]{1,2}|[1-3][0-9]{3}|40[0-8][0-9]|409[0-5])$/,WEP:/^([0-9a-fA-F]){10}$|^([0-9a-fA-F]){26}$|^([\x20-\x7E]){5}$|^([\x20-\x7E]){13}$/,ADMIN_NAME:/^[_A-Za-z0-9][-_.A-Za-z0-9]*$/,RADIUS_SECRET:/^[^\"\' ]{1,128}$/})},{xregexp:241}],482:[function(a,b,c){"use strict";angular.module("base-unifi").constant("REPORT_DEFAULTS",{REPORTS_DATE_FORMAT:"x"})},{}],483:[function(a,b,c){"use strict";angular.module("base-unifi").constant("SDN_STATES",{DISABLED:"disabled",CONNECTING:"connecting",CONNECTED:"connected",DISCONNECTED:"disconnected",NOT_REGISTERED:"notregistered"})},{}],484:[function(a,b,c){"use strict";angular.module("base-unifi").constant("TIME_FILTER_DEFAULTS",{DROPDOWN_VALUES:[24,72,168,336,720,2880],DEFAULT_VALUE:24})},{}],485:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").constant("TIME_INTERVALS",{DAILY:{name:"daily",url:"hourly",grain:d.duration(1,"hour").asMilliseconds(),value:1,unit:"day",translationKey:"DATETIME_HOURS_FULL_PARAMETERIZED",translationParams:{hours:24}},MONTHLY:{name:"monthly",url:"daily",grain:d.duration(1,"day").asMilliseconds(),value:1,unit:"month",translationKey:"DATETIME_MONTH"},WEEKLY:{name:"weekly",url:"daily",grain:d.duration(1,"day").asMilliseconds(),value:1,unit:"week",translationKey:"DATETIME_WEEK"}})},{moment:238}],486:[function(a,b,c){"use strict";angular.module("base-unifi").constant("UNIFI_WEBRTC_ERROR",{DEVICE_OFFLINE:"DEVICE_OFFLINE",DEVICE_VERSION_INCOMPATIBLE:"DEVICE_VERSION_INCOMPATIBLE",ERROR_CONTROLLER_NOT_FOUND:"ERROR_CONTROLLER_NOT_FOUND",ERROR_ESTABLISH_CONNECTION:"ERROR_ESTABLISH_CONNECTION",ERROR_NOT_LOGGED_INTO_SSO:"ERROR_NOT_LOGGED_INTO_SSO"})},{}],487:[function(a,b,c){"use strict";angular.module("base-unifi").constant("UNIFI_WEBRTC_EVENTS",{UNIFI_WEBRTC_VALIDATING_SSO:"UNIFI_WEBRTC_VALIDATING_SSO",UNIFI_WEBRTC_OBTAINING_CONTROLLER_INFO:"UNIFI_WEBRTC_OBTAINING_CONTROLLER_INFO",UNIFI_WEBRTC_ESTABLISHING_COMMUNICATION:"UNIFI_WEBRTC_ESTABLISHING_COMMUNICATION",UNIFI_WEBRTC_INITIALIZING_APPLICATION:"UNIFI_WEBRTC_INITIALIZING_APPLICATION"})},{}],488:[function(a,b,c){"use strict";angular.module("base-unifi").constant("UPDATE_STATUS",{UPDATE_AVAILABLE:"UPDATE_AVAILABLE",UP_TO_DATE:"UP_TO_DATE"}),angular.module("base-unifi").constant("UPDATE_PROGRESS_STATUS",{UNKNOWN:"unknown",DOWNLOADING:"downloading",CHECKING:"checking",MOVING:"moving",UPDATING:"updating",SOURCING:"sourcing",OTHERS:"others",RESTARTING:"restarting"}),angular.module("base-unifi").constant("UPDATE_STATUS_REFRESH",1e4)},{}],489:[function(a,b,c){"use strict";angular.module("base-unifi").constant("URL_ACCESS_WHITE_LIST",["api/sso/v1/user/self"])},{}],490:[function(a,b,c){"use strict";angular.module("base-unifi").constant("WS_DEFAULTS",{UNIFI_WS_RETRY_SCALAR:200})},{}],491:[function(a,b,c){"use strict";function d(a,b){this.accountHostname=a,this.serverVersion=b.repository.model.getNested("meta.server_version"),this.showOneAccount=!1}d.$inject=["AccountHostname","status"],angular.module("base-unifi").controller("AccountController",d)},{}],492:[function(a,b,c){"use strict";function d(a){e.call(this,a)}var e=a("../../base-unifi/controllers/BaseFormController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.getEmptyModel=function(){if(this.models&&this.models.length)return new this.models[0].constructor},d.prototype.createModelCopy=function(){e.prototype.createModelCopy.call(this),this.modelCopy||(this.modelCopy=this.getEmptyModel())},d.prototype.updateModels=function(a){this.models=a,(this.isBatch=!!(this.models&&this.models.length>1))||!this.models?this.updateModel(this.getEmptyModel()):this.updateModel(this.models[0])},d.prototype.getModelsIds=function(){return this.models?this.models.map(function(a){return a.id}):[]},d.prototype.getUnanimousModelValue=function(a,b){return b=b||this.models,b&&b.reduce(function(b,c,d){return 0===d?c.get(a):c.get(a)===b?b:void 0},void 0)},d.$inject=["modelDivergence"],b.exports=d},{"../../base-unifi/controllers/BaseFormController":499}],493:[function(a,b,c){"use strict";function d(a){this.hasPermission=this.hasPermission||a.isAdmin.bind(a),this.isApplicable=!1,e.call(this)}var e=a("../../base-unifi/controllers/BaseModelController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.showButton=function(){return this.hasPermission()&&this.isApplicable},d.$inject=["account"],b.exports=d},{"../../base-unifi/controllers/BaseModelController":502}],494:[function(a,b,c){"use strict";function d(a){this.hasPermission=a.isAdmin.bind(a),this.isApplicable=!1,e.call(this)}var e=a("../../base-unifi/controllers/BaseCollectionController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.showButton=function(){return this.hasPermission()&&this.isApplicable},d.$inject=["account"],b.exports=d},{"../../base-unifi/controllers/BaseCollectionController":495}],495:[function(a,b,c){"use strict";function d(){this.collectionChangeEvent=this.collectionChangeEvent||"update",this.doNotUseInhibitor=this.doNotUseInhibitor||!1,this.onCollectionChange=this.onCollectionChange.bind(this)}d.prototype.setChangeEvent=function(a){this.removeEventHandlers(),this.collectionChangeEvent=a,this.addEventHandlers()},d.prototype.updateCollection=function(a){this.removeEventHandlers(),this.collection=a,this.addEventHandlers(),this.onCollectionChange()},d.prototype.onCollectionChange=function(){throw new Error("You must override onCollectionChange")},d.prototype.addEventHandlers=function(){this.collection&&(this.collectionListener=this.collection.onEvent(this.collectionChangeEvent,this.onCollectionChange,{doNotUseInhibitor:this.doNotUseInhibitor}))},d.prototype.removeEventHandlers=function(){this.collection&&this.collectionListener&&this.collectionListener.stopListening()},d.$inject=[],b.exports=d},{}],496:[function(a,b,c){"use strict";function d(a,b,c,d){this.$rootScope=a,this.$timeout=b,this.frame=c,d=d||{},this.allowHtml=d.allowHtml,this.bypassFlag=d.bypassFlag,this.warnings=d.warnings,this.defaultCancel=!!d.defaultCancel;var e=a.$on("$frameClose:confirm",function(){this.removeEventHandlers(),e()}.bind(this));this.addEventHandlers()}d.prototype.addEventHandlers=function(){this.removeEventHandlers(),this.events=[this.$rootScope.$on("keypress:enter",function(){this.defaultCancel?this.$timeout(this.reject.bind(this),0):this.$timeout(this.resolve.bind(this),0)}.bind(this))]},d.prototype.removeEventHandlers=function(){this.events&&angular.forEach(this.events,function(a){a()})},d.prototype.resolve=function(a){return this.frame.getLayout("confirmLayout").resolve(a)},d.prototype.reject=function(){return this.frame.getLayout("confirmLayout").reject()},d.$inject=["$rootScope","$timeout","frame"],b.exports=d},{}],497:[function(a,b,c){"use strict";function d(a,b,c){this.scroller=c,this.isDockOpen=this.isDockOpen||b.isDockOpen.bind(b),this.openDock=this.openDock||b.openDock.bind(b),this.closeDock=this.closeDock||b.closeDock.bind(b),this.toggleDock=this.toggleDock||b.toggleDock.bind(b),this.removeDockedItems=this.removeDockedItems||b.removeDockedItems.bind(b),this.clearDock=this.clearDock||b.clear.bind(b),this.isEmpty=this.isEmpty||b.isEmpty.bind(b),e.call(this,a,b)}var e=a("../../base-unifi/controllers/BasePanelController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.getItemType=function(){throw new Error("You must override getItemType")},d.prototype.setItemOrder=function(a,b){this.panels.getItemById(a).then(function(a){this.panels.addItem(a,null,b)}.bind(this))},d.prototype.setItemCoords=function(a,b,c){this.panels.getItemById(a).then(function(a){this.panels.addItem(a,[{
state:"x",value:b+"px",overwrite:!0},{state:"y",value:c+"px",overwrite:!0},{state:"undocked",value:!0,overwrite:!0}],0)}.bind(this))},d.prototype.addEventHandlers=function(){this.collection.on("add",this.onItemAdd,this),this.collection.on("reset",this.closeDock),this.collection.on("remove",this.closeDockWhenEmpty,this),this.panels.itemState.collection.on("change:undocked",this.onUndockedChange,this)},d.prototype.removeEventHandlers=function(){this.collection.off("add",this.onItemAdd,this),this.collection.off("reset",this.closeDock),this.collection.off("remove",this.closeDockWhenEmpty,this),this.panels.itemState.collection.off("change:undocked",this.onUndockedChange,this)},d.prototype.onItemAdd=function(a){this.panels.getItemState(a,"undocked")||(this.openDock(),this.scrollToItem(a))},d.prototype.scrollToItem=function(a){!this.panels.getItemState(a,"undocked")&&angular.isFunction(this.getItemElementId)&&this.$timeout(function(){this.scroller.transitionToElement(this.getItemElementId(a))}.bind(this),0,!1)},d.prototype.hasDockedItems=function(){var a=!1;return this.collection.each(function(b){this.panels.getItemState(b,"undocked")||(a=!0)}.bind(this)),a},d.prototype.onUndockedChange=function(){this.hasDockedItems()?this.openDock():this.closeDock()},d.prototype.areAllDockedPanelsCollapsed=function(){return this.panels.collection.length>0&&0===this.panels.getItemsByState([{state:"undocked",value:!1,allowUndefined:!0},{state:"collapsed",value:!1,allowUndefined:!0}]).length},d.prototype.collapsePanels=function(){this.collection.each(function(a){this.panels.getItemState(a,"undocked")||this.panels.setItemState(a,"collapsed",!0,!0)}.bind(this)),this.isCollapsed=!0,this.panels.updateQueryString()},d.prototype.expandPanels=function(){this.collection.each(function(a){this.panels.getItemState(a,"undocked")||this.panels.setItemState(a,"collapsed",!1,!0)}.bind(this)),this.isCollapsed=!1,this.panels.updateQueryString()},d.prototype.closeDockWhenEmpty=function(){if(this.isEmpty()||!this.hasDockedItems())return this.closeDock()},d.$inject=[],b.exports=d},{"../../base-unifi/controllers/BasePanelController":504}],498:[function(a,b,c){"use strict";function d(a){this.$document=a,this.onMouseDown=this.onMouseDown.bind(this),this.onMouseDownDrag=this.onMouseDownDrag.bind(this),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.classes={preventSelection:"draggablePreventSelection"},this.isDragging=!1}d.prototype.setDragStartCallback=function(a){this.onDragStart=a},d.prototype.setDragStopCallback=function(a){this.onDragStop=a},d.prototype.setDragHandleSelector=function(a){this.dragHandleSelector=a},d.prototype.addEventHandlers=function(a){a.on("mousedown",this.onMouseDown)},d.prototype.removeEventHandlers=function(a){a.off("mousedown",this.onMouseDown)},d.prototype.onMouseDown=function(a){this.dragHandleSelector&&!a.target.matchesSelector(this.dragHandleSelector)||(this.startX=a.pageX,this.startY=a.pageY,this.$document.on("mousemove",this.onMouseMove),this.$document.on("mouseup",this.onMouseUp),this.$document.one("mousemove",this.onMouseDownDrag))},d.prototype.onMouseDownDrag=function(a){this.onDragStart&&this.onDragStart(this.onDragStartAttrs(a)),this.disableSelection()},d.prototype.onMouseMove=function(a){return a.preventDefault(),this.endX=a.pageX,this.endY=a.pageY,this.distanceX=this.endX-this.startX,this.distanceY=this.endY-this.startY,this.isDragging=!0,!1},d.prototype.onMouseUp=function(a){this.documentCleanUp(),this.enableSelection(),this.isDragging&&this.onDragStop&&this.onDragStop(this.onDragStopAttrs(a)),this.isDragging=!1},d.prototype.documentCleanUp=function(){this.$document.off("mousemove",this.onMouseMove),this.$document.off("mouseup",this.onMouseUp),this.$document.off("mousemove",this.onMouseDownDrag)},d.prototype.enableSelection=function(){angular.element(this.$document[0].body).removeClass(this.classes.preventSelection)},d.prototype.disableSelection=function(){angular.element(this.$document[0].body).addClass(this.classes.preventSelection)},d.prototype.onDragStartAttrs=function(a){return{event:a,startX:this.startX,startY:this.startY}},d.prototype.onDragStopAttrs=function(a){return{event:a,distanceX:this.distanceX,distanceY:this.distanceY}},d.$inject=["$document"],b.exports=d},{}],499:[function(a,b,c){"use strict";function d(a){this.modelDivergence=a,this.visibility={},this.isSaveQueued=!1,e.call(this)}var e=a("../../base-unifi/controllers/BaseModelController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.updateModel=function(a){e.prototype.updateModel.call(this,a),this.reset()},d.prototype.createModelCopy=function(){this.model?this.modelCopy=this.model.deepCopy():this.modelCopy=void 0},d.prototype.updateModelCopy=function(a,b){this.modelCopy||this.createModelCopy(),this.modelCopy&&(this.modelCopy.set(a,b),this.mergePendingChanges(this.modelCopy))},d.prototype.resetModelCopyAttrs=function(a){this.modelCopy&&this.model&&a&&a.forEach(function(a){this.modelCopy.set(a,this.model.get(a))}.bind(this))},d.prototype.mergePendingChanges=function(a){this.isSaveQueued&&this.model&&a&&a.set(this.model.getPendingAttributes())},d.prototype.onModelChange=function(){},d.prototype.resolveDivergence=function(){this.modelDivergence.resolveDivergence(this.form)},d.prototype.ignoreDivergence=function(){this.modelDivergence.ignoreDivergence(this.form)},d.prototype.getVisibility=function(a){return a=angular.isArray(a)?a:[a],a.every(function(a){return!!this.visibility[a]}.bind(this))},d.prototype.setVisibility=function(a,b){return this.visibility[a]=b},d.prototype.reset=function(){this.createModelCopy(),this.mergePendingChanges(this.modelCopy),this.showValidation=!1,this.form.$setPristine(),this.form.$setUntouched(),this.resolveDivergence()},d.$inject=["modelDivergence"],b.exports=d},{"../../base-unifi/controllers/BaseModelController":502}],500:[function(a,b,c){"use strict";function d(a,b){this.$q=a,this.CollectionView=b,this.stateChangeCount=0,this.skipInitialization||(this.initFilters(),this.initView())}d.prototype.initFilters=function(){},d.prototype.initView=function(){this.view||(this.view=new this.CollectionView(this.getCollection())),this.comparator&&this.view.setComparators(this.comparator),this.filter&&this.view.setFilters([this.filter.getTest()]),this.defaultSortBy&&this.view.setSortBy(this.defaultSortBy,!!this.defaultSortDesc),this.view.isDirty()&&this.refresh(!0)},d.prototype.destroyView=function(){this.view&&(this.view.dispose(),this.view=null)},d.prototype.refresh=function(a){return this.view&&!this.isStateChanging()?a?this.$q.when(this.view.refresh()):this.view.asyncRefresh():this.$q.reject()},d.prototype.beginStateChange=function(){this.stateChangeCount++},d.prototype.commitStateChange=function(){return 0===--this.stateChangeCount?this.refresh():this.$q.reject()},d.prototype.isStateChanging=function(){return this.stateChangeCount>0},d.prototype.onSearchQueryChange=function(a){if(this.isSearchQuery=!!a,this.filter)return this.filter.updateSearchQuery(a),this.refresh()},d.prototype.getCollection=function(){throw new Error("You must override getCollection")},d.$inject=["$q","CollectionView"],b.exports=d},{}],501:[function(a,b,c){"use strict";function d(a,b,c,d,e,f,g){this.$state=a,this.$stateParams=b,this.$location=c,this.queryString=d,this.account=e,this.ENV=g,this.username="",this.password="",f.closeAll()}d.prototype._appLogin=function(){throw new Error("You must override _appLogin")},d.prototype._appRedirect=function(){throw new Error("You must override _appRedirect")},d.prototype.login=function(){return this.isSubmitting=!0,this.error=null,this._appLogin(this.username,this.password,this.remember).then(function(){var a=this.$stateParams.redirect?decodeURIComponent(this.$stateParams.redirect):void 0;return!a||a.includes("/fatal/")?this._appRedirect().then(function(){a&&this.queryString.remove("redirect")}.bind(this)):void this.$location.url(a)}.bind(this))["catch"](function(a){this.isSubmitting=!1,this.error=a}.bind(this))},d.$inject=["$state","$stateParams","$location","queryString","account","frame","ENV"],b.exports=d},{}],502:[function(a,b,c){"use strict";function d(){this.modelChangeEvent=this.modelChangeEvent||"change",this.onModelChange=this.onModelChange.bind(this)}d.prototype.setChangeEvent=function(a){this.removeEventHandlers(),this.modelChangeEvent=a,this.addEventHandlers()},d.prototype.updateModel=function(a){this.removeEventHandlers(),this.model=a,this.addEventHandlers(),this.onModelChange()},d.prototype.onModelChange=function(){throw new Error("You must override onModelChange")},d.prototype.addEventHandlers=function(){this.model&&this.model.on(this.modelChangeEvent,this.onModelChange)},d.prototype.removeEventHandlers=function(){this.model&&this.model.off(this.modelChangeEvent,this.onModelChange)},d.$inject=[],b.exports=d},{}],503:[function(a,b,c){"use strict";function d(a,b,c){this.$injector=a,this.preferences=c,this.initListState(),this.initPagination(),this.initSort(),e.call(this,a.get("$q"),b)}var e=a("../../base-unifi/controllers/BaseListController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.initListState=function(){if(this.localState){var a=this.$injector.get("ListStateLocal");this.listState=new a(this.localStateKey,this.localStateIsTemporary)}else this.listState=this.$injector.get("listState")},d.prototype.initPagination=function(){this.currentPage=parseInt(this.listState.getFilter("page"),10)||1,this.rowsPerPage=this.rowsPerPage||parseInt(this.listState.getFilter("pageSize"),10)||this.preferences.model.getRowsPerPage()},d.prototype.initSort=function(){if(this.sortKey){var a=this.$injector.get("ListSortStoreLocal");this.listSort=new a(this.sortKey),this.onSortChange=this.listSort.saveSort.bind(this.listSort),this.defaultSortBy=this.listSort.getSortBy()||this.defaultSortBy,this.defaultSortDesc=this.listSort.getSortDesc()||this.defaultSortDesc}},d.prototype.beginStateChange=function(){e.prototype.beginStateChange.call(this),1===this.stateChangeCount&&this.listState.beginTransaction()},d.prototype.commitStateChange=function(){var a=e.prototype.commitStateChange.call(this);return 0===this.stateChangeCount&&this.listState.commitTransaction(),a},d.prototype.onPageChange=function(a){1===a?this.listState.removeFilter("page"):this.listState.addFilter("page",a)},d.prototype.onPageSizeChange=function(a,b){this.listState.addFilter("pageSize",a),this.preferences.model.updateRowsPerPage(a,b)},d.prototype.isResponsive=function(){return this.preferences.model.get("isResponsive")},d.$inject=["$injector","CollectionView","preferences"],b.exports=d},{"../../base-unifi/controllers/BaseListController":500}],504:[function(a,b,c){"use strict";function d(a,b){this.$timeout=a,this.panels=b,this.collection=b.collection}d.prototype.getItems=function(){return this.collection.models},d.prototype.setItemOrder=function(a,b){this.panels.getItemById(a).then(function(a){this.panels.addItem(a,null,b)}.bind(this))},d.prototype.onItemDragStart=function(a){this.panels.getItemById(a).then(function(b){this.setItemOrder(a,0),this.panels.setItemState(b,"locked",!0,!0)}.bind(this))},d.prototype.onItemDragStop=function(a,b,c){this.panels.getItemById(a).then(function(d){this.$timeout(function(){this.panels.unsetItemState(d,"locked",!0),this.setItemCoords(a,b,c)}.bind(this),100)}.bind(this))},d.prototype.onItemResizeStop=function(a,b,c){this.panels.getItemById(a).then(function(a){this.panels.setItemState(a,"width",b+"px"),this.panels.setItemState(a,"height",c+"px"),this.panels.onItemResized(a)}.bind(this))},d.$inject=[],b.exports=d},{}],505:[function(a,b,c){"use strict";function d(a,b,c){this.$q=a,this.$timeout=b,this.panels=c,this.initializedTabs={},e.call(this),this.init()}var e=a("../../base-unifi/controllers/BaseModelController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.prototype.init=function(){this.isLoading=!0,this.failedToLoad=!1,this.skipInitialization||this.resolve()["catch"](function(){this.failedToLoad=!0}.bind(this))["finally"](function(){this.isLoading=!1}.bind(this))},d.prototype.resolve=function(){return this.$q.when()},d.prototype.onModelChange=function(){},d.prototype.toggleCollapsed=function(){var a=this.getPanelModel();a&&this.panels.toggleItemState(a,"collapsed")},d.prototype.isCollapsed=function(){var a=this.getPanelModel();if(a)return this.panels.getItemState(a,"collapsed")},d.prototype.toggleUndocked=function(){var a=this.getPanelModel();a&&(this.panels.toggleItemState(a,"undocked",!0),this.panels.addItem(a))},d.prototype.isUndocked=function(){var a=this.getPanelModel();if(a)return this.panels.getItemState(a,"undocked")},d.prototype.setActiveTab=function(a){var b=this.getPanelModel();b&&(this.isTabInitialized(a)||(this.loadingTab=a),this.$timeout(function(){this.panels.setItemState(b,"activeTab",a),this.loadingTab=void 0}.bind(this),0))},d.prototype.getActiveTab=function(){var a=this.getPanelModel();if(a){var b=this.panels.getItemState(a,"activeTab");return this.initializedTabs[b]=!0,b}},d.prototype.isTabInitialized=function(a){return this.initializedTabs[a]===!0},d.prototype.isTabAvailable=function(a){return this.isTabInitialized(a)||this.getActiveTab()===a},d.prototype.getPanelModel=function(){return this.model},d.prototype.removePanel=function(){var a=this.getPanelModel();return a?this.$q.when().then(function(){this.panels.removeItem(a)}.bind(this)):this.$q.reject()},b.exports=d},{"../../base-unifi/controllers/BaseModelController":502}],506:[function(a,b,c){"use strict";function d(a,b,c,d,f,g){this.message=d,this.title=f,e.call(this,a,b,c,g)}var e=a("./BaseConfirmController");d.prototype=Object.create(e.prototype),d.prototype.constructor=d,d.$inject=["$rootScope","$timeout","frame","message","title","options"],angular.module("base-unifi").controller("ConfirmController",d)},{"./BaseConfirmController":496}],507:[function(a,b,c){"use strict";function d(a,b,c,d){this.frame=a,this.heyToasts=b,this.account=c,this.patterns={name:d.ADMIN_NAME},this.init()}d.prototype.init=function(){this.isLoading=!0,this.failedToLoad=!1,this.skipInitialization||this.resolve()["catch"](function(){this.failedToLoad=!0}.bind(this))["finally"](function(){this.isLoading=!1}.bind(this))},d.prototype.resolve=function(){return this.account.repository.refresh()},d.prototype.save=function(){this.isSubmitting=!0;var a={name:this.form.modelCopy.get("name"),email:this.form.modelCopy.get("email"),email_alert_enabled:this.form.modelCopy.get("email_alert_enabled"),email_alert_grouping_enabled:this.form.modelCopy.get("email_alert_grouping_enabled"),html_email_enabled:this.form.modelCopy.get("html_email_enabled")};return this.account.editAccount(a,this.form.modelCopy.get("password"),this.form.modelCopy.get("current_password")).then(function(a){return this.frame.getLayout("editAccountLayout").resolve(),this.heyToasts.pushSuccess(a),!0}.bind(this))["catch"](function(a){return this.heyToasts.pushError(a),!1}.bind(this))["finally"](function(){this.isSubmitting=!1}.bind(this))},d.prototype.isCurrentPasswordRequired=function(){return!this.account.isPasswordChangeRequired()},d.prototype.isPasswordChangeRequired=function(){return this.account.isPasswordChangeRequired()},d.prototype.isSubmitAllowed=function(){return this.form.$valid&&!this.form.$pristine},d.$inject=["frame","heyToasts","account","REGEX_PATTERNS"],angular.module("base-unifi").controller("EditAccountController",d)},{}],508:[function(a,b,c){"use strict";function d(a,b){this.errorCode=a.error,403===parseInt(this.errorCode,10)&&"app-unifi-manage"!==b.APP?this.loginState=b.LOGIN_STATE:this.homeState=b.HOME_STATE}d.$inject=["$stateParams","ENV"],angular.module("base-unifi").controller("FatalController",d)},{}],509:[function(a,b,c){"use strict";function d(a,b,c,d){this.$state=a,this.account=b,this.heyToasts=c,this.ENV=d,this.isSubmitting=!1,this.showValidation=!1}d.prototype.resetPassword=function(){this.isSubmitting=!0,this.account.resetPassword(this.email).then(function(a){this.heyToasts.pushSuccess(a),this.$state.go(this.ENV.LOGIN_STATE)}.bind(this))["catch"](function(a){this.heyToasts.pushError(a)}.bind(this))["finally"](function(){this.isSubmitting=!1}.bind(this))},d.$inject=["$state","account","heyToasts","ENV"],angular.module("base-unifi").controller("ForgotPasswordController",d)},{}],510:[function(a,b,c){"use strict";angular.module("base-unifi").filter("bps",["binaryPrefix",function(a){return function(b,c){var d=!!c&&c.isSi,e=!!c&&c.isBits,f=a.parse(b,d?"SI":"IEC");return f.value||0===f.value?f.value+" "+f.prefix+(e?"bps":"B/s"):""}}])},{}],511:[function(a,b,c){"use strict";angular.module("base-unifi").filter("bytes",["binaryPrefix",function(a){return function(b,c){var d=a.parse(b,c?"SI":"IEC");return d.value||0===d.value?d.value+" "+d.prefix+"B":""}}])},{}],512:[function(a,b,c){"use strict";angular.module("base-unifi").filter("constant",["$injector",function(a){return function(b){return a.get(b)}}])},{}],513:[function(a,b,c){"use strict";angular.module("base-unifi").filter("currency",["Backbone","currencyUtils",function(a,b){return function(c){var d,e;return c instanceof a.Model?(d=c.get("amount"),e=c.get("currency")):(d=c.amount,e=c.currency),e&&void 0!==d&&null!==d?b.formatAmount(d,e):""}}])},{}],514:[function(a,b,c){"use strict";angular.module("base-unifi").filter("featureFlagEnable",["FLAGS",function(a){return function(b){if(void 0===a[b])throw"Feature flag "+b+" is not defined";return a[b]}}]).filter("featureFlagDisable",["FLAGS",function(a){return function(b){if(void 0===a[b])throw"Feature flag "+b+" is not defined";return!a[b]}}])},{}],515:[function(a,b,c){"use strict";angular.module("base-unifi").filter("guestAuthorization",["$translate","currencyUtils","voucherUtils","GUEST_AUTHORIZATION",function(a,b,c,d){return function(e){switch(e.get("authorized_by")){case d.API:return a.instant("COMMON_GUEST_AUTHORIZATION_API");case d.FACEBOOK:return a.instant("COMMON_GUEST_AUTHORIZATION_FACEBOOK");case d.CREDIT:var f=e.get("package"),g=e.get("amount"),h=e.get("currency"),i=e.get("payment_cardtype")||a.instant("COMMON_GUEST_AUTHORIZATION_CREDIT_CARD");return f&&g&&(i+=" ["+f+", "+b.formatAmount(g,h)+"]"),i;case d.PASSWORD:return a.instant("COMMON_GUEST_AUTHORIZATION_PASSWORD");case d.PAYPAL:return a.instant("COMMON_GUEST_AUTHORIZATION_PAYPAL");case d.VOUCHER:var j=e.get("voucher_code");return j?a.instant("COMMON_GUEST_AUTHORIZATION_VOUCHER_WITH_CODE",{code:c.formatCode(j)}):a.instant("COMMON_GUEST_AUTHORIZATION_VOUCHER");default:return a.instant("COMMON_GUEST_AUTHORIZATION_NONE")}}}])},{}],516:[function(a,b,c){"use strict";var d=a("moment-twitter");angular.module("base-unifi").filter("moment",["preferences",function(a){return function(b,c,e){"string"==typeof c&&(c=[c]),"date"===e?e=a.model.get("dateFormat"):"time"===e?e=a.model.get("timeFormat"):"datetime"===e&&(e=a.model.get("dateFormat")+" "+a.model.get("timeFormat"));for(var f=d(b),g=0;g<c.length;g++)f=f[c[g]](g===c.length-1&&e?e:void 0);return f}}])},{"moment-twitter":236}],517:[function(a,b,c){"use strict";angular.module("base-unifi").filter("numberToString",[function(){return function(a,b){return void 0===a||null===a||(a=parseInt(a,10),isNaN(a))?"":a.toLocaleString(b).split(" ").join(" ")}}])},{}],518:[function(a,b,c){"use strict";angular.module("base-unifi").filter("percent",[function(){return function(a,b){return b=b||100,Math.round(a/b*100)+"%"}}])},{}],519:[function(a,b,c){"use strict";angular.module("base-unifi").filter("toTranslationKey",[function(){return function(a){return String(a).toUpperCase().replace(/_$/gm,"_NONE").replace(/[^A-Z0-9]+/gm,"_").replace(/^_+|_+$/gm,"")}}])},{}],520:[function(a,b,c){"use strict";b.exports=function(a,b){var c=a.get("$q"),d=a.get("account"),e=a.get("$state"),f=a.get("ENV");return d.isSuperAdmin()||d.isAdmin()&&!b?c.when():void e.go(f.FATAL_STATE,{error:403})}},{}],521:[function(a,b,c){"use strict";b.exports=function(a){var b=a.get("$window"),c=a.get("$q"),d=a.get("account"),e=a.get("site"),f=a.get("editAccount"),g=a.get("appUrl"),h=a.get("ENV");return d.repository.fetch().then(function(){var a=e.getActiveSite()||d.repository.model.get("last_site_name");return"hotspot"===d.repository.model.get("site_role")&&"app-unifi-hotspot"!==h.APP?c.reject()["finally"](function(){b.location.href=g.buildUrl(["hotspot","site",a])}):(a&&!e.getActiveSite()&&e.setActiveSite(a),d.isPasswordChangeRequired()&&f.editAccount(),c.when())})}},{}],522:[function(a,b,c){"use strict";b.exports=function(a,b,c,d,e,f){return e.resolve("account").then(function(){return a.ssoLogin({sso_token:c.sso_token,ubic_uuid:c.ubic_uuid})}).then(function(){return d.setActiveSite(c.site_id,!0)}).then(function(){return a.repository.fetch()}).then(function(){b.go(f.HOME_STATE)})}},{}],523:[function(a,b,c){"use strict";a("../shared-unifi/main"),angular.module("base-unifi",["accordion","angulartics","angulartics.google.analytics","backular","busy","clickOff","collection-view","context","context.resolve","debounce","frame","frame.dialog","hey","jsonFormatter","modelDivergence","ngAnimate","ngCookies","ngFileUpload","ngSanitize","ng-currency","ng-d3","ng-filters","ng-gradient","ng-local-storage","ng-pagination","ng-route-status","ng-unifi-ui","ng-websocket","ng-webrtc","pageutils.state","pascalprecht.translate","passwordcontrol","scroll","shared-unifi","sso"]),a("./components/autofocus/autofocus.js"),a("./components/blackoutModal/blackoutModal.js"),a("./components/bowser/bowser.js"),a("./components/browserWarning/browserWarning.js"),a("./components/bypassConfirm/BypassConfirmController.js"),a("./components/bypassConfirm/bypassConfirm.js"),a("./components/collapsibleTable/collapsibleTable.js"),a("./components/condensed/condensed.js"),a("./components/connectionStatus/ConnectionStatusController.js"),a("./components/connectionStatus/connectionStatus.js"),a("./components/constrainPosition/ConstrainPositionController.js"),a("./components/constrainPosition/constrainPosition.js"),a("./components/dateIntervalSelector/DateIntervalSelectorController.js"),a("./components/dateIntervalSelector/dateIntervalSelector.js"),a("./components/debugPanel/DebugPanelController.js"),a("./components/debugPanel/debugPanel.js"),a("./components/dndDock/DndDockController.js"),a("./components/dndDock/dndDock.js"),a("./components/dndDockItem/dndDockItem.js"),a("./components/dockableItem/DockableItemController.js"),a("./components/dockableItem/dockableItem.js"),a("./components/draggableItem/DraggableItemController.js"),a("./components/draggableItem/draggableItem.js"),a("./components/featureFlag/featureFlag.js"),a("./components/fixDisabled/fixDisabled.js"),a("./components/ifApp/ifApp.js"),a("./components/ifRoleAdmin/ifRoleAdmin.js"),a("./components/ifRoleSuperAdmin/ifRoleSuperAdmin.js"),a("./components/ifRoleWriteable/ifRoleWriteable.js"),a("./components/initializeWhen/initializeWhen.js"),a("./components/keyPressEvents/keyPressEvents.js"),a("./components/listColumnSelector/ListColumnSelectorController.js"),a("./components/listColumnSelector/listColumnSelector.js"),a("./components/listPagination/listPagination.js"),a("./components/logoutButton/logoutButton.js"),a("./components/microPagination/microPagination.js"),a("./components/mobileSafeHover/mobileSafeHover.js"),a("./components/modelForm/ModelFormController.js"),a("./components/modelForm/modelForm.js"),a("./components/optionPlaceholder/optionPlaceholder.js"),a("./components/pauseChildrenWatchers/pauseChildrenWatchers.js"),a("./components/positionAlerts/positionAlerts.js"),a("./components/preventFocusZoom/preventFocusZoom.js"),a("./components/refreshButton/refreshButton.js"),a("./components/refreshSwitcher/RefreshSwitcherController.js"),a("./components/refreshSwitcher/refreshSwitcher.js"),a("./components/requiresSiteContext/requiresSiteContext.js"),a("./components/resizableItem/ResizableItemController.js"),a("./components/resizableItem/resizableItem.js"),a("./components/search/search.js"),a("./components/sidePanelStickyTitle/sidePanelStickyTitle.js"),a("./components/siteSwitcher/SiteSwitcherController.js"),a("./components/siteSwitcher/siteSwitcher.js"),a("./components/stylePreferences/stylePreferences.js"),a("./components/timeFilterDropdown/TimeFilterDropdownController.js"),a("./components/timeFilterDropdown/timeFilterDropdown.js"),a("./components/timeIntervalSelector/TimeIntervalSelectorController.js"),a("./components/timeIntervalSelector/timeIntervalSelector.js"),a("./components/translateLink/translateLink.js"),a("./components/userMenu/UserMenuController.js"),a("./components/userMenu/userMenu.js"),a("./components/versionHeader/VersionHeaderController.js"),a("./components/versionHeader/versionHeader.js"),a("./config/analytics.js"),a("./config/animate.js"),a("./config/compile.js"),a("./config/context.js"),a("./config/d3.js"),a("./config/device.js"),a("./config/env.js"),a("./config/frames.js"),a("./config/http.js"),a("./config/moment.js"),a("./config/preferences.js"),a("./config/q.js"),a("./config/redirectUrl.js"),a("./config/site.js"),a("./config/translate.js"),a("./config/version.js"),a("./config/webRtc.js"),a("./constants/ANALYTICS_CATEGORIES.js"),a("./constants/ANALYTICS_EVENTS.js"),a("./constants/API_STRINGS.js"),a("./constants/BACKBONE_EVENTS.js"),a("./constants/BACKUP_DEFAULTS.js"),a("./constants/DEFAULT_PREFERENCES.js"),a("./constants/DEFAULT_UCK_SSH_CREDENTIALS.js"),a("./constants/GUEST_AUTHORIZATION.js"),a("./constants/HOTSPOT_PACKAGES_DEFAULTS.js"),a("./constants/KEY_PRESS_EVENTS.js"),a("./constants/LANGUAGES.js"),a("./constants/REFRESH_RATES.js"),a("./constants/REGEX_PATTERNS.js"),a("./constants/REPORT_DEFAULTS.js"),a("./constants/SDN_STATES.js"),a("./constants/TIME_FILTER_DEFAULTS.js"),a("./constants/TIME_INTERVALS.js"),a("./constants/UNIFI_WEBRTC_ERROR.js"),a("./constants/UNIFI_WEBRTC_EVENTS.js"),a("./constants/UPDATE_STATUS.js"),a("./constants/URL_ACCESS_WHITE_LIST.js"),a("./constants/WS_DEFAULTS.js"),a("./controllers/AccountController.js"),a("./controllers/BaseBatchFormController.js"),a("./controllers/BaseButtonController.js"),a("./controllers/BaseCollectionButtonController.js"),a("./controllers/BaseCollectionController.js"),a("./controllers/BaseConfirmController.js"),a("./controllers/BaseDockablePanelController.js"),a("./controllers/BaseDraggableController.js"),a("./controllers/BaseFormController.js"),a("./controllers/BaseListController.js"),a("./controllers/BaseLoginController.js"),a("./controllers/BaseModelController.js"),a("./controllers/BasePaginatedListController.js"),a("./controllers/BasePanelController.js"),a("./controllers/BasePanelItemController.js"),a("./controllers/ConfirmController.js"),a("./controllers/EditAccountController.js"),a("./controllers/FatalController.js"),a("./controllers/ForgotPasswordController.js"),a("./filters/bps.js"),a("./filters/bytes.js"),a("./filters/constant.js"),a("./filters/currency.js"),a("./filters/featureFlag.js"),a("./filters/guestAuthorization.js"),a("./filters/moment.js"),a("./filters/numberToString.js"),a("./filters/percent.js"),a("./filters/toTranslationKey.js"),a("./lib/routeResolvers/resolveAllowAdminAccess.js"),a("./lib/routeResolvers/resolveLogin.js"),a("./lib/routeResolvers/resolveSsoLogin.js"),a("./polyfills/matchesSelector.js"),a("./providers/deviceProvider.js"),a("./providers/preferencesProvider.js"),a("./providers/redirectUrlProvider.js"),a("./providers/siteProvider.js"),a("./providers/translateDebugProvider.js"),a("./run/debugger.js"),a("./run/location.js"),a("./run/visibilityChange.js"),a("./services/BaseCollectionRepository.js"),a("./services/BaseDockablePanels.js"),a("./services/BaseIndependentCollectionRepository.js"),a("./services/BaseListColumnStore.js"),a("./services/BaseModelRepository.js"),a("./services/BasePanels.js"),a("./services/BaseRepository.js"),a("./services/ItemState.js"),a("./services/ListSortStoreLocal.js"),a("./services/ListStateLocal.js"),a("./services/accessHttpInterceptor.js"),a("./services/account.js"),a("./services/analytics.js"),a("./services/apiResults.js"),a("./services/appUrl.js"),a("./services/batchEdit.js"),a("./services/binaryPrefix.js"),a("./services/builderFactories/ListDirective.js"),a("./services/builderFactories/MixinContainer.js"),a("./services/builderFactories/PaginatedListDirective.js"),a("./services/bypass.js"),a("./services/clipboardUtils.js"),a("./services/collections/CountryCollection.js"),a("./services/collections/HotspotPackageCollection.js"),a("./services/collections/ReportCollection.js"),a("./services/collections/SiteCollection.js"),a("./services/collections/SiteHealthCollection.js"),a("./services/controllerMixins/listCollapsibleColumnControllerMixin.js"),a("./services/countries.js"),a("./services/dateIntervalUtils.js"),a("./services/directiveMixins/eventHandlersDirectiveMixin.js"),a("./services/directiveMixins/listSearchDirectiveMixin.js"),a("./services/directiveMixins/listSortEventDirectiveMixin.js"),a("./services/downloadUrl.js"),a("./services/editAccount.js"),a("./services/featureFlag.js"),a("./services/fileUtils.js"),a("./services/filters/BaseSearchableModelFilter.js"),a("./services/hotspotPackages.js"),a("./services/i18nLocalStorage.js"),a("./services/lambda.js"),a("./services/listState.js"),a("./services/mathUtils.js"),a("./services/mergeDefaults.js"),a("./services/mixins/getNestedMixin.js"),a("./services/mixins/modelDelegateMixin.js"),a("./services/mixins/pendingMixin.js"),a("./services/mixins/savePartialMixin.js"),a("./services/mixins/siteUrlWithinMixin.js"),a("./services/models/AccountModel.js"),a("./services/models/BackupMgrModel.js"),a("./services/models/BatchModel.js"),a("./services/models/ChangeSiteModel.js"),a("./services/models/CountryModel.js"),a("./services/models/EditAccountModel.js"),a("./services/models/HotspotMgrModel.js"),a("./services/models/HotspotPackageModel.js"),a("./services/models/LoginModel.js"),a("./services/models/LogoutModel.js"),a("./services/models/PreferencesModel.js"),a("./services/models/RecoverPasswordMgrModel.js"),a("./services/models/SdnMgrModel.js"),a("./services/models/SdnModel.js"),a("./services/models/SiteHealthModel.js"),a("./services/models/SiteModel.js"),a("./services/models/StatusModel.js"),a("./services/models/SystemInfoModel.js"),a("./services/models/SystemMgrModel.js"),a("./services/models/UbicSsoModel.js"),a("./services/models/UpdateProgressModel.js"),a("./services/polls.js"),a("./services/polls/BasePoll.js"),a("./services/polls/ModelPoll.js"),a("./services/queryString.js"),a("./services/refresh.js"),a("./services/repositoryUtils.js"),a("./services/resolvers/translateResolver.js"),a("./services/resolvers/urlLocaleResolver.js"),a("./services/resolvers/webrtcResolver.js"),a("./services/sdn.js"),a("./services/siteHealth.js"),a("./services/siteUtils.js"),a("./services/sites.js"),a("./services/sitesOverview.js"),a("./services/statsUtils.js"),a("./services/status.js"),a("./services/system.js"),a("./services/systemBackupUtils.js"),a("./services/versionParser.js"),a("./services/voucherUtils.js"),a("./services/webrtc/unifiWebRtcConfiguration.js"),a("./services/webrtc/unifiWebRtcConnector.js"),a("./services/webrtc/unifiWebRtcErrorHandler.js"),a("./services/webrtc/unifiWebRtcSuccessHandler.js"),a("./services/webrtc/versionProvider.js"),a("./services/ws/wsConnector.js"),a("./services/wsAdapter.js"),a("./services/xhrHttpInterceptor.js")},{"../shared-unifi/main":643,"./components/autofocus/autofocus.js":370,"./components/blackoutModal/blackoutModal.js":372,"./components/bowser/bowser.js":373,"./components/browserWarning/browserWarning.js":374,"./components/bypassConfirm/BypassConfirmController.js":375,"./components/bypassConfirm/bypassConfirm.js":377,"./components/collapsibleTable/collapsibleTable.js":378,"./components/condensed/condensed.js":380,"./components/connectionStatus/ConnectionStatusController.js":381,"./components/connectionStatus/connectionStatus.js":383,"./components/constrainPosition/ConstrainPositionController.js":384,"./components/constrainPosition/constrainPosition.js":385,"./components/dateIntervalSelector/DateIntervalSelectorController.js":386,
"./components/dateIntervalSelector/dateIntervalSelector.js":388,"./components/debugPanel/DebugPanelController.js":389,"./components/debugPanel/debugPanel.js":391,"./components/dndDock/DndDockController.js":392,"./components/dndDock/dndDock.js":393,"./components/dndDockItem/dndDockItem.js":394,"./components/dockableItem/DockableItemController.js":395,"./components/dockableItem/dockableItem.js":396,"./components/draggableItem/DraggableItemController.js":397,"./components/draggableItem/draggableItem.js":398,"./components/featureFlag/featureFlag.js":399,"./components/fixDisabled/fixDisabled.js":400,"./components/ifApp/ifApp.js":401,"./components/ifRoleAdmin/ifRoleAdmin.js":402,"./components/ifRoleSuperAdmin/ifRoleSuperAdmin.js":403,"./components/ifRoleWriteable/ifRoleWriteable.js":404,"./components/initializeWhen/initializeWhen.js":405,"./components/keyPressEvents/keyPressEvents.js":406,"./components/listColumnSelector/ListColumnSelectorController.js":407,"./components/listColumnSelector/listColumnSelector.js":409,"./components/listPagination/listPagination.js":411,"./components/logoutButton/logoutButton.js":413,"./components/microPagination/microPagination.js":415,"./components/mobileSafeHover/mobileSafeHover.js":416,"./components/modelForm/ModelFormController.js":417,"./components/modelForm/modelForm.js":418,"./components/optionPlaceholder/optionPlaceholder.js":420,"./components/pauseChildrenWatchers/pauseChildrenWatchers.js":421,"./components/positionAlerts/positionAlerts.js":422,"./components/preventFocusZoom/preventFocusZoom.js":423,"./components/refreshButton/refreshButton.js":425,"./components/refreshSwitcher/RefreshSwitcherController.js":426,"./components/refreshSwitcher/refreshSwitcher.js":428,"./components/requiresSiteContext/requiresSiteContext.js":429,"./components/resizableItem/ResizableItemController.js":430,"./components/resizableItem/resizableItem.js":431,"./components/search/search.js":433,"./components/sidePanelStickyTitle/sidePanelStickyTitle.js":434,"./components/siteSwitcher/SiteSwitcherController.js":435,"./components/siteSwitcher/siteSwitcher.js":437,"./components/stylePreferences/stylePreferences.js":438,"./components/timeFilterDropdown/TimeFilterDropdownController.js":439,"./components/timeFilterDropdown/timeFilterDropdown.js":441,"./components/timeIntervalSelector/TimeIntervalSelectorController.js":442,"./components/timeIntervalSelector/timeIntervalSelector.js":444,"./components/translateLink/translateLink.js":445,"./components/userMenu/UserMenuController.js":446,"./components/userMenu/userMenu.js":448,"./components/versionHeader/VersionHeaderController.js":449,"./components/versionHeader/versionHeader.js":451,"./config/analytics.js":452,"./config/animate.js":453,"./config/compile.js":454,"./config/context.js":455,"./config/d3.js":456,"./config/device.js":457,"./config/env.js":458,"./config/frames.js":459,"./config/http.js":460,"./config/moment.js":461,"./config/preferences.js":462,"./config/q.js":463,"./config/redirectUrl.js":464,"./config/site.js":465,"./config/translate.js":466,"./config/version.js":467,"./config/webRtc.js":468,"./constants/ANALYTICS_CATEGORIES.js":469,"./constants/ANALYTICS_EVENTS.js":470,"./constants/API_STRINGS.js":471,"./constants/BACKBONE_EVENTS.js":472,"./constants/BACKUP_DEFAULTS.js":473,"./constants/DEFAULT_PREFERENCES.js":474,"./constants/DEFAULT_UCK_SSH_CREDENTIALS.js":475,"./constants/GUEST_AUTHORIZATION.js":476,"./constants/HOTSPOT_PACKAGES_DEFAULTS.js":477,"./constants/KEY_PRESS_EVENTS.js":478,"./constants/LANGUAGES.js":479,"./constants/REFRESH_RATES.js":480,"./constants/REGEX_PATTERNS.js":481,"./constants/REPORT_DEFAULTS.js":482,"./constants/SDN_STATES.js":483,"./constants/TIME_FILTER_DEFAULTS.js":484,"./constants/TIME_INTERVALS.js":485,"./constants/UNIFI_WEBRTC_ERROR.js":486,"./constants/UNIFI_WEBRTC_EVENTS.js":487,"./constants/UPDATE_STATUS.js":488,"./constants/URL_ACCESS_WHITE_LIST.js":489,"./constants/WS_DEFAULTS.js":490,"./controllers/AccountController.js":491,"./controllers/BaseBatchFormController.js":492,"./controllers/BaseButtonController.js":493,"./controllers/BaseCollectionButtonController.js":494,"./controllers/BaseCollectionController.js":495,"./controllers/BaseConfirmController.js":496,"./controllers/BaseDockablePanelController.js":497,"./controllers/BaseDraggableController.js":498,"./controllers/BaseFormController.js":499,"./controllers/BaseListController.js":500,"./controllers/BaseLoginController.js":501,"./controllers/BaseModelController.js":502,"./controllers/BasePaginatedListController.js":503,"./controllers/BasePanelController.js":504,"./controllers/BasePanelItemController.js":505,"./controllers/ConfirmController.js":506,"./controllers/EditAccountController.js":507,"./controllers/FatalController.js":508,"./controllers/ForgotPasswordController.js":509,"./filters/bps.js":510,"./filters/bytes.js":511,"./filters/constant.js":512,"./filters/currency.js":513,"./filters/featureFlag.js":514,"./filters/guestAuthorization.js":515,"./filters/moment.js":516,"./filters/numberToString.js":517,"./filters/percent.js":518,"./filters/toTranslationKey.js":519,"./lib/routeResolvers/resolveAllowAdminAccess.js":520,"./lib/routeResolvers/resolveLogin.js":521,"./lib/routeResolvers/resolveSsoLogin.js":522,"./polyfills/matchesSelector.js":524,"./providers/deviceProvider.js":525,"./providers/preferencesProvider.js":526,"./providers/redirectUrlProvider.js":527,"./providers/siteProvider.js":528,"./providers/translateDebugProvider.js":529,"./run/debugger.js":530,"./run/location.js":531,"./run/visibilityChange.js":532,"./services/BaseCollectionRepository.js":533,"./services/BaseDockablePanels.js":534,"./services/BaseIndependentCollectionRepository.js":535,"./services/BaseListColumnStore.js":536,"./services/BaseModelRepository.js":537,"./services/BasePanels.js":538,"./services/BaseRepository.js":539,"./services/ItemState.js":540,"./services/ListSortStoreLocal.js":541,"./services/ListStateLocal.js":542,"./services/accessHttpInterceptor.js":543,"./services/account.js":544,"./services/analytics.js":545,"./services/apiResults.js":546,"./services/appUrl.js":547,"./services/batchEdit.js":548,"./services/binaryPrefix.js":549,"./services/builderFactories/ListDirective.js":550,"./services/builderFactories/MixinContainer.js":551,"./services/builderFactories/PaginatedListDirective.js":552,"./services/bypass.js":553,"./services/clipboardUtils.js":554,"./services/collections/CountryCollection.js":555,"./services/collections/HotspotPackageCollection.js":556,"./services/collections/ReportCollection.js":557,"./services/collections/SiteCollection.js":558,"./services/collections/SiteHealthCollection.js":559,"./services/controllerMixins/listCollapsibleColumnControllerMixin.js":560,"./services/countries.js":561,"./services/dateIntervalUtils.js":562,"./services/directiveMixins/eventHandlersDirectiveMixin.js":563,"./services/directiveMixins/listSearchDirectiveMixin.js":564,"./services/directiveMixins/listSortEventDirectiveMixin.js":565,"./services/downloadUrl.js":566,"./services/editAccount.js":567,"./services/featureFlag.js":568,"./services/fileUtils.js":569,"./services/filters/BaseSearchableModelFilter.js":570,"./services/hotspotPackages.js":571,"./services/i18nLocalStorage.js":572,"./services/lambda.js":573,"./services/listState.js":574,"./services/mathUtils.js":575,"./services/mergeDefaults.js":576,"./services/mixins/getNestedMixin.js":577,"./services/mixins/modelDelegateMixin.js":578,"./services/mixins/pendingMixin.js":579,"./services/mixins/savePartialMixin.js":580,"./services/mixins/siteUrlWithinMixin.js":581,"./services/models/AccountModel.js":582,"./services/models/BackupMgrModel.js":583,"./services/models/BatchModel.js":584,"./services/models/ChangeSiteModel.js":585,"./services/models/CountryModel.js":586,"./services/models/EditAccountModel.js":587,"./services/models/HotspotMgrModel.js":588,"./services/models/HotspotPackageModel.js":589,"./services/models/LoginModel.js":590,"./services/models/LogoutModel.js":591,"./services/models/PreferencesModel.js":592,"./services/models/RecoverPasswordMgrModel.js":593,"./services/models/SdnMgrModel.js":594,"./services/models/SdnModel.js":595,"./services/models/SiteHealthModel.js":596,"./services/models/SiteModel.js":597,"./services/models/StatusModel.js":598,"./services/models/SystemInfoModel.js":599,"./services/models/SystemMgrModel.js":600,"./services/models/UbicSsoModel.js":601,"./services/models/UpdateProgressModel.js":602,"./services/polls.js":603,"./services/polls/BasePoll.js":604,"./services/polls/ModelPoll.js":605,"./services/queryString.js":606,"./services/refresh.js":607,"./services/repositoryUtils.js":608,"./services/resolvers/translateResolver.js":609,"./services/resolvers/urlLocaleResolver.js":610,"./services/resolvers/webrtcResolver.js":611,"./services/sdn.js":612,"./services/siteHealth.js":613,"./services/siteUtils.js":614,"./services/sites.js":615,"./services/sitesOverview.js":616,"./services/statsUtils.js":617,"./services/status.js":618,"./services/system.js":619,"./services/systemBackupUtils.js":620,"./services/versionParser.js":621,"./services/voucherUtils.js":622,"./services/webrtc/unifiWebRtcConfiguration.js":623,"./services/webrtc/unifiWebRtcConnector.js":624,"./services/webrtc/unifiWebRtcErrorHandler.js":625,"./services/webrtc/unifiWebRtcSuccessHandler.js":626,"./services/webrtc/versionProvider.js":627,"./services/ws/wsConnector.js":628,"./services/wsAdapter.js":629,"./services/xhrHttpInterceptor.js":630}],524:[function(a,b,c){"use strict";Element&&function(a){a.matchesSelector=a.matchesSelector||a.mozMatchesSelector||a.msMatchesSelector||a.oMatchesSelector||a.webkitMatchesSelector||function(a){for(var b=this,c=(b.parentNode||b.document).querySelectorAll(a),d=-1;c[++d]&&c[d]!==b;);return!!c[d]}}(Element.prototype)},{}],525:[function(a,b,c){"use strict";angular.module("base-unifi").provider("device",[function(){var a;this.initActiveDevice=function(b){return a=b,this},this.$get=[function(){return{getActiveDevice:function(){return a}}}]}])},{}],526:[function(a,b,c){"use strict";angular.module("base-unifi").provider("preferences",[function(){var a,b,c={id:1};this.initDefaultPreferences=function(d){c=angular.extend(c,d),a=Object.keys(c),b&&b.set(d)},this.$get=["_","PreferencesModel",function(d,e){return{model:b=new e(c),fetchPreferences:function(){return b.fetch()},reset:function(e){return e&&d.difference(Object.keys(b.attributes),a).map(b.unset.bind(b)),b.save(c,{wait:!0})}}}]}])},{}],527:[function(a,b,c){"use strict";angular.module("base-unifi").provider("redirectUrl",[function(){var a;this.store=function(b){return a=b,this},this.$get=[function(){return{get:function(){return a}}}]}])},{}],528:[function(a,b,c){"use strict";angular.module("base-unifi").provider("site",[function(){var a;this.initActiveSite=function(b){a=b},this.$get=["$rootScope","$injector","contextSwitchStates",function(b,c,d){return{isSiteChanging:!1,getActiveSite:function(){return a},setActiveSite:function(e,f){a=e,b.$broadcast(d.getSuccess(),a);var g=c.get("$q");if(f){var h=c.get("account");return h.updateLastSiteName(e)}return g.when()},clearActiveSite:function(){a=null}}}]}])},{}],529:[function(a,b,c){"use strict";angular.module("base-unifi").provider("translateDebug",[function(){this.isEnabled=function(){if(window.localStorage){var a=localStorage.getItem("unifi-preferences"),b=localStorage.getItem("unifi-preferences-"+a);return!!b&&JSON.parse(b).debugTranslationKeys}return!1},this.$get=[function(){return{}}]}])},{}],530:[function(a,b,c){"use strict";angular.module("base-unifi").run(["$injector",function(a){window.DEBUGGER={inject:function(b){return a.get(b)},scope:function(a){return angular.element(a).scope()},countWatches:function(a){var b=angular.element(a),c=[],d=function(a){angular.forEach(["$scope","$isolateScope"],function(b){a.data()&&a.data().hasOwnProperty(b)&&angular.forEach(a.data()[b].$$watchers,function(a){c.push(a)})}),angular.forEach(a.children(),function(a){d(angular.element(a))})};d(b);var e=[];return angular.forEach(c,function(a){e.indexOf(a)<0&&e.push(a)}),e.length}}}])},{}],531:[function(a,b,c){"use strict";angular.module("base-unifi").run(["$rootScope","$location","device","stateChangeInterceptor",function(a,b,c){a.$on("$stateChangeStart",function(){b.search("d",c.getActiveDevice())}),a.$on("pageutilsStateChangeSuccess",function(){b.search("d",c.getActiveDevice())})}])},{}],532:[function(a,b,c){"use strict";angular.module("base-unifi").run(["visibilityChange",function(a){a.startListening()}])},{}],533:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BaseCollectionRepository",["BaseRepository",function(a){function b(b){this._dataType="collection",a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b.prototype.clear=function(){return this.collection.invalidate&&this.collection.invalidate(),this.collection.reset()},b}])},{}],534:[function(a,b,c){"use strict";function d(a,b,c,d,f,g,h){this.$timeout=a,this._isDockOpen=!1,e.call(this,b,c,d,f,g,h)}var e=a("../../base-unifi/services/BasePanels");d.prototype=Object.create(e.prototype),d.prototype.constructor=e,d.prototype.isDockOpen=function(){return this._isDockOpen},d.prototype.openDock=function(){this._isDockOpen=!0,this.dockOpenEvent&&this.$rootScope.$broadcast(this.dockOpenEvent,this.openTransitionRate)},d.prototype.closeDock=function(){this._isDockOpen=!1,this.dockCloseEvent&&this.$rootScope.$broadcast(this.dockCloseEvent,this.closeTransitionRate)},d.prototype.toggleDock=function(){this._isDockOpen?this.closeDock():this.openDock()},d.prototype.removeDockedItems=function(){var a=this.getItemsByState([{state:"undocked",value:!1,allowUndefined:!0}]);angular.forEach(a,function(a){this.removeItem(a,!0)}.bind(this)),this.updateQueryString()},d.prototype.initFromQueryString=function(){return e.prototype.initFromQueryString.call(this).then(function(){var a=this.collection.length-this.itemState.collection.where({undocked:!0}).length;a&&this.$timeout(function(){this.$timeout(function(){this.openDock()}.bind(this),30)}.bind(this),0,!1)}.bind(this))},b.exports=d},{"../../base-unifi/services/BasePanels":538}],535:[function(a,b,c){"use strict";angular.module("base-unifi").service("BaseIndependentCollectionRepository",["$q","$rootScope","$timeout","BaseCollectionRepository","EVENTS",function(a,b,c,d,e){function f(a,b){d.call(this,a),this._idAttribute=b||"id",this._registration.items={}}return f.prototype=Object.create(d.prototype),f.prototype.constructor=f,f.prototype._validateDataObject=function(){if(!this.collection||!this.collection.model.prototype._hasResolveMixin)throw new Error("The collection models must have the resolve mixin")},f.prototype.fetch=function(b){return a.all(this.collection.map(function(a){return a.resolve(b)}))},f.prototype.refresh=function(){return a.all(this.collection.map(function(a){return this.refreshItem(a.id)}.bind(this)))},f.prototype.fetchItem=function(a,b){var c=this.collection.get(a)||this.collection.add(this._buildItemIdAttr(a));return c.resolve(b)},f.prototype.refreshItem=function(b){var c=this.collection.get(b);return c?this.isItemRefreshable(b)?(c.invalidate(),c.resolve()):a.when(c):a.reject()},f.prototype.clearItem=function(a){var b=this.collection.get(a);b&&(b.clear(),b.invalidate(),this.collection.remove(b))},f.prototype.registerItem=function(a){return this._registration.items[a]=this._registration.items[a]||{count:0},0===this._registration.items[a].count++&&(this._registration.items[a].clear=b.$on(e.APP_REFRESH,function(b,c){this.isItemRefreshable(a)&&c.push(this.refreshItem(a))}.bind(this))),this},f.prototype.unregisterItem=function(a,b,d){return c(function(){this._registration.items[a]&&this._registration.items[a].count&&(0===--this._registration.items[a].count||d)&&(this._registration.items[a].count=0,this._registration.items[a].clear(),b||this.clearItem(a))}.bind(this),0,!1),this},f.prototype.unregisterAll=function(a,b){Object.keys(this._registration.items).forEach(function(c){this.unregisterItem(c,a,b)}.bind(this))},f.prototype.isItemRefreshable=function(a){var b=this.collection.get(a);return!!b&&(b.fetched||b.expired)},f.prototype._buildItemIdAttr=function(a){var b={};return b[this._idAttribute]=a,b},f}])},{}],536:[function(a,b,c){"use strict";function d(a,b,c){this.localStorageKey&&(this.columnStorage=new b(a,[this.localStorageKey,"columns"].join(":")),this.columnStorage.hydrate(),this.selectedColumns=this.columnStorage.getValue(),this.stateStorage=new c(a,[this.localStorageKey,"state"].join(":")),this.stateStorage.hydrate(),this.isCustomized=this.stateStorage.getValue()),this.selectedColumns=this.selectedColumns||{},this.isCustomized=this.isCustomized||!1,this.isBatchEditable=this.isBatchEditable||!1,this.columnPresets=this.columnPresets||[]}d.prototype.getColumnOptions=function(){return this.columnOptions},d.prototype.getColumns=function(){return this.columns},d.prototype.getSelectedColumns=function(){return Object.keys(this.selectedColumns)},d.prototype.getAllColumns=function(){return this.columnOptions.map(function(a){return a.id})},d.prototype.setColumns=function(){this.isCustomized?this.columns=this.getSelectedColumns():this.columns=this.getAllColumns()},d.prototype.clearSelectedColumns=function(){this.selectedColumns={}},d.prototype.getCustomized=function(){return this.isCustomized},d.prototype.setCustomized=function(a){a&&!this.getSelectedColumns().length&&(angular.forEach(this.getColumns(),function(a){this.selectedColumns[a]=!0}.bind(this)),this.saveColumns()),this.isCustomized=a,this.saveState(),this.setColumns()},d.prototype.getBatchEditable=function(){return this.isBatchEditable},d.prototype.setBatchEditable=function(a){this.isBatchEditable=a},d.prototype.getColumnPresets=function(){return this.columnPresets},d.prototype.setColumnPreset=function(){throw new Error("You must override setColumnPreset")},d.prototype.isColumnVisible=function(a){return this.getColumns().indexOf(a)!==-1},d.prototype.isColumnSelected=function(a){return this.selectedColumns[a]===!0},d.prototype.selectColumn=function(a){this.selectedColumns[a]=!0,this.setColumns(),this.saveColumns()},d.prototype.removeColumn=function(a){delete this.selectedColumns[a],this.setColumns(),this.saveColumns()},d.prototype.toggleColumn=function(a){this.isColumnSelected(a)?this.removeColumn(a):this.selectColumn(a)},d.prototype.saveColumns=function(){this.columnStorage&&this.columnStorage.setValue(this.selectedColumns)},d.prototype.saveState=function(){this.stateStorage&&this.stateStorage.setValue(this.isCustomized)},d.$inject=["localStorageFailSafe","LocalStorageObjectValue","LocalStorageBooleanValue"],b.exports=d},{}],537:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BaseModelRepository",["BaseRepository",function(a){function b(b){this._dataType="model",a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b.prototype.clear=function(){return this.model.invalidate(),this.model.clear()},b}])},{}],538:[function(a,b,c){"use strict";function d(a,b,c,d,e,f){this.$q=a,this.$rootScope=b,this.$window=c,this.queryString=d,this.collection=new e,this.itemState=new f,this.queryStringItemIdKey="i",this.queryStringItemStateKey="s",this.queryStringLock=0}d.prototype.isEmpty=function(){return 0===this.collection.length},d.prototype.clear=function(){this.collection.reset(),this.itemState.reset(),this.updateQueryString()},d.prototype.addItem=function(a,b,c,d){a=this.collection.remove(a)||a,this.itemState.addItemState(a,b),this.collection.add(a,{at:c||0}),d||this.updateQueryString()},d.prototype.removeItem=function(a,b){this.collection.remove(a),this.itemState.clearItemState(a),b||this.updateQueryString()},d.prototype.removeItemsByType=function(a){this.collection.size()&&(angular.forEach(this.getItemsByType(a),function(a){this.removeItem(a,!0)}.bind(this)),this.updateQueryString())},d.prototype.getItemById=function(){throw new Error("You must override getItemById")},d.prototype.getItemsByState=function(a){return this.collection.filter(function(b){return this.itemState.matchesState(b,a)}.bind(this))},d.prototype.getItemsByType=function(a){return this.collection.filter(function(b){return a.indexOf(b.modelType)!==-1})},d.prototype.getItemAndTypeId=function(a){return this.itemState.getItemAndTypeId(a)},d.prototype.getItemState=function(a,b){return this.itemState.getItemState(a,b)},d.prototype.setItemState=function(a,b,c,d){return"locked"!==b&&this.itemState.isItemStateLocked(a)||(this.itemState.setItemState(a,b,c),d||this.updateQueryString()),this.itemState.getItemState(a,b)},d.prototype.unsetItemState=function(a,b,c){if("locked"===b||!this.itemState.isItemStateLocked(a)){var d=this.itemState.unsetItemState(a,b);d&&(c||this.updateQueryString())}},d.prototype.toggleItemState=function(a,b,c){"locked"!==b&&this.itemState.isItemStateLocked(a)||(this.itemState.toggleItemState(a,b),c||this.updateQueryString())},d.prototype.clearItemState=function(a,b){this.itemState.isItemStateLocked(a)||(this.itemState.clearItemState(a),b||this.updateQueryString())},d.prototype.onItemResized=function(a){this.itemResizeEvent&&this.$rootScope.$broadcast(this.itemResizeEvent,a)},d.prototype.canAddItemToQueryString=function(a){return!!a},d.prototype.initFromQueryString=function(){if(this.queryStringKey){var a,b=(this.queryString.get()||{})[this.queryStringKey];if(b&&(a=JSON.parse(this.$window.atob(b)))){var c=a.reverse().map(function(a){return function(){return this.getItemById(a[this.queryStringItemIdKey]).then(function(b){if(b){var c;a[this.queryStringItemStateKey]&&(c=[],angular.forEach(a[this.queryStringItemStateKey],function(a,b){c.push({state:b,value:a})})),this.addItem(b,c)}}.bind(this))}.bind(this)}.bind(this));return this.queryStringLock++,c.reduce(function(a,b){return a.then(b)["catch"](b)},this.$q.when())["finally"](function(){this.queryStringLock--}.bind(this))}}return this.$q.reject()},d.prototype.updateQueryString=function(){if(this.queryStringKey){var a,b,c=[];0===this.queryStringLock&&(this.collection.each(function(d){this.canAddItemToQueryString(d)&&(a={},a[this.queryStringItemIdKey]=this.getItemAndTypeId(d),(b=this.itemState.collection.get(this.getItemAndTypeId(d)))&&(a[this.queryStringItemStateKey]={},angular.forEach(b.attributes,function(b,c){"id"!==c&&b!==!1&&(a[this.queryStringItemStateKey][c]=b)}.bind(this))),c.push(a))},this),c.length?this.queryString.set(this.queryStringKey,this.$window.btoa(JSON.stringify(c))):this.queryString.remove(this.queryStringKey))}},b.exports=d},{}],539:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BaseRepository",["$rootScope","$timeout","EVENTS",function(a,b,c){function d(b){this[this._dataType]=b,this._validateDataObject(),this._registration={count:0},a.$on(c.ADMIN_LOGOUT,function(){this.clear()}.bind(this))}return d.prototype._validateDataObject=function(){if(!this[this._dataType]||!this[this._dataType]._hasResolveMixin)throw new Error("The data object must have the resolve mixin")},d.prototype.fetch=function(a){return this[this._dataType].resolve(a)},d.prototype.invalidate=function(){this[this._dataType].invalidate()},d.prototype.refresh=function(a){return this.invalidate(),this.fetch(a)},d.prototype.register=function(){return 0===this._registration.count++&&(this._registration.clear=a.$on(c.APP_REFRESH,function(a,b){this.isRefreshable()&&b.push(this.refresh())}.bind(this))),this},d.prototype.unregister=function(a,c){return b(function(){this._registration.count&&(0===--this._registration.count||c)&&(this._registration.count=0,this._registration.clear(),a||this.clear())}.bind(this),0,!1),this},d.prototype.clear=function(){throw new Error("The clear function must be extended")},d.prototype.isRefreshable=function(){return this[this._dataType].fetched||this[this._dataType].expired},d.prototype.isRegistered=function(){return this._registration.count>0},d}])},{}],540:[function(a,b,c){"use strict";angular.module("base-unifi").service("ItemState",["BaseCollection",function(a){var b=function(){this.collection=new a};return b.prototype.getItemAndTypeId=function(a){return a?[a.modelType,a.id].join("|"):void 0},b.prototype.addItemState=function(a,b){b&&angular.forEach(b,function(b){this.getItemState(a,b.state)&&!b.overwrite||this.setItemState(a,b.state,b.value,!0)}.bind(this))},b.prototype.getItemState=function(a,b){var c=this.collection.get(this.getItemAndTypeId(a));if(c)return c.get(b)},b.prototype.setItemState=function(a,b,c){if("locked"===b||!this.isItemStateLocked(a)){var d={id:this.getItemAndTypeId(a)};d[b]=c,this.collection.add(d,{merge:!0})}return this.getItemState(a,b)},b.prototype.isItemStateLocked=function(a){return this.getItemState(a,"locked")},b.prototype.toggleItemState=function(a,b){if("locked"===b||!this.isItemStateLocked(a)){var c=this.collection.get(this.getItemAndTypeId(a));this.setItemState(a,b,!(c&&c.get(b)))}},b.prototype.clearItemState=function(a){this.isItemStateLocked(a)||this.collection.remove(this.collection.get(this.getItemAndTypeId(a)))},b.prototype.unsetItemState=function(a,b){if("locked"===b||!this.isItemStateLocked(a)){var c=this.collection.get(this.getItemAndTypeId(a));if(c)return c.unset(b),c}},b.prototype.matchesState=function(a,b){var c=this.collection.get(this.getItemAndTypeId(a)),d=!0;return angular.forEach(b,function(a){var b=c?c.get(a.state):void 0;b===a.value||a.allowUndefined&&void 0===b||(d=!1)}),d},b.prototype.reset=function(){this.collection.reset()},b}])},{}],541:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ListSortStoreLocal",["localStorageFailSafe","LocalStorageObjectValue",function(a,b){var c=function(c){this.sortStorage=new b(a,c),this.sortStorage.hydrate()};return c.prototype.saveSort=function(a){return this.sortStorage.setValue(a)},c.prototype.getSortBy=function(){return(this.sortStorage.getValue()||{}).sortBy},c.prototype.getSortDesc=function(){return(this.sortStorage.getValue()||{}).sortDesc},c}])},{}],542:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ListStateLocal",["localStorageFailSafe","stateStorage",function(a,b){var c=function(c,d){this.section=c,this._storage=d?b:a};return c.prototype.addFilter=function(a,b){this._storage.setItem(this.filterKey(a),b)},c.prototype.removeFilter=function(a){this._storage.removeItem(this.filterKey(a))},c.prototype.extendFilters=function(a){angular.forEach(a,function(a,b){void 0===a?this.removeFilter(b):this.addFilter(b,a)}.bind(this))},c.prototype.getFilter=function(a){return this._storage.getItem(this.filterKey(a))},c.prototype.filterKey=function(a){return[this.section,a].join("|")},c.prototype.beginTransaction=function(){},c.prototype.commitTransaction=function(){},c.prototype.clearTransaction=function(){},c}])},{}],543:[function(a,b,c){"use strict";angular.module("base-unifi").factory("accessHttpInterceptor",["site","$q","$injector","ENV","URL_ACCESS_WHITE_LIST",function(a,b,c,d,e){function f(a){return a&&a.url&&e.find(function(b){return a.url.indexOf(b)!==-1})}return{responseError:function(e){if(e&&401===e.status&&!f(e.config)){var g=c.get("account"),h=c.get("apiResults"),i=c.get("$state"),j=c.get("$location"),k=h.getRawErrorMsg(e);return"api.err.NoSiteContext"===k?(a.setActiveSite("default"),b.reject(e)):g.logout(!0)["finally"](function(){return i.current.name!==d.LOGIN_STATE&&i.go(d.LOGIN_STATE,{site:a.getActiveSite()||"default",redirect:j.url()},{reload:!0}),b.reject(e)})}return b.reject(e)}}}])},{}],544:[function(a,b,c){"use strict";angular.module("base-unifi").service("account",["$q","$rootScope","$translate","BaseModelRepository","AccountModel","LoginModel","LogoutModel","ChangeSiteModel","EditAccountModel","preferences","RecoverPasswordMgrModel","sites","apiResults","EVENTS",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o="manageRememberMe",p="hotspotRememberMe";this.preferences=j,this.repository=new d(new e),this.loginToManage=function(a,b,c){return this._login({username:a,password:b,remember:!!c,strict:!0}).then(function(){return this._updateRememberMePreferences(c)}.bind(this)).then(function(){l.repository.collection.invalidate()})},this.loginToHotspot=function(a,b,c,d){return this._login({username:a,password:b,strict:!0,for_hotspot:!0,site_name:d,remember:!!c}).then(function(){this._updateRememberMePreferences(c,!0)}.bind(this))},this.logout=function(d){return b.$broadcast(n.ADMIN_LOGOUT),d?(this.repository.model.clear(),this.repository.model.invalidate(),a.when()):(new g).save().then(function(){return this.repository.model.clear(),this.repository.model.invalidate(),a.when()}.bind(this))["catch"](function(){return a.reject(c.instant("COMMON_NOTICE_REQUEST_ERROR"))})},this.ssoLogin=function(a){return this._login({for_sso:!0,strict:!0,sso_token:a.sso_token,ubic_uuid:a.ubic_uuid})},this.editAccount=function(b,d,e){return e&&(b.x_oldpassword=e),d&&(b.x_password=d),(new i).save(b).then(function(){return this.repository.model.set(b),a.when(c.instant("EDIT_ACCOUNT_ACTIONS_SUCCESS"))}.bind(this))["catch"](function(b){return a.reject(m.appendErrorMsg(c.instant("EDIT_ACCOUNT_ACTIONS_ERROR"),b))})},this.resetPassword=function(b){return(new k).save({email:b}).then(function(){return a.when(c.instant("ACCOUNT_FORGOT_PASSWORD_ACTIONS_RESET_PASSWORD_SUCCESS"))})["catch"](function(b){return a.reject(m.appendErrorMsg(c.instant("ACCOUNT_FORGOT_PASSWORD_ACTIONS_RESET_PASSWORD_ERROR"),b))})},this.updateLastSiteName=function(b){return this.repository.model.get("last_site_name")!==b?(new h).save({last_site_name:b}):a.when()},this.verifyAccount=function(a){return a.save()},this.isLoggedIn=function(){return!(!this.repository.model.id&&!this.repository.model.get("site_id"))},this.isAdmin=function(){return"admin"===this.repository.model.get("site_role")},this.isReadOnly=function(){return"readonly"===this.repository.model.get("site_role")},this.isSuperAdmin=function(){return this.repository.model.get("is_super")},this.isPasswordChangeRequired=function(){return this.repository.model.get("requires_new_password")},this.isRememberMeEnabled=function(a){return!!this.preferences.model.get(a?p:o)},this.getSsoUsername=function(){return this.repository.model.get("ubic_name")||this.repository.model.get("ubic_uuid")},this.hasEnabledFor=function(){return!!this.repository.model.get("ubic_uuid")},this._login=function(b){return(new f).save(b)["catch"](function(b){return 400===b.status?a.reject(c.instant("ACCOUNT_NOTICE_LOGIN_INVALID_ERROR")):a.reject(c.instant("COMMON_NOTICE_REQUEST_ERROR"))})},this._updateRememberMePreferences=function(a,b){return j.model.set(b?p:o,!!a),j.model.save()}}])},{}],545:[function(a,b,c){"use strict";angular.module("base-unifi").service("analytics",["$document","GoogleAnalyticsCloudKey","GoogleAnalyticsDemoKey","UseWebrtc",function(a,b,c,d){var e=!1;this.loadOnce=function(f){if(!e){if(d||f.get("simulator_demo_mode_enabled")){var g=f.get("simulator_demo_mode_enabled")?c:b,h=document.createElement("script");h.setAttribute("type","text/javascript"),h.text='(function (i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function (){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","//www.google-analytics.com/analytics.js","ga");ga("create", "'+g+'", "auto");',a[0].body.appendChild(h)}e=!0}}}])},{}],546:[function(a,b,c){"use strict";angular.module("base-unifi").service("apiResults",["$translate","API_STRINGS",function(a,b){this.appendErrorMsg=function(a,b){var c=this.translateErrorMsg(b);return c?a+" "+c:a},this.translateErrorMsg=function(c){var d=this.getRawErrorMsg(c);if(d)return a.instant(b[d],this.sanitizeParams(c.data.meta))},this.sanitizeParams=function(a){var b={};return Object.keys(a).forEach(function(c){Number.isInteger(+c)?b["arg_"+c]=a[c]:b[c]=a[c]}),b},this.getRawErrorMsg=function(a){if(a&&a.data&&a.data.meta&&a.data.meta.msg)return a.data.meta.msg}}])},{}],547:[function(a,b,c){"use strict";angular.module("base-unifi").service("appUrl",["device","UseWebrtc",function(a,b){
this.buildUrl=function(c){var d=[];return b&&d.push("d="+a.getActiveDevice()),c.join("/")+(d.length?"?"+d.join("&"):"")}}])},{}],548:[function(a,b,c){"use strict";angular.module("base-unifi").service("batchEdit",["BaseCollection","BatchModel",function(a,b){this.collection=new a,this.addBatch=function(c,d,e){e=e||{};var f=e.batchModel,g=e.model,h=e.collection;if(f){if(!(f instanceof b))throw new Error("Invalid batch model")}else f=new b;if(!h||angular.isArray(h))h=new a(h);else if(!(h instanceof a))throw new Error("Invalid collection");return g||(g=new h.model,g._isBatch=!0),f.setModelType(d),f.set({id:c,model:g,collection:h}),this.collection.add(f),f},this.getBatch=function(a){return this.collection.get(a)}}])},{}],549:[function(a,b,c){"use strict";angular.module("base-unifi").service("binaryPrefix",[function(){var a={SI:{"":1,K:Math.pow(10,3),M:Math.pow(10,6),G:Math.pow(10,9),T:Math.pow(10,12),P:Math.pow(10,15),E:Math.pow(10,18),Z:Math.pow(10,21),Y:Math.pow(10,24)},IEC:{"":1,K:Math.pow(2,10),M:Math.pow(2,20),G:Math.pow(2,30),T:Math.pow(2,40),P:Math.pow(2,50),E:Math.pow(2,60),Z:Math.pow(2,70),Y:Math.pow(2,80)}},b=function(a){var b=3-Math.trunc(a).toString().length;return b<0&&(b=0),Number(a).toFixed(b)};this.getPrefixes=function(b){return a[b]||a.IEC},this.getBestMatch=function(b,c){if(""===b||0===b||isNaN(b))return{value:b,prefix:""};var d,e=a[c]||a.IEC,f={value:b,prefix:""};for(d in e)if(e[d]){if(b%e[d]!==0)break;f.prefix=d,f.value=b/e[d]}return f},this.parse=function(c,d,e){if(""===c||isNaN(c))return{value:c,prefix:""};var f,g,h=a[d]||a.IEC;c&&e&&(c*=8);for(g in h)if(h[g]&&(f=b(c/h[g]),f<1e3))break;return{value:Number(f),fixed:f,prefix:g}},this.normalizeToPrefix=function(b,c,d){if(isNaN(c)||null===c||0===c)return c;var e=a[d]||a.IEC;return c/e[b]}}])},{}],550:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ListDirective",["MixinContainer",function(a){var b=function(b,c,d){var e=b.charAt(0).toUpperCase()+b.slice(1),f=new a;return{addMixin:f.addMixin,scope:d||!1,controller:e+"ListController",controllerAs:b+"ListCtrl",bindToController:!0,restrict:"E",replace:!0,template:c,link:function(a,b,c,d){a.$on("$destroy",function(){d.destroyView()}),f.initMixins(a,b,c,d)}}};return b}])},{}],551:[function(a,b,c){"use strict";angular.module("base-unifi").factory("MixinContainer",[function(){var a=function(){var a=[],b=function(b){if(!b.init)throw"Mixin must have init function defined";a.push(b)},c=function(b,c,d,e){a.forEach(function(a){a.init.call(a,b,c,d,e)})};return{addMixin:b,initMixins:c}};return a}])},{}],552:[function(a,b,c){"use strict";angular.module("base-unifi").factory("PaginatedListDirective",["listSortEventDirectiveMixin","MixinContainer",function(a,b){var c=function(c,d,e){var f=c.charAt(0).toUpperCase()+c.slice(1),g=new b;return{addMixin:g.addMixin,scope:angular.extend({},e||{},{localState:"=?unifi"+f+"ListLocalState",localStateKey:"=?unifi"+f+"ListLocalStateKey",sortKey:"=?unifi"+f+"ListSortKey"}),controller:f+"ListController",controllerAs:c+"ListCtrl",bindToController:!0,replace:!0,template:d,link:function(b,d,e,h){e["unifi"+f+"ListSortKey"]&&g.addMixin(a),b.$watch(function(){return h.currentPage},function(a){h.onPageChange(a)}),b.$watch(function(){return h.rowsPerPage},function(a){h.onPageSizeChange(a,c)}),b.$on("$destroy",function(){h.destroyView()}),g.initMixins(b,d,e,h)}}};return c}])},{}],553:[function(a,b,c){"use strict";angular.module("base-unifi").service("bypass",["preferences",function(a){this.isEnabled=function(b){return!!a.model.get(b)},this.enable=function(b){return a.model.set(b,!0),this._save()},this.disable=function(b){return a.model.unset(b),this._save()},this._save=function(){return a.model.save()}}])},{}],554:[function(a,b,c){"use strict";angular.module("base-unifi").service("clipboardUtils",["$window",function(a){this.copyToClipboard=function(b){angular.element("<textarea/>").css({opacity:"0",position:"fixed"}).text(b).appendTo(angular.element(a.document.body)).select().each(function(){document.execCommand("copy")}).remove()}}])},{}],555:[function(a,b,c){"use strict";angular.module("base-unifi").factory("CountryCollection",["CORSCollection","CountryModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(c).extend(d).extend(e).extend(f).extend({_isActiveSiteOptional:!0,model:b,siteUrl:"stat/ccode",comparator:"name"})}])},{}],556:[function(a,b,c){"use strict";angular.module("base-unifi").factory("HotspotPackageCollection",["CORSCollection","HotspotPackageModel","deepCopyMixin","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f,g){return a.extend(c).extend(d).extend(e).extend(f).extend(g).extend({model:b,siteUrl:"rest/hotspotpackage?_sort=index"})}])},{}],557:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ReportCollection",["CORSCollection","CORSModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(c).extend(d).extend(e).extend(f).extend({constructor:function(b){if(a.apply(this,arguments),!b)throw new Error("Cannot instantiate without a type.");this.type=b},model:b,setInterval:function(a){this.interval=a},setAttrs:function(a){this.attrs=a},setMac:function(a){this.mac=a},getMac:function(){return this.mac},setDateInterval:function(a,b){this.start=a,this.end=b},siteUrl:function(){return"stat/report/"+this.interval.url+"."+this.type},sync:function(b,c,d){if(d=d||{},d.interval&&(this.interval=d.interval),"read"===b){d.type="POST";var e={attrs:this.attrs,start:this.start,end:this.end};"sw"===this.type&&this.mac&&(e.mac=this.mac),d.data=JSON.stringify(e)}return a.prototype.sync.call(this,b,c,d)}})}])},{}],558:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SiteCollection",["UnifiAPIBasePath","CORSCollection","SiteModel","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return b.extend(d).extend(e).extend(f).extend({model:c,skipContextBinding:!0,comparator:"desc",url:function(){return a+"/"+(this.extended?"stat":"self")+"/sites"}})}])},{}],559:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SiteHealthCollection",["CORSCollection","SiteHealthModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(c).extend(d).extend(e).extend(f).extend({model:b,siteUrl:"stat/health"})}])},{}],560:[function(a,b,c){"use strict";angular.module("base-unifi").factory("listCollapsibleColumnControllerMixin",["localStorageFailSafe","LocalStorageBooleanValue",function(a,b){return function(c){angular.extend(c,{collapsibleColumnKeyStorage:{},isColumnCollapsed:function(c){return this.collapsibleColumnKeyStorage[c]||(this.collapsibleColumnKeyStorage[c]=new b(a,c)),this.collapsibleColumnKeyStorage[c].hydrate(),this.collapsibleColumnKeyStorage[c].getValue()}})}}])},{}],561:[function(a,b,c){"use strict";angular.module("base-unifi").service("countries",["BaseCollectionRepository","CountryCollection",function(a,b){this.repository=new a(new b),this.getCountryCodes=function(){return this.repository.collection.map(function(a){return a.get("key")})},this.getCountryNamesMap=function(){return this.repository.collection.reduce(function(a,b){return a[b.get("key")]=b.get("name"),a},{})}}])},{}],562:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").service("dateIntervalUtils",["$q","$state",function(a,b){this.calculateEnd=function(a,b){return d(a,"x").add(b.value,b.unit).format("x")},this.calculateStart=function(a,b){return d(a,"x").subtract(b.value,b.unit).format("x")},this.preventFuture=function(a,b){var c=this.calculateEnd(a,b),e=d().add(1,"day").startOf("day").format("x");return c>e?d(e,"x").subtract(b.value,b.unit).format("x"):a},this.updateStateWithNewInterval=function(c,d){var e=angular.extend({},b.params,{start:c,interval:d.name});return e.start!==b.params.start||e.interval!==b.params.interval?b.go(b.current.name,e,{notify:!1}):a.reject()}}])},{moment:238}],563:[function(a,b,c){"use strict";angular.module("base-unifi").service("eventHandlersDirectiveMixin",[function(){this.init=function(a,b,c,d){d.addEventHandlers(),a.$on("$destroy",function(){d.removeEventHandlers()})}}])},{}],564:[function(a,b,c){"use strict";angular.module("base-unifi").service("listSearchDirectiveMixin",[function(){this.init=function(a,b,c,d){if(!angular.isFunction(d.onSearchQueryChange))throw new Error("Missing ctrl.onSearchQueryChange");a.$watch(function(){return d.searchQuery},function(a){d.onSearchQueryChange(a)}),a.$watch(function(){return d.view&&d.view.isRefreshing()},function(a){d.isRefreshing=a})}}])},{}],565:[function(a,b,c){"use strict";angular.module("base-unifi").service("listSortEventDirectiveMixin",[function(){this.init=function(a,b,c,d){if(!angular.isFunction(d.onSortChange))throw new Error("Missing ctrl.onSortChange");a.$watch(function(){if(d.view&&d.view.sortBy)return{sortBy:d.view.sortBy,sortDesc:d.view.sortReverse[d.view.sortBy]}},function(a){a&&d.onSortChange(a)},!0)}}])},{}],566:[function(a,b,c){"use strict";angular.module("base-unifi").service("downloadUrl",["$document","$timeout",function(a,b){this.clickFakeLink=function(c,d,e,f){var g=a[0].createElement("a");b(function(){g.download=e,g.href=d,g.target=f||"",c.parentNode.appendChild(g),g.click(),g.remove()})}}])},{}],567:[function(a,b,c){"use strict";angular.module("base-unifi").service("editAccount",["frame",function(a){this.editAccount=function(){a.show("editAccount")}}])},{}],568:[function(a,b,c){"use strict";angular.module("base-unifi").service("featureFlag",["$injector","semanticVersion","system",function(a,b,c){var d;try{d=a.get("FLAGS")}catch(e){d={}}this.isEnabled=function(a){var e=d[a];if(angular.isUndefined(e))throw"Feature flag "+a+" is not defined";var f=angular.isString(e);return f?b.satisfies(c.getControllerVersion(),e):!!e}}])},{}],569:[function(a,b,c){"use strict";angular.module("base-unifi").service("fileUtils",["$window","$q","$http","$timeout","UseWebrtc",function(a,b,c,d,e){var f=function(e,f){return c.get(e,{responseType:"arraybuffer",processData:!1,withCredentials:!0,withWebRTC:!0}).then(function(c){return c&&c.arraybuffer?void d(function(){var b=a.URL.createObjectURL(new Blob([c.arraybuffer],{type:"application/octet-stream"})),e=angular.element("<a />");e.attr("id","webRtcDownloadLink"),e.attr("href",b),e.attr("download",f),e.css("display","none"),angular.element(document.body).append(e),e[0].click(),d(function(){e.remove()},100)},0):b.reject()})},g=function(c){return a.location.href=c,b.when()};this.download=function(a,b){return e?f(a,b):g(a)},this.readLocalToUrl=function(a){var c=b.defer(),d=new FileReader;return d.onerror=function(){c.reject()},d.onload=function(){c.resolve(d.result)},d.readAsDataURL(a),c.promise}}])},{}],570:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BaseSearchableModelFilter",["BaseModelFilter",function(a){function b(){a.call(this),this.searchQuery="",this.searchableAttributes=[],this.test=this.test.bind(this)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b.prototype.getTest=function(){return this.test},b.prototype.test=function(a){if(this.supplementalFunction&&!this.supplementalFunction(a))return!1;var b=this.search(a);return b===!0||void 0===b},b.prototype.isFiltered=function(){return this.searchQuery.length>0},b.prototype.search=function(a){var b=this.searchQuery?this.searchQuery.toLowerCase().split(" "):[];return b.length?this.testModelAttributes(a,this.searchableAttributes,b):void 0},b.prototype.updateSearchQuery=function(a){this.searchQuery=a?a.trim():""},b.prototype.setSupplementalFunction=function(a){this.supplementalFunction=a},b.prototype.clearSupplementalFunction=function(){this.supplementalFunction=null},b}])},{}],571:[function(a,b,c){"use strict";angular.module("base-unifi").service("hotspotPackages",["BaseCollectionRepository","HotspotPackageCollection","HotspotPackageModel","HOTSPOT_PACKAGES_DEFAULTS",function(a,b,c,d){this.repository=new a(new b),this.clonePackagesWithDefaults=function(){var a=this.repository.collection.deepCopy();return 0===this.repository.collection.models.length&&d.forEach(function(b){a.add(new c(b))}),a}}])},{}],572:[function(a,b,c){"use strict";angular.module("base-unifi").service("i18nLocalStorage",["localStorageFailSafe","LocalStorageValue",function(a,b){var c=new b(a,"PREFERRED_LANGUAGE");return c.hydrate(),{get:function(){return c.getValue()},put:function(a,b){c.setValue(b)}}}])},{}],573:[function(a,b,c){"use strict";angular.module("base-unifi").service("lambda",[function(){this.objectToEntries=function(a){return Object.keys(a).reduce(function(b,c){return b.push({key:c,value:a[c]}),b},[])}}])},{}],574:[function(a,b,c){"use strict";angular.module("base-unifi").service("listState",["$rootScope","$state","$stateParams","stateChangeInterceptor","EVENTS",function(a,b,c,d,e){this.addFilter=function(f,g){if(!d.isStateChanging)if(this._isTransacting)this._transactionFilters[f]=g;else{var h=angular.extend({},c);h[f]=g,a.$broadcast(e.LIST_STATE_CHANGE_START),b.go(b.current.name,h,{notify:!1}).then(function(){a.$broadcast(e.LIST_STATE_CHANGE_SUCCESS)})}},this.removeFilter=function(f){if(!d.isStateChanging)if(this._isTransacting)this._transactionFilters[f]=void 0;else{var g=angular.extend({},c);g[f]=void 0,a.$broadcast(e.LIST_STATE_CHANGE_START),b.go(b.current.name,g,{notify:!1}).then(function(){a.$broadcast(e.LIST_STATE_CHANGE_SUCCESS)})}},this.extendFilters=function(f){if(!d.isStateChanging){var g=angular.extend({},c,f);a.$broadcast(e.LIST_STATE_CHANGE_START),b.go(b.current.name,g,{notify:!1}).then(function(){a.$broadcast(e.LIST_STATE_CHANGE_SUCCESS)})}},this.getFilter=function(a){return c[a]},this.beginTransaction=function(){if(this._isTransacting)throw new Error("A transaction is already in progress");this._isTransacting=!0,this._transactionFilters={}},this.commitTransaction=function(){if(!this._isTransacting)throw new Error("No transaction has been started");this.extendFilters(this._transactionFilters),this.clearTransaction()},this.clearTransaction=function(){this._isTransacting=!1,delete this._transactionFilters}}])},{}],575:[function(a,b,c){"use strict";angular.module("base-unifi").service("mathUtils",[function(){function a(a,b,c){return"undefined"==typeof c||0===+c?Math[a](b):(b=+b,c=+c,isNaN(b)||"number"!=typeof c||c%1!==0?NaN:(b=b.toString().split("e"),b=Math[a](+(b[0]+"e"+(b[1]?+b[1]-c:-c))),b=b.toString().split("e"),+(b[0]+"e"+(b[1]?+b[1]+c:c))))}this.round10=function(b,c){return a("round",b,c)},this.floor10=function(b,c){return a("floor",b,c)},this.ceil10=function(b,c){return a("ceil",b,c)}}])},{}],576:[function(a,b,c){"use strict";var d=a("merge-defaults");angular.module("base-unifi").service("mergeDefaults",[function(){return d}])},{"merge-defaults":234}],577:[function(a,b,c){"use strict";angular.module("base-unifi").factory("getNestedMixin",["Backbone",function(a){return{_hasGetNestedMixin:!0,getNested:function(b,c){angular.isString(b)&&(b=b.split("."));for(var d=b.shift(),e=this.get(d,c);(d=b.shift())&&void 0!==e;)e=e instanceof a.Model||e instanceof a.Collection?e.get(d,c):e[d];return e}}}])},{}],578:[function(a,b,c){"use strict";angular.module("base-unifi").factory("modelDelegateMixin",[function(){return{_hasDelegateMixin:!0,get:function(a,b){var c=this._getDelegateToMixinOption("get",b);return this._delegate("get",c,a)},set:function(a,b,c){var d;"object"==typeof a?(d=a,c=b):(d={})[a]=b;var e=this._getDelegateToMixinOption("set",c);return c=this._sanitizeDelegateOptions(c),this._delegate("set",e,d,c)},has:function(a,b){var c=this._getDelegateToMixinOption("has",b);return this._delegate("has",c,a)},unset:function(a,b){var c=this._getDelegateToMixinOption("unset",b);return b=this._sanitizeDelegateOptions(b),this._delegate("unset",c,a,b)},clear:function(a){var b=this._getDelegateToMixinOption("clear",a);return a=this._sanitizeDelegateOptions(a),this._delegate("clear",b,a)},save:function(a,b,c){var d;null===a||"object"==typeof a?(d=a,c=b):(d={})[a]=b;var e=this._getDelegateToMixinOption("save",c);return c=this._sanitizeDelegateOptions(c),this._delegate("save",e,d,c)},_delegate:function(a,b){var c=[].slice.call(arguments,2);if(b){if(this[b]&&this[b][a])return this[b][a].apply(this,c);throw new Error("Missing or invalid mixin: "+[b,a].join(":"))}var d=this._getDelegateFallback(this,a);return d[a].apply(this,c)},_sanitizeDelegateOptions:function(a){return a&&a.delegateTo&&(a=angular.extend({},a),delete a.delegateTo),a},_getDelegateToMixinOption:function(a,b){return b&&b.delegateTo||this["_default"+(a.charAt(0).toUpperCase()+a.substr(1))+"Mixin"]},_getDelegateFallback:function(a,b){if(this._delegateFallbackCache&&this._delegateFallbackCache[b])return this._delegateFallbackCache[b];var c=a.constructor.__super__;if(c)return c.constructor&&c.constructor.prototype&&c.constructor.prototype[b]&&c.constructor.prototype[b]!==this[b]?(this._delegateFallbackCache=this._delegateFallbackCache||{},this._delegateFallbackCache[b]=c.constructor.prototype,c.constructor.prototype):this._getDelegateFallback(c,b);throw new Error("Missing or invalid default method: "+b)},_clearDelegateFallbackCache:function(){this._delegateFallbackCache={}}}}])},{}],579:[function(a,b,c){"use strict";angular.module("base-unifi").factory("pendingMixin",["$q",function(a){return{_hasPendingMixin:!0,_getPendingStorage:function(){return this._pendingStorage||(this._pendingStorage=this.clone(),this._pendingStorage.clear(),this._pendingStorage.on("all",this._delegatePendingTrigger,this)),this._pendingStorage},_delegatePendingTrigger:function(a,b,c,d){this.trigger("pending:"+a,b,c,d)},getPendingAttributes:function(){return this._pendingStorage?this._hasDeepCopyMixin?this._getPendingStorage().deepAttributes():this._getPendingStorage().attributes:{}},hasPendingChanges:function(){return this._pendingStorage&&!angular.equals({},this.getPendingAttributes())||!1},clearPendingChanges:function(a){if(this._pendingStorage){var b=Object.keys(this.getPendingAttributes());return this._pendingStorage.clear(a),this._pendingStorage.off("all",this._delegatePendingTrigger,this),delete this._pendingStorage,delete this._pendingGroups,a&&a.silent||this.trigger("pending:clear",this,b,a),!0}},savePendingChanges:function(a){var b=this.getPendingAttributes(),c=this._hasSavePartialMixin?"savePartial":"save";return this[c](b,a).then(function(){a&&a.silent||this.trigger("pending:save",this,Object.keys(b),a),this.clearPendingChanges()}.bind(this))},getPendingGroups:function(){return this._pendingGroups?Object.keys(this._pendingGroups):[]},getPendingGroup:function(a){if(this._pendingGroups&&this._pendingGroups[a])return this._pendingGroups[a]},hasPendingGroup:function(a){return!(!this._pendingGroups||!this._pendingGroups[a])},addPendingGroup:function(a,b,c){if(a)return this._pendingGroups=this._pendingGroups||{},this._pendingGroups[a]=Object.keys(b),c&&c.silent||this.trigger("pending:group:add",this,a,b,c),!0},clearPendingGroup:function(a,b){if(this._pendingGroups&&this._pendingGroups[a]){var c=angular.extend({},b||{},{delegateTo:"pending"}),d=this._pendingGroups[a];return d.forEach(function(a){this.unset(a,c)}.bind(this)),delete this._pendingGroups[a],b&&b.silent||this.trigger("pending:group:clear",this,a,d,b),!0}},pending:{get:function(a,b){return this.has(a,{delegateTo:"pending"})?this._getPendingStorage().get(a,b):this.get(a,b)},set:function(a,b){return this._getPendingStorage().set(a,b),this.addPendingGroup((b||{}).pendingGroup,a),this},has:function(a,b){return this._getPendingStorage().has(a,b)},unset:function(a,b){return this._getPendingStorage().unset(a,b),this},clear:function(){return this._getPendingStorage().clear(),this},save:function(b,c){return this._getPendingStorage().set(b,c),this.addPendingGroup((c||{}).pendingGroup,b),a.when()}}}}])},{}],580:[function(a,b,c){"use strict";angular.module("base-unifi").factory("savePartialMixin",[function(){return{_hasSavePartialMixin:!0,savePartial:function(a,b){return b=b||{},b.data=JSON.stringify(a),this.save(a,b)}}}])},{}],581:[function(a,b,c){"use strict";angular.module("base-unifi").factory("siteUrlWithinMixin",[function(){return{_hasSiteUrlWithinMixin:!0,_within:void 0,getWithin:function(){return this._within},setWithin:function(a){this._within=a},updateWithin:function(a){this.getWithin()!==a&&(this.setWithin(a),this._hasResolveMixin&&this.invalidate())},url:function(){if(!this._hasSiteUrlMixin)throw new Error("Cannot call without siteUrlMixin");var a=this.buildUrl();return this._within&&(a+="?within="+this._within),a}}}])},{}],582:[function(a,b,c){"use strict";angular.module("base-unifi").factory("AccountModel",["UnifiAPISelfPath","UnifiAPIBasePath","CORSModel","siteUrlMixin","structureMixin","resolveMixin","deepCopyMixin","webrtcMixin","site",function(a,b,c,d,e,f,g,h,i){return c.extend(d).extend(e).extend(f).extend(g).extend(h).extend({idAttribute:"admin_id",siteUrl:"self",defaults:{networkconf_id:"all"},url:function(){return i.getActiveSite()?this.buildUrl({id:null}):a}})}])},{}],583:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BackupMgrModel",["CORSModel","siteUrlMixin","structureMixin","webrtcMixin",function(a,b,c,d){return a.extend(b).extend(c).extend(d).extend({_isActiveSiteOptional:!0,siteUrl:"cmd/backup"})}])},{}],584:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BatchModel",["CORSModel","savePartialMixin","siteUrlMixin","structureMixin","webrtcMixin",function(a,b,c,d,e){return a.extend(b).extend(c).extend(e).extend({isBatch:!0,siteUrl:function(){throw new Error("You must override siteUrl")},initialize:function(a){a&&(this._addModelEventHandlers(this,a.model),this._addCollectionEventHandlers(this,a.collection)),this.on("change:model",this._addModelEventHandlers,this),this.on("change:collection",this._addCollectionEventHandlers,this)},_addModelEventHandlers:function(a,b){var c=this.previous("model");c&&(c.off("change",this._onModelChange,this),c.off("pending:change",this._onModelPendingChange,this)),b&&(b.on("change",this._onModelChange,this),b.on("pending:change",this._onModelPendingChange,this))},_addCollectionEventHandlers:function(a,b){var c=this.previous("collection");c&&c.off("add remove change reset",this._onCollectionChange,this),b&&b.on("add remove change reset",this._onCollectionChange,this)},_onModelChange:function(){this.trigger("change change:model")},_onModelPendingChange:function(){this.trigger("change pending:change")},_onCollectionChange:function(){this.trigger("change change:collection")},setModelType:function(a){this.modelType=a},hasPendingChanges:function(){var a=this.get("model"),b=this.get("collection");return!!(a&&a._hasPendingMixin&&a.hasPendingChanges()&&b&&b.length)},clearPendingChanges:function(){var a=this.get("model");a&&a._hasPendingMixin&&a.clearPendingChanges()},_getResponseByModel:function(a,b){return a[b.id]},parse:function(a,b){if(b&&b.parse===!0){var c=d.parse.call(this,a);a=this.attributes,a.success=[],a.error=[],this.get("collection").each(function(b){var e=this._getResponseByModel(c,b);if(e&&e.meta&&"ok"===e.meta.rc){a.success.push(b.id);var f=d.parse.call(b,e);b.set(f)}else a.error.push({id:b.id,data:e})}.bind(this))}return a},save:function(b,c){return c=c||{},c.parse=!0,a.prototype.save.call(this,b,c)},sync:function(b,c,d){return d=d||{},"update"===b&&(d.type="POST"),a.prototype.sync.call(this,b,c,d)},url:function(){return this.buildUrl({id:void 0})}})}])},{}],585:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ChangeSiteModel",["CORSModel","UnifiAPISelfPath","webrtcMixin",function(a,b,c){return a.extend(c).extend({url:b,save:function(b,c){return c=c||{},c.type="PUT",a.prototype.save.call(this,b,c)}})}])},{}],586:[function(a,b,c){"use strict";angular.module("base-unifi").factory("CountryModel",["BaseModel",function(a){return a.extend({idAttribute:"code"})}])},{}],587:[function(a,b,c){"use strict";angular.module("base-unifi").factory("EditAccountModel",["CORSModel","UnifiAPISelfPath","webrtcMixin",function(a,b,c){return a.extend(c).extend({url:b,save:function(b,c){return c=c||{},c.type="PUT",a.prototype.save.call(this,b,c)}})}])},{}],588:[function(a,b,c){"use strict";angular.module("base-unifi").factory("HotspotMgrModel",["CORSModel","siteUrlMixin","structureMixin","webrtcMixin",function(a,b,c,d){return a.extend(b).extend(c).extend(d).extend({siteUrl:"cmd/hotspot"})}])},{}],589:[function(a,b,c){"use strict";angular.module("base-unifi").factory("HotspotPackageModel",["CORSModel","siteUrlMixin","structureMixin","deepCopyMixin","webrtcMixin",function(a,b,c,d,e){return a.extend(b).extend(c).extend(d).extend(e).extend({idAttribute:"_id",siteUrl:"rest/hotspotpackage"})}])},{}],590:[function(a,b,c){"use strict";angular.module("base-unifi").factory("LoginModel",["CORSModel","UnifiAPIBasePath","webrtcMixin",function(a,b,c){return a.extend(c).extend({url:b+"/login"})}])},{}],591:[function(a,b,c){"use strict";angular.module("base-unifi").factory("LogoutModel",["CORSModel","UnifiAPIBasePath","webrtcMixin",function(a,b,c){return a.extend(c).extend({url:b+"/logout"})}])},{}],592:[function(a,b,c){"use strict";angular.module("base-unifi").factory("PreferencesModel",["Backbone","BaseModel","deepCopyMixin",function(a,b,c){return b.extend(c).extend({localStorage:new a.LocalStorage("unifi-preferences"),defaults:{rowsPerPage:null,rowsPerPropertyPanel:null},getRowsPerPage:function(a){var b="rowsPerPage"+(a?":"+a:"");return this.get(b)},updateRowsPerPage:function(a,b){var c="rowsPerPage"+(b?":"+b:"");return this.save(c,a)},getRowsPerPropertyPanel:function(a){var b="rowsPerPropertyPanel"+(a?":"+a:"");return this.get(b)},updateRowsPerPropertyPanel:function(a,b){var c="rowsPerPropertyPanel"+(b?":"+b:"");return this.save(c,a)}})}])},{}],593:[function(a,b,c){"use strict";angular.module("base-unifi").factory("RecoverPasswordMgrModel",["CORSModel","structureMixin","UnifiAPIBasePath",function(a,b,c){return a.extend(b).extend({url:c+"/recover"})}])},{}],594:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SdnMgrModel",["CORSModel","siteUrlMixin","structureMixin","webrtcMixin",function(a,b,c,d){return a.extend(b).extend(c).extend(d).extend({_isActiveSiteOptional:!0,siteUrl:"cmd/sdn"})}])},{}],595:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SdnModel",["CORSModel","deepCopyMixin","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(b).extend(c).extend(d).extend(e).extend(f).extend({siteUrl:"stat/sdn"})}])},{}],596:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SiteHealthModel",["CORSAssociatedModel","webrtcMixin",function(a,b){return a.extend(b).extend({idAttribute:"subsystem"})}])},{}],597:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SiteModel",["SiteHealthModel","Backbone","BaseCollection","CORSAssociatedModel","structureMixin","getNestedMixin","deepCopyMixin","webrtcMixin",function(a,b,c,d,e,f,g,h){return d.extend(e).extend(f).extend(g).extend(h).extend({idAttribute:"_id",modelType:"site",relations:[{type:b.Many,key:"health",collectionType:c,relatedModel:a}],getDisplayName:function(){return this.get("desc")||this.get("name")}})}])},{}],598:[function(a,b,c){"use strict";angular.module("base-unifi").factory("StatusModel",["UnifiAPIStatusPath","CORSModel","getNestedMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e){return b.extend(c).extend(d).extend(e).extend({url:a,skipTimeout:!0})}])},{}],599:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SystemInfoModel",["CORSModel","siteUrlMixin","structureMixin","resolveMixin","deepCopyMixin","webrtcMixin",function(a,b,c,d,e,f){return a.extend(b).extend(c).extend(d).extend(e).extend(f).extend({_isActiveSiteOptional:!0,siteUrl:"stat/sysinfo"})}])},{}],600:[function(a,b,c){"use strict";angular.module("base-unifi").factory("SystemMgrModel",["CORSModel","siteUrlMixin","structureMixin","webrtcMixin",function(a,b,c,d){return a.extend(b).extend(c).extend(d).extend({_isActiveSiteOptional:!0,siteUrl:"cmd/system"})}])},{}],601:[function(a,b,c){"use strict";angular.module("base-unifi").factory("UbicSsoModel",["CORSModel","structureMixin","webrtcMixin","UnifiAPIBasePath","UseWebrtc","$http",function(a,b,c,d,e,f){return a.extend(b).extend(c).extend({url:d+"/self/ubic_sso",destroy:function(){return f["delete"](this.url,{withCredentials:!0,withWebRTC:e,headers:{"X-Requested-With":"XMLHttpRequest"}})}})}])},{}],602:[function(a,b,c){"use strict";angular.module("base-unifi").factory("UpdateProgressModel",["$q","CORSModel","siteUrlMixin","structureMixin","resolveMixin","webrtcMixin",function(a,b,c,d,e,f){return b.extend(c).extend(d).extend(e).extend(f).extend({_isActiveSiteOptional:!0,siteUrl:"stat/updateprogress"})}])},{}],603:[function(a,b,c){"use strict";angular.module("base-unifi").service("polls",["$q","ModelPoll",function(a,b){this.polls={},this.createModelPoll=function(c,d,e){return this.polls[c]?a.reject(this.polls[c]):(this.polls[c]=new b(angular.extend({model:d},e)),a.when(this.polls[c]))},this.start=function(a){var b=this.polls[a];return!!b&&b.start()},this.stop=function(a){var b=this.polls[a];return!!b&&b.stop()},this.destroy=function(a){var b=this.stop(a);return delete this.polls[a],b}}])},{}],604:[function(a,b,c){"use strict";angular.module("base-unifi").factory("BasePoll",["$interval",function(a){var b=function(a){this.attrs=a,this.tick=this.tick.bind(this)};return b.prototype.isRunning=function(){return!!this._isRunning},b.prototype.start=function(){if(!this._isRunning&&(this._isRunning=!0))return this.interval=a(this.tick,this.attrs.delay,this.attrs.count),this.interval.then(function(){this._isRunning=!1}.bind(this)),this.interval;throw new Error("The poll is already running")},b.prototype.stop=function(){if(this._isRunning&&!(this._isRunning=!1))return a.cancel(this.interval);throw new Error("The poll is not running")},b.prototype.tick=function(){throw new Error("The tick function must be extended")},b}])},{}],605:[function(a,b,c){"use strict";angular.module("base-unifi").factory("ModelPoll",["BasePoll",function(a){var b=function(b){this.model=b.model,delete b.model,a.call(this,b)};return b.prototype=new a,b.prototype.getModel=function(){return this.model},b.prototype.tick=function(){this.model.resolve({forceFetch:this.attrs.forceFetch||!1}).then(function(a){this.attrs.onSuccess&&this.attrs.onSuccess(a)}.bind(this))["catch"](function(a){this.attrs.onError&&this.attrs.onError(a)}.bind(this))},b}])},{}],606:[function(a,b,c){"use strict";angular.module("base-unifi").factory("queryString",["$rootScope","$location","$state","EVENTS",function(a,b,c,d){function e(){this.queryStringBackups=[],this._stateChangeStartHandler=this._stateChangeStartHandler.bind(this),this._stateChangeSuccessHandler=this._stateChangeSuccessHandler.bind(this),a.$on("$stateChangeStart",this._stateChangeStartHandler),a.$on("$stateChangeSuccess",this._stateChangeSuccessHandler),a.$on(d.LIST_STATE_CHANGE_START,this._stateChangeStartHandler),a.$on(d.LIST_STATE_CHANGE_SUCCESS,this._stateChangeSuccessHandler)}return e.prototype._stateChangeStartHandler=function(a,b,c,d,e){this.queryStringBackups.push(!e||angular.equals({},e)||c.site===e.site?angular.extend({},this.get()||{}):void 0)},e.prototype._stateChangeSuccessHandler=function(){var a=this.get(),b=this.queryStringBackups.pop();(a||b)&&this.set(angular.extend({},b||{},a||{}))},e.prototype.set=function(){c.current.reloadOnSearch=!1,b.search.apply(b,arguments),c.current.reloadOnSearch=void 0},e.prototype.get=function(){var a=b.search();return angular.equals({},a)?void 0:a},e.prototype.remove=function(a){this.set(a,null)},e.prototype.clear=function(){b.url(b.path())},new e}])},{}],607:[function(a,b,c){"use strict";angular.module("base-unifi").service("refresh",["$rootScope","$interval","$q","account","preferences","REFRESH_RATES","EVENTS",function(a,b,c,d,e,f,g){var h=[];this.refresh=function(){!this.isRefreshing&&d.isLoggedIn()&&(this.isRefreshing=!0,a.$broadcast(g.APP_REFRESH,h),
c.all(h)["finally"](function(){h=[],this.isRefreshing=!1}.bind(this)))},this.getRefreshRateById=function(a){return f.find(function(b){return b.id===a})},this.getRefreshRate=function(){return this.getRefreshRateById(this.temporaryRefreshRate||e.model.get("refreshRate"))},this.updateRefreshRate=function(a){var b=this.getRefreshRateById(a),c=!1;b&&(b.isTemporary&&!e.model.get("refreshRateRememberAll")?(this.temporaryRefreshRate=a,c=void 0===e.model.get("refreshRate"),e.model.save({refreshRate:void 0})):(c=void 0!==this.temporaryRefreshRate,this.temporaryRefreshRate=void 0,e.model.save({refreshRate:a}))),c&&e.model.trigger("change:refreshRate")},this.cancelRefreshInterval=function(){this.refreshInterval&&(b.cancel(this.refreshInterval),this.refreshInterval=null)},this.onRefreshRateChange=function(){this.cancelRefreshInterval();var a=this.getRefreshRate();a&&a.seconds&&(this.refreshInterval=b(function(){this.refresh()}.bind(this),1e3*a.seconds))},this.addEventHandlers=function(){e.model.on("change:refreshRate",this.onRefreshRateChange,this)},this.removeEventHandlers=function(){e.model.off("change:refreshRate",this.onRefreshRateChange,this)},a.$on("$destroy",function(){this.cancelRefreshInterval(),this.removeEventHandlers()}.bind(this)),this.addEventHandlers(),this.onRefreshRateChange()}])},{}],608:[function(a,b,c){"use strict";angular.module("base-unifi").service("repositoryUtils",["$injector","$window",function(a,b){this.register=function(a){this.getRepository(a).register()}.bind(this),this.registerGroup=function(a){return a.map(this.register)}.bind(this),this.unregister=function(a){this.getRepository(a).unregister()}.bind(this),this.unregisterGroup=function(a){return a.map(this.unregister)}.bind(this),this.getRepository=function(b){var c,d;return angular.isObject(b)?(c=a.get(b.service),d=c.repositories[b.repository]):(c=a.get(b),d=c.repository),d},this.getRegisterCount=function(a,b){var c=this.getRepository(a),d=c._registration;return b?d.items[b].count:d.count},this.fetchRepositories=function(a){return a.map(function(a){return this.getRepository(a).fetch()},this)},b.getRegisterCount=this.getRegisterCount.bind(this)}])},{}],609:[function(a,b,c){"use strict";angular.module("base-unifi").service("translateResolver",["$translate","$translatePartialLoader",function(a,b){this.resolve=function(){return Array.from(arguments).forEach(function(a){b.addPart(a)}),a.refresh()}}])},{}],610:[function(a,b,c){"use strict";angular.module("base-unifi").service("urlLocaleResolver",["$q","$translate","queryString",function(a,b,c){this.resolve=function(){var d=(c.get()||{}).locale,e=b.use();if(d){c.remove("locale");var f=d.replace("-","_");if(f!==e)return b.use(f)}return a.when()}}])},{}],611:[function(a,b,c){"use strict";angular.module("base-unifi").service("webrtcResolver",["$q","device","unifiWebRtcConnector","UseWebrtc",function(a,b,c,d){this.resolve=function(){return d?c.isConnected()||c.connect(b.getActiveDevice()):a.when()}}])},{}],612:[function(a,b,c){"use strict";angular.module("base-unifi").service("sdn",["$q","$translate","account","apiResults","polls","BaseModelRepository","SdnMgrModel","SdnModel","UbicSsoModel","SDN_STATES",function(a,b,c,d,e,f,g,h,i,j){this.repository=new f(new h),this.fetchWithPolling=function(){return a(function(a){var b="sdn.refresh";e.createModelPoll(b,this.repository.model,{forceFetch:!0,delay:2e3,onSuccess:function(){this.isConnecting()||(e.destroy(b),a())}.bind(this)}).then(function(a){a.start()})}.bind(this))},this.checkCredentials=function(c){return(new g).save({cmd:"check-credentials",ubic_username:c.username,ubic_password:c.password})["catch"](function(c){return a.reject(d.appendErrorMsg(b.instant("SETTINGS_CLOUD_ACCESS_CHECK_CREDENTIALS_ERROR"),c))})},this.registerSuperAdminWithUuid=function(a){return(new g).save({cmd:"register",ubic_username:a.username,ubic_uuid:a.uuid})},this.registerSuperAdminWithPassword=function(a){return(new g).save({cmd:"register",ubic_username:a.username,ubic_password:a.password})},this.register=function(e){var f=null;f=c.isSuperAdmin()?this.registerSuperAdminWithPassword(e):(new i).save({ubic_username:e.username,x_ubic_password:e.password});var g=[f,this.fetchWithPolling()];return a.all(g).then(function(){return c.repository.refresh()})["catch"](function(c){return a.reject(d.appendErrorMsg(b.instant("SETTINGS_CLOUD_ACCESS_REGISTER_ERROR"),c))})},this.unregister=function(){var e=null;return e=c.isSuperAdmin()?(new g).save({cmd:"unregister"}):(new i).destroy(),e.then(function(){return this.fetchWithPolling()}.bind(this)).then(function(){return c.repository.refresh()})["catch"](function(c){return a.reject(d.appendErrorMsg(b.instant("SETTINGS_CLOUD_ACCESS_UNREGISTER_ERROR"),c))})},this.getStatus=function(){return this.repository.model.get("connecting")?j.CONNECTING:this.repository.model.get("enabled")?this.repository.model.get("connected")?j.CONNECTED:this.repository.model.get("registered")?j.DISCONNECTED:j.NOT_REGISTERED:j.DISABLED},this.isConnecting=function(){return this.getStatus()===j.CONNECTING},this.isCloudKey=function(){return!!this.repository.model.get("is_cloud_key")},this.isRegistered=function(){return this.repository.model.get("registered")},this.isEnabled=function(){return this.repository.model.get("enabled")}}])},{}],613:[function(a,b,c){"use strict";angular.module("base-unifi").service("siteHealth",["BaseCollectionRepository","SiteHealthCollection",function(a,b){this.repository=new a(new b)}])},{}],614:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").service("siteUtils",["$q","$rootScope","$translate","apiResults","BackupMgrModel","EVENTS","fileUtils","site","SiteMgrModel","sites","system","UnifiFileBasePath",function(a,b,c,e,f,g,h,i,j,k,l,m){this.getDefaultSiteName=function(){var a=k.repository.collection.findWhere({attr_hidden_id:"default"});return a?a.get("name"):void 0},this.doesSiteExist=function(a){return!!k.repository.collection.findWhere({name:a})},this.getActiveSite=function(){return k.repository.collection.findWhere({name:i.getActiveSite()})},this.updateActiveSiteDesc=function(b){var d=this.getActiveSite();if(!d)throw new Error("Unable to update desc without active site");return(new j).save({desc:b,cmd:"update-site"}).then(function(){return d.set({desc:b}),a.when(c.instant("SETTINGS_SITE_UPDATE_DESC_SUCCESS"))})["catch"](function(b){return a.reject(e.appendErrorMsg(c.instant("SETTINGS_SITE_UPDATE_DESC_ERROR"),b))})},this.addSite=function(d){return(new j).save({desc:d.get("desc"),cmd:"add-site"}).then(function(e){return d.set(d.parse(e.data)),b.$broadcast(g.SITE_ADDED,d),a.when(c.instant("SITE_ACTIONS_ADD_SUCCESS",{siteDesc:d.get("desc")}))})["catch"](function(b){return a.reject(e.appendErrorMsg(c.instant("SITE_ACTIONS_ADD_ERROR",{siteDesc:d.get("desc")}),b))})},this.importSite=function(d,h){return(new f).save({backup_id:h,cmd:"import-site",site_desc:d.get("desc")}).then(function(e){return d.set(d.parse(e.data)),b.$broadcast(g.SITE_ADDED,d),a.when(c.instant("SITE_ACTIONS_ADD_SUCCESS",{siteDesc:d.get("desc")}))})["catch"](function(b){return a.reject(e.appendErrorMsg(c.instant("SITE_ACTIONS_ADD_ERROR",{siteDesc:d.get("desc")}),b))})},this.deleteSite=function(d){return(new j).save({site:d.id,cmd:"delete-site"}).then(function(){return b.$broadcast(g.SITE_DELETED,d),a.when(c.instant("SETTINGS_SITE_DELETE_SUCCESS",{siteDesc:d.get("desc")}))})["catch"](function(b){return a.reject(e.appendErrorMsg(c.instant("SETTINGS_SITE_DELETE_ERROR",{siteDesc:d.get("desc")}),b))})},this.generateSiteExport=function(){var b=l.repository.model.get("version");return(new f).save({cmd:"export-site"}).then(function(e){return e&&e.data&&e.data.data?h.download(m+e.data.data[0].url,(b||"unifi-site-"+i.getActiveSite()+"-"+d(new Date).format("YYYYMMDD-HHmm"))+".unf").then(function(){return a.when(c.instant("SETTINGS_MAINTENANCE_DOWNLOAD_SITE_EXPORT_SUCCESS"))}):a.reject(c.instant("SETTINGS_MAINTENANCE_GENERATE_SITE_EXPORT_ERROR"))})["catch"](function(b){return a.reject(e.appendErrorMsg(c.instant("SETTINGS_MAINTENANCE_GENERATE_SITE_EXPORT_ERROR"),b))})}}])},{moment:238}],615:[function(a,b,c){"use strict";angular.module("base-unifi").service("sites",["$rootScope","BaseCollectionRepository","SiteCollection","EVENTS",function(a,b,c,d){this.repository=new b(new c),a.$on(d.SITE_ADDED,function(a,b){this.repository.collection.add(b,{merge:!0})}.bind(this)),a.$on(d.SITE_DELETED,function(a,b){this.repository.collection.remove(b)}.bind(this))}])},{}],616:[function(a,b,c){"use strict";angular.module("base-unifi").service("sitesOverview",["$rootScope","BaseCollectionRepository","SiteCollection","EVENTS",function(a,b,c,d){var e=c.extend({extended:!0});this.repository=new b(new e),a.$on(d.SITE_ADDED,function(){this.repository.isRegistered()&&this.repository.refresh()}.bind(this)),a.$on(d.SITE_DELETED,function(a,b){this.repository.collection.remove(b)}.bind(this))}])},{}],617:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").service("statsUtils",["_","REPORT_DEFAULTS","TIME_INTERVALS",function(a,b,c){this.getTopItems=function(b,c,d,e,f){var g=b.sortBy(function(a){return a.get(d)||0}).reverse();return f&&(g=g.filter(f)),e&&(g=a.uniq(g,function(a){return a.get(e)})),g.slice(0,c)},this.fillWithPaddingDataPoints=function(a,b,c,d){if(a.length>0){for(var e=0,f=[],g=parseInt(c);g<=parseInt(d);g+=b.grain){var h=this.normalizeTime(g,b);e===a.length-1&&h>=a[e].x+b.grain||h<=a[e].x-b.grain?f.push({x:h}):e<a.length-1&&e++}var i=a.concat(f);return i.sort(function(a,b){return a.x-b.x}),i}return a},this.normalizeTime=function(a,b){return[c.WEEKLY,c.MONTHLY].indexOf(b)!==-1?d(a).add(1,"day").subtract(1,"second").startOf("day").valueOf():a}}])},{moment:238}],618:[function(a,b,c){"use strict";angular.module("base-unifi").service("status",["$state","$location","polls","account","BaseModelRepository","StatusModel","ENV",function(a,b,c,d,e,f,g){this.repository=new e(new f),this.waitForRestart=function(){if(!this.isWaitingForRestart){this.isWaitingForRestart=!0;var e=new f,h="status.restart";c.createModelPoll(h,e,{delay:1500,count:100,forceFetch:!0,onSuccess:function(e){e.getNested("meta.up")&&(c.destroy(h),this.isWaitingForRestart=!1,d.logout(!0).then(function(){a.go(g.LOGIN_STATE,{redirect:b.url()})}))}.bind(this)}).then(function(a){a.start()})}}}])},{}],619:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").service("system",["$q","$translate","$window","analytics","apiResults","BackupMgrModel","fileUtils","polls","BaseModelRepository","GoogleMapsApiKey","SystemInfoModel","SystemMgrModel","UnifiFileBasePath","UpdateProgressModel","Upload","UseWebrtc","UPDATE_PROGRESS_STATUS","UPDATE_STATUS","UPDATE_STATUS_REFRESH",function(a,b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){this.updateStatusModel=new o,this.repository=new j(new l),this.repository.fetch=function(a){return j.prototype.fetch.call(this,a).then(function(a){return e.loadOnce(a)})},this.isCloudKey=function(){return!!this.repository.model.get("cloudkey_version")},this.isUnifiGo=function(){return this.repository.model.get("unifi_go_enabled")},this.isDemoMode=function(){return!!this.repository.model.get("simulator_demo_mode_enabled")},this.isCloudKeySdCardMounted=function(){return this.repository.model.get("cloudkey_sdcard_mounted")},this.setDebugLevel=function(c,d){return(new m).save({cmd:"set-param",key:"debug."+c,value:d}).then(function(){return this.repository.model.set("debug_"+c,d),a.when(b.instant("SETTINGS_MAINTENANCE_LOG_LEVEL_SUCCESS",{type:b.instant("SETTINGS_MAINTENANCE_LABEL_LOG_LEVEL_"+c.toUpperCase()).toLowerCase()}))}.bind(this))["catch"](function(d){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_LOG_LEVEL_ERROR",{type:b.instant("SETTINGS_MAINTENANCE_LABEL_LOG_LEVEL_"+c.toUpperCase()).toLowerCase()}),d))})},this.setDataRetention=function(c){return(new m).save({cmd:"set-param",key:"data_retention_days",value:c}).then(function(){return this.repository.model.set("data_retention_days",c),a.when(b.instant("SETTINGS_MAINTENANCE_DATA_RETENTION_SUCCESS"))}.bind(this))["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_DATA_RETENTION_ERROR"),c))})},this.compactDatabase=function(){return(new m).save({cmd:"compact-database"}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_COMPACT_DATABASE_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_COMPACT_DATABASE_ERROR"),c))})},this.generateSupportFile=function(e){return(new m).save({cmd:"support",userAgent:c.navigator.userAgent,language:c.navigator.language}).then(function(){return e?h.download(n+"/dl/support","unifi-"+d(new Date).format("YYYYMMDD-HHmm")+".supp").then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_DOWNLOAD_SUPPORT_FILE_SUCCESS"))})["catch"](function(){return a.reject(b.instant("SETTINGS_MAINTENANCE_DOWNLOAD_SUPPORT_FILE_ERROR"))}):a.when(b.instant("SETTINGS_MAINTENANCE_GENERATE_SUPPORT_FILE_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_GENERATE_SUPPORT_FILE_ERROR"),c))})},this.checkSshCredentials=function(c){return(new m).save({cmd:"check-ssh-credentials",username:c.username,password:c.password})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_CHECK_SSH_CREDENTIALS_ERROR"),c))})},this.changeSshUsername=function(c){return(new m).save({cmd:"change-ssh-username",username:c})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_CHANGE_SSH_USERNAME_ERROR"),c))})},this.changeSshPassword=function(c){return(new m).save({cmd:"change-ssh-password",username:c.username,password:c.password})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_CHANGE_SSH_PASSWORD_ERROR"),c))})},this.checkDevicesFirmwareUpdate=function(){return(new m).save({cmd:"check-firmware-update"}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_IS_DEVICES_FIRMWARE_UPDATE_AVAILABLE_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_IS_DEVICES_FIRMWARE_UPDATE_AVAILABLE_ERROR"),c))})},this.isCloudKeyFirmwareUpdateAvailable=function(){return(new m).save({cmd:"check-cloudkey-update"}).then(function(){return this.repository.refresh(),a.when(b.instant("SETTINGS_MAINTENANCE_IS_CLOUD_KEY_FIRMWARE_UPDATE_AVAILABLE_SUCCESS"))}.bind(this))["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_IS_CLOUD_KEY_FIRMWARE_UPDATE_AVAILABLE_ERROR"),c))})},this.updateCloudKeyFirmware=function(){return(new m).save({cmd:"update-cloudkey"}).then(function(){return b.instant("SETTINGS_MAINTENANCE_UPDATE_CLOUD_KEY_FIRMWARE_SUCCESS")})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_UPDATE_CLOUD_KEY_FIRMWARE_ERROR"),c))})},this.isCloudKeyControllerUpdateAvailable=function(){return(new m).save({cmd:"check-controller-package-update"}).then(function(){return this.repository.refresh(),a.when(b.instant("SETTINGS_MAINTENANCE_IS_CLOUD_KEY_CONTROLLER_UPDATE_AVAILABLE_SUCCESS"))}.bind(this))["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_IS_CLOUD_KEY_CONTROLLER_UPDATE_AVAILABLE_ERROR"),c))})},this.updateCloudKeyController=function(){return(new m).save({cmd:"update-controller-package"}).then(function(){return this.waitForUpdateFinish(),a.when(b.instant("SETTINGS_MAINTENANCE_UPDATE_CLOUD_KEY_CONTROLLER_SUCCESS"))}.bind(this))["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_UPDATE_CLOUD_KEY_CONTROLLER_ERROR"),c))})},this.waitForUpdateFinish=function(){return a(function(a){var b="system.update.finish";i.createModelPoll(b,this.updateStatusModel,{forceFetch:!0,delay:t,onSuccess:function(){var c=!this.updateStatusModel.get("cloudkey_fw_updating")&&!this.updateStatusModel.get("cloudkey_unifi_updating");c&&(i.destroy(b),a())}.bind(this),onError:function(){this.updateStatusModel.set("cloudkey_fw_updating",!0),this.updateStatusModel.set("cloudkey_fw_updating_progress",r.RESTARTING)}.bind(this)}).then(function(a){a.start()})}.bind(this))},this.checkUpdateStatus=function(){return this.updateStatusModel.fetch()},this.isFirmwareUpdating=function(){return!!this.updateStatusModel.get("cloudkey_fw_updating")},this.getFirmwareDownloadProgress=function(){switch(this.updateStatusModel.get("cloudkey_fw_updating_progress")){case r.DOWNLOADING:return.8*this.updateStatusModel.get("cloudkey_fw_download_progress");case r.CHECKING:return 90;case r.RESTARTING:return 100;default:return 0}},this.getFirmwareUpdateStatus=function(){return this.updateStatusModel.get("cloudkey_fw_updating")?(this.updateStatusModel.get("cloudkey_fw_updating_progress")||r.UNKNOWN).toUpperCase():this.repository.model.get("cloudkey_update_available")?s.UPDATE_AVAILABLE:s.UP_TO_DATE},this.getControllerUpdateStatus=function(){return this.updateStatusModel.get("cloudkey_unifi_updating")?(this.updateStatusModel.get("cloudkey_unifi_updating_progress")||r.UNKNOWN).toUpperCase():this.repository.model.get("package_update_available")?s.UPDATE_AVAILABLE:s.UP_TO_DATE},this.restartCloudKey=function(){return(new m).save({cmd:"reboot"}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_RESTART_CLOUD_KEY_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_RESTART_CLOUD_KEY_ERROR"),c))})},this.shutdownCloudKey=function(){return(new m).save({cmd:"poweroff"}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_SHUTDOWN_CLOUD_KEY_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_SHUTDOWN_CLOUD_KEY_ERROR"),c))})},this.resetCloudKey=function(){return(new m).save({cmd:"factory-reset"}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_RESET_CLOUD_KEY_SUCCESS"))})["catch"](function(c){return a.reject(f.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_RESET_CLOUD_KEY_ERROR"),c))})},this.getLiveChatLevel=function(){return this.repository.model.get("live_chat")},this.getGoogleMapsApiKey=function(){var a=q||this.isUnifiGo()||this.isDemoMode()?k:"",b=this.repository.model.get("google_maps_api_key")||a;return""!==b?b:void 0},this.useGoogleEngineForImageMaps=function(){return this.repository.model.get("image_maps_use_google_engine")},this.getControllerVersion=function(){return this.repository.model.get("version")}}])},{moment:238}],620:[function(a,b,c){"use strict";var d=a("moment");angular.module("base-unifi").service("systemBackupUtils",["$q","$translate","apiResults","BackupMgrModel","fileUtils","featureFlag","system","SystemMgrModel","UnifiFileBasePath","Upload","UseWebrtc",function(a,b,c,e,f,g,h,i,j,k,l){var m=function(){return g.isEnabled("withBackupMgrForBackupEndpoint")?new e:new i};this.generateBackupFile=function(e,g){var i=h.repository.model.get("version"),k=m();return k.save({cmd:"backup",days:e}).then(function(c){return g?c&&c.data&&c.data.data?f.download(j+c.data.data[0].url,(i||"unifi-"+d(new Date).format("YYYYMMDD-HHmm"))+".unf").then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_DOWNLOAD_BACKUP_FILE_SUCCESS"))}):a.reject(b.instant("SETTINGS_MAINTENANCE_GENERATE_BACKUP_FILE_ERROR")):a.when(b.instant("SETTINGS_MAINTENANCE_GENERATE_BACKUP_FILE_SUCCESS"))})["catch"](function(d){return a.reject(c.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_GENERATE_BACKUP_FILE_ERROR"),d))})},this.uploadBackupFile=function(d,e){return k.upload({url:j+"/upload/backup",fileFormDataName:"Filedata",file:d,withCredentials:!0,withWebRTC:l,type:"POST",headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(b){return a.when(b.data.meta)},function(d){return a.reject(c.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_RESTORE_FROM_BACKUP_UPLOAD_ERROR"),d))},function(a){e&&(e.loaded=a.loaded,e.percent=parseInt(100*a.loaded/a.total))})},this.restoreFromBackup=function(d){var e=m();return e.save({cmd:"restore",backup_id:d}).then(function(){return a.when(b.instant("SETTINGS_MAINTENANCE_RESTORE_FROM_BACKUP_SUCCESS"))})["catch"](function(d){return a.reject(c.appendErrorMsg(b.instant("SETTINGS_MAINTENANCE_RESTORE_FROM_BACKUP_ERROR"),d))})},this.cancelRestoreFromBackup=function(a){return(new e).save({cmd:"cancel-backup",backup_id:a})}}])},{moment:238}],621:[function(a,b,c){"use strict";angular.module("base-unifi").service("versionParser",[function(){this.parseFirmwareVersion=function(a){var b={};if(a){var c=a.split(".");c&&c.length>=6&&(b.time=c.pop(),b.date=c.pop(),b.revision=c.pop(),b.product=c.shift(),b.arch=c.shift(),b.version=c.join("."))}return b}}])},{}],622:[function(a,b,c){"use strict";angular.module("base-unifi").service("voucherUtils",["$filter","$translate",function(a,b){this.getStatusText=function(c){var d=c.get("status"),e=c.get("status_expires"),f=e?a("seconds")(e.toFixed(0)):null;return b.instant("VOUCHER_STATUS_"+d,{used:c.get("used"),expires:f})},this.formatCode=function(a){return a.substring(0,5)+"-"+a.substring(5)}}])},{}],623:[function(a,b,c){"use strict";angular.module("base-unifi").factory("unifiWebRtcConfiguration",["localStorageFailSafe","LocalStorageValue","SignallingChannelHttpsEndpoint","SignallingChannelHttpsHost","SignallingChannelType","SignallingChannelWsEndpoint","SignallingChannelWsHost","StunHost","WebRtcLegacyEngine","WebRtcStartAsCaller","SIGNALLING_CHANNEL_TYPES",function(a,b,c,d,e,f,g,h,i,j,k){function l(){var c=new b(a,"unifi-webrtc-configuration");c.hydrate();var d=c.getValue();return d?JSON.parse(d):{}}function m(a){switch(a){case k.HTTPS:return{endpoint:c,host:d};case k.WS:return{endpoint:f,host:g};default:throw new Error("Unknown signalling channel type.")}}function n(a){var b=m(a.signallingChannelConfig.type);return angular.extend(a.signallingChannelConfig,b),a}return function(){var a={legacyEngine:i,signallingChannelConfig:{type:e},startAsCaller:j,stunHost:h},b=n(angular.extend({},a,l()));return b}}])},{}],624:[function(a,b,c){"use strict";angular.module("base-unifi").service("unifiWebRtcConnector",["$http","$q","$rootScope","_","contextSwitchStates","redirectUrl","site","SSOAPIEndpoint","SSOAPIHostname","TurnCredentialsApiEndpoint","UnifiCloudHost","unifiWebRtcErrorHandler","unifiWebRtcSuccessHandler","version","VersionCheckEnabled","webRtcConnector","UNIFI_WEBRTC_ERROR","UNIFI_WEBRTC_EVENTS","WEBRTC_EVENTS",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){this.connecting=!1,this.eventHandlers={},this.connect=function(a){return this.init().then(this.verifySso.bind(this,a)).then(this.establishConnection.bind(this,a)).then(this.finalize.bind(this,a))},this.isConnected=function(){return!!this.connecting&&this.connecting.promise},this.init=function(){return this.connecting=b.defer(),b.when()},this.verifySso=function(d){return c.$broadcast(r.UNIFI_WEBRTC_VALIDATING_SSO),a.get("https://"+i+h,{withCredentials:!0})["catch"](function(){var a=q.ERROR_NOT_LOGGED_INTO_SSO;return l.redirectToAccount(a,d),b.reject(a)})},this.checkDeviceVersion=function(a,c){if(o&&!this.isSupportedDeviceVersion(a.controller_version)){var d=q.DEVICE_VERSION_INCOMPATIBLE;return l.showErrorFrame(d,c),b.reject(d)}return a},this.isSupportedDeviceVersion=function(a){var b=function(a){var b=/^(\d+\.\d+\.\d+)(\.[\w-]+)?$/.exec(a);return!b||b.length<2?null:b[1]};return b(a)===b(n.getVersion())},this.establishConnection=function(a){return c.$broadcast(r.UNIFI_WEBRTC_OBTAINING_CONTROLLER_INFO),this.getTurnCredentials(a).then(function(b){return this.checkDeviceVersion(b,a)}.bind(this)).then(function(b){return this.tryOpenConnection(a,b)}.bind(this))},this.getTurnCredentials=function(c){return a.get("https://"+k+j+c,{withCredentials:!0}).then(function(a){return a.data})["catch"](function(){var a=q.ERROR_ESTABLISH_CONNECTION;return l.showErrorFrame(a,c),b.reject(a)})},this.tryOpenConnection=function(a,c){return this.openConnection(a,c)["catch"](function(d){var e,f=d===s.WEBRTC_DEVICE_OFFLINE;return f?(e=q.DEVICE_OFFLINE,l.showErrorFrame(e,a),b.reject(e)):l.showRetryFrame(a).then(this.tryOpenConnection.bind(this,a,c))["catch"](function(){return b.reject(q.ERROR_ESTABLISH_CONNECTION)})}.bind(this))},this.openConnection=function(a,b){c.$broadcast(r.UNIFI_WEBRTC_ESTABLISHING_COMMUNICATION);var d="update_"+g.getActiveSite();return p.establishConnection({deviceId:a,turnCredentials:b,channelNames:["api",d]}).then(function(){p.on(d,this.onmessage.bind(this)),c.$on(e.getSuccess(),function(a,b){if(b){p.closeChannel(d);var c="update_"+b;p.openChannel(c),p.on(c,this.onmessage.bind(this))}}.bind(this))}.bind(this))},this.finalize=function(a){c.$broadcast(r.UNIFI_WEBRTC_INITIALIZING_APPLICATION),m.sendSuccessEvent(a),this.connecting.resolve(!0)},this.onmessage=function(a){var b=a.data.meta.message;if(this.eventHandlers[b]){var c=Object.assign({},a.data.meta,a.data);this.eventHandlers[b](c)}},this.getBrowserLog=function(){return p.dumpLogToJsonFile()},this.getControllerLog=function(a){return p.sendSignallingAction("get_webrtc_logs",{device_id:a}).then(function(a){return a.debug_log})},this.registerHandler=function(a,b){this.eventHandlers[a]=b}}])},{}],625:[function(a,b,c){"use strict";angular.module("base-unifi").service("unifiWebRtcErrorHandler",["$analytics","$timeout","$translate","$window","AccountHostname","CloudDashboardHost","frame","heyToasts","redirectUrl","ANALYTICS_CATEGORIES","ANALYTICS_EVENTS",function(a,b,c,d,e,f,g,h,i,j,k){this.redirectToAccount=function(b,c){a.eventTrack(k.WEBRTC_EVENT_PREFIX+b,{category:j.WEBRTC,label:c}),d.location.href="https://"+e+"/login?redirect="+i.get()},this.showErrorFrame=function(b,c){return a.eventTrack(k.WEBRTC_EVENT_PREFIX+b,{category:j.WEBRTC,label:c}),g.show("webrtcError",{message:function(){return b}}).then(function(){d.location.href=f})},this.showRetryFrame=function(b){return a.eventTrack(k.WEBRTC_FATAL_ERROR,{category:j.WEBRTC,label:b}),g.show("webrtcFailed",{deviceId:function(){return b}})}}])},{}],626:[function(a,b,c){"use strict";angular.module("base-unifi").service("unifiWebRtcSuccessHandler",["$analytics","ANALYTICS_CATEGORIES","ANALYTICS_EVENTS",function(a,b,c){this.sendSuccessEvent=function(d){a.eventTrack(c.WEBRTC_SUCCESS,{category:b.WEBRTC,label:d})}}])},{}],627:[function(a,b,c){"use strict";angular.module("base-unifi").provider("version",[function(){function a(a){return a.split("/").slice(1)}function b(a){var b=a.shift(),c=/^\d+\.\d+\.\d+\.[\w-]+$/;return b.match(c)?b:null}var c=null;this.readVersion=function(d){c=b(a(d))},this.$get=[function(){return{getVersion:function(){return c}}}]}])},{}],628:[function(a,b,c){"use strict";angular.module("base-unifi").service("wsConnector",["$q","$location","$rootScope","$translate","airOSWebSocket","contextSwitchStates","heyToasts","site","UnifiWsHost","UseWebrtc","EVENTS","WS_DEFAULTS",function(a,b,c,d,e,f,g,h,i,j,k,l){e.retryScalar=l.UNIFI_WS_RETRY_SCALAR,e.customEventExtractor=function(a){return a.meta.message},this.connecting=!1,this.connect=function(){return this.init().then(this.establishConnection.bind(this)).then(this.finalize.bind(this))},this.init=function(){return this.connecting=a.defer(),a.when()},this.establishConnection=function(){this.currentSite=h.getActiveSite()||"default";var c=i||"wss://"+b.host()+":"+b.port(),f=c+"/wss/s/"+this.currentSite+"/events";return e.open(f)["catch"](function(){return g.pushWarning(d.instant("WEBSOCKET_CONNECTION_ERROR")),a.when()})},this.finalize=function(){this.connecting.resolve(!0)},this.isConnected=function(){return!!this.connecting&&this.connecting.promise},c.$on(f.getSuccess(),function(a,b){j||this.currentSite===b||this.connect()}.bind(this)),c.$on(k.ADMIN_LOGOUT,function(){e.close()})}])},{}],629:[function(a,b,c){"use strict";angular.module("base-unifi").service("wsAdapter",["airOSWebSocket","unifiWebRtcConnector","UseWebrtc",function(a,b,c){this.on=function(d,e){c?b.registerHandler(d,e):a.on(d,e)}}])},{}],630:[function(a,b,c){"use strict";angular.module("base-unifi").factory("xhrHttpInterceptor",["$document","CsrfTokenUrlCheckEnabled",function(a,b){var c=["POST","PUT","DELETE"],d=a[0];return{request:function(a){var e=c.indexOf(a.method)!==-1;if(e){var f=!b||a.url.startsWith("/"),g=d&&d.cookie&&d.cookie.match(new RegExp("csrf_token=([^;]+)"));g&&g[1]&&f&&(a.headers=a.headers||{},a.headers["X-Csrf-Token"]=g[1])}return a}}}])},{}],631:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div id="contentContainer" class="unifiAccountContainer"><div class="unifiAccount"><div class="unifiAccount__unifiLogo icon ubnt-icon--unifi"></div><div class="unifiAccount__appNameAndVersion"><span unifi-if-app="\'app-unifi-hotspot\'" translate="ACCOUNT_TITLE_HOTSPOT_MANAGER" class="appDisplaySpaceAfter"></span><span>{{accountCtrl.serverVersion}}</span></div><div class="unifiAccount__content"><ui-view></ui-view></div><div ng-if="accountCtrl.showOneAccount" class="unifiAccount__oneAccount"><div class="unifiAccount__ubntLogo icon ubnt-icon--ubnt-logo-u"></div><p>{{\'ACCOUNT_LABEL_ONE_ACCOUNT_FOR_ALL\' | translate}}</p><p><span>{{\'ACCOUNT_LABEL_ONE_ACCOUNT_NO_ACCOUNT\' | translate}}&nbsp;</span><a ng-href="https://{{::accountCtrl.accountHostname}}/register" target="_blank">{{\'ACCOUNT_LABEL_ONE_ACCOUNT_REGISTER_HERE\' | translate}}</a></p></div></div></div>'),b.join("")}},{"jade/runtime":233}],632:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div id="contentContainer" class="appView"><div class="container container--responsive container--centered"><div class="row--comfy"><div class="col--xs12"><div class="appInfoBox appInfoBox--danger appInfoBox--responsive verticalRhythmTop"><div class="appInfoBox__icon icon ubnt-icon--alert"></div><div class="appInfoBox__content"><div ng-if="fatalCtrl.errorCode" class="appInfoBox__header">{{fatalCtrl.errorCode}}: {{\'HTTP_STATUS_CODE_\' + fatalCtrl.errorCode | translate}}</div><div ng-if="!fatalCtrl.errorCode" translate="FATAL_ERROR_GENERIC_ERROR" class="appInfoBox__header"></div><div ng-if="fatalCtrl.homeState" class="appInfoBox__body"><p unifi-translate-link unifi-translate-link-translate="FATAL_ERROR_LINK_TO_HOME" unifi-translate-link-state="fatalCtrl.homeState" class="noMarginBottom"></p></div><div ng-if="fatalCtrl.loginState" class="appInfoBox__body"><p unifi-translate-link unifi-translate-link-translate="FATAL_ERROR_LINK_TO_LOGIN" unifi-translate-link-state="fatalCtrl.loginState" class="noMarginBottom"></p></div></div></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],633:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="blackout unifiConfirm"><div id="confirmModal" class="appControlModal appControlModal--tiny"><div ng-click="confirmCtrl.reject()" class="appControlModal__close"><div class="icon ubnt-icon--x"></div></div><div class="appControlModal__header">{{confirmCtrl.title}}</div><div class="appControlModal__content"><p ng-bind-html="confirmCtrl.message" ng-if="confirmCtrl.allowHtml"></p><p ng-if="!confirmCtrl.allowHtml">{{confirmCtrl.message}}</p><div ng-repeat="warning in confirmCtrl.warnings track by $index" class="row--cozy"><div class="appInfoBox appInfoBox--warning appInfoBox--dark appInfoBox--cozy"><div class="appInfoBox__icon icon ubnt-icon--eye2"></div><div class="appInfoBox__content"><div class="appInfoBox__body">{{ warning | translate }}</div></div></div></div></div><div class="appControlModal__content"><div class="flexRow flexRow--alignCenter"><div unifi-bypass-confirm="confirmCtrl.bypassFlag" unifi-bypass-confirm-is-dark="true" class="flexCol--7"></div><div ng-switch="confirmCtrl.defaultCancel" class="flexCol--5 alignRight"><div ng-switch-when="true" class="appInputGroup"><button ng-click="confirmCtrl.resolve()" translate="COMMON_ACTIONS_CONFIRM" class="appMainButton appMainButton--cozy appMainButton--transparentDark confirm"></button><button ng-click="confirmCtrl.reject()" translate="COMMON_ACTIONS_CANCEL" class="appMainButton appMainButton--cozy cancel"></button></div><div ng-switch-default class="appInputGroup"><button ng-click="confirmCtrl.reject()" translate="COMMON_ACTIONS_CANCEL" class="appMainButton appMainButton--cozy appMainButton--transparentDark cancel"></button><button ng-click="confirmCtrl.resolve()" translate="COMMON_ACTIONS_CONFIRM" class="appMainButton appMainButton--cozy appMainButton--primary confirm"></button></div></div></div></div></div></div>'),
b.join("")}},{"jade/runtime":233}],634:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="blackout unifiEditAccount"><div id="editAccountModal" class="appControlModal appControlModal--tiny"><div ng-if="!editAccountCtrl.account.isPasswordChangeRequired()" frame-close="editAccount" class="appControlModal__close"><div class="icon ubnt-icon--x"></div></div><div translate="EDIT_ACCOUNT_MODAL_TITLE" class="appControlModal__header"></div><div class="appControlModal__content"><unifi-loading-status unifi-loading-status-is-loading="editAccountCtrl.isLoading" unifi-loading-status-failed="editAccountCtrl.failedToLoad" unifi-loading-status-retry="editAccountCtrl.init()" unifi-loading-status-is-dark="true" unifi-loading-status-is-opaque="true"></unifi-loading-status><form novalidate autocomplete="off" ng-class="{          \'is-form-validation-visible\': editAccountCtrl.showValidation,          \'is-validation-hidden\': !editAccountCtrl.showValidation        }" ng-submit="editAccountCtrl.isSubmitAllowed() &amp;&amp; editAccountCtrl.save()" class="appForm appForm--cozy appForm--dark"><ng-form name="editAccountCtrl.form" unifi-model-form="editAccountCtrl.account.repository.model" unifi-model-form-auto-resolve-divergence="true"><div ng-if="editAccountCtrl.isCurrentPasswordRequired()" class="container container--centered container--fixed"><div class="row row--comfy"><div class="col--xs12"><p translate="EDIT_ACCOUNT_MODAL_PASSWORD_NOTE" class="noMarginBottom"></p></div></div><div class="row row--comfy"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_PASSWORD" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--cozy"><input type="password" name="currentPassword" ng-model="modelFormCtrl.modelCopy.attributes.current_password" required autofocus class="input--full"><div ng-show="editAccountCtrl.form.currentPassword.$error.required" translate="VALIDATION_HINT_REQUIRED" class="appInputFeedback appInputFeedback--danger"></div></div></div></div><div class="container container--centered container--fixed"><div class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_ADMIN_NAME" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--cozy"><input type="text" name="name" ng-model="modelFormCtrl.modelCopy.attributes.name" ng-model-master="modelFormCtrl.model.attributes.name" ng-pattern="editAccountCtrl.patterns.name" required class="input--full"><div ng-show="editAccountCtrl.form.name.$error.pattern" translate="VALIDATION_HINT_ADMIN_NAME" class="appInputFeedback appInputFeedback--danger"></div><div ng-show="editAccountCtrl.form.name.$error.required" translate="VALIDATION_HINT_REQUIRED" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_EMAIL" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--cozy"><input type="email" name="email" ng-model="modelFormCtrl.modelCopy.attributes.email" ng-model-master="modelFormCtrl.model.attributes.email" required class="input--full"><div ng-show="editAccountCtrl.form.email.$error.email" translate="VALIDATION_HINT_EMAIL" class="appInputFeedback appInputFeedback--danger"></div><div ng-show="editAccountCtrl.form.email.$error.required" translate="VALIDATION_HINT_REQUIRED" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_NEW_PASSWORD" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--cozy"><input type="password" name="password" ng-model="modelFormCtrl.modelCopy.attributes.password" ng-required="editAccountCtrl.isPasswordChangeRequired()" ng-minlength="4" class="input--full"><div ng-show="editAccountCtrl.form.password.$error.minlength" translate="VALIDATION_HINT_MIN_LENGTH" translate-values="{ min: 4 }" class="appInputFeedback appInputFeedback--danger"></div><div ng-show="editAccountCtrl.form.password.$error.required" translate="VALIDATION_HINT_REQUIRED" class="appInputFeedback appInputFeedback--danger"></div></div></div><div class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_CONFIRM_PASSWORD" class="appLabel--primary appLabel--boxAlign"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--cozy"><input type="password" name="confirmPassword" ng-model="editAccountCtrl.confirmPassword" passwordcontrol-validate-confirm="modelFormCtrl.modelCopy.attributes.password" ng-required="editAccountCtrl.isPasswordChangeRequired()" ng-minlength="4" class="input--full"><div ng-show="editAccountCtrl.form.confirmPassword.$error.passwordConfirm &amp;&amp; modelFormCtrl.modelCopy.attributes.password" translate="VALIDATION_HINT_PASSWORD_MISMATCH" class="appInputFeedback appInputFeedback--danger"></div><div ng-show="editAccountCtrl.form.confirmPassword.$error.required" translate="VALIDATION_HINT_REQUIRED" class="appInputFeedback appInputFeedback--danger"></div></div></div><div unifi-feature-flag-enable="withHtmlEmailTemplatesAndAlerts" class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_ALERT_EMAILS" class="appLabel--primary"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--condensed"><div class="appInputGroup appInputGroup--cozy"><input type="checkbox" name="emailAlertEnabled" id="emailAlertEnabled" ng-model="modelFormCtrl.modelCopy.attributes.email_alert_enabled" ng-model-master="modelFormCtrl.model.attributes.email_alert_enabled"><label for="emailAlertEnabled" translate="EDIT_ACCOUNT_VALUES_ALERT_EMAILS"></label></div><div ng-show="modelFormCtrl.modelCopy.attributes.email_alert_enabled" class="appInputGroup verticalRhythmTop--condensed"><div class="appInputGroup appInputGroup--cozy"><input type="checkbox" name="emailAlertGroupingEnabled" id="emailAlertGroupingEnabled" ng-model="modelFormCtrl.modelCopy.attributes.email_alert_grouping_enabled" ng-model-master="modelFormCtrl.model.attributes.email_alert_grouping_enabled"><label for="emailAlertGroupingEnabled" translate="EDIT_ACCOUNT_VALUES_ALERT_EMAILS_GROUP_TOGETHER"></label></div></div></div></div><div unifi-feature-flag-enable="withHtmlEmailTemplatesAndAlerts" class="row"><div class="col--xs5 col--sm4 label--right"><label translate="EDIT_ACCOUNT_LABEL_EMAIL_TEMPLATES" class="appLabel--primary"></label></div><div class="col--xs7 col--sm8 appFormGroup appFormGroup--condensed"><div class="appInputGroup appInputGroup--cozy"><input type="checkbox" name="htmlEmailTemplatesEnabled" id="htmlEmailTemplatesEnabled" ng-model="modelFormCtrl.modelCopy.attributes.html_email_enabled" ng-model-master="modelFormCtrl.model.attributes.html_email_enabled"><label for="htmlEmailTemplatesEnabled" translate="EDIT_ACCOUNT_VALUES_HTML_EMAIL_TEMPLATES"></label></div></div></div><div class="row"><div class="col--xs12 alignRight"><div class="appInputGroup"><button type="button" ng-if="!editAccountCtrl.isPasswordChangeRequired()" frame-close="editAccount" class="appMainButton appMainButton--cozy appMainButton--transparentDark">{{\'COMMON_ACTIONS_CANCEL\' | translate}}</button><button ng-click="editAccountCtrl.showValidation = true" ng-disabled="editAccountCtrl.form.$pristine" busy-toggle="editAccountCtrl.isSubmitting" busy-toggle-spinner-classes="[\'appSpinner appSpinner--light appSpinner--centered appSpinner--small\']" class="appMainButton appMainButton--cozy appMainButton--primary">{{\'COMMON_ACTIONS_SUBMIT\' | translate}}</button></div></div></div></div></ng-form></form></div></div></div>'),b.join("")}},{"jade/runtime":233}],635:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div class="unifiLogin"><form novalidate name="loginCtrl.form" ng-class="{\'is-form-validation-visible\': loginCtrl.showValidation}" ng-submit="loginCtrl.form.$valid &amp;&amp; loginCtrl.login()" class="appForm appForm--dark"><div ng-if="loginCtrl.error" class="unifiSettingsSection verticalRhythm"><div class="appInfoBox appInfoBox--cozy appInfoBox--dark appInfoBox--danger"><div class="appInfoBox__icon icon ubnt-icon--alert"></div><div class="appInfoBox__content"><div translate="ACCOUNT_NOTICE_LOGIN_ERROR_TITLE" class="appInfoBox__header"></div><div class="appInfoBox__body"><p translate="{{loginCtrl.error}}" class="noMarginBottom"></p></div></div></div></div><div class="appFormGroup"><label translate="ACCOUNT_LOGIN_LABEL_USERNAME" class="appLabel--primary unweighted"></label><input type="text" name="username" ng-model="loginCtrl.username" required autocapitalize="off" autocorrect="off" autofocus class="input--full"></div><div class="appFormGroup"><label translate="ACCOUNT_LOGIN_LABEL_PASSWORD" class="appLabel--primary unweighted"></label><input type="password" name="password" ng-model="loginCtrl.password" required class="input--full"></div><div class="verticalRhythmTop--cozy"><div class="appFormGroup alignCenter"><div class="appInputGroup appInputGroup--cozy"><input id="loginRemember" type="checkbox" name="remember" ng-model="loginCtrl.remember"><label for="loginRemember" translate="ACCOUNT_LOGIN_LABEL_REMEMBER_ME" class="unweighted"></label><div class="appTooltipContainer appTooltipContainer--prompt appTooltipContainer--hoverable unifiLogin__tooltipContainer"><div class="appTooltip appTooltip--dark appTooltip--brief appTooltip--left">{{\'ACCOUNT_LOGIN_TOOLTIP_REMEMBER_ME\' | translate}}</div></div></div></div></div><div class="verticalRhythmTop--cozy"><button id="loginButton" ng-disabled="loginCtrl.form.username.$invalid || loginCtrl.form.password.$invalid" ng-click="loginCtrl.showValidation = true" busy-toggle="loginCtrl.isSubmitting" busy-toggle-spinner-classes="[\'appSpinner\', \'appSpinner--light\', \'appSpinner--centered\']" class="appMainButton appMainButton--primary appMainButton--full">{{\'ACCOUNT_LOGIN_ACTIONS_SIGN_IN\' | translate}}</button></div><div class="verticalRhythmTop--cozy"><a ui-sref="{{loginCtrl.ENV.APP_STATE_PREFIX}}account.forgotpassword" unifi-if-app="[\'app-unifi-manage\', \'app-unifi-overview\']" class="appMainButton appMainButton--transparentDark appMainButton--full">{{\'ACCOUNT_LOGIN_LINK_FORGOT_PASSWORD\' | translate}}</a></div></form></div>'),b.join("")}},{"jade/runtime":233}],636:[function(a,b,c){a("jade/runtime");b.exports=function(a){var b=[];return b.push('<div><div ng-if="isLoading &amp;&amp; !failedToLoad" ng-class="{      \'appLoadingStatus--dark\': isDark,      \'appLoadingStatus--opaque\': isOpaque    }" class="appLoadingStatus"><div ng-class="{        \'appSpinner--large\': !isMedium,        \'appSpinner--medium\': isMedium,        \'appSpinner--dark\': !isDark      }" class="appSpinner"></div></div><div ng-if="failedToLoad" ng-class="{\'appLoadingStatus--dark\': isDark}" class="appLoadingStatus appLoadingStatus--opaque"><div ng-class="{\'appInfoBox--dark\': isDark}" class="appInfoBox appInfoBox--danger appInfoBox--noBorder"><div class="appInfoBox__icon icon ubnt-icon--alert"></div><div class="appInfoBox__content"><div translate="COMMON_NOTICE_LOAD_ERROR_TITLE" class="appInfoBox__header"></div><div class="appInfoBox__body"><p translate="COMMON_NOTICE_LOAD_ERROR_MESSAGE" class="noMarginBottom"></p></div><div class="appInfoBox__footer"><button translate="COMMON_ACTIONS_RETRY" ng-click="retry()" class="appMainButton appMainButton--primary appMainButton--cozy retryLoad"></button></div></div></div></div></div>'),b.join("")}},{"jade/runtime":233}],637:[function(a,b,c){"use strict";angular.module("shared-unifi").directive("unifiLoadingStatus",[function(){return{scope:{isLoading:"=unifiLoadingStatusIsLoading",failedToLoad:"=unifiLoadingStatusFailed",retry:"&unifiLoadingStatusRetry",isDark:"=?unifiLoadingStatusIsDark",isOpaque:"=?unifiLoadingStatusIsOpaque",isMedium:"=?unifiLoadingStatusIsMedium"},template:a("./loadingStatus.jade")()}}])},{"./loadingStatus.jade":636}],638:[function(a,b,c){"use strict";angular.module("shared-unifi").directive("unifiPasswordReveal",[function(){return{link:function(a,b){b.on("focus",function(){b.attr("type","text")}),b.on("blur",function(){b.attr("type","password")})}}}])},{}],639:[function(a,b,c){"use strict";angular.forEach(window.unifiSharedConstant,function(a,b){angular.module("shared-unifi").constant(b,a)})},{}],640:[function(a,b,c){"use strict";angular.module("shared-unifi").constant("DISCOVERY",{CONTROLLER:0,PROTOCOL_V2_ID:2})},{}],641:[function(a,b,c){"use strict";angular.module("shared-unifi").constant("EVENTS",{APP_REFRESH:"app-refresh",ADMIN_LOGOUT:"admin-logout",SITE_CONTEXT_SWITCH_START:"site-context-switch-start",SITE_CONTEXT_SWITCH_SUCCESS:"site-context-switch-success",SITE_CONTEXT_SWITCH_FAIL:"site-context-switch-fail",SITE_ADDED:"site-added",SITE_DELETED:"site-deleted",PENDING_CHANGES_CANCELLED:"pending-changes-cancelled",PENDING_CHANGES_APPLIED:"pending-changes-applied",LIST_STATE_CHANGE_START:"list-state-change-start",LIST_STATE_CHANGE_SUCCESS:"list-state-change-success",CLOSE_SIDE_NAV_POPOVERS:"close-side-nav-popovers",SYNC_REPEATABLE_COUNT:"sync-repeatable-count"})},{}],642:[function(a,b,c){"use strict";angular.module("shared-unifi").constant("VISIBILITY_CHANGE",{EVENT:"VISIBILITY_CHANGE",STATE:{HIDDEN:"HIDDEN",VISIBLE:"VISIBLE"}})},{}],643:[function(a,b,c){"use strict";angular.module("shared-unifi",["backular","pascalprecht.translate","ui.router"]),a("./components/loadingStatus/loadingStatus.js"),a("./components/passwordReveal/passwordReveal.js"),a("./config/env.js"),a("./constants/DISCOVERY.js"),a("./constants/EVENTS.js"),a("./constants/VISIBILITY_CHANGE.js"),a("./services/bowser.js"),a("./services/controllerMixins/listSelectAllControllerMixin.js"),a("./services/directiveMixins/updateModelDirectiveMixin.js"),a("./services/macAddressFormatter.js"),a("./services/mixins/deepCopyMixin.js"),a("./services/mixins/siteUrlMixin.js"),a("./services/mixins/structureMixin.js"),a("./services/mixins/webSocketMixin.js"),a("./services/mixins/webrtcMixin.js"),a("./services/models/SiteMgrModel.js"),a("./services/now.js"),a("./services/providers/siteProvider.js"),a("./services/semanticVersion.js"),a("./services/stateChangeInterceptor.js"),a("./services/uuid.js"),a("./services/visibilityChange.js"),a("./values/APP_EVENTS.js")},{"./components/loadingStatus/loadingStatus.js":637,"./components/passwordReveal/passwordReveal.js":638,"./config/env.js":639,"./constants/DISCOVERY.js":640,"./constants/EVENTS.js":641,"./constants/VISIBILITY_CHANGE.js":642,"./services/bowser.js":644,"./services/controllerMixins/listSelectAllControllerMixin.js":645,"./services/directiveMixins/updateModelDirectiveMixin.js":646,"./services/macAddressFormatter.js":647,"./services/mixins/deepCopyMixin.js":648,"./services/mixins/siteUrlMixin.js":649,"./services/mixins/structureMixin.js":650,"./services/mixins/webSocketMixin.js":651,"./services/mixins/webrtcMixin.js":652,"./services/models/SiteMgrModel.js":653,"./services/now.js":654,"./services/providers/siteProvider.js":655,"./services/semanticVersion.js":656,"./services/stateChangeInterceptor.js":657,"./services/uuid.js":658,"./services/visibilityChange.js":659,"./values/APP_EVENTS.js":660}],644:[function(a,b,c){"use strict";angular.module("shared-unifi").service("bowser",[function(){return a("bowser")}])},{bowser:1}],645:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("listSelectAllControllerMixin",[function(){return function(a,b,c,d){angular.extend(a,{selectedCollection:new b,areAllSelected:function(){return!c().find(function(a){return!this.isSelected(a)}.bind(this))},toggleSelectAll:function(){this.areAllSelected()?this.selectedCollection.reset():this.selectedCollection.add(c()),d(this.selectedCollection)},isSelected:function(a){return!!this.selectedCollection.get(a)},toggleSelect:function(a){this.isSelected(a)?this.selectedCollection.remove(a):this.selectedCollection.add(a),d(this.selectedCollection)}})}}])},{}],646:[function(a,b,c){"use strict";angular.module("shared-unifi").service("updateModelDirectiveMixin",[function(){this.init=function(a,b,c,d,e){var f=a.$watch("model",function(a){d.updateModel(a),e&&a&&f()})}}])},{}],647:[function(a,b,c){"use strict";angular.module("shared-unifi").service("macAddressFormatter",[function(){this.toCanonical=function(a){var b=17;return a?a.replace(/[:\-]/g,"").replace(/([^0-9A-Fa-f])/g,"").replace(/([0-9A-Fa-f]{2})/g,"$1:").replace(/:\s*$/,"").substring(0,b).toLowerCase():a}}])},{}],648:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("deepCopyMixin",["Backbone","_",function(a,b){var c=function(d){var e,f=c;if(d instanceof a.Model)d.visited||(d.visited=!0,e=f(d.attributes),delete d.visited);else if(d instanceof a.Collection)e=b.compact(d.map(f));else if(b.isArray(d))e=d.map(f);else if(b.isObject(d)){e={};for(var g in d)d.hasOwnProperty(g)&&(e[g]=f(d[g]))}else e=d;return e};return{_hasDeepCopyMixin:!0,deepAttributes:function(){return c(this)},deepCopy:function(){return new this.constructor(c(this))}}}])},{}],649:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("siteUrlMixin",["UnifiAPIBasePath","Backbone","_","site",function(a,b,c,d){return{_hasSiteUrlMixin:!0,_isActiveSiteOptional:!1,url:function(){return this.buildUrl()},buildUrl:function(e){e=angular.extend({siteUrl:c.result(this,"siteUrl")},e);var f=[a],g=this._forceSite||this.activeSite||d.getActiveSite();if(g)f.push("s",g);else if(!this._isActiveSiteOptional)throw new Error("Cannot call without a site name");if(this instanceof b.Model?this.siteUrlRoot?f.push(c.result(this,"siteUrlRoot")):(e.siteUrl?f.push(e.siteUrl):f=[c.result(this.collection,"url")],e.id=e.hasOwnProperty("id")?e.id:this.get(this.idAttribute),e.id&&f.push(e.id)):f.push(e.siteUrl),!c.last(f))throw new Error("Missing siteUrl property or function");return f.join("/")}}}])},{}],650:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("structureMixin",["_","Backbone",function(a,b){return{_hasStructureMixin:!0,parse:function(c){return c.data&&c.meta&&(this.meta=c.meta,c=c.data),this instanceof b.Model&&a.isArray(c)&&(c=c[0]),c}}}])},{}],651:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("webSocketMixin",[function(){return{_hasWebSocketMixin:!0,withWebSocket:!0}}])},{}],652:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("webrtcMixin",[function(){return{_hasWebRtcMixin:!0,withWebRTC:!0}}])},{}],653:[function(a,b,c){"use strict";angular.module("shared-unifi").factory("SiteMgrModel",["CORSModel","siteUrlMixin","structureMixin","webrtcMixin","webSocketMixin",function(a,b,c,d,e){return a.extend(b).extend(c).extend(d).extend(e).extend({_isActiveSiteOptional:!0,siteUrl:"cmd/sitemgr"})}])},{}],654:[function(a,b,c){"use strict";angular.module("shared-unifi").service("now",[function(){return function(){return Date.now()}}])},{}],655:[function(a,b,c){"use strict";angular.module("shared-unifi").provider("site",[function(){var a;this.initActiveSite=function(b){a=b},this.$get=["$q",function(b){return{isSiteChanging:!1,getActiveSite:function(){return a},setActiveSite:function(c){return a=c,b.when()},clearActiveSite:function(){a=null}}}]}])},{}],656:[function(a,b,c){"use strict";var d=a("semver");angular.module("shared-unifi").service("semanticVersion",[function(){function a(a){return a.split(".").slice(0,3).join(".")}this.satisfies=function(b,c){return b&&d.satisfies(a(b),c)}}])},{semver:240}],657:[function(a,b,c){"use strict";angular.module("shared-unifi").service("stateChangeInterceptor",["ENV","$injector","$rootScope","site",function(a,b,c,d){function e(){this.isStateChanging=!1,c.$on("$stateChangeStart",this._stateChangeStartHandler.bind(this)),c.$on("$stateChangeSuccess",this._stateChangeSuccessHandler.bind(this)),c.$on("$stateChangeError",this._stateChangeErrorHandler.bind(this))}return e.prototype._stateChangeStartHandler=function(b,c,e,f,g){this.isStateChanging=!0,e=e||{},g=g||{},!e.hasOwnProperty("site")&&g.site&&(e.site=g.site),g&&e.site===g.site||(d.isSiteChanging=!0,d.setActiveSite(e.site,a.STORE_ACTIVE_SITE))},e.prototype._stateChangeSuccessHandler=function(a,c){this.isStateChanging=!1,d.isSiteChanging=!1,c&&c.defaultChildState&&b.get("$state").go(c.defaultChildState)},e.prototype._stateChangeErrorHandler=function(){this.isStateChanging=!1,d.isSiteChanging=!1},new e}])},{}],658:[function(a,b,c){"use strict";angular.module("shared-unifi").service("uuid",[function(){return a("node-uuid")}])},{"node-uuid":239}],659:[function(a,b,c){"use strict";angular.module("shared-unifi").service("visibilityChange",["$document","$rootScope","VISIBILITY_CHANGE",function(a,b,c){var d={focus:c.STATE.VISIBLE,focusin:c.STATE.VISIBLE,pageshow:c.STATE.VISIBLE,blur:c.STATE.HIDDEN,focusout:c.STATE.HIDDEN,pagehide:c.STATE.HIDDEN};this.startListening=function(){function e(a){var e;a=a||window.event,e=a.type in d?d[a.type]:this[f]?c.STATE.HIDDEN:c.STATE.VISIBLE,b.$broadcast(c.EVENT,e)}var f="hidden";f in a?a.addEventListener("visibilitychange",e):(f="mozHidden")in a?a.addEventListener("mozvisibilitychange",e):(f="webkitHidden")in a?a.addEventListener("webkitvisibilitychange",e):(f="msHidden")in a?a.addEventListener("msvisibilitychange",e):"onfocusin"in a?a.onfocusin=a.onfocusout=e:window.onpageshow=window.onpagehide=window.onfocus=window.onblur=e,void 0!==a[f]&&e({type:a[f]?"blur":"focus"})}}])},{}],660:[function(a,b,c){"use strict";angular.module("shared-unifi").value("APP_EVENTS",{})},{}]},{},[335]);