(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{1223:function(t,e,s){"use strict";const i=s(1224),n=Symbol("max"),h=Symbol("length"),r=Symbol("lengthCalculator"),o=Symbol("allowStale"),a=Symbol("maxAge"),l=Symbol("dispose"),u=Symbol("noDisposeOnSet"),m=Symbol("lruList"),g=Symbol("cache"),c=Symbol("updateAgeOnGet"),f=()=>1;const p=(t,e,s)=>{const i=t[g].get(e);if(i){const e=i.value;if(y(t,e)){if(b(t,i),!t[o])return}else s&&(t[c]&&(i.value.now=Date.now()),t[m].unshiftNode(i));return e.value}},y=(t,e)=>{if(!e||!e.maxAge&&!t[a])return!1;const s=Date.now()-e.now;return e.maxAge?s>e.maxAge:t[a]&&s>t[a]},w=t=>{if(t[h]>t[n])for(let e=t[m].tail;t[h]>t[n]&&null!==e;){const s=e.prev;b(t,e),e=s}},b=(t,e)=>{if(e){const s=e.value;t[l]&&t[l](s.key,s.value),t[h]-=s.length,t[g].delete(s.key),t[m].removeNode(e)}};class v{constructor(t,e,s,i,n){this.key=t,this.value=e,this.length=s,this.now=i,this.maxAge=n||0}}const x=(t,e,s,i)=>{let n=s.value;y(t,n)&&(b(t,s),t[o]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};t.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[n]=t.max||1/0;const e=t.length||f;if(this[r]="function"!=typeof e?f:e,this[o]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[a]=t.maxAge||0,this[l]=t.dispose,this[u]=t.noDisposeOnSet||!1,this[c]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[n]=t||1/0,w(this)}get max(){return this[n]}set allowStale(t){this[o]=!!t}get allowStale(){return this[o]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[a]=t,w(this)}get maxAge(){return this[a]}set lengthCalculator(t){"function"!=typeof t&&(t=f),t!==this[r]&&(this[r]=t,this[h]=0,this[m].forEach(t=>{t.length=this[r](t.value,t.key),this[h]+=t.length})),w(this)}get lengthCalculator(){return this[r]}get length(){return this[h]}get itemCount(){return this[m].length}rforEach(t,e){e=e||this;for(let s=this[m].tail;null!==s;){const i=s.prev;x(this,t,s,e),s=i}}forEach(t,e){e=e||this;for(let s=this[m].head;null!==s;){const i=s.next;x(this,t,s,e),s=i}}keys(){return this[m].toArray().map(t=>t.key)}values(){return this[m].toArray().map(t=>t.value)}reset(){this[l]&&this[m]&&this[m].length&&this[m].forEach(t=>this[l](t.key,t.value)),this[g]=new Map,this[m]=new i,this[h]=0}dump(){return this[m].map(t=>!y(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[m]}set(t,e,s){if((s=s||this[a])&&"number"!=typeof s)throw new TypeError("maxAge must be a number");const i=s?Date.now():0,o=this[r](e,t);if(this[g].has(t)){if(o>this[n])return b(this,this[g].get(t)),!1;const r=this[g].get(t).value;return this[l]&&(this[u]||this[l](t,r.value)),r.now=i,r.maxAge=s,r.value=e,this[h]+=o-r.length,r.length=o,this.get(t),w(this),!0}const c=new v(t,e,o,i,s);return c.length>this[n]?(this[l]&&this[l](t,e),!1):(this[h]+=c.length,this[m].unshift(c),this[g].set(t,this[m].head),w(this),!0)}has(t){if(!this[g].has(t))return!1;const e=this[g].get(t).value;return!y(this,e)}get(t){return p(this,t,!0)}peek(t){return p(this,t,!1)}pop(){const t=this[m].tail;return t?(b(this,t),t.value):null}del(t){b(this,this[g].get(t))}load(t){this.reset();const e=Date.now();for(let s=t.length-1;s>=0;s--){const i=t[s],n=i.e||0;if(0===n)this.set(i.k,i.v);else{const t=n-e;t>0&&this.set(i.k,i.v,t)}}}prune(){this[g].forEach((t,e)=>p(this,e,!1))}}}}]);