@flusys/nestjs-shared 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/cjs/classes-index.js +46 -0
  2. package/cjs/constants-index.js +1 -0
  3. package/cjs/decorators-index.js +1 -0
  4. package/cjs/dtos-index.js +1 -0
  5. package/cjs/entities-index.js +1 -0
  6. package/cjs/exceptions-index.js +1 -0
  7. package/cjs/guards-index.js +22 -0
  8. package/cjs/index.js +151 -0
  9. package/cjs/interceptors-index.js +106 -0
  10. package/cjs/interfaces-index.js +1 -0
  11. package/cjs/middlewares-index.js +22 -0
  12. package/cjs/modules-index.js +106 -0
  13. package/cjs/utils-index.js +1 -0
  14. package/classes/api-controller.class.d.ts +30 -0
  15. package/classes/api-service.class.d.ts +72 -0
  16. package/classes/hybrid-cache.class.d.ts +10 -0
  17. package/classes/index.d.ts +6 -0
  18. package/classes/request-scoped-api.service.d.ts +13 -0
  19. package/classes/winston-logger-adapter.class.d.ts +20 -0
  20. package/classes/winston.logger.class.d.ts +2 -0
  21. package/constants/index.d.ts +10 -0
  22. package/decorators/api-response.decorator.d.ts +3 -0
  23. package/decorators/current-user.decorator.d.ts +1 -0
  24. package/decorators/index.d.ts +4 -0
  25. package/decorators/public.decorator.d.ts +1 -0
  26. package/decorators/require-permission.decorator.d.ts +4 -0
  27. package/dtos/delete.dto.d.ts +4 -0
  28. package/dtos/filter-and-pagination.dto.d.ts +13 -0
  29. package/dtos/identity-response.dto.d.ts +9 -0
  30. package/dtos/index.d.ts +5 -0
  31. package/dtos/pagination.dto.d.ts +4 -0
  32. package/dtos/response-payload.dto.d.ts +63 -0
  33. package/entities/identity.d.ts +9 -0
  34. package/entities/index.d.ts +2 -0
  35. package/entities/user-root.d.ts +19 -0
  36. package/exceptions/index.d.ts +1 -0
  37. package/exceptions/permission.exception.d.ts +10 -0
  38. package/fesm/classes-index.js +46 -0
  39. package/fesm/constants-index.js +1 -0
  40. package/fesm/decorators-index.js +1 -0
  41. package/fesm/dtos-index.js +1 -0
  42. package/fesm/entities-index.js +1 -0
  43. package/fesm/exceptions-index.js +1 -0
  44. package/fesm/guards-index.js +22 -0
  45. package/fesm/index.js +151 -0
  46. package/fesm/interceptors-index.js +106 -0
  47. package/fesm/interfaces-index.js +0 -0
  48. package/fesm/middlewares-index.js +22 -0
  49. package/fesm/modules-index.js +106 -0
  50. package/fesm/utils-index.js +1 -0
  51. package/guards/index.d.ts +2 -0
  52. package/guards/jwt-auth.guard.d.ts +10 -0
  53. package/guards/permission.guard.d.ts +18 -0
  54. package/index.d.ts +12 -0
  55. package/interceptors/delete-empty-id-from-body.interceptor.d.ts +5 -0
  56. package/interceptors/idempotency.interceptor.d.ts +10 -0
  57. package/interceptors/index.d.ts +8 -0
  58. package/interceptors/query-performance.interceptor.d.ts +8 -0
  59. package/interceptors/response-meta.interceptor.d.ts +5 -0
  60. package/interceptors/set-create-by-on-body.interceptor.d.ts +5 -0
  61. package/interceptors/set-delete-by-on-body.interceptor.d.ts +5 -0
  62. package/interceptors/set-update-by-on-body.interceptor.d.ts +5 -0
  63. package/interceptors/slug.interceptor.d.ts +7 -0
  64. package/interfaces/api.interface.d.ts +14 -0
  65. package/interfaces/base-query.interface.d.ts +7 -0
  66. package/interfaces/identity.interface.d.ts +9 -0
  67. package/interfaces/index.d.ts +6 -0
  68. package/interfaces/logged-user-info.interface.d.ts +11 -0
  69. package/interfaces/logger.interface.d.ts +7 -0
  70. package/interfaces/permission.interface.d.ts +17 -0
  71. package/middlewares/index.d.ts +1 -0
  72. package/middlewares/logger.middleware.d.ts +23 -0
  73. package/modules/cache/cache.module.d.ts +4 -0
  74. package/modules/datasource/datasource.module.d.ts +18 -0
  75. package/modules/datasource/index.d.ts +2 -0
  76. package/modules/datasource/multi-tenant-datasource.service.d.ts +45 -0
  77. package/modules/index.d.ts +4 -0
  78. package/modules/utils/utils.module.d.ts +2 -0
  79. package/modules/utils/utils.service.d.ts +21 -0
  80. package/package.json +100 -0
  81. package/utils/error-handler.util.d.ts +24 -0
  82. package/utils/index.d.ts +1 -0
@@ -0,0 +1,22 @@
1
+ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var __require=(x=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(x,{get:(a,b)=>(typeof require!=="undefined"?require:a)[b]}):x)(function(x){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:true}):target,mod));var __decorateClass=(decorators,target,key,kind)=>{var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target;for(var i=decorators.length-1,decorator;i>=0;i--)if(decorator=decorators[i])result=(kind?decorator(target,key,result):decorator(result))||result;if(kind&&result)__defProp(target,key,result);return result};var __decorateParam=(index,decorator)=>(target,key)=>decorator(target,key,index);var require_node=__commonJS({"node_modules/util-deprecate/node.js"(exports,module){module.exports=__require("util").deprecate}});var require_stream=__commonJS({"node_modules/readable-stream/lib/internal/streams/stream.js"(exports,module){module.exports=__require("stream")}});var require_destroy=__commonJS({"node_modules/readable-stream/lib/internal/streams/destroy.js"(exports,module){"use strict";function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err){if(!this._writableState){process.nextTick(emitErrorNT,this,err)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,err)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err2){if(!cb&&err2){if(!_this._writableState){process.nextTick(emitErrorAndCloseNT,_this,err2)}else if(!_this._writableState.errorEmitted){_this._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,_this,err2)}else{process.nextTick(emitCloseNT,_this)}}else if(cb){process.nextTick(emitCloseNT,_this);cb(err2)}else{process.nextTick(emitCloseNT,_this)}});return this}__name(destroy,"destroy");function emitErrorAndCloseNT(self2,err){emitErrorNT(self2,err);emitCloseNT(self2)}__name(emitErrorAndCloseNT,"emitErrorAndCloseNT");function emitCloseNT(self2){if(self2._writableState&&!self2._writableState.emitClose)return;if(self2._readableState&&!self2._readableState.emitClose)return;self2.emit("close")}__name(emitCloseNT,"emitCloseNT");function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}__name(undestroy,"undestroy");function emitErrorNT(self2,err){self2.emit("error",err)}__name(emitErrorNT,"emitErrorNT");function errorOrDestroy(stream,err){var rState=stream._readableState;var wState=stream._writableState;if(rState&&rState.autoDestroy||wState&&wState.autoDestroy)stream.destroy(err);else stream.emit("error",err)}__name(errorOrDestroy,"errorOrDestroy");module.exports={destroy,undestroy,errorOrDestroy}}});var require_errors=__commonJS({"node_modules/readable-stream/errors.js"(exports,module){"use strict";var codes={};function createErrorType(code,message,Base){if(!Base){Base=Error}function getMessage(arg1,arg2,arg3){if(typeof message==="string"){return message}else{return message(arg1,arg2,arg3)}}__name(getMessage,"getMessage");class NodeError extends Base{static{__name(this,"NodeError")}constructor(arg1,arg2,arg3){super(getMessage(arg1,arg2,arg3))}}NodeError.prototype.name=Base.name;NodeError.prototype.code=code;codes[code]=NodeError}__name(createErrorType,"createErrorType");function oneOf(expected,thing){if(Array.isArray(expected)){const len=expected.length;expected=expected.map(i=>String(i));if(len>2){return`one of ${thing} ${expected.slice(0,len-1).join(", ")}, or `+expected[len-1]}else if(len===2){return`one of ${thing} ${expected[0]} or ${expected[1]}`}else{return`of ${thing} ${expected[0]}`}}else{return`of ${thing} ${String(expected)}`}}__name(oneOf,"oneOf");function startsWith(str,search,pos){return str.substr(!pos||pos<0?0:+pos,search.length)===search}__name(startsWith,"startsWith");function endsWith(str,search,this_len){if(this_len===void 0||this_len>str.length){this_len=str.length}return str.substring(this_len-search.length,this_len)===search}__name(endsWith,"endsWith");function includes(str,search,start){if(typeof start!=="number"){start=0}if(start+search.length>str.length){return false}else{return str.indexOf(search,start)!==-1}}__name(includes,"includes");createErrorType("ERR_INVALID_OPT_VALUE",function(name,value){return'The value "'+value+'" is invalid for option "'+name+'"'},TypeError);createErrorType("ERR_INVALID_ARG_TYPE",function(name,expected,actual){let determiner;if(typeof expected==="string"&&startsWith(expected,"not ")){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}let msg;if(endsWith(name," argument")){msg=`The ${name} ${determiner} ${oneOf(expected,"type")}`}else{const type=includes(name,".")?"property":"argument";msg=`The "${name}" ${type} ${determiner} ${oneOf(expected,"type")}`}msg+=`. Received type ${typeof actual}`;return msg},TypeError);createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(name){return"The "+name+" method is not implemented"});createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close");createErrorType("ERR_STREAM_DESTROYED",function(name){return"Cannot call "+name+" after a stream was destroyed"});createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times");createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end");createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);createErrorType("ERR_UNKNOWN_ENCODING",function(arg){return"Unknown encoding: "+arg},TypeError);createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");module.exports.codes=codes}});var require_state=__commonJS({"node_modules/readable-stream/lib/internal/streams/state.js"(exports,module){"use strict";var ERR_INVALID_OPT_VALUE=require_errors().codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null?options.highWaterMark:isDuplex?options[duplexKey]:null}__name(highWaterMarkFrom,"highWaterMarkFrom");function getHighWaterMark(state,options,duplexKey,isDuplex){var hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!(isFinite(hwm)&&Math.floor(hwm)===hwm)||hwm<0){var name=isDuplex?duplexKey:"highWaterMark";throw new ERR_INVALID_OPT_VALUE(name,hwm)}return Math.floor(hwm)}return state.objectMode?16:16*1024}__name(getHighWaterMark,"getHighWaterMark");module.exports={getHighWaterMark}}});var require_inherits_browser=__commonJS({"node_modules/inherits/inherits_browser.js"(exports,module){if(typeof Object.create==="function"){module.exports=__name(function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}},"inherits")}else{module.exports=__name(function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=__name(function(){},"TempCtor");TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}},"inherits")}}});var require_inherits=__commonJS({"node_modules/inherits/inherits.js"(exports,module){try{util=__require("util");if(typeof util.inherits!=="function")throw"";module.exports=util.inherits}catch(e){module.exports=require_inherits_browser()}var util}});var require_buffer_list=__commonJS({"node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports,module){"use strict";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}__name(ownKeys,"ownKeys");function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}__name(_objectSpread,"_objectSpread");function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}__name(_defineProperty,"_defineProperty");function _classCallCheck(instance2,Constructor){if(!(instance2 instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}__name(_classCallCheck,"_classCallCheck");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,_toPropertyKey(descriptor.key),descriptor)}}__name(_defineProperties,"_defineProperties");function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor}__name(_createClass,"_createClass");function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key)}__name(_toPropertyKey,"_toPropertyKey");function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}__name(_toPrimitive,"_toPrimitive");var _require=__require("buffer");var Buffer2=_require.Buffer;var _require2=__require("util");var inspect=_require2.inspect;var custom=inspect&&inspect.custom||"inspect";function copyBuffer(src,target,offset){Buffer2.prototype.copy.call(src,target,offset)}__name(copyBuffer,"copyBuffer");module.exports=(function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}__name(BufferList,"BufferList");_createClass(BufferList,[{key:"push",value:__name(function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length},"push")},{key:"unshift",value:__name(function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length},"unshift")},{key:"shift",value:__name(function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret},"shift")},{key:"clear",value:__name(function clear(){this.head=this.tail=null;this.length=0},"clear")},{key:"join",value:__name(function join2(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next)ret+=s+p.data;return ret},"join")},{key:"concat",value:__name(function concat(n){if(this.length===0)return Buffer2.alloc(0);var ret=Buffer2.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret},"concat")},{key:"consume",value:__name(function consume(n,hasStrings){var ret;if(n<this.head.data.length){ret=this.head.data.slice(0,n);this.head.data=this.head.data.slice(n)}else if(n===this.head.data.length){ret=this.shift()}else{ret=hasStrings?this._getString(n):this._getBuffer(n)}return ret},"consume")},{key:"first",value:__name(function first(){return this.head.data},"first")},{key:"_getString",value:__name(function _getString(n){var p=this.head;var c=1;var ret=p.data;n-=ret.length;while(p=p.next){var str=p.data;var nb=n>str.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=str.slice(nb)}break}++c}this.length-=c;return ret},"_getString")},{key:"_getBuffer",value:__name(function _getBuffer(n){var ret=Buffer2.allocUnsafe(n);var p=this.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)this.head=p.next;else this.head=this.tail=null}else{this.head=p;p.data=buf.slice(nb)}break}++c}this.length-=c;return ret},"_getBuffer")},{key:custom,value:__name(function value(_,options){return inspect(this,_objectSpread(_objectSpread({},options),{},{depth:0,customInspect:false}))},"value")}]);return BufferList})()}});var require_safe_buffer=__commonJS({"node_modules/safe-buffer/index.js"(exports,module){var buffer=__require("buffer");var Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}__name(copyProps,"copyProps");if(Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}__name(SafeBuffer,"SafeBuffer");SafeBuffer.prototype=Object.create(Buffer2.prototype);copyProps(Buffer2,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer2(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer2(size);if(fill!==void 0){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer2(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}}});var require_string_decoder=__commonJS({"node_modules/string_decoder/lib/string_decoder.js"(exports){"use strict";var Buffer2=require_safe_buffer().Buffer;var isEncoding=Buffer2.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.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 true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}__name(_normalizeEncoding,"_normalizeEncoding");function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer2.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}__name(normalizeEncoding,"normalizeEncoding");exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer2.allocUnsafe(nb)}__name(StringDecoder,"StringDecoder");StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===void 0)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||""};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length){buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length);this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}__name(utf8CheckByte,"utf8CheckByte");function utf8CheckIncomplete(self2,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self2.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self2.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0){if(nb===2)nb=0;else self2.lastNeed=nb-3}return nb}return 0}__name(utf8CheckIncomplete,"utf8CheckIncomplete");function utf8CheckExtraBytes(self2,buf,p){if((buf[0]&192)!==128){self2.lastNeed=0;return"\uFFFD"}if(self2.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self2.lastNeed=1;return"\uFFFD"}if(self2.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self2.lastNeed=2;return"\uFFFD"}}}}__name(utf8CheckExtraBytes,"utf8CheckExtraBytes");function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==void 0)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}__name(utf8FillLast,"utf8FillLast");function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}__name(utf8Text,"utf8Text");function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"\uFFFD";return r}__name(utf8End,"utf8End");function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}__name(utf16Text,"utf16Text");function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}__name(utf16End,"utf16End");function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}__name(base64Text,"base64Text");function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}__name(base64End,"base64End");function simpleWrite(buf){return buf.toString(this.encoding)}__name(simpleWrite,"simpleWrite");function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}__name(simpleEnd,"simpleEnd")}});var require_end_of_stream=__commonJS({"node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports,module){"use strict";var ERR_STREAM_PREMATURE_CLOSE=require_errors().codes.ERR_STREAM_PREMATURE_CLOSE;function once(callback){var called=false;return function(){if(called)return;called=true;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}callback.apply(this,args)}}__name(once,"once");function noop(){}__name(noop,"noop");function isRequest(stream){return stream.setHeader&&typeof stream.abort==="function"}__name(isRequest,"isRequest");function eos(stream,opts,callback){if(typeof opts==="function")return eos(stream,null,opts);if(!opts)opts={};callback=once(callback||noop);var readable=opts.readable||opts.readable!==false&&stream.readable;var writable=opts.writable||opts.writable!==false&&stream.writable;var onlegacyfinish=__name(function onlegacyfinish2(){if(!stream.writable)onfinish()},"onlegacyfinish");var writableEnded=stream._writableState&&stream._writableState.finished;var onfinish=__name(function onfinish2(){writable=false;writableEnded=true;if(!readable)callback.call(stream)},"onfinish");var readableEnded=stream._readableState&&stream._readableState.endEmitted;var onend=__name(function onend2(){readable=false;readableEnded=true;if(!writable)callback.call(stream)},"onend");var onerror=__name(function onerror2(err){callback.call(stream,err)},"onerror");var onclose=__name(function onclose2(){var err;if(readable&&!readableEnded){if(!stream._readableState||!stream._readableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}if(writable&&!writableEnded){if(!stream._writableState||!stream._writableState.ended)err=new ERR_STREAM_PREMATURE_CLOSE;return callback.call(stream,err)}},"onclose");var onrequest=__name(function onrequest2(){stream.req.on("finish",onfinish)},"onrequest");if(isRequest(stream)){stream.on("complete",onfinish);stream.on("abort",onclose);if(stream.req)onrequest();else stream.on("request",onrequest)}else if(writable&&!stream._writableState){stream.on("end",onlegacyfinish);stream.on("close",onlegacyfinish)}stream.on("end",onend);stream.on("finish",onfinish);if(opts.error!==false)stream.on("error",onerror);stream.on("close",onclose);return function(){stream.removeListener("complete",onfinish);stream.removeListener("abort",onclose);stream.removeListener("request",onrequest);if(stream.req)stream.req.removeListener("finish",onfinish);stream.removeListener("end",onlegacyfinish);stream.removeListener("close",onlegacyfinish);stream.removeListener("finish",onfinish);stream.removeListener("end",onend);stream.removeListener("error",onerror);stream.removeListener("close",onclose)}}__name(eos,"eos");module.exports=eos}});var require_async_iterator=__commonJS({"node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports,module){"use strict";var _Object$setPrototypeO;function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}__name(_defineProperty,"_defineProperty");function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key)}__name(_toPropertyKey,"_toPropertyKey");function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}__name(_toPrimitive,"_toPrimitive");var finished=require_end_of_stream();var kLastResolve=Symbol("lastResolve");var kLastReject=Symbol("lastReject");var kError=Symbol("error");var kEnded=Symbol("ended");var kLastPromise=Symbol("lastPromise");var kHandlePromise=Symbol("handlePromise");var kStream=Symbol("stream");function createIterResult(value,done){return{value,done}}__name(createIterResult,"createIterResult");function readAndResolve(iter){var resolve=iter[kLastResolve];if(resolve!==null){var data=iter[kStream].read();if(data!==null){iter[kLastPromise]=null;iter[kLastResolve]=null;iter[kLastReject]=null;resolve(createIterResult(data,false))}}}__name(readAndResolve,"readAndResolve");function onReadable(iter){process.nextTick(readAndResolve,iter)}__name(onReadable,"onReadable");function wrapForNext(lastPromise,iter){return function(resolve,reject){lastPromise.then(function(){if(iter[kEnded]){resolve(createIterResult(void 0,true));return}iter[kHandlePromise](resolve,reject)},reject)}}__name(wrapForNext,"wrapForNext");var AsyncIteratorPrototype=Object.getPrototypeOf(function(){});var ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_Object$setPrototypeO={get stream(){return this[kStream]},next:__name(function next(){var _this=this;var error=this[kError];if(error!==null){return Promise.reject(error)}if(this[kEnded]){return Promise.resolve(createIterResult(void 0,true))}if(this[kStream].destroyed){return new Promise(function(resolve,reject){process.nextTick(function(){if(_this[kError]){reject(_this[kError])}else{resolve(createIterResult(void 0,true))}})})}var lastPromise=this[kLastPromise];var promise;if(lastPromise){promise=new Promise(wrapForNext(lastPromise,this))}else{var data=this[kStream].read();if(data!==null){return Promise.resolve(createIterResult(data,false))}promise=new Promise(this[kHandlePromise])}this[kLastPromise]=promise;return promise},"next")},_defineProperty(_Object$setPrototypeO,Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",__name(function _return(){var _this2=this;return new Promise(function(resolve,reject){_this2[kStream].destroy(null,function(err){if(err){reject(err);return}resolve(createIterResult(void 0,true))})})},"_return")),_Object$setPrototypeO),AsyncIteratorPrototype);var createReadableStreamAsyncIterator=__name(function createReadableStreamAsyncIterator2(stream){var _Object$create;var iterator=Object.create(ReadableStreamAsyncIteratorPrototype,(_Object$create={},_defineProperty(_Object$create,kStream,{value:stream,writable:true}),_defineProperty(_Object$create,kLastResolve,{value:null,writable:true}),_defineProperty(_Object$create,kLastReject,{value:null,writable:true}),_defineProperty(_Object$create,kError,{value:null,writable:true}),_defineProperty(_Object$create,kEnded,{value:stream._readableState.endEmitted,writable:true}),_defineProperty(_Object$create,kHandlePromise,{value:__name(function value(resolve,reject){var data=iterator[kStream].read();if(data){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(data,false))}else{iterator[kLastResolve]=resolve;iterator[kLastReject]=reject}},"value"),writable:true}),_Object$create));iterator[kLastPromise]=null;finished(stream,function(err){if(err&&err.code!=="ERR_STREAM_PREMATURE_CLOSE"){var reject=iterator[kLastReject];if(reject!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;reject(err)}iterator[kError]=err;return}var resolve=iterator[kLastResolve];if(resolve!==null){iterator[kLastPromise]=null;iterator[kLastResolve]=null;iterator[kLastReject]=null;resolve(createIterResult(void 0,true))}iterator[kEnded]=true});stream.on("readable",onReadable.bind(null,iterator));return iterator},"createReadableStreamAsyncIterator");module.exports=createReadableStreamAsyncIterator}});var require_from=__commonJS({"node_modules/readable-stream/lib/internal/streams/from.js"(exports,module){"use strict";function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}__name(asyncGeneratorStep,"asyncGeneratorStep");function _asyncToGenerator(fn){return function(){var self2=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self2,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}__name(_next,"_next");function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}__name(_throw,"_throw");_next(void 0)})}}__name(_asyncToGenerator,"_asyncToGenerator");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}__name(ownKeys,"ownKeys");function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}__name(_objectSpread,"_objectSpread");function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}__name(_defineProperty,"_defineProperty");function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key)}__name(_toPropertyKey,"_toPropertyKey");function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==void 0){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}__name(_toPrimitive,"_toPrimitive");var ERR_INVALID_ARG_TYPE=require_errors().codes.ERR_INVALID_ARG_TYPE;function from(Readable,iterable,opts){var iterator;if(iterable&&typeof iterable.next==="function"){iterator=iterable}else if(iterable&&iterable[Symbol.asyncIterator])iterator=iterable[Symbol.asyncIterator]();else if(iterable&&iterable[Symbol.iterator])iterator=iterable[Symbol.iterator]();else throw new ERR_INVALID_ARG_TYPE("iterable",["Iterable"],iterable);var readable=new Readable(_objectSpread({objectMode:true},opts));var reading=false;readable._read=function(){if(!reading){reading=true;next()}};function next(){return _next2.apply(this,arguments)}__name(next,"next");function _next2(){_next2=_asyncToGenerator(function*(){try{var _yield$iterator$next=yield iterator.next(),value=_yield$iterator$next.value,done=_yield$iterator$next.done;if(done){readable.push(null)}else if(readable.push(yield value)){next()}else{reading=false}}catch(err){readable.destroy(err)}});return _next2.apply(this,arguments)}__name(_next2,"_next2");return readable}__name(from,"from");module.exports=from}});var require_stream_readable=__commonJS({"node_modules/readable-stream/lib/_stream_readable.js"(exports,module){"use strict";module.exports=Readable;var Duplex;Readable.ReadableState=ReadableState;var EE=__require("events").EventEmitter;var EElistenerCount=__name(function EElistenerCount2(emitter,type){return emitter.listeners(type).length},"EElistenerCount");var Stream=require_stream();var Buffer2=__require("buffer").Buffer;var OurUint8Array=(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer2.from(chunk)}__name(_uint8ArrayToBuffer,"_uint8ArrayToBuffer");function _isUint8Array(obj){return Buffer2.isBuffer(obj)||obj instanceof OurUint8Array}__name(_isUint8Array,"_isUint8Array");var debugUtil=__require("util");var debug;if(debugUtil&&debugUtil.debuglog){debug=debugUtil.debuglog("stream")}else{debug=__name(function debug2(){},"debug")}var BufferList=require_buffer_list();var destroyImpl=require_destroy();var _require=require_state();var getHighWaterMark=_require.getHighWaterMark;var _require$codes=require_errors().codes;var ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE;var ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF;var ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED;var ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var StringDecoder;var createReadableStreamAsyncIterator;var from;require_inherits()(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy;var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener==="function")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(Array.isArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}__name(prependListener,"prependListener");function ReadableState(options,stream,isDuplex){Duplex=Duplex||require_stream_duplex();options=options||{};if(typeof isDuplex!=="boolean")isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.readableObjectMode;this.highWaterMark=getHighWaterMark(this,options,"readableHighWaterMark",isDuplex);this.buffer=new BufferList;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=options.emitClose!==false;this.autoDestroy=!!options.autoDestroy;this.destroyed=false;this.defaultEncoding=options.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require_string_decoder().StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}__name(ReadableState,"ReadableState");function Readable(options){Duplex=Duplex||require_stream_duplex();if(!(this instanceof Readable))return new Readable(options);var isDuplex=this instanceof Duplex;this._readableState=new ReadableState(options,this,isDuplex);this.readable=true;if(options){if(typeof options.read==="function")this._read=options.read;if(typeof options.destroy==="function")this._destroy=options.destroy}Stream.call(this)}__name(Readable,"Readable");Object.defineProperty(Readable.prototype,"destroyed",{enumerable:false,get:__name(function get(){if(this._readableState===void 0){return false}return this._readableState.destroyed},"get"),set:__name(function set(value){if(!this._readableState){return}this._readableState.destroyed=value},"set")});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){cb(err)};Readable.prototype.push=function(chunk,encoding){var state=this._readableState;var skipChunkCheck;if(!state.objectMode){if(typeof chunk==="string"){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=Buffer2.from(chunk,encoding);encoding=""}skipChunkCheck=true}}else{skipChunkCheck=true}return readableAddChunk(this,chunk,encoding,false,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,true,false)};function readableAddChunk(stream,chunk,encoding,addToFront,skipChunkCheck){debug("readableAddChunk",chunk);var state=stream._readableState;if(chunk===null){state.reading=false;onEofChunk(stream,state)}else{var er;if(!skipChunkCheck)er=chunkInvalid(state,chunk);if(er){errorOrDestroy(stream,er)}else if(state.objectMode||chunk&&chunk.length>0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer2.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)errorOrDestroy(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else addChunk(stream,state,chunk,true)}else if(state.ended){errorOrDestroy(stream,new ERR_STREAM_PUSH_AFTER_EOF)}else if(state.destroyed){return false}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false;maybeReadMore(stream,state)}}return!state.ended&&(state.length<state.highWaterMark||state.length===0)}__name(readableAddChunk,"readableAddChunk");function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync){state.awaitDrain=0;stream.emit("data",chunk)}else{state.length+=state.objectMode?1:chunk.length;if(addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream)}maybeReadMore(stream,state)}__name(addChunk,"addChunk");function chunkInvalid(state,chunk){var er;if(!_isUint8Array(chunk)&&typeof chunk!=="string"&&chunk!==void 0&&!state.objectMode){er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],chunk)}return er}__name(chunkInvalid,"chunkInvalid");Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require_string_decoder().StringDecoder;var decoder=new StringDecoder(enc);this._readableState.decoder=decoder;this._readableState.encoding=this._readableState.decoder.encoding;var p=this._readableState.buffer.head;var content="";while(p!==null){content+=decoder.write(p.data);p=p.next}this._readableState.buffer.clear();if(content!=="")this._readableState.buffer.push(content);this._readableState.length=content.length;return this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}__name(computeNewHighWaterMark,"computeNewHighWaterMark");function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}__name(howMuchToRead,"howMuchToRead");Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&((state.highWaterMark!==0?state.length>=state.highWaterMark:state.length>0)||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n<state.highWaterMark){doRead=true;debug("length less than watermark",doRead)}if(state.ended||state.reading){doRead=false;debug("reading or ended",doRead)}else if(doRead){debug("do read");state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false;if(!state.reading)n=howMuchToRead(nOrig,state)}var ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=state.length<=state.highWaterMark;n=0}else{state.length-=n;state.awaitDrain=0}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){debug("onEofChunk");if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;if(state.sync){emitReadable(stream)}else{state.needReadable=false;if(!state.emittedReadable){state.emittedReadable=true;emitReadable_(stream)}}}__name(onEofChunk,"onEofChunk");function emitReadable(stream){var state=stream._readableState;debug("emitReadable",state.needReadable,state.emittedReadable);state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;process.nextTick(emitReadable_,stream)}}__name(emitReadable,"emitReadable");function emitReadable_(stream){var state=stream._readableState;debug("emitReadable_",state.destroyed,state.length,state.ended);if(!state.destroyed&&(state.length||state.ended)){stream.emit("readable");state.emittedReadable=false}state.needReadable=!state.flowing&&!state.ended&&state.length<=state.highWaterMark;flow(stream)}__name(emitReadable_,"emitReadable_");function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;process.nextTick(maybeReadMore_,stream,state)}}__name(maybeReadMore,"maybeReadMore");function maybeReadMore_(stream,state){while(!state.reading&&!state.ended&&(state.length<state.highWaterMark||state.flowing&&state.length===0)){var len=state.length;debug("maybeReadMore read 0");stream.read(0);if(len===state.length)break}state.readingMore=false}__name(maybeReadMore_,"maybeReadMore_");Readable.prototype._read=function(n){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:unpipe;if(state.endEmitted)process.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe");if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===false){unpipeInfo.hasUnpiped=true;cleanup()}}}__name(onunpipe,"onunpipe");function onend(){debug("onend");dest.end()}__name(onend,"onend");var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=false;function cleanup(){debug("cleanup");dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",unpipe);src.removeListener("data",ondata);cleanedUp=true;if(state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain))ondrain()}__name(cleanup,"cleanup");src.on("data",ondata);function ondata(chunk){debug("ondata");var ret=dest.write(chunk);debug("dest.write",ret);if(ret===false){if((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",state.awaitDrain);state.awaitDrain++}src.pause()}}__name(ondata,"ondata");function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)errorOrDestroy(dest,er)}__name(onerror,"onerror");prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}__name(onclose,"onclose");dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}__name(onfinish,"onfinish");dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}__name(unpipe,"unpipe");dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return __name(function pipeOnDrainFunctionResult(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}},"pipeOnDrainFunctionResult")}__name(pipeOnDrain,"pipeOnDrain");Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i<len;i++)dests[i].emit("unpipe",this,{hasUnpiped:false});return this}var index=indexOf(state.pipes,dest);if(index===-1)return this;state.pipes.splice(index,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this,unpipeInfo);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);var state=this._readableState;if(ev==="data"){state.readableListening=this.listenerCount("readable")>0;if(state.flowing!==false)this.resume()}else if(ev==="readable"){if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.flowing=false;state.emittedReadable=false;debug("on readable",state.length,state.reading);if(state.length){emitReadable(this)}else if(!state.reading){process.nextTick(nReadingNextTick,this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(ev,fn){var res=Stream.prototype.removeListener.call(this,ev,fn);if(ev==="readable"){process.nextTick(updateReadableListening,this)}return res};Readable.prototype.removeAllListeners=function(ev){var res=Stream.prototype.removeAllListeners.apply(this,arguments);if(ev==="readable"||ev===void 0){process.nextTick(updateReadableListening,this)}return res};function updateReadableListening(self2){var state=self2._readableState;state.readableListening=self2.listenerCount("readable")>0;if(state.resumeScheduled&&!state.paused){state.flowing=true}else if(self2.listenerCount("data")>0){self2.resume()}}__name(updateReadableListening,"updateReadableListening");function nReadingNextTick(self2){debug("readable nexttick read 0");self2.read(0)}__name(nReadingNextTick,"nReadingNextTick");Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=!state.readableListening;resume(this,state)}state.paused=false;return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;process.nextTick(resume_,stream,state)}}__name(resume,"resume");function resume_(stream,state){debug("resume",state.reading);if(!state.reading){stream.read(0)}state.resumeScheduled=false;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}__name(resume_,"resume_");Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(this._readableState.flowing!==false){debug("pause");this._readableState.flowing=false;this.emit("pause")}this._readableState.paused=true;return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null);}__name(flow,"flow");Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===void 0))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===void 0&&typeof stream[i]==="function"){this[i]=__name(function methodWrap(method){return __name(function methodWrapReturnFunction(){return stream[method].apply(stream,arguments)},"methodWrapReturnFunction")},"methodWrap")(i)}}for(var n=0;n<kProxyEvents.length;n++){stream.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]))}this._read=function(n2){debug("wrapped _read",n2);if(paused){paused=false;stream.resume()}};return this};if(typeof Symbol==="function"){Readable.prototype[Symbol.asyncIterator]=function(){if(createReadableStreamAsyncIterator===void 0){createReadableStreamAsyncIterator=require_async_iterator()}return createReadableStreamAsyncIterator(this)}}Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:false,get:__name(function get(){return this._readableState.highWaterMark},"get")});Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:false,get:__name(function get(){return this._readableState&&this._readableState.buffer},"get")});Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:false,get:__name(function get(){return this._readableState.flowing},"get"),set:__name(function set(state){if(this._readableState){this._readableState.flowing=state}},"set")});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,"readableLength",{enumerable:false,get:__name(function get(){return this._readableState.length},"get")});function fromList(n,state){if(state.length===0)return null;var ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=state.buffer.consume(n,state.decoder)}return ret}__name(fromList,"fromList");function endReadable(stream){var state=stream._readableState;debug("endReadable",state.endEmitted);if(!state.endEmitted){state.ended=true;process.nextTick(endReadableNT,state,stream)}}__name(endReadable,"endReadable");function endReadableNT(state,stream){debug("endReadableNT",state.endEmitted,state.length);if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end");if(state.autoDestroy){var wState=stream._writableState;if(!wState||wState.autoDestroy&&wState.finished){stream.destroy()}}}}__name(endReadableNT,"endReadableNT");if(typeof Symbol==="function"){Readable.from=function(iterable,opts){if(from===void 0){from=require_from()}return from(Readable,iterable,opts)}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}__name(indexOf,"indexOf")}});var require_stream_duplex=__commonJS({"node_modules/readable-stream/lib/_stream_duplex.js"(exports,module){"use strict";var objectKeys=Object.keys||function(obj){var keys2=[];for(var key in obj)keys2.push(key);return keys2};module.exports=Duplex;var Readable=require_stream_readable();var Writable=require_stream_writable();require_inherits()(Duplex,Readable);{keys=objectKeys(Writable.prototype);for(v=0;v<keys.length;v++){method=keys[v];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}var keys;var method;var v;function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);this.allowHalfOpen=true;if(options){if(options.readable===false)this.readable=false;if(options.writable===false)this.writable=false;if(options.allowHalfOpen===false){this.allowHalfOpen=false;this.once("end",onend)}}}__name(Duplex,"Duplex");Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:false,get:__name(function get(){return this._writableState.highWaterMark},"get")});Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:false,get:__name(function get(){return this._writableState&&this._writableState.getBuffer()},"get")});Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:false,get:__name(function get(){return this._writableState.length},"get")});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}__name(onend,"onend");function onEndNT(self2){self2.end()}__name(onEndNT,"onEndNT");Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:false,get:__name(function get(){if(this._readableState===void 0||this._writableState===void 0){return false}return this._readableState.destroyed&&this._writableState.destroyed},"get"),set:__name(function set(value){if(this._readableState===void 0||this._writableState===void 0){return}this._readableState.destroyed=value;this._writableState.destroyed=value},"set")})}});var require_stream_writable=__commonJS({"node_modules/readable-stream/lib/_stream_writable.js"(exports,module){"use strict";module.exports=Writable;function CorkedRequest(state){var _this=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(_this,state)}}__name(CorkedRequest,"CorkedRequest");var Duplex;Writable.WritableState=WritableState;var internalUtil={deprecate:require_node()};var Stream=require_stream();var Buffer2=__require("buffer").Buffer;var OurUint8Array=(typeof global!=="undefined"?global:typeof window!=="undefined"?window:typeof self!=="undefined"?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer2.from(chunk)}__name(_uint8ArrayToBuffer,"_uint8ArrayToBuffer");function _isUint8Array(obj){return Buffer2.isBuffer(obj)||obj instanceof OurUint8Array}__name(_isUint8Array,"_isUint8Array");var destroyImpl=require_destroy();var _require=require_state();var getHighWaterMark=_require.getHighWaterMark;var _require$codes=require_errors().codes;var ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE;var ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED;var ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK;var ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE;var ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;var ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES;var ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END;var ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING;var errorOrDestroy=destroyImpl.errorOrDestroy;require_inherits()(Writable,Stream);function nop(){}__name(nop,"nop");function WritableState(options,stream,isDuplex){Duplex=Duplex||require_stream_duplex();options=options||{};if(typeof isDuplex!=="boolean")isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.writableObjectMode;this.highWaterMark=getHighWaterMark(this,options,"writableHighWaterMark",isDuplex);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=options.emitClose!==false;this.autoDestroy=!!options.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}__name(WritableState,"WritableState");WritableState.prototype.getBuffer=__name(function getBuffer(){var current=this.bufferedRequest;var out=[];while(current){out.push(current);current=current.next}return out},"getBuffer");(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(__name(function writableStateBufferGetter(){return this.getBuffer()},"writableStateBufferGetter"),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(_){}})();var realHasInstance;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){realHasInstance=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:__name(function value(object){if(realHasInstance.call(this,object))return true;if(this!==Writable)return false;return object&&object._writableState instanceof WritableState},"value")})}else{realHasInstance=__name(function realHasInstance2(object){return object instanceof this},"realHasInstance")}function Writable(options){Duplex=Duplex||require_stream_duplex();var isDuplex=this instanceof Duplex;if(!isDuplex&&!realHasInstance.call(Writable,this))return new Writable(options);this._writableState=new WritableState(options,this,isDuplex);this.writable=true;if(options){if(typeof options.write==="function")this._write=options.write;if(typeof options.writev==="function")this._writev=options.writev;if(typeof options.destroy==="function")this._destroy=options.destroy;if(typeof options.final==="function")this._final=options.final}Stream.call(this)}__name(Writable,"Writable");Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)};function writeAfterEnd(stream,cb){var er=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(stream,er);process.nextTick(cb,er)}__name(writeAfterEnd,"writeAfterEnd");function validChunk(stream,state,chunk,cb){var er;if(chunk===null){er=new ERR_STREAM_NULL_VALUES}else if(typeof chunk!=="string"&&!state.objectMode){er=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],chunk)}if(er){errorOrDestroy(stream,er);process.nextTick(cb,er);return false}return true}__name(validChunk,"validChunk");Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;var isBuf=!state.objectMode&&_isUint8Array(chunk);if(isBuf&&!Buffer2.isBuffer(chunk)){chunk=_uint8ArrayToBuffer(chunk)}if(typeof encoding==="function"){cb=encoding;encoding=null}if(isBuf)encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=nop;if(state.ending)writeAfterEnd(this,cb);else if(isBuf||validChunk(this,state,chunk,cb)){state.pendingcb++;ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)}return ret};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var state=this._writableState;if(state.corked){state.corked--;if(!state.writing&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=__name(function setDefaultEncoding(encoding){if(typeof encoding==="string")encoding=encoding.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(encoding);this._writableState.defaultEncoding=encoding;return this},"setDefaultEncoding");Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:false,get:__name(function get(){return this._writableState&&this._writableState.getBuffer()},"get")});function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer2.from(chunk,encoding)}return chunk}__name(decodeChunk,"decodeChunk");Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:__name(function get(){return this._writableState.highWaterMark},"get")});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk,encoding,isBuf,callback:cb,next:null};if(last){last.next=state.lastBufferedRequest}else{state.bufferedRequest=state.lastBufferedRequest}state.bufferedRequestCount+=1}else{doWrite(stream,state,false,len,chunk,encoding,cb)}return ret}__name(writeOrBuffer,"writeOrBuffer");function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;if(state.destroyed)state.onwrite(new ERR_STREAM_DESTROYED("write"));else if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=false}__name(doWrite,"doWrite");function onwriteError(stream,state,sync,er,cb){--state.pendingcb;if(sync){process.nextTick(cb,er);process.nextTick(finishMaybe,stream,state);stream._writableState.errorEmitted=true;errorOrDestroy(stream,er)}else{cb(er);stream._writableState.errorEmitted=true;errorOrDestroy(stream,er);finishMaybe(stream,state)}}__name(onwriteError,"onwriteError");function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}__name(onwriteStateUpdate,"onwriteStateUpdate");function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;if(typeof cb!=="function")throw new ERR_MULTIPLE_CALLBACK;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state)||stream.destroyed;if(!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest){clearBuffer(stream,state)}if(sync){process.nextTick(afterWrite,stream,state,finished,cb)}else{afterWrite(stream,state,finished,cb)}}}__name(onwrite,"onwrite");function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);state.pendingcb--;cb();finishMaybe(stream,state)}__name(afterWrite,"afterWrite");function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}__name(onwriteDrain,"onwriteDrain");function clearBuffer(stream,state){state.bufferProcessing=true;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount;var buffer=new Array(l);var holder=state.corkedRequestsFree;holder.entry=entry;var count=0;var allBuffers=true;while(entry){buffer[count]=entry;if(!entry.isBuf)allBuffers=false;entry=entry.next;count+=1}buffer.allBuffers=allBuffers;doWrite(stream,state,true,state.length,buffer,"",holder.finish);state.pendingcb++;state.lastBufferedRequest=null;if(holder.next){state.corkedRequestsFree=holder.next;holder.next=null}else{state.corkedRequestsFree=new CorkedRequest(state)}state.bufferedRequestCount=0}else{while(entry){var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,false,len,chunk,encoding,cb);entry=entry.next;state.bufferedRequestCount--;if(state.writing){break}}if(entry===null)state.lastBufferedRequest=null}state.bufferedRequest=entry;state.bufferProcessing=false}__name(clearBuffer,"clearBuffer");Writable.prototype._write=function(chunk,encoding,cb){cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(chunk!==null&&chunk!==void 0)this.write(chunk,encoding);if(state.corked){state.corked=1;this.uncork()}if(!state.ending)endWritable(this,state,cb);return this};Object.defineProperty(Writable.prototype,"writableLength",{enumerable:false,get:__name(function get(){return this._writableState.length},"get")});function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}__name(needFinish,"needFinish");function callFinal(stream,state){stream._final(function(err){state.pendingcb--;if(err){errorOrDestroy(stream,err)}state.prefinished=true;stream.emit("prefinish");finishMaybe(stream,state)})}__name(callFinal,"callFinal");function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled){if(typeof stream._final==="function"&&!state.destroyed){state.pendingcb++;state.finalCalled=true;process.nextTick(callFinal,stream,state)}else{state.prefinished=true;stream.emit("prefinish")}}}__name(prefinish,"prefinish");function finishMaybe(stream,state){var need=needFinish(state);if(need){prefinish(stream,state);if(state.pendingcb===0){state.finished=true;stream.emit("finish");if(state.autoDestroy){var rState=stream._readableState;if(!rState||rState.autoDestroy&&rState.endEmitted){stream.destroy()}}}}return need}__name(finishMaybe,"finishMaybe");function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)process.nextTick(cb);else stream.once("finish",cb)}state.ended=true;stream.writable=false}__name(endWritable,"endWritable");function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;corkReq.entry=null;while(entry){var cb=entry.callback;state.pendingcb--;cb(err);entry=entry.next}state.corkedRequestsFree.next=corkReq}__name(onCorkedFinish,"onCorkedFinish");Object.defineProperty(Writable.prototype,"destroyed",{enumerable:false,get:__name(function get(){if(this._writableState===void 0){return false}return this._writableState.destroyed},"get"),set:__name(function set(value){if(!this._writableState){return}this._writableState.destroyed=value},"set")});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){cb(err)}}});var require_cli=__commonJS({"node_modules/triple-beam/config/cli.js"(exports){"use strict";exports.levels={error:0,warn:1,help:2,data:3,info:4,debug:5,prompt:6,verbose:7,input:8,silly:9};exports.colors={error:"red",warn:"yellow",help:"cyan",data:"grey",info:"green",debug:"blue",prompt:"grey",verbose:"cyan",input:"grey",silly:"magenta"}}});var require_npm=__commonJS({"node_modules/triple-beam/config/npm.js"(exports){"use strict";exports.levels={error:0,warn:1,info:2,http:3,verbose:4,debug:5,silly:6};exports.colors={error:"red",warn:"yellow",info:"green",http:"green",verbose:"cyan",debug:"blue",silly:"magenta"}}});var require_syslog=__commonJS({"node_modules/triple-beam/config/syslog.js"(exports){"use strict";exports.levels={emerg:0,alert:1,crit:2,error:3,warning:4,notice:5,info:6,debug:7};exports.colors={emerg:"red",alert:"yellow",crit:"red",error:"red",warning:"red",notice:"yellow",info:"green",debug:"blue"}}});var require_config=__commonJS({"node_modules/triple-beam/config/index.js"(exports){"use strict";Object.defineProperty(exports,"cli",{value:require_cli()});Object.defineProperty(exports,"npm",{value:require_npm()});Object.defineProperty(exports,"syslog",{value:require_syslog()})}});var require_triple_beam=__commonJS({"node_modules/triple-beam/index.js"(exports){"use strict";Object.defineProperty(exports,"LEVEL",{value:Symbol.for("level")});Object.defineProperty(exports,"MESSAGE",{value:Symbol.for("message")});Object.defineProperty(exports,"SPLAT",{value:Symbol.for("splat")});Object.defineProperty(exports,"configs",{value:require_config()})}});var require_modern=__commonJS({"node_modules/winston-transport/modern.js"(exports,module){"use strict";var util=__require("util");var Writable=require_stream_writable();var{LEVEL}=require_triple_beam();var TransportStream=module.exports=__name(function TransportStream2(options={}){Writable.call(this,{objectMode:true,highWaterMark:options.highWaterMark});this.format=options.format;this.level=options.level;this.handleExceptions=options.handleExceptions;this.handleRejections=options.handleRejections;this.silent=options.silent;if(options.log)this.log=options.log;if(options.logv)this.logv=options.logv;if(options.close)this.close=options.close;this.once("pipe",logger=>{this.levels=logger.levels;this.parent=logger});this.once("unpipe",src=>{if(src===this.parent){this.parent=null;if(this.close){this.close()}}})},"TransportStream");util.inherits(TransportStream,Writable);TransportStream.prototype._write=__name(function _write(info,enc,callback){if(this.silent||info.exception===true&&!this.handleExceptions){return callback(null)}const level=this.level||this.parent&&this.parent.level;if(!level||this.levels[level]>=this.levels[info[LEVEL]]){if(info&&!this.format){return this.log(info,callback)}let errState;let transformed;try{transformed=this.format.transform(Object.assign({},info),this.format.options)}catch(err){errState=err}if(errState||!transformed){callback();if(errState)throw errState;return}return this.log(transformed,callback)}this._writableState.sync=false;return callback(null)},"_write");TransportStream.prototype._writev=__name(function _writev(chunks,callback){if(this.logv){const infos=chunks.filter(this._accept,this);if(!infos.length){return callback(null)}return this.logv(infos,callback)}for(let i=0;i<chunks.length;i++){if(!this._accept(chunks[i]))continue;if(chunks[i].chunk&&!this.format){this.log(chunks[i].chunk,chunks[i].callback);continue}let errState;let transformed;try{transformed=this.format.transform(Object.assign({},chunks[i].chunk),this.format.options)}catch(err){errState=err}if(errState||!transformed){chunks[i].callback();if(errState){callback(null);throw errState}}else{this.log(transformed,chunks[i].callback)}}return callback(null)},"_writev");TransportStream.prototype._accept=__name(function _accept(write){const info=write.chunk;if(this.silent){return false}const level=this.level||this.parent&&this.parent.level;if(info.exception===true||!level||this.levels[level]>=this.levels[info[LEVEL]]){if(this.handleExceptions||info.exception!==true){return true}}return false},"_accept");TransportStream.prototype._nop=__name(function _nop(){return void 0},"_nop")}});var require_legacy=__commonJS({"node_modules/winston-transport/legacy.js"(exports,module){"use strict";var util=__require("util");var{LEVEL}=require_triple_beam();var TransportStream=require_modern();var LegacyTransportStream=module.exports=__name(function LegacyTransportStream2(options={}){TransportStream.call(this,options);if(!options.transport||typeof options.transport.log!=="function"){throw new Error("Invalid transport, must be an object with a log method.")}this.transport=options.transport;this.level=this.level||options.transport.level;this.handleExceptions=this.handleExceptions||options.transport.handleExceptions;this._deprecated();function transportError(err){this.emit("error",err,this.transport)}__name(transportError,"transportError");if(!this.transport.__winstonError){this.transport.__winstonError=transportError.bind(this);this.transport.on("error",this.transport.__winstonError)}},"LegacyTransportStream");util.inherits(LegacyTransportStream,TransportStream);LegacyTransportStream.prototype._write=__name(function _write(info,enc,callback){if(this.silent||info.exception===true&&!this.handleExceptions){return callback(null)}if(!this.level||this.levels[this.level]>=this.levels[info[LEVEL]]){this.transport.log(info[LEVEL],info.message,info,this._nop)}callback(null)},"_write");LegacyTransportStream.prototype._writev=__name(function _writev(chunks,callback){for(let i=0;i<chunks.length;i++){if(this._accept(chunks[i])){this.transport.log(chunks[i].chunk[LEVEL],chunks[i].chunk.message,chunks[i].chunk,this._nop);chunks[i].callback()}}return callback(null)},"_writev");LegacyTransportStream.prototype._deprecated=__name(function _deprecated(){console.error([`${this.transport.name} is a legacy winston transport. Consider upgrading: `,"- Upgrade docs: https://github.com/winstonjs/winston/blob/master/UPGRADE-3.0.md"].join("\n"))},"_deprecated");LegacyTransportStream.prototype.close=__name(function close(){if(this.transport.close){this.transport.close()}if(this.transport.__winstonError){this.transport.removeListener("error",this.transport.__winstonError);this.transport.__winstonError=null}},"close")}});var require_winston_transport=__commonJS({"node_modules/winston-transport/index.js"(exports,module){"use strict";module.exports=require_modern();module.exports.LegacyTransportStream=require_legacy()}});var require_object_hash=__commonJS({"node_modules/object-hash/index.js"(exports,module){"use strict";var crypto=__require("crypto");exports=module.exports=objectHash;function objectHash(object,options){options=applyDefaults(object,options);return hash(object,options)}__name(objectHash,"objectHash");exports.sha1=function(object){return objectHash(object)};exports.keys=function(object){return objectHash(object,{excludeValues:true,algorithm:"sha1",encoding:"hex"})};exports.MD5=function(object){return objectHash(object,{algorithm:"md5",encoding:"hex"})};exports.keysMD5=function(object){return objectHash(object,{algorithm:"md5",encoding:"hex",excludeValues:true})};var hashes=crypto.getHashes?crypto.getHashes().slice():["sha1","md5"];hashes.push("passthrough");var encodings=["buffer","hex","binary","base64"];function applyDefaults(object,sourceOptions){sourceOptions=sourceOptions||{};var options={};options.algorithm=sourceOptions.algorithm||"sha1";options.encoding=sourceOptions.encoding||"hex";options.excludeValues=sourceOptions.excludeValues?true:false;options.algorithm=options.algorithm.toLowerCase();options.encoding=options.encoding.toLowerCase();options.ignoreUnknown=sourceOptions.ignoreUnknown!==true?false:true;options.respectType=sourceOptions.respectType===false?false:true;options.respectFunctionNames=sourceOptions.respectFunctionNames===false?false:true;options.respectFunctionProperties=sourceOptions.respectFunctionProperties===false?false:true;options.unorderedArrays=sourceOptions.unorderedArrays!==true?false:true;options.unorderedSets=sourceOptions.unorderedSets===false?false:true;options.unorderedObjects=sourceOptions.unorderedObjects===false?false:true;options.replacer=sourceOptions.replacer||void 0;options.excludeKeys=sourceOptions.excludeKeys||void 0;if(typeof object==="undefined"){throw new Error("Object argument required.")}for(var i=0;i<hashes.length;++i){if(hashes[i].toLowerCase()===options.algorithm.toLowerCase()){options.algorithm=hashes[i]}}if(hashes.indexOf(options.algorithm)===-1){throw new Error('Algorithm "'+options.algorithm+'" not supported. supported values: '+hashes.join(", "))}if(encodings.indexOf(options.encoding)===-1&&options.algorithm!=="passthrough"){throw new Error('Encoding "'+options.encoding+'" not supported. supported values: '+encodings.join(", "))}return options}__name(applyDefaults,"applyDefaults");function isNativeFunction(f){if(typeof f!=="function"){return false}var exp=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return exp.exec(Function.prototype.toString.call(f))!=null}__name(isNativeFunction,"isNativeFunction");function hash(object,options){var hashingStream;if(options.algorithm!=="passthrough"){hashingStream=crypto.createHash(options.algorithm)}else{hashingStream=new PassThrough}if(typeof hashingStream.write==="undefined"){hashingStream.write=hashingStream.update;hashingStream.end=hashingStream.update}var hasher=typeHasher(options,hashingStream);hasher.dispatch(object);if(!hashingStream.update){hashingStream.end("")}if(hashingStream.digest){return hashingStream.digest(options.encoding==="buffer"?void 0:options.encoding)}var buf=hashingStream.read();if(options.encoding==="buffer"){return buf}return buf.toString(options.encoding)}__name(hash,"hash");exports.writeToStream=function(object,options,stream){if(typeof stream==="undefined"){stream=options;options={}}options=applyDefaults(object,options);return typeHasher(options,stream).dispatch(object)};function typeHasher(options,writeTo,context){context=context||[];var write=__name(function(str){if(writeTo.update){return writeTo.update(str,"utf8")}else{return writeTo.write(str,"utf8")}},"write");return{dispatch:__name(function(value){if(options.replacer){value=options.replacer(value)}var type=typeof value;if(value===null){type="null"}return this["_"+type](value)},"dispatch"),_object:__name(function(object){var pattern=/\[object (.*)\]/i;var objString=Object.prototype.toString.call(object);var objType=pattern.exec(objString);if(!objType){objType="unknown:["+objString+"]"}else{objType=objType[1]}objType=objType.toLowerCase();var objectNumber=null;if((objectNumber=context.indexOf(object))>=0){return this.dispatch("[CIRCULAR:"+objectNumber+"]")}else{context.push(object)}if(typeof Buffer!=="undefined"&&Buffer.isBuffer&&Buffer.isBuffer(object)){write("buffer:");return write(object)}if(objType!=="object"&&objType!=="function"&&objType!=="asyncfunction"){if(this["_"+objType]){this["_"+objType](object)}else if(options.ignoreUnknown){return write("["+objType+"]")}else{throw new Error('Unknown object type "'+objType+'"')}}else{var keys=Object.keys(object);if(options.unorderedObjects){keys=keys.sort()}if(options.respectType!==false&&!isNativeFunction(object)){keys.splice(0,0,"prototype","__proto__","constructor")}if(options.excludeKeys){keys=keys.filter(function(key){return!options.excludeKeys(key)})}write("object:"+keys.length+":");var self2=this;return keys.forEach(function(key){self2.dispatch(key);write(":");if(!options.excludeValues){self2.dispatch(object[key])}write(",")})}},"_object"),_array:__name(function(arr,unordered){unordered=typeof unordered!=="undefined"?unordered:options.unorderedArrays!==false;var self2=this;write("array:"+arr.length+":");if(!unordered||arr.length<=1){return arr.forEach(function(entry){return self2.dispatch(entry)})}var contextAdditions=[];var entries=arr.map(function(entry){var strm=new PassThrough;var localContext=context.slice();var hasher=typeHasher(options,strm,localContext);hasher.dispatch(entry);contextAdditions=contextAdditions.concat(localContext.slice(context.length));return strm.read().toString()});context=context.concat(contextAdditions);entries.sort();return this._array(entries,false)},"_array"),_date:__name(function(date){return write("date:"+date.toJSON())},"_date"),_symbol:__name(function(sym){return write("symbol:"+sym.toString())},"_symbol"),_error:__name(function(err){return write("error:"+err.toString())},"_error"),_boolean:__name(function(bool){return write("bool:"+bool.toString())},"_boolean"),_string:__name(function(string){write("string:"+string.length+":");write(string.toString())},"_string"),_function:__name(function(fn){write("fn:");if(isNativeFunction(fn)){this.dispatch("[native]")}else{this.dispatch(fn.toString())}if(options.respectFunctionNames!==false){this.dispatch("function-name:"+String(fn.name))}if(options.respectFunctionProperties){this._object(fn)}},"_function"),_number:__name(function(number){return write("number:"+number.toString())},"_number"),_xml:__name(function(xml){return write("xml:"+xml.toString())},"_xml"),_null:__name(function(){return write("Null")},"_null"),_undefined:__name(function(){return write("Undefined")},"_undefined"),_regexp:__name(function(regex){return write("regex:"+regex.toString())},"_regexp"),_uint8array:__name(function(arr){write("uint8array:");return this.dispatch(Array.prototype.slice.call(arr))},"_uint8array"),_uint8clampedarray:__name(function(arr){write("uint8clampedarray:");return this.dispatch(Array.prototype.slice.call(arr))},"_uint8clampedarray"),_int8array:__name(function(arr){write("int8array:");return this.dispatch(Array.prototype.slice.call(arr))},"_int8array"),_uint16array:__name(function(arr){write("uint16array:");return this.dispatch(Array.prototype.slice.call(arr))},"_uint16array"),_int16array:__name(function(arr){write("int16array:");return this.dispatch(Array.prototype.slice.call(arr))},"_int16array"),_uint32array:__name(function(arr){write("uint32array:");return this.dispatch(Array.prototype.slice.call(arr))},"_uint32array"),_int32array:__name(function(arr){write("int32array:");return this.dispatch(Array.prototype.slice.call(arr))},"_int32array"),_float32array:__name(function(arr){write("float32array:");return this.dispatch(Array.prototype.slice.call(arr))},"_float32array"),_float64array:__name(function(arr){write("float64array:");return this.dispatch(Array.prototype.slice.call(arr))},"_float64array"),_arraybuffer:__name(function(arr){write("arraybuffer:");return this.dispatch(new Uint8Array(arr))},"_arraybuffer"),_url:__name(function(url){return write("url:"+url.toString(),"utf8")},"_url"),_map:__name(function(map){write("map:");var arr=Array.from(map);return this._array(arr,options.unorderedSets!==false)},"_map"),_set:__name(function(set){write("set:");var arr=Array.from(set);return this._array(arr,options.unorderedSets!==false)},"_set"),_file:__name(function(file){write("file:");return this.dispatch([file.name,file.size,file.type,file.lastModfied])},"_file"),_blob:__name(function(){if(options.ignoreUnknown){return write("[blob]")}throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},"_blob"),_domwindow:__name(function(){return write("domwindow")},"_domwindow"),_bigint:__name(function(number){return write("bigint:"+number.toString())},"_bigint"),_process:__name(function(){return write("process")},"_process"),_timer:__name(function(){return write("timer")},"_timer"),_pipe:__name(function(){return write("pipe")},"_pipe"),_tcp:__name(function(){return write("tcp")},"_tcp"),_udp:__name(function(){return write("udp")},"_udp"),_tty:__name(function(){return write("tty")},"_tty"),_statwatcher:__name(function(){return write("statwatcher")},"_statwatcher"),_securecontext:__name(function(){return write("securecontext")},"_securecontext"),_connection:__name(function(){return write("connection")},"_connection"),_zlib:__name(function(){return write("zlib")},"_zlib"),_context:__name(function(){return write("context")},"_context"),_nodescript:__name(function(){return write("nodescript")},"_nodescript"),_httpparser:__name(function(){return write("httpparser")},"_httpparser"),_dataview:__name(function(){return write("dataview")},"_dataview"),_signal:__name(function(){return write("signal")},"_signal"),_fsevent:__name(function(){return write("fsevent")},"_fsevent"),_tlswrap:__name(function(){return write("tlswrap")},"_tlswrap")}}__name(typeHasher,"typeHasher");function PassThrough(){return{buf:"",write:__name(function(b){this.buf+=b},"write"),end:__name(function(b){this.buf+=b},"end"),read:__name(function(){return this.buf},"read")}}__name(PassThrough,"PassThrough")}});var require_moment=__commonJS({"node_modules/moment/moment.js"(exports,module){(function(global2,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):global2.moment=factory()})(exports,(function(){"use strict";var hookCallback;function hooks(){return hookCallback.apply(null,arguments)}__name(hooks,"hooks");function setHookCallback(callback){hookCallback=callback}__name(setHookCallback,"setHookCallback");function isArray(input){return input instanceof Array||Object.prototype.toString.call(input)==="[object Array]"}__name(isArray,"isArray");function isObject(input){return input!=null&&Object.prototype.toString.call(input)==="[object Object]"}__name(isObject,"isObject");function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}__name(hasOwnProp,"hasOwnProp");function isObjectEmpty(obj){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(obj).length===0}else{var k;for(k in obj){if(hasOwnProp(obj,k)){return false}}return true}}__name(isObjectEmpty,"isObjectEmpty");function isUndefined(input){return input===void 0}__name(isUndefined,"isUndefined");function isNumber(input){return typeof input==="number"||Object.prototype.toString.call(input)==="[object Number]"}__name(isNumber,"isNumber");function isDate(input){return input instanceof Date||Object.prototype.toString.call(input)==="[object Date]"}__name(isDate,"isDate");function map(arr,fn){var res=[],i,arrLen=arr.length;for(i=0;i<arrLen;++i){res.push(fn(arr[i],i))}return res}__name(map,"map");function extend(a,b){for(var i in b){if(hasOwnProp(b,i)){a[i]=b[i]}}if(hasOwnProp(b,"toString")){a.toString=b.toString}if(hasOwnProp(b,"valueOf")){a.valueOf=b.valueOf}return a}__name(extend,"extend");function createUTC(input,format3,locale2,strict){return createLocalOrUTC(input,format3,locale2,strict,true).utc()}__name(createUTC,"createUTC");function defaultParsingFlags(){return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidEra:null,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],era:null,meridiem:null,rfc2822:false,weekdayMismatch:false}}__name(defaultParsingFlags,"defaultParsingFlags");function getParsingFlags(m){if(m._pf==null){m._pf=defaultParsingFlags()}return m._pf}__name(getParsingFlags,"getParsingFlags");var some;if(Array.prototype.some){some=Array.prototype.some}else{some=__name(function(fun){var t=Object(this),len=t.length>>>0,i;for(i=0;i<len;i++){if(i in t&&fun.call(this,t[i],i,t)){return true}}return false},"some")}function isValid(m){var flags=null,parsedParts=false,isNowValid=m._d&&!isNaN(m._d.getTime());if(isNowValid){flags=getParsingFlags(m);parsedParts=some.call(flags.parsedDateParts,function(i){return i!=null});isNowValid=flags.overflow<0&&!flags.empty&&!flags.invalidEra&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.weekdayMismatch&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict){isNowValid=isNowValid&&flags.charsLeftOver===0&&flags.unusedTokens.length===0&&flags.bigHour===void 0}}if(Object.isFrozen==null||!Object.isFrozen(m)){m._isValid=isNowValid}else{return isNowValid}return m._isValid}__name(isValid,"isValid");function createInvalid(flags){var m=createUTC(NaN);if(flags!=null){extend(getParsingFlags(m),flags)}else{getParsingFlags(m).userInvalidated=true}return m}__name(createInvalid,"createInvalid");var momentProperties=hooks.momentProperties=[],updateInProgress=false;function copyConfig(to2,from2){var i,prop,val,momentPropertiesLen=momentProperties.length;if(!isUndefined(from2._isAMomentObject)){to2._isAMomentObject=from2._isAMomentObject}if(!isUndefined(from2._i)){to2._i=from2._i}if(!isUndefined(from2._f)){to2._f=from2._f}if(!isUndefined(from2._l)){to2._l=from2._l}if(!isUndefined(from2._strict)){to2._strict=from2._strict}if(!isUndefined(from2._tzm)){to2._tzm=from2._tzm}if(!isUndefined(from2._isUTC)){to2._isUTC=from2._isUTC}if(!isUndefined(from2._offset)){to2._offset=from2._offset}if(!isUndefined(from2._pf)){to2._pf=getParsingFlags(from2)}if(!isUndefined(from2._locale)){to2._locale=from2._locale}if(momentPropertiesLen>0){for(i=0;i<momentPropertiesLen;i++){prop=momentProperties[i];val=from2[prop];if(!isUndefined(val)){to2[prop]=val}}}return to2}__name(copyConfig,"copyConfig");function Moment(config){copyConfig(this,config);this._d=new Date(config._d!=null?config._d.getTime():NaN);if(!this.isValid()){this._d=new Date(NaN)}if(updateInProgress===false){updateInProgress=true;hooks.updateOffset(this);updateInProgress=false}}__name(Moment,"Moment");function isMoment(obj){return obj instanceof Moment||obj!=null&&obj._isAMomentObject!=null}__name(isMoment,"isMoment");function warn(msg){if(hooks.suppressDeprecationWarnings===false&&typeof console!=="undefined"&&console.warn){console.warn("Deprecation warning: "+msg)}}__name(warn,"warn");function deprecate(msg,fn){var firstTime=true;return extend(function(){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(null,msg)}if(firstTime){var args=[],arg,i,key,argLen=arguments.length;for(i=0;i<argLen;i++){arg="";if(typeof arguments[i]==="object"){arg+="\n["+i+"] ";for(key in arguments[0]){if(hasOwnProp(arguments[0],key)){arg+=key+": "+arguments[0][key]+", "}}arg=arg.slice(0,-2)}else{arg=arguments[i]}args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+new Error().stack);firstTime=false}return fn.apply(this,arguments)},fn)}__name(deprecate,"deprecate");var deprecations={};function deprecateSimple(name,msg){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(name,msg)}if(!deprecations[name]){warn(msg);deprecations[name]=true}}__name(deprecateSimple,"deprecateSimple");hooks.suppressDeprecationWarnings=false;hooks.deprecationHandler=null;function isFunction(input){return typeof Function!=="undefined"&&input instanceof Function||Object.prototype.toString.call(input)==="[object Function]"}__name(isFunction,"isFunction");function set(config){var prop,i;for(i in config){if(hasOwnProp(config,i)){prop=config[i];if(isFunction(prop)){this[i]=prop}else{this["_"+i]=prop}}}this._config=config;this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}__name(set,"set");function mergeConfigs(parentConfig,childConfig){var res=extend({},parentConfig),prop;for(prop in childConfig){if(hasOwnProp(childConfig,prop)){if(isObject(parentConfig[prop])&&isObject(childConfig[prop])){res[prop]={};extend(res[prop],parentConfig[prop]);extend(res[prop],childConfig[prop])}else if(childConfig[prop]!=null){res[prop]=childConfig[prop]}else{delete res[prop]}}}for(prop in parentConfig){if(hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])){res[prop]=extend({},res[prop])}}return res}__name(mergeConfigs,"mergeConfigs");function Locale(config){if(config!=null){this.set(config)}}__name(Locale,"Locale");var keys;if(Object.keys){keys=Object.keys}else{keys=__name(function(obj){var i,res=[];for(i in obj){if(hasOwnProp(obj,i)){res.push(i)}}return res},"keys")}var defaultCalendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function calendar(key,mom,now2){var output=this._calendar[key]||this._calendar["sameElse"];return isFunction(output)?output.call(mom,now2):output}__name(calendar,"calendar");function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length,sign2=number>=0;return(sign2?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}__name(zeroFill,"zeroFill");var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token2,padded,ordinal2,callback){var func=callback;if(typeof callback==="string"){func=__name(function(){return this[callback]()},"func")}if(token2){formatTokenFunctions[token2]=func}if(padded){formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}}if(ordinal2){formatTokenFunctions[ordinal2]=function(){return this.localeData().ordinal(func.apply(this,arguments),token2)}}}__name(addFormatToken,"addFormatToken");function removeFormattingTokens(input){if(input.match(/\[[\s\S]/)){return input.replace(/^\[|\]$/g,"")}return input.replace(/\\/g,"")}__name(removeFormattingTokens,"removeFormattingTokens");function makeFormatFunction(format3){var array=format3.match(formattingTokens),i,length;for(i=0,length=array.length;i<length;i++){if(formatTokenFunctions[array[i]]){array[i]=formatTokenFunctions[array[i]]}else{array[i]=removeFormattingTokens(array[i])}}return function(mom){var output="",i2;for(i2=0;i2<length;i2++){output+=isFunction(array[i2])?array[i2].call(mom,format3):array[i2]}return output}}__name(makeFormatFunction,"makeFormatFunction");function formatMoment(m,format3){if(!m.isValid()){return m.localeData().invalidDate()}format3=expandFormat(format3,m.localeData());formatFunctions[format3]=formatFunctions[format3]||makeFormatFunction(format3);return formatFunctions[format3](m)}__name(formatMoment,"formatMoment");function expandFormat(format3,locale2){var i=5;function replaceLongDateFormatTokens(input){return locale2.longDateFormat(input)||input}__name(replaceLongDateFormatTokens,"replaceLongDateFormatTokens");localFormattingTokens.lastIndex=0;while(i>=0&&localFormattingTokens.test(format3)){format3=format3.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1}return format3}__name(expandFormat,"expandFormat");var defaultLongDateFormat={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"};function longDateFormat(key){var format3=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];if(format3||!formatUpper){return format3}this._longDateFormat[key]=formatUpper.match(formattingTokens).map(function(tok){if(tok==="MMMM"||tok==="MM"||tok==="DD"||tok==="dddd"){return tok.slice(1)}return tok}).join("");return this._longDateFormat[key]}__name(longDateFormat,"longDateFormat");var defaultInvalidDate="Invalid date";function invalidDate(){return this._invalidDate}__name(invalidDate,"invalidDate");var defaultOrdinal="%d",defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(number){return this._ordinal.replace("%d",number)}__name(ordinal,"ordinal");var defaultRelativeTime={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)}__name(relativeTime,"relativeTime");function pastFuture(diff2,output){var format3=this._relativeTime[diff2>0?"future":"past"];return isFunction(format3)?format3(output):format3.replace(/%s/i,output)}__name(pastFuture,"pastFuture");var aliases={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function normalizeUnits(units){return typeof units==="string"?aliases[units]||aliases[units.toLowerCase()]:void 0}__name(normalizeUnits,"normalizeUnits");function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp,prop;for(prop in inputObject){if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp){normalizedInput[normalizedProp]=inputObject[prop]}}}return normalizedInput}__name(normalizeObjectUnits,"normalizeObjectUnits");var priorities={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function getPrioritizedUnits(unitsObj){var units=[],u;for(u in unitsObj){if(hasOwnProp(unitsObj,u)){units.push({unit:u,priority:priorities[u]})}}units.sort(function(a,b){return a.priority-b.priority});return units}__name(getPrioritizedUnits,"getPrioritizedUnits");var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,match1to2NoLeadingZero=/^[1-9]\d?/,match1to2HasZero=/^([1-9]\d|\d)/,regexes;regexes={};function addRegexToken(token2,regex,strictRegex){regexes[token2]=isFunction(regex)?regex:function(isStrict,localeData2){return isStrict&&strictRegex?strictRegex:regex}}__name(addRegexToken,"addRegexToken");function getParseRegexForToken(token2,config){if(!hasOwnProp(regexes,token2)){return new RegExp(unescapeFormat(token2))}return regexes[token2](config._strict,config._locale)}__name(getParseRegexForToken,"getParseRegexForToken");function unescapeFormat(s){return regexEscape(s.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))}__name(unescapeFormat,"unescapeFormat");function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}__name(regexEscape,"regexEscape");function absFloor(number){if(number<0){return Math.ceil(number)||0}else{return Math.floor(number)}}__name(absFloor,"absFloor");function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;if(coercedNumber!==0&&isFinite(coercedNumber)){value=absFloor(coercedNumber)}return value}__name(toInt,"toInt");var tokens={};function addParseToken(token2,callback){var i,func=callback,tokenLen;if(typeof token2==="string"){token2=[token2]}if(isNumber(callback)){func=__name(function(input,array){array[callback]=toInt(input)},"func")}tokenLen=token2.length;for(i=0;i<tokenLen;i++){tokens[token2[i]]=func}}__name(addParseToken,"addParseToken");function addWeekParseToken(token2,callback){addParseToken(token2,function(input,array,config,token3){config._w=config._w||{};callback(input,config._w,config,token3)})}__name(addWeekParseToken,"addWeekParseToken");function addTimeToArrayFromToken(token2,input,config){if(input!=null&&hasOwnProp(tokens,token2)){tokens[token2](input,config._a,config,token2)}}__name(addTimeToArrayFromToken,"addTimeToArrayFromToken");function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}__name(isLeapYear,"isLeapYear");var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;addFormatToken("Y",0,0,function(){var y=this.year();return y<=9999?zeroFill(y,4):"+"+y});addFormatToken(0,["YY",2],0,function(){return this.year()%100});addFormatToken(0,["YYYY",4],0,"year");addFormatToken(0,["YYYYY",5],0,"year");addFormatToken(0,["YYYYYY",6,true],0,"year");addRegexToken("Y",matchSigned);addRegexToken("YY",match1to2,match2);addRegexToken("YYYY",match1to4,match4);addRegexToken("YYYYY",match1to6,match6);addRegexToken("YYYYYY",match1to6,match6);addParseToken(["YYYYY","YYYYYY"],YEAR);addParseToken("YYYY",function(input,array){array[YEAR]=input.length===2?hooks.parseTwoDigitYear(input):toInt(input)});addParseToken("YY",function(input,array){array[YEAR]=hooks.parseTwoDigitYear(input)});addParseToken("Y",function(input,array){array[YEAR]=parseInt(input,10)});function daysInYear(year){return isLeapYear(year)?366:365}__name(daysInYear,"daysInYear");hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",true);function getIsLeapYear(){return isLeapYear(this.year())}__name(getIsLeapYear,"getIsLeapYear");function makeGetSet(unit,keepTime){return function(value){if(value!=null){set$1(this,unit,value);hooks.updateOffset(this,keepTime);return this}else{return get(this,unit)}}}__name(makeGetSet,"makeGetSet");function get(mom,unit){if(!mom.isValid()){return NaN}var d=mom._d,isUTC=mom._isUTC;switch(unit){case"Milliseconds":return isUTC?d.getUTCMilliseconds():d.getMilliseconds();case"Seconds":return isUTC?d.getUTCSeconds():d.getSeconds();case"Minutes":return isUTC?d.getUTCMinutes():d.getMinutes();case"Hours":return isUTC?d.getUTCHours():d.getHours();case"Date":return isUTC?d.getUTCDate():d.getDate();case"Day":return isUTC?d.getUTCDay():d.getDay();case"Month":return isUTC?d.getUTCMonth():d.getMonth();case"FullYear":return isUTC?d.getUTCFullYear():d.getFullYear();default:return NaN}}__name(get,"get");function set$1(mom,unit,value){var d,isUTC,year,month,date;if(!mom.isValid()||isNaN(value)){return}d=mom._d;isUTC=mom._isUTC;switch(unit){case"Milliseconds":return void(isUTC?d.setUTCMilliseconds(value):d.setMilliseconds(value));case"Seconds":return void(isUTC?d.setUTCSeconds(value):d.setSeconds(value));case"Minutes":return void(isUTC?d.setUTCMinutes(value):d.setMinutes(value));case"Hours":return void(isUTC?d.setUTCHours(value):d.setHours(value));case"Date":return void(isUTC?d.setUTCDate(value):d.setDate(value));case"FullYear":break;default:return}year=value;month=mom.month();date=mom.date();date=date===29&&month===1&&!isLeapYear(year)?28:date;void(isUTC?d.setUTCFullYear(year,month,date):d.setFullYear(year,month,date))}__name(set$1,"set$1");function stringGet(units){units=normalizeUnits(units);if(isFunction(this[units])){return this[units]()}return this}__name(stringGet,"stringGet");function stringSet(units,value){if(typeof units==="object"){units=normalizeObjectUnits(units);var prioritized=getPrioritizedUnits(units),i,prioritizedLen=prioritized.length;for(i=0;i<prioritizedLen;i++){this[prioritized[i].unit](units[prioritized[i].unit])}}else{units=normalizeUnits(units);if(isFunction(this[units])){return this[units](value)}}return this}__name(stringSet,"stringSet");function mod(n,x){return(n%x+x)%x}__name(mod,"mod");var indexOf;if(Array.prototype.indexOf){indexOf=Array.prototype.indexOf}else{indexOf=__name(function(o){var i;for(i=0;i<this.length;++i){if(this[i]===o){return i}}return-1},"indexOf")}function daysInMonth(year,month){if(isNaN(year)||isNaN(month)){return NaN}var modMonth=mod(month,12);year+=(month-modMonth)/12;return modMonth===1?isLeapYear(year)?29:28:31-modMonth%7%2}__name(daysInMonth,"daysInMonth");addFormatToken("M",["MM",2],"Mo",function(){return this.month()+1});addFormatToken("MMM",0,0,function(format3){return this.localeData().monthsShort(this,format3)});addFormatToken("MMMM",0,0,function(format3){return this.localeData().months(this,format3)});addRegexToken("M",match1to2,match1to2NoLeadingZero);addRegexToken("MM",match1to2,match2);addRegexToken("MMM",function(isStrict,locale2){return locale2.monthsShortRegex(isStrict)});addRegexToken("MMMM",function(isStrict,locale2){return locale2.monthsRegex(isStrict)});addParseToken(["M","MM"],function(input,array){array[MONTH]=toInt(input)-1});addParseToken(["MMM","MMMM"],function(input,array,config,token2){var month=config._locale.monthsParse(input,token2,config._strict);if(month!=null){array[MONTH]=month}else{getParsingFlags(config).invalidMonth=input}});var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function localeMonths(m,format3){if(!m){return isArray(this._months)?this._months:this._months["standalone"]}return isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format3)?"format":"standalone"][m.month()]}__name(localeMonths,"localeMonths");function localeMonthsShort(m,format3){if(!m){return isArray(this._monthsShort)?this._monthsShort:this._monthsShort["standalone"]}return isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format3)?"format":"standalone"][m.month()]}__name(localeMonthsShort,"localeMonthsShort");function handleStrictParse(monthName,format3,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[];for(i=0;i<12;++i){mom=createUTC([2e3,i]);this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase();this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase()}}if(strict){if(format3==="MMM"){ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null}}else{if(format3==="MMM"){ii=indexOf.call(this._shortMonthsParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._longMonthsParse,llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._longMonthsParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._shortMonthsParse,llc);return ii!==-1?ii:null}}}__name(handleStrictParse,"handleStrictParse");function localeMonthsParse(monthName,format3,strict){var i,mom,regex;if(this._monthsParseExact){return handleStrictParse.call(this,monthName,format3,strict)}if(!this._monthsParse){this._monthsParse=[];this._longMonthsParse=[];this._shortMonthsParse=[]}for(i=0;i<12;i++){mom=createUTC([2e3,i]);if(strict&&!this._longMonthsParse[i]){this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i");this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")}if(!strict&&!this._monthsParse[i]){regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,"");this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")}if(strict&&format3==="MMMM"&&this._longMonthsParse[i].test(monthName)){return i}else if(strict&&format3==="MMM"&&this._shortMonthsParse[i].test(monthName)){return i}else if(!strict&&this._monthsParse[i].test(monthName)){return i}}}__name(localeMonthsParse,"localeMonthsParse");function setMonth(mom,value){if(!mom.isValid()){return mom}if(typeof value==="string"){if(/^\d+$/.test(value)){value=toInt(value)}else{value=mom.localeData().monthsParse(value);if(!isNumber(value)){return mom}}}var month=value,date=mom.date();date=date<29?date:Math.min(date,daysInMonth(mom.year(),month));void(mom._isUTC?mom._d.setUTCMonth(month,date):mom._d.setMonth(month,date));return mom}__name(setMonth,"setMonth");function getSetMonth(value){if(value!=null){setMonth(this,value);hooks.updateOffset(this,true);return this}else{return get(this,"Month")}}__name(getSetMonth,"getSetMonth");function getDaysInMonth(){return daysInMonth(this.year(),this.month())}__name(getDaysInMonth,"getDaysInMonth");function monthsShortRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,"_monthsRegex")){computeMonthsParse.call(this)}if(isStrict){return this._monthsShortStrictRegex}else{return this._monthsShortRegex}}else{if(!hasOwnProp(this,"_monthsShortRegex")){this._monthsShortRegex=defaultMonthsShortRegex}return this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex}}__name(monthsShortRegex,"monthsShortRegex");function monthsRegex(isStrict){if(this._monthsParseExact){if(!hasOwnProp(this,"_monthsRegex")){computeMonthsParse.call(this)}if(isStrict){return this._monthsStrictRegex}else{return this._monthsRegex}}else{if(!hasOwnProp(this,"_monthsRegex")){this._monthsRegex=defaultMonthsRegex}return this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex}}__name(monthsRegex,"monthsRegex");function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}__name(cmpLenRev,"cmpLenRev");var shortPieces=[],longPieces=[],mixedPieces=[],i,mom,shortP,longP;for(i=0;i<12;i++){mom=createUTC([2e3,i]);shortP=regexEscape(this.monthsShort(mom,""));longP=regexEscape(this.months(mom,""));shortPieces.push(shortP);longPieces.push(longP);mixedPieces.push(longP);mixedPieces.push(shortP)}shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i");this._monthsShortRegex=this._monthsRegex;this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i");this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}__name(computeMonthsParse,"computeMonthsParse");function createDate(y,m,d,h,M,s,ms){var date;if(y<100&&y>=0){date=new Date(y+400,m,d,h,M,s,ms);if(isFinite(date.getFullYear())){date.setFullYear(y)}}else{date=new Date(y,m,d,h,M,s,ms)}return date}__name(createDate,"createDate");function createUTCDate(y){var date,args;if(y<100&&y>=0){args=Array.prototype.slice.call(arguments);args[0]=y+400;date=new Date(Date.UTC.apply(null,args));if(isFinite(date.getUTCFullYear())){date.setUTCFullYear(y)}}else{date=new Date(Date.UTC.apply(null,arguments))}return date}__name(createUTCDate,"createUTCDate");function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy,fwdlw=(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7;return-fwdlw+fwd-1}__name(firstWeekOffset,"firstWeekOffset");function dayOfYearFromWeeks(year,week,weekday,dow,doy){var localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset,resYear,resDayOfYear;if(dayOfYear<=0){resYear=year-1;resDayOfYear=daysInYear(resYear)+dayOfYear}else if(dayOfYear>daysInYear(year)){resYear=year+1;resDayOfYear=dayOfYear-daysInYear(year)}else{resYear=year;resDayOfYear=dayOfYear}return{year:resYear,dayOfYear:resDayOfYear}}__name(dayOfYearFromWeeks,"dayOfYearFromWeeks");function weekOfYear(mom,dow,doy){var weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1,resWeek,resYear;if(week<1){resYear=mom.year()-1;resWeek=week+weeksInYear(resYear,dow,doy)}else if(week>weeksInYear(mom.year(),dow,doy)){resWeek=week-weeksInYear(mom.year(),dow,doy);resYear=mom.year()+1}else{resYear=mom.year();resWeek=week}return{week:resWeek,year:resYear}}__name(weekOfYear,"weekOfYear");function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}__name(weeksInYear,"weeksInYear");addFormatToken("w",["ww",2],"wo","week");addFormatToken("W",["WW",2],"Wo","isoWeek");addRegexToken("w",match1to2,match1to2NoLeadingZero);addRegexToken("ww",match1to2,match2);addRegexToken("W",match1to2,match1to2NoLeadingZero);addRegexToken("WW",match1to2,match2);addWeekParseToken(["w","ww","W","WW"],function(input,week,config,token2){week[token2.substr(0,1)]=toInt(input)});function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}__name(localeWeek,"localeWeek");var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}__name(localeFirstDayOfWeek,"localeFirstDayOfWeek");function localeFirstDayOfYear(){return this._week.doy}__name(localeFirstDayOfYear,"localeFirstDayOfYear");function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,"d")}__name(getSetWeek,"getSetWeek");function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return input==null?week:this.add((input-week)*7,"d")}__name(getSetISOWeek,"getSetISOWeek");addFormatToken("d",0,"do","day");addFormatToken("dd",0,0,function(format3){return this.localeData().weekdaysMin(this,format3)});addFormatToken("ddd",0,0,function(format3){return this.localeData().weekdaysShort(this,format3)});addFormatToken("dddd",0,0,function(format3){return this.localeData().weekdays(this,format3)});addFormatToken("e",0,0,"weekday");addFormatToken("E",0,0,"isoWeekday");addRegexToken("d",match1to2);addRegexToken("e",match1to2);addRegexToken("E",match1to2);addRegexToken("dd",function(isStrict,locale2){return locale2.weekdaysMinRegex(isStrict)});addRegexToken("ddd",function(isStrict,locale2){return locale2.weekdaysShortRegex(isStrict)});addRegexToken("dddd",function(isStrict,locale2){return locale2.weekdaysRegex(isStrict)});addWeekParseToken(["dd","ddd","dddd"],function(input,week,config,token2){var weekday=config._locale.weekdaysParse(input,token2,config._strict);if(weekday!=null){week.d=weekday}else{getParsingFlags(config).invalidWeekday=input}});addWeekParseToken(["d","e","E"],function(input,week,config,token2){week[token2]=toInt(input)});function parseWeekday(input,locale2){if(typeof input!=="string"){return input}if(!isNaN(input)){return parseInt(input,10)}input=locale2.weekdaysParse(input);if(typeof input==="number"){return input}return null}__name(parseWeekday,"parseWeekday");function parseIsoWeekday(input,locale2){if(typeof input==="string"){return locale2.weekdaysParse(input)%7||7}return isNaN(input)?null:input}__name(parseIsoWeekday,"parseIsoWeekday");function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}__name(shiftWeekdays,"shiftWeekdays");var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function localeWeekdays(m,format3){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&m!==true&&this._weekdays.isFormat.test(format3)?"format":"standalone"];return m===true?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays}__name(localeWeekdays,"localeWeekdays");function localeWeekdaysShort(m){return m===true?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort}__name(localeWeekdaysShort,"localeWeekdaysShort");function localeWeekdaysMin(m){return m===true?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin}__name(localeWeekdaysMin,"localeWeekdaysMin");function handleStrictParse$1(weekdayName,format3,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(i=0;i<7;++i){mom=createUTC([2e3,1]).day(i);this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase();this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase();this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase()}}if(strict){if(format3==="dddd"){ii=indexOf.call(this._weekdaysParse,llc);return ii!==-1?ii:null}else if(format3==="ddd"){ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null}}else{if(format3==="dddd"){ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null}else if(format3==="ddd"){ii=indexOf.call(this._shortWeekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._minWeekdaysParse,llc);return ii!==-1?ii:null}else{ii=indexOf.call(this._minWeekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._weekdaysParse,llc);if(ii!==-1){return ii}ii=indexOf.call(this._shortWeekdaysParse,llc);return ii!==-1?ii:null}}}__name(handleStrictParse$1,"handleStrictParse$1");function localeWeekdaysParse(weekdayName,format3,strict){var i,mom,regex;if(this._weekdaysParseExact){return handleStrictParse$1.call(this,weekdayName,format3,strict)}if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(i=0;i<7;i++){mom=createUTC([2e3,1]).day(i);if(strict&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i");this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i");this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")}if(!this._weekdaysParse[i]){regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,"");this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")}if(strict&&format3==="dddd"&&this._fullWeekdaysParse[i].test(weekdayName)){return i}else if(strict&&format3==="ddd"&&this._shortWeekdaysParse[i].test(weekdayName)){return i}else if(strict&&format3==="dd"&&this._minWeekdaysParse[i].test(weekdayName)){return i}else if(!strict&&this._weekdaysParse[i].test(weekdayName)){return i}}}__name(localeWeekdaysParse,"localeWeekdaysParse");function getSetDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}var day=get(this,"Day");if(input!=null){input=parseWeekday(input,this.localeData());return this.add(input-day,"d")}else{return day}}__name(getSetDayOfWeek,"getSetDayOfWeek");function getSetLocaleDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,"d")}__name(getSetLocaleDayOfWeek,"getSetLocaleDayOfWeek");function getSetISODayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}if(input!=null){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}else{return this.day()||7}}__name(getSetISODayOfWeek,"getSetISODayOfWeek");function weekdaysRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(isStrict){return this._weekdaysStrictRegex}else{return this._weekdaysRegex}}else{if(!hasOwnProp(this,"_weekdaysRegex")){this._weekdaysRegex=defaultWeekdaysRegex}return this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex}}__name(weekdaysRegex,"weekdaysRegex");function weekdaysShortRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(isStrict){return this._weekdaysShortStrictRegex}else{return this._weekdaysShortRegex}}else{if(!hasOwnProp(this,"_weekdaysShortRegex")){this._weekdaysShortRegex=defaultWeekdaysShortRegex}return this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}}__name(weekdaysShortRegex,"weekdaysShortRegex");function weekdaysMinRegex(isStrict){if(this._weekdaysParseExact){if(!hasOwnProp(this,"_weekdaysRegex")){computeWeekdaysParse.call(this)}if(isStrict){return this._weekdaysMinStrictRegex}else{return this._weekdaysMinRegex}}else{if(!hasOwnProp(this,"_weekdaysMinRegex")){this._weekdaysMinRegex=defaultWeekdaysMinRegex}return this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}}__name(weekdaysMinRegex,"weekdaysMinRegex");function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}__name(cmpLenRev,"cmpLenRev");var minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[],i,mom,minp,shortp,longp;for(i=0;i<7;i++){mom=createUTC([2e3,1]).day(i);minp=regexEscape(this.weekdaysMin(mom,""));shortp=regexEscape(this.weekdaysShort(mom,""));longp=regexEscape(this.weekdays(mom,""));minPieces.push(minp);shortPieces.push(shortp);longPieces.push(longp);mixedPieces.push(minp);mixedPieces.push(shortp);mixedPieces.push(longp)}minPieces.sort(cmpLenRev);shortPieces.sort(cmpLenRev);longPieces.sort(cmpLenRev);mixedPieces.sort(cmpLenRev);this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i");this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i");this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i");this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}__name(computeWeekdaysParse,"computeWeekdaysParse");function hFormat(){return this.hours()%12||12}__name(hFormat,"hFormat");function kFormat(){return this.hours()||24}__name(kFormat,"kFormat");addFormatToken("H",["HH",2],0,"hour");addFormatToken("h",["hh",2],0,hFormat);addFormatToken("k",["kk",2],0,kFormat);addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)});addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)});addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});function meridiem(token2,lowercase){addFormatToken(token2,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)})}__name(meridiem,"meridiem");meridiem("a",true);meridiem("A",false);function matchMeridiem(isStrict,locale2){return locale2._meridiemParse}__name(matchMeridiem,"matchMeridiem");addRegexToken("a",matchMeridiem);addRegexToken("A",matchMeridiem);addRegexToken("H",match1to2,match1to2HasZero);addRegexToken("h",match1to2,match1to2NoLeadingZero);addRegexToken("k",match1to2,match1to2NoLeadingZero);addRegexToken("HH",match1to2,match2);addRegexToken("hh",match1to2,match2);addRegexToken("kk",match1to2,match2);addRegexToken("hmm",match3to4);addRegexToken("hmmss",match5to6);addRegexToken("Hmm",match3to4);addRegexToken("Hmmss",match5to6);addParseToken(["H","HH"],HOUR);addParseToken(["k","kk"],function(input,array,config){var kInput=toInt(input);array[HOUR]=kInput===24?0:kInput});addParseToken(["a","A"],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input});addParseToken(["h","hh"],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true});addParseToken("hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));getParsingFlags(config).bigHour=true});addParseToken("hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));getParsingFlags(config).bigHour=true});addParseToken("Hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos))});addParseToken("Hmmss",function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2))});function localeIsPM(input){return(input+"").toLowerCase().charAt(0)==="p"}__name(localeIsPM,"localeIsPM");var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet("Hours",true);function localeMeridiem(hours2,minutes2,isLower){if(hours2>11){return isLower?"pm":"PM"}else{return isLower?"am":"AM"}}__name(localeMeridiem,"localeMeridiem");var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse};var locales={},localeFamilies={},globalLocale;function commonPrefix(arr1,arr2){var i,minl=Math.min(arr1.length,arr2.length);for(i=0;i<minl;i+=1){if(arr1[i]!==arr2[i]){return i}}return minl}__name(commonPrefix,"commonPrefix");function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}__name(normalizeLocale,"normalizeLocale");function chooseLocale(names){var i=0,j,next,locale2,split;while(i<names.length){split=normalizeLocale(names[i]).split("-");j=split.length;next=normalizeLocale(names[i+1]);next=next?next.split("-"):null;while(j>0){locale2=loadLocale(split.slice(0,j).join("-"));if(locale2){return locale2}if(next&&next.length>=j&&commonPrefix(split,next)>=j-1){break}j--}i++}return globalLocale}__name(chooseLocale,"chooseLocale");function isLocaleNameSane(name){return!!(name&&name.match("^[^/\\\\]*$"))}__name(isLocaleNameSane,"isLocaleNameSane");function loadLocale(name){var oldLocale=null,aliasedRequire;if(locales[name]===void 0&&typeof module!=="undefined"&&module&&module.exports&&isLocaleNameSane(name)){try{oldLocale=globalLocale._abbr;aliasedRequire=__require;aliasedRequire("./locale/"+name);getSetGlobalLocale(oldLocale)}catch(e){locales[name]=null}}return locales[name]}__name(loadLocale,"loadLocale");function getSetGlobalLocale(key,values){var data;if(key){if(isUndefined(values)){data=getLocale(key)}else{data=defineLocale(key,values)}if(data){globalLocale=data}else{if(typeof console!=="undefined"&&console.warn){console.warn("Locale "+key+" not found. Did you forget to load it?")}}}return globalLocale._abbr}__name(getSetGlobalLocale,"getSetGlobalLocale");function defineLocale(name,config){if(config!==null){var locale2,parentConfig=baseConfig;config.abbr=name;if(locales[name]!=null){deprecateSimple("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.");parentConfig=locales[name]._config}else if(config.parentLocale!=null){if(locales[config.parentLocale]!=null){parentConfig=locales[config.parentLocale]._config}else{locale2=loadLocale(config.parentLocale);if(locale2!=null){parentConfig=locale2._config}else{if(!localeFamilies[config.parentLocale]){localeFamilies[config.parentLocale]=[]}localeFamilies[config.parentLocale].push({name,config});return null}}}locales[name]=new Locale(mergeConfigs(parentConfig,config));if(localeFamilies[name]){localeFamilies[name].forEach(function(x){defineLocale(x.name,x.config)})}getSetGlobalLocale(name);return locales[name]}else{delete locales[name];return null}}__name(defineLocale,"defineLocale");function updateLocale(name,config){if(config!=null){var locale2,tmpLocale,parentConfig=baseConfig;if(locales[name]!=null&&locales[name].parentLocale!=null){locales[name].set(mergeConfigs(locales[name]._config,config))}else{tmpLocale=loadLocale(name);if(tmpLocale!=null){parentConfig=tmpLocale._config}config=mergeConfigs(parentConfig,config);if(tmpLocale==null){config.abbr=name}locale2=new Locale(config);locale2.parentLocale=locales[name];locales[name]=locale2}getSetGlobalLocale(name)}else{if(locales[name]!=null){if(locales[name].parentLocale!=null){locales[name]=locales[name].parentLocale;if(name===getSetGlobalLocale()){getSetGlobalLocale(name)}}else if(locales[name]!=null){delete locales[name]}}}return locales[name]}__name(updateLocale,"updateLocale");function getLocale(key){var locale2;if(key&&key._locale&&key._locale._abbr){key=key._locale._abbr}if(!key){return globalLocale}if(!isArray(key)){locale2=loadLocale(key);if(locale2){return locale2}key=[key]}return chooseLocale(key)}__name(getLocale,"getLocale");function listLocales(){return keys(locales)}__name(listLocales,"listLocales");function checkOverflow(m){var overflow,a=m._a;if(a&&getParsingFlags(m).overflow===-2){overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||a[HOUR]===24&&(a[MINUTE]!==0||a[SECOND]!==0||a[MILLISECOND]!==0)?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(getParsingFlags(m)._overflowDayOfYear&&(overflow<YEAR||overflow>DATE)){overflow=DATE}if(getParsingFlags(m)._overflowWeeks&&overflow===-1){overflow=WEEK}if(getParsingFlags(m)._overflowWeekday&&overflow===-1){overflow=WEEKDAY}getParsingFlags(m).overflow=overflow}return m}__name(checkOverflow,"checkOverflow");var extendedIsoRegex=/^\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)?)?$/,basicIsoRegex=/^\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)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["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/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,false],["YYYY",/\d{4}/,false]],isoTimes=[["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/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function configFromISO(config){var i,l,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),allowTime,dateFormat,timeFormat,tzFormat,isoDatesLen=isoDates.length,isoTimesLen=isoTimes.length;if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDatesLen;i<l;i++){if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0];allowTime=isoDates[i][2]!==false;break}}if(dateFormat==null){config._isValid=false;return}if(match[3]){for(i=0,l=isoTimesLen;i<l;i++){if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||" ")+isoTimes[i][0];break}}if(timeFormat==null){config._isValid=false;return}}if(!allowTime&&timeFormat!=null){config._isValid=false;return}if(match[4]){if(tzRegex.exec(match[4])){tzFormat="Z"}else{config._isValid=false;return}}config._f=dateFormat+(timeFormat||"")+(tzFormat||"");configFromStringAndFormat(config)}else{config._isValid=false}}__name(configFromISO,"configFromISO");function extractFromRFC2822Strings(yearStr,monthStr,dayStr,hourStr,minuteStr,secondStr){var result=[untruncateYear(yearStr),defaultLocaleMonthsShort.indexOf(monthStr),parseInt(dayStr,10),parseInt(hourStr,10),parseInt(minuteStr,10)];if(secondStr){result.push(parseInt(secondStr,10))}return result}__name(extractFromRFC2822Strings,"extractFromRFC2822Strings");function untruncateYear(yearStr){var year=parseInt(yearStr,10);if(year<=49){return 2e3+year}else if(year<=999){return 1900+year}return year}__name(untruncateYear,"untruncateYear");function preprocessRFC2822(s){return s.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}__name(preprocessRFC2822,"preprocessRFC2822");function checkWeekday(weekdayStr,parsedInput,config){if(weekdayStr){var weekdayProvided=defaultLocaleWeekdaysShort.indexOf(weekdayStr),weekdayActual=new Date(parsedInput[0],parsedInput[1],parsedInput[2]).getDay();if(weekdayProvided!==weekdayActual){getParsingFlags(config).weekdayMismatch=true;config._isValid=false;return false}}return true}__name(checkWeekday,"checkWeekday");function calculateOffset(obsOffset,militaryOffset,numOffset){if(obsOffset){return obsOffsets[obsOffset]}else if(militaryOffset){return 0}else{var hm=parseInt(numOffset,10),m=hm%100,h=(hm-m)/100;return h*60+m}}__name(calculateOffset,"calculateOffset");function configFromRFC2822(config){var match=rfc2822.exec(preprocessRFC2822(config._i)),parsedArray;if(match){parsedArray=extractFromRFC2822Strings(match[4],match[3],match[2],match[5],match[6],match[7]);if(!checkWeekday(match[1],parsedArray,config)){return}config._a=parsedArray;config._tzm=calculateOffset(match[8],match[9],match[10]);config._d=createUTCDate.apply(null,config._a);config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm);getParsingFlags(config).rfc2822=true}else{config._isValid=false}}__name(configFromRFC2822,"configFromRFC2822");function configFromString(config){var matched=aspNetJsonRegex.exec(config._i);if(matched!==null){config._d=new Date(+matched[1]);return}configFromISO(config);if(config._isValid===false){delete config._isValid}else{return}configFromRFC2822(config);if(config._isValid===false){delete config._isValid}else{return}if(config._strict){config._isValid=false}else{hooks.createFromInputFallback(config)}}__name(configFromString,"configFromString");hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))});function defaults(a,b,c){if(a!=null){return a}if(b!=null){return b}return c}__name(defaults,"defaults");function currentDateArray(config){var nowValue=new Date(hooks.now());if(config._useUTC){return[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]}return[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}__name(currentDateArray,"currentDateArray");function configFromArray(config){var i,date,input=[],currentDate,expectedWeekday,yearToUse;if(config._d){return}currentDate=currentDateArray(config);if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){dayOfYearFromWeekInfo(config)}if(config._dayOfYear!=null){yearToUse=defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)||config._dayOfYear===0){getParsingFlags(config)._overflowDayOfYear=true}date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate()}for(i=0;i<3&&config._a[i]==null;++i){config._a[i]=input[i]=currentDate[i]}for(;i<7;i++){config._a[i]=input[i]=config._a[i]==null?i===2?1:0:config._a[i]}if(config._a[HOUR]===24&&config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]===0){config._nextDay=true;config._a[HOUR]=0}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay();if(config._tzm!=null){config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm)}if(config._nextDay){config._a[HOUR]=24}if(config._w&&typeof config._w.d!=="undefined"&&config._w.d!==expectedWeekday){getParsingFlags(config).weekdayMismatch=true}}__name(configFromArray,"configFromArray");function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow,curWeek;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1);if(weekday<1||weekday>7){weekdayOverflow=true}}else{dow=config._locale._week.dow;doy=config._locale._week.doy;curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year);week=defaults(w.w,curWeek.week);if(w.d!=null){weekday=w.d;if(weekday<0||weekday>6){weekdayOverflow=true}}else if(w.e!=null){weekday=w.e+dow;if(w.e<0||w.e>6){weekdayOverflow=true}}else{weekday=dow}}if(week<1||week>weeksInYear(weekYear,dow,doy)){getParsingFlags(config)._overflowWeeks=true}else if(weekdayOverflow!=null){getParsingFlags(config)._overflowWeekday=true}else{temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear}}__name(dayOfYearFromWeekInfo,"dayOfYearFromWeekInfo");hooks.ISO_8601=function(){};hooks.RFC_2822=function(){};function configFromStringAndFormat(config){if(config._f===hooks.ISO_8601){configFromISO(config);return}if(config._f===hooks.RFC_2822){configFromRFC2822(config);return}config._a=[];getParsingFlags(config).empty=true;var string=""+config._i,i,parsedInput,tokens2,token2,skipped,stringLength=string.length,totalParsedInputLength=0,era,tokenLen;tokens2=expandFormat(config._f,config._locale).match(formattingTokens)||[];tokenLen=tokens2.length;for(i=0;i<tokenLen;i++){token2=tokens2[i];parsedInput=(string.match(getParseRegexForToken(token2,config))||[])[0];if(parsedInput){skipped=string.substr(0,string.indexOf(parsedInput));if(skipped.length>0){getParsingFlags(config).unusedInput.push(skipped)}string=string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length}if(formatTokenFunctions[token2]){if(parsedInput){getParsingFlags(config).empty=false}else{getParsingFlags(config).unusedTokens.push(token2)}addTimeToArrayFromToken(token2,parsedInput,config)}else if(config._strict&&!parsedInput){getParsingFlags(config).unusedTokens.push(token2)}}getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0){getParsingFlags(config).unusedInput.push(string)}if(config._a[HOUR]<=12&&getParsingFlags(config).bigHour===true&&config._a[HOUR]>0){getParsingFlags(config).bigHour=void 0}getParsingFlags(config).parsedDateParts=config._a.slice(0);getParsingFlags(config).meridiem=config._meridiem;config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);era=getParsingFlags(config).era;if(era!==null){config._a[YEAR]=config._locale.erasConvertYear(era,config._a[YEAR])}configFromArray(config);checkOverflow(config)}__name(configFromStringAndFormat,"configFromStringAndFormat");function meridiemFixWrap(locale2,hour,meridiem2){var isPm;if(meridiem2==null){return hour}if(locale2.meridiemHour!=null){return locale2.meridiemHour(hour,meridiem2)}else if(locale2.isPM!=null){isPm=locale2.isPM(meridiem2);if(isPm&&hour<12){hour+=12}if(!isPm&&hour===12){hour=0}return hour}else{return hour}}__name(meridiemFixWrap,"meridiemFixWrap");function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore,validFormatFound,bestFormatIsValid=false,configfLen=config._f.length;if(configfLen===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return}for(i=0;i<configfLen;i++){currentScore=0;validFormatFound=false;tempConfig=copyConfig({},config);if(config._useUTC!=null){tempConfig._useUTC=config._useUTC}tempConfig._f=config._f[i];configFromStringAndFormat(tempConfig);if(isValid(tempConfig)){validFormatFound=true}currentScore+=getParsingFlags(tempConfig).charsLeftOver;currentScore+=getParsingFlags(tempConfig).unusedTokens.length*10;getParsingFlags(tempConfig).score=currentScore;if(!bestFormatIsValid){if(scoreToBeat==null||currentScore<scoreToBeat||validFormatFound){scoreToBeat=currentScore;bestMoment=tempConfig;if(validFormatFound){bestFormatIsValid=true}}}else{if(currentScore<scoreToBeat){scoreToBeat=currentScore;bestMoment=tempConfig}}}extend(config,bestMoment||tempConfig)}__name(configFromStringAndArray,"configFromStringAndArray");function configFromObject(config){if(config._d){return}var i=normalizeObjectUnits(config._i),dayOrDate=i.day===void 0?i.date:i.day;config._a=map([i.year,i.month,dayOrDate,i.hour,i.minute,i.second,i.millisecond],function(obj){return obj&&parseInt(obj,10)});configFromArray(config)}__name(configFromObject,"configFromObject");function createFromConfig(config){var res=new Moment(checkOverflow(prepareConfig(config)));if(res._nextDay){res.add(1,"d");res._nextDay=void 0}return res}__name(createFromConfig,"createFromConfig");function prepareConfig(config){var input=config._i,format3=config._f;config._locale=config._locale||getLocale(config._l);if(input===null||format3===void 0&&input===""){return createInvalid({nullInput:true})}if(typeof input==="string"){config._i=input=config._locale.preparse(input)}if(isMoment(input)){return new Moment(checkOverflow(input))}else if(isDate(input)){config._d=input}else if(isArray(format3)){configFromStringAndArray(config)}else if(format3){configFromStringAndFormat(config)}else{configFromInput(config)}if(!isValid(config)){config._d=null}return config}__name(prepareConfig,"prepareConfig");function configFromInput(config){var input=config._i;if(isUndefined(input)){config._d=new Date(hooks.now())}else if(isDate(input)){config._d=new Date(input.valueOf())}else if(typeof input==="string"){configFromString(config)}else if(isArray(input)){config._a=map(input.slice(0),function(obj){return parseInt(obj,10)});configFromArray(config)}else if(isObject(input)){configFromObject(config)}else if(isNumber(input)){config._d=new Date(input)}else{hooks.createFromInputFallback(config)}}__name(configFromInput,"configFromInput");function createLocalOrUTC(input,format3,locale2,strict,isUTC){var c={};if(format3===true||format3===false){strict=format3;format3=void 0}if(locale2===true||locale2===false){strict=locale2;locale2=void 0}if(isObject(input)&&isObjectEmpty(input)||isArray(input)&&input.length===0){input=void 0}c._isAMomentObject=true;c._useUTC=c._isUTC=isUTC;c._l=locale2;c._i=input;c._f=format3;c._strict=strict;return createFromConfig(c)}__name(createLocalOrUTC,"createLocalOrUTC");function createLocal(input,format3,locale2,strict){return createLocalOrUTC(input,format3,locale2,strict,false)}__name(createLocal,"createLocal");var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other<this?this:other}else{return createInvalid()}}),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var other=createLocal.apply(null,arguments);if(this.isValid()&&other.isValid()){return other>this?this:other}else{return createInvalid()}});function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0])){moments=moments[0]}if(!moments.length){return createLocal()}res=moments[0];for(i=1;i<moments.length;++i){if(!moments[i].isValid()||moments[i][fn](res)){res=moments[i]}}return res}__name(pickBy,"pickBy");function min(){var args=[].slice.call(arguments,0);return pickBy("isBefore",args)}__name(min,"min");function max(){var args=[].slice.call(arguments,0);return pickBy("isAfter",args)}__name(max,"max");var now=__name(function(){return Date.now?Date.now():+new Date},"now");var ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function isDurationValid(m){var key,unitHasDecimal=false,i,orderLen=ordering.length;for(key in m){if(hasOwnProp(m,key)&&!(indexOf.call(ordering,key)!==-1&&(m[key]==null||!isNaN(m[key])))){return false}}for(i=0;i<orderLen;++i){if(m[ordering[i]]){if(unitHasDecimal){return false}if(parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])){unitHasDecimal=true}}}return true}__name(isDurationValid,"isDurationValid");function isValid$1(){return this._isValid}__name(isValid$1,"isValid$1");function createInvalid$1(){return createDuration(NaN)}__name(createInvalid$1,"createInvalid$1");function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years2=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months2=normalizedInput.month||0,weeks2=normalizedInput.week||normalizedInput.isoWeek||0,days2=normalizedInput.day||0,hours2=normalizedInput.hour||0,minutes2=normalizedInput.minute||0,seconds2=normalizedInput.second||0,milliseconds2=normalizedInput.millisecond||0;this._isValid=isDurationValid(normalizedInput);this._milliseconds=+milliseconds2+seconds2*1e3+minutes2*6e4+hours2*1e3*60*60;this._days=+days2+weeks2*7;this._months=+months2+quarters*3+years2*12;this._data={};this._locale=getLocale();this._bubble()}__name(Duration,"Duration");function isDuration(obj){return obj instanceof Duration}__name(isDuration,"isDuration");function absRound(number){if(number<0){return Math.round(-1*number)*-1}else{return Math.round(number)}}__name(absRound,"absRound");function compareArrays(array1,array2,dontConvert){var len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0,i;for(i=0;i<len;i++){if(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i])){diffs++}}return diffs+lengthDiff}__name(compareArrays,"compareArrays");function offset(token2,separator){addFormatToken(token2,0,0,function(){var offset2=this.utcOffset(),sign2="+";if(offset2<0){offset2=-offset2;sign2="-"}return sign2+zeroFill(~~(offset2/60),2)+separator+zeroFill(~~offset2%60,2)})}__name(offset,"offset");offset("Z",":");offset("ZZ","");addRegexToken("Z",matchShortOffset);addRegexToken("ZZ",matchShortOffset);addParseToken(["Z","ZZ"],function(input,array,config){config._useUTC=true;config._tzm=offsetFromString(matchShortOffset,input)});var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var matches=(string||"").match(matcher),chunk,parts,minutes2;if(matches===null){return null}chunk=matches[matches.length-1]||[];parts=(chunk+"").match(chunkOffset)||["-",0,0];minutes2=+(parts[1]*60)+toInt(parts[2]);return minutes2===0?0:parts[0]==="+"?minutes2:-minutes2}__name(offsetFromString,"offsetFromString");function cloneWithOffset(input,model){var res,diff2;if(model._isUTC){res=model.clone();diff2=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf();res._d.setTime(res._d.valueOf()+diff2);hooks.updateOffset(res,false);return res}else{return createLocal(input).local()}}__name(cloneWithOffset,"cloneWithOffset");function getDateOffset(m){return-Math.round(m._d.getTimezoneOffset())}__name(getDateOffset,"getDateOffset");hooks.updateOffset=function(){};function getSetOffset(input,keepLocalTime,keepMinutes){var offset2=this._offset||0,localAdjust;if(!this.isValid()){return input!=null?this:NaN}if(input!=null){if(typeof input==="string"){input=offsetFromString(matchShortOffset,input);if(input===null){return this}}else if(Math.abs(input)<16&&!keepMinutes){input=input*60}if(!this._isUTC&&keepLocalTime){localAdjust=getDateOffset(this)}this._offset=input;this._isUTC=true;if(localAdjust!=null){this.add(localAdjust,"m")}if(offset2!==input){if(!keepLocalTime||this._changeInProgress){addSubtract(this,createDuration(input-offset2,"m"),1,false)}else if(!this._changeInProgress){this._changeInProgress=true;hooks.updateOffset(this,true);this._changeInProgress=null}}return this}else{return this._isUTC?offset2:getDateOffset(this)}}__name(getSetOffset,"getSetOffset");function getSetZone(input,keepLocalTime){if(input!=null){if(typeof input!=="string"){input=-input}this.utcOffset(input,keepLocalTime);return this}else{return-this.utcOffset()}}__name(getSetZone,"getSetZone");function setOffsetToUTC(keepLocalTime){return this.utcOffset(0,keepLocalTime)}__name(setOffsetToUTC,"setOffsetToUTC");function setOffsetToLocal(keepLocalTime){if(this._isUTC){this.utcOffset(0,keepLocalTime);this._isUTC=false;if(keepLocalTime){this.subtract(getDateOffset(this),"m")}}return this}__name(setOffsetToLocal,"setOffsetToLocal");function setOffsetToParsedOffset(){if(this._tzm!=null){this.utcOffset(this._tzm,false,true)}else if(typeof this._i==="string"){var tZone=offsetFromString(matchOffset,this._i);if(tZone!=null){this.utcOffset(tZone)}else{this.utcOffset(0,true)}}return this}__name(setOffsetToParsedOffset,"setOffsetToParsedOffset");function hasAlignedHourOffset(input){if(!this.isValid()){return false}input=input?createLocal(input).utcOffset():0;return(this.utcOffset()-input)%60===0}__name(hasAlignedHourOffset,"hasAlignedHourOffset");function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}__name(isDaylightSavingTime,"isDaylightSavingTime");function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted)){return this._isDSTShifted}var c={},other;copyConfig(c,this);c=prepareConfig(c);if(c._a){other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else{this._isDSTShifted=false}return this._isDSTShifted}__name(isDaylightSavingTimeShifted,"isDaylightSavingTimeShifted");function isLocal(){return this.isValid()?!this._isUTC:false}__name(isLocal,"isLocal");function isUtcOffset(){return this.isValid()?this._isUTC:false}__name(isUtcOffset,"isUtcOffset");function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false}__name(isUtc,"isUtc");var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var duration=input,match=null,sign2,ret,diffRes;if(isDuration(input)){duration={ms:input._milliseconds,d:input._days,M:input._months}}else if(isNumber(input)||!isNaN(+input)){duration={};if(key){duration[key]=+input}else{duration.milliseconds=+input}}else if(match=aspNetRegex.exec(input)){sign2=match[1]==="-"?-1:1;duration={y:0,d:toInt(match[DATE])*sign2,h:toInt(match[HOUR])*sign2,m:toInt(match[MINUTE])*sign2,s:toInt(match[SECOND])*sign2,ms:toInt(absRound(match[MILLISECOND]*1e3))*sign2}}else if(match=isoRegex.exec(input)){sign2=match[1]==="-"?-1:1;duration={y:parseIso(match[2],sign2),M:parseIso(match[3],sign2),w:parseIso(match[4],sign2),d:parseIso(match[5],sign2),h:parseIso(match[6],sign2),m:parseIso(match[7],sign2),s:parseIso(match[8],sign2)}}else if(duration==null){duration={}}else if(typeof duration==="object"&&("from"in duration||"to"in duration)){diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,"_locale")){ret._locale=input._locale}if(isDuration(input)&&hasOwnProp(input,"_isValid")){ret._isValid=input._isValid}return ret}__name(createDuration,"createDuration");createDuration.fn=Duration.prototype;createDuration.invalid=createInvalid$1;function parseIso(inp,sign2){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign2}__name(parseIso,"parseIso");function positiveMomentsDifference(base,other){var res={};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,"M").isAfter(other)){--res.months}res.milliseconds=+other-+base.clone().add(res.months,"M");return res}__name(positiveMomentsDifference,"positiveMomentsDifference");function momentsDifference(base,other){var res;if(!(base.isValid()&&other.isValid())){return{milliseconds:0,months:0}}other=cloneWithOffset(other,base);if(base.isBefore(other)){res=positiveMomentsDifference(base,other)}else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds;res.months=-res.months}return res}__name(momentsDifference,"momentsDifference");function createAdder(direction,name){return function(val,period){var dur,tmp;if(period!==null&&!isNaN(+period)){deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");tmp=val;val=period;period=tmp}dur=createDuration(val,period);addSubtract(this,dur,direction);return this}}__name(createAdder,"createAdder");function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds2=duration._milliseconds,days2=absRound(duration._days),months2=absRound(duration._months);if(!mom.isValid()){return}updateOffset=updateOffset==null?true:updateOffset;if(months2){setMonth(mom,get(mom,"Month")+months2*isAdding)}if(days2){set$1(mom,"Date",get(mom,"Date")+days2*isAdding)}if(milliseconds2){mom._d.setTime(mom._d.valueOf()+milliseconds2*isAdding)}if(updateOffset){hooks.updateOffset(mom,days2||months2)}}__name(addSubtract,"addSubtract");var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(input){return typeof input==="string"||input instanceof String}__name(isString,"isString");function isMomentInput(input){return isMoment(input)||isDate(input)||isString(input)||isNumber(input)||isNumberOrStringArray(input)||isMomentInputObject(input)||input===null||input===void 0}__name(isMomentInput,"isMomentInput");function isMomentInputObject(input){var objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=false,properties=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],i,property,propertyLen=properties.length;for(i=0;i<propertyLen;i+=1){property=properties[i];propertyTest=propertyTest||hasOwnProp(input,property)}return objectTest&&propertyTest}__name(isMomentInputObject,"isMomentInputObject");function isNumberOrStringArray(input){var arrayTest=isArray(input),dataTypeTest=false;if(arrayTest){dataTypeTest=input.filter(function(item){return!isNumber(item)&&isString(input)}).length===0}return arrayTest&&dataTypeTest}__name(isNumberOrStringArray,"isNumberOrStringArray");function isCalendarSpec(input){var objectTest=isObject(input)&&!isObjectEmpty(input),propertyTest=false,properties=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],i,property;for(i=0;i<properties.length;i+=1){property=properties[i];propertyTest=propertyTest||hasOwnProp(input,property)}return objectTest&&propertyTest}__name(isCalendarSpec,"isCalendarSpec");function getCalendarFormat(myMoment,now2){var diff2=myMoment.diff(now2,"days",true);return diff2<-6?"sameElse":diff2<-1?"lastWeek":diff2<0?"lastDay":diff2<1?"sameDay":diff2<2?"nextDay":diff2<7?"nextWeek":"sameElse"}__name(getCalendarFormat,"getCalendarFormat");function calendar$1(time,formats){if(arguments.length===1){if(!arguments[0]){time=void 0;formats=void 0}else if(isMomentInput(arguments[0])){time=arguments[0];formats=void 0}else if(isCalendarSpec(arguments[0])){formats=arguments[0];time=void 0}}var now2=time||createLocal(),sod=cloneWithOffset(now2,this).startOf("day"),format3=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format3])?formats[format3].call(this,now2):formats[format3]);return this.format(output||this.localeData().calendar(format3,this,createLocal(now2)))}__name(calendar$1,"calendar$1");function clone(){return new Moment(this)}__name(clone,"clone");function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(units)||"millisecond";if(units==="millisecond"){return this.valueOf()>localInput.valueOf()}else{return localInput.valueOf()<this.clone().startOf(units).valueOf()}}__name(isAfter,"isAfter");function isBefore(input,units){var localInput=isMoment(input)?input:createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(units)||"millisecond";if(units==="millisecond"){return this.valueOf()<localInput.valueOf()}else{return this.clone().endOf(units).valueOf()<localInput.valueOf()}}__name(isBefore,"isBefore");function isBetween(from2,to2,units,inclusivity){var localFrom=isMoment(from2)?from2:createLocal(from2),localTo=isMoment(to2)?to2:createLocal(to2);if(!(this.isValid()&&localFrom.isValid()&&localTo.isValid())){return false}inclusivity=inclusivity||"()";return(inclusivity[0]==="("?this.isAfter(localFrom,units):!this.isBefore(localFrom,units))&&(inclusivity[1]===")"?this.isBefore(localTo,units):!this.isAfter(localTo,units))}__name(isBetween,"isBetween");function isSame(input,units){var localInput=isMoment(input)?input:createLocal(input),inputMs;if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(units)||"millisecond";if(units==="millisecond"){return this.valueOf()===localInput.valueOf()}else{inputMs=localInput.valueOf();return this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()}}__name(isSame,"isSame");function isSameOrAfter(input,units){return this.isSame(input,units)||this.isAfter(input,units)}__name(isSameOrAfter,"isSameOrAfter");function isSameOrBefore(input,units){return this.isSame(input,units)||this.isBefore(input,units)}__name(isSameOrBefore,"isSameOrBefore");function diff(input,units,asFloat){var that,zoneDelta,output;if(!this.isValid()){return NaN}that=cloneWithOffset(input,this);if(!that.isValid()){return NaN}zoneDelta=(that.utcOffset()-this.utcOffset())*6e4;units=normalizeUnits(units);switch(units){case"year":output=monthDiff(this,that)/12;break;case"month":output=monthDiff(this,that);break;case"quarter":output=monthDiff(this,that)/3;break;case"second":output=(this-that)/1e3;break;case"minute":output=(this-that)/6e4;break;case"hour":output=(this-that)/36e5;break;case"day":output=(this-that-zoneDelta)/864e5;break;case"week":output=(this-that-zoneDelta)/6048e5;break;default:output=this-that}return asFloat?output:absFloor(output)}__name(diff,"diff");function monthDiff(a,b){if(a.date()<b.date()){return-monthDiff(b,a)}var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months"),anchor2,adjust;if(b-anchor<0){anchor2=a.clone().add(wholeMonthDiff-1,"months");adjust=(b-anchor)/(anchor-anchor2)}else{anchor2=a.clone().add(wholeMonthDiff+1,"months");adjust=(b-anchor)/(anchor2-anchor)}return-(wholeMonthDiff+adjust)||0}__name(monthDiff,"monthDiff");hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}__name(toString,"toString");function toISOString(keepOffset){if(!this.isValid()){return null}var utc=keepOffset!==true,m=utc?this.clone().utc():this;if(m.year()<0||m.year()>9999){return formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ")}if(isFunction(Date.prototype.toISOString)){if(utc){return this.toDate().toISOString()}else{return new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",formatMoment(m,"Z"))}}return formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}__name(toISOString,"toISOString");function inspect(){if(!this.isValid()){return"moment.invalid(/* "+this._i+" */)"}var func="moment",zone="",prefix,year,datetime,suffix;if(!this.isLocal()){func=this.utcOffset()===0?"moment.utc":"moment.parseZone";zone="Z"}prefix="["+func+'("]';year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";datetime="-MM-DD[T]HH:mm:ss.SSS";suffix=zone+'[")]';return this.format(prefix+year+datetime+suffix)}__name(inspect,"inspect");function format2(inputString){if(!inputString){inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat}var output=formatMoment(this,inputString);return this.localeData().postformat(output)}__name(format2,"format");function from(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())){return createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix)}else{return this.localeData().invalidDate()}}__name(from,"from");function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix)}__name(fromNow,"fromNow");function to(time,withoutSuffix){if(this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())){return createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix)}else{return this.localeData().invalidDate()}}__name(to,"to");function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix)}__name(toNow,"toNow");function locale(key){var newLocaleData;if(key===void 0){return this._locale._abbr}else{newLocaleData=getLocale(key);if(newLocaleData!=null){this._locale=newLocaleData}return this}}__name(locale,"locale");var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(key){if(key===void 0){return this.localeData()}else{return this.locale(key)}});function localeData(){return this._locale}__name(localeData,"localeData");var MS_PER_SECOND=1e3,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=(365*400+97)*24*MS_PER_HOUR;function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}__name(mod$1,"mod$1");function localStartOfDate(y,m,d){if(y<100&&y>=0){return new Date(y+400,m,d)-MS_PER_400_YEARS}else{return new Date(y,m,d).valueOf()}}__name(localStartOfDate,"localStartOfDate");function utcStartOfDate(y,m,d){if(y<100&&y>=0){return Date.UTC(y+400,m,d)-MS_PER_400_YEARS}else{return Date.UTC(y,m,d)}}__name(utcStartOfDate,"utcStartOfDate");function startOf(units){var time,startOfDate;units=normalizeUnits(units);if(units===void 0||units==="millisecond"||!this.isValid()){return this}startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case"year":time=startOfDate(this.year(),0,1);break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case"month":time=startOfDate(this.year(),this.month(),1);break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date());break;case"hour":time=this._d.valueOf();time-=mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case"minute":time=this._d.valueOf();time-=mod$1(time,MS_PER_MINUTE);break;case"second":time=this._d.valueOf();time-=mod$1(time,MS_PER_SECOND);break}this._d.setTime(time);hooks.updateOffset(this,true);return this}__name(startOf,"startOf");function endOf(units){var time,startOfDate;units=normalizeUnits(units);if(units===void 0||units==="millisecond"||!this.isValid()){return this}startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case"year":time=startOfDate(this.year()+1,0,1)-1;break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case"hour":time=this._d.valueOf();time+=MS_PER_HOUR-mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case"minute":time=this._d.valueOf();time+=MS_PER_MINUTE-mod$1(time,MS_PER_MINUTE)-1;break;case"second":time=this._d.valueOf();time+=MS_PER_SECOND-mod$1(time,MS_PER_SECOND)-1;break}this._d.setTime(time);hooks.updateOffset(this,true);return this}__name(endOf,"endOf");function valueOf(){return this._d.valueOf()-(this._offset||0)*6e4}__name(valueOf,"valueOf");function unix(){return Math.floor(this.valueOf()/1e3)}__name(unix,"unix");function toDate(){return new Date(this.valueOf())}__name(toDate,"toDate");function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]}__name(toArray,"toArray");function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}}__name(toObject,"toObject");function toJSON(){return this.isValid()?this.toISOString():null}__name(toJSON,"toJSON");function isValid$2(){return isValid(this)}__name(isValid$2,"isValid$2");function parsingFlags(){return extend({},getParsingFlags(this))}__name(parsingFlags,"parsingFlags");function invalidAt(){return getParsingFlags(this).overflow}__name(invalidAt,"invalidAt");function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}__name(creationData,"creationData");addFormatToken("N",0,0,"eraAbbr");addFormatToken("NN",0,0,"eraAbbr");addFormatToken("NNN",0,0,"eraAbbr");addFormatToken("NNNN",0,0,"eraName");addFormatToken("NNNNN",0,0,"eraNarrow");addFormatToken("y",["y",1],"yo","eraYear");addFormatToken("y",["yy",2],0,"eraYear");addFormatToken("y",["yyy",3],0,"eraYear");addFormatToken("y",["yyyy",4],0,"eraYear");addRegexToken("N",matchEraAbbr);addRegexToken("NN",matchEraAbbr);addRegexToken("NNN",matchEraAbbr);addRegexToken("NNNN",matchEraName);addRegexToken("NNNNN",matchEraNarrow);addParseToken(["N","NN","NNN","NNNN","NNNNN"],function(input,array,config,token2){var era=config._locale.erasParse(input,token2,config._strict);if(era){getParsingFlags(config).era=era}else{getParsingFlags(config).invalidEra=input}});addRegexToken("y",matchUnsigned);addRegexToken("yy",matchUnsigned);addRegexToken("yyy",matchUnsigned);addRegexToken("yyyy",matchUnsigned);addRegexToken("yo",matchEraYearOrdinal);addParseToken(["y","yy","yyy","yyyy"],YEAR);addParseToken(["yo"],function(input,array,config,token2){var match;if(config._locale._eraYearOrdinalRegex){match=input.match(config._locale._eraYearOrdinalRegex)}if(config._locale.eraYearOrdinalParse){array[YEAR]=config._locale.eraYearOrdinalParse(input,match)}else{array[YEAR]=parseInt(input,10)}});function localeEras(m,format3){var i,l,date,eras=this._eras||getLocale("en")._eras;for(i=0,l=eras.length;i<l;++i){switch(typeof eras[i].since){case"string":date=hooks(eras[i].since).startOf("day");eras[i].since=date.valueOf();break}switch(typeof eras[i].until){case"undefined":eras[i].until=Infinity;break;case"string":date=hooks(eras[i].until).startOf("day").valueOf();eras[i].until=date.valueOf();break}}return eras}__name(localeEras,"localeEras");function localeErasParse(eraName,format3,strict){var i,l,eras=this.eras(),name,abbr,narrow;eraName=eraName.toUpperCase();for(i=0,l=eras.length;i<l;++i){name=eras[i].name.toUpperCase();abbr=eras[i].abbr.toUpperCase();narrow=eras[i].narrow.toUpperCase();if(strict){switch(format3){case"N":case"NN":case"NNN":if(abbr===eraName){return eras[i]}break;case"NNNN":if(name===eraName){return eras[i]}break;case"NNNNN":if(narrow===eraName){return eras[i]}break}}else if([name,abbr,narrow].indexOf(eraName)>=0){return eras[i]}}}__name(localeErasParse,"localeErasParse");function localeErasConvertYear(era,year){var dir=era.since<=era.until?1:-1;if(year===void 0){return hooks(era.since).year()}else{return hooks(era.since).year()+(year-era.offset)*dir}}__name(localeErasConvertYear,"localeErasConvertYear");function getEraName(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf("day").valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].name}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].name}}return""}__name(getEraName,"getEraName");function getEraNarrow(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf("day").valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].narrow}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].narrow}}return""}__name(getEraNarrow,"getEraNarrow");function getEraAbbr(){var i,l,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){val=this.clone().startOf("day").valueOf();if(eras[i].since<=val&&val<=eras[i].until){return eras[i].abbr}if(eras[i].until<=val&&val<=eras[i].since){return eras[i].abbr}}return""}__name(getEraAbbr,"getEraAbbr");function getEraYear(){var i,l,dir,val,eras=this.localeData().eras();for(i=0,l=eras.length;i<l;++i){dir=eras[i].since<=eras[i].until?1:-1;val=this.clone().startOf("day").valueOf();if(eras[i].since<=val&&val<=eras[i].until||eras[i].until<=val&&val<=eras[i].since){return(this.year()-hooks(eras[i].since).year())*dir+eras[i].offset}}return this.year()}__name(getEraYear,"getEraYear");function erasNameRegex(isStrict){if(!hasOwnProp(this,"_erasNameRegex")){computeErasParse.call(this)}return isStrict?this._erasNameRegex:this._erasRegex}__name(erasNameRegex,"erasNameRegex");function erasAbbrRegex(isStrict){if(!hasOwnProp(this,"_erasAbbrRegex")){computeErasParse.call(this)}return isStrict?this._erasAbbrRegex:this._erasRegex}__name(erasAbbrRegex,"erasAbbrRegex");function erasNarrowRegex(isStrict){if(!hasOwnProp(this,"_erasNarrowRegex")){computeErasParse.call(this)}return isStrict?this._erasNarrowRegex:this._erasRegex}__name(erasNarrowRegex,"erasNarrowRegex");function matchEraAbbr(isStrict,locale2){return locale2.erasAbbrRegex(isStrict)}__name(matchEraAbbr,"matchEraAbbr");function matchEraName(isStrict,locale2){return locale2.erasNameRegex(isStrict)}__name(matchEraName,"matchEraName");function matchEraNarrow(isStrict,locale2){return locale2.erasNarrowRegex(isStrict)}__name(matchEraNarrow,"matchEraNarrow");function matchEraYearOrdinal(isStrict,locale2){return locale2._eraYearOrdinalRegex||matchUnsigned}__name(matchEraYearOrdinal,"matchEraYearOrdinal");function computeErasParse(){var abbrPieces=[],namePieces=[],narrowPieces=[],mixedPieces=[],i,l,erasName,erasAbbr,erasNarrow,eras=this.eras();for(i=0,l=eras.length;i<l;++i){erasName=regexEscape(eras[i].name);erasAbbr=regexEscape(eras[i].abbr);erasNarrow=regexEscape(eras[i].narrow);namePieces.push(erasName);abbrPieces.push(erasAbbr);narrowPieces.push(erasNarrow);mixedPieces.push(erasName);mixedPieces.push(erasAbbr);mixedPieces.push(erasNarrow)}this._erasRegex=new RegExp("^("+mixedPieces.join("|")+")","i");this._erasNameRegex=new RegExp("^("+namePieces.join("|")+")","i");this._erasAbbrRegex=new RegExp("^("+abbrPieces.join("|")+")","i");this._erasNarrowRegex=new RegExp("^("+narrowPieces.join("|")+")","i")}__name(computeErasParse,"computeErasParse");addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100});addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100});function addWeekYearFormatToken(token2,getter){addFormatToken(0,[token2,token2.length],0,getter)}__name(addWeekYearFormatToken,"addWeekYearFormatToken");addWeekYearFormatToken("gggg","weekYear");addWeekYearFormatToken("ggggg","weekYear");addWeekYearFormatToken("GGGG","isoWeekYear");addWeekYearFormatToken("GGGGG","isoWeekYear");addRegexToken("G",matchSigned);addRegexToken("g",matchSigned);addRegexToken("GG",match1to2,match2);addRegexToken("gg",match1to2,match2);addRegexToken("GGGG",match1to4,match4);addRegexToken("gggg",match1to4,match4);addRegexToken("GGGGG",match1to6,match6);addRegexToken("ggggg",match1to6,match6);addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],function(input,week,config,token2){week[token2.substr(0,2)]=toInt(input)});addWeekParseToken(["gg","GG"],function(input,week,config,token2){week[token2]=hooks.parseTwoDigitYear(input)});function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)}__name(getSetWeekYear,"getSetWeekYear");function getSetISOWeekYear(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)}__name(getSetISOWeekYear,"getSetISOWeekYear");function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}__name(getISOWeeksInYear,"getISOWeeksInYear");function getISOWeeksInISOWeekYear(){return weeksInYear(this.isoWeekYear(),1,4)}__name(getISOWeeksInISOWeekYear,"getISOWeeksInISOWeekYear");function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)}__name(getWeeksInYear,"getWeeksInYear");function getWeeksInWeekYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.weekYear(),weekInfo.dow,weekInfo.doy)}__name(getWeeksInWeekYear,"getWeeksInWeekYear");function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;if(input==null){return weekOfYear(this,dow,doy).year}else{weeksTarget=weeksInYear(input,dow,doy);if(week>weeksTarget){week=weeksTarget}return setWeekAll.call(this,input,week,weekday,dow,doy)}}__name(getSetWeekYearHelper,"getSetWeekYearHelper");function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);this.year(date.getUTCFullYear());this.month(date.getUTCMonth());this.date(date.getUTCDate());return this}__name(setWeekAll,"setWeekAll");addFormatToken("Q",0,"Qo","quarter");addRegexToken("Q",match1);addParseToken("Q",function(input,array){array[MONTH]=(toInt(input)-1)*3});function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+this.month()%3)}__name(getSetQuarter,"getSetQuarter");addFormatToken("D",["DD",2],"Do","date");addRegexToken("D",match1to2,match1to2NoLeadingZero);addRegexToken("DD",match1to2,match2);addRegexToken("Do",function(isStrict,locale2){return isStrict?locale2._dayOfMonthOrdinalParse||locale2._ordinalParse:locale2._dayOfMonthOrdinalParseLenient});addParseToken(["D","DD"],DATE);addParseToken("Do",function(input,array){array[DATE]=toInt(input.match(match1to2)[0])});var getSetDayOfMonth=makeGetSet("Date",true);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear");addRegexToken("DDD",match1to3);addRegexToken("DDDD",match3);addParseToken(["DDD","DDDD"],function(input,array,config){config._dayOfYear=toInt(input)});function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return input==null?dayOfYear:this.add(input-dayOfYear,"d")}__name(getSetDayOfYear,"getSetDayOfYear");addFormatToken("m",["mm",2],0,"minute");addRegexToken("m",match1to2,match1to2HasZero);addRegexToken("mm",match1to2,match2);addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",false);addFormatToken("s",["ss",2],0,"second");addRegexToken("s",match1to2,match1to2HasZero);addRegexToken("ss",match1to2,match2);addParseToken(["s","ss"],SECOND);var getSetSecond=makeGetSet("Seconds",false);addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)});addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)});addFormatToken(0,["SSS",3],0,"millisecond");addFormatToken(0,["SSSS",4],0,function(){return this.millisecond()*10});addFormatToken(0,["SSSSS",5],0,function(){return this.millisecond()*100});addFormatToken(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});addFormatToken(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});addFormatToken(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});addFormatToken(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});addRegexToken("S",match1to3,match1);addRegexToken("SS",match1to3,match2);addRegexToken("SSS",match1to3,match3);var token,getSetMillisecond;for(token="SSSS";token.length<=9;token+="S"){addRegexToken(token,matchUnsigned)}function parseMs(input,array){array[MILLISECOND]=toInt(("0."+input)*1e3)}__name(parseMs,"parseMs");for(token="S";token.length<=9;token+="S"){addParseToken(token,parseMs)}getSetMillisecond=makeGetSet("Milliseconds",false);addFormatToken("z",0,0,"zoneAbbr");addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}__name(getZoneAbbr,"getZoneAbbr");function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}__name(getZoneName,"getZoneName");var proto=Moment.prototype;proto.add=add;proto.calendar=calendar$1;proto.clone=clone;proto.diff=diff;proto.endOf=endOf;proto.format=format2;proto.from=from;proto.fromNow=fromNow;proto.to=to;proto.toNow=toNow;proto.get=stringGet;proto.invalidAt=invalidAt;proto.isAfter=isAfter;proto.isBefore=isBefore;proto.isBetween=isBetween;proto.isSame=isSame;proto.isSameOrAfter=isSameOrAfter;proto.isSameOrBefore=isSameOrBefore;proto.isValid=isValid$2;proto.lang=lang;proto.locale=locale;proto.localeData=localeData;proto.max=prototypeMax;proto.min=prototypeMin;proto.parsingFlags=parsingFlags;proto.set=stringSet;proto.startOf=startOf;proto.subtract=subtract;proto.toArray=toArray;proto.toObject=toObject;proto.toDate=toDate;proto.toISOString=toISOString;proto.inspect=inspect;if(typeof Symbol!=="undefined"&&Symbol.for!=null){proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}}proto.toJSON=toJSON;proto.toString=toString;proto.unix=unix;proto.valueOf=valueOf;proto.creationData=creationData;proto.eraName=getEraName;proto.eraNarrow=getEraNarrow;proto.eraAbbr=getEraAbbr;proto.eraYear=getEraYear;proto.year=getSetYear;proto.isLeapYear=getIsLeapYear;proto.weekYear=getSetWeekYear;proto.isoWeekYear=getSetISOWeekYear;proto.quarter=proto.quarters=getSetQuarter;proto.month=getSetMonth;proto.daysInMonth=getDaysInMonth;proto.week=proto.weeks=getSetWeek;proto.isoWeek=proto.isoWeeks=getSetISOWeek;proto.weeksInYear=getWeeksInYear;proto.weeksInWeekYear=getWeeksInWeekYear;proto.isoWeeksInYear=getISOWeeksInYear;proto.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear;proto.date=getSetDayOfMonth;proto.day=proto.days=getSetDayOfWeek;proto.weekday=getSetLocaleDayOfWeek;proto.isoWeekday=getSetISODayOfWeek;proto.dayOfYear=getSetDayOfYear;proto.hour=proto.hours=getSetHour;proto.minute=proto.minutes=getSetMinute;proto.second=proto.seconds=getSetSecond;proto.millisecond=proto.milliseconds=getSetMillisecond;proto.utcOffset=getSetOffset;proto.utc=setOffsetToUTC;proto.local=setOffsetToLocal;proto.parseZone=setOffsetToParsedOffset;proto.hasAlignedHourOffset=hasAlignedHourOffset;proto.isDST=isDaylightSavingTime;proto.isLocal=isLocal;proto.isUtcOffset=isUtcOffset;proto.isUtc=isUtc;proto.isUTC=isUtc;proto.zoneAbbr=getZoneAbbr;proto.zoneName=getZoneName;proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth);proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth);proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear);proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone);proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);function createUnix(input){return createLocal(input*1e3)}__name(createUnix,"createUnix");function createInZone(){return createLocal.apply(null,arguments).parseZone()}__name(createInZone,"createInZone");function preParsePostFormat(string){return string}__name(preParsePostFormat,"preParsePostFormat");var proto$1=Locale.prototype;proto$1.calendar=calendar;proto$1.longDateFormat=longDateFormat;proto$1.invalidDate=invalidDate;proto$1.ordinal=ordinal;proto$1.preparse=preParsePostFormat;proto$1.postformat=preParsePostFormat;proto$1.relativeTime=relativeTime;proto$1.pastFuture=pastFuture;proto$1.set=set;proto$1.eras=localeEras;proto$1.erasParse=localeErasParse;proto$1.erasConvertYear=localeErasConvertYear;proto$1.erasAbbrRegex=erasAbbrRegex;proto$1.erasNameRegex=erasNameRegex;proto$1.erasNarrowRegex=erasNarrowRegex;proto$1.months=localeMonths;proto$1.monthsShort=localeMonthsShort;proto$1.monthsParse=localeMonthsParse;proto$1.monthsRegex=monthsRegex;proto$1.monthsShortRegex=monthsShortRegex;proto$1.week=localeWeek;proto$1.firstDayOfYear=localeFirstDayOfYear;proto$1.firstDayOfWeek=localeFirstDayOfWeek;proto$1.weekdays=localeWeekdays;proto$1.weekdaysMin=localeWeekdaysMin;proto$1.weekdaysShort=localeWeekdaysShort;proto$1.weekdaysParse=localeWeekdaysParse;proto$1.weekdaysRegex=weekdaysRegex;proto$1.weekdaysShortRegex=weekdaysShortRegex;proto$1.weekdaysMinRegex=weekdaysMinRegex;proto$1.isPM=localeIsPM;proto$1.meridiem=localeMeridiem;function get$1(format3,index,field,setter){var locale2=getLocale(),utc=createUTC().set(setter,index);return locale2[field](utc,format3)}__name(get$1,"get$1");function listMonthsImpl(format3,index,field){if(isNumber(format3)){index=format3;format3=void 0}format3=format3||"";if(index!=null){return get$1(format3,index,field,"month")}var i,out=[];for(i=0;i<12;i++){out[i]=get$1(format3,i,field,"month")}return out}__name(listMonthsImpl,"listMonthsImpl");function listWeekdaysImpl(localeSorted,format3,index,field){if(typeof localeSorted==="boolean"){if(isNumber(format3)){index=format3;format3=void 0}format3=format3||""}else{format3=localeSorted;index=format3;localeSorted=false;if(isNumber(format3)){index=format3;format3=void 0}format3=format3||""}var locale2=getLocale(),shift=localeSorted?locale2._week.dow:0,i,out=[];if(index!=null){return get$1(format3,(index+shift)%7,field,"day")}for(i=0;i<7;i++){out[i]=get$1(format3,(i+shift)%7,field,"day")}return out}__name(listWeekdaysImpl,"listWeekdaysImpl");function listMonths(format3,index){return listMonthsImpl(format3,index,"months")}__name(listMonths,"listMonths");function listMonthsShort(format3,index){return listMonthsImpl(format3,index,"monthsShort")}__name(listMonthsShort,"listMonthsShort");function listWeekdays(localeSorted,format3,index){return listWeekdaysImpl(localeSorted,format3,index,"weekdays")}__name(listWeekdays,"listWeekdays");function listWeekdaysShort(localeSorted,format3,index){return listWeekdaysImpl(localeSorted,format3,index,"weekdaysShort")}__name(listWeekdaysShort,"listWeekdaysShort");function listWeekdaysMin(localeSorted,format3,index){return listWeekdaysImpl(localeSorted,format3,index,"weekdaysMin")}__name(listWeekdaysMin,"listWeekdaysMin");getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-Infinity,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:__name(function(number){var b=number%10,output=toInt(number%100/10)===1?"th":b===1?"st":b===2?"nd":b===3?"rd":"th";return number+output},"ordinal")});hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale);hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function abs(){var data=this._data;this._milliseconds=mathAbs(this._milliseconds);this._days=mathAbs(this._days);this._months=mathAbs(this._months);data.milliseconds=mathAbs(data.milliseconds);data.seconds=mathAbs(data.seconds);data.minutes=mathAbs(data.minutes);data.hours=mathAbs(data.hours);data.months=mathAbs(data.months);data.years=mathAbs(data.years);return this}__name(abs,"abs");function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);duration._milliseconds+=direction*other._milliseconds;duration._days+=direction*other._days;duration._months+=direction*other._months;return duration._bubble()}__name(addSubtract$1,"addSubtract$1");function add$1(input,value){return addSubtract$1(this,input,value,1)}__name(add$1,"add$1");function subtract$1(input,value){return addSubtract$1(this,input,value,-1)}__name(subtract$1,"subtract$1");function absCeil(number){if(number<0){return Math.floor(number)}else{return Math.ceil(number)}}__name(absCeil,"absCeil");function bubble(){var milliseconds2=this._milliseconds,days2=this._days,months2=this._months,data=this._data,seconds2,minutes2,hours2,years2,monthsFromDays;if(!(milliseconds2>=0&&days2>=0&&months2>=0||milliseconds2<=0&&days2<=0&&months2<=0)){milliseconds2+=absCeil(monthsToDays(months2)+days2)*864e5;days2=0;months2=0}data.milliseconds=milliseconds2%1e3;seconds2=absFloor(milliseconds2/1e3);data.seconds=seconds2%60;minutes2=absFloor(seconds2/60);data.minutes=minutes2%60;hours2=absFloor(minutes2/60);data.hours=hours2%24;days2+=absFloor(hours2/24);monthsFromDays=absFloor(daysToMonths(days2));months2+=monthsFromDays;days2-=absCeil(monthsToDays(monthsFromDays));years2=absFloor(months2/12);months2%=12;data.days=days2;data.months=months2;data.years=years2;return this}__name(bubble,"bubble");function daysToMonths(days2){return days2*4800/146097}__name(daysToMonths,"daysToMonths");function monthsToDays(months2){return months2*146097/4800}__name(monthsToDays,"monthsToDays");function as(units){if(!this.isValid()){return NaN}var days2,months2,milliseconds2=this._milliseconds;units=normalizeUnits(units);if(units==="month"||units==="quarter"||units==="year"){days2=this._days+milliseconds2/864e5;months2=this._months+daysToMonths(days2);switch(units){case"month":return months2;case"quarter":return months2/3;case"year":return months2/12}}else{days2=this._days+Math.round(monthsToDays(this._months));switch(units){case"week":return days2/7+milliseconds2/6048e5;case"day":return days2+milliseconds2/864e5;case"hour":return days2*24+milliseconds2/36e5;case"minute":return days2*1440+milliseconds2/6e4;case"second":return days2*86400+milliseconds2/1e3;case"millisecond":return Math.floor(days2*864e5)+milliseconds2;default:throw new Error("Unknown unit "+units)}}}__name(as,"as");function makeAs(alias){return function(){return this.as(alias)}}__name(makeAs,"makeAs");var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y"),valueOf$1=asMilliseconds;function clone$1(){return createDuration(this)}__name(clone$1,"clone$1");function get$2(units){units=normalizeUnits(units);return this.isValid()?this[units+"s"]():NaN}__name(get$2,"get$2");function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}__name(makeGetter,"makeGetter");var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}__name(weeks,"weeks");var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale2){return locale2.relativeTime(number||1,!!withoutSuffix,string,isFuture)}__name(substituteTimeAgo,"substituteTimeAgo");function relativeTime$1(posNegDuration,withoutSuffix,thresholds2,locale2){var duration=createDuration(posNegDuration).abs(),seconds2=round(duration.as("s")),minutes2=round(duration.as("m")),hours2=round(duration.as("h")),days2=round(duration.as("d")),months2=round(duration.as("M")),weeks2=round(duration.as("w")),years2=round(duration.as("y")),a=seconds2<=thresholds2.ss&&["s",seconds2]||seconds2<thresholds2.s&&["ss",seconds2]||minutes2<=1&&["m"]||minutes2<thresholds2.m&&["mm",minutes2]||hours2<=1&&["h"]||hours2<thresholds2.h&&["hh",hours2]||days2<=1&&["d"]||days2<thresholds2.d&&["dd",days2];if(thresholds2.w!=null){a=a||weeks2<=1&&["w"]||weeks2<thresholds2.w&&["ww",weeks2]}a=a||months2<=1&&["M"]||months2<thresholds2.M&&["MM",months2]||years2<=1&&["y"]||["yy",years2];a[2]=withoutSuffix;a[3]=+posNegDuration>0;a[4]=locale2;return substituteTimeAgo.apply(null,a)}__name(relativeTime$1,"relativeTime$1");function getSetRelativeTimeRounding(roundingFunction){if(roundingFunction===void 0){return round}if(typeof roundingFunction==="function"){round=roundingFunction;return true}return false}__name(getSetRelativeTimeRounding,"getSetRelativeTimeRounding");function getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===void 0){return false}if(limit===void 0){return thresholds[threshold]}thresholds[threshold]=limit;if(threshold==="s"){thresholds.ss=limit-1}return true}__name(getSetRelativeTimeThreshold,"getSetRelativeTimeThreshold");function humanize(argWithSuffix,argThresholds){if(!this.isValid()){return this.localeData().invalidDate()}var withSuffix=false,th=thresholds,locale2,output;if(typeof argWithSuffix==="object"){argThresholds=argWithSuffix;argWithSuffix=false}if(typeof argWithSuffix==="boolean"){withSuffix=argWithSuffix}if(typeof argThresholds==="object"){th=Object.assign({},thresholds,argThresholds);if(argThresholds.s!=null&&argThresholds.ss==null){th.ss=argThresholds.s-1}}locale2=this.localeData();output=relativeTime$1(this,!withSuffix,th,locale2);if(withSuffix){output=locale2.pastFuture(+this,output)}return locale2.postformat(output)}__name(humanize,"humanize");var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x}__name(sign,"sign");function toISOString$1(){if(!this.isValid()){return this.localeData().invalidDate()}var seconds2=abs$1(this._milliseconds)/1e3,days2=abs$1(this._days),months2=abs$1(this._months),minutes2,hours2,years2,s,total=this.asSeconds(),totalSign,ymSign,daysSign,hmsSign;if(!total){return"P0D"}minutes2=absFloor(seconds2/60);hours2=absFloor(minutes2/60);seconds2%=60;minutes2%=60;years2=absFloor(months2/12);months2%=12;s=seconds2?seconds2.toFixed(3).replace(/\.?0+$/,""):"";totalSign=total<0?"-":"";ymSign=sign(this._months)!==sign(total)?"-":"";daysSign=sign(this._days)!==sign(total)?"-":"";hmsSign=sign(this._milliseconds)!==sign(total)?"-":"";return totalSign+"P"+(years2?ymSign+years2+"Y":"")+(months2?ymSign+months2+"M":"")+(days2?daysSign+days2+"D":"")+(hours2||minutes2||seconds2?"T":"")+(hours2?hmsSign+hours2+"H":"")+(minutes2?hmsSign+minutes2+"M":"")+(seconds2?hmsSign+s+"S":"")}__name(toISOString$1,"toISOString$1");var proto$2=Duration.prototype;proto$2.isValid=isValid$1;proto$2.abs=abs;proto$2.add=add$1;proto$2.subtract=subtract$1;proto$2.as=as;proto$2.asMilliseconds=asMilliseconds;proto$2.asSeconds=asSeconds;proto$2.asMinutes=asMinutes;proto$2.asHours=asHours;proto$2.asDays=asDays;proto$2.asWeeks=asWeeks;proto$2.asMonths=asMonths;proto$2.asQuarters=asQuarters;proto$2.asYears=asYears;proto$2.valueOf=valueOf$1;proto$2._bubble=bubble;proto$2.clone=clone$1;proto$2.get=get$2;proto$2.milliseconds=milliseconds;proto$2.seconds=seconds;proto$2.minutes=minutes;proto$2.hours=hours;proto$2.days=days;proto$2.weeks=weeks;proto$2.months=months;proto$2.years=years;proto$2.humanize=humanize;proto$2.toISOString=toISOString$1;proto$2.toString=toISOString$1;proto$2.toJSON=toISOString$1;proto$2.locale=locale;proto$2.localeData=localeData;proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1);proto$2.lang=lang;addFormatToken("X",0,0,"unix");addFormatToken("x",0,0,"valueOf");addRegexToken("x",matchSigned);addRegexToken("X",matchTimestamp);addParseToken("X",function(input,array,config){config._d=new Date(parseFloat(input)*1e3)});addParseToken("x",function(input,array,config){config._d=new Date(toInt(input))});hooks.version="2.30.1";setHookCallback(createLocal);hooks.fn=proto;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=proto;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks}))}});var require_FileStreamRotator=__commonJS({"node_modules/file-stream-rotator/FileStreamRotator.js"(exports,module){"use strict";var fs=__require("fs");var path=__require("path");var moment=require_moment();var crypto=__require("crypto");var EventEmitter=__require("events");var FileStreamRotator={};module.exports=FileStreamRotator;var staticFrequency=["daily","test","m","h","custom"];var DATE_FORMAT="YYYYMMDDHHmm";var _checkNumAndType=__name(function(type,num){if(typeof num=="number"){switch(type){case"m":if(num<0||num>60){return false}break;case"h":if(num<0||num>24){return false}break}return{type,digit:num}}},"_checkNumAndType");var _checkDailyAndTest=__name(function(freqType){switch(freqType){case"custom":case"daily":return{type:freqType,digit:void 0};break;case"test":return{type:freqType,digit:0}}return false},"_checkDailyAndTest");FileStreamRotator.getFrequency=function(frequency){var _f=frequency.toLowerCase().match(/^(\d+)([mh])$/);if(_f){return _checkNumAndType(_f[2],parseInt(_f[1]))}var dailyOrTest=_checkDailyAndTest(frequency);if(dailyOrTest){return dailyOrTest}return false};FileStreamRotator.parseFileSize=function(size){if(size&&typeof size=="string"){var _s=size.toLowerCase().match(/^((?:0\.)?\d+)([kmg])$/);if(_s){switch(_s[2]){case"k":return _s[1]*1024;case"m":return _s[1]*1024*1024;case"g":return _s[1]*1024*1024*1024}}}return null};FileStreamRotator.getDate=function(format2,date_format,utc){date_format=date_format||DATE_FORMAT;let currentMoment=utc?moment.utc():moment().local();if(format2&&staticFrequency.indexOf(format2.type)!==-1){switch(format2.type){case"m":var minute=Math.floor(currentMoment.minutes()/format2.digit)*format2.digit;return currentMoment.minutes(minute).format(date_format);break;case"h":var hour=Math.floor(currentMoment.hour()/format2.digit)*format2.digit;return currentMoment.hour(hour).format(date_format);break;case"daily":case"custom":case"test":return currentMoment.format(date_format)}}return currentMoment.format(date_format)};FileStreamRotator.setAuditLog=function(max_logs,audit_file,log_file){var _rtn=null;if(max_logs){var use_days=max_logs.toString().substr(-1);var _num=max_logs.toString().match(/^(\d+)/);if(Number(_num[1])>0){var baseLog=path.dirname(log_file.replace(/%DATE%.+/,"_filename"));try{if(audit_file){var full_path=path.resolve(audit_file);_rtn=JSON.parse(fs.readFileSync(full_path,{encoding:"utf-8"}))}else{var full_path=path.resolve(baseLog+"/.audit.json");_rtn=JSON.parse(fs.readFileSync(full_path,{encoding:"utf-8"}))}}catch(e){if(e.code!=="ENOENT"){return null}_rtn={keep:{days:false,amount:Number(_num[1])},auditLog:audit_file||baseLog+"/.audit.json",files:[]}}_rtn.keep={days:use_days==="d",amount:Number(_num[1])}}}return _rtn};FileStreamRotator.writeAuditLog=function(audit,verbose){try{mkDirForFile(audit.auditLog);fs.writeFileSync(audit.auditLog,JSON.stringify(audit,null,4))}catch(e){if(verbose){console.error(new Date,"[FileStreamRotator] Failed to store log audit at:",audit.auditLog,"Error:",e)}}};function removeFile(file,verbose){if(file.hash===crypto.createHash(file.hashType).update(file.name+"LOG_FILE"+file.date).digest("hex")){try{if(fs.existsSync(file.name)){fs.unlinkSync(file.name)}}catch(e){if(verbose){console.error(new Date,"[FileStreamRotator] Could not remove old log file: ",file.name)}}}}__name(removeFile,"removeFile");function createCurrentSymLink(logfile,name,verbose){let symLinkName=name||"current.log";let logPath=path.dirname(logfile);let logfileName=path.basename(logfile);let current=logPath+"/"+symLinkName;try{let stats=fs.lstatSync(current);if(stats.isSymbolicLink()){fs.unlinkSync(current);fs.symlinkSync(logfileName,current)}}catch(err){if(err&&err.code=="ENOENT"){try{fs.symlinkSync(logfileName,current)}catch(e){if(verbose){console.error(new Date,"[FileStreamRotator] Could not create symlink file: ",current," -> ",logfileName)}}}}}__name(createCurrentSymLink,"createCurrentSymLink");function createLogWatcher(logfile,verbose,cb){if(!logfile)return null;try{let stats=fs.lstatSync(logfile);return fs.watch(logfile,function(event,filename){if(event=="rename"){try{let stats2=fs.lstatSync(logfile)}catch(err){cb(err,logfile)}}})}catch(err){if(verbose){console.log(new Date,"[FileStreamRotator] Could not add watcher for "+logfile)}}}__name(createLogWatcher,"createLogWatcher");FileStreamRotator.addLogToAudit=function(logfile,audit,stream,verbose){if(audit&&audit.files){var index=audit.files.findIndex(function(file){return file.name===logfile});if(index!==-1){return audit}var time=Date.now();audit.files.push({date:time,name:logfile,hash:crypto.createHash(audit.hashType).update(logfile+"LOG_FILE"+time).digest("hex")});if(audit.keep.days){var oldestDate=moment().subtract(audit.keep.amount,"days").valueOf();var recentFiles=audit.files.filter(function(file){if(file.date>oldestDate){return true}file.hashType=audit.hashType;removeFile(file,verbose);stream.emit("logRemoved",file);return false});audit.files=recentFiles}else{var filesToKeep=audit.files.splice(-audit.keep.amount);if(audit.files.length>0){audit.files.filter(function(file){file.hashType=audit.hashType;removeFile(file,verbose);stream.emit("logRemoved",file);return false})}audit.files=filesToKeep}FileStreamRotator.writeAuditLog(audit,verbose)}return audit};FileStreamRotator.getStream=function(options){var frequencyMetaData=null;var curDate=null;var self2=this;if(!options.filename){console.error(new Date,"[FileStreamRotator] No filename supplied. Defaulting to STDOUT");return process.stdout}if(options.frequency){frequencyMetaData=self2.getFrequency(options.frequency)}let auditLog=self2.setAuditLog(options.max_logs,options.audit_file,options.filename);if(auditLog!=null){auditLog.hashType=options.audit_hash_type!==void 0?options.audit_hash_type:"md5"}self2.verbose=options.verbose!==void 0?options.verbose:true;var fileSize=null;var fileCount=0;var curSize=0;if(options.size){fileSize=FileStreamRotator.parseFileSize(options.size)}var dateFormat=options.date_format||DATE_FORMAT;if(frequencyMetaData&&frequencyMetaData.type=="daily"){if(!options.date_format){dateFormat="YYYY-MM-DD"}if(moment().format(dateFormat)!=moment().endOf("day").format(dateFormat)||moment().format(dateFormat)==moment().add(1,"day").format(dateFormat)){if(self2.verbose){console.log(new Date,"[FileStreamRotator] Changing type to custom as date format changes more often than once a day or not every day")}frequencyMetaData.type="custom"}}if(frequencyMetaData){curDate=options.frequency?self2.getDate(frequencyMetaData,dateFormat,options.utc):""}options.create_symlink=options.create_symlink||false;options.extension=options.extension||"";var filename=options.filename;var oldFile=null;var logfile=filename+(curDate?"."+curDate:"");if(filename.match(/%DATE%/)){logfile=filename.replace(/%DATE%/g,curDate?curDate:self2.getDate(null,dateFormat,options.utc))}if(fileSize){var lastLogFile=null;var t_log=logfile;var f=null;if(auditLog&&auditLog.files&&auditLog.files instanceof Array&&auditLog.files.length>0){var lastEntry=auditLog.files[auditLog.files.length-1].name;if(lastEntry.match(t_log)){var lastCount=lastEntry.match(t_log+"\\.(\\d+)");if(lastCount){t_log=lastEntry;fileCount=lastCount[1]}}}if(fileCount==0&&t_log==logfile){t_log+=options.extension}while(f=fs.existsSync(t_log)){lastLogFile=t_log;fileCount++;t_log=logfile+"."+fileCount+options.extension}if(lastLogFile){var lastLogFileStats=fs.statSync(lastLogFile);if(lastLogFileStats.size<fileSize){t_log=lastLogFile;fileCount--;curSize=lastLogFileStats.size}}logfile=t_log}else{logfile+=options.extension}if(self2.verbose){console.log(new Date,"[FileStreamRotator] Logging to: ",logfile)}mkDirForFile(logfile);var file_options=options.file_options||{flags:"a"};var rotateStream=fs.createWriteStream(logfile,file_options);if(curDate&&frequencyMetaData&&staticFrequency.indexOf(frequencyMetaData.type)>-1||fileSize>0){if(self2.verbose){console.log(new Date,"[FileStreamRotator] Rotating file: ",frequencyMetaData?frequencyMetaData.type:"",fileSize?"size: "+fileSize:"")}var stream=new EventEmitter;stream.auditLog=auditLog;stream.end=function(){rotateStream.end.apply(rotateStream,arguments)};BubbleEvents(rotateStream,stream);stream.on("close",function(){if(logWatcher){logWatcher.close()}});stream.on("new",function(newLog){stream.auditLog=self2.addLogToAudit(newLog,stream.auditLog,stream,self2.verbose);if(options.create_symlink){createCurrentSymLink(newLog,options.symlink_name,self2.verbose)}if(options.watch_log){stream.emit("addWatcher",newLog)}});var logWatcher;stream.on("addWatcher",function(newLog){if(logWatcher){logWatcher.close()}if(!options.watch_log){return}logWatcher=createLogWatcher(newLog,self2.verbose,function(err,newLog2){stream.emit("createLog",newLog2)})});stream.on("createLog",function(file){try{let stats=fs.lstatSync(file)}catch(err){if(rotateStream&&rotateStream.end=="function"){rotateStream.end()}rotateStream=fs.createWriteStream(file,file_options);stream.emit("new",file);BubbleEvents(rotateStream,stream)}});stream.write=(function(str,encoding){var newDate=frequencyMetaData?this.getDate(frequencyMetaData,dateFormat,options.utc):curDate;if(newDate!=curDate||fileSize&&curSize>fileSize){var newLogfile=filename+(curDate&&frequencyMetaData?"."+newDate:"");if(filename.match(/%DATE%/)&&curDate){newLogfile=filename.replace(/%DATE%/g,newDate)}if(fileSize&&curSize>fileSize){fileCount++;newLogfile+="."+fileCount+options.extension}else{fileCount=0;newLogfile+=options.extension}curSize=0;if(self2.verbose){console.log(new Date,__require("util").format("[FileStreamRotator] Changing logs from %s to %s",logfile,newLogfile))}curDate=newDate;oldFile=logfile;logfile=newLogfile;if(options.end_stream===true){rotateStream.end()}else{rotateStream.destroy()}mkDirForFile(logfile);rotateStream=fs.createWriteStream(newLogfile,file_options);stream.emit("new",newLogfile);stream.emit("rotate",oldFile,newLogfile);BubbleEvents(rotateStream,stream)}rotateStream.write(str,encoding);curSize+=Buffer.byteLength(str,encoding)}).bind(this);process.nextTick(function(){stream.emit("new",logfile)});stream.emit("new",logfile);return stream}else{if(self2.verbose){console.log(new Date,"[FileStreamRotator] File won't be rotated: ",options.frequency,options.size)}process.nextTick(function(){rotateStream.emit("new",logfile)});return rotateStream}};var mkDirForFile=__name(function(pathWithFile){var _path=path.dirname(pathWithFile);_path.split(path.sep).reduce(function(fullPath,folder){fullPath+=folder+path.sep;if(!fs.existsSync(fullPath)){try{fs.mkdirSync(fullPath)}catch(e){if(e.code!=="EEXIST"){throw e}}}return fullPath},"")},"mkDirForFile");var BubbleEvents=__name(function BubbleEvents2(emitter,proxy){emitter.on("close",function(){proxy.emit("close")});emitter.on("finish",function(){proxy.emit("finish")});emitter.on("error",function(err){proxy.emit("error",err)});emitter.on("open",function(fd){proxy.emit("open",fd)})},"BubbleEvents")}});var require_daily_rotate_file=__commonJS({"node_modules/winston-daily-rotate-file/daily-rotate-file.js"(exports,module){var fs=__require("fs");var os=__require("os");var path=__require("path");var util=__require("util");var zlib=__require("zlib");var hash=require_object_hash();var MESSAGE=require_triple_beam().MESSAGE;var PassThrough=__require("stream").PassThrough;var Transport2=require_winston_transport();var loggerDefaults={json:false,colorize:false,eol:os.EOL,logstash:null,prettyPrint:false,label:null,stringify:false,depth:null,showLevel:true,timestamp:__name(()=>{return new Date().toISOString()},"timestamp")};var DailyRotateFile2=__name(function(options){options=options||{};Transport2.call(this,options);function throwIf(target){Array.prototype.slice.call(arguments,1).forEach(name=>{if(options[name]){throw new Error("Cannot set "+name+" and "+target+" together")}})}__name(throwIf,"throwIf");function getMaxSize(size){if(size&&typeof size==="string"){if(size.toLowerCase().match(/^((?:0\.)?\d+)([kmg])$/)){return size}}else if(size&&Number.isInteger(size)){const sizeK=Math.round(size/1024);return sizeK===0?"1k":sizeK+"k"}return null}__name(getMaxSize,"getMaxSize");function isValidFileName(filename){return!/["<>|:*?\\/\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]/g.test(filename)}__name(isValidFileName,"isValidFileName");function isValidDirName(dirname){return!/["<>|\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]/g.test(dirname)}__name(isValidDirName,"isValidDirName");this.options=Object.assign({},loggerDefaults,options);if(options.stream){throwIf("stream","filename","maxsize");this.logStream=new PassThrough;this.logStream.pipe(options.stream)}else{this.filename=options.filename?path.basename(options.filename):"winston.log";this.dirname=options.dirname||path.dirname(options.filename);if(!isValidFileName(this.filename)||!isValidDirName(this.dirname)){throw new Error("Your path or filename contain an invalid character.")}this.logStream=require_FileStreamRotator().getStream({filename:path.join(this.dirname,this.filename),frequency:options.frequency?options.frequency:"custom",date_format:options.datePattern?options.datePattern:"YYYY-MM-DD",verbose:false,size:getMaxSize(options.maxSize),max_logs:options.maxFiles,end_stream:true,audit_file:options.auditFile?options.auditFile:path.join(this.dirname,"."+hash(options)+"-audit.json"),file_options:options.options?options.options:{flags:"a"},utc:options.utc?options.utc:false,extension:options.extension?options.extension:"",create_symlink:options.createSymlink?options.createSymlink:false,symlink_name:options.symlinkName?options.symlinkName:"current.log",watch_log:options.watchLog?options.watchLog:false,audit_hash_type:options.auditHashType?options.auditHashType:"sha256"});this.logStream.on("new",newFile=>{this.emit("new",newFile)});this.logStream.on("rotate",(oldFile,newFile)=>{this.emit("rotate",oldFile,newFile)});this.logStream.on("logRemoved",params=>{if(options.zippedArchive){const gzName=params.name+".gz";try{fs.unlinkSync(gzName)}catch(err){if(err.code!=="ENOENT"){err.message=`Error occurred while removing ${gzName}: ${err.message}`;this.emit("error",err);return}}this.emit("logRemoved",gzName);return}this.emit("logRemoved",params.name)});if(options.zippedArchive){this.logStream.on("rotate",oldFile=>{try{if(!fs.existsSync(oldFile)){return}}catch(err){err.message=`Error occurred while checking existence of ${oldFile}: ${err.message}`;this.emit("error",err);return}try{if(fs.existsSync(`${oldFile}.gz`)){return}}catch(err){err.message=`Error occurred while checking existence of ${oldFile}.gz: ${err.message}`;this.emit("error",err);return}const gzip=zlib.createGzip();const inp=fs.createReadStream(oldFile);inp.on("error",err=>{err.message=`Error occurred while reading ${oldFile}: ${err.message}`;this.emit("error",err)});const out=fs.createWriteStream(oldFile+".gz");out.on("error",err=>{err.message=`Error occurred while writing ${oldFile}.gz: ${err.message}`;this.emit("error",err)});inp.pipe(gzip).pipe(out).on("finish",()=>{try{fs.unlinkSync(oldFile)}catch(err){if(err.code!=="ENOENT"){err.message=`Error occurred while removing ${oldFile}: ${err.message}`;this.emit("error",err);return}}this.emit("archive",oldFile+".gz")})})}if(options.watchLog){this.logStream.on("addWatcher",newFile=>{this.emit("addWatcher",newFile)})}}},"DailyRotateFile");module.exports=DailyRotateFile2;util.inherits(DailyRotateFile2,Transport2);DailyRotateFile2.prototype.name="dailyRotateFile";var noop=__name(function(){},"noop");DailyRotateFile2.prototype.log=function(info,callback){callback=callback||noop;this.logStream.write(info[MESSAGE]+this.options.eol);this.emit("logged",info);callback(null,true)};DailyRotateFile2.prototype.close=function(){if(this.logStream){this.logStream.end(()=>{this.emit("finish")})}};DailyRotateFile2.prototype.query=function(options,callback){if(typeof options==="function"){callback=options;options={}}if(!this.options.json){throw new Error("query() may not be used without the json option being set to true")}if(!this.filename){throw new Error("query() may not be used when initializing with a stream")}let results=[];options=options||{};options.rows=options.rows||options.limit||10;options.start=options.start||0;options.until=options.until||new Date;if(typeof options.until!=="object"){options.until=new Date(options.until)}options.from=options.from||options.until-24*60*60*1e3;if(typeof options.from!=="object"){options.from=new Date(options.from)}options.order=options.order||"desc";const logFiles=(()=>{const fileRegex=new RegExp(this.filename.replace("%DATE%",".*"),"i");return fs.readdirSync(this.dirname).filter(file=>path.basename(file).match(fileRegex))})();if(logFiles.length===0&&callback){callback(null,results)}const processLogFile=__name(file=>{if(!file){return}const logFile=path.join(this.dirname,file);let buff="";let stream;if(file.endsWith(".gz")){stream=new PassThrough;const inp=fs.createReadStream(logFile);inp.on("error",err=>{err.message=`Error occurred while reading ${logFile}: ${err.message}`;stream.emit("error",err)});inp.pipe(zlib.createGunzip()).pipe(stream)}else{stream=fs.createReadStream(logFile,{encoding:"utf8"})}stream.on("error",err=>{if(stream.readable){stream.destroy()}if(!callback){return}return err.code==="ENOENT"?callback(null,results):callback(err)});stream.on("data",data=>{data=(buff+data).split(/\n+/);const l=data.length-1;for(let i=0;i<l;i++){add(data[i])}buff=data[l]});stream.on("end",()=>{if(buff){add(buff,true)}if(logFiles.length){processLogFile(logFiles.shift())}else if(callback){results.sort((a,b)=>{const d1=new Date(a.timestamp).getTime();const d2=new Date(b.timestamp).getTime();return d1>d2?1:d1<d2?-1:0});if(options.order==="desc"){results=results.reverse()}const start=options.start||0;const limit=options.limit||results.length;results=results.slice(start,start+limit);if(options.fields){results=results.map(log=>{const obj={};options.fields.forEach(key=>{obj[key]=log[key]});return obj})}callback(null,results)}});function add(buff2,attempt){try{const log=JSON.parse(buff2);if(!log||typeof log!=="object"){return}const time=new Date(log.timestamp);if(options.from&&time<options.from||options.until&&time>options.until||options.level&&options.level!==log.level){return}results.push(log)}catch(e){if(!attempt){stream.emit("error",e)}}}__name(add,"add")},"processLogFile");processLogFile(logFiles.shift())}}});var require_winston_daily_rotate_file=__commonJS({"node_modules/winston-daily-rotate-file/index.js"(exports,module){var winston=__require("winston");var DailyRotateFile2=require_daily_rotate_file();winston.transports.DailyRotateFile=DailyRotateFile2;module.exports=DailyRotateFile2}});var IS_PUBLIC_KEY="isPublic";var PERMISSIONS_KEY="permissions";var CACHE_INSTANCE="CACHE_INSTANCE";var PERMISSION_GUARD_CONFIG="PERMISSION_GUARD_CONFIG";var LOGGER_INSTANCE="LOGGER_INSTANCE";var REQUEST_ID_HEADER="x-request-id";var PERMISSIONS_CACHE_PREFIX="permissions";import{Injectable,UnauthorizedException}from"@nestjs/common";import{AuthGuard}from"@nestjs/passport";var JwtAuthGuard=class extends AuthGuard("jwt"){constructor(reflector){super();this.reflector=reflector}canActivate(context){const isPublic=this.reflector.getAllAndOverride(IS_PUBLIC_KEY,[context.getHandler(),context.getClass()]);if(isPublic){return true}return super.canActivate(context)}handleRequest(err,user){if(err||!user){throw err||new UnauthorizedException("Invalid or expired token")}return user}};__name(JwtAuthGuard,"JwtAuthGuard");JwtAuthGuard=__decorateClass([Injectable()],JwtAuthGuard);import{Inject,Injectable as Injectable3,Logger as Logger2,Optional,UnauthorizedException as UnauthorizedException2}from"@nestjs/common";var Transport=__toESM(require_winston_transport());var DailyRotateFile=__toESM(require_winston_daily_rotate_file());import{envConfig}from"@flusys/nestjs-core/config";import{existsSync,mkdirSync}from"fs";import{join}from"path";import{createLogger,format,transports}from"winston";var logConfig=envConfig.getLogConfig();var LOG_DIR=logConfig.dir;var LOG_LEVEL=logConfig.level;var LOG_MAX_SIZE=logConfig.maxSize;var LOG_MAX_FILES=logConfig.maxFiles;var USE_TENANT_MODE=envConfig.useTenantMode();if(!existsSync(LOG_DIR)){mkdirSync(LOG_DIR,{recursive:true})}var structuredFormat=format.printf(({timestamp,level,message,context,requestId,userId,stack,...metadata})=>{const logEntry={timestamp,level:level.toUpperCase(),context:context||"App",message};if(requestId)logEntry.requestId=requestId;if(userId)logEntry.userId=userId;if(Object.keys(metadata).length>0)logEntry.metadata=metadata;if(stack)logEntry.stack=stack;return JSON.stringify(logEntry)});var devConsoleFormat=format.printf(({timestamp,level,message,context,requestId,userId,method,url,path,statusCode,duration,stack})=>{const ctx=context||"App";const reqId=requestId?` [${requestId}]`:"";const user=userId?` (user:${userId})`:"";const endpoint=method&&(path||url)?` [${method} ${path||url}]`:"";const status=statusCode?` [${statusCode}]`:"";const time=duration?` (${duration})`:"";const stackTrace=stack?`
2
+ ${stack}`:"";return`${timestamp} [${level.toUpperCase().padEnd(7)}] [${ctx}]${endpoint}${status}${time}${reqId}${user} ${message}${stackTrace}`});var combinedRotateTransport=new DailyRotateFile({filename:`${LOG_DIR}/combined-%DATE%.log`,datePattern:"YYYY-MM-DD",zippedArchive:true,maxSize:LOG_MAX_SIZE,maxFiles:LOG_MAX_FILES,level:LOG_LEVEL});var errorRotateTransport=new DailyRotateFile({filename:`${LOG_DIR}/error-%DATE%.log`,datePattern:"YYYY-MM-DD",zippedArchive:true,maxSize:LOG_MAX_SIZE,maxFiles:LOG_MAX_FILES,level:"error"});var tenantTransportCache=new Map;function getTenantTransport(tenantId){if(tenantTransportCache.has(tenantId)){return tenantTransportCache.get(tenantId)}const tenantLogDir=join(LOG_DIR,tenantId);if(!existsSync(tenantLogDir)){mkdirSync(tenantLogDir,{recursive:true})}const transport=new DailyRotateFile({filename:`${tenantLogDir}/combined-%DATE%.log`,datePattern:"YYYY-MM-DD",zippedArchive:true,maxSize:LOG_MAX_SIZE,maxFiles:LOG_MAX_FILES,level:LOG_LEVEL});tenantTransportCache.set(tenantId,transport);return transport}__name(getTenantTransport,"getTenantTransport");var TenantAwareTransport=class extends Transport{static{__name(this,"TenantAwareTransport")}defaultTransport;constructor(defaultTransport){super();this.defaultTransport=defaultTransport}log(info,callback){setImmediate(()=>this.emit("logged",info));const tenantId=info.tenantId||info.metadata?.tenantId;if(USE_TENANT_MODE&&tenantId){const tenantTransport=getTenantTransport(tenantId);tenantTransport.log(info,callback)}else{this.defaultTransport.log(info,callback)}}};var tenantAwareCombinedTransport=new TenantAwareTransport(combinedRotateTransport);var consoleTransport=new transports.Console({level:LOG_LEVEL,format:format.combine(format.colorize({all:true}),format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),format.errors({stack:true}),devConsoleFormat)});var devLogger=createLogger({level:LOG_LEVEL,format:format.combine(format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),format.errors({stack:true})),transports:[consoleTransport],exitOnError:false});var prodLogger=createLogger({level:LOG_LEVEL,format:format.combine(format.timestamp({format:"YYYY-MM-DD HH:mm:ss.SSS"}),format.errors({stack:true}),structuredFormat),transports:[tenantAwareCombinedTransport,errorRotateTransport],exitOnError:false});var instance=envConfig.isProduction()?prodLogger:devLogger;import{envConfig as envConfig2}from"@flusys/nestjs-core/config";import{Injectable as Injectable2}from"@nestjs/common";import{AsyncLocalStorage}from"async_hooks";var byteToHex=[];for(let i=0;i<256;++i){byteToHex.push((i+256).toString(16).slice(1))}function unsafeStringify(arr,offset=0){return(byteToHex[arr[offset+0]]+byteToHex[arr[offset+1]]+byteToHex[arr[offset+2]]+byteToHex[arr[offset+3]]+"-"+byteToHex[arr[offset+4]]+byteToHex[arr[offset+5]]+"-"+byteToHex[arr[offset+6]]+byteToHex[arr[offset+7]]+"-"+byteToHex[arr[offset+8]]+byteToHex[arr[offset+9]]+"-"+byteToHex[arr[offset+10]]+byteToHex[arr[offset+11]]+byteToHex[arr[offset+12]]+byteToHex[arr[offset+13]]+byteToHex[arr[offset+14]]+byteToHex[arr[offset+15]]).toLowerCase()}__name(unsafeStringify,"unsafeStringify");import{randomFillSync}from"node:crypto";var rnds8Pool=new Uint8Array(256);var poolPtr=rnds8Pool.length;function rng(){if(poolPtr>rnds8Pool.length-16){randomFillSync(rnds8Pool);poolPtr=0}return rnds8Pool.slice(poolPtr,poolPtr+=16)}__name(rng,"rng");import{randomUUID}from"node:crypto";var native_default={randomUUID};function _v4(options,buf,offset){options=options||{};const rnds=options.random??options.rng?.()??rng();if(rnds.length<16){throw new Error("Random bytes length must be >= 16")}rnds[6]=rnds[6]&15|64;rnds[8]=rnds[8]&63|128;if(buf){offset=offset||0;if(offset<0||offset+16>buf.length){throw new RangeError(`UUID byte range ${offset}:${offset+15} is out of buffer bounds`)}for(let i=0;i<16;++i){buf[offset+i]=rnds[i]}return buf}return unsafeStringify(rnds)}__name(_v4,"_v4");function v4(options,buf,offset){if(native_default.randomUUID&&!buf&&!options){return native_default.randomUUID()}return _v4(options,buf,offset)}__name(v4,"v4");var v4_default=v4;var IS_DEBUG=envConfig2.getLogConfig().level==="debug";var TENANT_ID_HEADER="x-tenant-id";var EXCLUDED_PATHS=["/health","/metrics","/favicon.ico"];var EXCLUDED_HEADERS=["authorization","cookie","x-api-key"];var MAX_BODY_LOG_SIZE=1e3;var requestContext=new AsyncLocalStorage;var getUserId=__name(()=>requestContext.getStore()?.userId,"getUserId");var getCompanyId=__name(()=>requestContext.getStore()?.companyId,"getCompanyId");function sanitizeHeaders(headers){const sanitized={};for(const[key,value]of Object.entries(headers)){sanitized[key]=EXCLUDED_HEADERS.includes(key.toLowerCase())?"[REDACTED]":value}return sanitized}__name(sanitizeHeaders,"sanitizeHeaders");function truncateBody(body){if(!body)return void 0;const str=typeof body==="string"?body:JSON.stringify(body);return str.length>MAX_BODY_LOG_SIZE?str.substring(0,MAX_BODY_LOG_SIZE)+"...":body}__name(truncateBody,"truncateBody");function getClientIp(req){return req.headers["x-forwarded-for"]?.split(",")[0]||req.socket?.remoteAddress||"unknown"}__name(getClientIp,"getClientIp");var LoggerMiddleware=class{logger=instance;use(req,res,next){const requestId=req.headers[REQUEST_ID_HEADER]||v4_default();const tenantId=req.headers[TENANT_ID_HEADER];const startTime=Date.now();res.setHeader(REQUEST_ID_HEADER,requestId);const context={requestId,tenantId,startTime};requestContext.run(context,()=>{const shouldSkipLogging=EXCLUDED_PATHS.some(path=>req.originalUrl.startsWith(path));if(!shouldSkipLogging){this.logRequest(req,requestId,tenantId);let responseLogged=false;const originalSend=res.send;const originalJson=res.json;const originalEnd=res.end;const self2=this;res.send=function(body){if(!responseLogged){responseLogged=true;self2.logResponse(req,res,startTime,body,requestId,tenantId)}return originalSend.call(this,body)};res.json=function(body){if(!responseLogged){responseLogged=true;self2.logResponse(req,res,startTime,body,requestId,tenantId)}return originalJson.call(this,body)};res.end=function(...args){if(!responseLogged){responseLogged=true;self2.logResponse(req,res,startTime,args[0],requestId,tenantId)}return originalEnd.apply(this,args)};res.on("error",error=>{this.logger.error("Response error",{context:"HTTP",requestId,tenantId,method:req.method,url:req.originalUrl,path:req.path,error:error.message,stack:error.stack})})}next()})}logRequest(req,requestId,tenantId){const logData={context:"HTTP",requestId,tenantId,method:req.method,url:req.originalUrl,path:req.path,query:Object.keys(req.query).length>0?req.query:void 0,ip:getClientIp(req),userAgent:req.headers["user-agent"],contentType:req.headers["content-type"],contentLength:req.headers["content-length"]};if(IS_DEBUG){logData.headers=sanitizeHeaders(req.headers);logData.body=truncateBody(req.body);logData.params=Object.keys(req.params).length>0?req.params:void 0}this.logger.info("Incoming request",logData)}logResponse(req,res,startTime,body,requestId,tenantId){const duration=Date.now()-startTime;const statusCode=res.statusCode;const level=statusCode>=500?"error":statusCode>=400?"warn":"info";const logData={context:"HTTP",requestId,tenantId,method:req.method,url:req.originalUrl,path:req.path,statusCode,statusMessage:res.statusMessage,duration:`${duration}ms`,durationMs:duration,contentType:res.getHeader("content-type"),contentLength:res.getHeader("content-length")};const userId=getUserId();const companyId=getCompanyId();if(userId)logData.userId=userId;if(companyId)logData.companyId=companyId;if(statusCode>=400||IS_DEBUG){logData.responseBody=truncateBody(body)}this.logger.log(level,`Response [${statusCode}]`,logData);if(duration>3e3&&statusCode<400){this.logger.warn("Slow request detected",{context:"HTTP",requestId,tenantId,userId,companyId,method:req.method,url:req.originalUrl,path:req.path,duration:`${duration}ms`,durationMs:duration,threshold:"3000ms"})}}};__name(LoggerMiddleware,"LoggerMiddleware");LoggerMiddleware=__decorateClass([Injectable2()],LoggerMiddleware);var NestLoggerAdapter=class{constructor(logger){this.logger=logger}static{__name(this,"NestLoggerAdapter")}log(message,context,...args){const logMessage=args.length>0?`${message} ${JSON.stringify(args)}`:message;this.logger.log(logMessage,context)}error(message,trace,context,...args){const logMessage=args.length>0?`${message} ${JSON.stringify(args)}`:message;this.logger.error(logMessage,trace,context)}warn(message,context,...args){const logMessage=args.length>0?`${message} ${JSON.stringify(args)}`:message;this.logger.warn(logMessage,context)}debug(message,context,...args){const logMessage=args.length>0?`${message} ${JSON.stringify(args)}`:message;this.logger.debug(logMessage,context)}verbose(message,context,...args){const logMessage=args.length>0?`${message} ${JSON.stringify(args)}`:message;this.logger.verbose(logMessage,context)}};import{ForbiddenException,InternalServerErrorException}from"@nestjs/common";var PermissionSystemUnavailableException=class extends InternalServerErrorException{static{__name(this,"PermissionSystemUnavailableException")}constructor(message="Permission system temporarily unavailable. Please try again later."){super({success:false,message,code:"PERMISSION_SYSTEM_UNAVAILABLE"})}};var InsufficientPermissionsException=class extends ForbiddenException{static{__name(this,"InsufficientPermissionsException")}constructor(missingPermissions,operator="and"){const message=operator==="or"?`Requires at least one of: ${missingPermissions.join(", ")}`:`Missing required permissions: ${missingPermissions.join(", ")}`;super({success:false,message,code:"INSUFFICIENT_PERMISSIONS",missingPermissions,operator})}};var NoPermissionsFoundException=class extends ForbiddenException{static{__name(this,"NoPermissionsFoundException")}constructor(){super({success:false,message:"No permissions found. Please contact administrator.",code:"NO_PERMISSIONS_FOUND"})}};var PermissionGuard=class{constructor(reflector,cache,config,logger){this.reflector=reflector;this.cache=cache;this.config={enableCompanyFeature:false,cacheKeyPrefix:PERMISSIONS_CACHE_PREFIX,userPermissionKeyFormat:`${PERMISSIONS_CACHE_PREFIX}:user:{userId}`,companyPermissionKeyFormat:`${PERMISSIONS_CACHE_PREFIX}:company:{companyId}:branch:{branchId}:user:{userId}`,...config};this.logger=logger||new NestLoggerAdapter(new Logger2(PermissionGuard.name))}config;logger;async canActivate(context){const isPublic=this.reflector.getAllAndOverride(IS_PUBLIC_KEY,[context.getHandler(),context.getClass()]);if(isPublic)return true;const permissionConfig=this.reflector.getAllAndOverride(PERMISSIONS_KEY,[context.getHandler(),context.getClass()]);if(!permissionConfig){return true}const{permissions:requiredPermissions,operator}=this.normalizePermissionConfig(permissionConfig);if(!requiredPermissions||requiredPermissions.length===0){return true}const request=context.switchToHttp().getRequest();const user=request.user;if(!user){throw new UnauthorizedException2("Authentication required")}if(!this.cache){this.logger.error(`Cache not available - permission system unavailable (userId: ${user.id})`,void 0,"PermissionGuard");throw new PermissionSystemUnavailableException}const userPermissions=await this.getUserPermissions(user);if(!userPermissions||userPermissions.length===0){this.logger.warn(`No permissions found for user (userId: ${user.id})`,"PermissionGuard");throw new NoPermissionsFoundException}if(this.isNestedCondition(permissionConfig)){const result=this.evaluateCondition(permissionConfig,userPermissions);if(!result.passed){this.logger.warn(`Permission check failed (userId: ${user.id}, missing: ${result.missingPermissions.join(", ")})`,"PermissionGuard");throw new InsufficientPermissionsException(result.missingPermissions,result.operator)}}else{let hasRequiredPermissions;if(operator==="or"){hasRequiredPermissions=requiredPermissions.some(permission=>this.hasPermission(userPermissions,permission));if(!hasRequiredPermissions){throw new InsufficientPermissionsException(requiredPermissions,"or")}}else{hasRequiredPermissions=requiredPermissions.every(permission=>this.hasPermission(userPermissions,permission));if(!hasRequiredPermissions){const missing=requiredPermissions.filter(permission=>!this.hasPermission(userPermissions,permission));throw new InsufficientPermissionsException(missing,"and")}}}return true}normalizePermissionConfig(config){if(Array.isArray(config)){return{permissions:config,operator:"and"}}return{permissions:config.permissions||[],operator:config.operator||"and"}}isNestedCondition(config){if(Array.isArray(config))return false;return"children"in config&&Array.isArray(config.children)&&config.children.length>0}evaluateCondition(condition,userPermissions){const{permissions=[],operator,children=[]}=condition;const results=[];const failureDetails=[];const missingPermissions=[];if(permissions.length>0){if(operator==="or"){const hasAny=permissions.some(p=>this.hasPermission(userPermissions,p));results.push(hasAny);if(!hasAny){failureDetails.push(`needs one of: [${permissions.join(", ")}]`);missingPermissions.push(...permissions)}}else{const hasAll=permissions.every(p=>this.hasPermission(userPermissions,p));results.push(hasAll);if(!hasAll){const missing=permissions.filter(p=>!this.hasPermission(userPermissions,p));failureDetails.push(`missing: [${missing.join(", ")}]`);missingPermissions.push(...missing)}}}for(const child of children){const childResult=this.evaluateCondition(child,userPermissions);results.push(childResult.passed);if(!childResult.passed){failureDetails.push(`(${childResult.message})`);missingPermissions.push(...childResult.missingPermissions)}}let passed;if(operator==="or"){passed=results.length===0||results.some(r=>r)}else{passed=results.length===0||results.every(r=>r)}const message=passed?"Permission granted":`Permission denied: ${failureDetails.join(` ${operator.toUpperCase()} `)}`;return{passed,message,missingPermissions,operator}}async getUserPermissions(user){if(!this.cache){throw new PermissionSystemUnavailableException}let cacheKey;if(this.config.enableCompanyFeature&&user.companyId){const format2=this.config.companyPermissionKeyFormat||`${PERMISSIONS_CACHE_PREFIX}:company:{companyId}:branch:{branchId}:user:{userId}`;cacheKey=format2.replace("{userId}",user.id).replace("{companyId}",user.companyId).replace("{branchId}",user.branchId||"null")}else{const format2=this.config.userPermissionKeyFormat||`${PERMISSIONS_CACHE_PREFIX}:user:{userId}`;cacheKey=format2.replace("{userId}",user.id)}const permissions=await this.cache.get(cacheKey);return permissions||[]}hasPermission(userPermissions,requiredPermission){if(userPermissions.includes(requiredPermission)){return true}for(const permission of userPermissions){if(permission==="*"){return true}if(permission.endsWith(".*")){const prefix=permission.slice(0,-1);if(requiredPermission.startsWith(prefix)){return true}}}return false}};__name(PermissionGuard,"PermissionGuard");PermissionGuard=__decorateClass([Injectable3(),__decorateParam(1,Optional()),__decorateParam(1,Inject(CACHE_INSTANCE)),__decorateParam(2,Optional()),__decorateParam(2,Inject(PERMISSION_GUARD_CONFIG)),__decorateParam(3,Optional()),__decorateParam(3,Inject(LOGGER_INSTANCE))],PermissionGuard);export{JwtAuthGuard,PermissionGuard};
3
+ /*! Bundled license information:
4
+
5
+ safe-buffer/index.js:
6
+ (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
7
+
8
+ moment/moment.js:
9
+ (*! moment.js *)
10
+ (*! version : 2.30.1 *)
11
+ (*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
12
+ (*! license : MIT *)
13
+ (*! momentjs.com *)
14
+
15
+ file-stream-rotator/FileStreamRotator.js:
16
+ (*!
17
+ * FileStreamRotator
18
+ * Copyright(c) 2012-2017 Holiday Extras.
19
+ * Copyright(c) 2017 Roger C.
20
+ * MIT Licensed
21
+ *)
22
+ */