{"version":3,"file":"/js/global.js","mappings":";;;;;;;;;;AAAY;;AAEZ,kBAAkB;AAClB,mBAAmB;AACnB,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA,mCAAmC,SAAS;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,UAAU;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrJA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B,cAAc;AACd,kBAAkB;AAClB,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,qBAAM;AACnC,IAAI,qBAAM;AACV;;AAEA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,qBAAqB,oDAAoD;AACzE;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,yBAAyB,QAAQ;AACjC;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD,OAAO;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAwD,OAAO;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA,IAAI;AACJ;AACA,gBAAgB,SAAS;AACzB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAkB,gBAAgB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,gBAAgB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;AC5vDA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AACA;AACA;AACA,SAAS,WAAW;;AAEpB;AA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","sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/global","webpack:///./resources/js/global.js"],"sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","let today = new Date();\nlet mm = today.getMonth() + 1;\nlet dd = today.getDate();\nlet yyyy = today.getFullYear();\n$.fn.dataTable.ext.errMode = 'none';\nwindow.currentDate = (mm < 10 ? '0' : '') + mm + \"/\" + (dd < 10 ? '0' : '') + dd + \"/\" + yyyy;\n\nconst _gnky = () => {\n return new Promise(resolve => {\n \n var settings = {\n \"url\": \"/Calaca/OnlineServices/api/gnky\",\n \"method\": \"GET\",\n \"headers\": {\n \"Authorization\": \"\"\n },\n };\n $.ajax(settings)\n .always(function (msg) {\n resolve(msg);\n });\n }).catch(error => { \n console.log(error);\n _hideLoading()\n $('button').prop('disabled', false);\n });\n\n\n /* return new Promise(resolve => {\n\n _gnky().then((authToken) => {\n var settings = {\n \"url\": \"link\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": Buffer.from(authToken.token).toString('base64')\n },\n };\n\n $.ajax(settings)\n .always(function (msg) {\n resolve(msg);\n });\n });\n\n }); */\n}\n\nconst _logout = () => {\n\n return new Promise(resolve => {\n _gnky().then((authToken) => {\n var settings = {\n \"url\": \"/Calaca/OnlineServices/api/logout\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": Buffer.from(authToken.token).toString('base64')\n },\n };\n\n $.ajax(settings)\n .always(function (msg) {\n resolve(msg);\n });\n });\n\n });\n\n}\n\nconst _link = () => {\n return new Promise(resolve => {\n _gnky().then((authToken) => {\n var settings = {\n \"url\": \"/Calaca/OnlineServices/api/link\",\n \"method\": \"POST\",\n \"headers\": {\n \"Authorization\": Buffer.from(authToken.token).toString('base64')\n },\n };\n $.ajax(settings)\n .always(function (msg) {\n resolve(msg);\n });\n });\n\n });\n}\n\nconst _notif = (icon, message) => { /* error success question warning */\n Swal.fire({\n icon: icon,\n html: message,\n focusConfirm: false,\n allowOutsideClick: false,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n },\n confirmButtonText: 'Okay'\n })\n}\n\nconst _showLoading = (message) => { \n Swal.fire({\n html: '

\",\n showConfirmButton: false,\n allowOutsideClick: false,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n },\n });\n}\nconst _hideLoading = () => { \n Swal.fire({showConfirmButton: false}).close();\n}\n\n\nconst _numbersOnly = (event) => {\n let key = window.event ? event.keyCode : event.which;\n\n if (key === 8 || key === 46) {\n return true;\n }else if(key === 45){ /* - */\n return false;\n }else if(key === 32){ /* space */\n return false;\n }else if(event.shiftKey && key === 40){ /* ( */\n return false;\n }else if(event.shiftKey && key === 41){ /* ) */\n return false;\n } else if ( key < 48 || key > 57 ) {\n return false;\n } else {\n return true;\n }\n}\n\nconst _thousandsFormat = (param) => {\n let thousands = (param == \"\" || isNaN(param) || param == undefined ? \"0.00\" : param).toString().split(\".\");\n thousands[0] = parseFloat(thousands[0]).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return thousands.join(\".\");\n}\n\nconst _validatePassword = () => {\n $('[name=\"password\"], [name=\"password_confirm\"]').on(\"cut copy paste\",function(e) {\n e.preventDefault();\n });\n\n let myInput = document.getElementById(\"password\");\n let letter = document.getElementById(\"letter\");\n let capital = document.getElementById(\"capital\");\n let number = document.getElementById(\"number\");\n let length = document.getElementById(\"length\");\n let special = document.getElementById(\"special\");\n\n // When the user clicks on the password field, show the message box\n myInput.onfocus = function() {\n document.getElementById(\"message\").style.display = \"block\";\n }\n\n\n // When the user clicks outside of the password field, hide the message box\n myInput.onblur = function() {\n document.getElementById(\"message\").style.display = \"none\";\n }\n\n // When the user starts to type something inside the password field\n myInput.onkeyup = function() {\n // Validate lowercase letters\n let lowerCaseLetters = /[a-z]/g;\n if(myInput.value.match(lowerCaseLetters)) {\n letter.classList.remove(\"invalid\");\n letter.classList.add(\"valid\");\n } else {\n letter.classList.remove(\"valid\");\n letter.classList.add(\"invalid\");\n }\n\n // Validate capital letters\n let upperCaseLetters = /[A-Z]/g;\n if(myInput.value.match(upperCaseLetters)) {\n capital.classList.remove(\"invalid\");\n capital.classList.add(\"valid\");\n } else {\n capital.classList.remove(\"valid\");\n capital.classList.add(\"invalid\");\n }\n\n // Validate numbers\n let numbers = /[0-9]/g;\n if(myInput.value.match(numbers)) {\n number.classList.remove(\"invalid\");\n number.classList.add(\"valid\");\n } else {\n number.classList.remove(\"valid\");\n number.classList.add(\"invalid\");\n }\n\n // Validate length\n if(myInput.value.length >= 8) {\n length.classList.remove(\"invalid\");\n length.classList.add(\"valid\");\n } else {\n length.classList.remove(\"valid\");\n length.classList.add(\"invalid\");\n }\n\n //Validate Special Character\n let alphaNumeric = /[$&+,:;=?@#|'<>._^*()%!-]/g;\n if (myInput.value.match(alphaNumeric)) {\n special.classList.remove(\"invalid\");\n special.classList.add(\"valid\");\n } else {\n special.classList.remove(\"valid\");\n special.classList.add(\"invalid\");\n }\n }\n}\n\nconst _ShowPassword = (_event, _this) => {\n $(_this).toggleClass(\"fa-eye fa-eye-slash\");\n let input = $($(_this).attr(\"toggle\"));\n if (input.attr(\"type\") == \"password\") {\n input.attr(\"type\", \"text\");\n } else {\n input.attr(\"type\", \"password\");\n }\n}\n\nconst thousandsFormat = (param) => {\n let thousands = (param == \"\" || isNaN(param) || param == undefined ? \"0.00\" : param).toString().split(\".\");\n thousands[0] = parseFloat(thousands[0]).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n return thousands.join(\".\");\n}\n\nconst _FormDataToJSON = (formData) => {\n let ConvertedJSON = {};\n for (const [key, value] of formData.entries()) {\n ConvertedJSON[key] = value;\n }\n\n return JSON.stringify(ConvertedJSON);\n}\n\nconst _updateAcctManger = () => {\n return new Promise(resolve => {\n _gnky().then((authToken) => {\n var settings = {\n \"url\": \"/Calaca/OnlineServices/api/acctManagerSave\",\n \"method\": \"POST\",\n \"headers\": {\n \"Content-Type\": \"application/json\",\n \"Authorization\": Buffer.from(authToken.token).toString('base64')\n },\n \"data\": JSON.stringify({\n \"accManager_fname\" : $('#accManager-fname').val(),\n \"accManager_mname\" : $('#accManager-mname').val(),\n \"accManager_lname\" : $('#accManager-lname').val(),\n \"accManager_addr\" : $('#accManager-addr').val(),\n \"accManager_number\" : $('#accManager-number').val()\n })\n };\n $.ajax(settings)\n .always(function (url) {\n resolve(url);\n });\n });\n });\n};\n\nconst _download_file = (fileURL, fileName) => {\n // for non-IE\n if (!window.ActiveXObject) {\n var save = document.createElement('a');\n save.href = fileURL;\n save.target = '_blank';\n var filename = fileURL.substring(fileURL.lastIndexOf('/')+1);\n save.download = fileName || filename;\n\n\t\tif ( navigator.userAgent.toLowerCase().match(/(ipad|iphone|safari)/) && navigator.userAgent.search(\"Chrome\") < 0) {\n\t\t\tdocument.location = save.href; \n\t\t\t// window event not working here\n\t\t}else{\n\t\t\tvar evt = new MouseEvent('click', {\n\t\t\t\t'view': window,\n\t\t\t\t'bubbles': true,\n\t\t\t\t'cancelable': false\n\t\t\t});\n\t\t\tsave.dispatchEvent(evt);\n\t\t\t(window.URL || window.webkitURL).revokeObjectURL(save.href);\n\t\t}\t\n }\n // for IE < 11\n else if ( !! window.ActiveXObject && document.execCommand) {\n var _window = window.open(fileURL, '_blank');\n _window.document.close();\n _window.document.execCommand('SaveAs', true, fileName || fileURL)\n _window.close();\n }\n}\n\nconst _makeFormFromJsonSubmit = (data) => {\n $('#form_json_submit').remove();\n $form = $(`
`);\n Object.keys(data).forEach((k) => {\n if(k !== 'url') {\n console.log(k + ' - ' + data[k]);\n $form.append(``);\n }\n });\n $form.append('');\n $('body').append($form);\n $('#form_json_submit').submit();\n}\n\nvar _formGetDataNotIsset = function _formGetDataNotIsset(form_id) {\n /* _formGetDataNotIsset('form id name'); */\n \n $('#' + form_id + ' .form-new-input-cr').remove();\n var divElemCreated = '
';\n $('#' + form_id + ' input[type=checkbox]').each(function () {\n if ($(this).attr('name') != undefined) {\n divElemCreated += '';\n }\n });\n var radioName = [];\n $('#' + form_id + ' input[type=radio]').each(function () {\n if ($.inArray($(this).attr('name'), radioName) != -1) {\n if ($('#' + form_id + ' input[name=\"' + $(this).attr('name') + '\"]:checked').val() == undefined) {\n divElemCreated += '';\n } else {\n divElemCreated += '';\n }\n } else {\n radioName.push($(this).attr('name'));\n }\n });\n $('#' + form_id + ' input:disabled').each(function () {\n divElemCreated += '';\n });\n divElemCreated += '
';\n $('#' + form_id).append(divElemCreated);\n setTimeout(function () {\n $('#' + form_id + ' .form-new-input-cr').remove();\n }, 2000);\n};\n\nwindow._gnky = _gnky;\nwindow._logout = _logout;\nwindow._link = _link;\nwindow._notif = _notif;\nwindow._showLoading = _showLoading;\nwindow._hideLoading = _hideLoading;\nwindow._numbersOnly = _numbersOnly;\nwindow._thousandsFormat = _thousandsFormat;\nwindow._validatePassword = _validatePassword;\nwindow._ShowPassword = _ShowPassword;\nwindow._FormDataToJSON = _FormDataToJSON;\nwindow._download_file = _download_file;\nwindow._makeFormFromJsonSubmit = _makeFormFromJsonSubmit;\nwindow._formGetDataNotIsset = _formGetDataNotIsset;\n\n$(() => {\n $.extend(true, $.fn.dataTable.defaults, {\n ajax: {\n method: \"POST\",\n }\n });\n\n $('#accManager-Save').on('click', function(){ \n \n $(this).prop('disabled', true);\n _updateAcctManger().then((data) => {\n $(this).prop('disabled', false);\n if(data.response.success){ \n Swal.fire({\n html: data.response.outMessage,\n icon: 'success',\n confirmButtonColor: '#dc3545',\n confirmButtonText: 'OK', \n focusConfirm: true,\n allowOutsideClick: false,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n },\n }).then((result) => {\n })\n $('#acctManagerModal').modal('hide')\n /* return false; */\n }else{\n _notif('warning', data.response.outMessage)\n return false;\n }\n \n })\n }); \n\n $(\"input[type='text']\").attr('autocomplete', 'a');\n\n\n $('.numbersOnly').keypress(_numbersOnly);\n $('.thousandFormat').keypress(_numbersOnly);\n\n $(\".thousandFormat\").on('focusin', function(e) {\n $(this).val($(this).val().replace(/,/g, ''));\n })\n $(\".thousandFormat\").on('focusout', function(e) {\n $(this).val(thousandsFormat(parseFloat($(this).val()).toFixed(2)));\n })\n\n\n window.onscroll = () => {\n\n if (document.body.scrollTop > 1000 || document.documentElement.scrollTop > 1000) {\n $(\".btn-scroll-top\").css('display','block');\n } else {\n $(\".btn-scroll-top\").css('display','none');\n }\n };\n $(\".btn-scroll-top\").off().on('click', () => {\n window.scroll({top: 0, behavior: \"smooth\"});\n });\n\n\n $('.sidebarCollapse-btn').off().on('click', () => {\n\n $('.sidebar').toggleClass('active');\n $('.sidebarCollapse-btn').toggleClass('active');\n $('.content').toggleClass('active');\n\n if($('.sidebar').hasClass('active')){\n $('.sidebar ul li a span').hide();\n $('.sidebar-image').addClass('col-lg-12');\n $('.accordion-button::after').hide();\n }else{\n $('.sidebar ul li a span').show();\n $('.sidebar-image').removeClass('col-lg-12');\n $('.accordion-button::after').show();\n }\n\n $('.accordion-button').addClass('collapsed');\n $('.accordion-collapse').removeClass('show');\n\n $('.dataTable').DataTable().columns.adjust().draw();\n });\n if($(window).width() > 768){\n $('.sidebarCollapse-btn').trigger('click')\n }\n $( window ).resize(function(){\n \n if($(window).width() > 768){\n $('.sidebarCollapse-btn').trigger('click')\n }\n $('.dataTable').DataTable().columns.adjust().draw();\n })\n\n $('.accordion-button').off().on('click', () => {\n if($('.sidebar').hasClass('active')){\n $('.sidebar').removeClass('active');\n $('.sidebarCollapse-btn').removeClass('active');\n $('.content').removeClass('active');\n $('.sidebar ul li a span').show();\n $('.sidebar-image').removeClass('col-lg-12');\n }\n });\n\n $('.menu-btn').off().on('click', () => {\n _link().then((val) => {\n window.location.href = val.url;\n })\n });\n\n $('.logout-btn').off().on('click', () => {\n Swal.fire({\n html: \"Are you sure you want to Sign-Out?\",\n icon: 'question',\n focusConfirm: true,\n allowOutsideClick: false,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n },\n showDenyButton: true,\n confirmButtonText: 'YES',\n denyButtonText: `NO `,\n }).then((result) => {\n if (result.isConfirmed) {\n _logout().then((val) => {\n window.location.href = \"/\";\n })\n }\n })\n });\n\n $(\".yearonly-datepicker\").datepicker({\n changeYear: true,\n dateFormat: 'yy',\n showButtonPanel: true,\n onClose: function(dateText, inst) {$(this).val($(\"#ui-datepicker-div .ui-datepicker-year :selected\").val())}\n }).on('focus', function () {\n $(\".ui-datepicker-month, .ui-datepicker-calendar, .ui-datepicker-prev, .ui-datepicker-next\").hide();\n $(\".ui-datepicker-year\").addClass('form-control w-100 text-center');\n });\n\n $(\".datepicker\").datepicker({\n changeYear: true,\n changeMonth: true,\n yearRange: \"-150:+0\",\n\n /*showOn: \"both\" ,\n buttonText: \"\" */\n });\n\n});\n"],"names":["today","Date","mm","getMonth","dd","getDate","yyyy","getFullYear","$","fn","dataTable","ext","errMode","window","currentDate","_gnky","Promise","resolve","settings","ajax","always","msg","error","console","log","_hideLoading","prop","_logout","then","authToken","Buffer","from","token","toString","_link","_notif","icon","message","Swal","fire","html","focusConfirm","allowOutsideClick","showClass","popup","backdrop","confirmButtonText","_showLoading","undefined","showConfirmButton","close","_numbersOnly","event","key","keyCode","which","shiftKey","_thousandsFormat","param","thousands","isNaN","split","parseFloat","replace","join","_validatePassword","on","e","preventDefault","myInput","document","getElementById","letter","capital","number","length","special","onfocus","style","display","onblur","onkeyup","lowerCaseLetters","value","match","classList","remove","add","upperCaseLetters","numbers","alphaNumeric","_ShowPassword","_event","_this","toggleClass","input","attr","thousandsFormat","_FormDataToJSON","formData","ConvertedJSON","entries","JSON","stringify","_updateAcctManger","val","url","_download_file","fileURL","fileName","ActiveXObject","save","createElement","href","target","filename","substring","lastIndexOf","download","navigator","userAgent","toLowerCase","search","location","evt","MouseEvent","dispatchEvent","URL","webkitURL","revokeObjectURL","execCommand","_window","open","_makeFormFromJsonSubmit","data","$form","Object","keys","forEach","k","append","submit","_formGetDataNotIsset","form_id","divElemCreated","each","is","radioName","inArray","push","setTimeout","extend","defaults","method","response","success","outMessage","confirmButtonColor","result","modal","keypress","toFixed","onscroll","body","scrollTop","documentElement","css","off","scroll","top","behavior","hasClass","hide","addClass","show","removeClass","DataTable","columns","adjust","draw","width","trigger","resize","showDenyButton","denyButtonText","isConfirmed","datepicker","changeYear","dateFormat","showButtonPanel","onClose","dateText","inst","changeMonth","yearRange"],"sourceRoot":""}