diff --git a/.circleci/config.yml b/.circleci/config.yml
index c7e1ef67..3dff8a52 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,24 +2,15 @@ version: 2
jobs:
go-version-latest:
docker:
- - image: cimg/go:1.21-node
+ - image: cimg/go:1.22-node
resource_class: large
steps:
- - checkout
- - run: make
- - run: make alltest
- go-version-last:
- docker:
- - image: cimg/go:1.20-node
- resource_class: large
- steps:
- - checkout
- - run: make
- - run: make alltest
+ - checkout
+ - run: make
+ - run: make alltest
workflows:
version: 2
build_and_test:
jobs:
- - go-version-latest
- - go-version-last
+ - go-version-latest
diff --git a/.github/workflows/build-and-push-image.yml b/.github/workflows/build-and-push-image.yml
index 9607ba18..d1516f80 100644
--- a/.github/workflows/build-and-push-image.yml
+++ b/.github/workflows/build-and-push-image.yml
@@ -19,15 +19,15 @@ jobs:
steps:
# environment
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: '0'
- name: Set up QEMU
- uses: docker/setup-qemu-action@v2
+ uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2
+ uses: docker/setup-buildx-action@v3
# get image tag name
- name: Get Image Tag Name
@@ -38,13 +38,13 @@ jobs:
echo "TAG_NAME=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
fi
- name: Login to DockerHub
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Login to the GPR
- uses: docker/login-action@v2
+ uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -72,7 +72,7 @@ jobs:
${{ env.TAG_FRPC_GPR }}
- name: Build and push frps
- uses: docker/build-push-action@v4
+ uses: docker/build-push-action@v5
with:
context: .
file: ./dockerfiles/Dockerfile-for-frps
diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml
index 9517af53..18f69d52 100644
--- a/.github/workflows/golangci-lint.yml
+++ b/.github/workflows/golangci-lint.yml
@@ -14,28 +14,29 @@ jobs:
name: lint
runs-on: ubuntu-latest
steps:
- - uses: actions/setup-go@v4
- with:
- go-version: '1.21'
- - uses: actions/checkout@v3
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v3
- with:
- # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
- version: v1.55
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v5
+ with:
+ go-version: '1.22'
+ cache: false
+ - name: golangci-lint
+ uses: golangci/golangci-lint-action@v4
+ with:
+ # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
+ version: v1.56
- # Optional: golangci-lint command line arguments.
- # args: --issues-exit-code=0
+ # Optional: golangci-lint command line arguments.
+ # args: --issues-exit-code=0
- # Optional: show only new issues if it's a pull request. The default value is `false`.
- # only-new-issues: true
+ # Optional: show only new issues if it's a pull request. The default value is `false`.
+ # only-new-issues: true
- # Optional: if set to true then the all caching functionality will be complete disabled,
- # takes precedence over all other caching options.
- # skip-cache: true
+ # Optional: if set to true then the all caching functionality will be complete disabled,
+ # takes precedence over all other caching options.
+ # skip-cache: true
- # Optional: if set to true then the action don't cache or restore ~/go/pkg.
- # skip-pkg-cache: true
+ # Optional: if set to true then the action don't cache or restore ~/go/pkg.
+ # skip-pkg-cache: true
- # Optional: if set to true then the action don't cache or restore ~/.cache/go-build.
- # skip-build-cache: true
+ # Optional: if set to true then the action don't cache or restore ~/.cache/go-build.
+ # skip-build-cache: true
diff --git a/.github/workflows/goreleaser.yml b/.github/workflows/goreleaser.yml
index a0aae79d..7c01f376 100644
--- a/.github/workflows/goreleaser.yml
+++ b/.github/workflows/goreleaser.yml
@@ -8,21 +8,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
- uses: actions/setup-go@v4
+ uses: actions/setup-go@v5
with:
- go-version: '1.21'
+ go-version: '1.22'
- name: Make All
run: |
./package.sh
- name: Run GoReleaser
- uses: goreleaser/goreleaser-action@v4
+ uses: goreleaser/goreleaser-action@v5
with:
version: latest
args: release --clean --release-notes=./Release.md
diff --git a/.golangci.yml b/.golangci.yml
index 8349c9e4..cd92e43c 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,5 +1,5 @@
service:
- golangci-lint-version: 1.55.x # use the fixed version to not introduce new linters unexpectedly
+ golangci-lint-version: 1.56.x # use the fixed version to not introduce new linters unexpectedly
run:
concurrency: 4
diff --git a/Makefile b/Makefile
index f8326891..603aeabd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,14 @@
-export PATH := $(GOPATH)/bin:$(PATH)
+export PATH := $(PATH):`go env GOPATH`/bin
export GO111MODULE=on
LDFLAGS := -s -w
-all: fmt build
+all: env fmt build
build: frps frpc
+env:
+ @go version
+
# compile assets into binary file
file:
rm -rf ./assets/frps/static/*
diff --git a/README.md b/README.md
index 4bebb8ab..8dbf45ad 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,8 @@
[](https://circleci.com/gh/fatedier/frp)
[](https://github.com/fatedier/frp/releases)
+[](https://goreportcard.com/report/github.com/fatedier/frp)
+[](https://somsubhra.github.io/github-release-stats/?username=fatedier&repository=frp)
[README](README.md) | [中文文档](README_zh.md)
@@ -12,8 +14,8 @@
 
-
-
+
+
-1||Ue(d,"default"))&&s.push(c)}}}const u=[o,s];return qe(e)&&n.set(e,u),u}function C_(e){return e[0]!=="$"}function T_(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function M_(e,t){return T_(e)===T_(t)}function A_(e,t){return _e(t)?t.findIndex(r=>M_(r,e)):Ie(t)&&M_(t,e)?0:-1}const bT=e=>e[0]==="_"||e==="$stable",ay=e=>_e(e)?e.map(Hn):[Hn(e)],KI=(e,t,r)=>{if(t._n)return t;const n=X((...i)=>ay(t(...i)),r);return n._c=!1,n},wT=(e,t,r)=>{const n=e._ctx;for(const i in e){if(bT(i))continue;const a=e[i];if(Ie(a))t[i]=KI(i,a,n);else if(a!=null){const o=ay(a);t[i]=()=>o}}},ST=(e,t)=>{const r=ay(t);e.slots.default=()=>r},XI=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=Qe(t),Xc(t,"_",r)):wT(t,e.slots={})}else e.slots={},t&&ST(e,t);Xc(e.slots,Xd,1)},ZI=(e,t,r)=>{const{vnode:n,slots:i}=e;let a=!0,o=bt;if(n.shapeFlag&32){const s=t._;s?r&&s===1?a=!1:(Nt(i,t),!r&&s===1&&delete i._):(a=!t.$stable,wT(t,i)),o=t}else t&&(ST(e,t),o={default:1});if(a)for(const s in i)!bT(s)&&o[s]==null&&delete i[s]};function $p(e,t,r,n,i=!1){if(_e(e)){e.forEach((h,d)=>$p(h,t&&(_e(t)?t[d]:t),r,n,i));return}if(Pl(n)&&!i)return;const a=n.shapeFlag&4?Qd(n.component)||n.component.proxy:n.el,o=i?null:a,{i:s,r:l}=e,u=t&&t.r,f=s.refs===bt?s.refs={}:s.refs,c=s.setupState;if(u!=null&&u!==l&&(ze(u)?(f[u]=null,Ue(c,u)&&(c[u]=null)):Pt(u)&&(u.value=null)),Ie(l))Ji(l,s,12,[o,f]);else{const h=ze(l),d=Pt(l),v=e.f;if(h||d){const p=()=>{if(v){const g=h?Ue(c,l)?c[l]:f[l]:l.value;i?_e(g)&&zm(g,a):_e(g)?g.includes(a)||g.push(a):h?(f[l]=[a],Ue(c,l)&&(c[l]=f[l])):(l.value=[a],e.k&&(f[e.k]=l.value))}else h?(f[l]=o,Ue(c,l)&&(c[l]=o)):d&&(l.value=o,e.k&&(f[e.k]=o))};i||v?p():(p.id=-1,Sr(p,r))}}}const Sr=CI;function QI(e){return JI(e)}function JI(e,t){const r=DC();r.__VUE__=!0;const{insert:n,remove:i,patchProp:a,createElement:o,createText:s,createComment:l,setText:u,setElementText:f,parentNode:c,nextSibling:h,setScopeId:d=Qt,insertStaticContent:v}=e,p=(D,I,W,K=null,Y=null,le=null,fe=void 0,ae=null,se=!!I.dynamicChildren)=>{if(D===I)return;D&&!Ua(D,I)&&(K=N(D),Q(D,Y,le,!0),D=null),I.patchFlag===-2&&(se=!1,I.dynamicChildren=null);const{type:te,ref:ce,shapeFlag:Ce}=I;switch(te){case Rs:g(D,I,W,K);break;case Ar:m(D,I,W,K);break;case Vh:D==null&&y(I,W,K,fe);break;case gt:P(D,I,W,K,Y,le,fe,ae,se);break;default:Ce&1?x(D,I,W,K,Y,le,fe,ae,se):Ce&6?L(D,I,W,K,Y,le,fe,ae,se):(Ce&64||Ce&128)&&te.process(D,I,W,K,Y,le,fe,ae,se,Z)}ce!=null&&Y&&$p(ce,D&&D.ref,le,I||D,!I)},g=(D,I,W,K)=>{if(D==null)n(I.el=s(I.children),W,K);else{const Y=I.el=D.el;I.children!==D.children&&u(Y,I.children)}},m=(D,I,W,K)=>{D==null?n(I.el=l(I.children||""),W,K):I.el=D.el},y=(D,I,W,K)=>{[D.el,D.anchor]=v(D.children,I,W,K,D.el,D.anchor)},_=({el:D,anchor:I},W,K)=>{let Y;for(;D&&D!==I;)Y=h(D),n(D,W,K),D=Y;n(I,W,K)},b=({el:D,anchor:I})=>{let W;for(;D&&D!==I;)W=h(D),i(D),D=W;i(I)},x=(D,I,W,K,Y,le,fe,ae,se)=>{I.type==="svg"?fe="svg":I.type==="math"&&(fe="mathml"),D==null?w(I,W,K,Y,le,fe,ae,se):T(D,I,Y,le,fe,ae,se)},w=(D,I,W,K,Y,le,fe,ae)=>{let se,te;const{props:ce,shapeFlag:Ce,transition:Se,dirs:Re}=D;if(se=D.el=o(D.type,le,ce&&ce.is,ce),Ce&8?f(se,D.children):Ce&16&&C(D.children,se,null,K,Y,zh(D,le),fe,ae),Re&&ga(D,null,K,"created"),S(se,D,D.scopeId,fe,K),ce){for(const rt in ce)rt!=="value"&&!_c(rt)&&a(se,rt,null,ce[rt],le,D.children,K,Y,De);"value"in ce&&a(se,"value",null,ce.value,le),(te=ce.onVnodeBeforeMount)&&kn(te,K,D)}Re&&ga(D,null,K,"beforeMount");const Ve=eO(Y,Se);Ve&&Se.beforeEnter(se),n(se,I,W),((te=ce&&ce.onVnodeMounted)||Ve||Re)&&Sr(()=>{te&&kn(te,K,D),Ve&&Se.enter(se),Re&&ga(D,null,K,"mounted")},Y)},S=(D,I,W,K,Y)=>{if(W&&d(D,W),K)for(let le=0;le >>1;e[i][1] 1&&B===0&&P.unshift({value:P[0].value-U})}}for(var B=0;B=t||S<0||c&&C>=a}function m(){var w=Xh();if(g(w))return y(w);s=setTimeout(m,p(w))}function y(w){return s=void 0,h&&n?d(w):(n=i=void 0,o)}function _(){s!==void 0&&clearTimeout(s),u=0,n=l=i=s=void 0}function b(){return s===void 0?o:y(Xh())}function x(){var w=Xh(),S=g(w);if(n=arguments,i=this,l=w,S){if(s===void 0)return v(l);if(c)return clearTimeout(s),s=setTimeout(m,t),d(l)}return s===void 0&&(s=setTimeout(m,t)),o}return x.cancel=_,x.flush=b,x}function Jp(e,t,r){(r!==void 0&&!Gu(e[t],r)||r===void 0&&!(t in e))&&cy(e,t,r)}function t$(e){return Xn(e)&&ks(e)}function eg(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function r$(e){return Uu(e,Yu(e))}function n$(e,t,r,n,i,a,o){var s=eg(e,r),l=eg(t,r),u=o.get(l);if(u){Jp(e,r,u);return}var f=a?a(s,l,r+"",e,t,o):void 0,c=f===void 0;if(c){var h=gr(l),d=!h&&fu(l),v=!h&&!d&&gy(l);f=l,h||d||v?gr(s)?f=s:t$(s)?f=QT(s):d?(c=!1,f=lM(l,!0)):v?(c=!1,f=dM(l,!0)):f=[]:EF(l)||uu(l)?(f=s,uu(s)?f=r$(s):(!Ir(s)||fy(s))&&(f=hM(l))):c=!1}c&&(o.set(l,f),i(f,l,n,a,o),o.delete(l)),Jp(e,r,f)}function SM(e,t,r,n,i){e!==t&&wM(t,function(a,o){if(i||(i=new Pn),Ir(a))n$(e,t,o,r,SM,n,i);else{var s=n?n(eg(e,o),a,o+"",e,t,i):void 0;s===void 0&&(s=a),Jp(e,o,s)}},Yu)}function i$(e,t){var r=-1,n=ks(e)?Array(e.length):[];return Z3(e,function(i,a,o){n[++r]=t(i,a,o)}),n}function a$(e,t){var r=gr(e)?XT:i$;return r(e,Y3(t))}function o$(e,t){return wy(a$(e,t),1)}function tg(e){for(var t=-1,r=e==null?0:e.length,n={};++tn.noresize,S=>{S?(a==null||a(),o==null||o()):({stop:a}=gs(u,w),o=Cn("resize",w))},{immediate:!0}),xe(()=>[n.maxHeight,n.height],()=>{n.native||Ft(()=>{var S;w(),l.value&&((S=h.value)==null||S.handleScroll(l.value))})}),At(iA,Ln({scrollbarElement:s,wrapElement:l})),Tt(()=>{n.native||Ft(()=>{w()})}),Hu(()=>w()),t({wrapRef:l,update:w,scrollTo:_,setScrollTop:b,setScrollLeft:x,handleScroll:y}),(S,C)=>(G(),pe("div",{ref_key:"scrollbarRef",ref:s,class:ne(M(i).b())},[re("div",{ref_key:"wrapRef",ref:l,class:ne(M(g)),style:wt(M(p)),onScroll:y},[(G(),ve(Kt(S.tag),{id:S.id,ref_key:"resizeRef",ref:u,class:ne(M(m)),style:wt(S.viewStyle),role:S.role,"aria-label":S.ariaLabel,"aria-orientation":S.ariaOrientation},{default:X(()=>[Ee(S.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],38),S.native?Ae("v-if",!0):(G(),ve(cH,{key:0,ref_key:"barRef",ref:h,height:c.value,width:f.value,always:S.always,"ratio-x":v.value,"ratio-y":d.value},null,8,["height","width","always","ratio-x","ratio-y"]))],2))}});var mH=Ke(gH,[["__file","scrollbar.vue"]]);const aA=Ut(mH),zy=Symbol("popper"),oA=Symbol("popperContent"),yH=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],sA=Je({role:{type:String,values:yH,default:"tooltip"}}),_H=ie({name:"ElPopper",inheritAttrs:!1}),bH=ie({..._H,props:sA,setup(e,{expose:t}){const r=e,n=$(),i=$(),a=$(),o=$(),s=k(()=>r.role),l={triggerRef:n,popperInstanceRef:i,contentRef:a,referenceRef:o,role:s};return t(l),At(zy,l),(u,f)=>Ee(u.$slots,"default")}});var wH=Ke(bH,[["__file","popper.vue"]]);const lA=Je({arrowOffset:{type:Number,default:5}}),SH=ie({name:"ElPopperArrow",inheritAttrs:!1}),xH=ie({...SH,props:lA,setup(e,{expose:t}){const r=e,n=Ne("popper"),{arrowOffset:i,arrowRef:a,arrowStyle:o}=Le(oA,void 0);return xe(()=>r.arrowOffset,s=>{i.value=s}),tr(()=>{a.value=void 0}),t({arrowRef:a}),(s,l)=>(G(),pe("span",{ref_key:"arrowRef",ref:a,class:ne(M(n).e("arrow")),style:wt(M(o)),"data-popper-arrow":""},null,6))}});var CH=Ke(xH,[["__file","arrow.vue"]]);const TH="ElOnlyChild",MH=ie({name:TH,setup(e,{slots:t,attrs:r}){var n;const i=Le(qM),a=n4((n=i==null?void 0:i.setForwardRef)!=null?n:Qt);return()=>{var o;const s=(o=t.default)==null?void 0:o.call(t,r);if(!s||s.length>1)return null;const l=uA(s);return l?Jt(mi(l,r),[[a]]):null}}});function uA(e){if(!e)return null;const t=e;for(const r of t){if(qe(r))switch(r.type){case Ar:continue;case Rs:case"svg":return c1(r);case gt:return uA(r.children);default:return r}return c1(r)}return null}function c1(e){const t=Ne("only-child");return J("span",{class:t.e("content")},[e])}const fA=Je({virtualRef:{type:ke(Object)},virtualTriggering:Boolean,onMouseenter:{type:ke(Function)},onMouseleave:{type:ke(Function)},onClick:{type:ke(Function)},onKeydown:{type:ke(Function)},onFocus:{type:ke(Function)},onBlur:{type:ke(Function)},onContextmenu:{type:ke(Function)},id:String,open:Boolean}),AH=ie({name:"ElPopperTrigger",inheritAttrs:!1}),PH=ie({...AH,props:fA,setup(e,{expose:t}){const r=e,{role:n,triggerRef:i}=Le(zy,void 0);r4(i);const a=k(()=>s.value?r.id:void 0),o=k(()=>{if(n&&n.value==="tooltip")return r.open&&r.id?r.id:void 0}),s=k(()=>{if(n&&n.value!=="tooltip")return n.value}),l=k(()=>s.value?`${r.open}`:void 0);let u;return Tt(()=>{xe(()=>r.virtualRef,f=>{f&&(i.value=qi(f))},{immediate:!0}),xe(i,(f,c)=>{u==null||u(),u=void 0,vo(f)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(h=>{var d;const v=r[h];v&&(f.addEventListener(h.slice(2).toLowerCase(),v),(d=c==null?void 0:c.removeEventListener)==null||d.call(c,h.slice(2).toLowerCase(),v))}),u=xe([a,o,s,l],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((d,v)=>{ys(h[v])?f.removeAttribute(d):f.setAttribute(d,h[v])})},{immediate:!0})),vo(c)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>c.removeAttribute(h))},{immediate:!0})}),tr(()=>{u==null||u(),u=void 0}),t({triggerRef:i}),(f,c)=>f.virtualTriggering?Ae("v-if",!0):(G(),ve(M(MH),Jn({key:0},f.$attrs,{"aria-controls":M(a),"aria-describedby":M(o),"aria-expanded":M(l),"aria-haspopup":M(s)}),{default:X(()=>[Ee(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var EH=Ke(PH,[["__file","trigger.vue"]]);const Qh="focus-trap.focus-after-trapped",Jh="focus-trap.focus-after-released",LH="focus-trap.focusout-prevented",d1={cancelable:!0,bubbles:!1},DH={cancelable:!0,bubbles:!1},h1="focusAfterTrapped",v1="focusAfterReleased",IH=Symbol("elFocusTrap"),Vy=$(),uh=$(0),Wy=$(0);let Cf=0;const cA=e=>{const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0||n===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t},p1=(e,t)=>{for(const r of e)if(!OH(r,t))return r},OH=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},RH=e=>{const t=cA(e),r=p1(t,e),n=p1(t.reverse(),e);return[r,n]},kH=e=>e instanceof HTMLInputElement&&"select"in e,$i=(e,t)=>{if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),Wy.value=window.performance.now(),e!==r&&kH(e)&&t&&e.select()}};function g1(e,t){const r=[...e],n=e.indexOf(t);return n!==-1&&r.splice(n,1),r}const NH=()=>{let e=[];return{push:n=>{const i=e[0];i&&n!==i&&i.pause(),e=g1(e,n),e.unshift(n)},remove:n=>{var i,a;e=g1(e,n),(a=(i=e[0])==null?void 0:i.resume)==null||a.call(i)}}},FH=(e,t=!1)=>{const r=document.activeElement;for(const n of e)if($i(n,t),document.activeElement!==r)return},m1=NH(),BH=()=>uh.value>Wy.value,Tf=()=>{Vy.value="pointer",uh.value=window.performance.now()},y1=()=>{Vy.value="keyboard",uh.value=window.performance.now()},$H=()=>(Tt(()=>{Cf===0&&(document.addEventListener("mousedown",Tf),document.addEventListener("touchstart",Tf),document.addEventListener("keydown",y1)),Cf++}),tr(()=>{Cf--,Cf<=0&&(document.removeEventListener("mousedown",Tf),document.removeEventListener("touchstart",Tf),document.removeEventListener("keydown",y1))}),{focusReason:Vy,lastUserFocusTimestamp:uh,lastAutomatedFocusTimestamp:Wy}),Mf=e=>new CustomEvent(LH,{...DH,detail:e}),HH=ie({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[h1,v1,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const r=$();let n,i;const{focusReason:a}=$H();Z5(v=>{e.trapped&&!o.paused&&t("release-requested",v)});const o={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},s=v=>{if(!e.loop&&!e.trapped||o.paused)return;const{key:p,altKey:g,ctrlKey:m,metaKey:y,currentTarget:_,shiftKey:b}=v,{loop:x}=e,w=p===hr.tab&&!g&&!m&&!y,S=document.activeElement;if(w&&S){const C=_,[T,E]=RH(C);if(T&&E){if(!b&&S===E){const P=Mf({focusReason:a.value});t("focusout-prevented",P),P.defaultPrevented||(v.preventDefault(),x&&$i(T,!0))}else if(b&&[T,C].includes(S)){const P=Mf({focusReason:a.value});t("focusout-prevented",P),P.defaultPrevented||(v.preventDefault(),x&&$i(E,!0))}}else if(S===C){const P=Mf({focusReason:a.value});t("focusout-prevented",P),P.defaultPrevented||v.preventDefault()}}};At(IH,{focusTrapRef:r,onKeydown:s}),xe(()=>e.focusTrapEl,v=>{v&&(r.value=v)},{immediate:!0}),xe([r],([v],[p])=>{v&&(v.addEventListener("keydown",s),v.addEventListener("focusin",f),v.addEventListener("focusout",c)),p&&(p.removeEventListener("keydown",s),p.removeEventListener("focusin",f),p.removeEventListener("focusout",c))});const l=v=>{t(h1,v)},u=v=>t(v1,v),f=v=>{const p=M(r);if(!p)return;const g=v.target,m=v.relatedTarget,y=g&&p.contains(g);e.trapped||m&&p.contains(m)||(n=m),y&&t("focusin",v),!o.paused&&e.trapped&&(y?i=g:$i(i,!0))},c=v=>{const p=M(r);if(!(o.paused||!p))if(e.trapped){const g=v.relatedTarget;!ys(g)&&!p.contains(g)&&setTimeout(()=>{if(!o.paused&&e.trapped){const m=Mf({focusReason:a.value});t("focusout-prevented",m),m.defaultPrevented||$i(i,!0)}},0)}else{const g=v.target;g&&p.contains(g)||t("focusout",v)}};async function h(){await Ft();const v=M(r);if(v){m1.push(o);const p=v.contains(document.activeElement)?n:document.activeElement;if(n=p,!v.contains(p)){const m=new Event(Qh,d1);v.addEventListener(Qh,l),v.dispatchEvent(m),m.defaultPrevented||Ft(()=>{let y=e.focusStartEl;ze(y)||($i(y),document.activeElement!==y&&(y="first")),y==="first"&&FH(cA(v),!0),(document.activeElement===p||y==="container")&&$i(v)})}}}function d(){const v=M(r);if(v){v.removeEventListener(Qh,l);const p=new CustomEvent(Jh,{...d1,detail:{focusReason:a.value}});v.addEventListener(Jh,u),v.dispatchEvent(p),!p.defaultPrevented&&(a.value=="keyboard"||!BH()||v.contains(document.activeElement))&&$i(n??document.body),v.removeEventListener(Jh,u),m1.remove(o)}}return Tt(()=>{e.trapped&&h(),xe(()=>e.trapped,v=>{v?h():d()})}),tr(()=>{e.trapped&&d()}),{onKeydown:s}}});function zH(e,t,r,n,i,a){return Ee(e.$slots,"default",{handleKeydown:e.onKeydown})}var VH=Ke(HH,[["render",zH],["__file","focus-trap.vue"]]);const WH=["fixed","absolute"],GH=Je({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:ke(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Ly,default:"bottom"},popperOptions:{type:ke(Object),default:()=>({})},strategy:{type:String,values:WH,default:"absolute"}}),dA=Je({...GH,id:String,style:{type:ke([String,Array,Object])},className:{type:ke([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:ke([String,Array,Object])},popperStyle:{type:ke([String,Array,Object])},referenceEl:{type:ke(Object)},triggerTargetEl:{type:ke(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0},virtualTriggering:Boolean,zIndex:Number}),UH={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},jH=(e,t=[])=>{const{placement:r,strategy:n,popperOptions:i}=e,a={placement:r,strategy:n,...i,modifiers:[...qH(e),...t]};return KH(a,i==null?void 0:i.modifiers),a},YH=e=>{if(kt)return qi(e)};function qH(e){const{offset:t,gpuAcceleration:r,fallbackPlacements:n}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:n}},{name:"computeStyles",options:{gpuAcceleration:r}}]}function KH(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const XH=0,ZH=e=>{const{popperInstanceRef:t,contentRef:r,triggerRef:n,role:i}=Le(zy,void 0),a=$(),o=$(),s=k(()=>({name:"eventListeners",enabled:!!e.visible})),l=k(()=>{var m;const y=M(a),_=(m=M(o))!=null?m:XH;return{name:"arrow",enabled:!l$(y),options:{element:y,padding:_}}}),u=k(()=>({onFirstUpdate:()=>{v()},...jH(e,[M(l),M(s)])})),f=k(()=>YH(e.referenceEl)||M(n)),{attributes:c,state:h,styles:d,update:v,forceUpdate:p,instanceRef:g}=q5(f,r,u);return xe(g,m=>t.value=m),Tt(()=>{xe(()=>{var m;return(m=M(f))==null?void 0:m.getBoundingClientRect()},()=>{v()})}),{attributes:c,arrowRef:a,contentRef:r,instanceRef:g,state:h,styles:d,role:i,forceUpdate:p,update:v}},QH=(e,{attributes:t,styles:r,role:n})=>{const{nextZIndex:i}=ZM(),a=Ne("popper"),o=k(()=>M(t).popper),s=$(Ot(e.zIndex)?e.zIndex:i()),l=k(()=>[a.b(),a.is("pure",e.pure),a.is(e.effect),e.popperClass]),u=k(()=>[{zIndex:M(s)},M(r).popper,e.popperStyle||{}]),f=k(()=>n.value==="dialog"?"false":void 0),c=k(()=>M(r).arrow||{});return{ariaModal:f,arrowStyle:c,contentAttrs:o,contentClass:l,contentStyle:u,contentZIndex:s,updateZIndex:()=>{s.value=Ot(e.zIndex)?e.zIndex:i()}}},JH=(e,t)=>{const r=$(!1),n=$();return{focusStartRef:n,trapped:r,onFocusAfterReleased:u=>{var f;((f=u.detail)==null?void 0:f.focusReason)!=="pointer"&&(n.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:u=>{e.visible&&!r.value&&(u.target&&(n.value=u.target),r.value=!0)},onFocusoutPrevented:u=>{e.trapping||(u.detail.focusReason==="pointer"&&u.preventDefault(),r.value=!1)},onReleaseRequested:()=>{r.value=!1,t("close")}}},ez=ie({name:"ElPopperContent"}),tz=ie({...ez,props:dA,emits:UH,setup(e,{expose:t,emit:r}){const n=e,{focusStartRef:i,trapped:a,onFocusAfterReleased:o,onFocusAfterTrapped:s,onFocusInTrap:l,onFocusoutPrevented:u,onReleaseRequested:f}=JH(n,r),{attributes:c,arrowRef:h,contentRef:d,styles:v,instanceRef:p,role:g,update:m}=ZH(n),{ariaModal:y,arrowStyle:_,contentAttrs:b,contentClass:x,contentStyle:w,updateZIndex:S}=QH(n,{styles:v,attributes:c,role:g}),C=Le(go,void 0),T=$();At(oA,{arrowStyle:_,arrowRef:h,arrowOffset:T}),C&&(C.addInputId||C.removeInputId)&&At(go,{...C,addInputId:Qt,removeInputId:Qt});let E;const A=(L=!0)=>{m(),L&&S()},P=()=>{A(!1),n.visible&&n.focusOnShow?a.value=!0:n.visible===!1&&(a.value=!1)};return Tt(()=>{xe(()=>n.triggerTargetEl,(L,R)=>{E==null||E(),E=void 0;const B=M(L||d.value),H=M(R||d.value);vo(B)&&(E=xe([g,()=>n.ariaLabel,y,()=>n.id],V=>{["role","aria-label","aria-modal","id"].forEach((U,F)=>{ys(V[F])?B.removeAttribute(U):B.setAttribute(U,V[F])})},{immediate:!0})),H!==B&&vo(H)&&["role","aria-label","aria-modal","id"].forEach(V=>{H.removeAttribute(V)})},{immediate:!0}),xe(()=>n.visible,P,{immediate:!0})}),tr(()=>{E==null||E(),E=void 0}),t({popperContentRef:d,popperInstanceRef:p,updatePopper:A,contentStyle:w}),(L,R)=>(G(),pe("div",Jn({ref_key:"contentRef",ref:d},M(b),{style:M(w),class:M(x),tabindex:"-1",onMouseenter:R[0]||(R[0]=B=>L.$emit("mouseenter",B)),onMouseleave:R[1]||(R[1]=B=>L.$emit("mouseleave",B))}),[J(M(VH),{trapped:M(a),"trap-on-focus-in":!0,"focus-trap-el":M(d),"focus-start-el":M(i),onFocusAfterTrapped:M(s),onFocusAfterReleased:M(o),onFocusin:M(l),onFocusoutPrevented:M(u),onReleaseRequested:M(f)},{default:X(()=>[Ee(L.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}});var rz=Ke(tz,[["__file","content.vue"]]);const nz=Ut(wH),Gy=Symbol("elTooltip"),xr=Je({...e4,...dA,appendTo:{type:ke([String,Object])},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,ariaLabel:String,visible:{type:ke(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean}),_u=Je({...fA,disabled:Boolean,trigger:{type:ke([String,Array]),default:"hover"},triggerKeys:{type:ke(Array),default:()=>[hr.enter,hr.space]}}),{useModelToggleProps:iz,useModelToggleEmits:az,useModelToggle:oz}=OM("visible"),sz=Je({...sA,...iz,...xr,..._u,...lA,showArrow:{type:Boolean,default:!0}}),lz=[...az,"before-show","before-hide","show","hide","open","close"],uz=(e,t)=>_e(e)?e.includes(t):e===t,Io=(e,t,r)=>n=>{uz(M(e),t)&&r(n)},fz=ie({name:"ElTooltipTrigger"}),cz=ie({...fz,props:_u,setup(e,{expose:t}){const r=e,n=Ne("tooltip"),{controlled:i,id:a,open:o,onOpen:s,onClose:l,onToggle:u}=Le(Gy,void 0),f=$(null),c=()=>{if(M(i)||r.disabled)return!0},h=Sn(r,"trigger"),d=fi(c,Io(h,"hover",s)),v=fi(c,Io(h,"hover",l)),p=fi(c,Io(h,"click",b=>{b.button===0&&u(b)})),g=fi(c,Io(h,"focus",s)),m=fi(c,Io(h,"focus",l)),y=fi(c,Io(h,"contextmenu",b=>{b.preventDefault(),u(b)})),_=fi(c,b=>{const{code:x}=b;r.triggerKeys.includes(x)&&(b.preventDefault(),u(b))});return t({triggerRef:f}),(b,x)=>(G(),ve(M(EH),{id:M(a),"virtual-ref":b.virtualRef,open:M(o),"virtual-triggering":b.virtualTriggering,class:ne(M(n).e("trigger")),onBlur:M(m),onClick:M(p),onContextmenu:M(y),onFocus:M(g),onMouseenter:M(d),onMouseleave:M(v),onKeydown:M(_)},{default:X(()=>[Ee(b.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var dz=Ke(cz,[["__file","trigger.vue"]]);const hz=ie({name:"ElTooltipContent",inheritAttrs:!1}),vz=ie({...hz,props:xr,setup(e,{expose:t}){const r=e,{selector:n}=YM(),i=Ne("tooltip"),a=$(null),o=$(!1),{controlled:s,id:l,open:u,trigger:f,onClose:c,onOpen:h,onShow:d,onHide:v,onBeforeShow:p,onBeforeHide:g}=Le(Gy,void 0),m=k(()=>r.transition||`${i.namespace.value}-fade-in-linear`),y=k(()=>r.persistent);tr(()=>{o.value=!0});const _=k(()=>M(y)?!0:M(u)),b=k(()=>r.disabled?!1:M(u)),x=k(()=>r.appendTo||n.value),w=k(()=>{var V;return(V=r.style)!=null?V:{}}),S=k(()=>!M(u)),C=()=>{v()},T=()=>{if(M(s))return!0},E=fi(T,()=>{r.enterable&&M(f)==="hover"&&h()}),A=fi(T,()=>{M(f)==="hover"&&c()}),P=()=>{var V,U;(U=(V=a.value)==null?void 0:V.updatePopper)==null||U.call(V),p==null||p()},L=()=>{g==null||g()},R=()=>{d(),H=wR(k(()=>{var V;return(V=a.value)==null?void 0:V.popperContentRef}),()=>{if(M(s))return;M(f)!=="hover"&&c()})},B=()=>{r.virtualTriggering||c()};let H;return xe(()=>M(u),V=>{V||H==null||H()},{flush:"post"}),xe(()=>r.content,()=>{var V,U;(U=(V=a.value)==null?void 0:V.updatePopper)==null||U.call(V)}),t({contentRef:a}),(V,U)=>(G(),ve(aO,{disabled:!V.teleported,to:M(x)},[J(Ci,{name:M(m),onAfterLeave:C,onBeforeEnter:P,onAfterEnter:R,onBeforeLeave:L},{default:X(()=>[M(_)?Jt((G(),ve(M(rz),Jn({key:0,id:M(l),ref_key:"contentRef",ref:a},V.$attrs,{"aria-label":V.ariaLabel,"aria-hidden":M(S),"boundaries-padding":V.boundariesPadding,"fallback-placements":V.fallbackPlacements,"gpu-acceleration":V.gpuAcceleration,offset:V.offset,placement:V.placement,"popper-options":V.popperOptions,strategy:V.strategy,effect:V.effect,enterable:V.enterable,pure:V.pure,"popper-class":V.popperClass,"popper-style":[V.popperStyle,M(w)],"reference-el":V.referenceEl,"trigger-target-el":V.triggerTargetEl,visible:M(b),"z-index":V.zIndex,onMouseenter:M(E),onMouseleave:M(A),onBlur:B,onClose:M(c)}),{default:X(()=>[o.value?Ae("v-if",!0):Ee(V.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[yi,M(b)]]):Ae("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var pz=Ke(vz,[["__file","content.vue"]]);const gz=["innerHTML"],mz={key:1},yz=ie({name:"ElTooltip"}),_z=ie({...yz,props:sz,emits:lz,setup(e,{expose:t,emit:r}){const n=e;J5();const i=By(),a=$(),o=$(),s=()=>{var m;const y=M(a);y&&((m=y.popperInstanceRef)==null||m.update())},l=$(!1),u=$(),{show:f,hide:c,hasUpdateHandler:h}=oz({indicator:l,toggleReason:u}),{onOpen:d,onClose:v}=t4({showAfter:Sn(n,"showAfter"),hideAfter:Sn(n,"hideAfter"),autoClose:Sn(n,"autoClose"),open:f,close:c}),p=k(()=>Vr(n.visible)&&!h.value);At(Gy,{controlled:p,id:i,open:$u(l),trigger:Sn(n,"trigger"),onOpen:m=>{d(m)},onClose:m=>{v(m)},onToggle:m=>{M(l)?v(m):d(m)},onShow:()=>{r("show",u.value)},onHide:()=>{r("hide",u.value)},onBeforeShow:()=>{r("before-show",u.value)},onBeforeHide:()=>{r("before-hide",u.value)},updatePopper:s}),xe(()=>n.disabled,m=>{m&&l.value&&(l.value=!1)});const g=m=>{var y,_;const b=(_=(y=o.value)==null?void 0:y.contentRef)==null?void 0:_.popperContentRef,x=(m==null?void 0:m.relatedTarget)||document.activeElement;return b&&b.contains(x)};return hT(()=>l.value&&c()),t({popperRef:a,contentRef:o,isFocusInsideContent:g,updatePopper:s,onOpen:d,onClose:v,hide:c}),(m,y)=>(G(),ve(M(nz),{ref_key:"popperRef",ref:a,role:m.role},{default:X(()=>[J(dz,{disabled:m.disabled,trigger:m.trigger,"trigger-keys":m.triggerKeys,"virtual-ref":m.virtualRef,"virtual-triggering":m.virtualTriggering},{default:X(()=>[m.$slots.default?Ee(m.$slots,"default",{key:0}):Ae("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),J(pz,{ref_key:"contentRef",ref:o,"aria-label":m.ariaLabel,"boundaries-padding":m.boundariesPadding,content:m.content,disabled:m.disabled,effect:m.effect,enterable:m.enterable,"fallback-placements":m.fallbackPlacements,"hide-after":m.hideAfter,"gpu-acceleration":m.gpuAcceleration,offset:m.offset,persistent:m.persistent,"popper-class":m.popperClass,"popper-style":m.popperStyle,placement:m.placement,"popper-options":m.popperOptions,pure:m.pure,"raw-content":m.rawContent,"reference-el":m.referenceEl,"trigger-target-el":m.triggerTargetEl,"show-after":m.showAfter,strategy:m.strategy,teleported:m.teleported,transition:m.transition,"virtual-triggering":m.virtualTriggering,"z-index":m.zIndex,"append-to":m.appendTo},{default:X(()=>[Ee(m.$slots,"content",{},()=>[m.rawContent?(G(),pe("span",{key:0,innerHTML:m.content},null,8,gz)):(G(),pe("span",mz,be(m.content),1))]),m.showArrow?(G(),ve(M(CH),{key:0,"arrow-offset":m.arrowOffset},null,8,["arrow-offset"])):Ae("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var bz=Ke(_z,[["__file","tooltip.vue"]]);const Ao=Ut(bz),wz=Je({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"}}),Sz=["textContent"],xz=ie({name:"ElBadge"}),Cz=ie({...xz,props:wz,setup(e,{expose:t}){const r=e,n=Ne("badge"),i=k(()=>r.isDot?"":Ot(r.value)&&Ot(r.max)?r.max
":arguments[1];return c.replace(/\n/g,h)},br2nl:function(c){var h=arguments.length<=1||arguments[1]===void 0?`\r
-`:arguments[1];return c.replace(/\
/g,h)},capitalize:function(c){var h=arguments.length<=1||arguments[1]===void 0?!1:arguments[1];return""+c.charAt(0).toUpperCase()+(h?c.slice(1).toLowerCase():c.slice(1))},capitalizeAll:function(c){return c.replace(/(?:^|\s)\S/g,function(h){return h.toUpperCase()})},titleCase:function(c){var h=/\b(a|an|and|at|but|by|de|en|for|if|in|of|on|or|the|to|via|vs?\.?)\b/i,d=/\S+[A-Z]+\S*/,v=/\s+/,p=/-/,g=void 0;return g=function(y){for(var _=arguments.length<=1||arguments[1]===void 0?!1:arguments[1],b=arguments.length<=2||arguments[2]===void 0?!0:arguments[2],x=[],w=y.split(_?p:v),S=0;S1&&n&&n.length>1){var a=rw(n)/rw(i);!isFinite(a)&&(a=1),t.pinchScale=a;var o=bU(n);return t.pinchX=o[0],t.pinchY=o[1],{type:"pinch",target:e[0].target,event:t}}}}};function xu(){return[1,0,0,1,0,0]}function n0(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function wU(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function us(e,t,r){var n=t[0]*r[0]+t[2]*r[1],i=t[1]*r[0]+t[3]*r[1],a=t[0]*r[2]+t[2]*r[3],o=t[1]*r[2]+t[3]*r[3],s=t[0]*r[4]+t[2]*r[5]+t[4],l=t[1]*r[4]+t[3]*r[5]+t[5];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=l,e}function Bg(e,t,r){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+r[0],e[5]=t[5]+r[1],e}function i0(e,t,r){var n=t[0],i=t[2],a=t[4],o=t[1],s=t[3],l=t[5],u=Math.sin(r),f=Math.cos(r);return e[0]=n*f+o*u,e[1]=-n*u+o*f,e[2]=i*f+s*u,e[3]=-i*u+f*s,e[4]=f*a+u*l,e[5]=f*l-u*a,e}function SU(e,t,r){var n=r[0],i=r[1];return e[0]=t[0]*n,e[1]=t[1]*i,e[2]=t[2]*n,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*i,e}function vh(e,t){var r=t[0],n=t[2],i=t[4],a=t[1],o=t[3],s=t[5],l=r*o-a*n;return l?(l=1/l,e[0]=o*l,e[1]=-a*l,e[2]=-n*l,e[3]=r*l,e[4]=(n*s-o*i)*l,e[5]=(a*i-r*s)*l,e):null}var xU=function(){function e(t,r){this.x=t||0,this.y=r||0}return e.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},e.prototype.clone=function(){return new e(this.x,this.y)},e.prototype.set=function(t,r){return this.x=t,this.y=r,this},e.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},e.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.prototype.scale=function(t){this.x*=t,this.y*=t},e.prototype.scaleAndAdd=function(t,r){this.x+=t.x*r,this.y+=t.y*r},e.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.prototype.dot=function(t){return this.x*t.x+this.y*t.y},e.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},e.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},e.prototype.distance=function(t){var r=this.x-t.x,n=this.y-t.y;return Math.sqrt(r*r+n*n)},e.prototype.distanceSquare=function(t){var r=this.x-t.x,n=this.y-t.y;return r*r+n*n},e.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.prototype.transform=function(t){if(t){var r=this.x,n=this.y;return this.x=t[0]*r+t[2]*n+t[4],this.y=t[1]*r+t[3]*n+t[5],this}},e.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},e.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},e.set=function(t,r,n){t.x=r,t.y=n},e.copy=function(t,r){t.x=r.x,t.y=r.y},e.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},e.lenSquare=function(t){return t.x*t.x+t.y*t.y},e.dot=function(t,r){return t.x*r.x+t.y*r.y},e.add=function(t,r,n){t.x=r.x+n.x,t.y=r.y+n.y},e.sub=function(t,r,n){t.x=r.x-n.x,t.y=r.y-n.y},e.scale=function(t,r,n){t.x=r.x*n,t.y=r.y*n},e.scaleAndAdd=function(t,r,n,i){t.x=r.x+n.x*i,t.y=r.y+n.y*i},e.lerp=function(t,r,n,i){var a=1-i;t.x=a*r.x+i*n.x,t.y=a*r.y+i*n.y},e}();const Be=xU;var If=Math.min,Of=Math.max,ba=new Be,wa=new Be,Sa=new Be,xa=new Be,Zs=new Be,Qs=new Be,nt=function(){function e(t,r,n,i){n<0&&(t=t+n,n=-n),i<0&&(r=r+i,i=-i),this.x=t,this.y=r,this.width=n,this.height=i}return e.prototype.union=function(t){var r=If(t.x,this.x),n=If(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Of(t.x+t.width,this.x+this.width)-r:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=Of(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=r,this.y=n},e.prototype.applyTransform=function(t){e.applyTransform(this,this,t)},e.prototype.calculateTransform=function(t){var r=this,n=t.width/r.width,i=t.height/r.height,a=xu();return Bg(a,a,[-r.x,-r.y]),SU(a,a,[n,i]),Bg(a,a,[t.x,t.y]),a},e.prototype.intersect=function(t,r){if(!t)return!1;t instanceof e||(t=e.create(t));var n=this,i=n.x,a=n.x+n.width,o=n.y,s=n.y+n.height,l=t.x,u=t.x+t.width,f=t.y,c=t.y+t.height,h=!(a0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}else{for(s=i+1;ls&&(l=s);var u=o;o=i-l,l=i-u}for(o++;os&&(l=s);var u=o;o=i-l,l=i-u}else{for(s=n-i;l=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=i,l+=i}for(o++;o=0;m--)e[w+m]=e[x+m];if(v===0){E=!0;break}}if(e[b--]=o[_--],--g===1){E=!0;break}if(T=g-gv(e[y],o,0,g,g-1,t),T!==0){for(b-=T,_-=T,g-=T,w=b+1,x=_+1,m=0;mr);f++);f=h(f-1,s-2)}v=o[f+1],d=o[f]}if(d&&v){this._lastFr=f,this._lastFrP=r;var g=v.percent-d.percent,m=g===0?1:h((r-d.percent)/g,1);v.easingFunc&&(m=v.easingFunc(m));var y=n?this._additiveValue:u?tl:t[l];if(($f(a)||u)&&!y&&(y=this._additiveValue=[]),this.discrete)t[l]=m<1?d.rawValue:v.rawValue;else if($f(a))a===$c?wv(y,d[i],v[i],m):WU(y,d[i],v[i],m);else if(mw(a)){var _=d[i],b=v[i],x=a===Vg;t[l]={type:x?"linear":"radial",x:ci(_.x,b.x,m),y:ci(_.y,b.y,m),colorStops:Fe(_.colorStops,function(S,C){var T=b.colorStops[C];return{offset:ci(S.offset,T.offset,m),color:Bc(wv([],S.color,T.color,m))}}),global:b.global},x?(t[l].x2=ci(_.x2,b.x2,m),t[l].y2=ci(_.y2,b.y2,m)):t[l].r=ci(_.r,b.r,m)}else if(u)wv(y,d[i],v[i],m),n||(t[l]=Bc(y));else{var w=ci(d[i],v[i],m);n?this._additiveValue=w:t[l]=w}n&&this._addToTarget(t)}}},e.prototype._addToTarget=function(t){var r=this.valType,n=this.propName,i=this._additiveValue;r===Bf?t[n]=t[n]+i:r===wl?(oo(t[n],tl),Ff(tl,tl,i,1),t[n]=Bc(tl)):r===$c?Ff(t[n],t[n],i,1):r===L2&&pw(t[n],t[n],i,1)},e}(),o0=function(){function e(t,r,n,i){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=t,this._loop=r,r&&i){e0("Can' use additive animation on looped animation.");return}this._additiveAnimators=i,this._allowDiscrete=n}return e.prototype.getMaxTime=function(){return this._maxTime},e.prototype.getDelay=function(){return this._delay},e.prototype.getLoop=function(){return this._loop},e.prototype.getTarget=function(){return this._target},e.prototype.changeTarget=function(t){this._target=t},e.prototype.when=function(t,r,n){return this.whenWithKeys(t,r,xt(r),n)},e.prototype.whenWithKeys=function(t,r,n,i){for(var a=this._tracks,o=0;o0&&e.arc(f+oe.cx,c+oe.cy,q,rr(oe.y0,oe.x0),rr(oe.y1,oe.x1),!h),e.arc(f,c,n,rr(oe.cy+oe.y1,oe.cx+oe.x1),rr(he.cy+he.y1,he.cx+he.x1),!h),Z>0&&e.arc(f+he.cx,c+he.cy,Z,rr(he.y1,he.x1),rr(he.y0,he.x0),!h))}else e.moveTo(f+B,c+H),e.arc(f,c,n,l,u,!h);if(!(i>yn)||!F)e.lineTo(f+V,c+U);else if(E>yn){var q=$n(p,E),Z=$n(g,E),oe=Uf(V,U,A,P,i,-Z,h),he=Uf(B,H,L,R,i,-q,h);e.lineTo(f+oe.cx+oe.x0,c+oe.cy+oe.y0),Eg[1]&&(g[1]=p)}return this._rawCount=this._count=l,{start:s,end:l}},e.prototype._initDataFromProvider=function(t,r,n){for(var i=this._provider,a=this._chunks,o=this._dimensions,s=o.length,l=this._rawExtent,u=Fe(o,function(y){return y.property}),f=0;fm[1]&&(m[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=r,this._extent=[]},e.prototype.count=function(){return this._count},e.prototype.get=function(t,r){if(!(r>=0&&r